沙 歐, 呂源治, 凌劍勇, 張堯禹,付瀚毅
(1.中國科學院 長春光學精密機械與物理研究所,吉林 長春 130033;2.中國科學院大學,北京 100049)
三維重建是實現非接觸測量、虛擬現實和逆向設計的重要方法,重建結果的精度、效率和完整性是重要指標[1]。單目及雙目三維重建大多采用單一波長的結構光投影,或采用多波段結構光,但未采集目標的顏色信息,其建立的三維點云模型也是偽彩色的。顏色信息的丟失,不利于在后處理中識別目標豐富的表面特征[2],因此關于目標的彩色三維重建研究很重要[3]。目前,目標的彩色三維重建方式主要有三種,一是通過深度相機(如Kinect、RealSense)重建。有學者利用深度相機構建了大豆冠層[4]、果樹[5]等農作物的彩色三維點云,或通過多點聯網實現了大規模環境重建[6];但深度相機的測量精度在厘米級,且測量時對光照、溫度和表面特性十分敏感,一般用于場景或大尺度目標重建[7]。二是結構光掃描重建,研究人員使用結構光掃描法實現了目標的真彩色三維重建[8]。文獻[9]使用紅、綠、藍激光掃描并分通道獲取目標彩色圖像進行水下目標重建,精度達到了毫米級。文獻[10]通過調整結構并測量彩色相機與目標位置關系的方法,研制出舌型彩色三維測量系統,重建精度為0.1 mm。但是結構光重建方法對測量系統結構的設計與裝調要求較高,計算過程復雜,不便于廣泛應用,且容易受到結構限制而無法重建完整表面的點云。三是基于特征的重建方法,一般用于三維測繪[11]、人臉或雕塑重建等[12],適用于具有豐富表面特征的目標重建,而對于簡單紋理的掃描目標則存在技術瓶頸。
本文利用編碼標志點具有旋轉不變性和唯一性的特性[13],提出了三維激光掃描系統與彩色相機相結合的便攜性、高精度、全彩色模型顏色復原方法。該方法根據編碼標志點空間坐標變換求解目標無色點云與彩色圖像間的旋轉矩陣和平移矩陣,并根據相機成像數學模型建立彩色圖像像元與無色點云的映射關系,再利用二維插值法將單幅彩色圖像的顏色信息復原到點云中,最后通過顏色融合算法完成整個點云顏色的匹配融合,從而實現了目標表面三維點云的顏色復原。
圖1為顏色復原的原理示意圖,圖2為復原流程。本文所用編碼標志點為帶中心圓的環形編碼標志點,如圖3所示。首先,使用三維激光掃描設備(如圖4所示)對目標及周圍編碼標志點進行掃描,獲取世界坐標系下目標表面的三維點云和編碼標志點的編碼值及空間坐標值。由于采用編碼標志點作為求解彩色相機位姿的參照物,因此目標和編碼標志點要相對固定。然后,使用彩色相機從空間中多個視角拍攝目標的彩色圖像,彩色圖像中同時包含目標和編碼標志點。

圖1 顏色復原原理示意圖Fig.1 Principle diagram for color restoration

圖2 點云顏色復原流程Fig.2 Flow chart of point-cloud color restoration process

圖3 編碼標志點Fig.3 Code points

