轉載請註明作者夢裡茶

Overview

關注Person reid這個領域的同學應該知道,有監督模型基本已經被刷爆了,2018年開始出現一些無監督/半監督/多模態的方法,包括我們之前做的結合時空模型的TFusion, 今天要介紹的也是結合時空數據的一個工作,由南京理工大學和QMUL的G.Shaogang老師合作發表在ECCV2018上的一篇論文:

Unsupervised Person Re-identification by Deep Learning Tracklet Association

TAUDL是Tracklet Association Unsupervised Deep Learning的縮寫,通過利用無監督的單攝像頭軌跡信息(比如用detection和tracking的方法來提取監控視頻中的行人軌跡)來訓練端到端的神經網路,然後用這個圖像模型對跨攝像頭的圖像進行自動標註和學習。具體如下:

無監督單攝像頭軌跡標註

Person Re-id數據集通常用監控攝像頭採集得到,所以有很多視頻格式的reid數據集,對於這種數據集,我們可以直接應用detection+tracking模型來提取單個人的軌跡,但是由於tracking的模型也存在誤差,單人的軌跡可能會被切成多段,我們要避免切成多段的這種軌跡被當做不同的人,所以需要對這樣的軌跡數據做進一步的篩選才能用。這個篩選方法就是上圖中的SSTT,Sparse Space-Time Tracklet sampling。具體而言,SSTT依賴於reid數據集的三個特點:

  • 由於同個人不會在短時間內回到同個攝像頭的視野內,因此同個人出現多段軌跡大多來源於tracking的誤差
  • 同時出現在不同位置的人應該是不同的人
  • 同個人在單個攝像頭中的遷移時間比較短,所以經過一個比較長的時間間隔P之後,出現的軌跡就不會是之前出現過的人的了

針對上面三個特點,提出了三個樣本篩選規則(沒錯,這是手工規則):

  • 在同一個時間窗口內,為每個軌跡分配不同的id
  • 同個時間內出現的不同軌跡,只選那些空間上離得比較遠的(稀疏的空間採樣)
  • 在一個時間窗口採集軌跡後,要過一個time Gap P才採集新的軌跡(稀疏的時間採樣)

用這三個規則過一遍所有的數據,我們就可以得到為每個攝像頭得到一個軌跡和id的集合,這樣我們就能用這些軌跡和id數據來訓練圖像模型了。

無監督跨攝像頭軌跡關聯學習

由於我們之前是為每個攝像頭的數據獨立分配軌跡id的,比較直接的思路是把不同攝像頭的id都當做不一樣的,但這樣訓練出來可能效果不好,因為同個人可能出現在不同攝像頭裡,將這種跨攝像頭的正樣本當成負樣本去訓練會出問題,所以我們希望能同時學習同攝像頭內不同人的差異性以及不同攝像頭內的同個人的關聯性。

PCTD(單攝像頭):具體而言,假設有T個攝像頭,我們有T個軌跡標記集,我們用T個集合訓練出一個多任務(T個任務)圖像模型,這T個任務共享用於特徵表達的卷積層,但各自擁有自己的分類層,因為它們的ID是獨立的,這種策略其實也平平無奇,是遷移學習常用的套路,而且計算量有點大,通過這種方式更多的是對單攝像頭的數據做特徵表達,還沒將不同攝像頭的數據關聯起來。

CCTA(跨攝像頭):由於不同攝像頭之間是有相同的人的,所以需要對不同攝像頭的ID進行對齊,具體做法是, - 在每個Batch做K近鄰聚類(coding技能點滿):為每個軌跡在不同攝像頭軌跡中尋找K個在特徵空間中最相似的軌跡,將這些軌跡認為是相同人的軌跡,剩下的軌跡認為是不同人的軌跡 - 用聚類的結果訓練圖像模型,希望同人軌跡特徵更接近, 不同人的軌跡特徵更遠離(用L_{ccta}約束)。

PCTD和CCTA同時作為約束訓練模型。

實驗

由於TAUDL有了單攝像頭的軌跡數據,比其他純圖像無監督方法要更魯棒一點,CCTA的訓練也一定程度上保證了跨攝像頭的預測質量,因此效果也很不錯。

然而TAUDL這個方法依賴於視頻數據集中的幀間關聯性,對於圖片數據集,如CUHK03這種連幀號都不保留的數據集,TAUDL是沒辦法提取出軌跡的,郵件問過作者,他們是用person ID來提取的軌跡信息,所以不算是嚴格無監督的方法,算是這個方法的一個美中不足吧。


推薦閱讀:
相关文章