1. 程式人生 > >2017-06-Deep Network Flow for Multi-Object Tracking-論文閱讀筆記

2017-06-Deep Network Flow for Multi-Object Tracking-論文閱讀筆記

摘要:
資料關聯是很多計算機視覺應用的重要組成部分,多目標跟蹤就是其中的一個例子。典型的資料跟蹤方法是找到一個圖匹配方式或者一個網路流使得配對連線的代價最小,然而經常使用的是手工設計特徵或者固定特徵的線性函式。本文指出通過將優化問題表示為可微的函式反向傳播學習資料關聯的特徵是必要。本文用上述思路解決多目標跟蹤問題,所有的代價函式均可學習統一到一個end-to-end的框架中,達到比手工設定更好的水平,同時可以整合各種不同的輸入。

  1. 引言:
    多目標跟蹤的任務是預測整個視訊中所有例項的運動軌跡,他的主要挑戰有遮擋、物體的快速運動、相機平臺的運動等。是行為識別、視訊監控和自動駕駛的基本模組。目前主要的解決思路為track-by-detection[7(粒子濾波),[15]嵌入式端的多目標跟蹤]。第一步使用目標檢測器用bounding box的形式提供可能的位置。然後將多目標跟蹤問題形式化為資料關聯問題給這些bounding box指定一個軌跡,描述每個例項隨時間軌跡的變化。
    二分圖匹配[25(匈牙利演算法)]經常被用於一種線上的方式指定當前幀的bounding box到當前的軌跡中[38(粒子濾波用於多目標檢測與跟蹤) 52(多目標跟蹤ICCV2015)],離線的方式可以形式化為一種網路流去解決關聯問題,包括關聯軌跡的產生和死亡[27(孿生CNN跟蹤),54(用網路解決多目標跟蹤問題)]。第二部分給出了更多的例子,所有的關聯問題可以在一個Linear Programming框架中解決。在LP框架中,所有變數的相互影響產生不同的代價,最終決定什麼是成功的配對。所以設計一個很好的代價函式非常重要。雖然之前的工作大部分代價函式都是手工設計的,但是仍有一部分是通過資料學習得到的,但是他們並沒有將問題當成一個整體來解決,只是學習一部分或者受線性函式的限制。
    本文提出的正規化可以學習所有變數任意引數的代價函式end-to-end去解決。通過平滑LP,雙層優化的方法將代價函式所有引數的學習當成最小化預先定義的關聯損失。這種凡是的好處在於靈活性通用性避免手工設計。我們的方法並沒有限制到log-linear 模型這使得我們可以充分利用各種引數化的函式比如神經網路去預測戴佳佳。事實上,本文正規化可以結合到任意網路的框架中,作為一個特殊的層。
    在這裡插入圖片描述

    我們的方法是通用的可以用於多種關聯問題。有以下優點,end-to-end訓練;可以整合多種輸入比如bounding box資訊、時間資訊、外觀特徵、運動特徵等,這些引數可以一起訓練,相比手工設計要好很多;
  2. 相關工作:
    多目標跟蹤中的關聯:線上的方法將當前幀的檢測指定到現有的軌跡上[8,11,15,41]。軌跡被視為狀態空間的建模,比如卡爾曼濾波和粒子濾波。將當前的檢測指定到估計上的演算法一般是匈牙利演算法。離線的方法考慮整個視訊序列。解決軌跡和檢測配對問題的比較好的方法有網路的方法[54],所有的關聯方法可以認為是線性規劃
    代價函式:[29,33,41]中的代價函式進依賴與檢測置信度、時空距離。[54]和[53]通過顏色直方圖引入了表觀特徵。其他工作還顯式得學習一個相似度矩陣,然後用於跟蹤。[31]分級關聯,將軌跡片段合成一個軌跡。[27]學習一個孿生神經網路去比較兩個檢測框的外觀特徵,然後結合時空差別輸入一個網路中。這些成對的代價被用於一個網路中。
    將推斷整合到學習中去:相比本文方法,最近已經有一些工作考慮訓練階段進行全推斷。和本文工作類似的[49]提出通過一個結構化的SVM框架學習全部的損失。他指出,簡單模型通過合適地學習代價函式,可以堪比複雜的跟蹤方法。但是SVM限制了代價函式只能是線性的,相比之下,本文的雙層優化更靈活,適用於非線性的情況。雙層優化也被用於最近的優化圖模型的損失,比兔分割和深度圖重建。
  3. 跟蹤深度網路
    本文用多目標跟蹤問題闡述end-to-end的關聯方法。特別的,本文考慮tracking-by-detection的框架,記視訊t幀的檢測結果為d,b(d)表示空間位置,p(d)表示檢測概率,t(d)表示幀號。對於每個檢測結果,跟蹤演算法需要確定他屬於哪個目標軌跡,或者認為他是虛警。軌跡由屬於同一個例項的檢測結果集構成Tk={d1k,d2k,d3k…dnk},這裡的nk是第k個目標的軌跡的長度。k的個數也是未知的,需要推斷。二分圖匹配經常在線上跟蹤中使用,也可以形式化為網路,使得本文的學習方法也是適用的。
    3.1 網路流正規化
    在這裡插入圖片描述
    單幀影象每個檢測結果被表示為具有兩個節點的邊(圖中紅色),與這個邊相關的變數記為x(i)det,為了確定臨近幀的檢測結果是不是屬於同一個軌跡,所以對滿足t(di)<t(dj)和|t(di)-t(dj)|<Tt的檢測進行全連線(藍色),與這些連線相關的變數記為x(i,j)link。之所以跨幀連線是為了解決遮擋和漏檢測的問題,同時為了減少圖的規模,將兩個檢測空間位置差距較大的連線刪掉。為了解決軌跡產生和死亡的問題,加入兩個特別的節點源節點,與每幀檢測的第一個節點連線(黑色)與之相關的變數為x(i)in。第二個結點與匯節點項連,與之相關的變數為x(i)out。
    圖中的每個變數和一個代價相關。四種變數定義四種代價cin,cout,cdet和clink,其中定點代價記為cU(cin,cout,cdet),配對代價cP(clink)。尋找全域性最優解,可以形式化為一個線性規劃問題
    在這裡插入圖片描述

    尋找一個x,使得cTx最小。其中x為所有的流變數,c為代價,M是問題的維度。其中0<=x<=1,這通過A=I,-I,b=1,0實現
    在這裡插入圖片描述
    這裡的限制可以認為x只能是剛出現、與其他檢測結果相關聯、或者下一幀消失,但是為什麼不是xin+xlink+xout=xdet呢,個人認為有可能出現單個的噪聲,只和xin和xout連線,這樣就不滿足上式,但是滿足文中的限制。只是不明白為什麼C那樣寫就能表達這種限制呢
    figure1中的虛線給出了最優的x。
    這個正規化最重要的部分是找到合適的代價c,去建模產生、消失和關聯。最終的跟蹤結果取決於c的選擇。
    3.2 end-to-end代價函式學習
    本文的主要貢獻在於提出一個靈活的框架可以用一個網路預測所有變數的損失。為了實現以上想法,本文用引數化的代價函式c(f,theta)代替固定的代價c。這裡theta是需要學習的引數,f是輸入資料。對於MOT任務來講,輸入資料可以是bounding box、檢測分數、影象特徵或者更專業的特徵。
    給定一段視跟蹤序列的ground truth x(gt)和輸入資料f,本文通過學習引數theta使得網路解的損失函式最小,這可以形式化為一個雙層優化問題
    在這裡插入圖片描述
    其中c和x都是變數,上層是一個損失函式,尋找theta也就是c使得損失函式最小,同時他的下層是一個跟蹤網路。為了計算損失的梯度本文希望底層的優化問題是光滑的,但是box限制使得他並不光滑。
    3.2.1 光滑底層優化問題
    box限制可以通過log-barrier近似,問題可轉化為
    在這裡插入圖片描述
    t是溫度引數,控制近似的精度。aiT是A的行。線性等式限制可以通過分解x實現。x=x(z)=x0+Bz,這裡引入z變數,Cx0=0,B=N©。這樣轉換之後,z就沒有了限制
    在這裡插入圖片描述
    平滑之後的底層的優化問題如下
    在這裡插入圖片描述
    3.2.2 代價的梯度表示
    給定一個底層優化問題,本文定義最終的學習目標為
    在這裡插入圖片描述
    本文感興趣的是計算損失L的梯度。我們可以寫出L對c的梯度,根據鏈式法則,再餓到對theta的梯度,這裡認為c(:,theta)是可微的。首先計算L對c的梯度
    在這裡插入圖片描述
    因為x(z)=x0+Bz
    考慮z對c的偏導,首先求z,即
    在這裡插入圖片描述
    這裡奇怪的是求導之後沒有z了,上面都是c的一階項,讓x去保證等於0嗎然後上式兩邊同時對c求導
    在這裡插入圖片描述
    然後得到結果
    在這裡插入圖片描述
    結合6式得
    在這裡插入圖片描述
    P對x的二階導在4式中也容易寫出
    在這裡插入圖片描述
    在補充的材料中,我們會顯示10式與36(SVM中為平滑的底層優化問題)中得到的通解是等價的
    3.2.3 討論
    訓練需要解決(4)中的線性規劃問題,這個通過任何凸優化器就可以求解。t建議取M/e其中e是超引數,決定了log barrier近似的精度,幸運的是一般結果對e的選取並不敏感,本文選取e=0.1。需要指出的是本文並不侷限於解決MOT問題,他適用於需要學習代價函式和資料關聯的問題。4的平滑和10求解梯度可以作為神經網路中的一個層。網路的前向和反向傳播如下
    在這裡插入圖片描述
    3.3 定義ground truth和損失函式
    為了學習引數theta,需要在損失函式中比較最優解x*和xgt。xgt定義了圖的邊取1還是取0.本文首先在單幀中將檢測結果與bounding box的gt匹配。和目標檢測器的評估類似,將最高分的檢測與每個gt計算IoU,然後選0,5為門限。然後逐幀連線檢測框,認為幀間距離最近的框應該連起來,屬於同一個例項。其他的都認為是無效的。進而可以確定xin與xout的gt。
    [50]指出的是不同型別的連線應該在損失函式中區分對待。本文中分為這麼幾種情況,FP-FP,TP-FP,TP-TP+,TP-TP-,TP-TP+far,他們具有不同的損失權重
    在這裡插入圖片描述
    在這裡插入圖片描述
    這裡雖然每個結果都可以設定一個權重,不過一般預設都是1.有幾種情況可以適當調整權重。1)模糊不清的邊 FP-FP的連線雖然是錯的但是保持了一致性,TP-TP+far也是類似的,所以懲罰太多不利於預測。建議w<1。2)為了影響精度和召回率,可以在所有的正例上新增權重wpr,增加wpr會增加召回率3)為了加強連線可以在xlink變數中新增權重wlink。最終我們使用了不同的權重方案和L1損失,具體的定義在4.3中。
    3.4 跟蹤模型
    批量的選擇,定義一個視窗大小W,以一定的步長step<W來滑動這個視窗,解決這個視窗中的LP問題。視窗和視窗之間用二分圖匹配連線軌跡,不匹配的軌跡認為是新的例項。實際中,本文選取step=1,在每個視窗中輸出W/2幀的結果,因為他既能利用之前也能利用之後的資訊。
  4. 實驗
    在KITTI、MOT15和MOT16資料集上評估了本演算法
    4.1 學習特徵VS手工特徵
    本文的主要貢獻在於學習引數話的代價。為了比較學習引數的效果,本文采用了兩個典型的手工設計代價
    在這裡插入圖片描述
    p(di)為檢測分數
    在這裡插入圖片描述
    在這裡插入圖片描述
    第二種
    在這裡插入圖片描述
    在這裡插入圖片描述
    這裡的cin=cout=C,還有Vmax,alpha、beta都網格搜尋最大化。
    另外對於節點的代價,本文還是使用相同的手工設計的代價函式,對於連線代價,本文分別使用線性模型(64節點的MLP)和2層32節點的MLP。輸入的特徵是兩個box之間的差異,檢測置信度、歸一化的時間差和IoU.
    在這裡插入圖片描述
    網路學習的結果要稍微好一些
    最近一些工作顯示,時間和外觀特徵有助於MOT。[10]提出時空特徵ALFD比較兩個檢測結果,從特徵點中得到統計特徵組成一個288維的直方圖。[27]使用RGB特徵和孿生網路比較兩個跟蹤的行人的相似性。要想做到這樣,需要1)獨立的測度學習階段,2)代價與相似度結合。下面本文使用了運動特徵和外觀特徵。
    運動特徵(ALFD)
    在這裡插入圖片描述
    外觀特徵
    將檢測結果resize到128*64,然後提取深度特徵Res-50和檢測分數一起構成檢測代價
    在這裡插入圖片描述
    然後使用孿生網路得到兩個檢測結果的差異。2層的MLP(B+O)特徵輸入的,接在孿生網路差分層後面,最後一層預測clink。
    在這裡插入圖片描述
    這裡受限的是他的檢測器用的ACF而不是基於深度網路的檢測器
    4.3 損失函式中的不同損失
    4.4 結果
  5. 結論