陳天凡 高誠(chéng)輝 何炳蔚
1.福州大學(xué),福州,350002 2.福州職業(yè)技術(shù)學(xué)院,福州,350108
利用視覺(jué)傳感器、圖像采集裝置等機(jī)器視覺(jué)產(chǎn)品對(duì)目標(biāo)物體進(jìn)行非接觸三維測(cè)量,獲取物體的三維信息,實(shí)現(xiàn)全自動(dòng)或半自動(dòng)建模,是物體三維重建技術(shù)的一個(gè)重要發(fā)展方向。視點(diǎn)規(guī)劃(view planning)亦稱(chēng)傳感器規(guī)劃(sensor planning,SP),它利用給定的環(huán)境信息以及將要完成的任務(wù)信息來(lái)自動(dòng)決定傳感器參數(shù)最佳值的策略[1],對(duì)三維重建效率、采集的圖像信號(hào)數(shù)據(jù)質(zhì)量、圖像的后處理和分析都有較大影響。許多學(xué)者開(kāi)展了視點(diǎn)規(guī)劃的研究[2-5],研究方法逐漸從基于模型的視點(diǎn)規(guī)劃方法向基于未知模型的視點(diǎn)規(guī)劃方法發(fā)展。
由于機(jī)器視覺(jué)系統(tǒng)本身的結(jié)構(gòu)或目標(biāo)物體的形狀特征產(chǎn)生遮擋區(qū)域,故視覺(jué)傳感器未能獲取到目標(biāo)物體上的三維信息,在物體的三維表面數(shù)據(jù)中出現(xiàn)點(diǎn)云孔洞。通過(guò)網(wǎng)格修補(bǔ)等圖像處理方法解決遮擋問(wèn)題[6-7]的方法可在解決形狀規(guī)則和較小區(qū)域的點(diǎn)云孔洞時(shí)能夠保證一定的精度,但有一定的局限性。
文獻(xiàn)[8]對(duì)未知物體三維重建的視點(diǎn)規(guī)劃分為線激光掃描側(cè)面視點(diǎn)規(guī)劃和上表面視點(diǎn)規(guī)劃,側(cè)面視點(diǎn)規(guī)劃預(yù)測(cè)出遮擋部分的輪廓模型,結(jié)合可視空間確定消除遮擋的視點(diǎn)位置。針對(duì)上表面重建過(guò)程中的遮擋問(wèn)題,以遮擋邊界連線的法矢為依據(jù),確定規(guī)劃方案。該視點(diǎn)規(guī)劃方法能夠?qū)崿F(xiàn)未知物體的三維重建,但物體三維重建效率和如何保證重建精度有待進(jìn)一步研究。
選擇遮擋孔洞部分的合適視點(diǎn)位置來(lái)消除遮擋部分是視點(diǎn)規(guī)劃研究的一個(gè)重要內(nèi)容。本文針對(duì)遮擋問(wèn)題提出了通過(guò)建立點(diǎn)云孔洞邊界最小包容盒以確定消除遮擋部分視點(diǎn)位姿的新方法,視點(diǎn)規(guī)劃方案為先進(jìn)行側(cè)面激光掃描視點(diǎn)規(guī)劃,再對(duì)側(cè)面掃描產(chǎn)生的遮擋部分進(jìn)行視點(diǎn)規(guī)劃,提高了規(guī)劃的自動(dòng)化程度,并在視點(diǎn)規(guī)劃方案中選擇合適的測(cè)量距離以提高表面擬合精度。
本文的實(shí)驗(yàn)設(shè)備為五自由度機(jī)器視覺(jué)系統(tǒng),如圖1所示。OP為工作臺(tái)旋轉(zhuǎn)中心,線激光發(fā)生器和CCD攝像機(jī)組成視覺(jué)系統(tǒng),機(jī)器視覺(jué)設(shè)備的5個(gè)自由度運(yùn)動(dòng)如下:①X方向平動(dòng),行程為-400~400mm;②Z方向平動(dòng),行程為 0~400mm,其中,激光發(fā)生器的掃描高度 H為50mm;③Y方向平動(dòng),行程為0~300mm;④繞OPZ1軸做0°~360°轉(zhuǎn)動(dòng);⑤繞 OPX1軸做 -90°~90°轉(zhuǎn)動(dòng)。視覺(jué)系統(tǒng)對(duì)目標(biāo)物體掃描時(shí)的運(yùn)動(dòng)平面與XOZ平面平行。
圖1 機(jī)器視覺(jué)系統(tǒng)示意圖
根據(jù)文獻(xiàn)[9]的研究結(jié)果,視覺(jué)系統(tǒng)最小測(cè)量距離為64mm,最大測(cè)量距離為186mm,有效測(cè)量深度為122mm。測(cè)量距離影響被測(cè)物體表面的擬合精度,視覺(jué)系統(tǒng)測(cè)量精度δ為25~58μm。為滿足系統(tǒng)對(duì)任意未知高度物體均能進(jìn)行有效測(cè)量的要求,系統(tǒng)最佳可視測(cè)量深度 d為94~186mm。機(jī)器視覺(jué)系統(tǒng)實(shí)驗(yàn)裝置如圖2所示。
圖2 視覺(jué)系統(tǒng)實(shí)驗(yàn)裝置照片
點(diǎn)云數(shù)據(jù)預(yù)拼合后,把拼合坐標(biāo)系偏置到以工作臺(tái)旋轉(zhuǎn)中心OP為原點(diǎn)的坐標(biāo)系,根據(jù)點(diǎn)云數(shù)據(jù)的Z坐標(biāo)值大小細(xì)分為若干等分層,把每個(gè)等分層內(nèi)的點(diǎn)云向X1OPY1平面投影,設(shè)定點(diǎn)云孔洞投影點(diǎn)的距離閾值為a,若X1OPY1平面上相鄰?fù)队包c(diǎn)的距離大于a,則該投影點(diǎn)對(duì)應(yīng)的三維空間點(diǎn)即為孔洞邊界點(diǎn)。
如圖3所示,將間隔為ΔZ的分層區(qū)間內(nèi)的點(diǎn)云向X1OPY1平面方向投影,計(jì)算坐標(biāo)原點(diǎn)OP和各投影點(diǎn)的連線與X1軸之間的角度γ(OP在點(diǎn)云數(shù)據(jù)輪廓投影點(diǎn)內(nèi),目標(biāo)物體放置在工作臺(tái)中央位置),按角度γ大小順序計(jì)算相鄰?fù)队包c(diǎn)的距離。若相鄰?fù)队包c(diǎn) Q'i、Q'i+1的距離 |Q'iQ'i+1|=Ti>a,則Qi、Qi+1為孔洞邊界點(diǎn);若相鄰?fù)队包c(diǎn)Q'j、Q'j+1的距離 |Q'jQ'j+1|=Tj≤ a,則 Qj、Qj+1不是孔洞邊界點(diǎn)。
圖3 點(diǎn)云數(shù)據(jù)向X1OPY1平面投影示意圖
為了有效消除遮擋孔洞問(wèn)題,本文把視覺(jué)系統(tǒng)獲取的目標(biāo)物體表面三維信息的視點(diǎn)規(guī)劃分為側(cè)面信息激光掃描視點(diǎn)規(guī)劃和遮擋孔洞掃描視點(diǎn)規(guī)劃。
2.1.1 孔洞掃描平面方向的確定
線激光掃描中,如果用視覺(jué)系統(tǒng)掃描運(yùn)動(dòng)平面的兩個(gè)平行面包容待檢測(cè)的輪廓面部分,兩包容平面間的距離越小,輪廓面相對(duì)視點(diǎn)位置的角度變化就越小,輪廓面可視性越大,擬合精度的變化量也越小。因此,利用孔洞邊界點(diǎn),以最小二乘法確定視點(diǎn)掃描方向,對(duì)孔洞輪廓面進(jìn)行掃描,采集其點(diǎn)云數(shù)據(jù),能夠有效地解決遮擋孔洞問(wèn)題,并可通過(guò)選擇合適的測(cè)量深度來(lái)提高點(diǎn)云采集精度。
孔洞邊界點(diǎn)為 Pi(i=1,2,…,n),其坐標(biāo)為(xPi,yPi,zPi)。假設(shè)掃描平面方向最小二乘平面M的方程為
則各邊界點(diǎn)到最小二乘平面的距離di為
沿平面法向量方向,邊界點(diǎn)在平面上方時(shí),點(diǎn)到平面的距離di為正值,在平面下方時(shí),點(diǎn)到平面的距離di為負(fù)值(下同)。
設(shè)
根據(jù)孔洞邊界點(diǎn)的坐標(biāo)值,采用最小二乘法,使得S為極小值,并求出最小二乘平面方程的參數(shù) a、b、c值。
視點(diǎn)的掃描運(yùn)動(dòng)平面與最小二乘平面z=ax+by+c平行,其法向量 n=(- a,- b,1)。最小二乘平面M如圖4所示。
圖4 最小二乘平面
2.1.2 孔洞邊界點(diǎn)的最小包容盒
如圖4所示,過(guò)工作臺(tái)旋轉(zhuǎn)中心(坐標(biāo)原點(diǎn))OP作垂直于最小二乘平面z=ax+by+c的直線,直線與最小二乘平面相交于點(diǎn)OM,OM在X1OPY1平面上的投影點(diǎn)為O'M,OM在平面Y1OPZ1平面上的投影點(diǎn)為O″M。
直線OPOM的方向向量是最小二乘平面的法向量,OPOM直線方程如下:
從圖 4分析可知,平面 OMOPO'M與平面Y1OPZ1之間的夾角為
直線OPOM繞OPZ1軸旋轉(zhuǎn)γOM角后到平面Y1OPZ1上的直線為 OPOγ,直線 OPOγ與平面X1OPY1的夾角為
平面OMOPO'M的方程為
平面 OMOPO″M的方程為
界點(diǎn)Pi到平面OMOPO'M的距離:
界點(diǎn)Pi到平面OMOPO″M的距離:
dLi為最大值dLmax、最小值dLimin時(shí)對(duì)應(yīng)的孔洞邊界點(diǎn)分別為PL和PR,dWi為最大值dWimax、最小值dWimin時(shí)對(duì)應(yīng)的孔洞邊界點(diǎn)分別為PU和PD。
孔洞邊界點(diǎn)的最小包容盒為由前后平面和四周平面組成的六面長(zhǎng)方體,如圖5所示。前后平面與孔洞邊界點(diǎn)的最小二乘平面平行,分別為經(jīng)過(guò)到最小二乘平面距離最大值和最小值的邊界點(diǎn)的平行面,設(shè)dimax為孔洞邊界點(diǎn)到最小二乘平面的最大距離,dimin為孔洞邊界點(diǎn)到最小二乘平面的最小距離,前后包容面的距離為
圖5 孔洞邊界點(diǎn)的最小包容盒
四周平面中的左右平面與平面OMOPO'M平行,分別為經(jīng)過(guò)到邊界點(diǎn)PL和PR的平行面,左右平面的距離為
四周平面中的上下平面與平面OMOPO″M平行,分別為經(jīng)過(guò)到邊界點(diǎn)PU和PD的平行面,上下平面的距離為
2.1.3 遮擋孔洞表面掃描視點(diǎn)規(guī)劃
遮擋孔洞的掃描運(yùn)動(dòng)平面與孔洞邊界點(diǎn)的最小二乘平面z=ax+by+c平行,視點(diǎn)方向垂直于最小二乘平面。利用五自由度機(jī)器視覺(jué)系統(tǒng)研究設(shè)備進(jìn)行遮擋孔洞掃描時(shí),放置目標(biāo)物體的工作臺(tái)繞OPZ1軸旋轉(zhuǎn)γOM角后再繞OPX1軸翻轉(zhuǎn)φOM角,使工作臺(tái)運(yùn)動(dòng)后孔洞邊界點(diǎn)的最小二乘平面與掃描運(yùn)動(dòng)平面平行,即最小包容盒的前后平面與掃描運(yùn)動(dòng)平面XOZ平行。
此時(shí),工作臺(tái)旋轉(zhuǎn)中心OP到最小包容盒前后面的距離分別是rOM+dimax和rOM+dimin。根據(jù)點(diǎn)云數(shù)據(jù)預(yù)拼合的輪廓形狀預(yù)估遮擋孔洞輪廓的凸凹情況,判斷可能超出最小包容盒前后面的距離,考慮視覺(jué)系統(tǒng)的表面擬合精度與測(cè)量距離之間的關(guān)系情況,選擇工作臺(tái)沿Y方向平移的位置。視覺(jué)系統(tǒng)沿X方向和Z方向的平移運(yùn)動(dòng)范圍大于最小包容盒的四周平面范圍,對(duì)孔洞輪廓表面采集點(diǎn)云數(shù)據(jù)。
側(cè)面信息激光掃描視點(diǎn)規(guī)劃參照文獻(xiàn)[10]的方法。使用被動(dòng)視覺(jué)技術(shù)獲取目標(biāo)物體的最大尺寸信息,根據(jù)極限曲線構(gòu)建出相應(yīng)的極限曲面,分析該曲面模型的可視性,最后選取能夠獲得最大可視區(qū)域的視點(diǎn)位置作為下一最優(yōu)視點(diǎn)。目標(biāo)物體掃描視點(diǎn)規(guī)劃流程如圖6所示。
圖6 目標(biāo)物體掃描視點(diǎn)規(guī)劃流程圖
2.3.1 實(shí)例 1
對(duì)模型1進(jìn)行三維數(shù)字化建模,利用五自由度機(jī)器視覺(jué)系統(tǒng)獲取其表面三維信息,對(duì)側(cè)面信息激光掃描后,三維點(diǎn)云數(shù)據(jù)預(yù)拼合后如圖7所示,遮擋孔洞主要集中在物體上部。
圖7 模型1側(cè)面掃描點(diǎn)云數(shù)據(jù)預(yù)拼合
拼合坐標(biāo)系原點(diǎn)偏置到工作臺(tái)旋轉(zhuǎn)中心,遮擋孔洞邊界點(diǎn)如圖8所示,其最小二乘平面M的方程為 z=-0.0328x-0.0031y+119.2538。
工作臺(tái)旋轉(zhuǎn)中心到最小二乘平面的距離rOM=119.1891mm,到最小二乘平面的垂足OM點(diǎn)坐標(biāo)為(3.9073,0.3693,119.1245)。
建立孔洞邊界點(diǎn)的最小包容盒,包容盒前后包容面的距離為8.94mm。工作臺(tái)繞OPZ1軸旋轉(zhuǎn)84.60°后再繞OPX1軸翻轉(zhuǎn)89.94°,工作臺(tái)沿Y方向平移,選取視點(diǎn)到最小二乘平面的距離為125mm。視覺(jué)系統(tǒng)沿X方向和Z方向的平移運(yùn)動(dòng)范圍大于最小包容盒的四周平面范圍,對(duì)遮擋孔洞表面進(jìn)行掃描的點(diǎn)云如圖9所示。模型1側(cè)面信息掃描和遮擋孔洞表面掃描的點(diǎn)云拼合結(jié)果如圖10所示。
圖8 模型1遮擋孔洞邊界點(diǎn)
圖9 對(duì)遮擋孔洞表面進(jìn)行掃描的點(diǎn)云
圖10 模型1點(diǎn)云拼合結(jié)果
2.3.2 實(shí)例 2
對(duì)模型2進(jìn)行側(cè)面信息激光掃描,各視點(diǎn)下的掃描結(jié)果如圖11所示。
圖11 模型2側(cè)面信息激光掃描結(jié)果
側(cè)面掃描各視點(diǎn)的點(diǎn)云都出現(xiàn)孔洞,三維點(diǎn)云數(shù)據(jù)預(yù)拼合后如圖12所示,遮擋孔洞只有3處,孔洞1和孔洞2在模型2的上部,孔洞3在模型2的下部。
圖12 模型2側(cè)面掃描點(diǎn)云數(shù)據(jù)預(yù)拼合
遮擋孔洞邊界點(diǎn)如圖13所示,由于上部的孔洞1和孔洞2和下部的孔洞3位置較遠(yuǎn),分2個(gè)視點(diǎn)進(jìn)行掃描。視點(diǎn)6掃描孔洞1和孔洞2,視點(diǎn)7掃描孔洞3??锥?和孔洞2的最小二乘平面 M1方程為 z=0.1707x-0.0938y+96.7238,孔洞3的最小二乘平面 M2方程為z=0.0826x+0.1105y+37.4491。建立孔洞邊界點(diǎn)的最小包容盒,模型2各孔洞掃描視點(diǎn)的有關(guān)參數(shù)計(jì)算結(jié)果如表1所示。
圖13 模型2遮擋孔洞邊界點(diǎn)
表1 模型2孔洞掃描視點(diǎn)的有關(guān)參數(shù)計(jì)算結(jié)果
視覺(jué)系統(tǒng)沿X方向和Z方向的平移運(yùn)動(dòng)范圍分別超過(guò)最小包容盒的左右平面和上下平面之間的范圍,對(duì)遮擋孔洞表面進(jìn)行掃描的點(diǎn)云如圖14所示。模型2側(cè)面信息掃描和遮擋孔洞表面掃描的點(diǎn)云拼合結(jié)果如圖15所示。
圖14 模型2孔洞掃描
圖15 模型2點(diǎn)云拼合結(jié)果
實(shí)驗(yàn)中側(cè)面信息采集時(shí)不需對(duì)各視點(diǎn)的掃描點(diǎn)云遮擋孔洞進(jìn)行判斷和再掃描,只要在側(cè)面信息采集完成后對(duì)三維點(diǎn)云數(shù)據(jù)預(yù)拼合,進(jìn)行點(diǎn)云孔洞的判斷和視點(diǎn)規(guī)劃,提高了規(guī)劃的效率和自動(dòng)化程度,取得較好的效果。
本文把視覺(jué)系統(tǒng)獲取目標(biāo)物體表面三維信息的方法分為側(cè)面信息采集和遮擋孔洞表面信息采集兩個(gè)階段,即先進(jìn)行側(cè)面激光掃描視點(diǎn)規(guī)劃,再對(duì)側(cè)面掃描產(chǎn)生的遮擋部分進(jìn)行視點(diǎn)規(guī)劃。為消除遮擋孔洞,本文提出了基于點(diǎn)云孔洞邊界點(diǎn)最小包容盒的視點(diǎn)位姿新方法,將孔洞邊界點(diǎn)最小二乘平面的平行面作為遮擋孔洞表面的掃描運(yùn)動(dòng)平面,在遮擋孔洞表面點(diǎn)云數(shù)據(jù)采集時(shí)選擇合適的測(cè)量距離以提高表面擬合精度,有效地獲取目標(biāo)物體表面的三維數(shù)據(jù)信息。實(shí)驗(yàn)驗(yàn)證了所提方法的有效性。本文研究方法對(duì)于實(shí)現(xiàn)視點(diǎn)規(guī)劃的自動(dòng)化和提高目標(biāo)物體三維數(shù)字化的準(zhǔn)確度具有積極作用,遮擋孔洞表面掃描視點(diǎn)規(guī)劃需要對(duì)側(cè)面掃描得到的點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)拼合,確定消除遮擋孔洞表面的視點(diǎn)位置,適用于對(duì)物體表面有一定擬合精度要求的場(chǎng)合。
[1]孫九愛(ài),呂東輝,宋安平,等.計(jì)算機(jī)視覺(jué)中傳感器規(guī)劃綜述[J].中國(guó)圖象圖形學(xué)報(bào),2001,6(11):1047-1052.
[2]Wang Pengpeng,Gupta K.A Configuration Space View of View Planning[C]//2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.Beijing,2006:1291-1297.
[3]Chen S Y,Li Y F,Zhang J W,et al.Active Sensor Planning for Multiview Vision Tasks[M].Berlin:Springer- Verlag,2008.
[4]Maver J,Bajcsy R.Occlusions as a Guide for Planning the Next View[J].IEEE Transactions on Pattern A-nalysis and Machine Intelligence,1993,17(5):417-433.
[5]Connolly C.TheDetermination of Next Best Views[C]//IEEE International Conference on Robotics&Automation.San Franscisco,1985:432-435.
[6]Pernot J P,Moraru G,Veron P.Filling Holes in Meshes Using a Mechanical Model to Simulate the Curvature Variation Minimization[J].Computers & Graphics,2006,30(6):892-902.
[7]陳杰,高誠(chéng)輝,何炳蔚.三角網(wǎng)格模型孔洞修補(bǔ)算法研究[J].計(jì)算機(jī)集成制造系統(tǒng),2011,17(8):1821-1826.
[8]何炳蔚,林東藝,陳志鵬,等.三維物體視覺(jué)測(cè)量重構(gòu)中解決遮擋問(wèn)題的方法研究[J].中國(guó)激光,2011,38(7):1-10.
[9]何炳蔚,周小龍.面向未知物體自動(dòng)測(cè)量和重建的視點(diǎn)規(guī)劃方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(8):1374-1381.
[10]Zhou Xiaolong,He Bingwei,Li Y F.Research on
New View Planning Method for Automatic Reconstruction of Unknown 3D Objects[C]//2009 IEEE International Conference on Robotics and Biomimetics.Guilin,2009:965-970.