黨海鑫, 高 嵩, 曹 凱, 陳超波, 王 坤
(西安工業大學電子信息工程學院, 西安 710021)
運動目標檢測與跟隨作為計算機視覺領域的研究熱點之一[1],主要利用計算機視覺技術檢測并跟隨運動物體從而得到一個目標物體完整的運動方向和軌跡,同時在這個過程中針對一些可能遇到的復雜物體的遮擋、背景環境的干擾、光線強度的變化等問題給出合理的解決措施,從而實現良好的跟隨效果。并相應地出現了一些基于背景或特征的跟隨方法;此中基于特征模型的方法首要通過辨識目標的色彩、紋理等易區分的特征進行跟隨并定位運動目標所在位置,使機器能夠對所選目標進行實時地跟隨。在此基礎上,盡可能地降低算法的復雜度,并提高跟隨的實時性與精度。
傳統的CamShift目標跟隨算法以目標的顏色作為特征建立顏色直方圖模型[2],通過在反向投影圖上尋找與目標模型的最相似區域,并結合每一次新的目標位置信息作為下次迭代初始值從而實現對目標物體的跟隨。然而僅通過顏色實現跟隨的算法很容易受到相似背景或物體遮擋的影響,從而導致跟隨失敗。針對上述問題,文獻[3]和文獻[4]分別引進了了貝葉斯框架和FREAK特征匹配,改進后的算法雖然改善了系統的魯棒性但也在算法復雜度方面有所提升。文獻[5]改變了傳統算法中只以H信號為特征的弊端,進而增加了S信號直方圖補償策略提高了算法的高效性,但仍然對部分復雜環境考慮欠缺;文獻[6-7]提出了融合顏色和紋理的跟隨算法,在假設兩個特征之間獨立的同時降低了該系統的魯棒性;文獻[8]對此加入了紋理特征。
上述幾種方法雖然改進了目標特征模型,改善了跟隨效果,但在較為復雜的場景中跟隨效果并不理想,容易受到干擾,需要融合其他特征以提高跟隨的魯棒性[9]。為此,提出一種利用多種特征自適應融合的CamShift算法和修正概率分布密度圖的以及限定目標框的方法,并在自己搭建的機器人操作系統(robot operating system,ROS)智能小車上進行了多種干擾場景下的實驗。后續將從模型簡介、融合方法、優化與實驗方面進行概述。
1988年Bradski[10]提出的CamShift算法以顏色直方圖為目標特征,先獲得目標物體的顏色概率分布圖,再根據目標的形狀或距離變化自動調節目標框尺寸,通過迭代搜尋最相似區域。由于顏色直方圖反映的是對應顏色區域屬于初始框選區的概率,故該方法不受目標物理形狀變化和光線變化的影響,可以有效地解決尺度變化及部分遮擋的問題。
CamShift跟隨算法主要包括以下步驟[11-12]:
(1)初始化目標框,求取H分量的直方圖。
(2)將后續待匹配圖像進行反向投影。
(3)根據目標框的屬性,采用Meanshift算法迭代計算目標框的質心(xc,yc),以及(x,y)處的像素值I(x,y),然后將目標框的中心移動到新的質心坐標。
(4)在下一幀圖像中,重復步驟(2)、步驟(3)直至跟隨完成。
傳統的CamShift算法僅僅使用了目標物體的顏色信息,易受光線變化、相似顏色物體及背景和遮擋的影響,從而影響跟隨甚至目標丟失[13-14],針對上述問題,將輸入圖像進行高斯濾波后,建立目標的顏色、邊緣、紋理信息直方圖;再根據相似性度量對概率密度圖進行自適應融合,最后結合概率密度分布圖的修正和目標框的限定,有效地解決了光線明顯變化或相似顏色干擾等因素的影響。
顏色直方圖通過提取圖像中對光線變化適應性強的H值,建立對應的直方圖以及概率分布圖。設目標的中心點和像素集分別為x0和{xi}(i=1,2,…,n),則顏色特征模型可表述為

(1)
式(1)中:Cq為歸一化常數;k()為核函數;b()為像素特征值;u為(x,y)處特征值;δ(x)為判斷待辨識像素的所屬區間的函數。則顏色直方圖分布為hc={hc(u)}。
局部二值模式(local binary pattern,LBP)作為描述物體紋理特征的算子,能夠利用灰度圖像在邊緣處產生的變化描述物體的表面特性,并且對目標旋轉和光線劇烈變化具有較強的魯棒性,對噪聲也有較好的抑制能力[15-16]。此外融合LBP時較小的計算復雜度也能夠滿足系統對于實時性的需求。
LBP在計算時首先將灰度圖像的中心點p處的像素值作為閾值;然后取該點周圍3×3即半徑為R的鄰域窗口,最后通過式(2)來求取相應的紋理信息。

(2)
式(2)中:gc、gi分別為上述中心點和鄰域像素點的灰度值;s()為二值函數。則紋理特征模型可表示為

(3)
式(3)中:C為常數。
邊緣特征不僅能夠較好地反映物體邊緣方向的分布情況和輪廓信息,而且不易受顏色和光線的干擾[17]。
整數階邊緣檢測算子對圖像的非高頻信號有著較強的弱化作用,從而導致物體邊緣部分信息缺失。而采用分數階微分構建邊緣檢測算子,在對高頻信號進行提升的同時,保留了中低頻信號,能夠更好地保存目標圖像邊緣的微弱信息[18]。通過采用R-L(Riemann-Liouville)分數階微分的概念,建立對邊緣信息能夠更好處理的模板。
函數f(t)的R-L定義為

(4)
式(4)中:Г()為伽馬函數;t、a表示積分上下限,即信號f(t)在[a,t]內連續可導;v表示要進行積分的次數。
關于f(t)的積分,要將其離散化到數字圖形,假定a=0,步長h=1,把[0,t]區間等分成n份,可以得到:


(5)
通俗來說,在M×N的圖像f(x,y)上進行邊緣檢測實際上是用m×m大小的掩模梯度算子進行線性濾波,該算子為

(6)
式(6)中:w()為濾波因子;s、t為卷積公式中偏移量。
可得到分數階微分邊緣檢測模板的系數為

(-P)(2i)(-P-1)
(7)

(8)
為了滿足計算量和實時性,以及提取效果同時,采用3×3的檢測模板[19],并使P=0.5,即R1=-0.099 7,R0=0.797 6,最終得到的模板如圖1所示。目標邊緣特征模型為

(9)
式(9)中:b(xi,yi)為(xi,yi)處像素對應的特征值。

圖1 R-L分數階微分邊緣檢測算子模板
采用巴氏系數衡量目標模型與候選模型之間的相似度。在0~1內假設一幀圖像中候選直方圖向量為h′f,目標直方圖向量為hf;那么候選區域與目標區域的相似度可以定義為

(10)
當候選區域和目標區域越相似,ρ越接近1;反之越接近0。
本算法采取的融合方法是根據3個特征的貢獻程度來動態分配各自權值在融合時占據的比重,即用當前幀的目標框中的某一特征的直方圖h1(n)和尺寸比當前目標框大1倍且中心點相同的擴展框下的某一特征的直方圖h2(n)的相似性來判斷權值分配的大小,而相似性則由式(10)計算可得;某一特征在兩個直方圖越為相似,則當前幀中融合時該特征的概率分布圖所占的權值w越大;反之權值w越小。
假設在第n-1幀和第n幀圖像中算法迭代得到的目標框中顏色、紋理以及邊緣特征的目標直方圖分別為h1c(n)、h1t(n)、h1e(n)和h2c(n)、h2t(n)、h2e(n);則按照2.4節定義的巴氏系數計算方法ρ[h1c(n),h2c(n)]可計算出前后兩幀中顏色直方圖的相似度為ρc、同理可得紋理及邊緣特征在兩幀中的相似度ρt、ρe,按求得的相似度更新相應的權值,則三種特征的權值的計算方法為

(11)

(12)

