杜娟 邱海濤
特約論文
基于共享坐標(biāo)系的雙目立體匹配算法實(shí)現(xiàn)*
杜娟1,2邱海濤1,2
(1.華南理工大學(xué)自動(dòng)化科學(xué)與工程學(xué)院,廣東 廣州 510641 2.廣東省高端芯片智能封測(cè)裝備工程實(shí)驗(yàn)室,廣東 廣州 510641)
在雙目視覺(jué)應(yīng)用中,立體匹配是衡量整個(gè)視覺(jué)系統(tǒng)速度與精度的重要環(huán)節(jié)。提出一種基于共享坐標(biāo)系的雙目立體匹配算法,分別在雙目立體匹配的左右2幅圖像上建立一個(gè)共享坐標(biāo)系,并根據(jù)2個(gè)坐標(biāo)系原點(diǎn)的位置關(guān)系計(jì)算出左右圖像的水平偏移量和垂直偏移量;特征點(diǎn)匹配時(shí),根據(jù)水平偏移量和垂直偏移量可快速定位對(duì)應(yīng)匹配點(diǎn)的位置;每個(gè)特征點(diǎn)根據(jù)其與周?chē)?個(gè)像素點(diǎn)之間的灰度值關(guān)系生成描述子,通過(guò)共享坐標(biāo)系進(jìn)行定位,再對(duì)定位區(qū)域利用描述子進(jìn)行區(qū)域遍歷匹配。仿真結(jié)果表明:與具有較高匹配精度和匹配速度的ORB雙目匹配算法相比,本算法有更快的匹配速度和更高精度。
雙目視覺(jué);雙目立體匹配;共享坐標(biāo)系;特征點(diǎn)匹配
隨著機(jī)器視覺(jué)技術(shù)的快速發(fā)展,越來(lái)越多的行業(yè)引入機(jī)器視覺(jué)設(shè)備來(lái)提高生產(chǎn)效率。雙目立體視覺(jué)技術(shù)是機(jī)器視覺(jué)領(lǐng)域的重要研究方向,而立體匹配技術(shù)在雙目測(cè)量中尤為關(guān)鍵。
目前,應(yīng)用較多的立體匹配算法有SURF(Speed Up Robust Features),F(xiàn)LANN(Fast Library for Approximate Nearest Neighbors),SIFT(Scale Invariant Feature Transform)和ORB(Oriented Brief)等[1-2]。但這些算法很難做到匹配速度與精度之間的平衡。
為此,本文提出一種基于共享坐標(biāo)系的雙目立體匹配算法[3],利用共享坐標(biāo)系進(jìn)行特征點(diǎn)位置鎖定,從而快速實(shí)現(xiàn)特征點(diǎn)的匹配。
在雙目立體匹配過(guò)程中,對(duì)雙目相機(jī)進(jìn)行高精度標(biāo)定是提高雙目匹配精度的保障。對(duì)雙目相機(jī)進(jìn)行標(biāo)定時(shí),首先,左右相機(jī)分別采集一組包含各種姿態(tài)的標(biāo)定板圖像集,并記錄左右相機(jī)的相對(duì)位置關(guān)系;然后,利用OpenCV或Matlab的相機(jī)標(biāo)定工具箱得到相機(jī)的內(nèi)參矩陣和畸變系數(shù)。相機(jī)標(biāo)定圖像集如圖1所示。
利用雙目相機(jī)的內(nèi)參矩陣和畸變系數(shù)對(duì)左右圖像進(jìn)行水平矯正和旋轉(zhuǎn)矯正;利用雙目圖像的唯一性約束、相容性約束、連續(xù)性約束、極線約束和順序一致性約束等約束準(zhǔn)則提高左右圖像的匹配精度。經(jīng)過(guò)水平矯正和極線約束矯正后的雙目圖像如圖2所示。
圖2 水平矯正和極線約束矯正后的雙目圖像
由圖2可見(jiàn):左右圖像上的特征點(diǎn)均位于同一條極線上。在進(jìn)行特征點(diǎn)匹配時(shí),可以將匹配范圍由全圖縮小至一條極線,從而大大降低計(jì)算量。
特征點(diǎn)檢測(cè)是機(jī)器視覺(jué)領(lǐng)域的一個(gè)重要研究方向。目前已有很多成熟的特征點(diǎn)檢測(cè)算法[4-7],如,F(xiàn)AST角點(diǎn)檢測(cè)算法、Harris角點(diǎn)檢測(cè)算法等;也可以通過(guò)形態(tài)學(xué)或圖像灰度閾值處理方法提取圖像的特征點(diǎn)。
本文采用FAST角點(diǎn)檢測(cè)算法對(duì)圖像進(jìn)行特征點(diǎn)檢測(cè)。FAST基本思想源于corner定義,即檢測(cè)候選點(diǎn)周?chē)袼攸c(diǎn)的像素值,如果候選點(diǎn)周?chē)徲騼?nèi)有足夠多的像素點(diǎn)與該候選點(diǎn)的灰度值差別夠大,則認(rèn)為該候選點(diǎn)為一個(gè)角點(diǎn)。
FAST檢測(cè)角點(diǎn)過(guò)程:
3)非極大抑制,首先,計(jì)算角點(diǎn)的FAST得分,如式(1)所示,即12個(gè)連續(xù)像素點(diǎn)的像素值與點(diǎn)像素值差值的絕對(duì)值之和;然后,比較相鄰2個(gè)角點(diǎn)的,保留較大的角點(diǎn)。
式中,為與像素點(diǎn)P相鄰的第i個(gè)像素點(diǎn);p為像素點(diǎn)P的像素值;為12個(gè)連續(xù)像素點(diǎn)像素值的均值。
利用FAST角點(diǎn)檢測(cè)算法對(duì)雙目圖像中的左圖進(jìn)行檢測(cè)的效果如圖4所示。
圖4 FAST檢測(cè)算法對(duì)左圖特征點(diǎn)檢測(cè)效果圖
由圖4可知,眼睛位置的特征點(diǎn)較為密集,其他位置的特征點(diǎn)分布均比較稀疏。從左圖中的所有特征點(diǎn)中選取一個(gè)最優(yōu)的特征點(diǎn)作為左圖中的共享坐標(biāo)系的原點(diǎn),再利用上述的極線約束在右圖中匹配對(duì)應(yīng)的共享坐標(biāo)系原點(diǎn)。
首先,利用FAST角點(diǎn)檢測(cè)算法檢測(cè)雙目圖像中左圖像上的所有特征點(diǎn)(不需要對(duì)右圖進(jìn)行所有特征點(diǎn)的檢測(cè));然后,對(duì)左圖像上的所有特征點(diǎn)領(lǐng)域像素進(jìn)行顯著性檢驗(yàn),即對(duì)特征點(diǎn)所在位置3×3范圍內(nèi)的像素點(diǎn)進(jìn)行均方差計(jì)算。為減少計(jì)算量,設(shè)定特征點(diǎn)顯著性均方差大于設(shè)定閾值即立刻選定為共享坐標(biāo)系原點(diǎn),如式(2)所示,從而停止對(duì)特征點(diǎn)的顯著性檢驗(yàn)。
特征點(diǎn)進(jìn)行匹配時(shí),需要用一個(gè)描述算子對(duì)左右圖像的特征點(diǎn)進(jìn)行描述,再根據(jù)描述算子的匹配程度進(jìn)行特征點(diǎn)匹配。
1)確定特征描述子:根據(jù)立體匹配需求,特征點(diǎn)的描述信息越詳細(xì)越有利于特征點(diǎn)精確匹配。但描述詳細(xì)意味著需要巨大的計(jì)算量。為達(dá)到特征點(diǎn)快速、精確的匹配效果,以每個(gè)特征點(diǎn)像素周?chē)?個(gè)像素點(diǎn)的灰度值與特征點(diǎn)灰度的關(guān)系作為描述。將周?chē)?個(gè)像素點(diǎn)與特征點(diǎn)的灰度關(guān)系簡(jiǎn)化為?1,0,1三種關(guān)系。特征描述子的閾值為
圖5 特征點(diǎn)描述子示意圖
2)尋找共享坐標(biāo)系原點(diǎn):利用特征描述子可以實(shí)現(xiàn)特征點(diǎn)間的匹配。對(duì)右圖像與左圖像原點(diǎn)同極線上的所有像素點(diǎn)進(jìn)行遍歷匹配。計(jì)算左右圖像中匹配的2個(gè)特征點(diǎn)描述子間的差異程度并將遍歷所得的差異程度最小的那個(gè)像素點(diǎn)作為最優(yōu)匹配點(diǎn)。
式(5)與式(4)的不同處在于,不同步,從而實(shí)現(xiàn)匹配的旋轉(zhuǎn)不變性。
匹配得到一對(duì)最優(yōu)的特征點(diǎn)后,以這對(duì)特征點(diǎn)作為左右圖像的原點(diǎn)建立共享坐標(biāo)系,如圖6所示。
圖6 共享坐標(biāo)系示意圖
共享坐標(biāo)系建立后,計(jì)算左右圖像坐標(biāo)的偏移關(guān)系。以左圖像為基準(zhǔn),設(shè)左圖原點(diǎn)坐標(biāo)為1(1,1),右圖原點(diǎn)坐標(biāo)為2(2,2)。雙目圖像間的水平偏移量和垂直偏移量為
根據(jù)坐標(biāo)系偏移量進(jìn)行特征點(diǎn)匹配:將左圖中的每一個(gè)特征點(diǎn)T1(x1,y1)加上坐標(biāo)偏移量,鎖定其在右圖中對(duì)應(yīng)的匹配特征點(diǎn)T2(x2,y2)。
由于圖像畸變很難完全消除,用坐標(biāo)系偏移量進(jìn)行特征點(diǎn)匹配時(shí),根據(jù)偏移量計(jì)算得到的匹配點(diǎn)與最佳匹配特征點(diǎn)之間會(huì)出現(xiàn)位置偏差。為消除這個(gè)偏差,由偏移量定位對(duì)應(yīng)匹配特征點(diǎn)位置后,再對(duì)該鎖定像素點(diǎn)進(jìn)行局部區(qū)域遍歷尋找最優(yōu)匹配特征點(diǎn)。根據(jù)雙目圖像的矯正效果可以選擇3×3或5×5的矩形區(qū)域作為尋優(yōu)的目標(biāo)區(qū)域[8]。
本實(shí)驗(yàn)采用Windows10操作系統(tǒng);軟件平臺(tái)為Visual Studio 2019;處理器AMD Ryzen 3700X 8-Core Processor 3.60 GHz;內(nèi)存8 GB。
在雙目圖像中通過(guò)極線約束提取一對(duì)最優(yōu)匹配特征點(diǎn)分別作為左右圖像的原點(diǎn)建立雙目圖像的共享坐標(biāo)系。通過(guò)共享坐標(biāo)系實(shí)現(xiàn)立體匹配時(shí)特征點(diǎn)的直接位置鎖定,提高了算法的匹配速度。匹配效果如圖7所示。
圖7 共享坐標(biāo)系特征點(diǎn)匹配效果圖
ORB算法特征點(diǎn)匹配效果圖如圖8所示。將本文共享坐標(biāo)系算法與ORB算法進(jìn)行對(duì)比,結(jié)果如表1所示。
圖8 ORB算法特征點(diǎn)匹配效果圖
表1 ORB算法與共享坐標(biāo)系算法數(shù)據(jù)比較
ORB算法進(jìn)行雙目立體匹配后,完成435對(duì)特征點(diǎn)匹配;共享坐標(biāo)系完成308對(duì)特征點(diǎn)匹配。圖8比圖7多了一些傾斜的直線,雙目圖像相應(yīng)的特征點(diǎn)對(duì)應(yīng)在同一水平線上,所以這些傾斜匹配特征點(diǎn)對(duì)是誤匹配的結(jié)果,對(duì)應(yīng)表1中ORB算法的誤匹配特征點(diǎn)對(duì)數(shù)。共享坐標(biāo)系算法是將特征點(diǎn)限制在同一極線上進(jìn)行匹配,不會(huì)出現(xiàn)匹配的特征點(diǎn)對(duì)在不同水平線上的錯(cuò)誤,因此共享坐標(biāo)系算法的誤匹配特征點(diǎn)對(duì)數(shù)為0。ORB算法完成立體匹配耗時(shí)1947 ms;共享坐標(biāo)系算法完成立體匹配耗時(shí)1013 ms。
通過(guò)在雙目圖像上建立共享坐標(biāo)系,從而在雙目特征點(diǎn)匹配過(guò)程中實(shí)現(xiàn)直接鎖定匹配點(diǎn)位置匹配方式,相對(duì)于全局匹配尋優(yōu)的雙目立體匹配算法,提高了匹配速度;同時(shí)將匹配點(diǎn)位置進(jìn)行限制,提高了匹配精度。只有左右圖像的原點(diǎn)匹配精度高才能保障后續(xù)立體匹配的精度,當(dāng)然鎖定匹配點(diǎn)位置后的區(qū)域?qū)?yōu)也可以彌補(bǔ)算法對(duì)共享坐標(biāo)系原點(diǎn)精度的依賴(lài)。
[1] 原淵.基于ORB特征描述子與隨機(jī)森林的條碼缺陷識(shí)別算法[J].國(guó)外電子測(cè)量技術(shù),2019,38(7):61-64.
[2] 張米令.室內(nèi)移動(dòng)機(jī)器人RGB-D SLAM算法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2018.
[3] RIDEAUX Reuben, WELCHMAN Andrew E. Contextual effects on binocular matching are evident in primary visual cortex[J]. Vision research,2019,159:76-85.
[4] 劉炳銳.基于點(diǎn)線特征的雙目視覺(jué)同時(shí)定位與地圖構(gòu)建算法研究[D].成都:電子科技大學(xué),2019.
[5] 王敏行.一種雙目視覺(jué)的精準(zhǔn)立體匹配算法[J].科學(xué)技術(shù)創(chuàng)新,2019(13):7-9.
[6] 白明,莊嚴(yán),王偉.雙目立體匹配算法的研究與進(jìn)展[J].控制與決策,2008(7):721-729.
[7] 劉小群.基于雙目立體視覺(jué)的立體匹配算法研究[D].長(zhǎng)沙:中南大學(xué),2011.
[8] WANG Di, LIU Hua, CHENG Xiang. A miniature binocular endoscope with local feature matching and stereo matching for 3D measurement and 3D reconstruction[J]. Sensors (Basel, Switzerland),2018,18(7):2243.
Realization of Binocular Stereo Matching Algorithm Based on Shared Coordinate System
Du Juan1,2Qiu Haitao1,2
(1. School of Automation Science and Control Engineering, South China University of Technology, Guangzhou 510641, China 2. Guangdong Provincial Engineering Laboratory for Advanced Chip Intelligent Packaging Equipment, South China University of Technology, Guangzhou 510641, China)
In the application of binocular vision, stereo matching is an important part to measure the speed and accuracy of the whole vision system. A binocular stereo matching algorithm based on shared coordinate system is proposed. A shared coordinate system is established on the left and right images of binocular stereo matching, and the horizontal and vertical offsets of the left and right images are calculated according to the position relationship of the origin of the two coordinate systems. When matching feature points, the positions of the corresponding matching points can be quickly located according to the horizontal and vertical offsets. Each feature point generates descriptors according to the gray value relationship between it and the surrounding 8 pixel points. It is located by sharing coordinate system and then the descriptors are used to traverse and match the location area. Compared with ORB binocular matching algorithms, simulation results show that this algorithm has faster matching speed and higher accuracy.
binocular vision; binocular stereo matching; shared coordinate system; feature point matching
廣州市科技計(jì)劃項(xiàng)目(201707010061);華南理工大學(xué)中央高校業(yè)務(wù)費(fèi)項(xiàng)目(2018KZ14);廣東省科技計(jì)劃項(xiàng)目國(guó)際科技合作領(lǐng)域(2019A050510007)。
杜娟,女,1975年生,工學(xué)博士,副教授,主要研究方向:機(jī)器視覺(jué)、圖像處理、智能控制。E-mail: dujuan@scut.edu.cn
邱海濤,男,1994年生,工學(xué)碩士,主要研究方向:機(jī)器視覺(jué)、圖像處理、雙目視覺(jué)、視覺(jué)檢測(cè)。E-mail: 1207831325@qq.com
TP311.1
A
1674-2605(2020)05-0002-05
10.3969/j.issn.1674-2605.2020.05.002