李宏偉,崔羊威,張賀磊
(1.漯河職業(yè)技術(shù)學(xué)院,漯河462000;2.鄭州航空工業(yè)管理學(xué)院,鄭州450046)
近年來(lái)隨著計(jì)算機(jī)技術(shù)發(fā)展,更多研究學(xué)者和公司開始著手于人工智能技術(shù)的研究和應(yīng)用。以機(jī)器視覺中雙目測(cè)距系統(tǒng)為研究對(duì)象,搭建一套雙目視覺系統(tǒng)進(jìn)行測(cè)量;利用MATLAB和OpenCV平臺(tái)工具,先采集20對(duì)棋盤格圖像進(jìn)行攝像機(jī)的標(biāo)定,再利用標(biāo)定結(jié)果進(jìn)行立體校正,運(yùn)行BM、SGBM、GC和SIFT四種算法,分別對(duì)它們進(jìn)行測(cè)距計(jì)算;結(jié)果表明,錯(cuò)誤率分別是5%、3.6%、2.4%和4.1%,準(zhǔn)確率都很高,都表現(xiàn)出較好的測(cè)量性能。
人工智能;機(jī)器視覺;測(cè)距;OpenCV;錯(cuò)誤率
近些年來(lái),在世界范圍內(nèi)軟件和硬件技術(shù)都有著很大的發(fā)展和突破,使很多科學(xué)理論研究變?yōu)楝F(xiàn)實(shí)為可成。19世紀(jì)50年代的模式識(shí)別[1],它是讓計(jì)算機(jī)使用數(shù)學(xué)的思想方法去解決模式(環(huán)境與客體)的分析處理問題;再到近十年來(lái)被人們廣泛談起的人工智能,讓機(jī)器具有人類思維去分析處理現(xiàn)實(shí)中的問題。很多研究學(xué)者都認(rèn)為模式識(shí)別技術(shù)就是早期的人工智能。人工智能有著廣泛的應(yīng)用范圍,其中機(jī)器視覺[2]是它很重要的一個(gè)分支方向。機(jī)器視覺在無(wú)人駕駛[3]、電力巡檢[4]、物體尺寸測(cè)量[5]、車牌識(shí)別[6]、農(nóng)業(yè)果蔬采摘[7]等眾多領(lǐng)域有著廣泛應(yīng)用。等本文選擇一個(gè)雙目攝像頭,搭建了雙目測(cè)距系統(tǒng)平臺(tái),利用MATLAB與OpenCV工具[8],對(duì)實(shí)驗(yàn)過程中的數(shù)據(jù)進(jìn)行處理分析,最后通過結(jié)論驗(yàn)證實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性和可靠性。
所謂的雙目測(cè)距系統(tǒng)[9],簡(jiǎn)單地說就是在自然的真實(shí)場(chǎng)景中,采用一個(gè)攝像頭在不同的位置采集兩張圖像或者使用雙目攝像頭采集兩張圖像。然后將這兩張圖像通過相應(yīng)的計(jì)算機(jī)視覺圖像算法處理,便可得到所需的數(shù)據(jù)結(jié)果。雙目測(cè)距系統(tǒng)主要是由雙目立體匹配和測(cè)距計(jì)算兩個(gè)部分組成的[10]。其中雙目立體匹配技術(shù)的研究分析一直是研究學(xué)者近些年來(lái)探究的熱點(diǎn)[11],它又可以分為基于區(qū)域的和基于全局的。測(cè)距的計(jì)算部分是在立體匹配算法得到視差圖后,通過測(cè)距數(shù)學(xué)模型進(jìn)行的數(shù)據(jù)計(jì)算和分析[12]。
如圖1,在理想情況下,左攝像頭的中心O1與右攝像頭的中心Or位于同一水平線上,O1Or稱為基線b,都位于三維坐標(biāo)系OaXaYaZa中。其中,Zl、Zr分別是左攝像頭與右攝像頭的光軸,二者是相互平行的,且在空間位置上分別垂直于三維坐標(biāo)系中的Xa軸。三維坐標(biāo)系中任意一點(diǎn)P在左右攝像機(jī)成像平面上的映射點(diǎn)分別是點(diǎn)Pl、點(diǎn)Pr,點(diǎn)P、點(diǎn)Pl、點(diǎn)Pr、點(diǎn)O1、點(diǎn)Or這5這個(gè)是共面的,這個(gè)平面與左右兩個(gè)攝像機(jī)成像平面兩條相交線分別稱為左極線與右極線[13]。

圖1 雙目立體系統(tǒng)

圖2 測(cè)距原理
如圖2,假設(shè)我們的攝像機(jī)是前向平行排列的[14],也就是左攝像機(jī)每一個(gè)像素行與右攝像機(jī)的每一個(gè)像素行相互準(zhǔn)確對(duì)齊的。點(diǎn)P是物理世界中任意點(diǎn),Pl是左圖像上的成像點(diǎn),橫坐標(biāo)為xl;Pr是右圖像上成像點(diǎn),橫坐標(biāo)為xr。在這種理想情況下,我們得到視差與深度(距離)成反比,其中視差被簡(jiǎn)單定義為d,再利用三角形相似我們可以得到如下式子:

