黃豐智,范鵬,范智瀚,段智涓
(四川大學(xué)視覺合成圖形圖像技術(shù)國防重點(diǎn)學(xué)科實(shí)驗(yàn)室,成都610065)
結(jié)構(gòu)光三維重建采集設(shè)備的設(shè)計(jì)包括多個環(huán)節(jié),例如,結(jié)構(gòu)光圖像的設(shè)計(jì),相機(jī)的內(nèi)參外參,相機(jī)的基線長度、光軸夾角、工作視場,深度精度,空間分辨率和三維重建率等[4]?,F(xiàn)有的結(jié)構(gòu)光三維重建技術(shù)必須要將三維重建系統(tǒng)建立起來然后通過現(xiàn)場采集數(shù)據(jù)才能進(jìn)行三維重建,需要進(jìn)行相機(jī)標(biāo)定求相機(jī)內(nèi)參外參[1],對圖像進(jìn)行極線校正,求圖像視差圖和點(diǎn)云,但是在這個過程中,系統(tǒng)的某一個參數(shù)改變將會引起三維重建結(jié)果的變化。近年來,市面上出現(xiàn)了多種實(shí)時性三維人臉建模模組,但是滿足高精度測量的三維測量儀器仿真實(shí)驗(yàn)平臺比較少見。高精度三維人臉建模系統(tǒng)參數(shù)繁多,結(jié)構(gòu)復(fù)雜,設(shè)計(jì)生產(chǎn)周期比較長,并且其中一個參數(shù)的改變就會引起建模結(jié)果的巨大變化,所以設(shè)計(jì)一個能幫助項(xiàng)目縮短研發(fā)周期的模擬驗(yàn)證平臺就非常迫切。
本文設(shè)計(jì)了一個三維人臉重建仿真平臺,該仿真平臺包括高仿真圖像采集系統(tǒng)和三維人臉?biāo)惴?yàn)證系統(tǒng)。高仿真圖像采集系統(tǒng)可以在三維人臉相機(jī)生產(chǎn)以前對各種參數(shù)下的抓拍設(shè)備進(jìn)行可視化仿真實(shí)驗(yàn),通過導(dǎo)入預(yù)先重建好的高精度三維模型進(jìn)行仿真數(shù)據(jù)采集實(shí)驗(yàn),從而得到仿真三維人臉相機(jī)抓拍數(shù)據(jù)。將仿真實(shí)驗(yàn)得到的圖片在三維人臉?biāo)惴?yàn)證系統(tǒng)中進(jìn)行三維重建,得到重建后的人臉模型。設(shè)備生產(chǎn)前先通過仿真方式進(jìn)行設(shè)備參數(shù)調(diào)優(yōu)以及算法優(yōu)化可以極大降低三維相機(jī)開發(fā)設(shè)計(jì)成本。通過驗(yàn)證實(shí)驗(yàn)證明本文設(shè)計(jì)的這套仿真系統(tǒng)接近真實(shí)生產(chǎn)系統(tǒng),可以用來指導(dǎo)實(shí)際三維測量設(shè)備及系統(tǒng)的設(shè)計(jì),縮短設(shè)計(jì)周期,快速高效完成設(shè)備及算法定制。
本文設(shè)計(jì)的仿真實(shí)驗(yàn)平臺采用MATLAB 2016b 開發(fā),提供固定的接口(API)可接入用戶的算法,并對用戶算法生成的模型進(jìn)行評估分析,提供方便的圖像化分析結(jié)果。
高精度三維人臉重建主要包括兩個部分,一是高仿真圖像采集系統(tǒng),二是三維重建系統(tǒng)。高精度三維人臉相機(jī)結(jié)構(gòu)復(fù)雜,生產(chǎn)周期較長,所以進(jìn)行三維人臉相機(jī)仿真研究意義重大,可以使用高仿真圖像采集系統(tǒng)預(yù)先得到采集的人臉圖像,用以指導(dǎo)實(shí)際三維人臉相機(jī)設(shè)計(jì)生產(chǎn)。同時,三維重建算法的驗(yàn)證需要根據(jù)三維人臉相機(jī)采集到的圖像特征具體調(diào)整,所以通過三維人臉相機(jī)仿真得到圖像進(jìn)行三維重建,驗(yàn)證算法。
本文以基于散斑結(jié)構(gòu)光編碼的三維重建算法[5]為例介紹該仿真平臺。三維人臉相機(jī)可視化仿真設(shè)計(jì)平臺的軟件流程如圖1 所示。仿真平臺主要包括兩個子系統(tǒng),第一個是高仿真圖像采集系統(tǒng),該系統(tǒng)通過預(yù)先導(dǎo)入高精度三維模型和相機(jī)參數(shù),可以從不同角度,不同距離對模型進(jìn)行拍照,并將照片和相機(jī)參數(shù)保存下來。第二個系統(tǒng)是三維重建系統(tǒng),通過高仿真圖像采集系統(tǒng)給出的參數(shù)和圖像進(jìn)行三維重建生成三維模型。
圖1 程序流程圖
由于三維重建算法生成的三維模型無法與真實(shí)場景下拍攝的人臉進(jìn)行對比,生成的三維人臉模型精度難以有效量化。高仿真圖像采集系統(tǒng)采用虛擬方式對導(dǎo)入的三維模型進(jìn)行抓拍獲得人臉圖像,通過算法由該圖像生成的三維模型可以直接與導(dǎo)入的模型進(jìn)行比對評估算法性能。圖像采集即是三維世界物體到二維攝像機(jī)畫布的投影,高仿真圖像采集通過設(shè)定相機(jī)參數(shù)進(jìn)行模擬真實(shí)場景抓拍生成一系列bmp 格式的圖片。其原理為模擬真實(shí)場景中的光場投射模型將編碼光場圖案映射到三維模型上,而后根據(jù)相機(jī)視角將三維模型信息投射到相機(jī)畫布中。高仿真圖像采集采用如下幾個步驟:
第一步:設(shè)定模擬相機(jī)參數(shù)同時讀取三維模型;
第二步:生成散斑并投射到三維模型;
檢查患者的循環(huán)系統(tǒng)以及呼吸系統(tǒng)的相關(guān)功能,以保障氧氣的足夠供給,是患者成功進(jìn)行手術(shù)的必要條件和基礎(chǔ)。如果患者存在心肺功能的相關(guān)問題,會在一定程度上阻礙氧氣的吸入,導(dǎo)致患者出現(xiàn)缺氧。
第三步:根據(jù)設(shè)置的相機(jī)參數(shù)將三維點(diǎn)云投影到相機(jī)對應(yīng)位置的平面上并根據(jù)三維模型三角化的結(jié)果以及投射的三維點(diǎn)的位置關(guān)系對畫布矩陣進(jìn)行染色;
第四步:將染色后的畫布矩陣存儲成圖片。
功能示意圖如圖2 所示。
圖2 三維信息采集、顯示界面
三維重建算法通常包括相機(jī)標(biāo)定、極線矯正、圖像匹配、視差計(jì)算及點(diǎn)云生成。由于高仿真圖像采集系統(tǒng)中保存了相機(jī)參數(shù)在重建系統(tǒng)中無需進(jìn)行相機(jī)標(biāo)定。
(1)極線校正
三維重建需要進(jìn)行立體匹配,即找到三維世界中某個坐標(biāo)點(diǎn)在左右相機(jī)抓拍圖像的對應(yīng)像素。根據(jù)雙面立體視覺原理和極對角幾何原理,左右兩相機(jī)采集到的圖片滿足極線約束,即左圖像極線上的點(diǎn)必定在右圖像對應(yīng)的極線上,因此可以利用極線約束通過極線矯正使像素的全圖匹配優(yōu)化為同行匹配,大大減少搜索范圍優(yōu)化算法復(fù)雜度。根據(jù)兩個相機(jī)的內(nèi)參和外參計(jì)算出圖像的旋轉(zhuǎn)矩陣和平移矩陣,對圖像進(jìn)行平移旋轉(zhuǎn)后使匹配像素點(diǎn)處于一條直線上,這也是高仿真圖像采集系統(tǒng)中保存相機(jī)參數(shù)的重要原因。系統(tǒng)中極線矯正效果如圖3 所示。
圖3 (a)(c)真實(shí)圖像極線校正前后(b)(d)仿真圖像極線校正前后
(2)視差圖計(jì)算
通過特征點(diǎn)配準(zhǔn)的方法尋找匹配像素,計(jì)算視差圖,因?yàn)楸疚闹饕獙θ四樳M(jìn)行建模,所以采用了人臉檢測算法求出人臉區(qū)域后只計(jì)算人臉區(qū)域的視差。結(jié)果如圖4 所示。
圖4
(3)三維模型生成
得到視差圖后結(jié)合相機(jī)參數(shù)即可得到對應(yīng)的三維坐標(biāo)。如圖5 所示。
精度損失評估是為了計(jì)算在將用戶算法導(dǎo)入到系統(tǒng)并執(zhí)行后生成的三維模型的精確誤差。本文采用基于最小二乘法的最優(yōu)配準(zhǔn)方法。通過重復(fù)選擇對應(yīng)關(guān)系點(diǎn)對計(jì)算出最優(yōu)剛體變換,最終找到用戶算法模型與真值之間的旋轉(zhuǎn)矩陣和平移矩陣。兩個點(diǎn)云配準(zhǔn)后進(jìn)行歐氏距離等誤差分析。其可視化誤差分析圖如圖6 所示。除此之外該模塊也設(shè)計(jì)了行匹配結(jié)果可視化分析方式。
圖5 三維人臉點(diǎn)云示意圖
圖6 點(diǎn)云誤差分析
三維人臉信息獲取是三維人臉識別的重要基石之一,所以研究三維重建以獲取高精度三維人臉信息對三維人臉識別有著重要意義。三維人臉相機(jī)又是三維人臉信息獲取的重要組成部分,但是三維人臉相機(jī)結(jié)構(gòu)復(fù)雜,設(shè)計(jì)生產(chǎn)周期長。為了解決這些問題,所以本文設(shè)計(jì)了一個三維人臉相機(jī)仿真平臺,實(shí)現(xiàn)了對三維人臉相機(jī)在各種參數(shù)下的拍照進(jìn)行模擬,能得到質(zhì)量較好的散斑照片。并用生成照片進(jìn)行三維重建,而且本文實(shí)現(xiàn)了對三維重建結(jié)果與預(yù)先導(dǎo)入的高精度模型進(jìn)行對比進(jìn)行誤差分析,并用以指導(dǎo)三維人臉相機(jī)設(shè)計(jì)和三維重建算法設(shè)計(jì)。