国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單個(gè)深度相機(jī)的帶紋理人臉實(shí)時(shí)重建算法*

2017-08-08 03:25:03朱新山王宏星黃向生
傳感器與微系統(tǒng) 2017年8期
關(guān)鍵詞:三維重建人臉紋理

朱新山, 王宏星, 黃向生

(1.天津大學(xué) 電氣與自動(dòng)化工程學(xué)院,天津 300072;2.中國(guó)科學(xué)院 自動(dòng)化研究所,北京 100190)

?

基于單個(gè)深度相機(jī)的帶紋理人臉實(shí)時(shí)重建算法*

朱新山1, 王宏星1, 黃向生2

(1.天津大學(xué) 電氣與自動(dòng)化工程學(xué)院,天津 300072;2.中國(guó)科學(xué)院 自動(dòng)化研究所,北京 100190)

三維重建的研究是近年來(lái)計(jì)算機(jī)視覺領(lǐng)域的一個(gè)熱點(diǎn)?;趩蝹€(gè)深度相機(jī)的KinectFusion算法具有實(shí)時(shí)性高、比較廉價(jià)等優(yōu)點(diǎn),在KinectFusion算法基礎(chǔ)上提出了能夠自動(dòng)識(shí)別人臉的有效區(qū)域,通過(guò)獲取相應(yīng)的深度數(shù)據(jù)和RGB數(shù)據(jù)來(lái)進(jìn)行帶紋理的人臉三維重建方法。在點(diǎn)云配準(zhǔn)階段引入一個(gè)懲罰因子來(lái)平滑人臉的非剛體運(yùn)動(dòng)。根據(jù)獲取的顏色信息建立顏色信息的場(chǎng)函數(shù)并進(jìn)行紋理貼圖,得到更加逼真的帶紋理的三維模型;在重建過(guò)程中使用了GPU加速實(shí)現(xiàn)實(shí)時(shí)性。

人臉三維重建, 紋理融合, GPU加速

0 引 言

隨著計(jì)算機(jī)視覺技術(shù)的發(fā)展,三維建模得到越來(lái)越多的關(guān)注,特別是在微軟推出Kinect設(shè)備以后,使得三維建模的研究越來(lái)越普及,同時(shí)也使得深度數(shù)據(jù)獲取變得更為便捷。三維建模的難點(diǎn)之一在于如何得到完整的三維模型,解決這一問(wèn)題的傳統(tǒng)方法主要有兩種:1)對(duì)目標(biāo)進(jìn)行多次掃描以修復(fù)孔洞;2)多臺(tái)設(shè)備從不同角度同時(shí)對(duì)目標(biāo)進(jìn)行掃描。獲取完整三維模型的另一個(gè)難點(diǎn)是如何使用已經(jīng)獲取的不同方向的數(shù)據(jù)來(lái)進(jìn)行三維重建,形成完整的模型[1]。使用Xtion配合電動(dòng)轉(zhuǎn)臺(tái)采集多視角玉米果穗點(diǎn)云數(shù)據(jù)進(jìn)行重建[2]。提出了一種旋轉(zhuǎn)平臺(tái)點(diǎn)云數(shù)據(jù)配準(zhǔn)方法,因?yàn)榛谛D(zhuǎn)平臺(tái),使用局限性比較明顯[3]。提出的方法對(duì)于單一顏色物體重建效果不好,而且對(duì)于體積較小的物體無(wú)法完成重建。

本文基于KinectFusion[4,5]算法,以Kinect設(shè)備提供的深度數(shù)據(jù)進(jìn)行三維重建。

1 方法和實(shí)現(xiàn)

本文的三維重建方法流程如圖1所示。

圖1 工作流程

1.1 人臉檢測(cè)和分割

Kinect以30 Hz的幀率提供640×480的深度數(shù)據(jù)和RGB數(shù)據(jù)。首先需要檢測(cè)出人臉的位置,使用的方法是Haar classifier[6]。為提高其魯棒性,分別對(duì)人臉進(jìn)行正臉和側(cè)臉兩次檢測(cè)。

在得到人臉區(qū)域以后,可以通過(guò)區(qū)域生長(zhǎng)來(lái)剔除人臉以外的無(wú)效數(shù)據(jù)達(dá)到分割的目的。

