本發(fā)明涉及人體測量技術(shù)領(lǐng)域,特別是涉及一種人體三維建模數(shù)據(jù)處理方法及裝置。
背景技術(shù):
現(xiàn)實生活中,往往需要獲取人體身體的尺寸信息,用于諸如量體裁衣、肥胖檢測等等。人體測量技術(shù)依據(jù)是否和人體接觸可以分為接觸式人體測量和非接觸式人體測量。接觸式人體測量,傳統(tǒng)上采用的是利用測量工具,比如卷尺等等,直接從人體上量取所需要的尺寸信息。這種方式因為和人體是有接觸的而不友好,另外在量取所需要的尺寸的耗時上也較長,同時由于是人力操作而不是機器式,效率比較低。非接觸式人體測量相比于接觸式人體測量,由于采用的是非接觸的方式,則在采集友好性上更好。非接觸人體測量技術(shù)有廓體影像法,三維人體測量法等等。廓體影像法是直接在所拍攝的圖片上進行人體測量。三維人體測量法則是一個交叉學(xué)科領(lǐng)域,尤其是近年來在3d傳感器技術(shù)和設(shè)備上的快速發(fā)展,也使得三維人體測量成為研究熱點。
在三維人體測量領(lǐng)域,進行必要的長度和圍長測量時所需要的數(shù)據(jù)主要包括人體骨骼關(guān)節(jié)點和人體表面特征點。人體骨骼關(guān)節(jié)點的檢測和識別依賴于3d傳感器的骨架追蹤提取功能,而人體表面特征點的標(biāo)識和提取較為復(fù)雜。目前三維人體測量中在人體表面特征點的標(biāo)識和提取上主要有三種方法:第一,直接在所獲得的三維人體模型上手動標(biāo)識人體表面特征點;第二,先構(gòu)造三維人體模型數(shù)據(jù)庫,數(shù)據(jù)庫里的每個三維人體模型都已經(jīng)手動標(biāo)記好人體表面特征點,然后通過機器學(xué)習(xí)方法,訓(xùn)練得到三維人體模型表面特征點與三維人體模型的關(guān)系,再將所要進行測量的三維人體模型作為輸入,輸出的結(jié)果就是估測的人體表面特征點;第三,先在人體表面特征點位置印上有特殊標(biāo)記的圖案,然后通過所拍攝圖片識別和定位這些圖案,之后通過二維空間和三維空間的映射關(guān)系,可得到三維空間中的這些圖案的坐標(biāo)位置,即為人體表面特征點的位置。以上的方法中,方法一,由于為手動標(biāo)識,過程比較繁瑣且耗時較長。方法二,需要構(gòu)建規(guī)模比較大的人體模型數(shù)據(jù)庫,同時訓(xùn)練好模型與表面特征點的關(guān)系,才能估測出比較準(zhǔn)確的人體表面特征點。建立一個規(guī)模比較大的人體模型數(shù)據(jù)庫,還需要對每個人體表面特征點進行標(biāo)識,所需要的工作量相當(dāng)大,目前一些公開可用的人體模型數(shù)據(jù)庫,如caesar等等,所涵蓋的種族范圍也基本是白人群體,不同種族的人在人體尺寸上具有較大的差別。方法三,在人體表面特征點的位置實際印上特殊圖案進而通過圖像識別的技術(shù)識別并定位這些圖案,由于是和人體表面有接觸的,是一種介于接觸式人體測量和非接觸人體測量的方法,在采集數(shù)據(jù)的友好性上是不良好的。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中人體三維建模過程繁瑣的技術(shù)問題,本發(fā)明提出一種人體三維建模數(shù)據(jù)處理方法及系統(tǒng)。
本發(fā)明的技術(shù)問題通過以下的技術(shù)方案予以解決:一種人體三維建模數(shù)據(jù)處理方法,包括以下步驟:
s1:投影儀投射可識別的圖案到人體表面特征點的位置;
s2:對投射有所述圖案的人體進行拍攝,獲取深度圖像和彩色圖像;
s3:根據(jù)所述彩色圖像識別并定位所述人體表面的所述圖案,得到二維特征點序列;
s4:結(jié)合所述深度圖像將所述二維特征點序列映射為三維空間的點,構(gòu)成三維特征點序列;
s5:將所述三維特征點序列結(jié)合標(biāo)準(zhǔn)人體模板進行形變處理獲取人體三維模型。
具體地,在步驟s1中所述人體表面特征點的獲取步驟包括:
t1:采用3d傳感器獲取人體骨骼及關(guān)節(jié)點;
t2:根據(jù)所述人體骨骼及關(guān)節(jié)點標(biāo)定所述人體表面特征點。
具體地,所述深度圖像通過3d傳感器內(nèi)置的深度相機獲??;所述彩色圖像通過攝像機或3d傳感器內(nèi)置的彩色相機獲取。
進一步地,在步驟s1之前包括步驟:
s11:對所述深度相機、彩色相機或攝像機進行標(biāo)定,獲取對應(yīng)的內(nèi)部參數(shù)及外部參數(shù);
s12:根據(jù)所述內(nèi)部參數(shù)及外部參數(shù)建立所述深度圖像與所述彩色圖像的映射關(guān)系。
更進一步地,所述投影儀的數(shù)量至少為1臺,所述3d傳感器的數(shù)量至少為1臺,所述攝像機的數(shù)量至少為1臺。
具體地,所述圖案包括二維碼和/或條碼。
具體地,每一個所述圖案用于唯一標(biāo)識人體表面對應(yīng)的所述特征點。
具體地,在步驟s4中,還包括通過鄰域搜索算法去除冗余的所述三維空間的點。
本發(fā)明包括一種采用人體三維建模數(shù)據(jù)處理方法的裝置,包括至少一臺3d傳感器、至少一臺投影儀、計算設(shè)備、和/或至少一臺攝像機,所述計算設(shè)備包含的軟件程序利用所述3d傳感器、投影儀、和/或攝像機執(zhí)行上述任一所述的方法。
本發(fā)明還包括一種包含計算機程序的計算機可讀存儲介質(zhì),所述計算機程序使計算機執(zhí)行上述任一所述方法的步驟。
本發(fā)明與現(xiàn)有技術(shù)對比的有益效果包括:投影儀投射可識別的圖案到人體表面特征點的位置,只需要投射一次圖案,并準(zhǔn)確的定位了人體表面特征點的位置,之后進行拍攝獲取深度圖像和彩色圖像,根據(jù)彩色圖像識別并定位人體表面的圖案,得到二維特征點序列,結(jié)合深度圖像將二維特征點序列映射為三維空間的點構(gòu)成了三維特征點序列,再將三維特征點序列結(jié)合人體模板形變處理獲取人體三維模型,根據(jù)人體三維模型測量尺寸數(shù)據(jù),實現(xiàn)了快速地建立人體三維模型。
附圖說明
圖1是本發(fā)明實施例1中的人體三維建模數(shù)據(jù)處理方法的流程圖。
圖2是本發(fā)明實施例1中的獲取人體表面特征點的流程圖。
圖3是本發(fā)明實施例1中的建立深度圖像與彩色圖像映射關(guān)系的流程圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面對照附圖并結(jié)合優(yōu)選的實施方式對本發(fā)明作進一步說明。
實施例1
需要說明的是3d傳感器內(nèi)置有深度相機和彩色相機,在本實施例中,采用3d傳感器內(nèi)置的深度相機獲取深度圖像,但采用高分辨率攝像機獲取彩色圖像。在其他的實施例中,也可以采用3d傳感器內(nèi)置的彩色相機獲取彩色圖像。
本實施例中采用的人體三維尺寸測量裝置,包括:投影儀,攝像機,3d傳感器,計算機。具體地,采用2臺投影儀,4臺攝像機,4臺3d傳感器,1臺計算機。一臺高分辨率攝像機與一臺3d傳感器合成為一組,4個組合剛好分別對應(yīng)被拍攝者的前后左右四個方向,且每組的位置相對固定。兩臺投影儀分別對應(yīng)于被拍攝者的前后方向。4臺攝像機,4個3d傳感器,2個投影儀,均直接或間接地通過分線器連接到計算機設(shè)備上,所述計算機設(shè)備為包含計算機程序的計算機設(shè)備。被拍攝者的特征點都能確保被拍攝到,所述被拍攝者是指能直觀準(zhǔn)確反映其身體輪廓及所投射的可識別圖案的被拍攝者,如以穿淺色緊身衣遮蓋隱私部位的被拍攝者,采用淺色緊身衣可以有利于圖案的顯示。所述被拍攝者在拍攝中具有這樣一種姿態(tài):筆直站立,雙腳張開距離略小于肩寬,雙手自然下垂與身體不接觸,留有一定距離。所述被拍攝者的姿態(tài),確保了在拍攝中而不會因為人體姿態(tài)的問題,比如手臂交叉、雙腿并攏等,造成拍攝全方位特征點難,或所拍攝特征點存在大范圍缺失的問題。
在本實施例中,3d傳感器、攝像機放置在一支撐架上,具體地,所述支撐架為一豎直橫桿;3d傳感器、攝像機可以在豎直橫桿的垂直方向上放置多個這種組合,進一步的,可以在垂直方向上等間距分布。但出于成本、數(shù)據(jù)計算量等因素考慮,本實施例中每個豎直橫桿上只采用一組,優(yōu)選的,投影儀放置在所述組合的垂直方向之上。3d傳感器、攝像機組合的安裝高度以能實現(xiàn)對被拍攝者的全身拍攝為準(zhǔn),投影儀的安裝高度以能實現(xiàn)將所有圖案投射到人體表面為準(zhǔn)。
在其他實施例中,所述攝像機的數(shù)量也可以為至少1臺,3d傳感器的數(shù)量為至少1臺,投影儀的數(shù)量為至少1臺,以拍攝到被投射有可識別圖案的人體的深度圖像和彩色圖像。
基于上述人體三維建模數(shù)據(jù)處理裝置進行人體三維測量,具體地,如圖1所示,人體三維建模數(shù)據(jù)處理方法包括以下步驟:
s1:投影儀投射可識別的圖案到人體表面特征點的位置;可識別的圖案為具有特殊規(guī)則的可識別圖案,在本實施例中所述圖案采用二維碼,在其他實施例中也可以是有條碼,也可以是條碼與二維碼結(jié)合等可識別圖案,所采用的每個二維碼和信息均不一樣,用于唯一標(biāo)識人體表面每一個特征點,每個二維碼對應(yīng)一個個特征點,具有固定特性的二維碼對不同的被拍攝者可重復(fù)使用,也有利于后續(xù)的圖像識別,若所述二維碼在人體表面特征點的對應(yīng)投入位置出現(xiàn)偏差可在計算機上依據(jù)前期在原理圖上標(biāo)識好的人體表面特征點進行調(diào)整。
如圖2所示,所述人體表面特征點的獲取步驟包括:
t1:采用3d傳感器獲取人體骨骼及關(guān)節(jié)點;
t2:根據(jù)所述人體骨骼及關(guān)節(jié)點標(biāo)定所述人體表面特征點。
如圖3所示,在步驟s1之前還包括步驟:
s11:對每個攝像機和3d傳感器內(nèi)置的深度相機進行相機標(biāo)定,以獲得對應(yīng)的攝像機的內(nèi)部參數(shù)和外部參數(shù),以及3d傳感器的深度相機的內(nèi)部參數(shù)和外部參數(shù);
s12:根據(jù)所述內(nèi)部參數(shù)及外部參數(shù)建立所述深度圖像與所述彩色圖像的映射關(guān)系。
深度圖像上每一個像素的值對應(yīng)于深度相機與所述目標(biāo)對象表面每一個采樣點的真實距離。對每個3d傳感器內(nèi)置的深度相機和彩色相機進行相機的標(biāo)定,獲取得到深度相機的內(nèi)部參數(shù),彩色相機的內(nèi)部參數(shù),深度相機相對于彩色相機的外部參數(shù)。深度相機的內(nèi)部參數(shù)主要由fx_depth,fy_depth,ox_depth,oy_depth組成,其中fx_depth,fy_depth分別對應(yīng)于深度相機的x軸和y軸方向的焦距,ox_depth,oy_depth,分別對應(yīng)于深度相機原點的x軸和y軸坐標(biāo)。彩色相機的內(nèi)部參數(shù)主要由fx_rgb,fy_rgb,ox_rgb,oy_rgb組成,其中fx_rgb,fy_rgb,分別對應(yīng)于彩色相機的x軸和y軸方向的焦距,ox_rgb,oy_rgb,分別對應(yīng)于彩色相機原點的x軸和y軸坐標(biāo)。深度相機相對于彩色相機的外部參數(shù)主要由r,t組成,其中r為旋轉(zhuǎn)矩陣,rx,ry,rz分別為繞x,y,z軸的旋轉(zhuǎn)分量,t為平移矩陣,tx,ty,tz分別為沿x,y,z軸的平移分量。
進一步的,在每個3d傳感器對所述目標(biāo)對象拍攝得到的數(shù)據(jù)主要由目標(biāo)對象和背景兩部分?jǐn)?shù)據(jù)組成。將所述目標(biāo)對象與背景進行分割從而得到所述目標(biāo)對象的數(shù)據(jù)主要可以采用兩種方式進行:基于彩色圖像、基于深度圖像。由于所述目標(biāo)對象與背景在深度值上相差較大,可通過設(shè)定深度閾值將所述目標(biāo)對象與背景分割出來。進一步的,所述3d傳感器有人體骨架識別功能,利用此人體識別功能可將所述目標(biāo)對象與背景進行分割,得到僅包含所述目標(biāo)對象的數(shù)據(jù)。
具體公式如下:
其中depth(x,y)代表深度圖像每一像素的值,x,y代表深度圖像上每一像素的x軸,y軸坐標(biāo)。pdepth(xdepth,ydepth,zdepth)代表深度圖像上每一個像素點在三維空間的點。
相對于所述深度相機的三維空間點與相對于所述攝像機的三維空間點具有如下的映射關(guān)系:
prgb(xrgb,yrgb,zrgb)=r.pdepth+t(4)
其中prgb(xrgb,yrgb,zrgb)為每個彩色點在三維空間的坐標(biāo);每個三維空間的彩色點與所述彩色圖像上的像素點具有如下的映射關(guān)系:
經(jīng)由步驟(1)-(3)可得到不包含顏色信息的三維點云數(shù)據(jù);經(jīng)由步驟(1)-(6)可得到包含顏色信息的三維點云數(shù)據(jù)。
s2:對投射有所述圖案的人體進行拍攝,獲取深度圖像和彩色圖像;所述深度圖像通過3d傳感器內(nèi)置的深度相機獲取,所述彩色圖像通過攝像機獲取,在本實施例中所述攝像機采用高分辨率攝像機,所述高分辨率攝像機和3d傳感器同步拍攝人體的彩色和深度數(shù)據(jù)。采用高分辨率攝像機對人體進行拍攝,與3d體感器內(nèi)置的彩色相機相比,所拍攝到的圖片具有更高分辨率,使得二維碼具有更高的識別率和更為精確的定位。
s3:根據(jù)所述彩色圖像識別并定位所述人體表面的所述圖案,得到二維特征點序列;
s4:結(jié)合所述深度圖像將所述二維特征點序列映射為三維空間的點,構(gòu)成三維特征點序列;在該步驟中,通過鄰域搜索算法去除冗余的所述三維空間的點。
s5:將所述三維特征點序列結(jié)合標(biāo)準(zhǔn)人體模板進行形變處理獲取人體三維模型。根據(jù)所述人體三維模型測量尺寸數(shù)據(jù),所述尺寸數(shù)據(jù)包括身高、肩寬、腿長、臂長、腰圍、臀圍、胸圍等。
具體地,根據(jù)所述三維特征點序列結(jié)合標(biāo)準(zhǔn)人體模板進行形變處理從而獲取人體三維模型可采用三維形變算法,如徑向基函數(shù)。徑向基函數(shù)用于三維形變處理關(guān)鍵在于找到控制點和目標(biāo)點??刂泣c是標(biāo)準(zhǔn)人體模板上的特征點序列,而目標(biāo)點是被拍攝人體上的特征點序列。所述三維特征點序列即可為目標(biāo)點??刂泣c和目標(biāo)點是一一對應(yīng)的。利用所述標(biāo)準(zhǔn)人體模板的控制點以及所述被拍攝人體的目標(biāo)點可建立起徑向基函數(shù),基于所述函數(shù)可將標(biāo)準(zhǔn)人體目標(biāo)作形變處理從而獲取被拍攝人體的三維模型。
本實施例包括一種采用人體三維建模數(shù)據(jù)處理方法的裝置,所述裝置包括至少一臺3d傳感器、至少一臺投影儀、計算設(shè)備、和/或至少一臺攝像機,所述計算設(shè)備包含的軟件程序利用所述3d傳感器、投影儀、和/或攝像機執(zhí)行本實施例所述的方法。
本實施例還包括一種包含計算機程序的計算機可讀存儲介質(zhì),所述計算機程序使計算機執(zhí)行本實施例所述方法的步驟。
實施例2
與實施例1區(qū)別在于,本實施例中3d傳感器的數(shù)量為1臺,攝像機的數(shù)量為1臺,投影儀為1臺,所述3d傳感器和所述攝像機所在的支撐架放于一圓形導(dǎo)軌上,所述導(dǎo)軌有導(dǎo)輪和電機,所述電機運行可推動所述導(dǎo)輪滾動,從而帶動所述支撐架上的所述3d傳感器和攝像機繞著以所述被拍攝者為圓心進行同步拍攝,當(dāng)被拍攝者正面或背面對著3d傳感器和攝像機時,投影儀開啟,投射圖案到人體表面相應(yīng)的特征點位置,當(dāng)被拍攝者左右側(cè)面對著3d傳感器和投影儀時,投影儀不開啟,不投射圖案到人體表面。
在其他實施例中,彩色圖像也可以采用3d傳感器內(nèi)置的彩色相機獲取。
實施例3
與實施例2的區(qū)別在于,被拍攝者站在一轉(zhuǎn)盤上,由電機驅(qū)動帶動被拍攝者轉(zhuǎn)動,3d傳感器與攝像機及投影儀不動,同時,為了方便被拍攝者拍攝保持靜止,可在轉(zhuǎn)盤上設(shè)置兩個扶手;控制轉(zhuǎn)盤轉(zhuǎn)動時,當(dāng)被拍攝者正面或背面對著3d傳感器和攝像機時,投影儀開啟,投射圖案到人體表面相應(yīng)的特征點位置,當(dāng)被拍攝者左右側(cè)面對著3d傳感器和投影儀時,投影儀不開啟,不投射圖案到人體表面。
以上內(nèi)容是結(jié)合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干等同替代或明顯變型,而且性能或用途相同,都應(yīng)當(dāng)視為屬于本發(fā)明的保護范圍。