吳玲 朱寶忠
摘 要:如何更好地實現(xiàn)智能化一直是機器人領(lǐng)域的研究前沿,如果它們像人一樣有自己的“眼睛”,那么,機器人就更接近智能化了。在三維重建階段,文章通過三維重建的基本原理和基本方法,結(jié)合攝像機的內(nèi)、外參數(shù)計算出空間點的三維坐標,提出一種改進的直接對三維空間點進行剖分的三角網(wǎng)格剖分法。
關(guān)鍵詞:智能化;三維重建;空間點;三維坐標
中圖分類號:TP242 文獻標識碼:A 文章編號:1006-8937(2015)23-0019-02
在機器人立體視覺的研究過程中,完成前述攝像機標定和立體匹配后,立體視覺系統(tǒng)的最后也是核心一步就是三維重建,即利用上述匹配結(jié)果并結(jié)合攝像機標定后的內(nèi)外部參數(shù)信息,通過相關(guān)計算,恢復(fù)出三維物體的形狀和位置等相關(guān)信息。
基于傳統(tǒng)的三角形剖分法,本文提出一種改進的直接對三維空間點進行三角形剖分的方法,其改進地方主要是在剖分原則上,改進的剖分原則更全面更高效。
1 空間點的三維坐標計算
2 算法的實現(xiàn)
該算法基于傳統(tǒng)的三角形網(wǎng)格剖分方法,直接對三維空間的點通過生成三角形進行劃分,剖分目的是為了生成光滑的曲面,所有曲面在一起則構(gòu)成需要恢復(fù)的立體圖形。剖分的主要思想為:首先選擇離圖像中心最近的三個特征點生成初始三角形,然后分別以初始三角形的三條邊為待擴展三角形的第一條邊,接著以此第一條邊分別向四周方位搜索符合條件的其它點,以便組成新的三角形;再接著分別以新建的每條邊為待構(gòu)建的新三角形的第一條邊,同理向不同方向進行三角形的擴展,如此循環(huán)直至所有空間點都構(gòu)成三角形。由此可以得出該算法實現(xiàn)的關(guān)鍵步驟是點的搜索和邊的擴展,點的搜索是通過遍歷鏈表來實現(xiàn),搜索到滿足條件的一點就構(gòu)成一個新三角形;在進行邊的擴展時需要遵循一些原則,具體的原則有法向量相關(guān)原則、距離閾值原則、三角形內(nèi)角原則以及邊的最大使用次數(shù)原則。
2.1 法向量相關(guān)原則
首先我們得給出法向量的定義,由空間三點構(gòu)成的三角形所屬平面的法向量,它與三角形所在的平面相垂直,并且其方向按照待擴展邊的指向遵循右手法則;在擴展三角形時,必然會存在兩個新擴展的三角形共用同一條邊,這時把這兩個三角形所在平面的法向量之間的夾角稱為三角形法向量的夾角。
2.2 距離閾值原則
我們在搜索空間點時不是盲目的尋找,而是將搜尋點擴展到邊中點之間的距離限制在某個范圍內(nèi),該距離的范圍值被稱為距離閾值,它使得邊擴展時在距離閾值范圍內(nèi)進行第三個點的搜索,通??梢詫⒃摼嚯x閾值范圍用一個圓形區(qū)域來表示。
2.3 三角形內(nèi)角原則
當我們依據(jù)三角形法向量夾角相關(guān)原則和距離閾值原則進行邊擴展時,還不能保證搜索點的唯一性,若有兩個空間點P1和P2,它們與邊AB所構(gòu)成的三角形?駐ABP1和?駐ABP2的法向量夾角相等,且這兩點均在距離閾值范圍內(nèi),這時根據(jù)現(xiàn)有的原則就無法判斷哪個點為最優(yōu)點。
2.4 邊的最大使用次數(shù)原則
在進行邊擴展時以上原則基本上就能夠找到滿足需求的最優(yōu)點,但是,不能保證新生成的三角形不出現(xiàn)重疊的情況,即待擴展邊被重復(fù)使用,為此,規(guī)定每一條擴展邊的使用次數(shù)最大值為2。若令ncount為邊的使用次數(shù),則在邊的每一次擴展時,首先判斷其是否不超過1,如果滿足該條件則繼續(xù)擴展;如果ncount=2則該邊不能再擴展。
3 重建實驗
本實驗是利用Matlab和VC++的混合編程來實現(xiàn)。具體過程是:首先,在VC環(huán)境下編寫C++源程序,該源程序是利用鏈表的概念來實現(xiàn)新三角形的擴展,通過構(gòu)建點鏈表、邊鏈表和三角形鏈表,并通過對其鏈表進行遍歷、插入和刪除來實現(xiàn)模型的重構(gòu)。其中,定義式中參數(shù)的類型和名稱都是固定的,然后在該函數(shù)中調(diào)用定義好的C++算法程序,也就完成了Matlab和VC++的互連。
為鼠標在不同視角下的三維重建結(jié)果圖,如圖1、圖2和圖3所示。
由以上重建結(jié)果圖可以看出,本文成功地實現(xiàn)了Matlab與VC的連接,改進的三角形剖分方法對平滑表面物體的重建是可行的。
4 結(jié) 語
本文在給出三維重建的基本方法后,重點研究了對傳統(tǒng)的三角形網(wǎng)格剖分法進行了改進,直接對三維物體進行三角形網(wǎng)格剖分。該網(wǎng)格剖分法是在VC環(huán)境下利用鏈表的概念來實現(xiàn)三角形的擴展,通過構(gòu)建點鏈表、邊鏈表和三角形鏈表,并通過對其鏈表進行遍歷、插入和刪除來實現(xiàn)模型的重構(gòu),并且通過與Matlab連接進行仿真實驗,實驗達到了預(yù)期的結(jié)果。
參考文獻:
[1] 李彥.基于三維信息輸入的物體模型重構(gòu)的研究[D].北京:北京工業(yè)大學(xué),2010.
[2] Fiala M,ARTag.A Fiducial Marker System Using Digital Techniques[J].Computer Vision and Pattern Recognition,2005,(2).
[3] 朱心雄.自由曲線曲面造型技術(shù)[M].北京:科技出版社,2000.
[4] 徐彥君,杜利民,侯自強.基于相位的尺度自適應(yīng)立體匹配方法[J].電子學(xué)報,2013,(7).
[5] Ma S.A self-calibration technique for active vision system[D].IEEE Trans:Robotics and Automation,1996.
[6] 柯映林,周儒榮.實現(xiàn)3D離散點優(yōu)化三角劃分的三維算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2004,(4).