孟 燦,鄒細勇,王國建
(中國計量學院 光學與電子科技學院,浙江 杭州 310018)
基于全方位視覺的移動機器人運動目標檢測
孟 燦,鄒細勇,王國建
(中國計量學院 光學與電子科技學院,浙江 杭州 310018)
針對移動機器人動態背景下運動目標的檢測,提出一種基于全方位視覺的檢測算法。首先,改進了SIFT算法中的特征點提取方法,在將圖像劃分為若干網格后,再根據特征點所在位置的局部區域熵對每個網格中的候選特征點進行篩選;其次,在SIFT點匹配后采用RANSAC算法去除誤匹配點,以提高背景補償的精度;最后用幀差法檢測出運動目標。實驗表明,該算法減少了SIFT點的獲取時間,并具有良好的魯棒性,能準確地在機器人運動過程中檢測出運動目標。
動態背景;全方位視覺;SIFT;局部區域熵;背景補償
全方位攝像機可以獲取水平360°的場景圖像,因此,全方位攝像機應用在移動機器人平臺上有著重要意義。但是,由于攝像機的運動會使背景發生相應的運動,導致從動態背景中分割出運動目標變得很困難。在這種情況下,幀差法[1]得到的運動不僅包括運動目標的運動,還包括了背景的運動。因此,需要對圖像的背景進行補償,以消除背景運動,這樣就能檢測出運動目標[2]。
針對全方位視覺動態背景下的運動目標檢測的研究,文獻[3]提出了一種基于全方位視覺的移動機器人運動目標檢測算法,該算法首先把全方位圖像還原為符合人類視覺習慣的全景圖像,然后獲得全景圖像的角點,再運用Kanade-Lucas-Tomasi(KLT)光流法跟蹤角點,根據仿射變換模型完成背景補償,最后再通過幀差法得到運動目標。但是,全方位圖像和全景圖像都存在幾何畸變[4],雖然角點具有旋轉不變和縮放不變等優良性質,但還是不能很好地描述全方位圖像和全景圖像的圖像特征。同時,KLT光流法對光照十分敏感,會影響背景補償的精度。為解決全景圖像幾何畸變造成的背景補償不準確的問題,文獻[5]提出一種改進的算法,該算法把全景圖像均勻劃分為若干方格,每個方格代表一個像素塊,然后用稠密光流跟蹤每個像素塊,每個像素塊都應用一個仿射變換模型來補償該像素塊的運動,最后再進行差分。該算法在目標檢測的精度上得到了提高,但是,運用稠密光流進行跟蹤,同時在一幅全景圖像上運用多個仿射變換模型,使該算法的實時性降低。
為解決以上問題,本文提出了一種新的基于全方位視覺的移動機器人運動目標檢測算法,該算法采用魯棒的SIFT特征點匹配算法求解全局運動參數,完成背景補償。SIFT算法能較好地解決由旋轉縮放、視點變化、光照變化引起的圖像變形等問題[6],因此,SIFT算法可以更好地提取存在畸變的全方位圖像的局部不變特征。但由于經典的SIFT算法會產生大量的冗余特征點,且特征點分布不均勻,算法實時性低[7],因此,本文提出了一種改進的SIFT算法,該算法把圖像劃分為若干網格,對每一網格中的所有候選特征點,計算其所在位置的局部區域熵,根據熵值的大小,將候選特征點進行由大到小的排序,選取前n個作為該網格的最終特征點,然后確定網格內最終特征點的主方向,并生成特征描述符。
本文算法流程如圖1所示。

圖1 算法流程圖
1)全局運動估計:首先,運用改進的SIFT算法提取全方位圖像的特征點,通過特征匹配算法獲得匹配的特征點對;然后,引入RANSAC算法來去除誤匹配點;最后,對剩余的匹配特征點利用最小二乘法求解仿射變換參數。
2)背景補償:根據求解的仿射變換模型參數,運用雙線性插值算法,完成背景補償。
3)運動目標檢測:在背景補償后,運用幀差法,并結合二值化和形態學處理得到運動目標。
2.1 全局運動估計
2.1.1 SIFT算法
SIFT算法[8]是由David G. Lowe提出的尺度不變特征變換算法。SIFT算法步驟如下:
1) DOG尺度空間極值檢測
一幅圖像的尺度空間L(x,y,σ),定義為原圖像I(x,y)與高斯函數G(x,y,σ)的卷積運算,公式為

