鄒 宇
(江蘇開放大學(xué),江蘇 南京 210012)
雙目視覺技術(shù)指的是使用相機(jī)代替人眼獲取不同的圖像運(yùn)動(dòng)信息,再將人類大腦的思維通過視覺處理器模擬出來,從同一場(chǎng)景的不同角度對(duì)物體進(jìn)行二維圖像拍攝,最終恢復(fù)物體的三維坐標(biāo)。雙目視覺技術(shù)的計(jì)算精度高、實(shí)現(xiàn)簡(jiǎn)單,屬于人工智能視覺領(lǐng)域的重點(diǎn)研究問題。雙目視覺技術(shù)的特點(diǎn)明顯,尤其在人類無法作業(yè)的場(chǎng)景,包括高危環(huán)境、有害環(huán)境等,雙目視覺技術(shù)已經(jīng)應(yīng)用于各行各業(yè),是其他目標(biāo)定位技術(shù)無法超越的一種圖像獲取技術(shù)。因此,雙目視覺技術(shù)一直是人工智能領(lǐng)域的重點(diǎn)技術(shù)。該文提出的基于雙目視覺技術(shù)的定位控制系統(tǒng)包括系統(tǒng)構(gòu)建、相機(jī)標(biāo)定、圖像預(yù)處理、圖像匹配和信息獲取等。
圖像平滑技術(shù)也稱圖像模糊處理技術(shù),屬于一種速度快、準(zhǔn)確率高且操作簡(jiǎn)單的圖像處理技術(shù),圖像平滑技術(shù)能夠有效降低圖像中的噪聲,避免圖像失真。
一般情況下,數(shù)字信號(hào)在傳輸過程中產(chǎn)生的數(shù)據(jù)錯(cuò)誤容易造成圖像脈沖噪聲的出現(xiàn)。如要判斷是否出現(xiàn)了脈沖噪聲,需要確定一點(diǎn)的像素值,再與其他像素點(diǎn)的灰度值進(jìn)行比對(duì),這樣可以獲得脈沖噪聲與其他像素點(diǎn)灰度特征值的差異。通常情況下,脈沖噪聲是相鄰域中像素點(diǎn)灰度特征的極值。然而,像脈沖噪聲極值點(diǎn)也經(jīng)常會(huì)存在于其他區(qū)域或邊界,判斷脈沖噪聲點(diǎn)不能僅依靠極值點(diǎn)實(shí)現(xiàn),同時(shí)要綜合考慮其他因素。
高斯噪聲模型廣泛應(yīng)用于圖像平滑技術(shù)領(lǐng)域的原因是高斯噪聲的數(shù)據(jù)整理率在圖像的空間域或頻域較高。高斯噪聲包括2個(gè)特征:一個(gè)是高斯噪聲的噪聲波動(dòng)和噪聲密度較大;另一個(gè)是高斯噪聲圖像中每個(gè)像素的灰度級(jí)都會(huì)被影響,其干擾圖像像素的范圍較廣,即使是相同灰度級(jí)的像素受高斯噪聲干擾的程度也不同。
雙目立體視覺定位系統(tǒng)主要是通過獲取圖像的深度信息以得到圖像的三維立體信息。在完成圖像預(yù)處理工作和圖像立體匹配工作后,實(shí)現(xiàn)相機(jī)立體標(biāo)定,再采用三角測(cè)量的模式,用2個(gè)相機(jī)對(duì)相同目標(biāo)物體拍攝圖像,進(jìn)而從視差中恢復(fù)距離。為了最終能夠獲得空間物體目標(biāo)在現(xiàn)實(shí)領(lǐng)域中的實(shí)際物理形態(tài),雙目立體視覺定位系統(tǒng)要綜合考慮包括根據(jù)立體匹配結(jié)果獲得視差以及根據(jù)視差對(duì)物體目標(biāo)的特征進(jìn)行三維坐標(biāo)還原等在內(nèi)的多個(gè)問題。
該文創(chuàng)建的雙目視覺立體定位系統(tǒng)結(jié)構(gòu)如圖1所示。1) 相機(jī)。該文選取的相機(jī)像素是130萬,屬于工業(yè)級(jí)黑白相機(jī),USB接口免驅(qū)安裝,工作電壓為5V。2個(gè)相機(jī)可以通過USB接口與計(jì)算機(jī)連接,實(shí)現(xiàn)數(shù)據(jù)信息傳輸。由于相機(jī)不用安裝驅(qū)動(dòng),也不需要數(shù)據(jù)采集卡,通過MFC編程就可以實(shí)現(xiàn)對(duì)圖像的采集和保存,同時(shí)可以控制圖像尺寸大小和實(shí)際曝光時(shí)間。通過手動(dòng)方式調(diào)整鏡頭的焦距距離,對(duì)圖像進(jìn)行捕捉時(shí),要確保相機(jī)內(nèi)部參數(shù)固定。不采用自動(dòng)對(duì)焦鏡頭進(jìn)行圖像捕捉的原因是進(jìn)行標(biāo)定后的相機(jī)內(nèi)部參數(shù)不能改變。2) 計(jì)算機(jī)。雙目視覺立體定位系統(tǒng)對(duì)計(jì)算機(jī)顯卡和處理器要求較高,如果計(jì)算機(jī)內(nèi)存過小,處理器計(jì)算速度較低,系統(tǒng)圖像處理模塊中的大量算法計(jì)算會(huì)導(dǎo)致計(jì)算機(jī)出現(xiàn)卡頓等情況。系統(tǒng)為了能夠有效顯示目標(biāo)物體定位結(jié)果,完全呈現(xiàn)目標(biāo)物體圖像和拍攝圖像,需要性能較好的計(jì)算機(jī),因此,該文選自i3處理器的臺(tái)式機(jī)。3) 平臺(tái)。該文進(jìn)行的圖像捕捉試驗(yàn)需要一個(gè)木制平板,為了能夠有效實(shí)現(xiàn)對(duì)目標(biāo)物體的準(zhǔn)確定位,可以固定2臺(tái)CCD相機(jī)的安裝平臺(tái)。
圖1 雙目視覺立體定位系統(tǒng)硬件組成圖
雙目視覺立體定位系統(tǒng)采用了MFC編程方式,能夠在Windows操作系統(tǒng)中運(yùn)行,同時(shí)調(diào)用了Open CV函數(shù)庫(kù)完成了系統(tǒng)控制程序的編譯,系統(tǒng)流程圖如圖2所示。
圖2 雙目視覺立體定位系統(tǒng)流程圖
如圖3所示,手繪黑白棋盤格圖像置于質(zhì)地堅(jiān)硬的平板上,10×10邊長(zhǎng)設(shè)為2cm的黑白格,目標(biāo)是排除誤差較大的角點(diǎn)并排除誤差較多的點(diǎn)。同時(shí)將相機(jī)標(biāo)定的圖像和目標(biāo)物體的圖像數(shù)據(jù)傳輸?shù)接?jì)算機(jī)系統(tǒng)中并保存。
圖3 圖像采集模塊示意圖
如圖4所示,將左右相機(jī)固定,對(duì)棋盤進(jìn)行移動(dòng)操作,共采集圖像20組,全部由相機(jī)進(jìn)行圖像捕捉。分別點(diǎn)擊4個(gè)角點(diǎn),即左上、左下、右上和右下。根據(jù)角點(diǎn)信息計(jì)算獲得圖像主光心坐標(biāo),再依次提取角點(diǎn),重復(fù)以上步驟。
圖4 圖像預(yù)處理模塊示意圖
如圖5所示,原點(diǎn)是圖像左上角的第一個(gè)角點(diǎn),方向指向棋盤模板外,軸垂直于圖像平面,根據(jù)創(chuàng)建的坐標(biāo)系得到每個(gè)角點(diǎn)單應(yīng)性矩陣。同時(shí),通過單應(yīng)性矩陣可得相機(jī)的內(nèi)、外參數(shù)。為了得到更高精度的相機(jī)內(nèi)、外參數(shù),必須增加畸變因數(shù),把標(biāo)定得到的內(nèi)、外參數(shù)進(jìn)行非線性化的求解。
圖5 圖像校正和匹配模塊示意圖
該文對(duì)選擇采集的2組圖像進(jìn)行數(shù)據(jù)校正,得到有效區(qū)域。并通過改進(jìn)基于固定窗口的特征匹配算法獲得自適應(yīng)區(qū)域特征匹配算法,達(dá)到了提高數(shù)據(jù)匹配準(zhǔn)確度和精確度的目的。
如圖6所示,將提前標(biāo)定好的相機(jī)內(nèi)、外參數(shù)和立體匹配得到的視圖差等通過MATLAB標(biāo)定箱導(dǎo)入雙目視覺立體定位系統(tǒng)中,以獲得目標(biāo)物體定位模塊,并計(jì)算得出物體三維坐標(biāo)及位置距離。
圖6 目標(biāo)定位模塊示意圖
該文選用的雙目視覺立體定位系統(tǒng)相機(jī)鏡頭焦距為4mm,屬于工業(yè)相機(jī),將2個(gè)相機(jī)固定在同一水平位置,確保2個(gè)相機(jī)的內(nèi)、外參數(shù)完全一致。相機(jī)內(nèi)部參數(shù)見表1,相機(jī)固定位置如圖7所示。
表1 相機(jī)內(nèi)部參數(shù)
圖7 雙目視覺立體定位系統(tǒng)
標(biāo)定試驗(yàn)的步驟如下。確保目標(biāo)在2個(gè)相機(jī)的視角區(qū)域范圍,將黑白格棋盤模板靜置于2個(gè)相機(jī)前方。在區(qū)域內(nèi)完成平行移動(dòng)和旋轉(zhuǎn)動(dòng)作,試驗(yàn)輔助燈源采用日光燈,防止光線不佳影響拍照質(zhì)量。為了確保旋轉(zhuǎn)矩陣中向量乘積為0,要注意模板的光軸處于交叉狀態(tài)(尤其在對(duì)標(biāo)定棋盤模板進(jìn)行移動(dòng)時(shí))。為了提高標(biāo)定系數(shù)的準(zhǔn)確性,該文試驗(yàn)對(duì)棋盤模板進(jìn)行了20次捕捉拍攝,并使用MATLAB中的工具作為標(biāo)定工具箱。每次對(duì)棋盤進(jìn)行旋轉(zhuǎn)動(dòng)作操作時(shí),相機(jī)即對(duì)棋盤模板進(jìn)行捕捉拍攝,左、右相機(jī)拍攝3次可以得到相機(jī)內(nèi)部參數(shù)。標(biāo)定流程如圖8所示。
圖8 標(biāo)定實(shí)現(xiàn)流程圖
得到的標(biāo)定結(jié)果見表2、表3。
表2 左相機(jī)標(biāo)定結(jié)果
像素誤差 [0.48684,0.35799]
表3 右相機(jī)標(biāo)定結(jié)果
綜上所述,該文選用VS2010開發(fā)軟件,并調(diào)用軟件中的Open CV函數(shù)庫(kù),通過MATLAB軟件編譯了系統(tǒng)MFC控制程序,搭建了系統(tǒng)驗(yàn)證試驗(yàn)平臺(tái)。在基于雙目視覺三維定位與試驗(yàn)的基礎(chǔ)上,從相機(jī)的標(biāo)定、圖像的平滑和增強(qiáng)、立體校正與匹配以及特征點(diǎn)的定位4個(gè)方面進(jìn)行了研究。該文雖然實(shí)現(xiàn)了雙目系統(tǒng)的定位功能,但是由于時(shí)間有限,還需要進(jìn)一步完善和研究。