圖4 手持式三維激光掃描設備Fig.4 Photo of handheld 3-D scanning device
由于編碼標志點的編碼值是確定且唯一的,因此采集到的彩色圖像中編碼標志點與世界坐標系中的編碼標志點是一一對應的關系。根據編碼標志點的圖像坐標值與其世界坐標值,通過單目相機位姿求解算法計算出世界坐標系到相機坐標系的旋轉矩陣和平移矩陣。這里將目標的三維點云按照旋轉矩陣和平移矩陣進行空間坐標變換,得到了目標在相機坐標系下的點云。由相機成像原理可知,此時點云與圖像之間符合“物與像”的關系,在相機坐標系中根據相機成像模型建立點云和圖像的映射關系,那么圖像傳感器表面每個像元的RGB顏色值即是對應點所在目標表面位置的顏色。如圖1所示,在世界坐標系下的點P,根據旋轉、平移矩陣和相機成像模型求出在圖像中的對應點P′,點P′的顏色即為點P的顏色。如此將圖像中每個像元的RGB顏色值賦給對應的點,即可在三維點云上復原出相機在該視角拍攝到的目標表面的顏色信息。依據目標的幾何特征,從足夠多的視角采集目標及編碼標志點的彩色圖像,并依次進行顏色復原,即可得到具有目標真實顏色信息的彩色三維點云。
為提高顏色復原的準確度和計算效率,彩色圖像中的編碼標志點需要進行亞像素計算和定位,在顏色復原時需要通過插值算法降低顏色偏差,在圖像重疊部位顏色計算時需要進行顏色融合[14]。
為了提高顏色復原的精度,應對原始彩色圖像進行濾波去噪處理[15]。本文使用雙邊濾波算法進行去噪,輸出圖像的計算公式如下:
(1)
(2)
式中:σd為空域高斯函數標準差,σr為值域高斯函數標準差,(k,l)為模板中心的坐標,(i,j)為鄰域點的坐標,f(i,j)為輸入圖像的灰度函數,加權系數w(i,j,k,l)為空域核與值域核的乘積,g(i,j)為輸出圖像的灰度函數。
在計算編碼標志點坐標時,本文使用亞像素級邊緣提取和橢圓擬合算法,該方法的計算效率和精度均較高,計算步驟包括像素級橢圓邊緣提取、亞像素級邊緣提取和橢圓中心計算。
(1)像素級提取橢圓邊緣。首先,采用Canny算子進行橢圓邊緣提取得到邊緣數據,包括邊緣點與非邊緣點;然后,使用約束條件剔除其中部分非邊緣點;再通過由形態學方法提取橢圓邊緣建立的第一約束和由閉運算與邊緣屬性相結合建立的第二約束得到較精確的邊緣信息;最后,采用形態學細化剔除其中非邊緣點,獲得像素級橢圓邊緣。
(2)亞像素級提取邊緣坐標。空間矩邊緣檢測算法是根據單位圓內的平面階躍邊緣模型,使用邊緣灰度的空間矩進行邊緣的亞像素計算得到6階次空間矩,再結合理想階躍邊緣模型函數,計算得到亞像素邊緣。當空間矩模型為M×N時,得到亞像素邊緣坐標如下:
(3)
式中:l為模型中心到直線的距離,φ為l與x軸夾角。
(3)橢圓曲線擬合。使用最小二乘法擬合得到的亞像素邊緣,平面橢圓的目標函數為:
(4)
式中:A,B,C,D,E為橢圓參數,x,y為待擬合橢圓亞像素邊緣坐標。
通過對式(4)中的橢圓參數求一階偏導數并令偏導數為0,即可求得5個參數值。
根據編碼標志點的世界坐標值與圖像坐標值求解相機空間方位屬于PnP(Perspective-n-Point)問題,也叫位姿求解,其中n表示點對的數目。點的世界坐標值與其圖像坐標值的關系為:
(5)
式中R3×3=[r1r2r3],包含9個未知量,實質可用3個表示繞坐標軸轉動的獨立變量來表示;t3×1同樣可用3個表示沿坐標軸平移的獨立變量表示。直接線性變換法(DLT)的思想是將位姿矩陣[R][t]看作12個未知數,通過6對點的坐標進行線性求解。但由于沒有考慮旋轉矩陣的固有約束條件,且在輸入噪聲的影響下,通過直接線性變換求出的解未必滿足約束條件,得到的姿態矩陣誤差較大。旋轉矩陣的固有約束條件為:
(6)
式中ir,jr=1,2,3。
通過加入固有約束的辦法對算法進行改進,充分利用了旋轉矩陣R3×3參數間的內在聯系,求解只需要4對點,再利用多對點建立超靜定方程,可以降低噪聲對結果精度的影響。先將點對坐標進行歸一化,利用歸一化點對坐標計算位姿矩陣;然后將位姿矩陣逆歸一化得到原位姿矩陣,消去比例系數后可得到位姿矩陣的粗略解R;最后對粗略解R進行奇異值分解,可得到精確的位姿矩陣R′。
(7)
R=UDVT,R′=UVT,
(8)
式中R′為最后得到的姿態矩陣。
利用得到的相機位姿矩陣,將目標的三維點云變換到對應的相機坐標系中,此時點云與相機傳感器的圖像是“物與像”的關系。然后,通過相機成像模型計算點云中的點在相機傳感器表面的投影位置坐標,將坐標換算為像素坐標值,建立了點到彩色圖像像元的映射關系,該點的顏色即是相應像元的RGB顏色值。
為提高顏色復原精度,本文根據坐標值對每一點的RGB值進行雙三次插值計算,即選取該點投影位置及相鄰位置4×4個像元的RGB值,依據投影位置坐標與各個像元的位置關系確定該點的RGB值,每個點的顏色計算公式如下:
q(x,y)=q(i+ix,j+jy)=W1C4×4W2,
(9)
式中:W1,W2表示權值,C4×4表示各像素的顏色矩陣。
在建立點與像元的對應關系時,常出現多個點對應同一像元的情況,本文將同一像元所有對應點到相機坐標系XcOcYc面的距離zc進行比較,選擇最小值及閾值范圍內的值,相應的點即為有效點。
由于圖像采集視角、距離和環境光的影響,目標表面的同一區域在不同彩色圖像中的成像顏色存在差異,影響重建質量和視覺效果。為此,本文基于多視圖拼接技術提出了三維點云顏色融合算法。如圖5(a)所示,兩幅彩色圖像分別進行顏色復原得到目標點云中兩個局部點云的顏色:局部點云Ⅰ和局部點云Ⅱ。Ⅰ與Ⅱ存在重疊區域,重疊區域的點在兩次顏色復原中得到的顏色有差異,本文在重疊區域局部點云Ⅰ的顏色按照融合曲線進行增強,局部點云Ⅱ的顏色則按照融合曲線進行衰減。

