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