米云珂+李筠+楊海馬+徐妤婷+徐斌+徐煒
摘 要:為滿足優(yōu)質助聽器需求,設計了一種基于圖像處理的高精度3D耳蝸掃描重建系統。系統基于單目視覺方案進行設計,DLP4500投射結構光對耳蝸模型進行掃描,相機高速抓取圖片發(fā)送給PC機,PC機通過程序調用Opencv鏈接庫函數,對接收到的二維圖像進行處理,不斷提取點云數據,對提取的點云數據利用三角網格重構算法進行重建。標準立方體的測試結果顯示,整個系統的掃描精度在0.2mm以內,掃描時間為2分鐘,在保證高精度的同時,運行時間相比同類設備有了很大提高,大大提升了生產效率。
關鍵詞:3D掃描;結構光;點云;三角網格重構
DOIDOI:10.11907/rjdk.172269
中圖分類號:TP317.4
文獻標識碼:A 文章編號:1672-7800(2018)002-0216-03
1 系統介紹
調查數據[1]顯示,我國大約有15.8%的人聽力存在障礙,而佩戴合適的助聽設備能解決90%以上的聽力問題。助聽器市場主要集中在發(fā)達國家,中國的銷售僅占市場總份額的3%,有很大的潛力,為此設計了一種基于圖像處理的高精度3D耳蝸掃描重建系統。
掃描系統主要利用相移結構光[2]對物體進行掃描,掃描過程中光柵產生變形,相機高速抓取圖片發(fā)送給PC機,程序調用Opencv里的鏈接庫函數對接收到的圖像進行處理,先生成Depth Map(即深度圖),從中提取點云數據,然后基于三角網格重構算法對耳蝸模型進行重建。
1.1 方案選擇
3D重建有兩種不同的設計,一種是基于雙目視覺[3],另一種是基于單目視覺,所以大致可以分為雙目和單目兩種方案。兩種方案都是通過攝像頭采集圖像數據,然后從圖像數據上得到所需要的信息,具體區(qū)別如表1所示。
雙目方案所需計算量[4]相對單目方案要大很多,除此之外還要考慮整個系統的成本,單目方案僅使用一個相機,系統成本大大降低。綜合考慮以上因素,決定采用單目方案進行設計。系統整體結構如圖1所示。
1.2 硬件選擇與設計
硬件主要由結構光投影設備[5]與相機組成,本設計選用TI公司生產的DLP4500和灰點工業(yè)相機[6]進行配套設計,相機型號為FL3-U3-13Y3M-C,最大幀率可達到150幀/s。
采用camera觸發(fā)lightcrafter4500,即相機觸發(fā)投影設備[7]的方式,因為這種方式比較好控制同步和延遲。系統設計選用的相機觸發(fā)端口為TRIG1,相機觸發(fā)過程中輸出3.3V的觸發(fā)信號,可通過示波器測量得到。
1.3 相機標定
相機結構大多情況下可簡化為針孔模型[8],也即是說,一幅圖像的獲得通常是先對空間中的三維點進行透視變換,然后再通過圖像平面投影得到,其定義如式(1)所示:
或者寫成式(2)的形式:
在上述表達式中,(X,Y,Z)代表空間中一個點的世界坐標[9],與其相對的(u,v)則表示該點投影在圖像平面上的坐標,A通常稱為內參數矩陣;(cx,cy)是基準點(通常在圖像的中心),(fx,fy)是以像素為單位的焦距。使用函數cvCalibrateCamera2[10]進行標定,計算相機內參數和外參數,格式如下:
Void cvCalibrateCamera2 (const CvMat*object_points,const CvMat*image_points,const CvMat*point_consts,
CvSize image_size,CvMat*intrinsic_matrix,CvMat*distortion_coeffs,
CvMat*rotation_vectors=NULL,CvMat*translation_vectors=NULL,Int flags=0);
函數主要功能是獲得相機的內參數,以及每個視圖外參數的大致估算值,在大致估算出內參數矩陣和外參數矩陣的初始值后,它們會被優(yōu)化用來減小反投影誤差。
1.4 提取點云數據
要提取點云數據,首先要得到物體的深度圖。圖像深度[11]指存儲每個像素所用的位數,它決定了彩色圖像中可出現的最多顏色數,或灰度圖像中的最大灰度等級。比如一幅單色圖像,若每個象素有8位,則最大灰度數目為28,即256。一幅彩色圖像RGB 3個分量的像素位數分別為4,4,2,則最大顏色數目為2的4+4+2次方,即1 024,就是說像素的深度為10位,每個像素可以是1 024種顏色中的一種。對圖像進行處理并顯示的函數如下:
style="font-size:18px;">unsigned short*data=(unsigned short*)(pImg->imageData)
for(i=0;i for(j=0;j { data[j+i*(WIDTH)]=array[j+i*(WIDTH)]; } cvMinMaxLoc(dst,&m,&M,NULL,NULL,NULL);//找出dst中,所有數據的最大值和最小值 cvScale(dst,dst,65535/(M-m),65535*(-(m+1))/(M-m));//把dst中的數據映射到0-65535的范cvShowImage("source image",pImg);//完成了上述深度轉換,接下來才能用cvshowImage來顯示 經過預處理后的深度圖像具有二維信息,像素點的值是深度信息[12],表示物體表面到相機之間的直線距離,以mm為單位。
1.5 點云數據重構
提取點云數據后,利用三角網格重構算法[13]進行重建。主要遵循以下3個規(guī)則:
(1)探測鄰域規(guī)則:以活動邊Eij的中點M為球心,以探測半徑R為半徑形成一個球鄰域,球鄰域中的點就是最初的候選點集,見圖2(a)。
(2)活動邊內外側規(guī)則:經過活動邊Eij并垂直于活動邊三角形Δijk的平面,將空間分為兩側,所在的一側稱為活動邊Eij的內側,另一側稱為活動邊Eij的外側,見圖2(b)。
(3)局部重疊規(guī)則:為了防止新構成的三角形與原已生成的三角形在空間上重疊,對候選點集每個點Vl進行重疊規(guī)則測試,將Vi關聯三角形的邊以及新三角形的兩條新邊,投影到Vi的局部切平面上。在投影平面上判斷兩條新邊Eij、Eij是否和其它邊相交。如果相交,該點從候選點集中刪除,對Vj也進行同樣的測試,見圖2(c)。
確定點的局部切平面[14]實際是求該點的估計法矢量,設已知V的最近點集如式(3)所示。
V點的估計法矢量最小值如式(4)所示。
問題轉化為計算協變矩陣C=∑k[]i=1(Qi-V)T·(Qi-V)的最小特征值對應的特征向量,該特征向量即為所求的切平面估計法矢量。
2 系統測試
系統測試分為兩個部分,首先利用標準立方體對整個系統進行誤差測試,然后再對標準的耳蝸模型進行掃描。
2.1 標準立方體掃描測試
通過對標準立方體進行掃描計算測量精度,使用立方體的參數為:長3.226cm,寬2.172cm,高1.080cm,掃描測試使用的標準立方體,及對立方體掃描過程中提取點云數據并進行重建后得到的結果如圖3所示。
誤差測試采用多次試驗取算術平均值進行測量,獲得掃描誤差的大致估算值。實驗數據如表2所示。
由實驗結果可以看出,模型長度平均誤差為0.176mm,寬度平均誤差為0.174mm,高度平均誤差為0.172mm;掃描的平均時間為109.2s。
2.2 實際耳蝸模型掃描測試
經過基本的運行及測試之后,就本系統設計所要掃描的實際對象——耳蝸模型進行掃描,掃描的耳蝸模型實物圖,及對耳蝸模型掃描過程中不斷提取點云數據并進行重建后得到的結果如圖4所示。
3 結語
三維掃描是工業(yè)生產及科學研究重要的組成部分,掃描精度和掃描時間直接影響生產的順利進行以及生產效率。絕大多數設備掃描時間都比較長,檢測精度較低。從本實驗可以看出,本文設計的系統不僅可以很好地實現所需功能,完成對耳蝸模型的掃描及三維重建,而且精度可以達到微米級。
參考文獻:
[1] 李葉紅,劉曉英.中國老年人市場的助聽器銷售模式分析[J].消費導刊,2012(10):98-99.
[2] 萬飛飛.基于圖像的人體點云模型重建[D].北京:北京服裝學院,2012.
[3] MAOTENG ZHENG,JUNFENG ZHU,XIAODONG XIONG,et al.3D model reconstruction with common hand-held cameras[J].Virtual Reality,2016(20):221-235.
[4] 黃志偉.基于斷層掃描數據三維建模技術研究[D].南京:南京航空航天大學,2015.
[5] XIONG JIE,ZHONG SI DONG,LIU YONG,et al.Automatic three-dimensional reconstruction based on four-view stereo vision using checkerboard pattern[J].J Cent South Univ.,2017(24):1063-1072.
[6] 祝風翔.基于圖像的深度獲取方法研究[D].杭州:浙江大學,2016.
[7] 陶旺林,盧選民,劉李娟,等.基于OpenCV的非線性圖像畸變校正研究[J].現代電子技術,2011,34(12):117-120.
[8] 王莉,朱仁江,戴特力.三維測量中的照相機單機定標原理及標定算法研究[J].重慶師范大學學報:自然科學版,2005,22(3):90-93.
[9] 張俊.基于線掃描的物體表面重構[D].天津:南開大學,2013.
[10] MATTHEW BERGER,ANDREA TAGLIASACCHI,LEE M,et al.A survey of surface reconstruction from point clouds[J].COMPUTER GRAPHICS forum,2017(36):301-329.
[11] 王蒙.基于大規(guī)模點云數據的三維重建和紋理映射研究[D].南昌:南昌大學,2014.
[12] 劉輝,王伯雄,任懷藝,等.基于三維重建數據的雙向點云去噪方法研究[J].電子測量與儀器學報,2013,27(1):1-7.
[13] 趙東威.基于結構光的3D重建系統[D].南京:南京大學,2010.
[14] DIEGO THOMAS,AKIHIRO SUGIMOTO.Parametric surface representation with bump image for dense 3D modeling using an RBG-D camera[J].Int J Comput Vis,2017(123):206-225.endprint