左承林, 馬 軍, 岳廷瑞
(中國(guó)空氣動(dòng)力研究與發(fā)展中心 低速空氣動(dòng)力研究所,四川 綿陽(yáng) 621000)
基于立體視覺(jué)技術(shù)進(jìn)行三維測(cè)量時(shí),需要對(duì)不同視角拍攝獲取的圖像進(jìn)行特征提取和立體匹配,以計(jì)算被測(cè)物體的三維信息。匹配的精度直接影響著最終的測(cè)量精度,因而需要高精度的匹配算法。但是,傳統(tǒng)立體匹配方法計(jì)算復(fù)雜度高,匹配精度也較低,難以適用于高精度測(cè)量應(yīng)用中。為此,通常使用編碼標(biāo)記點(diǎn)作為被測(cè)物體的特征點(diǎn),其具有唯一的編碼標(biāo)識(shí)信息,便于檢測(cè)和識(shí)別,可實(shí)現(xiàn)不同視角圖像的高精度匹配。
到目前為止,已有眾多種類(lèi)的編碼標(biāo)記點(diǎn)被設(shè)計(jì)應(yīng)用于視覺(jué)三維測(cè)量中[1-7]。具有代表性的編碼標(biāo)記點(diǎn)有:環(huán)狀編碼標(biāo)記點(diǎn)、點(diǎn)狀編碼標(biāo)記點(diǎn)、方形編碼標(biāo)記點(diǎn)、分布式編碼標(biāo)記點(diǎn)、彩色編碼標(biāo)記點(diǎn)、可糾錯(cuò)編碼標(biāo)記點(diǎn)、雙環(huán)象限編碼標(biāo)記點(diǎn)、漢字編碼標(biāo)記點(diǎn)等。其中,環(huán)狀編碼標(biāo)記點(diǎn)具有仿射不變、平移旋轉(zhuǎn)不變、尺度不變等特性,易于檢測(cè)識(shí)別,因而被廣泛應(yīng)用于視覺(jué)三維測(cè)量中。
編碼標(biāo)記點(diǎn)檢測(cè)識(shí)別包括標(biāo)記點(diǎn)中心定位和編碼環(huán)解碼兩個(gè)步驟,其中,中心定位是關(guān)鍵,也是編碼環(huán)解碼的基礎(chǔ)。圍繞著提高解碼精度和速度,國(guó)內(nèi)外研究者進(jìn)行了大量的研究。Forbes等[8]采用Canny 算子提取圖像輪廓,然后基于尺寸準(zhǔn)則、形狀準(zhǔn)則提取中心標(biāo)記點(diǎn)擬合橢圓,再根據(jù)灰度準(zhǔn)則讀取編碼帶信息進(jìn)行解碼。Chen等[9]針對(duì)像素較小或投影角較大的編碼標(biāo)記點(diǎn),提出一種利用灰度梯度提取各編碼段中心角的檢測(cè)算法,能實(shí)現(xiàn)準(zhǔn)確定位與解碼。宋麗梅等[10]和周玲等[11]基于環(huán)狀編碼標(biāo)記點(diǎn)的仿射不變特性,分別通過(guò)坐標(biāo)變化的方式將成像橢圓變換成直線和單位圓,實(shí)現(xiàn)了環(huán)狀編碼標(biāo)記點(diǎn)的解碼識(shí)別。楊忞等[12]為提高標(biāo)記點(diǎn)定位精度,利用擬合橢圓外切矩形的幾何性質(zhì)來(lái)確定橢圓的長(zhǎng)短軸位置和旋轉(zhuǎn)角度,進(jìn)一步構(gòu)造驗(yàn)證參數(shù),并結(jié)合聚類(lèi)算法,最終提取有效的標(biāo)記點(diǎn)類(lèi)。此外,秦大輝等[13]將YOLO v3目標(biāo)檢測(cè)網(wǎng)絡(luò)應(yīng)用到了編碼標(biāo)記點(diǎn)檢測(cè)定位中,提出了一種基于YOLO v3改進(jìn)網(wǎng)絡(luò)識(shí)別編碼標(biāo)記點(diǎn),再通過(guò)距離判斷確定中心標(biāo)記點(diǎn)的定位方法,最終獲得了較好的檢測(cè)識(shí)別效果且該方法魯棒性好。
針對(duì)視覺(jué)測(cè)量中環(huán)狀編碼標(biāo)記點(diǎn)的檢測(cè)識(shí)別問(wèn)題,本文提出了一種基于編碼環(huán)采樣的解碼識(shí)別方法。首先,使用Canny算子對(duì)圖像進(jìn)行邊緣檢測(cè),提取圖像的輪廓結(jié)構(gòu)信息;然后,基于尺寸和形狀準(zhǔn)則約束,初步濾除非標(biāo)記點(diǎn)輪廓;使用Otsu算法[14]進(jìn)一步提取標(biāo)記點(diǎn)邊緣環(huán)狀鄰域,通過(guò)最小二乘橢圓擬合求解橢圓參數(shù),并通過(guò)橢圓參數(shù)約束,再次進(jìn)行非標(biāo)記點(diǎn)輪廓濾除;最后,通過(guò)對(duì)編碼環(huán)進(jìn)行360°采樣,解算獲得編碼值,實(shí)現(xiàn)標(biāo)記點(diǎn)的解碼識(shí)別。
本文使用的編碼標(biāo)記點(diǎn)為8位環(huán)狀編碼標(biāo)記點(diǎn),結(jié)構(gòu)如圖1(a)所示,其由中心圓和同心圓環(huán)構(gòu)成,中心圓用于標(biāo)記點(diǎn)定位,同心圓環(huán)則用于標(biāo)記點(diǎn)編碼。編碼環(huán)根據(jù)實(shí)際需求可進(jìn)行不同數(shù)量的等分,等分?jǐn)?shù)量越多,編碼位數(shù)就越多,可產(chǎn)生的編碼標(biāo)記點(diǎn)數(shù)量也就越多,通常使用較多的為8、12、15這3種等分?jǐn)?shù)量的編碼標(biāo)記點(diǎn)。編碼環(huán)編碼原理如圖1(b)所示,編碼環(huán)中每一個(gè)等分區(qū)域根據(jù)顏色的不同對(duì)應(yīng)于“0”或“1”,整個(gè)編碼環(huán)對(duì)應(yīng)于一個(gè)8位的二進(jìn)制數(shù)。為了確保編碼值的唯一性,按逆時(shí)針?lè)较蛑鹞灰苿?dòng)二進(jìn)制數(shù),其對(duì)應(yīng)的十進(jìn)制數(shù)中最小的十進(jìn)制數(shù)即為編碼標(biāo)記點(diǎn)的唯一編碼值。編碼環(huán)不同等分情況下的二進(jìn)制數(shù)和標(biāo)記點(diǎn)數(shù)如表1所示。
圖1 編碼標(biāo)記點(diǎn)
表1 編碼數(shù)、標(biāo)記點(diǎn)數(shù)與二進(jìn)制數(shù)關(guān)系表
由于拍攝角度的影響,編碼標(biāo)記點(diǎn)中心圓成像后通常呈橢圓形狀,對(duì)編碼標(biāo)記點(diǎn)進(jìn)行檢測(cè)定位即可確定中心圓在圖像平面上成像的橢圓中心。
首先采用Canny算子對(duì)圖像進(jìn)行邊緣檢測(cè),提取得到圖像的輪廓信息。然后,計(jì)算各邊緣輪廓的周長(zhǎng)L、面積S和形狀因子G,通過(guò)設(shè)置合適的閾值,篩除不滿(mǎn)足閾值的輪廓,實(shí)現(xiàn)標(biāo)記點(diǎn)的粗定位。其中,輪廓形狀因子G計(jì)算公式為
(1)
在標(biāo)記點(diǎn)粗定位的基礎(chǔ)上,根據(jù)Otsu算法確定梯度閾值,提取得到標(biāo)記點(diǎn)的邊緣環(huán)狀鄰域。與采用Canny算子得到的標(biāo)記點(diǎn)單像素邊緣相比,標(biāo)記點(diǎn)邊緣環(huán)狀鄰域?qū)υ肼暫筒痪鶆蚬庹諚l件具有更好的魯棒性。
為了得到成像中心圓的橢圓中心,需要對(duì)邊緣環(huán)狀鄰域進(jìn)行最小二乘橢圓擬合。對(duì)于任意位置的橢圓,其一般方程表示為
f(x,y)=x2+Axy+By2+Cx+Dy+E=0
(2)
對(duì)邊緣環(huán)狀鄰域上的點(diǎn)進(jìn)行最小二乘橢圓擬合,則目標(biāo)函數(shù)為
(3)
式中,N為邊緣環(huán)狀鄰域上像素點(diǎn)個(gè)數(shù)。由極值原理可知,要使F最小,則必有:
(4)
通過(guò)式(4)即可解算得到橢圓方程參數(shù)A、B、C、D、E,進(jìn)而可以計(jì)算得到:
(5)
式中,(x0,y0),a,b,θ分別為標(biāo)記點(diǎn)成像橢圓的中心坐標(biāo)、長(zhǎng)軸半徑、短軸半徑和偏角。由于尺寸和形狀約束不一定能完全濾去偽標(biāo)記點(diǎn),因此,基于擬合得到的橢圓參數(shù)進(jìn)行了二次篩選,約束準(zhǔn)則具體如下。
① 橢圓擬合偏差約束;
② 橢圓長(zhǎng)短軸約束;
③ 橢圓長(zhǎng)短軸比例約束。
當(dāng)滿(mǎn)足上述約束準(zhǔn)則后,橢圓輪廓即為標(biāo)記點(diǎn)的成像中心圓,基于其橢圓中心坐標(biāo),即可實(shí)現(xiàn)標(biāo)記點(diǎn)的精確定位。
由于編碼標(biāo)記點(diǎn)成像符合仿射變換,圖像中心圓與編碼環(huán)仍然具有相同的中心和偏角,大小比例也不會(huì)發(fā)生變化。根據(jù)編碼標(biāo)記點(diǎn)的物理尺寸和成像中心圓的橢圓參數(shù),可計(jì)算得到成像編碼環(huán)的橢圓參數(shù)為
(6)
式中,R1和R2分別為編碼環(huán)的物理內(nèi)環(huán)半徑和物理外環(huán)半徑;r為中心圓的物理半徑。
基于解算得到的成像編碼環(huán)橢圓參數(shù),對(duì)編碼環(huán)進(jìn)行采樣,如圖2所示。
圖2 編碼環(huán)采樣
基于編碼環(huán)采樣的解碼識(shí)別具體步驟如下。
① 在編碼環(huán)上以任意位置為起點(diǎn),按逆時(shí)針?lè)较蜻M(jìn)行采樣,得到采樣序列Si= {si,1,si,2,…,si,j,…,si,k}。其中,i= 1,2,…,n為標(biāo)記點(diǎn)編號(hào);si,j為第i個(gè)標(biāo)記點(diǎn)編碼環(huán)上的第j個(gè)采樣灰度值;k為采樣數(shù)量。
(7)
二值化處理方法如下:
(8)
(9)
式中,INT為取整函數(shù);N=8為編碼標(biāo)記點(diǎn)編碼環(huán)的等分段數(shù);e=0.5為固定常數(shù)。
為了驗(yàn)證所提出的編碼標(biāo)記點(diǎn)檢測(cè)識(shí)別算法的有效可行性,首先進(jìn)行了模擬試驗(yàn),隨后,在直升機(jī)旋翼槳葉視覺(jué)測(cè)量風(fēng)洞試驗(yàn)中進(jìn)行了實(shí)際應(yīng)用。
在室內(nèi)燈光照明條件下拍攝得到的編碼標(biāo)記點(diǎn)圖像如圖3(a)所示,相機(jī)成像傾角約為60°,每個(gè)編碼標(biāo)記點(diǎn)旁邊都標(biāo)注有相應(yīng)的真實(shí)編碼值。從圖3(a)中可以看到,在較大成像傾角情況下,編碼標(biāo)記點(diǎn)發(fā)生了較為明顯的變形,并且,局部區(qū)域還存在高反光情況。使用Canny算子進(jìn)行邊緣檢測(cè)得到的圖像輪廓,如圖3(b)所示,基于尺寸準(zhǔn)則、形狀準(zhǔn)則和橢圓參數(shù)準(zhǔn)則篩選后得到的標(biāo)記點(diǎn)成像中心圓輪廓如圖3(c)所示,可以看到,經(jīng)過(guò)篩選后,其他偽標(biāo)記點(diǎn)輪廓得到了有效濾除。最終的解碼識(shí)別結(jié)果如圖3(d)所示,所有編碼標(biāo)記點(diǎn)都得到了正確解碼識(shí)別,這說(shuō)明本文所提出的算法對(duì)于成像變形和光照不均具有較好的魯棒性。
圖3 模擬試驗(yàn)
在中國(guó)空氣動(dòng)力研究與發(fā)展中心Φ3.2 m風(fēng)洞開(kāi)展的Φ2 m直升機(jī)旋翼槳葉視覺(jué)測(cè)量風(fēng)洞試驗(yàn)如圖4所示,其中一片槳葉下表面上共布置有20個(gè)編碼標(biāo)記點(diǎn),其沿槳葉展向成對(duì)等距分布,每對(duì)編碼標(biāo)記點(diǎn)之間的物理距離均為35 mm。測(cè)量系統(tǒng)由兩臺(tái)高速CCD相機(jī)構(gòu)成,其被安裝固定在旋翼下方的試驗(yàn)平臺(tái)上,確保了試驗(yàn)過(guò)程中相機(jī)不會(huì)因?yàn)樾砀咚傩D(zhuǎn)而發(fā)生振動(dòng)。兩臺(tái)相機(jī)的成像分辨率為1024像素×1024像素,圖像位數(shù)為12-bit,最大幀頻為3.6 kHz。相機(jī)之間的光軸夾角約為30°,距離旋翼約2.5 m,測(cè)量視場(chǎng)約為1 m×1 m,可覆蓋旋翼一個(gè)象限的旋轉(zhuǎn)范圍。為了能夠拍攝得到清晰的旋翼槳葉瞬態(tài)圖像,試驗(yàn)采用了高頻激光器進(jìn)行瞬態(tài)照明,其波長(zhǎng)為527 nm,能量為2×30 mJ@1 kHz,脈沖寬度為150 ns。試驗(yàn)中,高頻激光器通過(guò)激光擴(kuò)束鏡形成體激光,其照明區(qū)域覆蓋相機(jī)測(cè)量視場(chǎng)范圍;基于同步控制器、高速CCD相機(jī)和高頻激光器進(jìn)行時(shí)鐘同步,根據(jù)旋翼編碼器信號(hào),同步觸發(fā)高頻激光器和高速CCD相機(jī)進(jìn)行瞬態(tài)照明成像。該試驗(yàn)對(duì)旋翼高速轉(zhuǎn)速下不同槳葉傾角工況的編碼標(biāo)記點(diǎn)進(jìn)行了檢測(cè)識(shí)別。
圖4 直升機(jī)旋翼槳葉視覺(jué)測(cè)量風(fēng)洞試驗(yàn)
高速CCD相機(jī)拍攝得到的旋翼槳葉圖像如圖5(a)所示,為了不產(chǎn)生圖像拖影,成像系統(tǒng)采用了強(qiáng)照明、高速曝光的成像方式,因此,高反光特性的編碼標(biāo)記點(diǎn)成像結(jié)構(gòu)清晰,而背景則幾乎看不到,這極大地提高了編碼標(biāo)記點(diǎn)檢測(cè)識(shí)別的準(zhǔn)確性和魯棒性。圖像邊緣檢測(cè)結(jié)果和編碼標(biāo)記點(diǎn)成像中心圓輪廓篩選結(jié)果如圖5(b)和5(c)所示。不同槳葉傾角條件下編碼標(biāo)記點(diǎn)的解碼識(shí)別結(jié)果如圖6所示,可以看到,所有編碼標(biāo)記點(diǎn)都得到了正確解碼識(shí)別,這說(shuō)明槳葉傾角變化并不會(huì)影響編碼標(biāo)記點(diǎn)檢測(cè)識(shí)別的準(zhǔn)確性。
圖5 旋翼槳葉編碼標(biāo)記點(diǎn)檢測(cè)定位
圖6 旋翼槳葉編碼標(biāo)記點(diǎn)解碼識(shí)別
通過(guò)編碼標(biāo)記點(diǎn)解碼值進(jìn)行立體匹配解算得到的三維測(cè)量結(jié)果如圖7所示。基于測(cè)得的所有工況下編碼標(biāo)記點(diǎn)對(duì)之間的三維空間距離,對(duì)測(cè)量精度和準(zhǔn)度進(jìn)行計(jì)算,結(jié)果如表2所示。表2雖然反映的是整個(gè)系統(tǒng)的測(cè)量精度,但也從側(cè)面驗(yàn)證了本文所提出的算法的準(zhǔn)確性。
圖7 旋翼槳葉編碼標(biāo)記點(diǎn)三維測(cè)量結(jié)果
表2 不同轉(zhuǎn)速下測(cè)量精準(zhǔn)度 單位:mm
視覺(jué)測(cè)量中,編碼標(biāo)記點(diǎn)識(shí)別的準(zhǔn)確性和魯棒性對(duì)后續(xù)的三維重建有著非常重要的意義。本文針對(duì)目前廣泛使用的環(huán)形編碼標(biāo)志點(diǎn),提出了一種基于編碼環(huán)采樣的檢測(cè)識(shí)別方法。試驗(yàn)結(jié)果表明,所提出的算法受成像角度變化和光照不均等因素影響較小,編碼標(biāo)記點(diǎn)檢測(cè)識(shí)別具有較高的魯棒性,實(shí)用性強(qiáng)。