黃 建 李施陽 章秀華 吳錦夢(mèng)
(武漢工程大學(xué)電氣信息學(xué)院 武漢 430205)
近些年,隨著計(jì)算機(jī)算力的提升,三維重建技術(shù)得到廣泛應(yīng)用。雙目立體視覺作為三維重建技術(shù)的一個(gè)重要分支,具有經(jīng)濟(jì)、高效的優(yōu)點(diǎn)。相機(jī)標(biāo)定是雙目立體視覺技術(shù)中最基礎(chǔ)和最重要的工作,其精度直接決定雙目三維重建的效果。因此,研究一種適用于復(fù)雜應(yīng)用場(chǎng)景的靈活、穩(wěn)定和高精度的相機(jī)標(biāo)定方法,成為雙目立體視覺領(lǐng)域重要的工作之一。
雙目相機(jī)標(biāo)定的本質(zhì)是根據(jù)數(shù)學(xué)模型計(jì)算特征點(diǎn)三維空間坐標(biāo)與二維圖像坐標(biāo)之間的投影關(guān)系[1~2]。工業(yè)應(yīng)用中常見的標(biāo)定方法多為張氏標(biāo)定法及其改進(jìn)算法[3~5]。張氏標(biāo)定法是通過計(jì)算棋盤格角點(diǎn)的空間坐標(biāo)與圖像坐標(biāo)的映射關(guān)系得到相機(jī)參數(shù),其中角點(diǎn)的空間坐標(biāo)已知,相機(jī)參數(shù)的標(biāo)定精度就依賴于圖像坐標(biāo)系中角點(diǎn)的提取精度[6]。此方法主要存在兩方面的問題,其一是在復(fù)雜背景中棋盤格角點(diǎn)提取不準(zhǔn)確;其二是由于棋盤格標(biāo)定板中心對(duì)稱,左右圖像中建立的圖像坐標(biāo)系可能不一致,導(dǎo)致同名特征點(diǎn)匹配失敗。德國MVtec公司在軟件HALCON中使用有方向標(biāo)識(shí)的Halcon標(biāo)定靶進(jìn)行標(biāo)定,利用圓形特征點(diǎn)代替棋盤格角點(diǎn),提高了特征點(diǎn)的提取精度[7~8]。在實(shí)際應(yīng)用中,相機(jī)需要從多個(gè)角度采集Halcon標(biāo)定靶的圖像,會(huì)使標(biāo)定靶的圓形特征點(diǎn)投影到成像平面后變?yōu)闄E圓特征點(diǎn),而成像平面上橢圓特征點(diǎn)的中心與標(biāo)定靶上對(duì)應(yīng)圓形特征點(diǎn)圓心在成像平面上的投影并不重合,因此直接擬合橢圓中心點(diǎn)的方法存在誤差,影響相機(jī)標(biāo)定精度[9~10]。
為了克服上述缺點(diǎn),文中提出一種基于Halcon標(biāo)定靶感興趣區(qū)域約束的透視變換的方法進(jìn)行標(biāo)定,能夠從復(fù)雜背景中精確提取特征點(diǎn)的坐標(biāo),提高標(biāo)定精度。方法包含了兩個(gè)方面的創(chuàng)新點(diǎn):一是,利用改進(jìn)的角點(diǎn)提取算法從復(fù)雜背景中提取感興趣區(qū)域,消除了復(fù)雜背景對(duì)特征點(diǎn)提取的影響;二是,通過對(duì)感興趣區(qū)域透視變換,將橢圓特征點(diǎn)正投影到成像平面上,降低了直接擬合橢圓中心點(diǎn)的誤差。
1)連通域角點(diǎn)粗提取
通過對(duì)Douglas-Peucker算法[12]改進(jìn)來粗提取連通域角點(diǎn),Douglas-Peucker算法的核心思想是曲線上的角點(diǎn)與參考直線之間的距離最大,且最大距離大于距離閾值,如圖1中點(diǎn)P和點(diǎn)Q是曲線已知的兩個(gè)端點(diǎn),Wi是提取的角點(diǎn)。Douglas-Peucker算法只適用于提取已知端點(diǎn)的曲線上的角點(diǎn),而閉合的連通域沒有明確的起止端點(diǎn),故對(duì)Douglas-Peucker算法改進(jìn):首先隨機(jī)選擇連通域上任意一點(diǎn)P和離P最遠(yuǎn)的點(diǎn)Q作為起止的兩個(gè)端點(diǎn),然后將連通域分為上下兩部分,分別提取角點(diǎn),如圖2所示。
圖1 Douglas-Peucker算法
圖2 連通域角點(diǎn)提取圖
2)干擾角點(diǎn)剔除
在粗略提取連通域角點(diǎn)過程中,由于隨機(jī)的起止端點(diǎn)的引入和局部凸起像素的影響,會(huì)提取到干擾角點(diǎn),如圖2中點(diǎn)Wi是干擾角點(diǎn),本文設(shè)計(jì)了一種方法剔除干擾角點(diǎn)。
定義dist(A,B)為兩個(gè)點(diǎn)的距離,Δ(A,B,C)為線段AB與BC斜率差的絕對(duì)值,如式(1)。
假設(shè)有n個(gè)待判斷角點(diǎn),真實(shí)角點(diǎn)之間最小距離為d,Δ(A,B,C)小于α則B點(diǎn)是干擾點(diǎn),點(diǎn)Pi,Pj,Pj+1是迭代變量,則干擾角點(diǎn)剔除的方法步驟如下:
步驟1:若dist(Pi,Pj)<d,則Pj是干擾角點(diǎn),j+1后重復(fù)步驟1,否則執(zhí)行步驟2;
步驟2:若Δ(Pi,Pj,Pj+1)<α,則Pj是干擾角點(diǎn),j+1后重復(fù)步驟1,否則點(diǎn)Pj是真實(shí)的角點(diǎn),令i=j,j+1后重復(fù)步驟1,當(dāng)j=n時(shí)執(zhí)行步驟3,當(dāng)j=n+1時(shí)執(zhí)行步驟4,當(dāng)j=n+2時(shí)結(jié)束判斷;
步驟3:Pi不變,令j=n,初始點(diǎn)賦值給點(diǎn)Pj+1后執(zhí)行步驟1;
步驟4:Pi不變,初始點(diǎn)賦值給點(diǎn)Pj,將第一個(gè)真實(shí)角點(diǎn)賦值給點(diǎn)Pj+1后執(zhí)行步驟1。
3)感興趣區(qū)域角點(diǎn)坐標(biāo)確定
由于感興趣區(qū)域是由5條直線圍成的五邊形,利用式(2)點(diǎn)到線的距離公式將輪廓點(diǎn)分為5部分分別表示五邊形的每條邊,用最小二乘法[13]分別擬合五條邊的直線方程,最后用式(3)依次計(jì)算相鄰邊的交點(diǎn),作為感興趣區(qū)域的最終角點(diǎn)坐標(biāo)。
式(2)中u、v是點(diǎn)的橫縱坐標(biāo),直線的方程表示為直線Ax+B y+C=0。
式(3)中參與計(jì)算的兩個(gè)邊長(zhǎng)方程分別是y=a1x+b1和y=a2x+b2。
1)特征點(diǎn)坐標(biāo)擬合
空間中橢圓向相機(jī)成像平面投影時(shí),相機(jī)坐標(biāo)系與橢圓正交坐標(biāo)系不重合,使得感興趣區(qū)域內(nèi)橢圓中心的真實(shí)投影點(diǎn)發(fā)生偏移,如圖3所示,如果直接提取感興趣區(qū)域內(nèi)橢圓的中心坐標(biāo),橢圓中心圖像坐標(biāo)與其三維坐標(biāo)不能準(zhǔn)確對(duì)應(yīng)[9]。
圖3 空間橢圓中心的透視投影示意圖
通過在提取橢圓中心坐標(biāo)之前對(duì)感興趣區(qū)域進(jìn)行透視變換減小誤差,記理想情況下感興趣區(qū)域內(nèi)一點(diǎn)為(u,v),提取的與之對(duì)應(yīng)點(diǎn)的坐標(biāo)是(x,y),則透視變換可以描述如式(4)。
上式中P是透視變換矩陣,其中p33=1,利用理想情況下角點(diǎn)坐標(biāo)和提取的角點(diǎn)坐標(biāo)解P矩陣,然后對(duì)感興趣區(qū)域透視變換并用最小二乘法擬合橢圓[14]得到橢圓的中心坐標(biāo)。
2)特征點(diǎn)匹配
左、右圖像的感興趣區(qū)域經(jīng)過透視變換后圖像坐標(biāo)系相同,可以通過計(jì)算特征點(diǎn)之間的最小距離匹配同名特征點(diǎn),然后分別乘以左、右圖像的透視變換逆矩陣P-1得到已匹配特征點(diǎn)的準(zhǔn)確坐標(biāo)。
綜上所述,文中雙目相機(jī)標(biāo)定方法流程可總結(jié)如圖4所示。
圖4 雙目相機(jī)參數(shù)標(biāo)定流程圖
為了驗(yàn)證本文方法精度,采用兩臺(tái)FLIR面陣CMOS相機(jī)構(gòu)成雙目立體視覺系統(tǒng),其中相機(jī)鏡頭分辨率為2448像素×2048像素,像素尺寸為3.45μm×3.45μm,使用HC150-7.5,7×7型Halcon標(biāo)定靶。結(jié)合OpenCV庫圖像處理函數(shù)和張氏標(biāo)定原理,在VS 2017編程環(huán)境下編寫標(biāo)定程序,采集復(fù)雜背景中標(biāo)定圖像16組,如圖5所示。
圖5 16組標(biāo)定圖像
圖6為利用本文方法對(duì)采集的圖像進(jìn)行處理得到的結(jié)果,其中圖6(a)是在原圖中提取的感興趣區(qū)域角點(diǎn),圖6(b)是感興趣區(qū)域的透視變換圖。圖7是感興趣區(qū)域內(nèi)特征點(diǎn)提取和匹配的結(jié)果圖,左、右圖中相同編號(hào)表示同名特征點(diǎn)。
圖6 感興趣區(qū)域
圖7 特征點(diǎn)匹配
為驗(yàn)證本文特征點(diǎn)提取方法對(duì)雙目相機(jī)標(biāo)定精度的影響,使用本文方法和文獻(xiàn)[8]中基于HALCON的標(biāo)定方法分別利用圖5中的16組圖像進(jìn)行雙目相機(jī)參數(shù)標(biāo)定,并在相同背景下采集16組GP260-9*9棋盤格標(biāo)定板圖形,利用文獻(xiàn)[15]中基于張氏標(biāo)定的方法對(duì)雙目相機(jī)進(jìn)行參數(shù)標(biāo)定,標(biāo)定結(jié)果保留小數(shù)點(diǎn)后四位,如表1所示。
表1 相機(jī)參數(shù)標(biāo)定結(jié)果
通過重投影法對(duì)文獻(xiàn)[8]、文獻(xiàn)[15]和本文方法的標(biāo)定結(jié)果進(jìn)行評(píng)估。利用表1中雙目相機(jī)參數(shù)標(biāo)定的結(jié)果,計(jì)算可得每幅圖像中特征點(diǎn)平均重投影誤差如圖8所示,其中編號(hào)1~16的數(shù)據(jù)表示左圖像,編號(hào)17~32的數(shù)據(jù)表示右圖像。
圖8 重投影誤差圖
對(duì)圖8中的32幅圖像特征點(diǎn)平均重投影誤差再平均可得文獻(xiàn)[8]、文獻(xiàn)[15]和本文方法的整體平均投影誤差分別是0.03像素、0.04像素和0.01像素,對(duì)比可知利用本文方法標(biāo)定取得的結(jié)果優(yōu)于文獻(xiàn)[8]和文獻(xiàn)[15]的方法,特征點(diǎn)平均重投影誤差更小,精度更高。
本文主要研究雙目相機(jī)參數(shù)的標(biāo)定,針對(duì)在復(fù)雜背景中傳統(tǒng)相機(jī)標(biāo)定方法對(duì)特征點(diǎn)提取不準(zhǔn)確,導(dǎo)致相機(jī)標(biāo)定精度不高的問題,提出一種基于Halcon標(biāo)定靶感興趣區(qū)域約束的透視變換方法,能夠從復(fù)雜背景中精確提取特征點(diǎn)坐標(biāo)。通過改進(jìn)的角點(diǎn)提取方法獲取Halcon標(biāo)定靶上的感興趣區(qū)域,消除背景對(duì)特征點(diǎn)提取的影響;通過利用透視變換將橢圓特征點(diǎn)正投影到成像平面上和最小二乘法橢圓擬合降低特征點(diǎn)坐標(biāo)的提取誤差;然后匹配同名特征點(diǎn)并使用張氏標(biāo)定原理計(jì)算雙目相機(jī)的參數(shù)。對(duì)比傳統(tǒng)標(biāo)定方法在復(fù)雜應(yīng)用場(chǎng)景中的標(biāo)定精度,實(shí)驗(yàn)結(jié)果表明,本文的標(biāo)定方法重投影誤差更小,標(biāo)定精度更高。