圖5 點云顏色融合示意圖Fig.5 Schemes of point-cloud color fusion
點云顏色融合包含三個步驟:確定點云重疊范圍、計算顏色融合因子和點云顏色融合計算。首先,由兩個局部點云求交集,獲得重疊區域范圍;然后根據重疊范圍的空間尺寸計算顏色融合因子;最后對點云進行融合計算。融合因子函數為:
p(x)=
(10)
經過試驗,q=2時融合效果最佳。
實驗搭建的三維點云顏色復原系統如圖6所示。大恒彩色相機(型號DH-SV401FC,分辨率為780×582,傳感器尺寸為1.27 cm(1/2 inch)用于采集目標的彩色圖像。由6只白色LED燈(色溫約為6 000 K)組成的照明光源均勻分布于相機周圍并通過結構件與相機固定,為彩色圖像拍攝提供均勻的環境光,作為空間定位介質的圓形編碼標志點和計算機(圖中未畫出)。此外,還包括自主研發的手持式三維激光掃描設備(見圖4)。

圖6 顏色復原系統的硬件組成Fig.6 Hardware of color restoration system
測量時,編碼標志點需要均勻固定于目標周圍,根據目標的幾何尺寸合理確定編碼標志點的數目,保證三維激光掃描設備和彩色相機在任意位置均能捕獲4個以上的編碼標志點。若編碼標志點數目過少,則掃描失敗;若編碼標志點數目過多,計算效率會下降。選擇不同形式的編碼標志點或采用不同的布局形式對顏色映射的影響較小,只需使得三維激光掃描設備和彩色相機在任意位置能夠捕獲4個以上的編碼標志點即可進行顏色映射。實際測量時應選用幾何尺寸合適的編碼標志點,均勻分布于目標周圍即可。
本文采用張正友標定算法進行彩色相機標定,等效焦距為1 012.745,鏡頭光軸的像素坐標為(410.181,284.301),徑向與切向畸變系數分別為-0.0104 23和0.037 222。
如圖7所示,本文實驗對象為立體數字和花盆。立體數字由藍色立體數字“3”、底座和底板組成,包含藍、綠、黑、土黃4種顏色,花盆為八角形狀,底色為白色,側面有紅花綠葉等圖案(彩圖見期刊電子版)。數據采集全過程中需保持目標與編碼標志點的相對位置固定。

圖7 實驗對象Fig.7 Experimental objects
首先,用三維激光掃描設備分別掃描兩個目標,得到編碼標志點信息(立體數字的編碼標志點信息如表1所示)和三維點云(如圖8所示)。然后,采集彩色圖像,打開光源待亮度穩定后進行圖像采集;采集時根據實驗對象選擇合適的視角,本實驗在立體數字和花盆的多個視角采集了彩色圖像,如圖9所示(彩圖見期刊電子版)。

表1 立體數字的編碼標志點編碼值及世界坐標值

圖8 實驗目標的三維點云Fig.8 Three-dimensonal point cloud of experimental objects

圖9 實驗目標的原始彩色圖像Fig.9 Original color images of experimental objects
將圖9(a)中立體數字4幅彩色圖像的顏色信息復原到三維點云中,分別得到了如圖10(a)所示4個視角的局部具有顏色的三維點云。

圖10 實驗目標的彩色三維點云
同樣,由圖9(b)中花盆的2幅彩色圖像分別得到如圖10(c)所示2個視角的局部具有顏色的三維點云。最后,將各個視角彩色圖像復原到點云中,通過顏色融合計算即得到了具有目標表面真實顏色的三維點云,如圖10(b)和10(d)所示。
從圖9和圖10可以看出,本文所提方法能夠將實驗對象彩色圖像中的顏色復原到其三維點云中,達到了建立目標彩色三維點云的目的。將圖10(a)、10(b)與圖9(a)對比,可以看出立體數字彩色點云與原圖的顏色一致,從圖10(d)可以看到花盆圖案中的花心、綠葉、葉脈和花苞等細節部分,與原圖9(b)的顏色一致,從放大圖11(b)也可以分辨出以上細節,說明使用本文方法進行顏色復原時顏色真實度高。將立體數字的彩色三維點云中4個顏色交界處局部放大,由圖11(b)可以看出各放大圖中顏色交界處有清晰的分界線(各圖中紅色橢圓位置)。左上圖和右上圖為藍色數字與綠色底座的連接處放大圖,測得顏色過渡區域的最大空間尺寸分別為0.6 mm和0.3 mm。左下圖為底座上綠色與黑色交界,測得顏色過渡區域的最大空間尺寸為0.5 mm。右下圖為底座與底板連接處放大圖,測得顏色過渡區域的最大空間尺寸為0.4 mm。在圖11(b)中選擇花瓣與綠葉交界處,測得顏色過渡區域寬度為0.6 mm,在葉脈邊緣測得過渡寬度為0.5 mm(彩圖見期刊電子版)。以上數據表明,使用該方法進行顏色復原的結果具有較高的空間位置精度,顏色的最大空間位置誤差不超過0.6 mm。立體數字點云的點數為6.23萬點,4幅圖像的處理時間為3.6 s,計算效率為6.9萬點/秒。花盆點云的點數為14.66萬點,2幅圖像的處理時間為4 s,計算效率為7.33萬點/秒。本文實驗所用的三維激光掃描設備經過國家質檢中心的精度檢測,測量精度為0.03 mm。文獻[4]和[5]中利用深度相機分別實現的大豆冠層和果樹重建精度均為厘米級,對比表明本文方法具有更高的測量精度。文獻[9]使用結構光進行目標的三維彩色重建,精度達到了毫米級,但所用實驗設備需要具備高精度且結構復雜,在測量時需要精確調整,不便于現場應用。對比表明本文方法測量精度高,測量簡單、效率高,相對三維重建僅增加了一臺彩色相機,測量設備簡單,便于現場應用。對比文獻[12]基于特征的重建方法需要被測物具有豐富的表面特征,而本文方法不依賴于特征,可以實現各類目標的三維彩色重建,并且目標的幾何尺寸、形狀和表面特性等對測量結果的影響小,測量結果穩定。

圖11 彩色點云局部放大Fig.11 Partial enlargement of colorful 3D point cloud
本文以編碼標志點作為定位介質,將目標彩色圖像映射到三維點云中,進而建立目標彩色三維點云的方法。傳統結構光三維重建方法的重建精度高,但不包含顏色信息,而利用深度相機雖然能夠進行彩色三維重建,但精度僅為厘米級,本文方法兼具上述兩類方法的優勢,既具有高的重建精度又再現了目標的真實顏色。與同類方法相比,本文方法具有更高的測量精度和測量效率,實驗設備簡單、操作便捷,適用于各類目標的彩色重建和現場應用,而且所需硬件投入小,易于推廣應用。同時,改進了相機位姿求解算法,在原有直接線性變化法的基礎上,加入了旋轉矩陣中固有約束條件,降低了輸入噪聲的影響,提高了位姿求解精度;而且,原有DLT方法求解至少需要6對點,改進后僅需要4對點即可求解位姿矩陣。使用三維激光掃描設備對兩個目標進行三維重建,三維重建精度為0.03 mm,進而完成了兩個目標的彩色三維點云,顏色的空間誤差小于0.6 mm。通過視覺觀察,顏色真實程度良好,計算效率達到7.3萬點/秒。
本文顏色復原方法實現了目標的三維彩色重建,在原有三維重建基礎上增加了顏色信息,提高了重建完整性,適用于生物醫學研究、工業檢測、刑偵及文物保護等多個技術領域。例如在靜脈血栓栓塞癥(VTE)檢測中,不僅可以根據三維點云獲得體表形變數據,還可以通過皮膚顏色變化輔助醫生評估患者的栓塞風險;在刑偵現場的三維足跡提取中,足跡表面常常伴隨著血跡等色彩信息,這些都是破案的重要線索,通過顏色復原可以完整保留證據信息,提高破案效率。
基于以上研究,本文計劃通過合理選擇顏色空間,并在標準條件下,實現相機顏色標定,將得到的彩色點云與實驗對象相比對,以獲得環境光、采集視角和距離對顏色復原結果的影響程度。
致 謝:感謝季華實驗室"鞋服智能柔性制造技術與裝備"項目給予本文的支持。