通過以上對(duì)測(cè)距系統(tǒng)主要內(nèi)容的介紹,我們可以得到本文中算法的流程圖如圖3所示。

圖3 測(cè)距系統(tǒng)流程圖
在攝像機(jī)的標(biāo)定部分,目前來(lái)說主要有MATLAB和OpenCV兩種工具可以選擇。在MATLAB中又有MATLAB標(biāo)定工具箱和手動(dòng)標(biāo)定TOOLBOX_calib兩種方法,我們選擇使用標(biāo)定精度比較高的TOOL?BOX_calib工具箱進(jìn)行攝像頭的標(biāo)定[15]。下圖是我們使用雙目攝像頭采集到的20對(duì)棋盤格標(biāo)定圖像,盡量使每一對(duì)圖像都有不同的姿態(tài),這樣我們的標(biāo)定結(jié)果越準(zhǔn)確。

圖4 20對(duì)棋盤格圖像
左攝像機(jī)參數(shù)如下:
選擇使用非線性優(yōu)化方法法對(duì)投影誤差進(jìn)行最小化操作,得到優(yōu)化后數(shù)據(jù):
焦距:
fc=[484.81152 483.18178]±[2.32920 2.35419]
圖像中心點(diǎn):
cc=[307.04251 229.27620]±[2.09426 1.54072]
相機(jī)兩坐標(biāo)軸夾角:
alpha_c=[0.00000]±[0.00000]→angles of pixel axes=90.00000±0.00000 degree
畸變:
kc=[0.09218- 0.08036 0.00389- 0.00313 0.00000]±[0.00991 0.02505 0.00122 0.00000 0.00000]
對(duì)右攝像機(jī)進(jìn)行同樣的處理,得到其參數(shù)如下:
選擇使用非線性優(yōu)化方法法對(duì)投影誤差進(jìn)行最小化操作,得到優(yōu)化后數(shù)據(jù):
焦距:
fc=[488.64709 487.20682]±[1.78000 1.83256]
圖像中心點(diǎn):
cc=[297.32973 231.38645]±[1.80916 1.41391]
相機(jī)兩坐標(biāo)軸夾角:
alpha_c=[0.00000]±[0.00000]→angles of pixel axes=90.00000±0.00000 degree
畸變:
kc=[0.07817-0.04069 0.00334-0.00168 0.00000]±[0.00932 0.03458 0.00117 0.00000 0.00000]
先分別對(duì)兩個(gè)相機(jī)進(jìn)行單目標(biāo)定,再使用立體標(biāo)定工具箱(Stereo Camera Calibration Toolbox)進(jìn)行立體標(biāo)定。選擇使用左相機(jī)坐標(biāo)系作為世界坐標(biāo)系,求出相機(jī)間的旋轉(zhuǎn)矩陣R和平移向量T:

本文利用雙目攝像頭對(duì)真實(shí)場(chǎng)景中的圖像進(jìn)行采集,隨機(jī)選擇水杯盒子距離攝像頭300mm的圖像,如圖5所示。

圖5 300mm真實(shí)場(chǎng)景圖像
本文分別在水杯盒子距離攝像頭200mm、300mm、400mm、500mm距離處,在每個(gè)距離點(diǎn)都采集5張圖像,共采集20張圖像,在每一張圖像中選擇同一平面上距離相等的10個(gè)點(diǎn)進(jìn)行求均值作為最終距離。使用MATLAB中我們標(biāo)定的攝像機(jī)參數(shù),利用的BM、SGBM、GC[16]和SIFT[17]這四種算法,對(duì)實(shí)驗(yàn)結(jié)果數(shù)據(jù)進(jìn)行記錄并分析,所得結(jié)果如表1。

圖6 SIFT角點(diǎn)匹配圖

表1 BM、SGBM、GC、SIFT測(cè)距數(shù)據(jù)
從表1中的誤差可以看出:BM算法的精度為5.0%,GC算法的誤差為2.4%,SIFT角點(diǎn)匹配算法和SGBM算法表現(xiàn)居中,誤差分別為4.1%和3.6%。
本文在雙目視覺系統(tǒng)的基礎(chǔ)上,介紹了雙目測(cè)距的原理,結(jié)合OpenCV和MATLAB工具,對(duì)BM、SG?BM、GC、SIFT四種算法的精度進(jìn)行比較分析。一般來(lái)說,雙目立體匹配算法越精確,在最后的測(cè)距計(jì)算部分越準(zhǔn)確。在今后的研究學(xué)習(xí)過程中,我們可以繼續(xù)研究雙目立體匹配算法優(yōu)化上來(lái),得到更加準(zhǔn)確的視差圖;也可以往實(shí)時(shí)的雙目立體技術(shù)進(jìn)行研究,應(yīng)用到具體的工程項(xiàng)目中去。