胡 攀,吳裕斌,曹丹華
(華中科技大學(xué)光學(xué)與電子信息學(xué)院,湖北武漢 430074)
?
機(jī)器人抓取中的圖像特征點(diǎn)提取算法及DSP實(shí)現(xiàn)
胡 攀,吳裕斌,曹丹華
(華中科技大學(xué)光學(xué)與電子信息學(xué)院,湖北武漢 430074)
在視覺引導(dǎo)的機(jī)器人抓取技術(shù)中,需要快速提取不同視角圖像的特征點(diǎn)集,實(shí)現(xiàn)基于特征的姿態(tài)估計(jì)。傳統(tǒng)的特征點(diǎn)提取算法十分耗時(shí),并難以在基于DSP的嵌入式圖像處理平臺(tái)上實(shí)現(xiàn)。針對(duì)工業(yè)應(yīng)用場(chǎng)景,提出了一種基于簡(jiǎn)化SURF和不變矩的特征點(diǎn)提取算法,引入了一個(gè)4維的局部不變矩作為特征描述子。算法針對(duì)DSP平臺(tái)進(jìn)行了優(yōu)化,測(cè)試達(dá)到了7幀/s的運(yùn)行速度,并滿足一定程度的光照和仿射不變性。
特征點(diǎn)提取;機(jī)器人抓取;嵌入式平臺(tái);局部不變矩;光照不變性;仿射不變性
視覺伺服系統(tǒng)中,固定眼引導(dǎo)的機(jī)器人在抓取流水線上目標(biāo)物體時(shí),需要對(duì)不同視角多相機(jī)所拍攝物體圖像的特征點(diǎn)集進(jìn)行匹配。然而,視角的不同使得物體表面產(chǎn)生了光照變化和仿射形變,提取滿足一定光照和仿射不變性的特征點(diǎn)集,是后續(xù)特征匹配和姿態(tài)估計(jì)成功的關(guān)鍵。
特征點(diǎn)提取算法包括特征點(diǎn)定位和特征點(diǎn)鄰域描述兩個(gè)步驟。SIFT[1]通過高斯金字塔實(shí)現(xiàn)了尺度不變的特征點(diǎn)定位,并使用梯度直方圖對(duì)每個(gè)特征點(diǎn)構(gòu)建了一個(gè)128維的描述子。SURF[2]通過模板縮放取代圖像縮放實(shí)現(xiàn)了快速金字塔構(gòu)建,并采用Haar小波對(duì)每個(gè)特征點(diǎn)進(jìn)行了64維的描述。還有ASIFT[3],PCA-SIFT[4],Harris-Affine[5]等。這些算法都具備復(fù)雜的特征點(diǎn)定位過程和高維度的特征描述子,雖然對(duì)復(fù)雜圖像具備較好的魯棒性,卻難以滿足工業(yè)應(yīng)用的速度要求,并難以在基于DSP的嵌入式圖像處理平臺(tái)實(shí)現(xiàn)。
為了在DSP上實(shí)現(xiàn)工業(yè)場(chǎng)景圖像的快速魯棒的特征點(diǎn)提取,在特征點(diǎn)定位過程中使用了簡(jiǎn)化的SURF算法:僅使用3層相互間具有較大尺寸變化的模板,保證了一定的尺度不變性。同時(shí),將本來用于描述全局圖像的不變矩用于局部的特征點(diǎn)鄰域描述中,在Jan Flusser不變矩[6]的基礎(chǔ)上引入局部光照變化模型和高斯權(quán)重來保證光照和仿射不變性,最終構(gòu)建了一個(gè)僅有4維的描述子,極大地減少了運(yùn)算量。最后,針對(duì)DSP平臺(tái)進(jìn)行了軟件編碼、編譯器、硬件等多個(gè)層次的優(yōu)化。通過對(duì)不同視角的真實(shí)圖像和模擬圖像進(jìn)行實(shí)驗(yàn),驗(yàn)證了光照和仿射不變性,并測(cè)得算法速度相比PC有1倍的提升,能夠達(dá)到機(jī)器人抓取中的速度和精度要求。
固定眼機(jī)器人系統(tǒng)對(duì)目標(biāo)物體采用會(huì)聚式拍攝。多目相機(jī)中一個(gè)為主相機(jī),其余為從相機(jī)。各個(gè)相機(jī)計(jì)算出自身拍攝圖像的特征點(diǎn)集,經(jīng)過總線傳輸?shù)街飨鄼C(jī)中進(jìn)行特征匹配,結(jié)合多相機(jī)標(biāo)定所得的內(nèi)外參數(shù),獲取物體深度信息后,便能實(shí)現(xiàn)目標(biāo)物的姿態(tài)估計(jì)(F矩陣),從而引導(dǎo)機(jī)械手臂進(jìn)行抓取。系統(tǒng)示意圖如圖1所示。
圖1 系統(tǒng)原理圖
圖2 DSP嵌入式圖像處理平臺(tái)硬件框圖
圖1中相機(jī)均為基于DSP的嵌入式圖像處理平臺(tái),如圖2,平臺(tái)由圖像采集、圖像處理、相機(jī)監(jiān)控3個(gè)部分組成。
高速面陣CCD采集圖像信息,經(jīng)A/D轉(zhuǎn)換成一定格式的數(shù)字信號(hào)送到DSP中處理;FPGA為CCD及系統(tǒng)提供控制時(shí)序;DDR2(128 M)及NAND FLASH(64 M)為系統(tǒng)提供必要的存儲(chǔ)空間;PC及基于C8051F040的顯示控制終端進(jìn)行相機(jī)參數(shù)設(shè)定和運(yùn)行狀態(tài)監(jiān)控。DSP在圖像處理完成后,輸出結(jié)果圖像及控制信號(hào),控制機(jī)械手臂抓取。
系統(tǒng)選用的TMS320DM6437型DSP是一款專門用于高速圖像處理的定點(diǎn)媒體處理器,主頻最高700 MHz,內(nèi)部包括8個(gè)可并行運(yùn)算的功能單元。系統(tǒng)將其主頻配置為597 MHz,并分配了80 K的IRAM和48 K的L1DSRAM。
對(duì)于機(jī)器人抓取中的特征點(diǎn)提取算法,為了提高精度,需要盡可能保證不同視角圖像的特征點(diǎn)集具備較高重合率,減少描述子受光照和仿射形變的影響;為了提高速度,需要簡(jiǎn)化特征點(diǎn)定位過程,降低描述子維度,減少后續(xù)運(yùn)算量。
3.1 仿射變換模型
由于相機(jī)與空間物體的相對(duì)視角變化,物體表面各局部平面在成像時(shí)會(huì)產(chǎn)生形變,這種形變滿足仿射變換模型。變換公式為
f(x,y)=f′(a11x+a12y+b1,a21x+a22y+b2)
(1)
經(jīng)過SVD分解為
(2)
如圖3所示,u為物平面;ψ為鏡頭的軸向轉(zhuǎn)動(dòng)角;θ為鏡頭光軸與物平面法線夾角,即經(jīng)度角,其中,t=1/cosθ;φ為物平面法線與鏡頭光軸所成平面與豎直平面夾角,即緯度角;λ為縮放帶來的系數(shù);|A|=a11a22-a12a21,為具體縮放值;dx=b1/|A|為x方向位移;dy=b2/|A|,為y方向位移。
圖3 仿射變換模型
3.2 特征點(diǎn)定位
如式(3)所示,傳統(tǒng)SURF算法尋找尺度空間Hessian行列式的極大值點(diǎn)作為特征點(diǎn),通過不同尺寸的盒子濾波器對(duì)圖像進(jìn)行濾波并構(gòu)建金字塔。常用的濾波器尺寸組合為:第一組(9,15,21,27),第二組(15,27,39,51),第三組(27,51,75,99),如此這樣,至少3組。
(3)
然而,在機(jī)器人抓取場(chǎng)景中,不同視角相機(jī)所拍攝的圖像尺寸相同,相機(jī)離物體的距離也基本一致。這樣不論是圖像還是物體本身,都不存在特別明顯的尺度變換。于是,僅使用尺寸為15、27、51的3個(gè)濾波器進(jìn)行運(yùn)算,在構(gòu)建金字塔時(shí),既可以保證尺度空間的跨度,也能較使用多組多層濾波器在速度上成幾倍的提升。
同時(shí),抓取場(chǎng)景中的圖像存在背景單一的特點(diǎn),特征點(diǎn)會(huì)集中于作為圖像前景的目標(biāo)物體表面上。通過圖像二值化將前景標(biāo)出,在進(jìn)行尺度空間Hessian極大值判定時(shí),僅針對(duì)前景像素點(diǎn)進(jìn)行特征點(diǎn)判定;并對(duì)每個(gè)檢測(cè)出的特征點(diǎn),標(biāo)記其鄰域點(diǎn)為非特征點(diǎn),下次遍歷時(shí)直接跳過這些標(biāo)記點(diǎn),這樣在極大值檢測(cè)時(shí),又減少了大量運(yùn)算量。
3.3 特征點(diǎn)鄰域描述
傳統(tǒng)的特征點(diǎn)提取算法使用梯度直方圖或者Haar小波進(jìn)行鄰域描述,它們具備很高的維度,并需要計(jì)算鄰域的主方向來保證旋轉(zhuǎn)不變性。不變矩[7]能通過計(jì)算全局的灰度分布特征來降低維度并避免旋轉(zhuǎn)運(yùn)算[8-9],其一般是對(duì)整幅圖像進(jìn)行不同階數(shù)的積分。通過構(gòu)造具備一定仿射不變性的積分鄰域,并推導(dǎo)具備光照和仿射不變性的不變矩,便可將不變矩用于局部域中,得到低維且有效的特征描述子。
離散狀態(tài)下,對(duì)于灰度分布為f(x,y),大小M×N(寬×高)的圖像,其(p+q)階矩定義為
(4)
(p+q)階中心矩定義為
(5)
在式(1)的基礎(chǔ)上,引入局部光照變化模型,假設(shè)特征點(diǎn)鄰域內(nèi)灰度變化為
f(x,y)=cf′(a11x+a12y+b1,a21x+a22y+b2)+ε
(6)
然后,在特征點(diǎn)描述時(shí),將不變矩的積分域換為以特征點(diǎn)為圓心的固定大小的圓形鄰域,這樣在圖像軸向旋轉(zhuǎn)情況下特征點(diǎn)鄰域?qū)⒈3植蛔?。圓形鄰域半徑為
(7)
式中:Spre為前景圖像面積,在機(jī)器人抓取場(chǎng)景中,前景即為目標(biāo)物體;N為圖像中提取的特征點(diǎn)數(shù)目。
同時(shí),引入高斯積分權(quán)值來減小仿射變換時(shí)圖像局部形變對(duì)圓形模板積分域的影響,見式(8):
(8)
如此,將式(4)、式(5)分別修正為式(9)、式(10):
(9)
(10)
這樣便消除了b1,b2及ε因子。然后在Jan Flusser仿射不變矩的基礎(chǔ)上消除c因子,可以得到如下4個(gè)光照和仿射不變矩:
(11)
(12)
(13)
(14)
3.4 算法總體框架
算法對(duì)灰度圖像進(jìn)行運(yùn)算,步驟見圖4。為了降低輸入圖像噪聲,在特征點(diǎn)提取前,對(duì)圖像進(jìn)行了高斯濾波;為了提取響應(yīng)突出且穩(wěn)定的點(diǎn),同時(shí)也減少后續(xù)特征點(diǎn)鄰域描述的運(yùn)算量,對(duì)空間極大值檢測(cè)出的點(diǎn)進(jìn)行閾值處理:去掉響應(yīng)值小于200的特征點(diǎn),并去掉|Lxx(x,y,σ)/Lyy(x,y,σ)|及|Lxx(x,y,σ)/Lyy(x,y,σ)| 的值大于10的點(diǎn);為了證明提取的特征點(diǎn)集準(zhǔn)確有效,算法后續(xù)進(jìn)行了兩幅不同視角圖像的特征點(diǎn)集匹配,通過匹配的準(zhǔn)確性來衡量光照和仿射不變性:先基于歐氏距離進(jìn)行樸素模式匹配,然后使用RANSA算法[10]進(jìn)行匹配校正,最終得出兩幅圖像的仿射變換矩陣。
圖4 算法框圖
3.5 算法的DSP實(shí)現(xiàn)
(1) 將浮點(diǎn)數(shù)據(jù)轉(zhuǎn)為定點(diǎn)數(shù)據(jù),盡量使用位運(yùn)算;
(2) 使用TI的intrinsic operations,盡量采用SIMD指令;
(3) 開啟-o3選項(xiàng),優(yōu)化軟件流水線;
(4) 查看asm文件,迭代進(jìn)行上述3步驟直到耗時(shí)收斂;
(5)使用DMA實(shí)現(xiàn)高速數(shù)據(jù)搬運(yùn)和圖像采樣;
(6)開啟Cache并分配頻繁訪問變量到IRAM。
實(shí)驗(yàn)使用圖2所示平臺(tái)拍攝了3組不同物體(卷筆刀、遙控器、工字型工件)的灰度圖像,分辨率為640×480。首先對(duì)每個(gè)物體采集了10張不同光照強(qiáng)度下的圖像及45張不同空間姿態(tài)的圖像,然后對(duì)原圖進(jìn)行人為仿射變換來獲取模擬圖像。如圖5所示,依次為光照強(qiáng)、光照弱、視角變換和模擬變換4種圖像示例。
圖5 實(shí)驗(yàn)測(cè)試圖片示例
4.1 光照不變性實(shí)驗(yàn)
為驗(yàn)證特征點(diǎn)集具備光照不變性,對(duì)圖5中不同光照強(qiáng)度的圖像進(jìn)行特征點(diǎn)集匹配,將匹配點(diǎn)和真實(shí)點(diǎn)的像素坐標(biāo)距離小于一定閾值(實(shí)驗(yàn)選用像素距離4作為閾值)的點(diǎn)視為正確匹配,得到算法在光照變化下的匹配情況。如圖6所示,橫坐標(biāo)代表光照強(qiáng)度的變換(以圖像全局灰度中值變化的百分比來表示),縱坐標(biāo)代匹配分?jǐn)?shù)百分比??梢钥闯?,在整幅圖像灰度中值變化-40%~40%的范圍內(nèi),算法提取的特征點(diǎn)集達(dá)到了85%以上的匹配分?jǐn)?shù)。
圖6 光照變化下的匹配分?jǐn)?shù)
4.2 仿射不變性實(shí)驗(yàn)
由2.1節(jié)可知,仿射變換由仿射變換矩陣唯一表示。通過分解仿射矩陣可以得到物理意義上對(duì)應(yīng)的6個(gè)參數(shù):ψθ,φ, |A|,dx,dy。由于SVD的分解不唯一,只有單一參數(shù)變換下才可以由仿射變換矩陣逆推出唯一的參數(shù)。為驗(yàn)證特征點(diǎn)具備仿射不變性,對(duì)原圖使用只包含單一變化參數(shù)的仿射變換來生成模擬圖。將模擬圖和原圖匹配得出仿射矩陣,并從中解析出變換參數(shù)值,和真實(shí)值進(jìn)行誤差比較,便可得到誤差情況。圖7表示3個(gè)旋轉(zhuǎn)角度的絕對(duì)誤差,圖8表示縮放系數(shù)的相對(duì)誤差。由于平移情況下模擬圖像和原圖的匹配精度很高,誤差基本為零,故沒有給出圖片。
圖7 旋轉(zhuǎn)變換下各旋轉(zhuǎn)角度的絕對(duì)誤差
圖8 縮放變換下的相對(duì)誤差
從圖7可以看出,在旋轉(zhuǎn)變換情況下,算法在相機(jī)軸向角(ψ)旋轉(zhuǎn)時(shí)保持了較好的不變性:在5°~90°的范圍內(nèi),角度絕對(duì)誤差都在0.5°以下;在經(jīng)度角(θ)旋轉(zhuǎn)情況下,0~55°以內(nèi)可以保證2°以內(nèi)的絕對(duì)誤差;在緯度角(φ)旋轉(zhuǎn)情況下(經(jīng)度角旋轉(zhuǎn)30°),0~90°以內(nèi)可以保證2°以內(nèi)的誤差。從圖8可以看出,在縮放變換情況下,算法在物體圖像存在0.5~0.95的縮放比例(面積)下仍保持了較高匹配精度,相對(duì)誤差控制在2%以內(nèi)。
4.3 綜合實(shí)驗(yàn)
最后,將不同姿態(tài)的真實(shí)圖像(包括了視角不同導(dǎo)致的光照變化和仿射變換影響)和原圖匹配來進(jìn)行綜合實(shí)驗(yàn)。圖9給出了通過仿射矩陣計(jì)算所得的原圖上特征點(diǎn)到匹配圖上對(duì)應(yīng)點(diǎn)的連線圖(為使圖像清晰只標(biāo)示了1/10的連線)??梢钥闯鏊惴▽?duì)3種物體均能得出正確的仿射變換矩陣,能夠滿足機(jī)器人抓取場(chǎng)景中對(duì)特征點(diǎn)集的魯棒性需求。表1給出了算法時(shí)間對(duì)比,可以看出,算法較傳統(tǒng)特征點(diǎn)提取算法SURF(OpenCV實(shí)現(xiàn))有近1倍的速度提升,從PC(Intel Core i5 2.67GHz處理器)移植到DSP平臺(tái)上并優(yōu)化后,速度又提升近1倍,達(dá)到7幀/s的處理速度。
表1 算法運(yùn)行時(shí)間 ms
圖9 不同姿態(tài)圖像的匹配
本文針對(duì)固定眼機(jī)器人抓取系統(tǒng)的應(yīng)用需求,提出了一種能夠在基于DSP的嵌入式圖像處理平臺(tái)上快速可行的特征點(diǎn)提取算法。算法的創(chuàng)新性在于針對(duì)應(yīng)用場(chǎng)景簡(jiǎn)化了特征點(diǎn)定位過程,推導(dǎo)出了光照和仿射不變的局部不變矩,用于特征點(diǎn)鄰域描述。最終測(cè)得算法速度達(dá)到7幀/s,具備較好的光照和仿射不變性,能夠滿足機(jī)器人抓取系統(tǒng)的要求。
[1] LOWE D G.Distinctive image features from scale-invariant keypoins.International Journal of Computer Vision,2004,60(2):91-110.
[2] BAY H,ESS A,TUYTELAARS T.Speeded-up robust features.Computer Vision and Image Understanding,2008,110(3):346-359.
[3] MOREL J M,YU G S.ASIFT: A new framework for fully affine invariant Image comparison.SIAM Journal on Imaging Sciences,2009,2(2):1-31.
[4] YE K,SUKTHANKAR R.PCA-SIFT: a more distinctive representation for local image descriptor.Proceedings of the Conference on Computer Vision and Pattern Recognition,2004,2:504-513.
[5] MIKOLAJCZYK K,SCHMID C.Scale & affine invariantinterest point detectors.International Journal of Computer Vision,2004,60 (1):63-86.
[6] RAHTU E,SALO M,HEIKKILA J,et al.Generlized affine moment invariants for object recognition.Pattern Recognition,2006(2):634-637.
[7] 畢明德,孫志剛,李葉松.基于機(jī)器視覺的布匹疵點(diǎn)檢測(cè)系統(tǒng).儀器技術(shù)與傳感器,2012(12):37-40.
[8] 徐貴力,徐靜,王彪,等.基于光照模糊相似性融合不變矩的航天器目標(biāo)識(shí)別.航空學(xué)報(bào),2014,35(3):857-867.
[9] 徐貴力,鐘志偉,王彪,等.具有幾何和光照不變性的不變矩構(gòu)建研究.航空學(xué)報(bào),2014,34(7):1698-1705.
[10] 常青,張斌,邵金玲.基于SIFT和RANSAC的特征圖像匹配方法.華東理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,38(6):747.
Interest Point Extraction Algorithm for Robotic Grasp and Implementation on DSP
HU Pan,WU Yu-bin,CAO Dan-hua
(School of Optical and Electronic Information,Huazhong University of Science and Technology,Wuhan 430074,China)
Quick extraction of the image feature point set in different perspectives was needed in robust grasp technology to realize pose estimation based on characteristics. Traditional image interest point extraction methods are time-consuming,and it is hard to perform in real-time and duplicate to implement on DSP embedded platform. Aiming at industrial applications,a new interest point extraction method based on SURF and moment invariants was proposed. The local moment invariants were introduced to resist illumination change and affine transform,which constructs only a 4-dimensional descriptor. And the DSP-specified optimization was conducted systematically. Experiments show that the algorithm can process nearly 7 images per second on the DSP platform,with the stability under changing illumination and affine transformation.
interest point extraction;robotic grasp;embedded system;local moment invariants;photometric invariance;affine invariance
2015-01-01 收修改稿日期:2015-07-03
TP29
A
1002-1841(2015)11-0085-04
胡攀(1989—),碩士研究生,主要研究領(lǐng)域?yàn)闄C(jī)器視覺、圖像處理。E-mail:pan_89@yeah.net