針對無人機航拍視訊中動態背景下的目標檢測
目錄
傳統目標檢測技術
1、 幀間差分
通過連續兩幀相同位置畫素點間的灰度差來確定目標移動。但只適用於靜態背景和目標單一條件的目標檢測。僅適用於無人機懸停狀態下的目標檢測。
2、 背景差分法
通過預先設定背景,然後通過對檢測影象和背景做差來提取目標。但實際背景與預設背景相差較大或者實際檢測時光照條件發生明顯變化,該方法的目標檢測精度將有較大的下降。
3、 光流法
將該方法將光流作為灰度畫素點在影象上的瞬時運動場,從而實現對目標的跟蹤。該方法根據原理主要分為四類: 基於梯度的方法、基於匹配的方法、基於能量的方法和基於相位的方法。
工作流程為:
在影象中等間隔選取光流點;
計算光流點的運動向量( 常用 HS 法和 LK 法等);
根據運動向量檢測運動目標。
與前兩種方法相比,由於光流場能夠反應畫素點的灰度運動情況,所以,光流目標檢測法能夠進行動態背景下的目標檢測。
4、 特徵匹配法
通過提取待檢測目標的特徵點(角點、顏色特徵等)建立目標模板,然後通過檢測實時視訊流中對應目標,進行相似性判別,從而實現目標檢測。
特徵匹配演算法:
SIFT:
SURF:
BRISK:
FREAK:
該方法可以檢測出目標,還可以進行目標識別,具有較強魯棒性。該方法既適合動態背景也適合靜態背景的目標檢測。
##目標跟蹤
1、 CamShift演算法
他是對MeanShift演算法(基於核密度估計的非引數模式匹配)的改進,是一種連續自適應漂移演算法。
MeanShift流程:
手動選擇待跟蹤目標區域,使用MeanShift顏色直方圖資訊作為模板,再對下一幀影象的顏色直方圖提取,進行匹配,通過計算相似度獲得相似度密度分佈圖,圖中的極值位置及目標的位置。
CamShift對視訊中的每一幀都進行MeanShift運算,不僅可以實現目標模板的更新,也可以實現自動調節跟蹤視窗大小的功能。(有疑問?第一步是手動選擇目標區域,對於發生尺度變化或外界干擾時,如何通過CamShift實現實時更新?)
CamShift演算法流程:
1)轉化RGB為HSV空間,這樣可以減小跟蹤過程中光照的影響;
2)目標初始化,手動選取目標位置和大小,並提取目標區域的H分量直方圖;
3)計算影象反向投影,認為反向投影圖中畫素點亮度越大,其為目標區域的概率就越大;
4)利用MeanShift演算法進行迭代運算,移動搜尋視窗的中心到迭代的最大位置;
5)調整搜尋視窗的大小;
2、 卡爾曼濾波演算法
一種小方差最佳線性遞推方法,通過當前目標資訊可以實現對下一幀目標位置進行預測,從而實現目標的跟蹤。
狀態方程實現對系統的狀態進行客觀的描述;預測方程可以實現系統對下一時刻狀態的預測。
3、粒子濾波演算法
演算法實質是用帶有權值的粒子表示後驗概率,這些粒子隨著目標模型的移動而移動,最後與目標模板進行匹配並更新權值,這些粒子的狀態加權即為後驗概率。
4、 特徵匹配演算法
採用目標的區域性特徵資訊,通過特徵匹配來進行跟蹤的演算法(SIFT、SURF、ORB、BRISK、FREAK)。
1)特徵點檢測;
2)特徵描述;
3)特徵點篩選;
4)特徵點匹配
四種演算法的對比: