劉森斌,汪國有
(華中科技大學自動化學院,武漢 430074)
目前關于機器視覺的靶紙區域檢測問題的研究,劉焱[1]針對圖像中靶紙灰度的特殊性,采用閾值分割的算法確定靶紙中心區域。崔亞琳[2]采用灰度圖邊緣檢測算法和Hough變換擬合圓環輪廓,確定靶紙區域。王蔚揚[3]、周友行[4]針對靶紙顏色特征,利用像素RGB三通道 (HSI特征空間三通道)灰度值進行閾值二值化及邊緣處理,再采用Hough變換擬合圓環輪廓達到確定靶紙區域的目的。[5-8]通過固定采像裝置位置和靶紙粘貼位置的方式,保證采集的圖像中只包含標準的靶紙區域,避開靶紙區域檢測問題。上述方法的適用場合是光照條件良好、靶紙與背景存在很大對比度,并且拍攝的靶紙圖不能存在任何傾斜,否則靶紙區域的檢測會存在很大偏差。為了克服光照條件變化、對比度變化和拍攝角度變化的影響,本文提出基于改進Fast MBD顯著性和多特征匹配的快速靶紙區域檢測算法。
顯著性區域提取的目標是計算得到一幅顯著圖,顯著圖表現為高亮場景中的顯著目標而抑制背景區域。目前,基于不同層次的理論和準則已經提出大量的顯著性區域提取模型,例如基于信息論模型[9],基于圖論模型[10-12],基于統計論模型[13-15],基于機器學習模型[16-17]。同時,多方面的有效度量和先驗知識也被用于顯著性區域提取模型中,例如局部和全局對比度度量[18-19],邊界連通先驗知識[20-21],中心先驗知識[22]和背景先驗知識[23]。這些模型需要大量的多尺度計算,遠遠不能達到實時性的要求。Fast MBD變換類似光柵搜索算法在圖像像素總量的線性復雜度上完成計算[21],因此,針對靶紙區域的顏色和形狀相對固定的特性,本文提出結合Fast MBD變換、局部區域對比度先驗、形狀先驗的顯著性區域提取算法,實驗證明了該算法針對靶紙區域提取是魯棒且快速的。
顯著性區域提取只是找出了圖像中的顯著區域,但是檢測出的顯著區域不一定是靶紙目標。因此,在顯著性區域提取算法后引入多特征匹配的特定目標分類算法。目標之間有兩個明顯的區分特性——目標表面紋理和目標邊界形狀,已提出大量特征描述算子,例如Local Binary Pattern[24],Local Ternary Pattern[25],Histogram of Gradients[26],Histograms of Sparse Codes[27],Haar-like Feature[28]等目標描述算子。為了提高匹配的準確性,我們采用多特征匹配的算法,分別提取顏色特征、邊緣特征和紋理特征,并采用1-范式,將提取的特征與靶紙模板特征進行相似性度量,通過設定固定閾值判斷該候選區域是否為靶紙目標區域。實驗證明了該算法的有效性。
本文提出的算法的流程圖如圖1所示。
圖1 靶紙區域檢測流程圖
基于對靶紙圖像的分析,我們引入兩個屬性定義靶紙顯著目標:
1)靶紙目標總是不同于四周和圖像邊界區域,靶紙紅色區域占據目標主要部分。
2)靶紙目標擁有完整的封閉邊界,并且封閉邊界是正方形,即封閉邊界的周長與面積之比近似于4/a(a為正方形的邊長)。
針對屬性a,我們對圖像邊界連通先驗和局部區域對比度先驗進行量化。屬性b作為靶紙形狀先驗屬性,將其與圖像邊界連通先驗、局部區域對比度先驗結合,進一步提升顯著區域提取的魯棒性。
1.1.1 圖像邊界連通先驗的量化
圖像邊界連通先驗假設大部分背景圖像區域之間能夠很容易地相互連通,而背景區域與顯著目標區域很難連通[29]。換句話說,圖像邊界連通先驗可以作為一種區分顯著性區域和背景區域的判別準則。為了度量圖像邊界連通先驗,我們使用距離變換進行度量。距離變換是一種強有力的圖像幾何分析工具,目標是針對背景種子像素集合計算一張距離圖,距離圖描述圖像中其余像素到圖像邊界的最短距離。換句話說,距離圖反映其余像素與背景像素的相似性。距離變換的定義[29]如定義1。
定義1:
考慮一幅2維單通道數字圖像I,圖像I中的一條路徑p=(p(0),p(1),..,p(k))是一系列像素組成的序列,其中序列中任意相鄰的像素對在圖像I中也是相鄰的。給定路徑損失函數F和背景種子集合S,距離變換轉化為計算距離圖D,以致對于每個像素t而言:
其中:∏S,t是像素t到背景種子集合S的全部路徑。
我們采用Minimum Barrier Distance構造損失函數F,對噪聲和圖像模糊具有魯棒性[21],如式 (2)。
其中:I(·)表示像素的灰度值。由于精確地MBD變換需要窮舉算法實現,計算復雜度高,難以達到實時性。
我們引入 Fast Minimum Barrier Distance變換[21]來計算距離圖D。Fast Minimum Barrier Distance通過正向光柵搜索和反向光柵搜索訪問每個像素x,并用x半鄰域對應的相鄰像素y迭代更新像素x的最小路徑損失D(x)(正向光柵方向x的鄰域范圍為左、上鄰域,反向光柵方向x的鄰域范圍為右、下鄰域),更新公式如式 (3)所示:
其中:p(y)表示像素y到背景種子點集合的路徑。[y,x]表示y到x的邊界路徑,p(y)·[y,x]表示通過[y,x]將路徑p(y)延長至像素點x所形成的新路徑,即像素x到背景種子點的路徑。U(y)和L(y)分別表示路徑p(y)中的最大像素灰度值和最小像素灰度值。因此,通過輔助矩陣U和L為每個像素x跟蹤記錄其路徑p(x)上的最大像素灰度值和最小像素灰度值,能夠快速的計算距離變換圖D。U和L的更新公式如式 (4)所示。
我們首先假設圖像邊界上的若干像素作為背景種子點S,為每個顏色通道使用Fast MBD變換計算MBD距離圖,分別記為DR,DG,DB,然后針對靶紙的顏色特性,給3個距離圖賦予不同的權重累加起來,并做尺度歸一化,形成最后的距離圖D,如式 (5)所示:
1.1.2 局部區域對比度先驗的量化
圖像邊界連通先驗是將圖像邊界視為背景區域。當靶紙部分區域位于圖像邊界上時,會導致提取到的靶紙顯著區域不完整,甚至完全提取不到靶紙顯著區域。為了改善這種情況,引入局部區域對比度先驗作為顯著性區域提取的補充準則。
局部區域對比度先驗是假設如果某一個區域與它相鄰區域可區分,那么該區域就是顯著區域。相鄰區域之間的區分,我們提取它們的HSV直方圖特征和RGB直方圖特征[30],并利用卡方距離進行度量。
因為圖像中的靶紙區域尺寸會隨著拍攝距離的變化而變化,我們并不能事先估計出靶紙在圖像中的大致尺寸。因此,我們利用基于圖論的圖像分割算法[31]對彩色圖像進行處理,形成超像素區域,從而避免區域尺寸選擇問題。同時,為了滿足實時性的需求,我們事先對輸入圖像進行降采樣操作,減少超像素分割過程和顏色統計特征提取過程中處理像素的數量。
其中,aik表示區域rk的面積與ri所有相鄰區域的總面積的比值。
得到每個區域的對比度C(ri)之后,我們將其區域內的所有像素的灰度值都設置為C(ri),并進行尺度歸一化后,得到局部區域對比度圖C。
1.1.3 靶紙形狀先驗的量化
在根據式 (7)結合1.1.1節的距離圖D(p)和1.1.2節的對比度圖C(p)作為最終的顯著圖S(p)時,我們發現在提取到的靶紙顯著區域中可能包含部分背景區域。為了保證后續多特征匹配的準確度,我們需要消除提取到的靶紙顯著區域中包含的背景區域的影響。因此,我們再引入靶紙形狀先驗作為顯著性區域提取的補充準則,更精確提取靶紙顯著區域。
形狀先驗是假設顯著目標是由一條封閉輪廓圍繞,也就是說,顯著值大的像素都位于封閉輪廓內部,顯著值小的像素位于封閉輪廓外部。因此,為了度量形狀先驗,我們將利用邊緣信息和像素顯著值,尋找到一條包含大量高顯著值像素的封閉輪廓B*。
由于靶紙的形狀是封閉的正方形,我們利用Line Segment Detector[32]直線檢測器提取圖像中的所有直線邊緣,形成邊緣圖E。然而,由于在邊緣圖E中存在部分直線不相交的情況,我們在不相交直線對的兩個端點之間添加長度不超過Lmax的補償直線,以用于形成封閉輪廓。假設得到的封閉輪廓表示為B={Bi}Ki=1,K表示圖像中所有封閉輪廓的個數,封閉輪廓Bi包含的補償直線集合表示為Gi={gj}M
j=1,M表示為了形成封閉輪廓Bi所需的補償直線總數量,同時給定通過式 (7)得到的顯著圖S。我們通過式(8)找出封閉輪廓B*。
其中:|Gi|表示為了形成封閉輪廓Bi所需的補償直線的總長度,表示位于封閉輪廓Bi內部的總顯著性值,SBi表示封閉輪廓Bi的面積,PBi表示封閉輪廓Bi的周長,LBi表示封閉輪廓Bi邊長的平均值,γ是一個指定的閾值。實際上是類正方形約束。
用式 (8)得到圍繞靶紙目標的封閉輪廓B*后,為了描述圖像中各個像素點在形狀先驗下的顯著性值,我們可以通過式 (10)得到形狀先驗圖P。
其中:d(p)是像素p與封閉輪廓B*之間的最短空間距離,我們用坐標歐式距離描述。
最后,我們通過式 (11)將1.1.1節的距離圖D(p)、1.1.2節的對比圖C(p)、1.1.3節的形狀先驗圖P(p)結合起來,形成我們提出的顯著圖S(p)。
相比于原始的Fast MBD顯著性方法,由于本文提出的方法通過引入局部區域對比度先驗和靶紙形狀先驗作為顯著區域提取的補償機制,雖然在一定程度上增加了時間開銷,但是顯著提高了位于圖像邊緣區域的靶紙檢測精度。最終算法仍然能夠保證30幀/秒的運行速度,實現實時性。對顯著圖進行尺度歸一化、自適應閾值二值化和形態學處理,對比結果如圖2所示。
由于顯著區域提取算法只是找出了圖像中的顯著區域,但是區域不一定包含靶紙目標,如圖3所示。因此,我們利用多特征匹配算法,通過設定的閾值判斷檢測到的區域是否包含靶紙。
圖2 本文提出的方法與原始Fast MBD顯著區域提取方法對比
圖3 本文提出的顯著區域檢測算法處理類似靶紙區域的結果
目標之間有兩個明顯的區分特性——表面紋理和邊界形狀。同時,目標的顏色特征能作為一種補償特征,進一步提高分類的準確度。因為Discriminative Robust Local Binary Pattern[33]特征已經融合表面紋理信息和邊界形狀信息,所以我們根據靶紙的顏色特性,再引入歸一化RGB顏色直方圖特征[30],將其與DRLBP特征結合共同組成我們需要的最終特征。
1.2.1 歸一化RGB顏色直方圖
我們分離出輸入圖像I的R、G、B三通道,并對3個通道進行式 (12)的灰度歸一化操作。
其中:R*(t)、G*(t)、B*(t)分別為灰度歸一化處理后RGB三通道像素t的灰度值,R(t)、G(t)、B(t)分別為原始RGB三通道像素t的灰度值,Rmin、Gmin、Bmin分別為原始RGB三通道中最小灰度值,Rmax、Gmax、Bmax分別為原始RGB三通道中最大灰度值。
然后,根據式 (13)分別統計RBG三通道灰度直方圖。
其中:HR、HG、HB分別表示RGB三通道的256維直方圖。
將HR、HG、HB三個直方圖依此串接起來,形成RGB直方圖特征HC,一共3*256=768維特征。
1.2.2 DRLBP特征
針對傳統Local Binary Pattern描述子難以區分強、弱局部對比度模式的問題,DRLBP描述子[33]融合邊界形狀信息和表面紋理信息,形成對強、弱局部對比度模式具有高可分性的單一描述。
首先,利用Sobel算子對輸入圖像進行梯度計算,分別得到輸入圖像在x方向和y方向的一階偏導數Ix和Iy,并利用式 (14)計算每個像素的梯度幅值。
再將所有像素t的梯度幅值w(t)用于加權像素對應的LBP編碼。這樣做意味著,如果某像素處于強局部對比度模式中,那么該像素的梯度幅值會很大,作用到其對應LBP編碼上的權重也就會很大,而對于弱局部對比度模式而言,情況恰恰相反。所以,通過融合梯度幅值和LBP紋理描述,能夠形成對強、弱局部對比度模式具有高可分性的描述子。
DRLBP計算如式 (15):
其中:N為輸入圖像總像素個數,w(t)表示像素t的梯度幅值,LBP(t)表示像素t的LBP編碼。我們用以像素t為中心,3x3大小的區域計算LBP編碼,因此B=8,再對LBP進行規范化處理[34],最終形成60維DRLBP特征。
將1.2.1節中的顏色直方圖HC特征和1.2.2節中的DRLBP特征串接起來,形成768+60=828維特征F。
假設標準靶紙特征為dm,待匹配的目標特征為d*,我們利用1-范式進行相似性度量,如式 (16)所示。
再將 (16)得到的SimVal與設定的閾值η進行比較,判斷目標是否為靶紙。
針對實際應用中靶紙所處的不同環境,我們用相機捕獲400張包含靶紙區域的尺寸為640*480圖像作為測試數據集a,并手動標記測試數據集中靶紙區域的真實位置。為了評估改進Fast MBD顯著區域提取算法的性能,我們利用Precision評價指標、Recall評價指標、算法處理時間指標,將其與原始Fast MBD變換顯著區域檢測算法[21]進行比較。改進Fast MBD變換顯著區域檢測算法和原始Fast MBD變換顯著區域檢測算法都采用C++語言和OpenCV庫實現,并在CPU主頻為1.8 GHz、內存為2 GB的華為海思平臺上運行。
假設從測試數據集a中分離出的400張靶紙圖像是數據集c,為了證明多特征匹配算法的有效性,我們從數據集c中隨機抽取200張靶紙圖像,將其與ImageNet的訓練數據集進行合并,形成訓練數據集a。然后,我們將數據集c中剩余的200張靶紙圖像與ImageNet的測試數據集合并,形成測試數據集b,通過Precision評價指標、Recall評價指標、算法處理時間指標對多特征匹配算法進行評估。我們將圖像尺寸都縮放為64*64大小。多特征匹配算法采用C++語言和OpenCV庫實現。
我們針對光照變化問題、小對比度問題、目標旋轉問題和目標尺度縮放問題,將改進Fast MBD變換顯著區域檢測算法與原始Fast MBD變換顯著區域檢測算法進行對比。部分對比實驗結果如圖4所示。從圖4中,我們可以看出本文提出的改進Fast MBD顯著區域檢測算法在一定程度上解決了光照變化、小對比度、目標旋轉和目標尺度縮放問題。
2.2.1 Precision評價指標與Recall評價指標
Precision評價指標和Recall評價指標計算公式如 (17)所示。
圖4 改進Fast MBD變換顯著區域檢測算法和原始Fast MBD變換顯著
其中:TP是正確分類的正樣本數,FP是被錯誤標記為正樣本的負樣本數,FN是被錯誤的標記為負樣本的正樣本數。
分別使用改進Fast MBD變換顯著區域檢測算法和原始Fast MBD變換顯著區域檢測算法批處理測試數據集a。在得到所有圖像的顯著圖后,再進行自適應閾值分割和形態學操作,得到對應的二值圖。然后,利用所有二值圖上的所有像素分類 (灰度值為255的像素為前景,灰度值為0的像素為背景)計算Precision評價指標與Recall評價指標。
兩個對比算法的Precision評價指標和Recall評價指標如表1所示,部分處理結果對比如圖2所示。
表1 兩個顯著區域檢測算法的Precision、Recall評價指標
從表1可以看到,針對測試數據集a,改進Fast MBD變換顯著區域檢測算法提出的算法在Precision指標和Recall指標上優于原始Fast MBD變換顯著區域檢測算法。由于局部區域對比度先驗的引入,在一定程度上對原始Fast MBD顯著區域檢測算法得到的像素顯著性值進行完善補充,進一步在背景中突出目標區域,從而改善了當靶紙位于圖像邊界時顯著區域缺失情況和目標與背景對比度小時導致的顯著區域缺失情況。同時,我們引入形狀先驗,通過尋找包含大量大顯著值的封閉輪廓,進一步確定顯著目標的位置,使得算法能夠更有效地提取出類正方形區域。
2.2.2 算法處理時間
為了測試算法處理時間,在CPU主頻為1.8 GHz,內存為2 GB的華為海思平臺上進行實驗。對測試數據集a,進行批處理,統計平均處理時間,如表2所示。
表2 兩個顯著區域檢測算法的平均處理時間
因為我們引入了局部區域對比度先驗和形狀先驗,所以在一定程度上增加了時間開銷,但是提出的算法仍能保證30幀/s的運行速度。
我們利用多特征匹配算法批處理訓練數據集a,將得到的一系列特征與預存的靶紙模板特征進行式 (16)相似性度量。通過對相似性度量結果的統計,發現為了平衡Precision和Recall參數,多特征匹配算法中的分類閾值η應該設置為5.0。
我們在η=5.0的情況下,對測試數據集b進行處理,對處理結果進行統計,分別計算Precision、Recall、平均處理時間,如表3所示。
表3 多特征匹配算法性能指標
由于我們將靶紙圖像的顏色特征、紋理特征和邊緣特征進行組合,形成了一種在靶紙與其他目標之間具有高可分性的新特征。通過設定相似性度量閾值,多特征匹配算法能夠達到令人滿意的性能。通過表3實驗結果所示,足以證明本文提出的多特征匹配算法的快速、有效性。
針對測試數據集a,我們把本文提出的靶紙目標檢測算法與[2]、[4]的算法進行比較,分別統計Precision指標和Recall指標,如表4所示。
表4 三種靶紙區域檢測算法的性能比較
由于本文提出的靶紙區域檢測算法不但考慮了靶紙本身的顏色特征和形狀特征,而且從低層次特征出發考慮了靶紙目標與周圍背景環境的差異性,實現了從多個方面定義靶紙目標,從而對光照變化、對比度變化和拍攝角度變化具有一定程度的魯棒性。同時,通過組合靶紙的顏色特征、紋理特征和邊緣特征,形成了對靶紙目標具有高可分性的新特征,該特征對于光照變化、對比度變化和旋轉變化也具有一定程度的魯棒性,因此,將兩者進行組合一定能夠得到相比于只考慮靶紙形狀特征和顏色特征的傳統靶紙區域檢測算法更好的性能。從表4中可以看出,本文提出的靶紙區域檢測算法遠優于傳統靶紙區域檢測算法,進一步證明該算法的有效性。
本文針對靶紙的顏色和形狀特性,在圖像邊界連通先驗的基礎上,再引入局部區域對比度先驗和形狀先驗,改進原始的Fast MBD變換顯著性區域檢測的結果。同時,為了判斷檢測到的區域是否包含靶紙,我們引入多特征匹配算法,利用顏色直方圖特征和DRLBP特征與預存的靶紙模板特征進行相似性度量。實驗結果證實了本文提出的算法有效且實時,在一定程度上解決了光照條件變化、對比度變化和拍攝角度變化對靶紙區域檢測精度的影響。接下來的工作,是在算法上進行進一步的優化,即提高算法精度,又要保證實時性。