目標檢測+光流跟蹤
阿新 • • 發佈:2019-02-13
最近學習了LK光流法,主要用於運動目標的跟蹤,於是想著和之前codebook運動目標檢測結合起來,實現先檢測再跟蹤。
下面介紹目標檢測跟蹤流程:
(1)使用codebook進行背景學習
(2)使用codebook不斷進行運動目標檢測
(3)若發現運動目標,則對運動目標所在區域進行跟蹤
(4)若丟失目標,則重新使用codebook進行運動檢測
下面介紹操作中的一些細節:
(1)codebook檢測結果可能包含噪聲,由於和後續跟蹤息息相關,因此需要去除噪聲,經實驗結果,發現通過計算輪廓長度來去除噪聲是比較有效的,當然假設是需要被檢測的目標是有一定大小的。
(2)codebook檢測出目標後,可以利用
(3)承接(2),當目標被檢測到時,會計算出一個mask,但由於此時進入了跟蹤程式,因此如果不更新mask的話,該區域永遠對著初始區域,不能為後續視訊幀尋找特徵點做幫助。因此,我的做法是,計算特徵點群的質心座標,以此作為mask的中心位置,即mask的運動趨勢與運動目標一致。當特徵點數量不足時,會使用goodFeaturesToTrack進行補點操作,但若由於目標被全部遮擋導致此區域無特徵點,則會再次進行
PS:
具體兩部分實現可參考兩位大牛: (1) codebook:http://blog.csdn.net/zcube/article/details/7353941
(2) LK光流:http://blog.csdn.net/yang_xian521/article/details/6987447
下面為實驗結果: