主要參考博文 行爲識別筆記:improved dense trajectories算法(iDT算法)
一.DT介紹
先簡單介紹DT(Dense Trajectories)方法:利用光流場來獲得視頻序列中的軌跡,在沿着軌跡提取軌跡形狀特徵和HOF,HOG,MBH特徵,然後利用BoF(Bag of Features)方法對特徵進行編碼,最後基於編碼結果訓練SVM分類器。
1.1 Dense Sampling 密集採樣
在多個空間尺度上通過網格劃分的方式密集採樣特徵點,多個空間尺度上的採樣能夠保證採樣的特徵點覆蓋了所有空間位置和尺度。我們的目的是能夠通過視頻在時間序列上跟蹤這些特徵點。空間尺度的設置比例爲 。在跟蹤前需要先去除一些特徵點,文中採用的方法是計算每個像素點自相關矩陣的特徵值,並設置閾值去除低於閾值的特徵點。閾值T定義如下:
其中 是圖像 中的像素點 的特徵值。
1.2 Trajectory Shape Descriptor 軌跡形狀描述子
特徵點的跟蹤是在每個空間尺度上獨立進行的。對於每一幀 ,我們根據下一幀 計算它的密集光流場 ,其中 和 代表光流的水平和垂直分量。設第 幀的一個特徵點爲 ,則在下一幀 幀圖像中該特徵點的位置表示如下:
其中 代表中值濾波器,尺寸大小爲 ,所以該式子是通過計算特徵點鄰域內的光流中值來得到特徵點的運動方向的。
某個特徵點在連續 幀圖像上的位置構成了一段軌跡 ,後面的特徵提取沿着各個軌跡進行,但是軌跡跟蹤在跟蹤過程中存在漂移現象,因此長時間的跟蹤是不可靠的,所以每 幀就要重新進行密集特徵點採樣,重新進行跟蹤。論文中選 。
軌跡的形狀由於編碼了局部運動信息,因此本身也可作爲一種特徵描述子。給定一段 幀長的軌跡,我們通過序列 來描述軌跡形狀。
1.3 Motion and Structure Descriptors運動和結構描述子
除了軌跡形狀特徵,論文中使用 , 和 來描述表觀(Appearence)和運動(Motion)信息。我們在一個時間-空間體(space-timevolume)上進行特徵描述子的計算,該結構體爲 大小, 幀長。將該結構體進行 大小的網格劃分,空間上每個方向均分 份,時間方向上均分 份。在每個 內計算 , , 描述子,將這些描述子進行 構成最終的描述子。論文中參數設定: 。下面對每個特徵描述子進行簡單介紹:參考博文鏈接1鏈接2
HOG特徵:計算的是灰度圖像梯度直方圖,直方圖的 數目爲8。所以 特徵長度爲2*2*3*8=96。
HOF特徵:計算的是光流的直方圖,直方圖的 數目取8+1,前8個 與 都相同,額外的一個用於統計光流幅度小於某個閾值的像素。故 特徵的長度爲2*2*3*9=108。
MBH特徵:計算的是光溜圖像梯度的直方圖,可以理解爲在光流圖像上計算的 特徵。由於光流圖像包含 方向和 方向,因此需要分別計算 和 。 總的特徵長度爲2*96=192。
最後對提取到的特徵進行歸一化, 算法中,對以上三種特徵均使用 範數進行歸一化。
1.4 Bag of Features 特徵編碼
對於每一段軌跡,都有一組特徵描述子(trajectory,HOG,HOF,MBH),我們需要對所有的特徵描述子進行編碼,得到最終一定長度大小的編碼特徵來進行最後的視頻分類。
Bag of Feature算法大概分爲四步:
(1) 提取圖像特徵
(2)對特徵進行聚類( ),得到一部字典
(3)根據字典將圖片表示成向量(直方圖)
(4)訓練分類器
在訓練過程中, 算法將所有訓練特徵聚類到100000類,每個類別下有4000個詞袋( )。訓練完成後,對每個視頻的特徵進行編碼,就可以得到視頻對應的特徵。在得到視頻對應的編碼特徵後, 算法採用 分類器進行分類,採用 策略訓練多分類器。
論文中還有一些細節的設置:如對於靜態軌跡以及有較大位移的軌跡,通過一些後處理將它們移除;對於軌跡形狀描述子的歸一化處理操作;對於運動和結構描述子,同樣要進行歸一化操作處理,均採用 範數進行歸一化。
二. iDT介紹
主要思想:(1)提升的密集軌跡算法主要考慮到相機運動,在幀與幀之間使用 關鍵點描述子和密集光流進行特徵點匹配,從而消除或者減輕相機運動帶來的影響。在求得匹配點對之後,就可以利用RANSAC算法估計投影變換矩陣。(2)人在視頻幀中占主導地位,由於人的運動和相機運動不同,人身上的匹配點對使得投影矩陣的估計不準確,因此iDT算法採用human detector 檢測人的位置框,進一步消除內部的匹配點對,從而使得人的運動不影響投影矩陣的估計。
2.1 Trajectory features
HOG:灰度圖像直方圖捕捉了圖像的靜態表觀信息。HOF和MBH捕捉了圖像的運動信息,均是基於光流的,能夠更加準確地描述動作。
不同於DT算法,iDT採用 正則化對獲取到特徵進行歸一化操作。
2.2 Feature encoding
不同於 算法採用的 編碼方式,iDT算法採用FV(Fisher vector)編碼,各參數設置如下:
(1) 用於訓練的特徵長度: 維
(2)用於訓練的特徵個數:從訓練集中隨機採樣256000個特徵
(3) 降維比例:2,即維度除以2,降維後特徵長度爲
(4) 高斯聚類的個數
編碼後得到的特徵維度爲 ,即 ,在編碼後 同樣使用了 進行分類。