(1)
DOG(DifferenceofGaussian)圖像是由不同尺度高斯差分核與圖像卷積得到的,公式為
D(x,y,σ)= [G(x,y,kσ)-G(x,y,σ)]*I(x,y)=
L(x,y, kσ)-L(x,y,σ)
(2)
將DOG尺度空間的每個點與上下相鄰尺度圖像的26個近鄰像素進行比較,確定局部極值作為候選特征點。
2)精確定位特征點
首先,通過擬合三維二次函數來精確定位特征點的位置和尺度,即對泰勒二次展開式(3)求極值,同時在計算過程中進行修正,去除對比度較低的不穩定極值點。
(3)
然后,利用Hessian矩陣的跡與行列式的比值去除不穩定的邊緣響應點。
3) 計算特征點鄰域梯度的大小和主方向
在以特征點為中心的鄰域窗口中,對每個像素點進行梯度模值和方向計算,公式為
(4)
同時,用直方圖統計鄰域像素的梯度方向,直方圖的峰值就代表了特征點的主方向。
4)生成特征描述子
將特征點的鄰域按其主方向進行旋轉,以保證描述子的旋轉不變性。然后以特征點為中心,取16×16的窗口,將其劃分為4×4個子區域,對每個子區域按8個角度方向,計算該子區域的梯度方向直方圖,得到4×4×8=128維SIFT特征向量。
2.1.2 改進SIFT算法
本文改進的SIFT算法根據全方位圖像的成像特點對SIFT點的分布區域進行了限制。同時,針對經典SIFT算法存在的特征點數量多、分布不均勻、實時性低等問題進行了改進,改進SIFT算法將圖像劃分為若干網格,并根據網格中所有候選特征點所在位置的局部區域熵,對特征點進行篩選,以限制特征點的數量,并使特征點均勻分布。
由于全方位攝像機采集到的圖像中并不是所有的像素都代表外界環境,全方位攝像機的一部分結構和移動機器人也會出現在圖像中,但是它們的運動與全方位攝像機的運動一致,因此,它們在圖像中的位置一直是固定不變的。在這些區域提取的SIFT點并不能代表外界環境的運動,會造成背景補償精度的下降,因此,需要對特征點的分布區域進行限制。如圖2所示,全方位圖像中區域1和區域3在圖像中是固定不變的,只有區域2才代表外界環境的運動。因此,需要剔除在區域1和區域3提取到的SIFT點。這樣不僅可以減少特征點的數量,而且可以提高背景補償的精度。

圖2 全方位圖像
經典SIFT算法把整個尺度空間搜索到的極值點都作為關鍵點,故產生大量的冗余特征點。由于信息量能很好地評價特征點的特殊性[9-10],故本文采用特征點所在位置的局部區域熵對特征點進行進一步篩選,降低經典SIFT算法的冗余性,提高運算速度。同時,經典SIFT算法可能會在局部區域產生特征點聚簇現象,使特征點分布不均勻,這可能會造成特征點的誤匹配。基于此,本文將圖像劃分為若干網格,并根據每個網格內所有候選特征點所在位置的局部區域熵值的大小,選取前n個特征點作為該網格的最終特征點。
特征點所在位置的局部區域熵的公式定義如下
在某些發達國家,水果大約有90%以上、蔬菜約有70%是經運輸后進入銷售環節。近年來,隨著我國商品經濟的飛速發展,果蔬運輸也受到了前所未有的重視。
(5)
式中:k=255;pm表示局部區域中灰度為m的像素出現的概率。
改進SIFT算法流程如下:
1)DOG尺度空間極值檢測。
2)精確定位特征點。
3)剔除全方位圖像中位于區域1和區域3中的候選特征點。
4)將圖像劃分為若干網格,根據式(5),計算每個網格內所有候選特征點所在位置的局部區域熵,并根據熵值的大小,對候選特征點進行由大到小的排序,選取前n個作為該網格的最終特征點。
5)計算特征點鄰域梯度大小和主方向。
6)生成特征描述子。
2.1.3 SIFT特征匹配
SIFT特征匹配算法采用SIFT特征向量的歐氏距離作為2幅圖像中SIFT特征點的相似性判定度量,將具有最小歐氏距離的2個特征點匹配起來。算法采用優先k-d樹近似的BBF(Best Bin First)搜索算法,快速搜索每個特征點在另一幅圖像中對應的最近鄰特征點和次近鄰特征點,計算該特征點與最近鄰點和次近鄰點的歐氏距離,當二者的比值小于閾值Td,則接受該匹配點對,否則,丟棄。
2.1.4 RANSAC參數估計


