黃豐智,范鵬,范智瀚,段智涓
(四川大學視覺合成圖形圖像技術國防重點學科實驗室,成都610065)
結構光三維重建采集設備的設計包括多個環節,例如,結構光圖像的設計,相機的內參外參,相機的基線長度、光軸夾角、工作視場,深度精度,空間分辨率和三維重建率等[4]。現有的結構光三維重建技術必須要將三維重建系統建立起來然后通過現場采集數據才能進行三維重建,需要進行相機標定求相機內參外參[1],對圖像進行極線校正,求圖像視差圖和點云,但是在這個過程中,系統的某一個參數改變將會引起三維重建結果的變化。近年來,市面上出現了多種實時性三維人臉建模模組,但是滿足高精度測量的三維測量儀器仿真實驗平臺比較少見。高精度三維人臉建模系統參數繁多,結構復雜,設計生產周期比較長,并且其中一個參數的改變就會引起建模結果的巨大變化,所以設計一個能幫助項目縮短研發周期的模擬驗證平臺就非常迫切。
本文設計了一個三維人臉重建仿真平臺,該仿真平臺包括高仿真圖像采集系統和三維人臉算法驗證系統。高仿真圖像采集系統可以在三維人臉相機生產以前對各種參數下的抓拍設備進行可視化仿真實驗,通過導入預先重建好的高精度三維模型進行仿真數據采集實驗,從而得到仿真三維人臉相機抓拍數據。將仿真實驗得到的圖片在三維人臉算法驗證系統中進行三維重建,得到重建后的人臉模型。設備生產前先通過仿真方式進行設備參數調優以及算法優化可以極大降低三維相機開發設計成本。通過驗證實驗證明本文設計的這套仿真系統接近真實生產系統,可以用來指導實際三維測量設備及系統的設計,縮短設計周期,快速高效完成設備及算法定制。
本文設計的仿真實驗平臺采用MATLAB 2016b 開發,提供固定的接口(API)可接入用戶的算法,并對用戶算法生成的模型進行評估分析,提供方便的圖像化分析結果。
高精度三維人臉重建主要包括兩個部分,一是高仿真圖像采集系統,二是三維重建系統。高精度三維人臉相機結構復雜,生產周期較長,所以進行三維人臉相機仿真研究意義重大,可以使用高仿真圖像采集系統預先得到采集的人臉圖像,用以指導實際三維人臉相機設計生產。同時,三維重建算法的驗證需要根據三維人臉相機采集到的圖像特征具體調整,所以通過三維人臉相機仿真得到圖像進行三維重建,驗證算法。
本文以基于散斑結構光編碼的三維重建算法[5]為例介紹該仿真平臺。三維人臉相機可視化仿真設計平臺的軟件流程如圖1 所示。仿真平臺主要包括兩個子系統,第一個是高仿真圖像采集系統,該系統通過預先導入高精度三維模型和相機參數,可以從不同角度,不同距離對模型進行拍照,并將照片和相機參數保存下來。第二個系統是三維重建系統,通過高仿真圖像采集系統給出的參數和圖像進行三維重建生成三維模型。

圖1 程序流程圖
由于三維重建算法生成的三維模型無法與真實場景下拍攝的人臉進行對比,生成的三維人臉模型精度難以有效量化。高仿真圖像采集系統采用虛擬方式對導入的三維模型進行抓拍獲得人臉圖像,通過算法由該圖像生成的三維模型可以直接與導入的模型進行比對評估算法性能。圖像采集即是三維世界物體到二維攝像機畫布的投影,高仿真圖像采集通過設定相機參數進行模擬真實場景抓拍生成一系列bmp 格式的圖片。其原理為模擬真實場景中的光場投射模型將編碼光場圖案映射到三維模型上,而后根據相機視角將三維模型信息投射到相機畫布中。高仿真圖像采集采用如下幾個步驟:
第一步:設定模擬相機參數同時讀取三維模型;
第二步:生成散斑并投射到三維模型;
檢查患者的循環系統以及呼吸系統的相關功能,以保障氧氣的足夠供給,是患者成功進行手術的必要條件和基礎。如果患者存在心肺功能的相關問題,會在一定程度上阻礙氧氣的吸入,導致患者出現缺氧。
第三步:根據設置的相機參數將三維點云投影到相機對應位置的平面上并根據三維模型三角化的結果以及投射的三維點的位置關系對畫布矩陣進行染色;
第四步:將染色后的畫布矩陣存儲成圖片。
功能示意圖如圖2 所示。

圖2 三維信息采集、顯示界面
三維重建算法通常包括相機標定、極線矯正、圖像匹配、視差計算及點云生成。由于高仿真圖像采集系統中保存了相機參數在重建系統中無需進行相機標定。
(1)極線校正
三維重建需要進行立體匹配,即找到三維世界中某個坐標點在左右相機抓拍圖像的對應像素。根據雙面立體視覺原理和極對角幾何原理,左右兩相機采集到的圖片滿足極線約束,即左圖像極線上的點必定在右圖像對應的極線上,因此可以利用極線約束通過極線矯正使像素的全圖匹配優化為同行匹配,大大減少搜索范圍優化算法復雜度。根據兩個相機的內參和外參計算出圖像的旋轉矩陣和平移矩陣,對圖像進行平移旋轉后使匹配像素點處于一條直線上,這也是高仿真圖像采集系統中保存相機參數的重要原因。系統中極線矯正效果如圖3 所示。

圖3 (a)(c)真實圖像極線校正前后(b)(d)仿真圖像極線校正前后
(2)視差圖計算
通過特征點配準的方法尋找匹配像素,計算視差圖,因為本文主要對人臉進行建模,所以采用了人臉檢測算法求出人臉區域后只計算人臉區域的視差。結果如圖4 所示。

圖4
(3)三維模型生成
得到視差圖后結合相機參數即可得到對應的三維坐標。如圖5 所示。
精度損失評估是為了計算在將用戶算法導入到系統并執行后生成的三維模型的精確誤差。本文采用基于最小二乘法的最優配準方法。通過重復選擇對應關系點對計算出最優剛體變換,最終找到用戶算法模型與真值之間的旋轉矩陣和平移矩陣。兩個點云配準后進行歐氏距離等誤差分析。其可視化誤差分析圖如圖6 所示。除此之外該模塊也設計了行匹配結果可視化分析方式。

圖5 三維人臉點云示意圖

圖6 點云誤差分析
三維人臉信息獲取是三維人臉識別的重要基石之一,所以研究三維重建以獲取高精度三維人臉信息對三維人臉識別有著重要意義。三維人臉相機又是三維人臉信息獲取的重要組成部分,但是三維人臉相機結構復雜,設計生產周期長。為了解決這些問題,所以本文設計了一個三維人臉相機仿真平臺,實現了對三維人臉相機在各種參數下的拍照進行模擬,能得到質量較好的散斑照片。并用生成照片進行三維重建,而且本文實現了對三維重建結果與預先導入的高精度模型進行對比進行誤差分析,并用以指導三維人臉相機設計和三維重建算法設計。