本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,涉及一種三維重建系統(tǒng),尤其是一種基于手機(jī)攝像和云服務(wù)器的三維人體頭部的重建系統(tǒng)及方法。
背景技術(shù):
:
人體頭部三維模型在醫(yī)學(xué)研究、虛擬現(xiàn)實(shí)等領(lǐng)域有著廣泛的應(yīng)用前景。而普通的三維重建技術(shù)操作步驟較難,對(duì)電腦計(jì)算能力的要求較高,不合適一般用戶使用。因此,適用于大眾的三維人頭重建技術(shù)顯得尤為重要。
中國專利(CN201610296789.9)公開了一種增強(qiáng)現(xiàn)實(shí)實(shí)時(shí)交互系統(tǒng)及其方法,該交互系統(tǒng)包括遠(yuǎn)程采集端和控制終端,遠(yuǎn)程采集端實(shí)時(shí)采集現(xiàn)實(shí)世界的視頻信息,形成可用于與虛擬世界對(duì)象進(jìn)行組合以輸出增強(qiáng)現(xiàn)實(shí)圖像的源信息,并將該源信息遠(yuǎn)程傳送給所述控制終端,控制終端接收由遠(yuǎn)程采集端發(fā)送過來的源信息,其將接收到的源信息與相對(duì)應(yīng)的虛擬世界對(duì)象的詳細(xì)信息組合而形成增強(qiáng)現(xiàn)實(shí)圖像,并在增強(qiáng)現(xiàn)實(shí)中輸出所形成的增強(qiáng)現(xiàn)實(shí)圖像。此外,遠(yuǎn)程采集端設(shè)有驅(qū)動(dòng)器,控制終端設(shè)有控制器,控制器可通過無線向驅(qū)動(dòng)器發(fā)出運(yùn)動(dòng)控制信號(hào)以控制驅(qū)動(dòng)器運(yùn)動(dòng),使得控制終端可遠(yuǎn)程控制所述遠(yuǎn)程采集端進(jìn)行運(yùn)動(dòng),使遠(yuǎn)程采集端被控運(yùn)動(dòng)而可按用戶需要實(shí)時(shí)的連續(xù)的采集所需視角狀態(tài)下的現(xiàn)實(shí)世界的視頻信息。該專利采集的是視頻信息,采集數(shù)據(jù)量大,通過視頻信息進(jìn)行增強(qiáng)現(xiàn)實(shí),對(duì)設(shè)備終端要求較高,不適用于普通的手機(jī)。
中國專利(CN201610481363.0)公開了一種可實(shí)現(xiàn)3D模型實(shí)時(shí)上色的增強(qiáng)現(xiàn)實(shí)系統(tǒng),包括顯示模塊、攝像頭模塊、數(shù)據(jù)庫模塊、圖形識(shí)別模塊、3D模型繪制模塊、對(duì)比模塊、3D模型顏色渲染模塊。本發(fā)明可以實(shí)現(xiàn)在真實(shí)圖像上進(jìn)行染色時(shí),增強(qiáng)現(xiàn)實(shí)所呈現(xiàn)的3D模型動(dòng)畫也同時(shí)進(jìn)行相應(yīng)部位的上色,從而實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)中人和動(dòng)畫的互動(dòng),不再局限于動(dòng)畫展示。該專利僅僅只是實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)中人和動(dòng)畫的互動(dòng),并沒有實(shí)現(xiàn)三維體頭部的增強(qiáng)現(xiàn)實(shí)。
如上所述,普通的三維重建技術(shù)操作步驟較難,對(duì)電腦計(jì)算能力的要求較高,不合適一般用戶使用,適用于大眾的三維人體頭部的重建幾乎是一片空白。
技術(shù)實(shí)現(xiàn)要素:
:
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺點(diǎn),提供一種基于手機(jī)攝像和云服務(wù)器的三維人頭重建系統(tǒng)及方法,為手機(jī)、平板用戶提供了一種全自動(dòng)、方便快捷的三維人頭重建服務(wù),用戶只需將想要重建的人頭拍攝多張照片并上傳至云服務(wù)器,即可在數(shù)分鐘后獲取三維模型,并可在手機(jī)客戶端瀏覽模型;本發(fā)明通過如下步驟:1通過圖像處理生成特征點(diǎn)。2通過特征點(diǎn)的對(duì)比、匹配構(gòu)建出每張圖像在三維空間中的位置關(guān)系。3以各圖片特征點(diǎn)及位置關(guān)系為基礎(chǔ),初步生成三維模型。4通過恢復(fù)三維模型的光照條件,進(jìn)一步恢復(fù)具有高可信度的幾何模型。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:
一種基于手機(jī)攝像和云服務(wù)器的三維人體頭部的重建系統(tǒng),所述重建系統(tǒng)由云服務(wù)器、客戶端、照片處理模塊、三維重建模塊、模型瀏覽模塊構(gòu)成,云服務(wù)器進(jìn)行高負(fù)荷運(yùn)算以減少智能手機(jī)的負(fù)荷,客戶端擁有上傳照片、瀏覽三維模型的功能,照片處理模塊用來篩選、處理用戶上傳的圖片,三維重建模塊運(yùn)用先進(jìn)的海量圖片三維重建技術(shù)來并行計(jì)算圖片的特征點(diǎn),并把特征點(diǎn)合成為三維模型,然后進(jìn)行過濾、平滑、網(wǎng)狀處理,得到最終的三維模型,模型瀏覽模塊將服務(wù)器產(chǎn)生的三維模型下載至客戶端并展示在用戶面前,用戶可以在顯示器中從各個(gè)角度觀察三維模型。
所述的重建系統(tǒng)的方法,按照如下步驟:
(1)用戶對(duì)想要進(jìn)行三維重建的人體頭部從不同角度拍攝多張照片,并通過安裝在智能手機(jī)上的客戶端將照片上傳至云服務(wù)器;
(2)在云服務(wù)器端,計(jì)算出每張圖片的SIFT特征;
(3)根據(jù)圖片的SIFT特征進(jìn)行匹配,進(jìn)而計(jì)算基礎(chǔ)矩陣并且從中獲得本征矩陣,之后對(duì)先前獲得的本征矩陣進(jìn)行奇異值分解,將矩陣分解成為兩部分,一個(gè)旋轉(zhuǎn)部分和一個(gè)位移部分,再通過Bundle Adjustment優(yōu)化這些參數(shù);計(jì)算出圖片的位移、旋轉(zhuǎn)矩陣,及攝像頭的內(nèi)部參數(shù);
(4)在云服務(wù)器端,根據(jù)得到的特征點(diǎn)和相機(jī)參數(shù),使用multi-view stereo(MVS)方法,生成初步的三維模型;
(5)在云服務(wù)器端,使用shape-from-shading(SfS)方法,通過恢復(fù)三維模型的光照條件,進(jìn)一步優(yōu)化三維模型質(zhì)量;
(6)用戶將云服務(wù)器生成的三維模型下載至手機(jī)端,通過旋轉(zhuǎn)、滑動(dòng)、縮放操作來全方位觀察三維模型。
所述步驟(2)如下:
A.構(gòu)建尺度空間:這是一個(gè)初始化操作,尺度空間理論目的是模擬圖像數(shù)據(jù)的多尺度特征;圖像金字塔的建立,對(duì)于一幅圖像,建立其在不同尺度的圖像,使圖像在任何尺度都有對(duì)應(yīng)的特征點(diǎn);
B.找到關(guān)鍵特征點(diǎn):為了尋找尺度空間的極值點(diǎn),每一個(gè)采樣點(diǎn)要和它所有的相鄰點(diǎn)比較,看其是否比它的圖像域和尺度域的相鄰點(diǎn)大或者小,圖片中間的檢測(cè)點(diǎn)和它同尺度的8個(gè)相鄰點(diǎn)和上下相鄰尺度對(duì)應(yīng)的9×2個(gè)點(diǎn)共26個(gè)點(diǎn)比較,以確保在尺度空間和二維圖像空間都檢測(cè)到極值點(diǎn);一個(gè)點(diǎn)如果在DOG尺度空間本層以及上下兩層的26個(gè)領(lǐng)域中是最大或最小值時(shí),就認(rèn)為該點(diǎn)是圖像在該尺度下的一個(gè)特征點(diǎn);
C.除去不好的特征點(diǎn):這一步要去掉局部曲率非常不對(duì)稱的像素;
D.給特征點(diǎn)賦值一個(gè)128維方向參數(shù),上一步中確定了每幅圖中的特征點(diǎn),為每個(gè)特征點(diǎn)計(jì)算一個(gè)方向,依照這個(gè)方向做進(jìn)一步的計(jì)算,利用關(guān)鍵點(diǎn)鄰域像素的梯度方向分布特性為每個(gè)關(guān)鍵點(diǎn)指定方向參數(shù),使算子具備旋轉(zhuǎn)不變性;
E.關(guān)鍵點(diǎn)描述子的生成:首先將坐標(biāo)軸旋轉(zhuǎn)為關(guān)鍵點(diǎn)的方向,以確保旋轉(zhuǎn)不變性,以關(guān)鍵點(diǎn)為中心取8×8的窗口。
所述步驟(3)如下:
在云服務(wù)器端,根據(jù)圖片的SIFT特征進(jìn)行匹配,即對(duì)圖像中所有的描述子進(jìn)行匹配,匹配上128維表示兩個(gè)特征點(diǎn)匹配成功,進(jìn)而計(jì)算基礎(chǔ)矩陣并且從中獲得本征矩陣;之后通過structure-from-motion(SFM)計(jì)算出每張圖片在三維空間中的位置關(guān)系,計(jì)算出圖片的位移、旋轉(zhuǎn)矩陣,及攝像頭的內(nèi)部參數(shù);也就是對(duì)先前獲得的本征矩陣進(jìn)行奇異值分解,將矩陣分解成為兩部分,一個(gè)旋轉(zhuǎn)部分和一個(gè)位移部分,最后再優(yōu)化這些參數(shù)。
所述步驟(5)如下:
A.根據(jù)圖像的像素值和空間關(guān)系,計(jì)算出三維模型上每一點(diǎn)的亮度值;
B.根據(jù)亮度值和初步的三維模型,在光照條件分塊均勻的限制下,計(jì)算出三維空間中每一點(diǎn)的關(guān)照條件;
C.根據(jù)光照條件和亮度值的關(guān)系,優(yōu)化三維空間中每一點(diǎn)的法向量,進(jìn)而優(yōu)化整個(gè)三維模型,使其更加精細(xì)。
本發(fā)明的有益效果:
A將多張沒有額外信息的照片進(jìn)行處理、匹配,生成還原度高的三維模型。
B減少智能手機(jī)的運(yùn)算負(fù)荷,引入云處理器進(jìn)行高負(fù)荷運(yùn)算;如引入云服務(wù)器,處理海量圖片及高負(fù)荷三位運(yùn)算;將圖片和三維模型進(jìn)行編碼壓縮、格式轉(zhuǎn)換,使數(shù)據(jù)上傳、下載更加快速流暢。
附圖說明
圖1為本發(fā)明的系統(tǒng)示意圖。
其中:1為客戶端、2為云服務(wù)器、3為照片處理模塊、4為三維重建模塊、5為模型瀏覽模塊。
具體實(shí)施方式:
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)描述:
如圖1所示,本發(fā)明包含云服務(wù)器、客戶端、照片處理模塊、三維重建模塊、模型瀏覽模塊。解決傳統(tǒng)三維重建技術(shù)操作復(fù)雜、運(yùn)算要求高的問題,本發(fā)明使用云服務(wù)器來處理復(fù)雜的重建過程。而客戶端只留下上傳照片、瀏覽三維模型的功能,用戶操作會(huì)得到大幅簡(jiǎn)化。照片處理模塊用來篩選、處理用戶上傳的圖片。三維重建模塊運(yùn)用先進(jìn)的海量圖片三維重建技術(shù)來并行計(jì)算圖片的特征點(diǎn),并把特征點(diǎn)合成為三維模型,然后進(jìn)行過濾、平滑、網(wǎng)狀處理,得到最終的三維模型。
模型瀏覽模塊將服務(wù)器產(chǎn)生的三維模型下載至客戶端并展示在用戶面前,用戶可以在顯示器中從各個(gè)角度觀察三維模型。其中的核心部分三維重建模塊又可細(xì)分為圖片匹配、參數(shù)計(jì)算、初始模型生成、光源恢復(fù)及模型優(yōu)化幾個(gè)下屬模塊。其中圖片匹配模塊會(huì)計(jì)算出每張圖片的SIFT特征,參數(shù)計(jì)算模塊使用structure-from-motion(SFM)方法計(jì)算出每張圖片在三維空間中的位置關(guān)系,初始模型生成模塊使用multi-view stereo(MVS)方法根據(jù)特征點(diǎn)和相機(jī)參數(shù)生成初步的三維模型,光源恢復(fù)及模型優(yōu)化模塊使用shape-from-shading(SfS)方法進(jìn)一步優(yōu)化三維模型質(zhì)量。
1.用戶對(duì)想要進(jìn)行三維重建的人頭從不同角度拍攝多張照片,并通過安裝在智能手機(jī)上的客戶端將照片上傳至云服務(wù)器。下圖為拍攝照片的示例。
2.在云服務(wù)器端,計(jì)算出每張圖片的SIFT特征。
具體步驟包括:
A.構(gòu)建尺度空間:這是一個(gè)初始化操作,尺度空間理論目的是模擬圖像數(shù)據(jù)的多尺度特征。圖像金字塔的建立,對(duì)于一幅圖像,建立其在不同尺度的圖像,就可以在任何尺度都能夠有對(duì)應(yīng)的特征點(diǎn)。三維重建模塊照片處理模塊云服務(wù)器模型瀏覽模塊手機(jī)客戶端。
B.找到關(guān)鍵點(diǎn):為了尋找尺度空間的極值點(diǎn),每一個(gè)采樣點(diǎn)要和它所有的相鄰點(diǎn)比較,看其是否比它的圖像域和尺度域的相鄰點(diǎn)大或者小。圖片中間的檢測(cè)點(diǎn)和它同尺度的8個(gè)相鄰點(diǎn)和上下相鄰尺度對(duì)應(yīng)的9×2個(gè)點(diǎn)共26個(gè)點(diǎn)比較,以確保在尺度空間和二維圖像空間都檢測(cè)到極值點(diǎn)。一個(gè)點(diǎn)如果在DOG尺度空間本層以及上下兩層的26個(gè)領(lǐng)域中是最大或最小值時(shí),就認(rèn)為該點(diǎn)是圖像在該尺度下的一個(gè)特征點(diǎn)。
C.除去不好的特征點(diǎn):這一步要去掉局部曲率非常不對(duì)稱的像素。
D.給特征點(diǎn)賦值一個(gè)128維方向參數(shù),上一步中確定了每幅圖中的特征點(diǎn),為每個(gè)特征點(diǎn)計(jì)算一個(gè)方向,依照這個(gè)方向做進(jìn)一步的計(jì)算,利用關(guān)鍵點(diǎn)鄰域像素的梯度方向分布特性為每個(gè)關(guān)鍵點(diǎn)指定方向參數(shù),使算子具備旋轉(zhuǎn)不變性。
E.關(guān)鍵點(diǎn)描述子的生成:首先將坐標(biāo)軸旋轉(zhuǎn)為關(guān)鍵點(diǎn)的方向,以確保旋轉(zhuǎn)不變性。以關(guān)鍵點(diǎn)為中心取8×8的窗口。
3.在云服務(wù)器端,根據(jù)圖片的SIFT特征進(jìn)行匹配,即對(duì)圖像中所有的描述子進(jìn)行匹配,匹配上128維表示兩個(gè)特征點(diǎn)匹配成功,進(jìn)而計(jì)算基礎(chǔ)矩陣并且從中獲得本征矩陣。之后通過structure-from-motion(SFM)計(jì)算出每張圖片在三維空間中的位置關(guān)系,計(jì)算出圖片的位移、旋轉(zhuǎn)矩陣,及攝像頭的內(nèi)部參數(shù)。也就是對(duì)先前獲得的本征矩陣進(jìn)行奇異值分解(SVD),將矩陣分解成為兩部分,一個(gè)旋轉(zhuǎn)成分和一個(gè)位移成分。最后再通過Bundle Adjustment來優(yōu)化這些參數(shù)。
4.在云服務(wù)器端,使用multi-view stereo(MVS)方法,根據(jù)步驟3中得到的特征點(diǎn)和相機(jī)參數(shù),生成初步的三維模型。
5.在云服務(wù)器端,使用shape-from-shading(SfS)方法,通過恢復(fù)三維模型的光照條件,進(jìn)一步優(yōu)化三維模型質(zhì)量。這里的具體步驟為:
A.根據(jù)圖像的像素值和空間關(guān)系,計(jì)算出三維模型上每一點(diǎn)的亮度值。
B.根據(jù)亮度值和初步的三維模型,在光照條件分塊均勻的限制下,計(jì)算出三維空間中每一點(diǎn)的關(guān)照條件。
C.根據(jù)光照條件和亮度值的關(guān)系,優(yōu)化三維空間中每一點(diǎn)的法向量,進(jìn)而優(yōu)化整個(gè)三維模型,使其更加精細(xì)。
6.用戶將云服務(wù)器生成的三維模型下載至手機(jī)端。用戶可以通過旋轉(zhuǎn)、滑動(dòng)、縮放等操作來全方位觀察三維模型。
以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的方法及技術(shù)內(nèi)容作出些許的更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與修飾,仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。