本發(fā)明屬于計(jì)算機(jī)視覺領(lǐng)域,具體涉及一種帶有骨骼信息的人臉重構(gòu)方法和系統(tǒng)。
背景技術(shù):
三維重建是計(jì)算機(jī)視覺、計(jì)算機(jī)圖像和計(jì)算機(jī)圖形學(xué)的領(lǐng)域,也是重要的圖形學(xué)圖像學(xué)交叉點(diǎn),而針對于人臉的三維重建更是在人臉識別、個性定制化游戲、虛擬現(xiàn)實(shí)和安全部門的等領(lǐng)域擁有廣泛的應(yīng)用。然而人臉具有獨(dú)一無二性和多變性,這也就給人臉重建的研究帶來了挑戰(zhàn)。
近期,隨著立體成像器件如三維掃描儀的快速發(fā)展,三維人臉重建技術(shù)越來越成為計(jì)算機(jī)視覺、人工智能、虛擬現(xiàn)實(shí)等前沿領(lǐng)域的熱點(diǎn)內(nèi)容。在虛擬現(xiàn)實(shí)中,用戶可以根據(jù)自己的喜好,更換虛擬角色的造型,如發(fā)型、服飾、表情、場景等,每個用戶都希望獲得一個符合自己容貌,身材等特征的三維數(shù)字化的化身,而三維掃描技術(shù)可以生成數(shù)字化的化身并進(jìn)入到三維場景中進(jìn)行沉浸式交互體驗(yàn)。
三維掃描是集光、機(jī)、電和計(jì)算機(jī)技術(shù)于一體的高新技術(shù),主要用于對物體空間外形和結(jié)構(gòu)及色彩進(jìn)行掃描,以獲得物體表面的空間坐標(biāo),利用三維掃描的技術(shù)可以快速的獲得人臉的三維模型。真實(shí)感人臉動畫是在三維人臉模型上實(shí)時地模擬真實(shí)人臉的各種表情和動作。然而掃描生成的人臉三維模型只有幾何信息和顏色信息,而不具備動畫信息。
為了獲得掃描人臉的動畫信息,需要根據(jù)掃描人臉對標(biāo)準(zhǔn)人臉進(jìn)行重建?,F(xiàn)有技術(shù)是首先建立一個標(biāo)準(zhǔn)頭部模型,然后通過掃描儀掃描得到人臉信息,然后將掃描的頭部信息與標(biāo)準(zhǔn)頭部模型進(jìn)行融合,但是融合后的頭部模型并沒有含有軀干的骨骼信息,還需要對融合后的頭部模型與軀干模型進(jìn)行拼接。然而,頭部與軀干交匯處會因?yàn)閭€體的差異,比如頸部的粗細(xì)等原因,導(dǎo)致頭部和軀干無法直接貼合,這就需要在頭部和軀干拼接后,工作人員對拼接后的模型進(jìn)行手工再處理,比如對頭部模型的頸部進(jìn)行拉伸或者壓縮使其完全貼合。這種處理的方法需要花費(fèi)時間對每個頭部模型的頸部和軀干連接的部分進(jìn)行手動調(diào)整,耗費(fèi)人力物力,導(dǎo)致人臉重建的效率不高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出了一種帶有骨骼信息的人臉重構(gòu)的方法和系統(tǒng),克服了現(xiàn)有人臉重建技術(shù)中的局限性。本發(fā)明建立的標(biāo)準(zhǔn)模型中既含有軀干信息,也含有標(biāo)準(zhǔn)頭部模型。在此后對掃描的人臉坐標(biāo)信息進(jìn)行刷新時,標(biāo)準(zhǔn)頭部模型與帶有骨骼的軀干模型進(jìn)行拼接發(fā)生改變的頂點(diǎn)信息,在人臉重建的過程中保持不變,從而直接構(gòu)建出帶有軀干骨骼信息的人臉模型,提高了效率,為用戶提供更加真實(shí)而快捷的體驗(yàn)。
附圖說明
圖1為本發(fā)明中基于帶有骨骼信息的人臉重構(gòu)的總體流程圖;
圖2為本發(fā)明一實(shí)施例中人臉特征點(diǎn)的標(biāo)記位置示意圖;
圖3為本發(fā)明中帶有骨骼信息的人臉重構(gòu)系統(tǒng)框架圖;
圖4是標(biāo)準(zhǔn)頭部模型;
圖5是帶有骨骼信息的掃描人臉模型。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
本發(fā)明方法涉及到三維重建、三維形變等技術(shù),可直接用于從掃描的人臉圖象中重建完整、精確和真實(shí)的帶有軀干骨骼信息的人臉三維模型,進(jìn)而用于人臉識別、個性定制化游戲、虛擬現(xiàn)實(shí)等。
圖1是按照本發(fā)明的實(shí)施例基于帶有骨骼信息的人臉重構(gòu)的流程。
101.建立帶有骨骼信息的頭部模型。
人臉特征點(diǎn)定位的目的是在人臉檢測的基礎(chǔ)上,進(jìn)一步確定臉部特征點(diǎn)(眼睛、眉毛、鼻子、嘴巴、臉部外輪廓)的位置。基于特點(diǎn)的人臉定位的基本思路是:人臉的紋理特征和各個特征點(diǎn)之間的位置約束結(jié)合。在人臉重建中,每個特征點(diǎn)的改變,會引起人臉模型上多個頂點(diǎn)三維坐標(biāo)的改變。如圖2所示,本發(fā)明用到的三維掃描儀是基于76個特征點(diǎn)對人臉進(jìn)行掃描得到人臉的頂點(diǎn)三維信息。
根據(jù)動作捕捉器的人體骨骼定義,創(chuàng)建對應(yīng)的骨骼點(diǎn)并設(shè)定好骨骼與骨骼之間的關(guān)系。
通過調(diào)節(jié)標(biāo)準(zhǔn)頭部模型在拼接區(qū)域處的坐標(biāo)信息,使所述標(biāo)準(zhǔn)頭部模型與所述軀干模型無縫連接,從而得到所述帶有骨骼信息的頭部模型,所述帶有骨骼信息的頭部模型在拼接前后保持其頂點(diǎn)的數(shù)據(jù)和拓?fù)潢P(guān)系不變,這樣使用骨骼就可以操縱角色模型。設(shè)定每一段骨骼控制角色模型哪一部分三維點(diǎn)集。
由動作捕捉器(如微軟的kinect)實(shí)時的獲取真人的軀干以及頸部的運(yùn)動參數(shù),實(shí)現(xiàn)對骨骼進(jìn)行識別和跟蹤。
標(biāo)準(zhǔn)頭部模型的頂點(diǎn)信息是由多個人臉模型的頂點(diǎn)信息相加取平均值得到,并分析不同人臉中具有區(qū)分性的頂點(diǎn)信息,分析包括對標(biāo)準(zhǔn)頭部模型的頂點(diǎn)信息進(jìn)行降維處理,將多個人臉模型的頂點(diǎn)信息與標(biāo)準(zhǔn)頭部模型的頂點(diǎn)信息做差,基于差值進(jìn)行分析,得到對區(qū)分不同人臉模型起到重要作用的坐標(biāo)信息。
102.查找由于頭部和軀干進(jìn)行拼接產(chǎn)生的變化點(diǎn)。
通過設(shè)置比較的閾值,遍歷骨骼信息的頭部模型的頂點(diǎn)信息,將帶有骨骼信息的頭部模型與標(biāo)準(zhǔn)頭部模型進(jìn)行坐標(biāo)頂點(diǎn)對的一一比較,高于所述閾值的頂點(diǎn)即為拼接變化點(diǎn),并記錄所述拼接變化點(diǎn)的索引信息。
103.分析頭部模型頂點(diǎn)與特征點(diǎn)的變化函數(shù),并根據(jù)變化函數(shù)對標(biāo)準(zhǔn)頭部模型進(jìn)行刷新。
對人臉進(jìn)行掃描,得到掃描人頭的頂點(diǎn)信息。
根據(jù)多個頭部模型生成標(biāo)準(zhǔn)頭部模型,分析得到刷新的頭部模型的頂點(diǎn)信息與特征點(diǎn)的變化函數(shù)。頭部模型的頂點(diǎn)信息與特征點(diǎn)的變化函數(shù)為:
其中x是頭部模型刷新的三維信息,y是已有的掃描人頭模型的三維信息,m是已有的人頭模型個數(shù),w是針對真實(shí)人頭模型的動態(tài)權(quán)重,a是對多個頭部模型分析所得到的靜態(tài)權(quán)重,所述根據(jù)頂點(diǎn)信息與特征點(diǎn)的變化函數(shù)對所述拼接后的頭部模型的頂點(diǎn)信息進(jìn)行刷新,所以只要求解出w就可以算出真實(shí)的頭部模型。
將掃描攝像頭可以得到人臉的n個特征點(diǎn)(v1,v2......vn),進(jìn)行坐標(biāo)變換m可以映射到掃描標(biāo)準(zhǔn)模型的坐標(biāo)系下的特征點(diǎn):
xn=mvn(2)
將公式(2)代入公式(1),可以得到:
將掃描頭部模型的n個特征點(diǎn)的坐標(biāo)信息代入到公式(3)中就可以求出w,將求出的w代入公式(1),就可以得到掃描人臉模型刷新的坐標(biāo)信息。
根據(jù)得到的掃描人臉模型刷新的坐標(biāo)信息對帶有骨骼信息的頭部模型的頂點(diǎn)信息進(jìn)行刷新,所刷新的頂點(diǎn)不包括步驟102所得的拼接變化點(diǎn),僅刷新除了所述拼接變化點(diǎn)之外的頂點(diǎn)的三維信息,從而得到帶有骨骼信息的掃描人臉模型。
104.對人頭模型和軀干的拼接部分進(jìn)行平滑處理。
對刷新后帶有骨骼信息的掃描人臉模型的頭部和軀干的拼接區(qū)域設(shè)置一個曲線網(wǎng)格,基于曲線網(wǎng)格對所述拼接區(qū)域進(jìn)行平滑處理,提高帶有骨骼信息的掃描人臉模型的視覺效果。
在初始化階段,即步驟101和步驟102完成之后,當(dāng)用戶使用時,只需經(jīng)過上述人臉重構(gòu)系統(tǒng)的步驟102和步驟103,用戶即可獲得一個符合自己容貌特征,并能隨用戶的動作而做出相應(yīng)動作的三維數(shù)字化的化身。
如圖3所示本發(fā)明的系統(tǒng)模塊框架,包括預(yù)處理模塊,刷新模塊。所述預(yù)處理模塊包括比較模塊,記錄模塊,標(biāo)準(zhǔn)頭部模型獲取模塊,三維建模模塊;所述刷新模塊中包括掃描模塊,頭部更新模塊,加速模塊,平滑處理模塊。
標(biāo)準(zhǔn)頭部模型獲取模塊將多個人臉模型的頂點(diǎn)信息相加取平均值得到所述標(biāo)準(zhǔn)頭部模型。如圖4是標(biāo)準(zhǔn)頭部模型。
三維建模模塊將標(biāo)準(zhǔn)頭部模型與軀干模型進(jìn)行拼接得到帶有骨骼信息的頭部模型,三維建模模塊通過調(diào)節(jié)標(biāo)準(zhǔn)頭部模型在拼接區(qū)域處的坐標(biāo)信息,使所述標(biāo)準(zhǔn)頭部模型與所述軀干模型無縫連接,所述帶有骨骼信息的頭部模型在拼接前后保持其頂點(diǎn)的數(shù)據(jù)和拓?fù)潢P(guān)系不變,從而得到所述帶有骨骼信息的頭部模型。
比較模塊設(shè)置比較的閾值,遍歷骨骼信息的頭部模型的頂點(diǎn)信息,將所述帶有骨骼信息的頭部模型與標(biāo)準(zhǔn)頭部模型進(jìn)行坐標(biāo)頂點(diǎn)對的一一比較,記錄模塊記錄拼接變化點(diǎn)的索引信息,所述拼接變化點(diǎn)為高于所述閾值的頂點(diǎn)。
掃描模塊對人臉進(jìn)行掃描,得到掃描人臉的頂點(diǎn)信息。
頭部更新模塊對根據(jù)頂點(diǎn)信息與人臉的特征點(diǎn)的變化函數(shù)對所述帶有骨骼信息的頭部模型的頂點(diǎn)信息進(jìn)行刷新,所刷新的頂點(diǎn)不包括所述拼接變化點(diǎn),只刷新除了所述拼接變化點(diǎn)之外的頂點(diǎn)的三維信息,從而得到帶有骨骼信息的掃描人臉模型。如圖5是帶有骨骼信息的掃描人臉模型。
加速模塊在標(biāo)準(zhǔn)頭部模型的鼻尖處設(shè)置一點(diǎn)作為基準(zhǔn)點(diǎn),僅刷新頭部模型的垂直坐標(biāo)值低于所述基準(zhǔn)點(diǎn)的垂直坐標(biāo)以下的頂點(diǎn)坐標(biāo)的數(shù)據(jù)。
平滑處理模塊刷新后帶有骨骼信息的掃描人臉模型的頭部和軀干的拼接區(qū)域設(shè)置一個曲線網(wǎng)格,基于曲線網(wǎng)格對所述拼接區(qū)域進(jìn)行平滑處理。
進(jìn)一步的,為了提高掃描后對帶有骨骼信息的頭部模型的頂點(diǎn)坐標(biāo)信息刷新的效率,可以具體通過以下步驟:
(1)標(biāo)定標(biāo)準(zhǔn)頭部模型的鼻尖處一點(diǎn),記錄鼻尖上該點(diǎn)的垂直方向坐標(biāo)值即y值;
(2)遍歷標(biāo)準(zhǔn)頭部模型所有頂點(diǎn)的三維坐標(biāo);
(3)進(jìn)行頂點(diǎn)坐標(biāo)的判斷,如果頂點(diǎn)的垂直方向坐標(biāo)值小于鼻尖上的標(biāo)定點(diǎn)的垂直坐標(biāo)值,則計(jì)算該點(diǎn)與拼接后的頭部模型中對應(yīng)頂點(diǎn)的三維距離,如果三維距離大于0,則說明該點(diǎn)的位置發(fā)生變化,即是在頭部模型與軀干模型進(jìn)行拼接時,由于頸部變化導(dǎo)致頭部模型發(fā)生變化的頂點(diǎn);
遍歷完成后則記錄所有變化的點(diǎn),這些點(diǎn)在根據(jù)掃描的頭部模型的數(shù)據(jù)刷新到拼接的頭部的三維顯示數(shù)據(jù)時被忽略掉,而不會隨著掃描得到的頭部數(shù)據(jù)進(jìn)行更新。
本發(fā)明所使用的硬件包括:圖形工作站,觸摸式三維顯示屏,三維深度攝像頭,如intelrealsense,三維動作捕捉器,如微軟kinect。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。