李日亮, 徐 曉
(華南理工大學(xué) 物理與光電學(xué)院,廣東 廣州 510640)
在機(jī)器視覺領(lǐng)域中,雙目三維重建方法多數(shù)采用提取圖像特征點(diǎn)進(jìn)行特征匹配[1,2],通過(guò)匹配點(diǎn)來(lái)計(jì)算出其對(duì)應(yīng)的空間三維坐標(biāo)[3,4],而特征匹配的方法涉及到的都是二維圖像。由于雙目視差[5,6]的存在,雙目圖像并不相同,只是相似,對(duì)應(yīng)點(diǎn)鄰域的圖像是有差異的。這種差異引起對(duì)應(yīng)點(diǎn)匹配不準(zhǔn),或者找錯(cuò)匹配點(diǎn)而產(chǎn)生誤匹配,從而使計(jì)算出的三維坐標(biāo)不準(zhǔn)確或者計(jì)算出不存在的點(diǎn)[7,8]。大量的實(shí)驗(yàn)和理論表明,只要從不同的方位采集圖像,在三維物體光照情況固定,并且光照條件足夠體現(xiàn)出物體形貌信息的情況下,是可以避免上面的誤匹配問(wèn)題的[9~12]。
但在真實(shí)工況下,被攝物體保持穩(wěn)定姿態(tài)和光照穩(wěn)定的時(shí)間都是有限的;同時(shí)考慮到成本,也不會(huì)用多相機(jī)和硬件復(fù)雜的數(shù)據(jù)處理系統(tǒng)。項(xiàng)目組要設(shè)計(jì)一個(gè)雙目三維重建系統(tǒng),相機(jī)由平移臺(tái)控制,可相對(duì)物體運(yùn)動(dòng),并要求在盡量短的時(shí)間內(nèi),使相機(jī)相對(duì)物體移動(dòng)盡量短的距離和少的次數(shù)采集新圖像,并補(bǔ)充更多的新的目標(biāo)物三維信息??紤]到相機(jī)移動(dòng)以尋求不同拍攝角度時(shí)[12,13],兩相機(jī)間相對(duì)關(guān)系若不固定,也會(huì)為結(jié)果計(jì)算和系統(tǒng)標(biāo)定帶來(lái)復(fù)雜性,并會(huì)降低檢測(cè)復(fù)原的精度[14~16],所以,相機(jī)移動(dòng)是沿精確的已知軌道。在一定精度條件下,是工程可實(shí)現(xiàn)的。命名該方法為抖動(dòng)法[17],仿真實(shí)驗(yàn)驗(yàn)證了本文算法的有效性。
抖動(dòng)法三維復(fù)原系統(tǒng)示意圖如圖1。系統(tǒng)有2個(gè)相機(jī),通過(guò)移動(dòng)平臺(tái)控制使兩相機(jī)位置發(fā)生變動(dòng)[18]。
圖1 抖動(dòng)法三維復(fù)原系統(tǒng)
為驗(yàn)證抖動(dòng)法,仿真僅移動(dòng)相機(jī)1~2次。通過(guò)仿真發(fā)現(xiàn),如果相機(jī)沿基線運(yùn)動(dòng),不能獲得太多的驗(yàn)證信息。而項(xiàng)目組分析發(fā)現(xiàn),極幾何條件要求特征點(diǎn)匹配時(shí),左右圖像β要一樣,移動(dòng)方向要顯著改變雙目成像極幾何條件中的β取法,才能對(duì)最先的三維復(fù)原點(diǎn)有明顯的檢驗(yàn)效果。
為了運(yùn)動(dòng)的典型性和坐標(biāo)易算性,作為典型條件,讓兩相機(jī)分別沿著垂直L1R1方向移動(dòng)。同時(shí),鑒于旋轉(zhuǎn)并不能改變明顯改變?chǔ)氯》?,也不引入相機(jī)旋轉(zhuǎn)。
圖2 算法仿真模型
類似左相機(jī),右相機(jī)有R1-R2系統(tǒng)。其中,∠PR1R2為αR1,∠PR2N為αR2(αR1>0,αR2>0),R1R2垂直于L1R1。R1,R2處相機(jī)圖像的匹配與左相機(jī)處理方式相同。
為計(jì)算直角坐標(biāo),抖動(dòng)法三維重建模型有3個(gè)直角坐標(biāo)系統(tǒng)。圖3(a)為這三個(gè)直角坐標(biāo)系統(tǒng)。L1-R1系統(tǒng)中,以L1為原點(diǎn),L1R1為x軸,L1M為y軸。L1-L2系統(tǒng)中,以L2相機(jī)光心為原點(diǎn),L2L1為x軸,L2Q為y軸。R1-R2系統(tǒng)中,以R1相機(jī)的光心為原點(diǎn),R1R2方向?yàn)閤軸,R1L1方向?yàn)閥軸。三個(gè)坐標(biāo)系統(tǒng)都以垂直于基準(zhǔn)極平面向上為z軸。
圖3 坐標(biāo)轉(zhuǎn)換
設(shè)空間一點(diǎn)P在L1-R1系統(tǒng)的坐標(biāo)為(xp,yp,zp),在L1-L2系統(tǒng)的坐標(biāo)為(xL,yL,zL),在R1-R2系統(tǒng)的坐標(biāo)為(xR,yR,zR);轉(zhuǎn)換關(guān)系如下
(1)
如圖3(b),在L1-L2系統(tǒng)中,面PML2與面HML2的夾角為,∠PL1M=αL1,∠PL2M=αL2;P點(diǎn)坐標(biāo)是(xL,yL,zL);世界坐標(biāo)轉(zhuǎn)換成角度坐標(biāo)如下
(2)
式中αL1,αL2的范圍為(0°,180°)。
本文的實(shí)驗(yàn)步驟如下:
1)圖像L1,R1坐標(biāo)轉(zhuǎn)換,匹配,計(jì)算匹配特征點(diǎn)對(duì)的三維歐氏坐標(biāo)(xp,yp,zp)[19];
2)將三維復(fù)原的空間域坐標(biāo)轉(zhuǎn)換成L1-L2系統(tǒng)的角度坐標(biāo),用圖像L1,L2的角度坐標(biāo)匹配點(diǎn)檢查L(zhǎng)1,R1轉(zhuǎn)換而來(lái)的角度坐標(biāo)是否存在誤匹配點(diǎn),如果有,則淘汰;
3)將剩余點(diǎn)復(fù)原到L1-R1系統(tǒng)空間域,再把空間域坐標(biāo)轉(zhuǎn)換成R1-R2系統(tǒng)的角度坐標(biāo);
4)用圖像R1,R2的角度坐標(biāo)匹配點(diǎn)檢查圖像L1,R1轉(zhuǎn)換而來(lái)的角度坐標(biāo)是否存在誤匹配點(diǎn),如果有,則淘汰;
5)用剩余點(diǎn)進(jìn)行三維重建。
由圖像L1,R1三維復(fù)原特征點(diǎn)的歐氏坐標(biāo)(xp,yp,zp),先轉(zhuǎn)成L1-L2系統(tǒng)的歐氏坐標(biāo)(xL,yL,zL),再通過(guò)式(2),轉(zhuǎn)換成了L1-L2系統(tǒng)的角度坐標(biāo),記為(αL1P,αL2P,βLP)。L1,L2圖像直接匹配,得到匹配點(diǎn)的角度坐標(biāo)為(αL1,αL2,βL);以{(αL1,αL2,βL)}特征點(diǎn)集合為標(biāo)準(zhǔn),來(lái)檢查{(αL1P,αL2P,βLP)}集合中是否有誤匹配點(diǎn)。
如圖4所示,表明了取某個(gè)βL時(shí),且βLP≈βL時(shí),兩類特征點(diǎn)的相互關(guān)系。其中,點(diǎn)表示集合{(αL1,αL2,βL)}中的點(diǎn),圓圈表示{(αL1P,αL2P,βLP)}集合中的點(diǎn)。
圖4 兩集合內(nèi)點(diǎn)的關(guān)系
觀察圖4,{(αL1P,αL2P,βLP)}集合中的點(diǎn),可以分為三類:a.離{(αL1,αL2,βL)}中某個(gè)點(diǎn)較近;b.離{(αL1,αL2,βL)}所有點(diǎn)較遠(yuǎn),但其橫坐標(biāo)離某個(gè)點(diǎn)近;c.橫縱坐標(biāo)都遠(yuǎn)離{(αL1,αL2,βL)}的點(diǎn)。
a類點(diǎn)的劃分標(biāo)準(zhǔn),是其距{(αL1,αL2,βL)}離中最近點(diǎn)的距離小于事先給定的閾值,這類點(diǎn)會(huì)被保留;b類點(diǎn)的劃分標(biāo)準(zhǔn),是其橫坐標(biāo)與{(αL1,αL2,βL)}中的某個(gè)點(diǎn)橫坐標(biāo)的差的絕對(duì)值小于某個(gè)給定閾值,但其縱坐標(biāo)與對(duì)應(yīng)點(diǎn)的縱坐標(biāo)的差距大于某個(gè)閾值,這類點(diǎn)會(huì)被拋棄;c類點(diǎn)就是除a,b類以外的點(diǎn),其如何取舍,取決于這個(gè)點(diǎn)在L1和L2圖上對(duì)應(yīng)位置的灰度值和灰度值沿αL方向一階導(dǎo)相互之間的差距,如果差距大于某個(gè)值,則此點(diǎn)被拋棄,否則,被保留。
圖像L1,R1經(jīng)淘汰后留下來(lái)的點(diǎn),可用作三維復(fù)原。
圖5 實(shí)驗(yàn)組合圓柱
淘汰條件的設(shè)置如下:
1)判斷待淘汰點(diǎn)αL1軸0.02°范圍內(nèi)有沒(méi)有參考點(diǎn),如果有,繼續(xù)判斷待淘汰點(diǎn)αL2軸0.02°范圍內(nèi)有沒(méi)有參考點(diǎn),如果有,則保留該點(diǎn);
2)判斷待淘汰點(diǎn)的αL1軸0.01°范圍內(nèi)有沒(méi)有參考點(diǎn),如果有,繼續(xù)判斷該參考點(diǎn)沿αL2軸方向與該待淘汰點(diǎn)差值絕對(duì)值是不是大于0.02°,如果是,則淘汰該點(diǎn);
3)判斷待淘汰點(diǎn)的αL1軸0.02°范圍內(nèi)有沒(méi)有參考點(diǎn),如果沒(méi)有,判斷待淘汰點(diǎn)的αL2軸0.02°范圍內(nèi)有沒(méi)有參考點(diǎn),如果沒(méi)有,則繼續(xù)判斷該點(diǎn)在L1和L2圖上的灰度值差值絕對(duì)值是否小于30,灰度值一階導(dǎo)差值絕對(duì)值是否小于10。如果同時(shí)滿足兩個(gè)條件則留下該點(diǎn)。如圖4所示。
把組合圓柱體還原在L1-R1系統(tǒng)歐氏坐標(biāo)中,將三維重建結(jié)果以“*”的形式打到同一張圖上。將組合圓柱體和淘汰后三維復(fù)原結(jié)果畫在另一張圖上,如圖6所示。同一行β,匹配錯(cuò)誤一個(gè)點(diǎn)導(dǎo)致的深度方向誤差[6]為3.4 mm。取圓柱面附近一個(gè)像素點(diǎn)距離內(nèi)為正確匹配點(diǎn),由于本次實(shí)驗(yàn)2個(gè)圓柱距離很近,故而取圓柱頂面和底面高度各加減3 mm內(nèi):離圓心距離在(r(半徑)+3)mm以內(nèi)為正確匹配點(diǎn);圓柱底面高度加3 mm到頂面高度減3 mm范圍內(nèi):距離圓柱圓心的距離在[r-3:r+2.25]mm范圍內(nèi)為正確匹配點(diǎn)。統(tǒng)計(jì)數(shù)據(jù)如表1所示。
表1 a,b,c組圓柱過(guò)濾前后正確匹配點(diǎn)
a組圓柱嚴(yán)格匹配三維重建結(jié)果如圖6。
圖6 a組圓柱三維重建結(jié)果
將淘汰前正確率設(shè)為x,淘汰后正確率設(shè)為y,它們之間關(guān)系如圖7(a)所示,小方塊表示a組圓柱數(shù)據(jù),*號(hào)表示b組圓柱數(shù)據(jù),小圓圈表示c組圓柱數(shù)據(jù)。正確率提高量(y-x)/x×100 %與x的關(guān)系如圖7(b)所示。
圖7 正確率統(tǒng)計(jì)
實(shí)驗(yàn)二的目的,將一個(gè)對(duì)讀者有印象的形狀較復(fù)雜的對(duì)象作為目標(biāo)物,來(lái)直觀上檢查方法的有效性。本實(shí)驗(yàn)采用3D仿真軟件Cinema 4D模擬相機(jī)拍攝藝術(shù)家頭像雕塑,放置L1,L2,R1,R2共4個(gè)相機(jī)在4個(gè)不同的位置模擬拍照,得到4張1 628×1 236的圖像。L1(到L2),R1(到R2)的移動(dòng)距離為20 mm。其他實(shí)驗(yàn)參數(shù)設(shè)置與實(shí)驗(yàn)一相同[19]。
圖像L1,R1三維重建結(jié)果如圖8(c)所示。淘汰條件設(shè)置與實(shí)驗(yàn)一相同。
圖8 原始圖像與過(guò)濾前后的三維重建結(jié)果
由圖8可以看出,淘汰后人側(cè)臉有明顯改善。
實(shí)驗(yàn)一表明:三維重建點(diǎn)云經(jīng)過(guò)淘汰后正確點(diǎn)的比例會(huì)提高,證明了實(shí)驗(yàn)方法顯著淘汰錯(cuò)誤點(diǎn)同時(shí)又保留足夠多的正確點(diǎn)。而且,原始匹配的誤匹配率越高,經(jīng)過(guò)抖動(dòng)過(guò)濾的改善情況越明顯。實(shí)驗(yàn)二直觀地表明,在明顯改變?chǔ)氯≈捣较虻那闆r下,左右相機(jī)抖動(dòng)前后的匹配結(jié)果能夠減小傳統(tǒng)三維重建的不確定度,改善三維重建的結(jié)果。
仿真實(shí)驗(yàn)驗(yàn)證了抖動(dòng)算法篩選特征點(diǎn)的有效性。改善率和正確率的函變關(guān)系的確定,為未來(lái)抖動(dòng)法三維重建的運(yùn)動(dòng)步長(zhǎng)以及運(yùn)動(dòng)次數(shù)提供參照,為抖動(dòng)法的工程設(shè)計(jì)和實(shí)現(xiàn),打下了基礎(chǔ)。