(6)

根據式(6)可知,要得到仿射變換參數,理論上只需要3對匹配特征點就可以。但是,由于錯誤匹配點的存在,因此在求解過程中需要的特征點的對數要多于3個,本文利用RANSAC算法進一步去除誤匹配特征點對,然后,根據剩余的匹配特征點對,利用最小二乘法求解仿射變換參數。
2.2 背景補償和幀間差分
根據求得的仿射變換參數對前一幀圖像進行背景補償,但根據式(6)得到的坐標不一定是整數,因此采用雙線性插值算法完成背景補償。假設f1(x,y)為參考幀圖像,f2(x,y)為當前幀圖像,對f1(x,y)進行背景補償得到圖像f1′(x,y),將f1′(x,y)與f2(x,y)相減,通過設置閾值T,得到運動目標的二值圖像D(x,y),即

(7)
然后,對二值圖像D(x,y)進行形態學處理,經過腐蝕和膨脹操作后,可以填補輪廓斷裂,消除小的空洞,并可以消除噪聲點,最終得到運動目標。
為了驗證本文改進算法的有效性,利用安裝有全方位攝像機的旅行家II號機器人采集到的視頻序列進行仿真。實驗視頻分辨率為640×480,實驗環境為在PC(IntelCorei3CPU2.53GHz,1.8Gbyte內存)機上利用OpenCV和VisualC++6.0進行實驗。
針對采集到的圖像,進行經典SIFT算法與改進SIFT算法的比較實驗,本文中改進SIFT算法把圖像分為20×20個網格,取n=1,實驗結果如圖3和圖4所示。
圖3中特征點的數目為1 149,圖4中特征點的數目為188。從圖中可以得知,改進的SIFT算法不僅減少了SIFT特征點的數量,而且使特征點的分布趨于均勻,避免了SIFT點過度集中,去除了冗余的SIFT點,同時大大縮短了程序運行的時間。表1中列出了經典SIFT算法和改進SIFT算法在特征點數量和程序運行時間方面的比較。

圖3 經典SIFT算法特征點檢測結果

圖4 改進SIFT算法特征點檢測結果

表1 經典SIFT算法與改進SIFT算法運行時間與特征點數量比較
圖5為SIFT點匹配初始結果,可以看出里面存在一些錯誤的匹配點。圖6為RANSAC算法篩選過的SIFT點匹配結果,可以看出消除了錯誤匹配點。

圖5 SIFT點匹配初始結果
為驗證本文提出的基于全方位視覺的移動機器人運動目標檢測算法的有效性,拍攝了檢測行人的視頻序列。實驗結

圖6 RANSAC處理后的SIFT點匹配
果如圖7所示,幀間差分閾值T=12。

圖7 運動檢測結果
圖7a和圖7b是采集到的視頻序列的第221幀和222幀,圖7c是直接采用幀差法并經二值化后得到的檢測結果,可以看出大量背景被泄漏。圖7d是第221幀圖像經背景補償后得到的圖像,圖7e是經背景補償后的幀差結果,可以看到大部分的背景已經被消除。圖7f是圖7e經過二值化和形態學處理后得到的結果,與圖7c相比較,可以看出圖7c中殘留的背景和噪聲已經完全消除,檢測出了輪廓清晰、完整的運動目標。
本文提出了一種基于全方位視覺的移動機器人運動目標檢測算法。采用了改進的SIFT算法提取特征點,該算法約束了特征點的數量,剔除了冗余的特征點,且使特征點均勻分布。同時,使該算法的實時性得到了明顯提高。然后利用RANSAC算法去除誤匹配特征點,提高背景補償精度。實驗結果表明,該算法應用在全方位視覺系統中,可以在動態背景中準確地檢測出運動目標,證明了算法的有效性。
[1]欒慶磊,趙為松. 動背景下幀差分法與邊緣信息融合的目標檢測算法[J].光電工程,2011,38(10):77-83.
[2]武艷美,肖陽輝. 基于特征點匹配的全局運動估計[J].計算機工程,2011,37(22):148-150.
[3]LIUH,DONGN,ZHAH.Omni-directionalvisionbasedhumanmotiondetectionforautonomousmobilerobots[J].SystemsMan.andCybernetics,2005(3):2236-2241.
[4]張帆,朱齊丹,徐光. 基于前向映射的全景視覺圖像解算方法[J].光電工程,2009(1):19-25.
[5]OH C M,LEE Y C,KIM D Y,et al. Moving object detection in omnidirectional vision based mobile robot[J].IEEE Industrial Electronics Society,2012(12):4232-4235.
[6]馮政壽,王美清. 基于Harris與改進SIFT算法的圖像匹配算法[J].福州大學學報:自然科學版,2012,40(2):176-180.
[7]付永慶,宋寶森,吳建芳.邊緣分類SIFT算法[J].哈爾濱工程大學學報,2010,32(5):632-636.
[8]LOWE D. Distinctive image features from scale-invariant interest points[J].International Journal of Computer Vision,2004,60(2):91-100.
[9]SCHMID C,MOHR R,BAUCKHAGE C. Evaluation of interest point detectors[J]. Int. J. Comput. Vis.,2000,37(2):151-172.
[10]SEDAGHAT A,MOKHTARZADE M,EBADI H. Uniform robust scale-invariant feature matching for optical remote sensing images[J].IEEE Trans. Geoscience and Remote Sensing,2011,49(11):4516-4527.
孟 燦(1989— ),碩士生,主研圖像處理、機器視覺、模式識別;
鄒細勇(1979— ),博士,副教授,碩士生導師,主要研究方向為機器人導航、計算機控制、智能照明系統;
王國建(1990— ),碩士生,主研ZigBee無線通信。
責任編輯:任健男
Moving Object Detection in Omnidirectional Vision Based Mobile Robot
MENG Can, ZOU Xiyong, WANG Guojian
(CollegeofOpticalandElectronicTechnology,ChinaJiliangUniversity,Hangzhou310018,China)
According to the detection of moving object based on mobile robot under dynamic background, an algorithm of detection based on omnidirectional vision is proposed. The method of extracting feature points is improved in the SIFT algorithm. After dividing the image as grid cells, the feature points of each grid cell are selected according to the entropy of local region around the feature point. Then after matching SIFT points, it employs RANSAC algorithm eliminate the mismatching points to improve the accuracy of the background compensation. Finally, frame difference method is used to detect the moving object. Experimental results show that with a better robustness, the proposed algorithm decreases the time of extracting feature points and it can detect the moving object while robot is moving.
dynamic background; omnidirectional vision; SIFT; entropy of local region; background compensation
浙江省重點科技創新團隊項目(2010R50020);國家自然科學基金項目(50905170;61007012)
TN911.73
A
10.16280/j.videoe.2015.01.030
2014-08-02
【本文獻信息】孟燦,鄒細勇,王國建.基于全方位視覺的移動機器人運動目標檢測[J].電視技術,2015,39(1).