文/周金成
隨著互聯網的發展和社交媒體的普及,網絡上視頻的數量越來越多,靠人工來處理這些視頻不再現實,計算機視覺的發展可以解決海量的視頻數據和有限的人員精力的矛盾。計算機視覺中的動作定位任務可以確定視頻中動作的位置,也就是在視頻的每一幀上用矩形框框住動作的執行者。動作定位有著廣泛的應用前景,可以用來截取一段長視頻中只包含特定內容的片段,也可以用來追蹤監控視頻頻中逃犯的逃跑軌跡等等。
本文提出一種基于單幀標注的動作定位方法,這是弱監督方法,不必標注訓練視頻中每一幀圖像,只需在每個視頻中標注一幀圖像即可定位動作。首先在訓練視頻每一幀上給出動作執行者的矩形候選框,然后連接候選框形成候選動作軌跡,利用人工標注的矩形框去除大量不滿足條件的候選軌跡,同時對保留下來的候選軌跡打分,保留得分最高的提名作為訓練視頻中動作的位置,然后訓練一個SVM分類器。測試階段,先在測試視頻的每一幀上給出矩形候選框,然后連接候選框形成候選動作軌跡,利用訓練好的SVM分類器對候選軌跡打分,確定哪個候選軌跡是視頻中動作的位置。
由于滑動窗口方法給出的矩形框數量過多,而且不適用于尺度變化較大的目標,這里利用目標檢測方法來提供動作執行者的矩形候選框,這樣減少了候選框的數量,同時候選框的質量也提高了,降低后面連接候選框的難度。EdgeBoxes具有很高的召回率而且給出的矩形候選框的數量相對較少,本文利用EdgeBoxes在每個視頻中提取幀級別的矩形候選框,但是在每個視頻幀上只保留得分靠前的100個矩形框。
視頻中幀級別的候選框獲取后,需要連接候選框形成候選動作軌跡。將候選框連接過程轉化成求解最大路徑問題,利用文獻[2]中MaxPath方法找到一個視頻中若干個時序上的路徑,每條路徑對應一個候選動作軌跡。
為了確定訓練視頻中動作的位置,首先利用每個訓練視頻中標注的一個矩形框,篩除掉大量錯誤的軌跡,然后計算保留下來的候選軌跡的得分,將得分最高的軌跡作為訓練視頻中動作的位置。提取每個軌跡的特征,訓練一個SVM分類器,利用訓練好的分類器可以判定測試視頻中哪條候選軌跡與動作的位置最符合。
為去除視頻中大量的無效軌跡,計算軌跡上的矩形框與對應標注幀上的標注框的重疊度,只保留重疊度較大的候選軌跡。重疊度的計算公式按照公式(1):

其中,b1表示視頻標注幀上的人工標注的一個矩形框,b2表示候選軌跡在標注幀上的對應的矩形框。舍棄的候選軌跡。
計算保留下來的候選軌跡中每個矩形框的光流幅值的平均值f,整個候選軌跡的平均光流幅值按照公式(2)計算:

其中,fi表示候選軌跡上第i個矩形框的光流幅值的平均值,n是候選軌跡上矩形框的數量,score是候選軌跡的得分。最終將眾多候選軌跡中得分最高的軌跡作為視頻中動作的位置。
將訓練視頻中得分最高的軌跡作為正樣本,其它候選軌跡作為負樣本,提取每條軌跡的HOG3D特征,訓練SVM分類器:
測試階段,先獲得每一幀上的候選框,然后連接候選框形成多個候選動作軌跡,提取每個軌跡的HOG3D特征,代入訓練好的模型中,得分最高的軌跡就是視頻中動作的位置。
實驗中使用的數據集是J-HMDB,這是HMDB的一個子集,包含928個視頻,有21類動作。劃分訓練視頻和測試視頻的比例是3:1.重疊度閾值ξ取值0.6。定位效果公式按照公式(3):

其中,η是模型的定位結果和視頻中動作實際位置的重合度,n是視頻中動作持續的幀數,IOU是兩個框之間的重疊度,box1是標注框,box2是定位結果上對應幀上的矩形框。當η大于0.2即認為定位正確,實驗取得了很好的結果,定位的正確率可以達到91.6%。