1.一種人體三維掃描方法,其特征在于,所述方法包括下述步驟:
S100、獲取人體當(dāng)前幀深度圖像數(shù)據(jù);
S200、將所述深度圖像數(shù)據(jù)轉(zhuǎn)化為點(diǎn)云數(shù)據(jù),將其作為第一點(diǎn)云數(shù)據(jù);
S300、對(duì)所述第一點(diǎn)云數(shù)據(jù)進(jìn)行濾波,獲得第一無(wú)噪聲點(diǎn)云數(shù)據(jù);
對(duì)上一幀對(duì)應(yīng)的第二點(diǎn)云數(shù)據(jù)進(jìn)行濾波,獲得第二無(wú)噪聲點(diǎn)云數(shù)據(jù);
S400、將當(dāng)前幀對(duì)應(yīng)的第一無(wú)噪聲點(diǎn)云數(shù)據(jù)和上一幀對(duì)應(yīng)的第二無(wú)噪聲點(diǎn)云數(shù)據(jù)進(jìn)行配準(zhǔn),獲得剛體轉(zhuǎn)換矩陣;
S500、基于所述剛體轉(zhuǎn)換矩陣,將所述當(dāng)前幀深度圖像數(shù)據(jù)與前面幀的深度圖像數(shù)據(jù)進(jìn)行融合,獲得融合后的點(diǎn)云數(shù)據(jù),將其作為第二點(diǎn)云數(shù)據(jù);
S600、若當(dāng)前幀為最后一幀,執(zhí)行步驟S700;
否則,獲取當(dāng)前幀相鄰的下一幀深度圖像數(shù)據(jù),返回步驟S200;
S700、利用最后一幀對(duì)應(yīng)的第二點(diǎn)云數(shù)據(jù),建立人體三維模型。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,優(yōu)選的,
所述步驟S100中的當(dāng)前幀如果為第一幀,那么在步驟S300中將其對(duì)應(yīng)的第一無(wú)噪聲點(diǎn)云數(shù)據(jù)作為第二無(wú)噪聲點(diǎn)云數(shù)據(jù),并獲取當(dāng)前幀相鄰的下一幀深度圖像數(shù)據(jù),返回步驟S200。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S300中所述濾波包括下述步驟:
S301、對(duì)所述第一點(diǎn)云數(shù)據(jù)進(jìn)行景深框?yàn)V波;若存在第二點(diǎn)云數(shù)據(jù),則對(duì)第二點(diǎn)云數(shù)據(jù)進(jìn)行景深框?yàn)V波;
S302、對(duì)經(jīng)過(guò)景深框?yàn)V波后的點(diǎn)云數(shù)據(jù),使用基于半徑的體外點(diǎn)濾波器濾除離群點(diǎn)數(shù)據(jù);
S303、若獲取的深度圖像數(shù)據(jù)包含人體所在的測(cè)量臺(tái),則通過(guò)移除測(cè)量臺(tái)平面及下面的點(diǎn)云數(shù)據(jù),獲得無(wú)足底平面的人體點(diǎn)云;
其中:
所述景深框根據(jù)人體所在測(cè)量臺(tái)和深度相機(jī)之間的位置關(guān)系進(jìn)行設(shè)置;
所述景深框?yàn)V波為保留景深框內(nèi)的點(diǎn)云數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在步驟S303之后,還包括下述步驟:
S304、應(yīng)用體素網(wǎng)格濾波器對(duì)無(wú)足底平面的人體點(diǎn)云進(jìn)行采樣,將人體點(diǎn)云分割為空間分布的體素網(wǎng)格,體素網(wǎng)格內(nèi)的所有點(diǎn)用該體素網(wǎng)格的重心代替,獲得精簡(jiǎn)的點(diǎn)云數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S400包括下述步驟:
S401、對(duì)所述第一無(wú)噪聲點(diǎn)云數(shù)據(jù)、第二無(wú)噪聲點(diǎn)云數(shù)據(jù)進(jìn)行抽樣,獲取抽樣點(diǎn)云的快速點(diǎn)云特征直方圖;
S402、將所述快速點(diǎn)云的直方圖作為輸入,利用抽樣一致性初始配準(zhǔn)算法(Sampled Consensus–Initial Alignment algorithm,SAC-IA)進(jìn)行粗配準(zhǔn);
S403、利用粗配準(zhǔn)的結(jié)果,對(duì)齊所述第一無(wú)噪聲點(diǎn)云數(shù)據(jù)相應(yīng)的點(diǎn)云到第二無(wú)噪聲點(diǎn)云數(shù)據(jù)相應(yīng)的點(diǎn)云;
S404、根據(jù)公式(1)的目標(biāo)函數(shù),利用迭代最近點(diǎn)算法(Iterative Closest Point,ICP)將對(duì)齊的點(diǎn)云進(jìn)行精配準(zhǔn),獲得相鄰點(diǎn)云的剛體轉(zhuǎn)換矩陣;
所述公式(1)如下:
式中:
其中:M、P為待配準(zhǔn)的兩幅點(diǎn)云;
R為獲取兩幅點(diǎn)云的相機(jī)的旋轉(zhuǎn)矩陣;T為獲取兩幅點(diǎn)云相機(jī)的平移矩陣;
為M對(duì)齊后的點(diǎn)云;
dist(,)表示點(diǎn)云兩兩配準(zhǔn)后對(duì)應(yīng)點(diǎn)的距離。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S500包括下述步驟:
S501、若當(dāng)前幀不存在第三截?cái)喾?hào)距離函數(shù),則將第一幀的深度圖像數(shù)據(jù)所代表的點(diǎn)云模型使用第一截?cái)喾?hào)距離函數(shù)表示;否則,使用第一截?cái)嗑嚯x函數(shù)代替第三截?cái)喾?hào)距離函數(shù);
S502、用第二截?cái)喾?hào)距離函數(shù)表示當(dāng)前幀深度圖像數(shù)據(jù)所對(duì)應(yīng)的點(diǎn)云模型;
S503、利用剛體轉(zhuǎn)換矩陣將所述第二截?cái)喾?hào)距離函數(shù)和所述第一截?cái)喾?hào)距離函數(shù)進(jìn)行坐標(biāo)系對(duì)齊;
S504、將對(duì)齊后的第二截?cái)喾?hào)距離函數(shù)和第一截?cái)喾?hào)距離函數(shù)進(jìn)行融合,形成下一幀對(duì)應(yīng)的第三截?cái)喾?hào)距離函數(shù)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于:
所述步驟S503中的對(duì)齊采用移動(dòng)加權(quán)平均算法。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述融合后的點(diǎn)云數(shù)據(jù)通過(guò)下述方法獲得:
S505、應(yīng)用光線投射算法將所述第三截?cái)喾?hào)距離函數(shù)生成點(diǎn)云。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S700包括下述步驟:
S701、應(yīng)用移動(dòng)最小二乘算法平滑最后一幀對(duì)應(yīng)的第二點(diǎn)云數(shù)據(jù),去除噪聲;
S702、對(duì)步驟S701中去噪后的第二點(diǎn)云數(shù)據(jù)應(yīng)用貪婪三角剖分算法建立三角化的人體網(wǎng)格模型。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述步驟S700還包括下述步驟:
S703、將人體三維模型上的每一個(gè)三維點(diǎn)重投影到二維的彩色圖像上,獲得該點(diǎn)的顏色信息;
S704、利用獲取的顏色信息對(duì)三維點(diǎn)進(jìn)行顏色渲染;
所述彩色圖像與深度圖像同步采集。