李 浩, 李政偉, 閻永華
(1.河南工程學(xué)院 計算機(jī)學(xué)院,河南 鄭州 451191; 2.鄭州市中原區(qū)教育局, 河南 鄭州 450000)
與二維圖像相比,三維圖像更真實,能夠給人更好的感官體驗[1],故在游戲、動漫、影視等領(lǐng)域三維重構(gòu)技術(shù)成為研究重點,并且不斷向醫(yī)療美容、信息安全、通信等領(lǐng)域延伸。三維圖像重構(gòu)中人物圖像的制作難度較大,且人物圖像中人的面部特征較多,故重構(gòu)過程更為煩瑣[2]。
人臉圖像三維重構(gòu)是指以二維圖像為基礎(chǔ),結(jié)合計算機(jī)視覺技術(shù)[3]構(gòu)造出三維立體圖像的過程。張立峰等[4]基于電容層析成像技術(shù)實現(xiàn)了三維圖像重構(gòu),通過對圖像的有限元求解得到靈敏度矩陣,利用MATLAB軟件重建了三維圖像。蔡麟等[5]基于多視角圖片設(shè)計了多階段的三維人臉重建優(yōu)化方法,通過不同視角之間的關(guān)聯(lián)性對應(yīng)重建人臉結(jié)構(gòu)。付利華等[6]基于超分辨率重構(gòu)方法對原有圖像中的特征進(jìn)行填充,使人臉的細(xì)節(jié)特征信息得以保留,最終實現(xiàn)了高分辨率的人臉圖像重構(gòu)。以上方法都在一定程度上實現(xiàn)了圖像的精確重構(gòu),但重構(gòu)圖像與原圖像之間的偏差較大。
針對上述問題,本研究設(shè)計了一種三維動態(tài)人臉圖像的高精度填充重構(gòu)算法,首先通過立體視覺技術(shù)采集目標(biāo)人物的多幅圖像并進(jìn)行預(yù)處理,然后提取圖像中的人臉特征并進(jìn)行立體匹配,最后進(jìn)行紋理貼圖,實現(xiàn)了三維人臉建模。
單幅圖像由于單一角度的問題,提供的人臉特征信息有限,影響了三維重構(gòu)的精度,所以本研究通過立體相機(jī)從多個視角采集多幅人臉圖片,以此為基礎(chǔ)進(jìn)行缺失人臉特征的互為填充,以實現(xiàn)高精度填充三維人臉重構(gòu)[7]。基于多幅圖片的高精度填充三維人臉重構(gòu)基本思路分為4個步驟,即二維圖像的采集與預(yù)處理、特征提取、立體匹配及三維人臉建模。
二維人臉圖像采集是三維重構(gòu)的基礎(chǔ),為了保證所獲取人臉信息的完整性和全面性,利用雙目立體視覺傳感相機(jī)[8]拍攝人臉,完成相機(jī)標(biāo)定、圖像灰度化、圖像濾波等預(yù)處理。
(1)相機(jī)標(biāo)定
在二維人臉圖像采集后,為了獲得相機(jī)的內(nèi)、外參數(shù),以及雙目相機(jī)中兩臺相機(jī)的相互關(guān)系信息,對相機(jī)進(jìn)行標(biāo)定,為后期圖像三維信息的獲取奠定基礎(chǔ)[9]。相機(jī)標(biāo)定流程:①以一張棋盤格作為基礎(chǔ)模板,并將其平鋪粘貼到一個水平平面上;②從不同的視覺角度對棋盤格進(jìn)行拍攝;③檢測出圖像中的特征點;④計算相機(jī)的內(nèi)參數(shù)和外參數(shù);⑤求出畸變系數(shù);⑥對所有參數(shù)進(jìn)行優(yōu)化;⑦判斷精度是否滿足要求,若精度滿足要求則輸出參數(shù),若不滿足則回到步驟②,重新進(jìn)行標(biāo)定,直至滿足精度要求。
(2)圖像灰度化
彩色人臉圖像會增加后期人臉特征提取的難度和復(fù)雜度[10],故需要進(jìn)行灰度化處理。對圖片顏色進(jìn)行量化處理并提取圖像中的色度值:
(1)
式中:R、G、B分別代表彩色圖像不同顏色的分量;μ為該圖像的光功率。對色度值進(jìn)行最大化處理:
(2)
式中:α為圖像像素值。對式(2)中最大色度值的計算結(jié)果進(jìn)行平均化處理:
(3)
式中:τ為圖片顏色位數(shù);γ為圖像灰度值。為進(jìn)一步實現(xiàn)圖像色度值的平均化,計算3種色彩的權(quán)數(shù)值:
(4)
式中:a為R、G、B這3個色彩分量的權(quán)數(shù)值;fn為該色度所占的比例;n為圖像檢測點數(shù)量。根據(jù)式(4)對圖像顏色進(jìn)行加權(quán)平均處理,得到加權(quán)平均處理后的二維圖像灰度值
(5)
至此,完成了圖像的灰度化,接下來需要對灰度化后的圖像進(jìn)行濾波處理。
(3)圖像濾波
采集到的圖像中難免會包含大量的噪聲點[11],這些噪聲點會使人臉細(xì)節(jié)特征模糊且降低人臉三維重構(gòu)圖像模型的分辨率,故需要對圖像進(jìn)行濾波處理。濾波類型如表1所示。
表1 3種圖像噪聲濾波法Tab.1 Three kinds of noise filtering methods
均值濾波的圖像容易產(chǎn)生細(xì)節(jié)缺失問題,中值濾波雖然可以在一定程度上保留信號特征,但在對圖像中的高斯噪聲進(jìn)行消除處理時易損失圖像的線條信號,故本研究選擇高斯濾波法對圖像進(jìn)行降噪處理。
使用經(jīng)過加權(quán)平均處理的二維圖像鄰域灰度值替換中心區(qū)域像素點的灰度值:
(6)
式中:(x,y)為中心區(qū)域像素點坐標(biāo);e為圖像局部灰度值方差。
至此,完成了圖像的濾波降噪處理,然后在降噪后的圖像中提取人物面部圖像特征。
人臉的不同主要體現(xiàn)在五官上,故從人臉五官上提取特征點是人臉圖像特征提取最直接的方法[12]。人臉特征點分布如圖1所示。
圖1 仿真人臉特征點分布Fig.1 Distribution of simulated face feature points
基于上述人臉特征,對特征點進(jìn)行定位。目前,特征檢測與定位常使用各種算子來實現(xiàn),具體如表2所示[13]。
表2 人臉圖像特征提取算子Tab.2 Face image feature extraction operator
由于SIFT算子受噪聲影響較小、圖像辨別能力強(qiáng),故選用SIFT算子提取人臉特征。具體的特征提取過程如下:
①輸入人臉灰度圖像;②構(gòu)建人臉圖像金字塔;③構(gòu)建人臉圖像差分金字塔;④在差分金字塔中進(jìn)行初步極值檢測;⑤在檢測到的極值點附近進(jìn)行泰勒展開,并擬合進(jìn)行亞像素定位;⑥由特征點空間位置回至金字塔中,在特征點附近選取一個區(qū)域,確定特征點主方向;⑦根據(jù)梯度直方圖統(tǒng)計生成描述子;⑧描述子歸一化,形成最終描述向量;⑨對圖像中所有特征點進(jìn)行上述操作,生成整幅人臉圖像特征點描述向量。
至此,實現(xiàn)了基于SIFT算子的人物面部特征提取,再利用所提取的面部特征在三維空間中進(jìn)行圖像的立體匹配。
立體匹配是指確定不同角度二維圖像特征點在三維空間中的對應(yīng)關(guān)系,由此生成視差圖。其描述如下:假設(shè)已知兩個人臉圖像特征點集T={t1,t2,…,tm}和Q={q1,q2,…,qw},立體匹配要實現(xiàn)的就是確立兩個點集之間的對應(yīng)關(guān)系[14]。由于圖像是從多角度拍攝的,所以并不是圖像中所有的特征點都有匹配點。如正面人臉圖像的特征點要多于側(cè)面人臉圖像,所以要尋找的T、Q之間最大匹配點子集可以設(shè)定為(ti,qi),i=1,2,…,k,其中k≤min(m,w)[15]。基于所提取的人臉面部特征點進(jìn)行立體匹配,基本流程見圖2。
圖2 基于特征點的立體匹配基本流程Fig.2 The basic process of stereo matching based on feature points
基于上述立體匹配結(jié)果進(jìn)行三維建模,以實現(xiàn)從二維圖像到三維模型的填充重構(gòu)。這個過程主要包括兩部分,一是三角形網(wǎng)格的劃分,二是紋理映射。
(1)三角形網(wǎng)格的劃分
三角形網(wǎng)格的劃分是指將三維空間中的匹配特征點劃分成不均勻的三角形網(wǎng)格,以構(gòu)建人臉的三維輪廓,如圖3所示。
圖3 人臉三維輪廓Fig.3 Three-dimensional outline of human face
三角劃分(Delaunay)算法基本流程如下:①從圖像中尋找坐標(biāo)值最小的特征點作為初始點;②利用K-最近鄰算法尋找與該點最近的鄰點,并將其作為拓?fù)潼c;③將初始點與拓?fù)潼c連接在一起;④以初始點與拓?fù)潼c為基礎(chǔ),繼續(xù)尋找K鄰域內(nèi)的第3個點,以此構(gòu)造初始三角形;⑤以初始三角形3個頂點為初始點,利用K-最近鄰算法繼續(xù)尋找,并連接各個頂點;⑥不斷重復(fù)上述過程,直至三維空間中所有的點都連接為一個整體,完成人臉三維輪廓的構(gòu)造。
(2)紋理映射
三角劃分僅僅是構(gòu)造出了人臉的三維框架,缺乏真實感,而人臉的真實感則是由人臉的皮膚帶來的,故如何將人臉皮膚映射到人臉三維框架上至關(guān)重要。紋理映射也稱為“蒙皮”,是指將人體皮膚“粘貼”到相應(yīng)的框架上,具體過程如下:①從拍攝的人臉圖像中提取人臉的皮膚紋理信息,得到人臉五官的紋理貼圖;②通過三維建立軟件直接將人臉皮膚紋理映射并填充到三維人臉模型上。
由此,實現(xiàn)了從二維圖像到三維圖像的填充重構(gòu)。
為驗證三維動態(tài)人臉圖像高精度填充重構(gòu)算法的性能,在MATLAB仿真平臺上進(jìn)行測試。
用雙目立體相機(jī)、VGA圖像采集卡、圖像處理系統(tǒng)、計算機(jī)等軟、硬件設(shè)備搭建算法測試環(huán)境,如圖4所示。
圖4 實驗環(huán)境Fig.4 Experimental environment
利用雙目立體相機(jī)從不同角度采集目標(biāo)人物的二維人臉圖像,再在采集的人臉圖像中提取面部特征點,具體數(shù)量為眼部特征點20個、鼻部特征點10個、眉毛部分特征點12個、嘴部特征點18個、面部輪廓特征點15個、臉頰特征點4個。對提取出來的特征點在三維空間中進(jìn)行立體匹配之后,結(jié)合相機(jī)參數(shù),得到特征點在三維空間中的坐標(biāo),部分特征點的三維坐標(biāo)如表3所示。
表3 部分特征點的三維坐標(biāo)Tab.3 Three-dimensional coordinates of some feature points
利用三角劃分法建立人臉三維模型。從拍攝的人臉圖像中獲取人臉各部位的紋理貼圖(圖5),使用OpenGL渲染引擎將其映射并填充到人臉三維模型上,得到三維人臉圖像。
圖5 人臉紋理貼圖Fig.5 Texture map of human face
為檢驗用本方法構(gòu)建三維人臉模型的還原程度,利用本方法、文獻(xiàn)[5]方法、文獻(xiàn)[6]方法對所采集的樣本數(shù)據(jù)中同一人臉圖像進(jìn)行重建,得到重建后的模型(圖6)。
圖6 重建模型對比Fig.6 Comparison of reconstruction models
對比圖6中用3種方法重建的圖像模型可知,用本方法重建的模型在進(jìn)行紋理貼圖后,圖像還原度較高,特征點識別較準(zhǔn)確。
為檢驗用本方法對人臉圖像進(jìn)行三維重建后細(xì)節(jié)特征的保留程度,通過相似指數(shù)(structural similarity,SSIM)分析上述3種圖像重構(gòu)方法對于原圖像細(xì)節(jié)的還原度。選取10張人物面部圖像作為樣本,每張圖像提取79個面部特征點,比較用本方法、文獻(xiàn)[5]方法與文獻(xiàn)[6]方法所得圖像的SSIM指數(shù),結(jié)果如圖7所示。SSIM指數(shù)越接近1,證明兩幅圖像越相近。從圖7中可以看出,利用本方法進(jìn)行人臉三維重構(gòu),得到的SSIM指數(shù)最高達(dá)到0.998,更接近1,證明了利用本方法重構(gòu)的圖像與原圖像差別更小。
圖7 圖像細(xì)節(jié)還原度分析結(jié)果Fig.7 Analysis result of image detail reduction degree
為驗證用本方法重構(gòu)圖像的失真程度,用上述3種方法重構(gòu)圖像的PSNR值進(jìn)行對比,結(jié)果如圖8所示。PSNR值較高的圖像失真程度較低,證明圖像復(fù)原質(zhì)量較高。
圖8 圖像失真程度分析結(jié)果Fig.8 Analysis result of image distortion degree
由圖8可知,用本方法重構(gòu)圖像的PSNR值與用文獻(xiàn)[5]方法相比平均提升了9.5%,與用文獻(xiàn)[6]方法相比平均提升了6.7%,證明本方法在改善圖片三維重構(gòu)失真方面有較好的效果。
本研究提出了三維動態(tài)人臉圖像的高精度填充重構(gòu)算法,并通過測試證明使用該方法重構(gòu)圖像,還原和失真程度能夠達(dá)到預(yù)期要求,為該方法在人臉三維重構(gòu)領(lǐng)域的相關(guān)應(yīng)用提供了理論依據(jù)。但本研究未針對邊緣部分進(jìn)行圖像分割,故重構(gòu)的圖像邊緣可能噪點較多,后續(xù)可以從重構(gòu)圖像的邊緣降噪方面進(jìn)行研究,以期進(jìn)一步優(yōu)化重構(gòu)后的圖像質(zhì)量。