序列影象識別分類專案筆記 前期工作(一)
目前想法:
1、先做一般的動作識別分類,然後再遷移到特定行為;
2、先用資料集做,再用不分割的視訊改進。
資料庫:
Real-world Anomaly Detection in Surveillance Videos, arxiv 1801.04264):提出了一種基於深度多例項排序的弱監督演算法框架,同時提出了一個新的大規模異常事件檢測資料集http://crcv.ucf.edu/cchen/。
THUMOS 2014:該資料集即為THUMOS Challenge 2014,地址為 THUMOS14。該資料集包括行為識別和時序行為檢測兩個任務。它的訓練集為UCF101資料集,包括101類動作,共計13320段分割好的視訊片段。THUMOS2014的驗證集和測試集則分別包括1010和1574個未分割過的視訊。在時序行為檢測任務中,只有20類動作的未分割視訊是有時序行為片段標註的,包括200個驗證集視訊(包含3007個行為片段)和213個測試集視訊(包含3358個行為片段)。這些經過標註的未分割視訊可以被用於訓練和測試時序行為檢測模型。
未分割的時序視訊中的動作定位,使用多重C3D網路
精度太少了,state-of-the-art才十幾。。
a.多尺度視訊片段生成
SCNN模型框架的第一步就是生成候選的視訊片段,之後拿這些片段作為下一步的輸入。在SCNN中採用了劃窗方法產生視訊片段,包括多個大小的視窗:16,32,64,128,256,512, 劃窗的重疊為75%。在得到視訊片段後,對其進行平均取樣16幀視訊,從而使得輸出的segment的長度均為16。在生成訓練資料時,同時還記錄和segment和ground truth instance之間的最大重疊度(IoU)以及類別(即如果存在多個重疊的ground truth,取重疊度最大的那個)。
b.多階段SCNN
SCNN 共有3個階段:proposal, classification and localization network。三者均為結構相同的C3D network[2],只有最後一層全連線層根據任務不同而有不同的長度。三者的輸入均為上一步得到的segment。
Proposal Network: 輸出為兩類,即預測該segment是動作的概率及是背景的概率(action or not)。訓練時將IoU大於0.7的作為正樣本(動作),小於0.3的作為負樣本(背景),對負樣本進行取樣使得正負樣本比例均衡。採用softmax loss進行訓練。
classification Network: 輸出為K+1個類別(包括背景類)的分數, 這個網路被用來初始化localization network
Localization Network:輸出為K+1個類別(包括背景類)的分數,這個分數應該算做是該segment是某類動作的置信度分數。在訓練時localization network用訓練好的classification network做初始化,使用與classification network 相同的資料集,但增加了基於IoU分數的overlap Loss.本文新提出的一個loss function:
lambda為比例係數,SCNN中=1
其中kn為該segment的真實類別,vn為其IoU, Pn為localization network 的輸出分數。αα 為超引數。 這個loss的作用是根據IoU的分數調整預測結果,使得輸出的分數不僅能對動作的類別進行分類,還能夠估計其與ground truth的重疊程度。有利於後續的NMS。
測試時的計算流程: 在測試時,只使用proposal 及 localization network。對於每個segment,先用proposal network計算它是動作的概率,若這個概率高於閾值(0.7),則作為一個候選segment進入下一個階段用localization network計算置信度分數,低於閾值的segment都會被捨棄。
c.後處理
後處理是在測試階段進行的。使用的方法是基於 PlPl(localization network的輸出分數)進行非極大化抑制(NMS)來移除重疊,在SCNN中,NMS的閾值被設定為0.1。對於時序上重疊的動作,通過NMS去除分數低的,保留分數高的。
SCNN完善:
Efficient Action Detection in Untrimmed Videos via Multi-Task Learning (WACV2016)
這篇文章實際上是將SCNN的多階段網路放到了一個網路裡面去,通過共享前面的卷積層,加快了演算法的速度。該方法在THUMOS14上的mAP為19.0%(重疊度閾值取0.5).其餘重疊度閾值下的表現也與SCNN基本一致。