為減少時(shí)間開銷,只在算法開始或者重置算法后進(jìn)行人臉檢測(cè)。得到有效的人臉區(qū)域之后,在以后處理過(guò)程中就省略了人臉檢測(cè)這一步驟。

1.2 深度圖處理

該階段主要包括雙邊濾波和將深度圖轉(zhuǎn)換成頂點(diǎn)圖和法向圖兩個(gè)步驟。

1)雙邊濾波:原始數(shù)據(jù)不可避免地包含有噪聲,因此,首先需要進(jìn)行降噪處理。本文通過(guò)雙邊濾波來(lái)達(dá)到降噪的目的,該方法在降噪的同時(shí)可以有效保留邊界信息。雙邊濾波的公式如下

(1)

上述的濾波過(guò)程,指數(shù)運(yùn)算的復(fù)雜度比較大。由于深度圖中兩個(gè)像素間的距離為整數(shù),可以通過(guò)查表來(lái)加速計(jì)算。

2)深度圖的轉(zhuǎn)換:令fx,fy,cx,cy為相機(jī)的內(nèi)部參數(shù),可以利用這些參數(shù)將深度圖轉(zhuǎn)換成頂點(diǎn)圖(Vi表示),每一個(gè)頂點(diǎn)處的法向量可以通過(guò)向量的外積得到。

設(shè)(u,v)為深度圖上任意一點(diǎn),z=Di(u,v)為其深度值,對(duì)應(yīng)的頂點(diǎn)Vi計(jì)算如下

(2)

由向量外積得到法向量

Ni=(Vi(u+1,v)-Vi(u,v))× (Vi(Vi(u,v+1)-Vi(u,v))

(3)

對(duì)其進(jìn)行標(biāo)準(zhǔn)化Ni/‖Ni‖。

1.3 姿態(tài)估計(jì)

在該階段,需要對(duì)每幀深度數(shù)據(jù)進(jìn)行處理,估計(jì)人臉的姿態(tài)。主要使用迭代最近點(diǎn)算法(iterativeclosestpoint,ICP)來(lái)計(jì)算當(dāng)前幀數(shù)據(jù)與前一幀數(shù)據(jù)之間的變換矩陣。

(4)

然后根據(jù)前一幀的頂點(diǎn)圖和法向圖來(lái)找到對(duì)應(yīng)的點(diǎn)。

在找對(duì)應(yīng)點(diǎn)對(duì)的過(guò)程中,可以通過(guò)設(shè)置閾值(包括距離和夾角兩個(gè)方面)的方法來(lái)有效地排除離群點(diǎn)帶來(lái)的影響,同時(shí)可以減小對(duì)應(yīng)點(diǎn)對(duì)的搜索范圍,加速計(jì)算過(guò)程。

得到對(duì)應(yīng)點(diǎn)對(duì)之后,最小化點(diǎn)面距離,得到變換矩陣T。本文用E來(lái)表示對(duì)應(yīng)點(diǎn)對(duì)的距離之和,距離是點(diǎn)對(duì)之間一個(gè)點(diǎn)到另一個(gè)點(diǎn)所在處的切平面的距離,公式如下

(5)

若為剛體變換,則有

(6)

則最終的目標(biāo)函數(shù)為

(7)

式(7)可以寫成

(8)

1.4 體融合

文中使用體素表示的方法來(lái)進(jìn)行融合,該方法利用截?cái)喾?hào)距離函數(shù)(truncated signed distance function,TSDF)將三維頂點(diǎn)轉(zhuǎn)換成體素的表達(dá)方式。TSDF具體含義是空間中每個(gè)點(diǎn)距離其最近界面的距離。

在體融合階段,遍歷每一個(gè)體素,并通過(guò)加權(quán)平均策略來(lái)對(duì)每一個(gè)體素的tsdf值進(jìn)行更新。對(duì)于一個(gè)體素(x,y,z)所表示的世界坐標(biāo)系下的坐標(biāo)vg為

vg(x)=(x+0.5f)×cell_size.x

vg(y)=(x+0.5f)×cell_size.y

vg(z)=(x+0.5f)×cell_size.z

(9)

式中cell_size為體元大小,表達(dá)式為

(10)

將vg變換到相機(jī)坐標(biāo)得到v,隨后將v映射到像素坐標(biāo)平面得到對(duì)應(yīng)的像素p為

(11)

實(shí)際應(yīng)用中,一般令wi=1,即可得到不錯(cuò)的效果,且可以簡(jiǎn)化計(jì)算。

Kinect最佳掃描范圍為0.5~3.5m。在0.5m之內(nèi),Kinect的結(jié)果準(zhǔn)確度較低,掃面對(duì)象時(shí)浪費(fèi)了掃描空間和分辨率。使掃描空間向前偏移一定量后得到的新空間符合工作要求,獲得更加滿意的結(jié)果,加偏移量之后的變換公式修改如下

vg(z)=(z+0.5f)×cell_size.z+a

(12)

式中 a為偏移量。

本文通過(guò)實(shí)驗(yàn)最終選擇的參數(shù)為:分辨率128×128×128,實(shí)際大小0.4m×0.4m×0.4m,offset為0.5m。

1.5 光線投射和移動(dòng)立方體算法

在三維可視化產(chǎn)業(yè)中,大部分三維模型都通過(guò)點(diǎn)云或者多邊形網(wǎng)格的形式展現(xiàn)。光線投射和移動(dòng)立方體可以用來(lái)得到點(diǎn)云或者多邊形網(wǎng)格。

光線投射算法[7]的作用是得到更加精細(xì)的表面。對(duì)于每個(gè)像素點(diǎn)(x,y),可以認(rèn)為相機(jī)會(huì)發(fā)出一條光線穿過(guò)該像素點(diǎn),直到遇到重建表面該光線停止傳播。光線和表面的交點(diǎn)可以通過(guò)線性插值得到。根據(jù)光線傳播的方向可以得到深度值,然后形成整個(gè)深度圖;而法向圖可以通過(guò)TSDF得到。光線投射方法的主要作用是給ICP算法提供高質(zhì)量的數(shù)據(jù),當(dāng)呈現(xiàn)在屏幕時(shí),由此得到的噪聲、陰影和孔洞都比原始的深度數(shù)據(jù)少。

移動(dòng)立方體方法[8,9]可以對(duì)得到的重建模型進(jìn)行網(wǎng)格化。理論上空間中的表面由TSDF值為零的點(diǎn)組成,但由于離散化的分辨率有限,所以不可能所有的零值點(diǎn)都恰好出現(xiàn)在子空間的函數(shù)值中。退而求其次,TSDF將空間分成兩部分:物體內(nèi)側(cè)和外側(cè)。TSDF是一個(gè)連續(xù)函數(shù),所以零點(diǎn)應(yīng)該在具有正值和具有負(fù)值的子空間中間。

確定了所有相鄰的異號(hào)子空間,可以大致地勾勒出界面的樣子。如果認(rèn)為一個(gè)子空間與其上下左右前后六個(gè)相鄰的子空間有棱相連,那么界面會(huì)穿過(guò)所有兩端異號(hào)的棱。為了得到更加精確的結(jié)果,由于實(shí)際上棱長(zhǎng)很短,認(rèn)為在任意一條棱上TS-DF值是線性變化的,即使用線性插值的方法可以確定異號(hào)棱上TSDF的零點(diǎn)位置。認(rèn)為棱上的零點(diǎn)都是界面上的點(diǎn),而將其以子空間為單位組織起來(lái),可以相應(yīng)地連接成面片就得到了完整的對(duì)象模型。

2 紋理融合與GPU加速

紋理融合能夠得到更加逼真的模型,而GPU加速可以提高重建速度,滿足實(shí)時(shí)性的要求。

2.1 紋理融合

Kinect設(shè)備可以同時(shí)獲取深度數(shù)據(jù)和RGB數(shù)據(jù),因此,可以使用獲取的RGB數(shù)據(jù)進(jìn)行紋理融合。由于Kinect攝像頭得到的RGB數(shù)據(jù)和深度數(shù)據(jù)是同步傳輸?shù)?,因此,在紋理融合過(guò)程中可以省去姿態(tài)估計(jì)步驟。

由于Kinect設(shè)備的RGB鏡頭和深度鏡頭位置和參數(shù)不同,相同像素點(diǎn)所代表的實(shí)際點(diǎn)不同,因此,需要進(jìn)行信息校對(duì),將信息匹配,使顏色和深度的對(duì)應(yīng)關(guān)系相同。對(duì)于一個(gè)視角而言,RGB數(shù)據(jù)是二維圖像,為了重建出完整的三維帶紋理模型,需要不同視角的顏色信息。獲取的大量數(shù)據(jù)之間存在噪聲和融合的問(wèn)題。

與深度數(shù)據(jù)處理類似,可以將空間按照相同的分辨率劃分,認(rèn)為每個(gè)子空間內(nèi)的顏色相同,并認(rèn)為相機(jī)所收到的光線是距離該相機(jī)最近的子空間發(fā)出的。

然后利用加權(quán)平均的方法將顏色信息融合。

2.2 GPU加速

由于算法計(jì)算量較大,同時(shí)要求實(shí)時(shí)性良好,這就需要計(jì)算算法高效快速。當(dāng)提高分辨率時(shí),其計(jì)算量遠(yuǎn)超過(guò)CPU所能支持的極限,需要采取其他方法進(jìn)行優(yōu)化。NVIDIA公司推出的CUDA顯卡編程解決了這個(gè)問(wèn)題。由于算法中存在大量的圖形或類圖形計(jì)算,所以使用顯卡的并行結(jié)構(gòu)進(jìn)行運(yùn)算,大幅減少了運(yùn)算時(shí)間,提高處理速度,提升了幀率。

3 實(shí) 驗(yàn)

實(shí)驗(yàn)分別進(jìn)行了不同分辨率下重建效果的對(duì)比以及相同分辨率下CPU和使用GPU加速處理效率的對(duì)比。

3.1 不同分辨率下重建效果

分別設(shè)置了64×64×64,128×128×128以及256×256×256三種不同的分辨率,重建效果如圖2。

圖2 不同分辨率人臉重建效果

由圖2可以看出,重建的效果并不是嚴(yán)格地隨著分辨率的增加而增加,當(dāng)設(shè)置的分辨率達(dá)到一定值之后,再增加分辨率重建模型的精細(xì)程度變化不明顯,甚至增加分辨率反而使模型表面不夠光滑,原因分析如下:

64×64×64的效果不佳的原因是分辨率不足,導(dǎo)致圖像重建不夠精細(xì);與128×128×128分辨率的模型相比,256×256×256效果不但沒有提升,反而重建模型表面有些凹凸不平,分析原因可能是受到Kinect設(shè)備的限制。Kinect設(shè)備的精度總體為mm到cm級(jí),因此,重建模型精細(xì)程度會(huì)受到硬件設(shè)備本身的限制。

3.2 紋理融合實(shí)驗(yàn)效果

前面的3幅沒有紋理信息的重建模型,可以看出,雖然能夠得到三維模型,但是不夠形象逼真,而通過(guò)紋理融合得到的三維模型將顏色信息融合到三維模型,使得模型更加逼真。本文的實(shí)驗(yàn)分別進(jìn)行了不同分辨率下的紋理融合,結(jié)果如圖3所示。

圖3 紋理融合示意圖

3.3 GPU加速結(jié)果對(duì)比

在同一分辨率下的CPU處理所用時(shí)間和使用GPU加速處理所用時(shí)間進(jìn)行對(duì)比如表1,分辨率為128×128×128,每次取3幀數(shù)據(jù)進(jìn)行比較。

由表1可以看出,在release模式下,使用GPU加速后,對(duì)重建過(guò)程中的每一步都有了明顯的提速,符合實(shí)時(shí)性的要求。

表1 Release模式下GPU加速實(shí)驗(yàn) ms

4 結(jié)束語(yǔ)

本文實(shí)現(xiàn)了基于單個(gè)深度設(shè)備的人臉實(shí)時(shí)重建,主要通過(guò)兩個(gè)方面進(jìn)行加速:1)減少對(duì)人臉的檢測(cè),只有在人臉位移超過(guò)一定閾值才進(jìn)行人臉檢測(cè);2)用查表的方法取代運(yùn)算復(fù)雜的指數(shù)運(yùn)算。另外,在姿態(tài)估計(jì)過(guò)程中,引入一個(gè)懲罰因子來(lái)減小非平滑運(yùn)動(dòng)對(duì)重建效果帶來(lái)的影響。本文還對(duì)重建模型進(jìn)行了紋理貼圖,令三維模型更加形象,逼真。在雙邊濾波、姿態(tài)估計(jì)、顏色融合等過(guò)程中引入了GPU加速來(lái)實(shí)現(xiàn)實(shí)時(shí)性。

