基於孿生卷積網絡(Siamese CNN)和短時約束度量聯合學習的tracklet association方法


基於孿生卷積網絡(Siamese CNN)和短時約束度量聯合學習的tracklet association方法

讀 'B. Wang, L. Wang, et.al. Joint Learning of Siamese CNNs and Temporally Constrained Metrics for Tracklet Association[j], arXiv:1605.04502v2 [cs.CV] 25 Sep 2016'筆記

這篇文章主要提出了一種借助孿生卷積網絡的度量學習方法,用以提升tracklet association 的性能。另外文章還給出了一個具有40段標注序列的數據集。

該方法的主要框架如下:

enter description here

1.jpg

對於一段待跟蹤的視頻數據,首先使用pre-trained檢測子檢測出每一幀中的目標。然后使用dual-threshold strategy [1]生成一些比較可靠的小軌跡段。這段過程和基於層次關聯的魯棒多目標跟蹤方法類似。接下來使用一些輔助數據預訓練孿生cnn網絡。然后將預訓練得到的孿生卷積網絡與短時約束度量結合訓練出分別適用於每個軌跡段的度量矩陣,最后通過使用對應的度量矩陣計算軌跡片段之間的相似關系,再利用softassign 算法關聯對應的軌跡片段以期得到更長的軌跡段。

Siamese CNN

enter description here

1480332316825.jpg

siamese CNN共享參數。上圖給處了孿生CNN中任一個CNN的結構,首先對於一幅待輸入的圖像,縮放到大小傳遞給CNN,CNN包含5層(2個卷積層、2個池化層和1個全連接層)。卷積層和池化層的通道數都是96(即卷積模板有96種),最終的輸出層是512維向量。卷積層C1和C2濾波器的大小分別是,在每個池化層包含cross-channel normalization操作。卷積方式:zero padding, 激活函數 ReLu。

損失函數

使用馬氏距離刻畫樣本將的相似性,是半正定矩陣。

這個時候不考慮時間上的差異性,也就是說所有的軌跡片段都用同一個度量矩陣的條件下,得到損失函數

其中是正則化系數,是經驗損失函數的權重,是決策邊界,是示性函數,第一項是正則項,希望樣本各向同性,即馬氏距離接近於歐氏距離。

考慮到,目標的表觀特性隨着時間變化也發生顯著變化,如上使用同一個度量函數顯然並不合適,所以文章中將度量矩陣分為兩類:一類是整個視頻序列時間段內公用的,反映通用的鑒別信息;另一類是針對於小段時間內的度量矩陣,反映的是特異性。而且考慮到短時約束(時間上相近的sequences應該具有相似的信息),所以損失函數可以定義如下:

寫到這里忽然想起一件事,我們使用Siamese CNN不是用來獲得tracklets的度量的嘛,為什么輸入的是圖像而不是軌跡呢?這是因為文章中使用的是具有代表性的圖像來表示對應的軌跡,后面會進一步介紹,這里提一下是為了更好理解損失函數。
上面公式中是正則化系數,第一項表示公共度量矩陣的正則化限制,第三項是對每一個單獨度量矩陣的正則化約束,第二項是temporally constraints,第四項時經驗損失函數,定義如下:

為什么這里,而,我覺得是因為希望

Temporally Constraint如下圖所示

enter description here

1480332335982.jpg

在執行時,使用初始化.

使用BP算法調整網絡參數,先對求梯度,然后將該梯度傳遞給CNN,調整CNN的連接參數。(3)式對
求導

那么對於兩個CNN總的梯度為

是示性函數。

的梯度調整:

其中
對應的更新策略:

是學習步長。

訓練樣本
在每個tracklets中選擇個可信度較高的measurements,然后隨機選擇2個配對,組成正樣本和負樣本進行訓練,下面的算法1給出了度量矩陣更新的過程,至於CNN的訓練就直接按照通用訓練方法。

enter description here

1480332355664.jpg

算法里面有一個需要注意的地方就是對的正定投影,保證M的半正定性。這個可以通過SVD分解,對奇異值濾波實現。

Tracklet Association

軌跡片段的關聯可以形式化為如下形式:

表示關聯關系,這里沒要求行列和為0,是因為存在全不關聯的情形

分別是基於運動模型和基於表觀模型的相似性

這里參見層次關聯的魯棒多目標跟蹤算法.

對於基於表觀的相似性,首先在每一個tracklet中選取一個執行讀最高的measurement作為代表,組成探針集,是該段時間內的tracklets個數,那么

其中表示tracklet的第k個觀測值, 分別表示對應軌跡上觀測值的個數

這里需要特別注意的是:1. 不是對稱計算的;2. normalization過程中並不是時間上的規范化,而是與所有tracklets相似性上的規范化。

得到了相似矩陣P,為了進一步實現關聯的快速精確收斂,對P進行部分約束

然后再進行列歸一化。

可以使用匈牙利算法對上述分配問題求解,求解之后關聯tracklet之間可能存在gap,這個時候采用linear interpolation進行連接。

Experiments

文章中給出了新的benchmark數據集,但我沒有找到網址,所以這里就不說了,我們就來看看在已有的一些benchmark上,該方法的性能如何
為了對比所提算法中每一個component(pre-trained Siamese CNN, Temporal Constraint metric等)的有效性,設置了幾個baseline
baseline1:Siamese CNN的參數是獨立學習的,即沒有經過Temporal Constraint Metric的微調階段,損失函數使用(2)式,且其中M=I,即歐氏距離。然后訓練M,不使用即(2)式作為loss function。驗證Joint learning的有效性。
baseline2:使用(2)式作為損失函數,同時訓練Siamese CNN和M,可以驗證Temporally Constraint Metric的有效性。
baseline3: Siamese CNN is pretrained且不進行微調,驗證微調的有效性
baseline4: 不使用這一項,驗證common metric的有效性

在PETS 2009數據集上的結果如下

enter description here

5.jpg

在MOTChallenge 2015數據集上與當前公布代碼的教新的方法對比結果如下

enter description here

6.jpg

可以發現,文章提出的算法性能還是可以的。

Computational speed:
工具:MatConvNet toolbox, 2.6GHz CPU, Tesla K20c GPU
速度:0.38,0.55(sec/frame) for PETS 2009 and MOTChallenge 2015.



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM