国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ORB的目標(biāo)識別與角度測量方法

2019-12-24 09:21:12陳春梅
傳感器與微系統(tǒng) 2019年12期
關(guān)鍵詞:逆時(shí)針物體角度

徐 洪, 吳 斌, 陳春梅

(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010)

0 引 言

隨著機(jī)器視覺理論的發(fā)展,機(jī)器視覺在工業(yè)中的應(yīng)用越來越廣泛[1]。在基于視覺的機(jī)器人工件分揀技術(shù)環(huán)節(jié)中,目標(biāo)的識別定位是實(shí)現(xiàn)分揀和其他任務(wù)的前提。而在目標(biāo)定位過程中最重要的就是快速準(zhǔn)確的計(jì)算物體的旋轉(zhuǎn)角度[2]。

基于圖像的物體旋轉(zhuǎn)角度測量方法在實(shí)際應(yīng)用中已經(jīng)被廣泛采用,主要有基于圖像的幾何特征法[3,4]、通過計(jì)算物體位姿間接測量角度法[5]以及局部特征法[6~9]三類方法。文獻(xiàn)[3]使用霍夫變換提取指針與零刻度線的夾角,從而確定偏轉(zhuǎn)角度。文獻(xiàn)[4]通過得到的目標(biāo)中心線與設(shè)定的工作基準(zhǔn)線之間的偏角,以識別目標(biāo)的偏轉(zhuǎn)角度?;趫D像的幾何特征法對形狀規(guī)則的目標(biāo)有較好的角度測量效果,若目標(biāo)形狀不規(guī)則或是目標(biāo)被遮擋,則會導(dǎo)致測量誤差較大甚至不能實(shí)現(xiàn)角度的測量。文獻(xiàn)[5]通過計(jì)算物體位姿間接測量角度。該方法在實(shí)際應(yīng)用中,需要設(shè)立標(biāo)志點(diǎn),容易導(dǎo)致測量誤差,且算法時(shí)間復(fù)雜度較大。SIFT[10]特征、SURF[11]特征具有旋轉(zhuǎn)、尺度、亮度不變性,因此也有許多研究人員使用SIFT算法、SURF算法計(jì)算目標(biāo)旋轉(zhuǎn)角度。文獻(xiàn)[6~8]使用SIFT特征點(diǎn)的方向信息計(jì)算目標(biāo)的旋轉(zhuǎn)角度。文獻(xiàn)[9]使用SURF算法通過計(jì)算匹配點(diǎn)的旋轉(zhuǎn)矩陣測量目標(biāo)旋轉(zhuǎn)角度?;赟IFT、SURF局部特征計(jì)算目標(biāo)旋轉(zhuǎn)角度的方法由于算法本身時(shí)間復(fù)雜度較高,導(dǎo)致在實(shí)際運(yùn)用中不能應(yīng)用于實(shí)時(shí)性應(yīng)用。

ORB特征[12]結(jié)合了FAST[13]特征檢測和BRIEF[14]特征描述的速度優(yōu)勢,是一種比SIFT、SURF更高效的圖像局部特征。在實(shí)際應(yīng)用中,其實(shí)時(shí)性比浮點(diǎn)型特征描述符更高[15]。

針對工業(yè)生產(chǎn)中利用傳統(tǒng)算法測量物體旋轉(zhuǎn)角度精度較低而且時(shí)間復(fù)雜度較高的問題,本文利用ORB特征的旋轉(zhuǎn)不變性,提出了基于ORB的快速角度測量方法。使ORB算法在特征匹配的同時(shí)可測量出目標(biāo)的旋轉(zhuǎn)角度,擴(kuò)展了ORB特征的應(yīng)用。該方法不需要額外設(shè)置標(biāo)志點(diǎn),也不要求目標(biāo)外形具有規(guī)則的形狀,且具有較高的實(shí)時(shí)性,在任何圖像特征匹配中皆可使用。

1 ORB特征

ORB算法是結(jié)合FAST特征點(diǎn)檢測與BRIEF特征點(diǎn)描述算法進(jìn)行改進(jìn)的。算法首先利用oFAST(FAST Keypoint Orientation)方法在圖像金字塔中檢測特征點(diǎn),然后采用rBRIEF(Rotation-Aware BRIEF)方法計(jì)算二進(jìn)制局部特征描述符,最后采用漢明距離進(jìn)行特征匹配。

1.1 特征提取

FAST特征提取的核心思想是:基于加速分割測試特性??梢酝ㄟ^以下函數(shù)來判斷一個(gè)FAST特征點(diǎn)

(1)

式中I(x)為特征點(diǎn)鄰域邊緣任一點(diǎn)的灰度值;I(p)為當(dāng)前特征點(diǎn)處的灰度值;εd為閾值。

FAST特征不具有方向信息,ORB算法采用灰度質(zhì)心法進(jìn)行具有方向信息的FAST特征的檢測:計(jì)算特征點(diǎn)領(lǐng)域的灰度質(zhì)心,則特征點(diǎn)到質(zhì)心的連線與橫坐標(biāo)軸的夾角即為特征點(diǎn)的主方向。特征點(diǎn)領(lǐng)域圖像的矩定義為

(2)

θ=arctan(m01,m10)

(3)

這樣就得到了具有方向信息的FAST特征,即oFAST特征。oFAST檢測子不產(chǎn)生多尺度特征,ORB算法采用圖像尺度金字塔,然后在每層金字塔檢測oFAST尺度特征。

1.2 特征描述

ORB特征使用rBRIEF方法即旋轉(zhuǎn)的BRIEF描述子計(jì)算特征點(diǎn)描述符。BRIEF描述子是由圖像特征點(diǎn)的一組二進(jìn)制測試所形成的比特字符串描述符。特征點(diǎn)領(lǐng)域P的二進(jìn)制測試被定義如下

(4)

式中p(x),p(y)分別為點(diǎn)x,y的灰度。選擇n個(gè)(xi,yi)點(diǎn)對,采用二進(jìn)制測試準(zhǔn)則生成的二進(jìn)制特征描述子

(5)

式中n可取值128,256,512等。

式(5)中的描述符不具有方向信息,因此,通過特征點(diǎn)的主方向來旋轉(zhuǎn)BRIEF描述符,使其具有旋轉(zhuǎn)不變性。利用特征點(diǎn)的主方向信息θ、對應(yīng)的旋轉(zhuǎn)矩陣Rθ以及在位置(xi,yi)的任何n個(gè)二進(jìn)制測試的準(zhǔn)則集S,可得到一個(gè)旋轉(zhuǎn)后的矩陣Sθ

(6)

結(jié)合式(5),旋轉(zhuǎn)的BRIEF描述符即rBRIEF描述符可表示為

gn(p,θ)=fn(p)|(xi,yi)∈Sθ

(7)

式中 ORB算法采用貪婪搜索,選擇n個(gè)相關(guān)性最低的像素塊作為最終地描述子,n的取值一般為256。

1.3 特征匹配

由于ORB特征描述子為二進(jìn)制碼串形式,因此,ORB算法采用漢明距離進(jìn)行特征匹配,選取距離最小的特征點(diǎn)作為匹配點(diǎn)。

2 目標(biāo)識別與定位

采用ORB算法進(jìn)行特征描述以及特征匹配時(shí)會存在一定誤差,因此需要改進(jìn)特征匹配算法以去除誤匹配點(diǎn)。本文采用RANSAC算法對原始匹配對求解單應(yīng)性矩陣,然后通過迭代反解坐標(biāo)對應(yīng)關(guān)系去除錯(cuò)誤匹配對。求取出單應(yīng)性矩陣之后,通過計(jì)算透視變換以實(shí)現(xiàn)目標(biāo)定位。

模板圖片與目標(biāo)圖片對應(yīng)點(diǎn)之間的坐標(biāo)變換關(guān)系

(8)

式中x和y為模板圖像中特征點(diǎn)的坐標(biāo)位置;xx′和yx′為目標(biāo)圖像中點(diǎn)的坐標(biāo)位置;H為一個(gè)3×3的透視變換矩陣。

3 角度測量原理

3.1 測量原理

基于ORB特征的旋轉(zhuǎn)不變性,利用匹配的特征點(diǎn)的方向信息計(jì)算目標(biāo)的旋轉(zhuǎn)角度。如圖1所示,ORB算法在計(jì)算特征點(diǎn)描述符時(shí),對特征點(diǎn)領(lǐng)域的角度坐標(biāo)按照特征點(diǎn)主方向角度進(jìn)行旋轉(zhuǎn)。因此當(dāng)圖像目標(biāo)旋轉(zhuǎn)時(shí),每個(gè)特征點(diǎn)的描述子并不會改變,保證了ORB特征的旋轉(zhuǎn)不變性。

圖1 特征點(diǎn)主方向示意

當(dāng)圖像目標(biāo)存在旋轉(zhuǎn)變化時(shí),特征點(diǎn)領(lǐng)域像素的拓?fù)浣Y(jié)構(gòu)并未發(fā)生變化,所以特征點(diǎn)的主方向也會旋轉(zhuǎn)同樣的角度,從而可以通過匹配特征點(diǎn)的主方向角度計(jì)算圖像目標(biāo)相對于模板旋轉(zhuǎn)的角度。根據(jù)式(3)得到的特征點(diǎn)主方向,利用ORB特征的旋轉(zhuǎn)不變性,將每對匹配點(diǎn)的主方向角度θj,θi相減,得到匹配特征點(diǎn)的旋轉(zhuǎn)角度Δr,Δr=θj-θi。

3.2 物體旋轉(zhuǎn)角度

由于模板與目標(biāo)圖像之間的匹配點(diǎn)有很多,其旋轉(zhuǎn)角度數(shù)據(jù)之間存在著較大差異,且經(jīng)過RANSAC算法過后仍然可能存在誤匹配點(diǎn),因此不能用單一匹配對的旋轉(zhuǎn)角度作為目標(biāo)旋轉(zhuǎn)的角度。經(jīng)過大量的實(shí)驗(yàn)分析,在旋轉(zhuǎn)角度計(jì)算過程中,每一個(gè)誤匹配點(diǎn)的旋轉(zhuǎn)角度都會對最終旋轉(zhuǎn)角度的準(zhǔn)確性產(chǎn)生較大的影響,所以,需要對特征點(diǎn)的旋轉(zhuǎn)角度數(shù)據(jù)進(jìn)一步分析處理才能作為目標(biāo)的最終旋轉(zhuǎn)角度。

3.2.1 聚類分析

迭代自組織聚類(ISODATA)算法能夠依據(jù)初始化參數(shù)調(diào)整聚類數(shù)目,因此,本文采用ISODATA算法分析處理匹配點(diǎn)的旋轉(zhuǎn)角度,以提高角度測量算法的魯棒性。

ISODATA算法需要預(yù)先設(shè)置各個(gè)參數(shù)指標(biāo):期望的聚類數(shù)目K、每一類中最少樣本數(shù)θN、類中樣本距離分布的標(biāo)準(zhǔn)差θS、兩類中心的最小距離θC、一次迭代計(jì)算中可以合并的聚類中心的最多對數(shù)L、迭代計(jì)算的次數(shù)I。

ISODATA算法按照以下原則進(jìn)行工作:1)樣本數(shù)太少的類則取消;2)距離近的類則合并;3)類內(nèi)離散太大的類則拆分。

3.2.2 角度計(jì)算

經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),匹配點(diǎn)的旋轉(zhuǎn)角度數(shù)據(jù)總體分為兩類:按順時(shí)針旋轉(zhuǎn)方向的角度和按逆時(shí)針旋轉(zhuǎn)方向的角度。因此,本文中預(yù)設(shè)的期望聚類數(shù)目設(shè)為3類,最小聚類數(shù)目設(shè)為1類,θN=1,θS=15,θC=20,L=2,I=15。期望的3類聚類分別為:順時(shí)針旋轉(zhuǎn)角度數(shù)據(jù)、逆時(shí)針旋轉(zhuǎn)角度數(shù)據(jù)以及錯(cuò)誤的旋轉(zhuǎn)角度數(shù)據(jù)。

通過聚類實(shí)驗(yàn)分析,采用RANSAC方法提純匹配點(diǎn)后,誤匹配點(diǎn)只占到所有匹配點(diǎn)中極少的一部分。因此,本文首先在聚類結(jié)果中找出正確的順時(shí)針旋轉(zhuǎn)角度數(shù)據(jù)和逆時(shí)針旋轉(zhuǎn)角度數(shù)據(jù),通過剔除離群點(diǎn),以進(jìn)一步剔除錯(cuò)誤旋轉(zhuǎn)角度數(shù)據(jù)。然后將順時(shí)針方向旋轉(zhuǎn)角度數(shù)據(jù)整理到逆時(shí)針方向。最后以所有逆時(shí)針方向的旋轉(zhuǎn)角度數(shù)據(jù)的均值uaver作為目標(biāo)最終的旋轉(zhuǎn)角度θangle,θangle=uaver。

4 實(shí)驗(yàn)與分析

4.1 程序設(shè)計(jì)

本文實(shí)驗(yàn)采用VS2013軟件結(jié)合OpenCV開源視覺庫進(jìn)行開發(fā),CPU為AMD A6—5400K,內(nèi)存為2.6 GHz,4 G。圖2為本文算法的工作流程。

圖2 程序流程圖

4.2 圖片角度測量實(shí)驗(yàn)

為檢驗(yàn)算法識別目標(biāo)及測量目標(biāo)旋轉(zhuǎn)角度的性能,首先采用不同尺度、旋轉(zhuǎn)的圖片進(jìn)行實(shí)驗(yàn)。圖3中,圖(a)中左邊為模板圖片,右邊為目標(biāo)圖片,圖(b)、(c)、(d)分別為對目標(biāo)圖片進(jìn)行縮放旋轉(zhuǎn)后的特征匹配圖。圖(b)為模板與目標(biāo)圖像的特征匹配圖,圖(c)為將目標(biāo)逆時(shí)針旋轉(zhuǎn)180°并縮小2倍的特征匹配圖,圖(d)為將目標(biāo)逆時(shí)針旋轉(zhuǎn)90°并放大2倍的特征匹配圖。

圖3 特征匹配圖

從圖中可以看出,本文算法能夠正確識別并定位圖像中的目標(biāo)。表1中為模板與各目標(biāo)圖片的尺寸大小、特征點(diǎn)數(shù)以及匹配點(diǎn)數(shù)。

表1 特征點(diǎn)數(shù)目

表2為測試圖片聚類分析及旋轉(zhuǎn)角度的計(jì)算結(jié)果。從圖3與表2中可以看出使用靜態(tài)圖片進(jìn)行測試時(shí)算法能正確識別定位目標(biāo)并同時(shí)計(jì)算旋轉(zhuǎn)角度,且角度測量誤差不超過0.3°。在不同尺度、旋轉(zhuǎn)的情況下測試圖片,測量精度依然很高,體現(xiàn)了本文方法良好的魯棒性。

表2 聚類分析及角度測量結(jié)果

目標(biāo)旋轉(zhuǎn)角度的計(jì)算精度與ORB特征匹配的準(zhǔn)確率直接相關(guān)。當(dāng)存在誤匹配點(diǎn)對時(shí),會導(dǎo)致角度測量結(jié)果存在較大誤差。本文通過RANSAC算法以及ISODATA聚類分析兩次去除誤匹配特征點(diǎn)數(shù)據(jù),可以得到正確的匹配點(diǎn),能夠準(zhǔn)確計(jì)算目標(biāo)物體的旋轉(zhuǎn)角度。

表3為算法的時(shí)間復(fù)雜度分析表。從表中可以看出,算法中耗時(shí)最多的是特征提取與匹配,占到了整個(gè)算法的80 %以上,且圖片越大對應(yīng)的時(shí)間復(fù)雜度越高。而角度測量部分的時(shí)間只占到算法總時(shí)間的16 %左右,且算法整體所需時(shí)間都在0.65 s以內(nèi)。

表3 算法時(shí)間分析

本文算法與文獻(xiàn)[3]算法(算法1)、文獻(xiàn)[6]算法(算法2)的角度測量對比。算法1基于目標(biāo)的幾何特征,利用外接矩形計(jì)算目標(biāo)物體的旋轉(zhuǎn)角度,算法2基于物體的局部SIFT特征,利用特征點(diǎn)的主方向信息計(jì)算物體的旋轉(zhuǎn)角度。本文方法在角度測量誤差0.3°優(yōu)于算法1的0.7°和算法2的3.0°,在算法時(shí)間方面,本文方法為0.6 s要差于算法1的0.2 s,優(yōu)于算法2的4.3 s。但算法1要求目標(biāo)物體具有規(guī)則的形狀,不具有通用性。

從以上實(shí)驗(yàn)及分析可以看出,本文算法不需要目標(biāo)物體具有規(guī)則的形狀,具有較高的角度測量精度,可用于任何的圖像特征匹配,且具有較高的實(shí)時(shí)性,基本可以滿足實(shí)際應(yīng)用的要求。

4.3 物體角度測量實(shí)驗(yàn)

4.3.1 不同尺度下角度測量實(shí)驗(yàn)

圖4為分別使用書籍、鼠標(biāo)、眼鏡盒作為試驗(yàn)?zāi)繕?biāo)物品。拍攝模板及目標(biāo)圖片過程中,目標(biāo)物體位置和方向均保持不變,將相機(jī)沿固定并標(biāo)定準(zhǔn)確的刻度進(jìn)行旋轉(zhuǎn)。在相機(jī)旋轉(zhuǎn)及之后圖片的尺度調(diào)整過程中,目標(biāo)圖像產(chǎn)生了一定程度的畸變。圖4中圖(a)為各個(gè)模板圖片,圖(b)為書籍放大2倍并逆時(shí)針180°的特征匹配圖,圖(c)為鼠標(biāo)縮小0.75倍并同時(shí)逆時(shí)針旋轉(zhuǎn)90°的特征匹配圖,圖(d)為眼鏡盒放大1.5倍并逆時(shí)針旋轉(zhuǎn)270°的特征匹配圖。

圖4 不同尺度物體旋轉(zhuǎn)測試匹配圖

從圖4中可以看出,本文算法能夠正確識別并定位圖像中的目標(biāo)。表4為圖4中圖片多次實(shí)驗(yàn)后的角度測量的結(jié)果。

表4 不同尺度下角度測量結(jié)果

從圖4及表4的測試結(jié)果可以看出,在不同尺度下,本文算法能夠正確識別書籍、鼠標(biāo)及眼鏡盒,且角度測量精度很高,誤差均在0.3°以內(nèi)。

4.3.2 局部遮擋下角度測量實(shí)驗(yàn)

圖5對圖4中的目標(biāo)物體進(jìn)行了局部遮擋。圖5(a)為模板圖像,圖5(b)為書籍局部遮擋并逆時(shí)針旋轉(zhuǎn)270°的特征匹配圖,圖5(c)為將鼠標(biāo)部分遮擋并逆時(shí)針旋轉(zhuǎn)90°的特征匹配圖,圖5(d)為眼鏡盒遮擋并逆時(shí)針旋轉(zhuǎn)180°的匹配圖。

圖5 局部遮擋下物體旋轉(zhuǎn)測試匹配結(jié)果

ORB特征是圖像的局部特征,因此只要目標(biāo)的部分特征點(diǎn)得到正確匹配,本文算法就可以準(zhǔn)確地識別目標(biāo)并測量目標(biāo)的旋轉(zhuǎn)角度。表5為對一些常見目標(biāo)物體進(jìn)行局部遮擋情況下的旋轉(zhuǎn)角度測量結(jié)果。從圖5和表5中可以看出,在目標(biāo)局部遮擋的情況下,算法能夠正確識別圖像中的書籍、鼠標(biāo)、眼鏡盒目標(biāo),且旋轉(zhuǎn)角度測量精度依然保持在0.3°以內(nèi)。

表5 部分遮擋下角度測量結(jié)果 (°)

分析上述實(shí)驗(yàn)可知,通過改進(jìn)ORB算法,是可以在特征匹配識別目標(biāo)的同時(shí),測量目標(biāo)旋轉(zhuǎn)角度的。當(dāng)圖像中目標(biāo)受到遮擋,或者發(fā)生尺度變化時(shí),測量精度并沒有受到影響,依然能夠正確識別目標(biāo)并實(shí)現(xiàn)目標(biāo)旋轉(zhuǎn)角度的準(zhǔn)確測量,體現(xiàn)了本文方法的魯棒性。

5 結(jié) 論

對旋轉(zhuǎn)后的圖片、生活中的常見的物體、局部遮擋情況下的物體進(jìn)行實(shí)驗(yàn),本文方法能夠準(zhǔn)確識別定位目標(biāo),角度測量誤差在0.3°以內(nèi),且時(shí)間消耗在0.6 s左右。在測量精度及時(shí)間復(fù)雜度方面,本文方法能夠滿足一般項(xiàng)目要求。本文方法不需要相機(jī)標(biāo)定、額外設(shè)置標(biāo)志點(diǎn),也不需要目標(biāo)物體具有規(guī)則的形狀,且具有較高的實(shí)時(shí)性,可用于任何的圖像特征匹配,同時(shí)也擴(kuò)展了ORB特征的應(yīng)用方向。

猜你喜歡
逆時(shí)針物體角度
神奇的角度
逆時(shí)針旋轉(zhuǎn)的水
深刻理解物體的平衡
我們是怎樣看到物體的
一個(gè)涉及角度和的幾何不等式鏈的改進(jìn)
角度不同
37°女人(2017年8期)2017-08-12 11:20:48
人啊
滇池(2017年7期)2017-07-18 19:32:42
心情不好
逆時(shí)針跑,還是順時(shí)針跑?
中外文摘(2015年6期)2015-11-22 22:36:01
逆時(shí)針跑,還是順時(shí)針跑?
知識窗(2015年1期)2015-05-14 09:08:17
余姚市| 冕宁县| 恩平市| 青海省| 茂名市| 新绛县| 吉首市| 饶河县| 武山县| 武义县| 民乐县| 二连浩特市| 固安县| 含山县| 巩义市| 连江县| 澄江县| 泾川县| 临夏市| 崇左市| 韶关市| 罗源县| 达拉特旗| 准格尔旗| 苗栗县| 贞丰县| 凌云县| 连云港市| 德江县| 白城市| 定边县| 潢川县| 两当县| 桦川县| 大英县| 萨迦县| 海门市| 始兴县| 贞丰县| 凌云县| 新宁县|