本發明涉及一種基于相關濾波和顯著性檢測的航拍視頻目標跟蹤方法
背景技術:
目前,航拍視頻跟蹤技術已經在軍事領域和民事領域得到廣泛的應用。相對于固定平臺或者手持設備拍攝的視頻,航拍視頻具有自身特有的性質。首先,攝像機隨無人機一同做高速運動,航拍視頻序列圖像間存在平移、旋轉等變換,且視頻中場景復雜多變,目標極易受到遮擋、噪聲等干擾;另外,由于無人機有時在幾千米甚至上萬米的高空飛行,運動目標在圖像中占的比例很小,這些都對航拍視頻處理帶來了巨大的挑戰。近年來,基于相關濾波的跟蹤方法大量涌現,并展現了良好的跟蹤性能,尤其是該類方法所具有的實時性,可以在一定程度上滿足航拍視頻跟蹤問題的要求。但是,當視頻中的目標被嚴重遮擋時,基于相關濾波的現有方法會產生漂移,容易導致跟蹤失敗,因此無法對航拍視頻進行長時跟蹤。
技術實現要素:
要解決的技術問題
為了避免現有技術的不足之處,本發明提出一種基于相關濾波和顯著性檢測的航拍視頻目標跟蹤方法,解決航拍視頻中由于運動目標被嚴重遮擋而造成外觀模型漂移,從而易導致跟蹤失敗的問題。
技術方案
一種基于相關濾波和顯著性檢測的航拍視頻目標跟蹤方法,其特征在于步驟如下:
步驟1:讀取視頻中第一幀圖像數據,得到目標所在的初始位置信息[x1,y1,w,h],并賦予該圖像數據一個是否要進行重檢測的標志位flag,置為0;其中:x1,y1表示第一幀目標中心p1的橫坐標和縱坐標,w,h表示目標的寬和高;
步驟2:以目標初始位置中心點x1,y1確定一個目標區域r,r的大小為m×n,其中m=3×w,n=3×h;對r提取d維特征圖,命名為x;
根據x構造最優相關濾波器ul,ul在頻域上的表示ul稱為目標模板,計算方法如下:
其中:各個大寫的變量為相應的小寫變量在頻域上的表示,高斯濾波模板
因此,λ為調整參數,取0.010
進入下述循環處理步驟,直至跟蹤結束:
步驟3:讀取第k幀圖像,k≥2且起始值為2;判斷flag值是否為1,若是,則轉步驟7;否則,在第k幀圖像中以(xk-1,yk-1)為中心,提取大小為m×n的目標搜索區域,若該區域超出當前圖像邊界,不對其進行擴展,并將其調整為m×n大小;然后對目標搜索區域提取d維特征圖,命名為z,再利用目標模板ul計算目標置信圖responce,計算下式,
由responce中得到最大響應值mvalue,以及最大響應值對應的坐標(x',y');
其中,
步驟4:當最大響應值mvalue是否大于閾值t1,將(x',y')作為目標在第k幀圖像中的位置pk,其坐標為(xk,yk),并將標志num_lost置為0,轉步驟6;否則,num_lost的值加1;
所述num_lost表示各幀最大響應值連續小于t1的幀數,且num_lost初始值為0;
步驟5:當num_lost大于5時,將flag置為1,轉步驟7;否則將(x',y')作為目標在第k幀圖像中的位置pk,其坐標為(xk,yk);其中,t1取值范圍為0.15-0.25;
步驟6:在當前幀中以(xk,yk)為中心,w、h為寬和高標示出目標的位置,并提取大小為m×n的區域;若該區域超出當前圖像邊界,不對其進行擴展,并將其調整為m×n大小;
對該區域提取d維特征圖,命名為zn;若(xk,yk)來自步驟3中的(x',y'),則按照下式得到a_newl、b_new:
否則,按照下式得到a_newl、b_new:
將a_newl、b_new的值分別賦給al、b,完成對al和b的更新;
其中:η為模板更新學習率,取0.025;若處理完所有圖像則算法結束,否則,k的值加1,轉步驟3;
步驟7:在當前幀圖像中以lock為中心截取圖像塊patchk,其中,lock的坐標為(xk-1,yk-1),patchk的寬和高分別為
采用基于剩余譜理論的方法對patchk進行顯著性檢測,得到顯著圖saliencek;然后使用最大類間方差法對saliencek進行閾值分割,得到顯著性閾值圖thresholdk,得到init個連通域;
將質心在thresholdk邊界15個像素以內的連通域排除,得到last個連通域以及它們的質心ceni,ceni在顯著性閾值圖中的坐標為(ri,ci);其中,若last為0,則k的值加1,num_lost的值加1,令(xk,yk)=(xk-1,yk-1),轉步驟3;否則繼續進行,其中,1≤i≤last;
步驟8:通過下式得到每個質心ceni在第k幀圖像中的坐標cen_imi:
cen_imi=(ri,ci)-(midxi,midyi)+(xk-1,yk-1)
其中:(midxi,midyi)為patchk的中心在patchk中的坐標;
無論patchk的邊界是否與第k幀圖像的邊界重合,都將lock相對于patchk的位置作為patchk的中心;
步驟9:以cen_imi為中心,在當前幀圖像中截取m×n大小的圖像塊impatchi,若坐標超出圖像邊界,則將不對impatcih進行擴展,將impatcih調整為m×n大小;對impatchi提取d維特征圖,命名為zpatchi,然后與當前的目標模板
所述提取d維特征圖時,維度d的構成包括27維方向梯度直方圖特征加1維原始灰度特征,d取28。
有益效果
本發明提出的一種基于相關濾波和顯著性檢測的航拍視頻目標跟蹤方法,通過使用基于相關濾波和顯著性檢測的跟蹤方法,結合方向梯度直方圖特征和灰度特征,使得跟蹤結果對于光照變化、噪聲、遮擋等因素具有很強的魯棒性,尤其是當目標被嚴重遮擋而導致跟蹤失敗時,本發明通過重檢測機制,可以再次檢測到目標,使得目標能夠被長時間持續地跟蹤;另外,基于剩余譜理論的顯著性檢測方法計算簡便快捷,可以通過較小的計算代價實現對目標的重檢測,能有效地滿足航拍視頻跟蹤對算法實時性的要求。
附圖說明
圖1:基于相關濾波和顯著性檢測的航拍視頻目標跟蹤方法流程圖
具體實施方式
現結合實施例、附圖對本發明作進一步描述:
相關濾波的原理是通過傅里葉變換將圖像從空間域轉換到頻域,利用頻域的逐像素相乘代替空間域的卷積操作,可以極大地提高運算速度。而圖像顯著性檢測的目的是獲得高質量的顯著圖,顯著圖反映了圖像中不同區域的顯著程度。利用顯著圖,可以快速檢測到圖像中的顯著區域。本發明采用了基于相關濾波的跟蹤方法,并通過使用方向梯度直方圖(histogramoforientedgradient,hog)特征加灰度特征構建魯棒的目標模型來預測目標的中心位置。針對目標被嚴重遮擋的問題,本發明引入重檢測機制來解決該問題:首先判斷目標是否被嚴重遮擋,一旦目標被判定為嚴重遮擋,則采用基于剩余譜理論的方法來對特定的圖像塊進行顯著性檢測:首先計算圖像的振幅和相位,然后通過振幅譜突出部分相減得到特征譜,再通過傅里葉逆變換得到顯著圖,并通過對顯著圖閾值化得到目標候選區域,最后結合相關濾波的方法對目標進行重新定位。
步驟1讀取視頻中第一幀圖像數據以及目標所在的初始位置信息[x1,y1,w,h],其中x1,y1表示第一幀目標中心p1的橫坐標和縱坐標,w,h表示目標的寬和高,將flag置為0。其中,flag為判斷是否要進行重檢測的標志位。
步驟2根據目標初始位置中心點x1,y1確定一個目標區域r,r的大小為m×n,其中m=3×w,n=3×h。對r提取d維特征圖x,其中,維度d的構成包括27維方向梯度直方圖特征加1維原始灰度特征,因此,d取28。根據x構造最優相關濾波器ul,ul在頻域上的表示ul稱為目標模板,計算方法如下:
其中,如果不加特殊說明,,各個大寫的變量為相應的小寫變量在頻域上的表示,高斯濾波模板
步驟3讀取第k幀圖像(k≥2且起始值為2),判斷flag值是否為1,若是,則轉步驟7;否則,在第k幀圖像中以(xk-1,yk-1)為中心,提取大小為m×n的目標搜索區域。然后通過步驟2中的方法提取特征圖,命名為z,再利用目標模板ul計算目標置信圖responce,計算方法如下:
其中,
步驟4判斷步驟3中的最大響應值mvalue是否大于閾值t1,若是,則將(x',y')作為目標在第k幀圖像中的位置pk,其坐標為(xk,yk),并將標志num_lost置為0,轉步驟6;否則,num_lost的值加1,繼續進行。其中,num_lost表示各幀最大響應值連續小于t1的幀數,且num_lost初始值為0。
步驟5判斷num_lost是否大于5,若是,則將flag置為1,轉步驟7;否則將(x',y')作為目標在第k幀圖像中的位置pk,其坐標為(xk,yk),并繼續進行。其中,t1取值范圍為0.15-0.25。
步驟6在第k幀中第以(xk,yk)為中心,w、h為寬和高標示出目標的位置,并提取大小為m×n的區域,按照步驟2中的方法對該區域提取特征圖,命名為zn。判斷(xk,yk)是否來自步驟3中的(x',y'),若是,則按照下式得到a_newl、b_new:
否則,按照下式得到a_newl、b_new:
將a_newl、b_new的值分別賦給al、b,完成對al和b的更新。其中,η為模板更新學習率,取0.025。若處理完所有圖像則算法結束,否則,k的值加1,轉步驟3。
步驟7在第k幀圖像中以lock為中心截取圖像塊patchk,其中,lock的坐標為(xk-1,yk-1),patchk的寬和高分別為
步驟8對于步驟7中的得到每個質心ceni,通過下式可以得到ceni在第k幀圖像中的坐標cen_imi:
cen_imi=(ri,ci)-(midxi,midyi)+(xk-1,yk-1)(6)
其中,(midxi,midyi)為patchk的中心在patchk中的坐標。其中,無論patchk的邊界是否與第k幀圖像的邊界重合,都將lock相對于patchk的位置作為patchk的中心。
步驟9以cen_imi為中心,在第k幀圖像中截取m×n大小的圖像塊impatchi,其中,若坐標超出圖像邊界,則不對impatchi進行擴展。對impatchi按步驟2提取特征圖,命名為zpatchi,然后與當前的目標模板