(13)
以上3個權值初始值之和為1。所以可以設第n幀圖像顏色特征、紋理以及邊緣特征的概率分布圖分別為Mc(n)、Mt(n)、Me(n)。便可得到第n幀圖像的融合后的概率分布圖Mfus(n)的計算過程,即
Mfus(n)=wcMc(n)+wtMt(n)+weMe(n)
(14)
改進的CamShift算法在對上述3種特征的概率分布圖進行自適應融合時,候選模型每個像素的該種特征屬于所選目標的對應像素特征值的概率會按歸一化后的值存放到對應的位置。如果其概率越大,則代表該候選特征塊屬于目標的可能性越大,體現在直觀上即該特征塊的亮度越高;反之則越暗。當存在與目標相似顏色背景或物體時可能導致跟隨精度較差、目標框不穩定等不良結果。這是因為一些較小的與目標相似的像素塊存在于目標框中,從而對概率分布圖的繪制和跟隨結果產生直接影響。但這些影響的產生也是不可避免的,原因在于目標框都是規則形狀的,難免包含一些背景信息,故在本節對已改進的算法進行了進一步的優化。
對各個特征的概率分布圖進行修正,其修正策略按式(15)、式(16)進行,其中M(i,j)表示分布圖中(i,j)點處的概率值。在跟隨開始時,首先確定最大概率值Mmax,然后根據待計算點處的概率值與0.4Mmax的比較結果對其進行修正,若小于則將其置零,從而弱化甚至消除相似像素塊的影響。
Mmax=max[(M(i,j)]
(15)

(16)
在跟隨小車跟隨某一物體的過程中,只有小車與目標的距離始終要保持在一個范圍內才能稱之為跟隨,故在此過程中,即使目標發生轉動或者產生距離變化,反映到處理器中的目標尺寸不會擴張過大。
傳統CamShift算法的目標框可以根據目標的大小及角度變化而變化,但受到相似顏色物體及背景的干擾和大尺寸遮擋時,使得目標框僅在數次迭代之后便增長為原始目標框的數倍之大,從而導致跟隨失敗。為此,可以通過限制目標框的尺寸大小來解決此問題,限定方法如公式(17)所示,其中S和Sn分別代表初始和當前幀目標框大小,當Sn超過初始目標框大小的1.5倍時,用1.5S限制該目標框,便可較好地解決該問題。

(17)
使用搭建的ROS智能小車平臺進行改進算法的測試,該小車采用樹莓派3B+作為主控制器、Arduino為運動控制器、USB攝像頭為圖像采集模塊分辨率為720×1 080、外加萬向輪加直流減速電機驅動;小車高20 cm,寬15 cm。小車實物如圖2所示,圖像采集模塊用于獲取ROSImage,再通過cv-bridge將其轉換為適合于用OpenCV處理的圖像,從跟隨話題訂閱目標跟隨框中心點相對于視頻中心坐標的偏差值并將該值發送到運動控制器,從而控制小車運動,實現小車對目標的自主跟隨。但在跟隨中每輸出一幀圖像便會輸出偏差值,若對每個偏差值都進行處理,會使計算量過大且小車運動過于敏感,實時性差,易導致跟隨失敗。

圖2 小車實物圖
所以只需要對小車每次轉動的初始角度進行確認且自動篩選出不必要的偏差值。當小車從該角度左右轉動居中后,再進行居中確認,然后處理最新的坐標偏差值,從而實現與目標的穩定跟隨。
為了驗證改進的算法,對光線強度變化、相似顏色物體遮擋、背景干擾以及小車在障礙物場景中目標跟隨分別設置了對應的實驗場景。
在光線變化場景中,分別用傳統和改進的兩種算法在光線變化劇烈時進行實驗,如圖3所示。所跟隨的目標為一淺黃色大小為3 cm×2 cm×1 cm且邊緣特征較為明顯的方形物體,且背景帶有許多干擾的噪點,用一束燈光作為干擾從目標右下方到目標正上方再從右上方離開,用以驗證明顯變化的光線對該跟隨算法的影響。

圖3 在光線變化場景中跟隨結果
從圖3(a)可以看出,以對光線劇烈變化時傳統算法的目標框會不斷擴大,并且將亮度較強的背景部分誤認為目標從而導致跟隨性能變差。而圖3(b)所顯示的改進后的跟隨算法在光線劇烈變化后,目標框仍然只框選著目標物體,該過程并未對跟隨算法產生影響,可見改進后的算法在目標跟隨方面具有較強的魯棒性。
在相似顏色物體遮擋場景中,所跟隨的目標為淺紅色且帶一定紋理特征的長方體海綿,用一體積約為該長方體3倍大,直徑約為10 cm的紅色球體從目標右后方滾動到左后方作為干擾,如圖4所示。

圖4 在相似顏色物體遮擋場景中跟隨結果
圖4(a)顯示了傳統CamShift算法對目標的跟隨結果,從圖4(a)中可以看出,當紅色球體與粉色目標物體有部分區域重疊時,目標框便已經將球體視為目標物體的一部分,當干擾物處于正后方時,目標框已經完全錯選目標,直到干擾物處于左后方時,跟隨完全失敗,可見僅以顏色特征為目標特征的傳統算法在相似顏色物體干擾時魯棒性較差。
從圖4(b)可以看出,使用改進后算法時,當干擾物體與目標物體部分重疊至完全重疊時,干擾物并未對目標框產生較大影響,目標框仍然只框選目標物體;當干擾物與目標物體重疊區域減少到完全分離時,目標框仍然框選在目標物體上,干擾物只是在該過程使目標框產生了些許波動,但并未對跟隨結果產生影響,可見改進后的算法對相似顏色物體的干擾具有較強的魯棒性。
在背景干擾場景中,以較暗光線下以一長×寬×高為14 cm×18 cm×19 cm的黑色小車為跟隨目標,同色背景墻為干擾物,如圖5所示。
圖5(a)顯示了傳統CamShift跟隨算法對黑色小車的跟隨結果可見當小車剛開始運動時算法便被背景墻干擾,框選區域開始大面積包含背景而錯選目標,到第102幀目標框已經嚴重漂移以至于跟隨算法完全失敗,目標框中心的運動軌跡如黃線所示。
圖5(b)顯示了本文改進算法的跟隨結果,可以看出即使目標與干擾背景顏色相同,但在小車從左至右的整個運動過程中目標框始終框選著目標物體并未發生漂移,而且從黃色軌跡線可以看出跟隨過程較為平穩,都能夠體現該算法的魯棒性較好。

圖5 背景干擾場景中的跟隨結果
為了體現改進算法相對原有算法的優勢,通過獲取目標中心點的坐標值(a′,b′)與實際情況下中心點的坐標值(a,b),用兩點之間的歐氏距離l=[(a′-a)2+(b′-b)2]1/2來表示算法的精度。l越大則目標框相較于真實值的誤差越大,反之誤差越小,如圖6所示。

圖6 不同場景下的誤差對比
對上述3種實驗場景的跟隨結果求取歐氏距離,由圖6(a)~圖6(c)中不同幀數(frame)時的誤差(error)對比可知,相較于傳統的CamShift跟隨算法,所改進的算法在光線明顯變化和相近顏色物體干擾時,其跟隨精度都始終保持較好水平,即跟隨窗口能夠有效地框選于目標物體。
實際障礙物場景下,搭建尺寸為1.3 m×1.3 m的復雜背景障礙物環境,用載有改進算法的ROS智能跟隨小車以5.3節所述黑色小車為目標實現跟隨,該目標小車的運動速度為0.3 m/s,如圖7所示的地圖中目標小車從左下角入口沿紅色箭頭指示方向運動到出口,圖8中的4幅圖分別為在圖7中4個三角形標注位置的小車的跟隨視角,可以看出在該障礙物地圖中跟隨小車能夠實現對目標小車較好程度的跟隨。而未改進的算法在該障礙物場景中由于背景的干擾性較強,在目標運動之后,目標框容易錯選背景或者漂移,完全無法實現跟隨。

圖7 復雜背景障礙物地圖

圖8 目標跟隨環境中智能小車視角圖
針對在復雜場景傳統基于單顏色特征的CamShift算法應用到跟隨小車容易跟隨失敗的問題,通過在對具有互補性的不同特征的融合,構成多特征自適應融合的CamShift跟隨算法,能夠更好地應對各種復雜場景,增強了跟隨小車跟隨的魯棒性。
在此基礎上通過對融合概率圖的修正及目標框限定對算法進行進一步優化。通過4種不同的實驗場景,驗證了所改進的算法相對于傳統的算法在光線的變化及復雜背景干擾和相似顏色物體的干擾遮擋下都有一定的魯棒性,體現了優化后的多特征融合在應對復雜場景時的優勢,提高了復雜情況下的實時跟隨性能。