劉星明,王輝靜,蔡鐵,桂榮枝,唐琪
(深圳信息職業(yè)技術學院 計算機學院,廣東 深圳 518172)
復雜曲面的三維建模與檢測技術目前已廣泛應用于工業(yè)制造、目標測量、文物保護、虛擬現(xiàn)實以及工業(yè)過程控制等領域[1-4]。該測量技術不需要接觸物體即可以實現(xiàn)對物體的三維形貌進行檢測和測量,不會對目標物體造成任何破壞性損壞和傷害,具有成像速度快、精度高、易操作等優(yōu)點[5,6],具有傳統(tǒng)技術(如指針式三維測量儀,通過指針接觸探測物體,可能對被測物體造成損壞)無法比擬的優(yōu)點,是一項無損檢測。由于受采集設備測量范圍和采集視場的限制,通常在一個視場下采集設備不能實現(xiàn)目標物體全部數(shù)據(jù)的采集,只能獲取部分三維點云數(shù)據(jù),這就需要在不同視場下對目標物體數(shù)據(jù)進行采集,然后把各個局部坐標采集的數(shù)據(jù)統(tǒng)一到同一世界坐標系下,實現(xiàn)目標物體深度像的匹配[7,8]。常用的方法是把采集裝置固定在機械設備上(如機械臂)或把物體放在旋轉體上[9,10],在不同視場對目標物體進行深度數(shù)據(jù)的采集,然后通過坐標變換統(tǒng)一到全局坐標系下,建立目標物體的完整數(shù)據(jù)模型。通過控制機械設備能實現(xiàn)物體的精確數(shù)據(jù)匹配,通常其成本高,導致其應用范圍受到限制。此外,如果把目標物體放在旋轉體上進行目標數(shù)據(jù)采集,該方法對球形或對稱的目標物體建模通常無法完成精確的匹配。此外,通過人工標志點進行深度數(shù)據(jù)的匹配也是一種常見的匹配算法,算法需要在目標物體表面或周圍粘貼人工標志點[11-13],該方法簡便且有效,在工業(yè)測量和檢測中經(jīng)常用到,適合任何曲率和形狀的目標物體,是應用最為廣泛的一種三維建模方法。
基于標志點的深度像匹配通常有兩種:編碼標志點和非編碼標志點匹配[14,15]。本文提出一種基于非編碼標志點的深度像自動匹配算法,該算法利用非編碼標志點實現(xiàn)了復雜曲面的自動深度數(shù)據(jù)匹配,在標志點匹配算法中構建了多視角網(wǎng)絡匹配算法,利用光速平差算法進行全局優(yōu)化,減少三維數(shù)據(jù)全局匹配的累積誤差,實現(xiàn)深度數(shù)據(jù)的高精度匹配。本文的主要貢獻是提出一種實現(xiàn)目標物體全自動三維建模方法,減少了過程中的人工干預,提高了數(shù)據(jù)的采集效率。與文獻[15]相比,本文不僅實現(xiàn)了幾何形狀的建模,而且對物體表面的紋理色彩屬性進行了恢復,且對人工標志點遮擋區(qū)域的紋理進行復原,實現(xiàn)了目標物體的真實感三維重建,在虛擬現(xiàn)實、人機交互等方面具有重要的應用。此外,本文利用優(yōu)化算法對過程中產(chǎn)生的累積誤差進行全局優(yōu)化,對過程中由于噪聲、相機畸變、數(shù)據(jù)匹配、融合等建模過程中產(chǎn)生的誤差進行優(yōu)化,提高了目標物體的重建精度。最后,用實際采集的實驗數(shù)據(jù)結果驗證了該算法的魯棒性和有效性。
實驗把人工標志點粘貼在目標物體表面進行數(shù)據(jù)采集,利用標志點建立目標物體的空間數(shù)據(jù)模型。在數(shù)據(jù)采集過程中,對人工標志點的提取精度直接影響到數(shù)據(jù)采集和最終目標模型的精度。本文采用帶有黑色外圓的圓形作為標志點(見圖1a),并設有帶反光和不帶反光的兩類模式,帶反光的標志點應用在采集視場環(huán)境較暗的情況下,標志點容易識別,如果采集環(huán)境比較充足,則用普通標志點就可以滿足。采用圓形標志點有以下幾方面的優(yōu)點:(1)圓形標志點制作比較方便,且圓形標志點的識別方法成熟,可以通過算法實現(xiàn)亞像素級別的精確定位;(2)黑白標志點對比度高,易利用算法進行自動圖像分割處理;(3)圓形標志點的中心定位算法較為普遍,算法定位精度高。
標志點通常粘貼在被測目標物體的表面上,標志點匹配就是通過識別物體上的標志點進行深度像匹配,調整局部坐標數(shù)據(jù)到全局坐標系下,建立目標物體的數(shù)據(jù)模型。在實際應用中,工作場景復雜以及光照環(huán)境難以預測,采集的原始圖像存在噪聲和其他干擾,導致對標志點的識別復雜化。因此,通常先對采集的圖像進行預處理,然后再對標志點進行擬合和檢測,提取標志點圓心坐標。
對標志點的擬合用橢圓曲線進行表示,橢圓的一般表現(xiàn)形式為:
利用上述方程對邊界離散點進行最小二乘法求取圓心,取其平方得:
對上式分別對參數(shù)B,C,D,E,F求偏導,并令偏導方程為零,求解標志點的圓心坐標為:
求解標志點圓心定位的主要步驟概括為:
(1)對采集的原始標志點圖像進行自適應高斯濾波處理,抑制圖像的噪聲干擾。
(2)采用Canny算法對標志點進行邊緣提取,根據(jù)目標點的尺寸、特征、以及灰度等特征變化提取目標點的輪廓。
(3)利用最小二乘法對輪廓特征進行橢圓擬合,進而通過橢圓的擬合獲得標志點中心的精確定位。
本文采用Canny對標志點進行邊緣檢測,該算法對邊緣檢測識別率高,尤其對弱邊緣具有較高的識別度,檢測的結果也具有較好的連通性和密閉性,檢測的計算復雜度較高,算法耗費時間較長。圖1b為采用Canny邊緣檢測的結果。
圖1 標志點的檢測與識別。(a)粘貼在被測目標物體的標志點;(b)利用Canny算法對標志點進行檢測。Fig.1 Marker points detection and identification. (a): the marker points are pasted on the target object; (b): used the cannyalgorithm to detect the marker points.
實驗用結構光掃描設備對標志點的邊緣進行提取,進而求解標志點的圓心坐標。實驗采用的是非編碼標志點,非編碼標志點制作簡單,但非編碼標志點的形狀是一樣的,從外觀上不能對標志點進行編號或區(qū)分。因此,通過檢測目標物體表面標志點與相鄰標志點的距離,對每個標志點進行標識。然后再通過局部采集標系下標志點坐標與全局標志點坐標系之間的對應關系,解得局部掃描視場坐標系和全局坐標系之間的變換關系。坐標系之間的變換為剛體變換,可用3x3的旋轉矩陣R和3x1的平移矩陣t來描述。
假設S1和S2為對應的標志點集合,如何尋找坐標系之間的最佳變換h(R,t),統(tǒng)一局部采集的坐標系到全局坐標系下,構建目標物體的完整數(shù)據(jù)模型。假設給定標志點坐標點集分別為,pi,pi′為3x1的列向量,i=1,2,3…,N,這里N≥3(點云之間的變換至少需要3個點對),則局部坐標系之間的變換關系可以表示為:
這里,R,T分別為3x3的旋轉矩陣和3x1的平移向量,Ni為受噪聲等因素影響的誤差。根據(jù)給定的N個點對,求解R、T以下目標函數(shù):
因此,式(5)的最小二乘法化簡為對式(9)的求解,通過SVD分解,得到旋轉矩陣R。
坐標變換的平移矩陣T則通過以下計算得到
采集的深度像匹配到全局坐標系的過程中由于噪聲、相機畸變等原因,會有誤差產(chǎn)生,而數(shù)據(jù)匹配、融合等建模過程中也會有誤差產(chǎn)生,且過程的誤差會有累積誤差的影響,使誤差的不確定性加大。為此,本文利用光束平差算法對全局誤差進行優(yōu)化,減少系統(tǒng)全局匹配誤差。
本文的實驗掃描系統(tǒng)為實驗室研制的掃描系統(tǒng),系統(tǒng)由2個CCD相機(DH-HV1303UM, DHHV3103UC,分辨率為1280x1024)和1個投影儀(OPTOMA,分辨率為1280x800),以及研發(fā)的掃描軟件系統(tǒng)組成,見圖2,系統(tǒng)采用Zhang[16]的標定方法進行標定,確定掃描系統(tǒng)相機的參數(shù)(即主點、焦距、畸變系數(shù)等參數(shù)),系統(tǒng)的掃描視場為300x300x150mm,系統(tǒng)配套的計算機設備為Intel? Core(TM) i7-4500u CPU @1.8GHz, 2.4GHz 32位Windows操作系統(tǒng),系統(tǒng)是基于結構光的掃描系統(tǒng),系統(tǒng)工作時,投影條紋光到被測量物體進行數(shù)據(jù)采集,并利用粘貼在物體表面的標志點進行深度像匹配。
圖2 實驗采集裝置圖Fig.2 The layout of the acquiring equipment
實驗對汽車配件進行三維幾何重建,配件表面具有不規(guī)則的幾何形狀,傳統(tǒng)的工具(如游標卡尺)不方便或者不能夠實現(xiàn)其精度的測量,而采用標志點進行三維建模,可以輕松地實現(xiàn)曲面的檢測和建模。實驗首先在目標物體上粘貼標志點,然后利用實驗室研制的采集設備進行標志點的檢測和數(shù)據(jù)采集(單視角采集的數(shù)據(jù)見圖3a,b,紅色圈注的為粘貼的標志點),然后根據(jù)重疊區(qū)域的標志點進行匹配,統(tǒng)一局部采集的數(shù)據(jù)到同一坐標系下,實現(xiàn)目標物體的數(shù)據(jù)建模(實驗采集的結果如圖3c)。實驗過程中系統(tǒng)自動對標志點進行識別、定位和匹配,不需要進行任何的人工操作,操作簡單、便捷,在工業(yè)測量和檢測中具有很大的應用價值和前景。
圖3 實驗結果。(a-b)局部坐標系下采集的深度像數(shù)據(jù);(c)標志點配置的結果。Fig.3 The experimental results. (a-b) the acquired range image in local coordination system. (c) The results of the registration based on the marker points.
實驗還對花瓶進行曲面重建,目標物體高約為35cm,直徑約為20cm,且結構為相對對稱。傳統(tǒng)的匹配算法對拓撲結構為對稱的物體,由于其特征點不明顯很容易導致匹配錯誤(深度像錯配)。標志點匹配算法則避免了該類問題的產(chǎn)生,算法通過粘貼在目標物體的標志點進行坐標定位并實現(xiàn)深度像匹配,建立物體的完整數(shù)據(jù)。在實際采集過程中,圍繞物體在8個不同的視角進行數(shù)據(jù)采集(單視角采集的數(shù)據(jù)見圖4a),每個視角采集的數(shù)據(jù)坐標都是建立在局部坐標系下,不同視角采集的數(shù)據(jù)有重疊區(qū)域,實驗通過重疊區(qū)域的標志點進行匹配(圖4b,c為兩視角采集數(shù)據(jù)匹配的結果),統(tǒng)一局部采集的數(shù)據(jù)到全局坐標系下,并通過融合祛除重疊區(qū)域的冗余數(shù)據(jù),得到物體的完整數(shù)據(jù)和拓撲連接關系,實驗結果見圖4。從實驗結果可以看出,利用標志點進行匹配,可以很方便地實現(xiàn)曲面的三維重建,且該算法不受曲面結構或形狀的限制。
圖4 實驗結果。 (a)在局部坐標系下采集的單視角深度數(shù)據(jù); (b)通過重疊區(qū)域的標志點進行兩兩匹配,得到的局部匹配結果圖。(c-d)匹配結果的不同視角截圖,在結果表面存有標志點遮擋了物體部分表面紋理。Fig.4 The experimental results. (a) The acquired range images in the local coordination system; (b) The registration results based on the marker points of the overlapping regions. (c-d) the views of the registration results, and parts of texture are blocked by the marker points.
利用標志點進行匹配,由于標準點粘貼在目標物體的表面,進而導致模型表面部分紋理的損失(圖5a),實驗通過標志點周圍的顏色對覆蓋的顏色進行泊松融合,對遮擋的紋理進行了表面恢復。相比傳統(tǒng)的線性插值紋理恢復方法[4],該方法更有效地保證了遮擋區(qū)域的紋理與周圍紋理的一致性。實驗通過對遮擋區(qū)域紋理的梯度紋理進行了分析,也驗證了泊松紋理恢復比線性插值效果更好。遮擋區(qū)域紋理恢復實驗結果見圖5,該方法保證了被遮擋區(qū)域紋理的連續(xù)性,從而拓展了在虛擬現(xiàn)實、影視藝術以及虛擬博物館等領域的應用。
圖5 紋理修復,紋理修復前(a)和修復后(b)的效果對比。Fig.5 The texture restoration, comparison of results before (a) and after (b) texture restoration.
為了對標志點匹配的精度進行評估,實驗對局部坐標系下采集的兩視角深度數(shù)據(jù)進行匹配,并用匹配之后標志點對的距離來衡量匹配誤差。因為標志點在目標物體重疊區(qū)域的分布基本上呈區(qū)域分布(如圖6,標志點分布并不是集中在某一小塊區(qū)域),故標志點的距離在一定程度上反映了標志點匹配的精度。表1為標準點對的匹配誤差距離,從表中可以看出,利用光束平差優(yōu)化算法可以使累積的誤差進行誤差優(yōu)化,提高了算法的匹配精度,優(yōu)化后標志點匹配誤差約為0.04mm。實驗結果表明,標志點匹配能實現(xiàn)高精度深度像匹配,且該方法操作簡單,過程中不需要人工進行干預,適合實際工程的應用。
表1 標志點對的匹配誤差Tab.1 The matching error of marker points pairs.
為了驗證算法的穩(wěn)定性和可靠性,實驗對具有復雜結果的人物結構物體進行幾何結構和表面紋理屬性的恢復,人物結構的高和寬分別約為15cm和7cm,人物的頭部具有頭發(fā)和飾品等復雜形結構,增加了三維重構物體的難度。復雜形狀結構的物體表面的數(shù)據(jù)融合也是一個比較難解決的問題,利用傳統(tǒng)的權重融合,往往在三維物體表面會有空洞現(xiàn)象發(fā)生,因此,實驗采用梯度融合算法,對三維模型表面的重疊數(shù)據(jù)進行數(shù)據(jù)融合處理,構造完整的三維模型。
實驗利用實驗自制的掃描儀(見圖2),并采用投影標準點到目標物體,物體放在轉臺上從8個不同的方向進行數(shù)據(jù)的采集(CCD相機DH-HV1303UM, DH-HV3103UC,分辨率為1280x1024),單視角采集的三維數(shù)據(jù)約為3.5M,含約40,000~60,000的點坐標和80,000~100,000的三角面片。為了得到完整的目標物體,局部坐標下采集的數(shù)據(jù)需要配準到同一世界坐標系下,建立物體的完整幾何數(shù)據(jù),即進行深度像配準操作,實驗結果見圖7。
圖7 實驗結果。(a,b)采集的局部深度數(shù)據(jù);(c,d)配準局部數(shù)據(jù)到全局坐標系,建立物體的完整數(shù)據(jù)。Fig.7 The experimental results. (a,b) the acquired range images in the local coordination system; (c,d)register local data to a common coordinate system to establish the complete data of the object.
重疊區(qū)域的冗余數(shù)據(jù)需要進行合并和優(yōu)化處理,即數(shù)據(jù)的融合處理,本文利用如文獻[5]的方法進行數(shù)據(jù)融合處理,實驗結果見圖8。實驗還對數(shù)據(jù)融合效果進行了分析,實驗結果見圖9。從實驗結果可以看出,數(shù)據(jù)融合消除了冗余數(shù)據(jù),同時減少了誤差,提高了系統(tǒng)精度。
圖8 數(shù)據(jù)融合處理,消除重疊區(qū)域的冗余數(shù)據(jù)。Fig.8 The data fusion processing to eliminate the redundant data in the overlapping regions.
圖9 數(shù)據(jù)的處理,融合處理前重疊區(qū)域有多層冗余的數(shù)據(jù)(a),和對重疊區(qū)域的數(shù)據(jù)進行融合處理后(b),細節(jié)對比見紅色標注部分。Fig.9 The data processing. (a) there has redundant data exists, (b)the redundant data is eliminated, and the detials are compared(in red mark).
本文基于結構光對目標物體進行掃描,利用在被測物體表面粘貼標志點進行標志點識別、提取和坐標定位,實現(xiàn)局部坐標系到全局坐標系的深度像匹配,重建目標物體的三維幾何模型,該掃描全過程不需要進行人工操作,算法操作簡單且有效。但對于精密的設備或文物來說,由于不允許在目標物體上粘貼標志點,該算法具有局限性,對于該類物體的三維幾何重建,以及表面特殊屬性(如反光材質)物體的重建,將是下一步研究的內(nèi)容。