[1] 王 可,戈振揚(yáng),郭 浩,等.基于Xtion傳感器的玉米果穗三維形態(tài)指標(biāo)測(cè)量系統(tǒng)[J].傳感器與微系統(tǒng),2015,34(4):62-65.

[2] 周朗明,鄭順義,黃榮永.旋轉(zhuǎn)平臺(tái)點(diǎn)云數(shù)據(jù)的配準(zhǔn)算法[J].測(cè)繪學(xué)報(bào),2013,42(1):73-79.

[3] 郭連朋,陳向?qū)?徐萬(wàn)朋,等.基于Kinect傳感器的物體三維重建[J].四川兵工學(xué)報(bào),2014(11):119-123.

[4] Izadi S,Kim D,Hilliges O,et al.KinectFusion:Real-time 3D reconstr-uction and interaction using a movingdepth camera[C]∥Proceedings of the 24th Annual ACM Symposium on Us-er Interface Software and Technology,ACM,2011:559-568.

[5] Fitzgibbon A.KinectFusion:Real-time dense surface mapping and tra-cking[C]∥2011 10th IEEE Inter-national Symposium on Mixed and Augmented Rea-lity(ISMAR),IEEE,2011:127-136.

[6] Lienhart R,Kuranov A,Pisarevsky V.Pattern Recognition[M].Berlin Heidelberg:Springer,2003:297-304.

[7] Roth S D.Ray casting for modeling solids[J].Computer Graphics & Image Processing,1982,18(2):109-144.

[8] Lorensen W E,Cline H E.Marching cubes:A high resolution 3D surface construction algorithm[C]∥ACM SIGGRAPH Computer Graphics,1987:163-169.

[9] Newman T S,Yi H.A survey of the marching cubes algorithm[J].Computers & Graphics,2006,30(5):854-879.

Real-time human face reconstruction with texture integration based on single depth camera*

ZHU Xin-shan1, WANG Hong-xing1, HUANG Xiang-sheng2

(1.School of Electrical Engineering and Automation,Tianjin University,Tianjin 300072,China;2.Institute of Automation,Chinese Academy of Sciences,Beijing 100190,China)

3D reconstruction is a hot spot in the field of computer vision.Based on a depth sensor characteristics of real time and low cost of KinectFusion algorithm,a method which can automatically recognize face region by obtaining depth data and RGB data to reconstruct the 3D model on the basis of KinectFusion.This method adds a penalty factor to smooth the motivation of human face.Texture integration is applied to get a color information.GPU acceleration is applied during the reconstruction.

human face reconstruction; texture integration; GPU acceleration

10.13873/J.1000—9787(2017)08—0126—04

2016—07—14

國(guó)家自然科學(xué)基金資助項(xiàng)目(61573356)

TP 301

A

1000—9787(2017)08—0126—04

朱新山(1977-),男,博士,副教授, 主要從事機(jī)器學(xué)習(xí)理論與應(yīng)用研究工作。

猜你喜歡
三維重建人臉紋理
有特點(diǎn)的人臉
基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
軟件(2020年3期)2020-04-20 01:45:18
基于Mimics的CT三維重建應(yīng)用分析
軟件(2020年3期)2020-04-20 00:56:34
使用紋理疊加添加藝術(shù)畫特效
三國(guó)漫——人臉解鎖
TEXTURE ON TEXTURE質(zhì)地上的紋理
Coco薇(2017年8期)2017-08-03 15:23:38
基于關(guān)系圖的無(wú)人機(jī)影像三維重建
三維重建結(jié)合3D打印技術(shù)在腔鏡甲狀腺手術(shù)中的臨床應(yīng)用
消除凹凸紋理有妙招!
Coco薇(2015年5期)2016-03-29 23:22:15
多排螺旋CT三維重建在頜面部美容中的應(yīng)用
法库县| 灵宝市| 保山市| 泸水县| 镇远县| 桐庐县| 芦山县| 龙胜| 宁海县| 信宜市| 六盘水市| 涞水县| 南京市| 望江县| 和平县| 金堂县| 镇远县| 荆州市| 金华市| 武乡县| 东乌珠穆沁旗| 通海县| 屏南县| 崇义县| 关岭| 石门县| 莆田市| 梓潼县| 苏州市| 蓬溪县| 乌海市| 赤壁市| 周至县| 通辽市| 德兴市| 防城港市| 二手房| 介休市| 营口市| 民丰县| 道孚县|