本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別涉及一種人體建模方法、裝置及電子設(shè)備。
背景技術(shù):
在現(xiàn)在許多研究應(yīng)用中,三維人體建模一直是計算機(jī)圖形和計算機(jī)視覺領(lǐng)域的重要研究課題。三維人體建模作為計算機(jī)人體仿真的一個組成部分,時至今日,研究人員依然不斷探索計算機(jī)人體建模技術(shù)。隨著計算機(jī)技術(shù)的不斷發(fā)展,如今三維人體建模在科研、動畫、電腦游戲、服裝設(shè)計、工業(yè)等領(lǐng)域有著非常廣泛的應(yīng)用。因此,如何對人體進(jìn)行三維建模是人們關(guān)注的技術(shù)重點(diǎn)。現(xiàn)在的三維建模技術(shù)主要是通過人體掃描器,對人體對象進(jìn)行掃描,以獲得人體三維模型。其中,被掃描的人體對象需要不穿衣服或穿少量貼身的衣服,且需要處于特殊的位置以便于人體掃描器進(jìn)行掃描。
在相關(guān)技術(shù)研究和實現(xiàn)過程中,發(fā)明人發(fā)現(xiàn)上述現(xiàn)有技術(shù)至少存在以下問題:由于人體掃描器通常開銷較大,導(dǎo)致在建立人體三維模型時所耗費(fèi)的成本較高。另外,由于對被掃描的人體對象所處位置有特殊要求,且要求被掃描的人體對象不穿或只穿少量貼身的衣服,從而使得建立人體三維模型的過程存在較多的限制,導(dǎo)致建立人體三維模型時不夠便利,開銷較大。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的上述問題,本發(fā)明實施例提供了一種人體建模方法、裝置及電子設(shè)備。
按照本發(fā)明提供的一種人體建模方法,包括以下步驟:
獲取至少一張人體圖像;
提取所述人體圖像中人體的原始輪廓;
根據(jù)所述原始輪廓,計算所述人體的體表輪廓;
根據(jù)所述體表輪廓,構(gòu)建人體三維模型。
在按照本發(fā)明提供的上述人體建模方法中,所述獲取至少一張人體圖像,包括獲取一張正面人體圖像和一張側(cè)面人體圖像。
在按照本發(fā)明提供的上述人體建模方法中,所述根據(jù)所述體表輪廓,構(gòu)建人體三維模型之后,還包括:
確定所述人體三維模型上的關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置;
根據(jù)所述關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置,計算所述人體三維模型的測量數(shù)據(jù)。
在按照本發(fā)明提供的上述人體建模方法中,所述計算所述人體三維模型的測量數(shù)據(jù)之后,還包括:
根據(jù)人體尺碼標(biāo)準(zhǔn),對所述測量數(shù)據(jù)進(jìn)行轉(zhuǎn)換。
在按照本發(fā)明提供的上述人體建模方法中,所述提取所述人體圖像中的原始輪廓,包括:
當(dāng)在所述人體圖像上檢測到用戶操作時,將操作位置所處的點(diǎn)或線或面作為原始輪廓的一部分。
在按照本發(fā)明提供的上述人體建模方法中,所述提取所述人體圖像中的原始輪廓,包括:
當(dāng)在所述人體圖像上檢測到用戶選取的前景和背景時,結(jié)合圖像分割算法,提取所述人體圖像中的原始輪廓。
在按照本發(fā)明提供的上述人體建模方法中,所述提取所述人體圖像中的原始輪廓,包括:
選取第一類人模板和第二類人模板,所述第一類人模板的尺寸小于第二類人模板;
計算所述第二類人模板大于所述第一類人模板的區(qū)域,作為原始輪廓所在的可能區(qū)域;
通過使用圖像分割算法,提取所述可能區(qū)域中的原始輪廓。
在按照本發(fā)明提供的上述人體建模方法中,所述計算所述第二類人模板大于所述第一類人模板的區(qū)域之前,還包括:
識別所述人體圖像中的參考標(biāo)記特征;
基于所述參考標(biāo)記特征的位置,對所述第一類人模板和所述第二類人模板進(jìn)行調(diào)整。
在按照本發(fā)明提供的上述人體建模方法中,所述對類人模板調(diào)整方法包括:
計算所述人體圖像中臉部與足部之間的像素距離;
根據(jù)所述像素距離,對所述第一類人模板和所述第二類人模板進(jìn)行縮放。
在按照本發(fā)明提供的上述人體建模方法中,所述對類人模板調(diào)整方法還包括:
計算所述人體圖像中手臂與身體之間的夾角,相應(yīng)地對所述第一類人模板和所述第二類人模板中手臂的位置進(jìn)行調(diào)節(jié);
計算所述人體圖像中腿部之間的夾角,相應(yīng)地對所述第一類人模板和所述第二類人模板中腿部的位置進(jìn)行調(diào)節(jié)。
在按照本發(fā)明提供的上述人體建模方法中,所述根據(jù)所述原始輪廓,計算所述人體的體表輪廓,包括:
根據(jù)所述原始輪廓的形狀特征,確定所述原始輪廓中的身體邊界標(biāo)記特征;
根據(jù)所述身體邊界標(biāo)記特征的形狀特征,從身體輪廓庫中選取一個或多個身體輪廓;
對選取的一個或多個身體輪廓進(jìn)行插值,得到所述人體的體表輪廓。
在按照本發(fā)明提供的上述人體建模方法中,所述確定所述原始輪廓中身體邊界標(biāo)記特征,包括:
計算所述原始輪廓上的點(diǎn)或區(qū)域的形狀特征,作為第一形狀特征;
判斷所述第一形狀特征是否滿足預(yù)設(shè)條件;
如果滿足所述預(yù)設(shè)條件,確定所述原始輪廓上的點(diǎn)或區(qū)域作為身體邊界標(biāo)記特征。
在按照本發(fā)明提供的上述人體建模方法中,所述形狀特征包括以下至少之一:
輪廓上的點(diǎn)或區(qū)域與參考點(diǎn)之間的相對坐標(biāo)距離;
輪廓上的點(diǎn)或區(qū)域的曲率;
或者,輪廓上的點(diǎn)或區(qū)域與其相對應(yīng)的點(diǎn)或區(qū)域之間的距離。
在按照本發(fā)明提供的上述人體建模方法中,所述判斷所述第一形狀特征是否滿足預(yù)設(shè)條件,包括:
根據(jù)人體參數(shù),選取與所述原始輪廓相似的一個或多個基準(zhǔn)輪廓;
計算所述基準(zhǔn)輪廓上與所述原始輪廓上相對應(yīng)的點(diǎn)或區(qū)域的形狀特征,作為第二形狀特征;
當(dāng)所述第一形狀特征與所述第二形狀特征差值小于預(yù)設(shè)閾值,確定所述原始輪廓上的點(diǎn)或區(qū)域作為身體邊界標(biāo)記特征。
在按照本發(fā)明提供的上述人體建模方法中,所述人體參數(shù)包括以下至少之一:
所述原始輪廓圍成的面積、所述人體的身高或者所述人體的體重。
在按照本發(fā)明提供的上述人體建模方法中,所述根據(jù)所述身體邊界標(biāo)記特征的形狀特征,從身體輪廓庫中選取一個或多個身體輪廓,包括:
計算身體輪廓庫中身體輪廓與所述身體邊界標(biāo)記特征相對應(yīng)的點(diǎn)或區(qū)域的形狀特征,作為第三形狀特征;
計算所述第三形狀特征與所述身體邊界標(biāo)記特征的形狀特征的差值;
選取差值最小的一個或多個身體輪廓。
在按照本發(fā)明提供的上述人體建模方法中,所述根據(jù)所述體表輪廓,構(gòu)建人體三維模型,包括:
根據(jù)所述體表輪廓,構(gòu)建人體三維外形框架;
基于所述人體三維外形框架,構(gòu)建人體三維模型。
在按照本發(fā)明提供的上述人體建模方法中,所述根據(jù)所述體表輪廓,構(gòu)建人體三維外形框架,包括:
根據(jù)體表輪廓,計算人體在不同位置上截面的形態(tài)特征數(shù)據(jù);
根據(jù)人體在不同位置上截面的形態(tài)特征數(shù)據(jù),對人體不同位置上的截面形狀進(jìn)行構(gòu)建;
從構(gòu)建的所有截面中任意選取一個截面作為參考截面,計算其它截面相對于所述參考截面的位置坐標(biāo);
基于預(yù)定義網(wǎng)格結(jié)構(gòu),按照所有截面的位置坐標(biāo),連接所有截面以作為人體三維外形框架。
在按照本發(fā)明提供的上述人體建模方法中,所述基于所述人體三維外形框架,構(gòu)建人體三維模型,包括:
根據(jù)人體參考信息,選擇三維人體模板模型;
為所述三維人體模板模型構(gòu)建第一框架,所述第一框架與所述的人體三維外形框架有相同的網(wǎng)格結(jié)構(gòu);
將所述三維人體模板模型中的點(diǎn)與所述第一框架的網(wǎng)格結(jié)構(gòu)中相對位置最近的至少一個面片進(jìn)行關(guān)聯(lián);
按照所得關(guān)聯(lián)關(guān)系,基于所述人體三維外形框架計算所述三維人體模板模型中每個點(diǎn)新的坐標(biāo),由具有新坐標(biāo)的所有點(diǎn)組成得到人體三維模型。
按照本發(fā)明另一方面提供的人體建模裝置實施例中,包括
獲取模塊,用于獲取至少一張人體圖像;
提取模塊,用于提取所述人體圖像中人體的原始輪廓;
計算模塊,用于根據(jù)所述原始輪廓,計算所述人體的體表輪廓;
構(gòu)建模塊,用于根據(jù)所述體表輪廓,構(gòu)建人體三維模型。
在上述本發(fā)明提供的人體建模裝置實施例中,所述獲取模塊包括用于獲取一張正面人體圖像和一張側(cè)面人體圖像的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述構(gòu)建模塊還包括:
用于確定所述人體三維模型上的關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置的裝置;
用于根據(jù)所述關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置,計算所述人體三維模型的測量數(shù)據(jù)的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述用于計算所述人體三維模型的測量數(shù)據(jù)的裝置,還包括:用于根據(jù)人體尺碼標(biāo)準(zhǔn),對所述測量數(shù)據(jù)進(jìn)行轉(zhuǎn)換的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,在所述提取模塊包括:用于當(dāng)在所述人體圖像上檢測到用戶操作時,將操作位置所處的點(diǎn)或線或面作為原始輪廓的一部分的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,在所述提取模塊包括:用于當(dāng)在所述人體圖像上檢測到用戶選取的前景和背景時,結(jié)合圖像分割算法,提取所述人體圖像中的原始輪廓的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,在所述提取模塊中,包括:
用于選取第一類人模板和第二類人模板,所述第一類人模板的尺寸小于第二類人模板的裝置;
用于計算所述第二類人模板大于所述第一類人模板的區(qū)域,作為原始輪廓所在的可能區(qū)域的裝置;
用于通過使用圖像分割算法,提取所述可能區(qū)域中的原始輪廓的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,在所述提取模塊中,還包括:
用于識別所述人體圖像中的參考標(biāo)記特征的裝置;
用于基于所述參考標(biāo)記特征的位置,對所述第一類人模板和所述第二類人模板進(jìn)行調(diào)整的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述用于基于所述參考標(biāo)記特征的位置,對所述第一類人模板和所述第二類人模板進(jìn)行調(diào)整的裝置包括:
用于計算所述人體圖像中臉部與足部之間的像素距離的裝置;
用于根據(jù)所述像素距離,對所述第一類人模板和所述第二類人模板進(jìn)行縮放的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述用于基于所述參考標(biāo)記特征的位置,對所述第一類人模板和所述第二類人模板進(jìn)行調(diào)整的裝置還包括:
用于計算所述人體圖像中手臂與身體之間的夾角,相應(yīng)地對所述第一類人模板和所述第二類人模板中手臂的位置進(jìn)行調(diào)節(jié)的裝置;
用于計算所述人體圖像中腿部之間的夾角,相應(yīng)地對所述第一類人模板和所述第二類人模板中腿部的位置進(jìn)行調(diào)節(jié)的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述計算模塊包括:
用于根據(jù)所述原始輪廓的形狀特征,確定所述原始輪廓中的身體邊界標(biāo)記特征的裝置;
用于根據(jù)所述身體邊界標(biāo)記特征的形狀特征,從身體輪廓庫中選取一個或多個身體輪廓的裝置;
用于對選取的一個或多個身體輪廓進(jìn)行插值,得到所述人體的體表輪廓的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述用于根據(jù)所述原始輪廓的形狀特征,確定所述原始輪廓中的身體邊界標(biāo)記特征的裝置,包括:
用于計算所述原始輪廓上的點(diǎn)或區(qū)域的形狀特征,作為第一形狀特征的裝置;
用于判斷所述第一形狀特征是否滿足預(yù)設(shè)條件的裝置;
用于如果滿足所述預(yù)設(shè)條件,確定所述原始輪廓上的點(diǎn)或區(qū)域作為身體邊界標(biāo)記特征的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述形狀特征包括以下至少之一:
輪廓上的點(diǎn)或區(qū)域與參考點(diǎn)之間的相對坐標(biāo)距離;
輪廓上的點(diǎn)或區(qū)域的曲率;
或者,輪廓上的點(diǎn)或區(qū)域與其相對應(yīng)的點(diǎn)或區(qū)域之間的距離。
在上述本發(fā)明提供的人體建模裝置實施例中,所述用于判斷所述第一形狀特征是否滿足預(yù)設(shè)條件的裝置,包括:
用于根據(jù)人體參數(shù),選取與所述原始輪廓相似的一個或多個基準(zhǔn)輪廓的裝置;
用于計算所述基準(zhǔn)輪廓上與所述原始輪廓上相對應(yīng)的點(diǎn)或區(qū)域的形狀特征,作為第二形狀特征的裝置;
用于當(dāng)所述第一形狀特征與所述第二形狀特征差值小于預(yù)設(shè)閾值,確定所述原始輪廓上的點(diǎn)或區(qū)域作為身體邊界標(biāo)記特征的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述人體參數(shù)包括以下至少之一:
所述原始輪廓圍成的面積、所述人體的身高或者所述人體的體重。
在上述本發(fā)明提供的人體建模裝置實施例中,所述用于根據(jù)所述身體邊界標(biāo)記特征的形狀特征,從身體輪廓庫中選取一個或多個身體輪廓的裝置,包括:
用于計算身體輪廓庫中身體輪廓與所述身體邊界標(biāo)記特征相對應(yīng)的點(diǎn)或區(qū)域的形狀特征,作為第三形狀特征的裝置;
用于計算所述第三形狀特征與所述身體邊界標(biāo)記特征的形狀特征的差值的裝置;
用于選取差值最小的一個或多個身體輪廓的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述構(gòu)建模塊包括:
用于根據(jù)所述體表輪廓,構(gòu)建人體三維外形框架的裝置;
用于基于所述人體三維外形框架,構(gòu)建人體三維模型的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述用于根據(jù)所述體表輪廓,構(gòu)建人體三維外形框架的裝置,包括:
用于根據(jù)體表輪廓,計算人體在不同位置上截面的形態(tài)特征數(shù)據(jù)的裝置;
用于根據(jù)人體在不同位置上截面的形態(tài)特征數(shù)據(jù),對人體不同位置上的截面形狀進(jìn)行構(gòu)建的裝置;
用于從構(gòu)建的所有截面中任意選取一個截面作為參考截面,計算其它截面相對于所述參考截面的位置坐標(biāo)的裝置;
用于基于預(yù)定義網(wǎng)格結(jié)構(gòu),按照所有截面的位置坐標(biāo),連接所有截面以作為人體三維外形框架的裝置。
在上述本發(fā)明提供的人體建模裝置實施例中,所述用于基于所述人體三維外形框架,構(gòu)建人體三維模型的裝置包括:
用于根據(jù)人體參考信息,選擇三維人體模板模型的裝置;
用于為所述三維人體模板模型構(gòu)建第一框架,所述第一框架與所述的人體三維外形框架有相同的網(wǎng)格結(jié)構(gòu)的裝置;
用于將所述三維人體模板模型中的點(diǎn)與所述第一框架的網(wǎng)格結(jié)構(gòu)中相對位置最近的至少一個面片進(jìn)行關(guān)聯(lián)的裝置;
用于按照所得關(guān)聯(lián)關(guān)系,基于所述人體三維外形框架計算所述三維人體模板模型中每個點(diǎn)新的坐標(biāo),由具有新坐標(biāo)的所有點(diǎn)組成得到人體三維模型的裝置。
按照本發(fā)明另一方面,提供了一種電子設(shè)備的實施例,所述電子設(shè)備包括:
處理組件;
用于存儲處理組件可執(zhí)行指令的存儲器;
相機(jī)組件;多媒體組件;其中,
所述相機(jī)組件被配置為獲取至少一張人體圖像;
所述多媒體組件被配置為提供一個用戶交互界面;
所述處理組件被配置為執(zhí)行以下至少之一操作:讀取所述至少一張人體圖像;提取所述人體圖像中的特征,所述特征至少包括身體邊界標(biāo)記特征及參考標(biāo)記特征;根據(jù)提取到的特征,確定未著裝時的二維人體輪廓;根據(jù)所述二維人體輪廓,構(gòu)建人體三維外形框架;基于所述人體三維外形框架,構(gòu)建人體三維模型。
在本發(fā)明上述電子設(shè)備實施例中,所述電子設(shè)備還包括通信組件;
所述通信組件被配置為:提供一條在所述電子設(shè)備和服務(wù)器之間的雙向通信鏈路;傳輸由所述電子設(shè)備發(fā)送至所述服務(wù)器的發(fā)送數(shù)據(jù);接收由所述服務(wù)器發(fā)送至所述電子設(shè)備的接收數(shù)據(jù)。
在本發(fā)明上述電子設(shè)備實施例中,所述發(fā)送數(shù)據(jù)包括以下至少之一:
所述至少一張人體圖像、所述人體圖像中人體的原始輪廓、所述人體的體表輪廓、所述人體三維模型或所述人體圖像中的人體的信息。
在本發(fā)明上述電子設(shè)備實施例中,所述接收數(shù)據(jù)包括以下至少之一:
所述至少一張人體圖像、所述人體圖像中人體的原始輪廓、所述人體的體表輪廓、所述人體三維模型或所述人體圖像中的人體的信息。
實施本發(fā)明關(guān)于人體建模方法、裝置及電子設(shè)備的各個實施例提供的技術(shù)方案帶來的有益效果是:通過獲取至少一張人體圖像,提取所述人體圖像中的特征,根據(jù)提取到的特征,確定未著裝時的二維人體輪廓,根據(jù)所述二維人體輪廓,構(gòu)建人體三維外形框架,基于所述人體三維外形框架,構(gòu)建人體三維模型。由于本發(fā)明中人體三維模型的建立源自于二維人體圖像,并不需要使用人體掃描器對人體進(jìn)行掃描,從而降低了建立人體三維模型時的成本開銷。再者,由于在獲取人體圖像時,對人體對象所處的位置及人體對象的著裝并無要求,從而降低了建立人體三維模型時的操作門檻,讓建立人體三維模型的過程更加便利。
附圖說明
圖1是根據(jù)本發(fā)明一示例性實施例示出的一種人體建模方法流程圖;
圖2(a)和(b)分別是本發(fā)明一示例性實施例中所獲取正面和側(cè)面人體圖像的示例圖;
圖3(a)和(b)分別是本發(fā)明示例性實施例中提取人體圖像中人體的原始輪廓的示意圖;
圖4是根據(jù)本發(fā)明實施例中示出的一種自動提取人體的原始輪廓方法的流程示意圖;
圖5(a)和(b)分別是本發(fā)明示例性實施例中從正視和側(cè)視人體圖像中識別出參考標(biāo)記特征的示意圖;
圖6是本發(fā)明實施例中正視和側(cè)視人體圖像與第一類人模板及第二類人模板進(jìn)行疊加的示意圖;
圖7是根據(jù)本發(fā)明一示例性實施例示出的一種計算人體體表輪廓方法的流程示意圖;
圖8(a)和(b)分別是本發(fā)明示例性實施例中,用于說明原始輪廓與身體形狀或身體邊界特征之間關(guān)系的示例圖;
圖9是用于在示例性實施例中說明用戶操作確定身體邊界標(biāo)記特征的示意圖;
圖10是用于在示例性實施例中說明以側(cè)視圖的身體邊界特征計算形狀特征的示意圖;
圖11(a)和(b)是在示例性實施例中,分別用于說明基于正視人體圖像及側(cè)視人體圖像得到體表輪廓的示意圖;
圖12是用于說明在一本發(fā)明示例性實施例中構(gòu)建人體三維外形框架的流程示意圖;
圖13是用于說明在一示例性實施例中側(cè)視體表輪廓中具有特征的截面的示意圖;
圖14是用于說明在一示例性實施例中根據(jù)側(cè)視人體體表輪廓計算臀部截面相應(yīng)高度的示意圖;
圖15是一示例性實施例中,用于說明基于腰圍截面的形態(tài)數(shù)據(jù)和所述的關(guān)系模型計算得到該截面的形狀參數(shù)的示意圖;
圖16是一示意性實施例中,用于說明根據(jù)截面計算位置坐標(biāo)的示意圖;
圖17(a)和(b)分別是一示意性實施例中人體三維外形框架的正視圖和側(cè)視圖;
圖18是在本發(fā)明一示意性實施例中用于構(gòu)建人體三維模型方法的流程示意圖;
圖19是一示意性實施例中用向量表示三維人體模板模型中的一個點(diǎn)的示意圖;
圖20是一示意性實施例中一個基于上述人體建模方法獲取的三維人體模型的示意圖,其中,圖20(a)中2001為所述三維人體模型的正視視圖,圖20(b)中2002為所述三維人體模型的側(cè)視視圖;
圖21是本發(fā)明人體建模裝置示例性實施例的邏輯方框示意圖;
圖22是本發(fā)明人體建模裝置另一示例性實施例的邏輯方框示意圖;
圖23是本發(fā)明電子設(shè)備示例性實施例的邏輯方框示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。所述的實施方式均為說明性而非限制性的。
圖1是根據(jù)本發(fā)明一示例性實施例示出的一種人體建模方法流程圖,如圖1所示,該人體建模方法流程包括以下步驟:
步驟101、獲取至少一張人體圖像;
步驟102、提取所述人體圖像中人體的原始輪廓;
步驟103、根據(jù)所述原始輪廓,計算所述人體的體表輪廓;
步驟104、根據(jù)所述體表輪廓,構(gòu)建人體三維模型。
在步驟101獲取人體圖像時,所述獲取的人體圖像可以是由拍攝設(shè)備對人體對象拍照得到的一張或一張以上的照片。其中,拍攝設(shè)備可以為數(shù)碼相機(jī)、任何移動設(shè)備及內(nèi)置攝像頭的計算機(jī)等,本實施例不對拍攝設(shè)備的類型作具體限定。
步驟101中,所述獲取至少一張人體圖像包括獲取一張或一張以上任意拍攝角度的人體圖像。例如,所述人體圖像可以是一張正面人體圖像或者一張側(cè)面人體圖像,或者兩張相隔90度拍攝角度的人體圖像、三張相隔120度拍攝角度的人體圖像、四張相隔90度拍攝角度的人體圖像、或者以此類推等間隔拍攝角度和數(shù)量的人體圖像。本實施例不對獲取的人體圖像拍攝角度和數(shù)量作具體限定。
如圖2所示,要保證人體建模的精準(zhǔn)度,同時使用盡可能少的人體圖像從而減輕對計算資源的要求,在圖1步驟101中獲取人體圖像時,可獲取至少一張如圖2(a)示出的前視人體圖像201和如圖2(b)一張側(cè)視人體圖像202。圖中的斜線分別表示人體圖像的背景205、206。斜線以外部分分別為人體正面部分203和人體側(cè)面部分204。本發(fā)明的優(yōu)點(diǎn)之一是可以接受較為復(fù)雜的圖像背景,即對所述人體圖像的拍攝場地沒有嚴(yán)格的要求,可以在室內(nèi)、商場或其它露天環(huán)境中。但為了提高人體建模的準(zhǔn)確度,所述人體圖像的背景可以是純色,并且與人體所穿著的服裝顏色以及人體膚色有較強(qiáng)的反差。本發(fā)明的另一個優(yōu)點(diǎn)是允許人體圖像中的人穿著比較寬松的衣服,即不對人體穿著的服裝進(jìn)行限制,可以是夾克、襯衣、緊身衣、內(nèi)衣等。同樣為了保證人體建模的準(zhǔn)確度,所穿著的服裝最好是緊身衣,或者在拍攝之前把衣褲寬松部位夾緊或收攏。
在圖1中步驟102,可以在獲取如201和202的人體圖像后,將人體部分以及所穿著的服裝203和204分別從圖像背景205和206中分離出來,從而獲取人體的原始輪廓。所述原始輪廓包括服裝和人體皮膚的邊緣。提取所述人體圖像中的原始輪廓可以有多種實現(xiàn)方式,例如可以是以下列舉的三種方法中任何一種。
方法一:將操作位置所處的點(diǎn)或線或面作為原始輪廓的一部分;
作為一種可選實施例,提取人體圖像中人體的原始輪廓方式之一可以是檢測用戶直接或間接通過圖像交互設(shè)備在所述人體圖像上的操作,比如點(diǎn)擊、滑動、涂抹等操作,并將操作位置所處的點(diǎn)或線或面作為原始輪廓的一部分。例如,用戶通過觀察所述人體圖像,可以通過鼠標(biāo)或者觸摸屏設(shè)備對人體圖像上的服裝或者皮膚邊緣進(jìn)行標(biāo)記,從而獲取原始輪廓。當(dāng)用于顯示人體圖像的屏幕較小時,用戶可以通過鼠標(biāo)或者觸摸屏設(shè)備對人體圖像進(jìn)行放大,便于對邊緣進(jìn)行識別和標(biāo)記。
方法二:人工選取像素分別作為前景和背景,用作提取原始輪廓
作為一種可選實施例,提取人體圖像中人體的原始輪廓,可以通過交互方式在所述人體圖像中,選取人體上若干像素作為前景,選取人體以外的若干像素作為背景,通過圖像分割算法提取人體的原始輪廓。其中,圖像分割算法是基于像素的顏色、灰度、亮度或者梯度;圖像分割算法可以為現(xiàn)有的grab-cut、graph-cut算法,本實施例不對圖像分割算法的類型作具體限定。
例如,如圖3,用戶可以通過手指在作為圖像交互設(shè)備的觸屏屏幕上選取的區(qū)域的像素301,304的像素作為前景,也通過手指在觸屏屏幕上滑過的區(qū)域的像素302,303作為背景,然后根據(jù)前景像素的顏色、灰度、亮度和梯度,通過grab-cut的算法提取前景中的原始輪廓,如圖3(a),306為正視人體圖像的原始輪廓,如圖3(b),305為側(cè)視人體圖像的原始輪廓。
方法三:自動方式選取像素作為前景和背景用作提取原始輪廓
圖4是根據(jù)本發(fā)明一示例性實施例示出的一種自動提取原始輪廓方法的流程示意圖,如圖4所示,該自動提取原始輪廓方法流程包括以下步驟:
步驟1021、選取第一類人模板和第二類人模板,所述第一類人模板的尺寸小于第二類人模板;
步驟1022、計算所述第二類人模板大于所述第一類人模板的區(qū)域,作為原始輪廓所在的可能區(qū)域;
步驟1023、通過使用圖像分割算法,提取所述可能區(qū)域中的原始輪廓。
在圖4中的步驟1021里,由于不同人的胖瘦高矮程度不盡相同,相應(yīng)的不同人對應(yīng)的身體輪廓也不相同。在一般情況下,大部分人的身體輪廓通常在肥胖類型人的身體輪廓及瘦弱類型人的身體輪廓之間。因此,為了便于確定身體輪廓的所在范圍,可將類人模板進(jìn)行比對,以確定所述人體圖像中人體的體表輪廓所在的可能區(qū)域。從類人模板庫中選擇兩個類人模板分別作為第一類人模板和第二類人模板。所述類人模板庫由多張包含不同尺寸二維人體輪廓的圖像組成。其中,第一類人模板可以是一張包含極瘦人體輪廓的圖像,第二類人模板可以是一張包含極胖人體輪廓的圖像。因此,所述人體圖像中的原始輪廓很有可能落在所述第一類人模板和第二類人模板之間的范圍內(nèi)。
由于所述人體圖像的像素尺寸與類人模板的尺寸不一致,因此在確定人體圖像中人體的體表輪廓所在的可能區(qū)域前可以根據(jù)所述參考標(biāo)記特征的所在位置,對類人模板進(jìn)行諸如像素尺寸方面的調(diào)整,從而使原始輪廓與類人模板對齊。
作為一種可選實施例,通過對類人模板進(jìn)行比對,確定人體圖像中人體的體表輪廓所在的可能區(qū)域之前,還包括這些步驟:識別所述人體圖像中的參考標(biāo)記特征;基于所述參考標(biāo)記特征的位置,對所述第一類人模板和所述第二類人模板進(jìn)行調(diào)整。其中,所述參考標(biāo)記特征包括點(diǎn)和區(qū)域,例如臉部、足部、腿部、手部、肩部、襠部、頭頂點(diǎn)、腳底點(diǎn)等,本實施例對此不作具體限定。
在識別人體圖像中參考標(biāo)記特征的所在位置時,可以通過識別用戶手動操作,比如點(diǎn)擊、滑動、涂抹等操作,確定身體參考標(biāo)記特征所在位置。例如用戶通過畫框或者移動方框的方式選取圖5(a)正視人體圖像中頭部(面部)512作為參考標(biāo)記特征等。
除了手動選取方法之外,還可以使用人體檢測器檢測出參考標(biāo)記特征的所在位置。其中,人體檢測器可以基于圖像特征,使用adaboost算法對支持向量機(jī)進(jìn)行訓(xùn)練得到。圖像特征可以包括但不限于hog特征、haar特征及l(fā)bp特征。其中,識別出的參考標(biāo)記特征可如圖5所示,在圖5(a)正視人體圖像中,識別出的參考標(biāo)記特征包括頭部512、左肩514、右肩513、左手516、右手515、左腳518及右腳517。在圖5(b)側(cè)視人體圖像中,識別出的參考標(biāo)記特征包括頭部519、手部520及足部521。
作為一種實施例,為了縮小原始輪廓可能落在的范圍,第一類人模板和第二類人模板的選擇可以安裝人體的一些參數(shù),包括性別、身高、體重、身體質(zhì)量指數(shù)(bodymassindex)、體重、體重范圍、量體尺寸、體型描述(如蘋果體、梨形體)等信息,亦可選取當(dāng)中一個或者多個作為參數(shù),從類人模板庫中選擇出相應(yīng)的第一類人模板和第二類人模板。例如,一個人體的身體質(zhì)量指數(shù)(bodymassindex)為22.5,則可以選身體質(zhì)量指數(shù)為20的作為第一類人模板,身體質(zhì)量指數(shù)為27的作為第二類人模板。
如圖5(a)所示,根據(jù)人體圖像中頭頂點(diǎn)525與腳底點(diǎn)526之間的像素距離,計算得到人體高度。根據(jù)所述計算的人體高度,對第一類人模板和第二類人模板進(jìn)行等比例縮放至相同尺寸。
相似的,如圖5(a)所示,根據(jù)左臂516和左肩514的位置,連線兩部分的中心點(diǎn),并計算該線段和垂直線段的角度,作為第一夾角522。按照第一夾角,以肩部為支點(diǎn),對類人模板中手臂進(jìn)行相應(yīng)角度的旋轉(zhuǎn)調(diào)節(jié)手臂的張開幅度。
相似的,如圖5(a)所示,計算足部517,518與上身連接點(diǎn),即襠部524的位置,并相應(yīng)地調(diào)整類人模板中的雙腿長度。另外,計算所述人體圖像中雙腿夾角作為第二夾角523,相應(yīng)地以腿部與上身連接點(diǎn)作為支點(diǎn),對類人模板中腿部進(jìn)行相應(yīng)角度的旋轉(zhuǎn)調(diào)節(jié)腿部的張開幅度。
需要說明的是,由于如圖5(b)的側(cè)視人體圖像不存在手臂與雙腿的夾角問題,因此,類人模板在與側(cè)視人體圖像進(jìn)行比對時,只需要對類人模板的尺寸進(jìn)行縮放。而當(dāng)類人模板與正視人體圖像進(jìn)行比對時,上述兩種情形都可能會發(fā)生,即此時可能既需要對類人模板的尺寸進(jìn)行縮放,也可能需要對類人模板中手臂與腿部的位置進(jìn)行調(diào)整。
在對第一類人模板及第二類人模板進(jìn)行調(diào)整后,基于上述過程中確定體表輪廓可能所在范圍的原理,可通過對類人模板進(jìn)行比對,確定人體圖像中人體的體表輪廓所在的可能區(qū)域,該過程包括但不限于:將調(diào)整后的第一類人模板及第二類人模板進(jìn)行疊加,如圖6所示,標(biāo)號631為正視人體圖像對應(yīng)的第二類人模板,632為正視人體圖像對應(yīng)的第一類人模板,633為側(cè)視人體圖像對應(yīng)的第二類人模板,634為側(cè)視人體圖像對應(yīng)的第一類人模板;將疊加后第二類人模板大于第一類人模板的區(qū)域,作為人體圖像中人體體表輪廓所在的可能區(qū)域。其中,考慮到正視人體圖像與側(cè)視人體圖像對應(yīng)的第一類人模板及第二類人模板均不相同,從而在疊加過程中,可分別將正視人體圖像的第一類人模板與第二類人模板進(jìn)行疊加,將側(cè)視人體圖像中的第一類人模板與第二類人模板進(jìn)行疊加,以分別得到可能區(qū)域,區(qū)域635為正視人體圖像對應(yīng)的可能區(qū)域,區(qū)域636為側(cè)視人體圖像對應(yīng)的可能區(qū)域。
在確定人體圖像中人體的體表輪廓所在的可能區(qū)域后,通過對人體圖像使用圖像分割算法,可提取可能區(qū)域(635、636)中人體圖像對應(yīng)的原始輪廓(637、638)。其中,圖像分割算法可以為grab-cut、graph-cut算法,本實施例不對圖像分割算法的類型作具體限定。相應(yīng)地,圖6中,637為正視人體圖像對應(yīng)的原始輪廓,638為側(cè)視人體圖像對應(yīng)的原始輪廓。
回到圖1,其中的步驟103是根據(jù)所述原始輪廓,計算所述人體的體表輪廓。圖7是根據(jù)一示例性實施例示出的一種計算人體體表輪廓方法流程圖,如圖7所示,根據(jù)原始輪廓計算人體體表輪廓的方法包括以下步驟:
步驟1031、根據(jù)所述原始輪廓的形狀特征,確定所述原始輪廓中的身體邊界標(biāo)記特征;
步驟1032、根據(jù)所述身體邊界標(biāo)記特征的形狀特征,從身體輪廓庫中選取一個或多個身體輪廓;
步驟1033、對選取的一個或多個身體輪廓進(jìn)行插值,得到所述人體的體表輪廓。
需要說明的是,由于拍攝人體圖像時人體對象可任意穿著,此時提取到的原始輪廓為人體皮膚邊緣和人體著裝邊緣的結(jié)合。因此,受到人體著裝的影響,原始輪廓與真正意義上的二維人體輪廓,即體表輪廓存在一定誤差。為了提取體表輪廓,在得到原始輪廓后,可根據(jù)所述原始輪廓的形狀特征,提取所述原始輪廓中的身體邊界標(biāo)記特征。所述身體邊界標(biāo)記特征包括原始輪廓上人體皮膚邊緣上的點(diǎn)或區(qū)域和緊貼身體的服裝邊緣上的點(diǎn)或區(qū)域。
步驟1031的具體實現(xiàn)的方法包括:計算所述原始輪廓上的點(diǎn)或區(qū)域的形狀特征,作為第一形狀特征;判斷所述第一形狀特征是否滿足預(yù)設(shè)條件;如果滿足所述預(yù)設(shè)條件,確定所述原始輪廓上的點(diǎn)或區(qū)域作為身體邊界標(biāo)記特征。其中,所述形狀特征可以包括以下至少之一:輪廓曲線的曲率、長度、所在位置、輪廓上點(diǎn)或者區(qū)域與參考點(diǎn)之間的相對坐標(biāo)距離、以及輪廓上的點(diǎn)或者區(qū)域與其相對應(yīng)的點(diǎn)或者區(qū)域之間的橫向縱向或其他方向的距離等,本實施例對形狀特征不作具體限定。
所述判斷所述原始輪廓的形狀特征滿足預(yù)設(shè)條件的方法有多種。例如,方法一:確定所述第一形狀特征是否在滿足條件的預(yù)設(shè)值范圍內(nèi);如果是,將所述原始輪廓上的點(diǎn)或區(qū)域作為身體邊界標(biāo)記特征。其中,所述預(yù)設(shè)值范圍的確定方法可以如下:根據(jù)人體的身高、體重、年齡或者其它信息在身體輪廓庫中選取若干個相似的身體輪廓;計算所述若干個身體輪廓在與所述原始輪廓上的點(diǎn)或區(qū)域?qū)?yīng)的點(diǎn)或區(qū)域的形狀特征,從而確定預(yù)設(shè)值范圍。
方法二:根據(jù)人體參數(shù),選取與所述原始輪廓相似的一個或多個基準(zhǔn)輪廓;計算所述基準(zhǔn)輪廓上與所述原始輪廓上相對應(yīng)的點(diǎn)或區(qū)域的形狀特征,作為第二形狀特征;當(dāng)所述第一形狀特征與所述第二形狀特征差值小于預(yù)設(shè)閾值,確定所述原始輪廓上的點(diǎn)或區(qū)域作為身體邊界標(biāo)記特征。其中,所述人體參數(shù)包括以下至少之一:所述原始輪廓圍成的面積、所述人體的身高或者所述人體的體重。
下面詳細(xì)描述選擇基準(zhǔn)輪廓的方法。由于身體輪廓庫中包含了大量不同體型、性別、年齡、身高、體重、種族的人的身體輪廓,人體的體表輪廓所包含的特征可能也存在于大量的身體輪廓中。選擇與人體的體表輪廓形態(tài)特征接近的身體輪廓的方法包括但不限于:按照原始輪廓的尺寸,對身體輪廓庫中的身體輪廓進(jìn)行縮放;計算原始輪廓及身體輪廓的面積;計算身體輪廓與原始輪廓之間面積的絕對差值;選取最小絕對差值對應(yīng)的身體輪廓,作為基準(zhǔn)輪廓。如果身體輪廓庫的記錄亦包含身高、體重、體重范圍、量體尺寸、體型描述(如蘋果體、梨形體)等信息,亦可選取當(dāng)中一個或者多個作為參數(shù),從身體輪廓庫選擇出和相關(guān)參數(shù)最小絕對差值對應(yīng)的輪廓,作為基準(zhǔn)輪廓。
作為一種可選實施例,用于按照原始輪廓的尺寸,對身體輪廓庫中的身體輪廓進(jìn)行縮放;計算原始輪廓及身體輪廓的面積;計算每個身體輪廓與原始輪廓之間面積的絕對差值;選取最小絕對差值對應(yīng)的身體輪廓,作為基準(zhǔn)輪廓。例如,計算獲得原始輪廓的身高尺寸為1000像素間距,面積為134000像素面積。將身體輪廓庫中的每個身體輪廓身高方向等比例縮放至1000像素等距的長度單位;通過微積分原理計算身體輪廓中的縮放后的相應(yīng)面積,選取所有輪廓中面積與134000單位面積絕對差值最小的輪廓,作為基準(zhǔn)輪廓。
作為另一種可選實施例,根據(jù)目標(biāo)用戶的身高和體重(或者體重范圍),計算目標(biāo)用戶的基礎(chǔ)體型參數(shù)(例如bmi)或者基礎(chǔ)體型參數(shù)范圍,計算身體輪廓庫中的身體輪廓基礎(chǔ)體型參數(shù)和體型參數(shù)范圍,選取體型參數(shù)小于預(yù)設(shè)閾值的若干個身體輪廓,按照原始輪廓的尺寸,對這若干個身體輪廓進(jìn)行縮放,計算每個身體輪廓和原始輪廓之間面積的絕對差值,選取絕對差值小于預(yù)設(shè)閾值的一個或若干個身體輪廓作為基準(zhǔn)輪廓。例如,人體的身高為170cm,體重為66kg,可從身體輪廓庫中選取身高接近170cm,體重接近66kg的一個或者多個輪廓,將輪廓進(jìn)行線性插值得到一個新的輪廓,作為基準(zhǔn)輪廓。
此外,還可以綜合根據(jù)身體輪廓面積、身高、體重、體重范圍、身體質(zhì)量指數(shù)(bodymassindex)、量體尺寸、體型描述(如蘋果體、梨形體)中一個或者多個參數(shù)等,從身體輪廓庫中選擇出和相關(guān)參數(shù)絕對差值加權(quán)求和的數(shù)值最小的對應(yīng)的輪廓,作為基準(zhǔn)輪廓。
如圖8(a)所示,以原始輪廓801胸部上的點(diǎn)804為例,計算點(diǎn)804的形狀特征作為第一形狀特征,其中包括:點(diǎn)804相對于頭頂點(diǎn)803的距離為300像素,點(diǎn)804所處輪廓曲線曲率為0.004,點(diǎn)804與其在水平方向?qū)?yīng)的點(diǎn)805的距離為146像素。如果按照上述第一種方法,以曲率這一參數(shù)為例,將點(diǎn)804所處輪廓曲線曲率0.004與預(yù)設(shè)值范圍進(jìn)行比較。所述預(yù)設(shè)值范圍的確定方法如下:根據(jù)人體的身高和體重在身體輪廓庫中選取若干個相似的身體輪廓;計算所述若干個身體輪廓在與點(diǎn)804相應(yīng)部位的曲率,從而獲得該部位曲率的預(yù)設(shè)值范圍為0.003-0.005;由于點(diǎn)804所處輪廓曲線曲率0.004處于所述預(yù)設(shè)值范圍內(nèi),確定點(diǎn)804為身體邊界標(biāo)記特征。
相似的,按照上述第二種方法,同樣以曲率這一參數(shù)為例,根據(jù)前面描述的方法之一獲取一個基準(zhǔn)輪廓。如圖8(b),計算基準(zhǔn)輪廓802上與點(diǎn)804對應(yīng)的點(diǎn)806的輪廓曲線曲率為0.0038,作為第二形狀特征0.0038??梢姡谝恍螤钐卣?.0038和第二形狀特征0.004的絕對差值小于預(yù)設(shè)值0.001,因此確定點(diǎn)804為身體邊界標(biāo)記特征。
對所述原始輪廓上的其它點(diǎn)或區(qū)域重復(fù)上述過程,可以確定所有的身體邊界標(biāo)記特征。需要注意的是,形狀特征可以同時對多個參數(shù),如曲率和距離,進(jìn)行計算。此時判斷所述原始輪廓上的點(diǎn)或區(qū)域作為身體邊界標(biāo)記特征可以綜合考慮各個參數(shù)是否同時滿足條件,或者各個參數(shù)的差值加權(quán)之和是否小于預(yù)設(shè)值。
作為另一種可選實施例,可以通過人工操作方式從人體圖像中直接提取身體邊界標(biāo)記特征,具體包括:當(dāng)在人體圖像上檢測到用戶操作時,將用戶操作所在位置的點(diǎn)、線或者面作為圖像的特征。例如,用戶通過觀察所述人體圖像,可以通過鼠標(biāo)或者觸摸屏設(shè)備對人體圖像上的皮膚邊緣、緊貼身體的服裝邊緣或者用戶推測出來的服裝里面皮膚邊緣進(jìn)行標(biāo)記,從而獲取身體邊界標(biāo)記特征。當(dāng)用于顯示人體圖像的屏幕較小時,用戶可以通過鼠標(biāo)或者觸摸屏設(shè)備對人體圖像進(jìn)行方法,便于對邊緣進(jìn)行識別和標(biāo)記。
如圖9所示,當(dāng)檢測到用戶在人體圖像上進(jìn)行操作,并把操作所在的位置,如圓形點(diǎn)901,902,903,904和三角形點(diǎn)905,906作為身體邊界標(biāo)記特征。其中,圓形點(diǎn)代表用戶直接通過觀察圖像就可以確定的貼身的點(diǎn);三角形點(diǎn)則代表用戶通過分析推測出的貼身的點(diǎn)。
回到圖7的步驟1032,根據(jù)所述身體邊界標(biāo)記特征的形狀特征,從身體輪廓庫中選取一個或多個身體輪廓。具體的方法包括:計算身體輪廓庫中身體輪廓與所述身體邊界標(biāo)記特征相對應(yīng)的點(diǎn)或區(qū)域的形狀特征,作為第三形狀特征;計算所述第三形狀特征與所述身體邊界標(biāo)記特征的形狀特征的差值;選取差值最小的一個或多個身體輪廓。
作為一種實施例,根據(jù)身體輪廓庫的預(yù)設(shè)的標(biāo)準(zhǔn)尺寸,縮放身體輪廓到相同尺寸;計算每個身體邊界標(biāo)記特征相對于參考點(diǎn)的第一相對坐標(biāo);對于身體輪廓庫中的身體輪廓,確定每個身體邊界標(biāo)記特征在所述身體輪廓上對應(yīng)的點(diǎn)或區(qū)域;計算所述身體輪廓上每個身體輪廓上的點(diǎn)或區(qū)域相對于與所述參考點(diǎn)相對應(yīng)的對應(yīng)參考點(diǎn)的第二相對坐標(biāo);計算所述第一相對坐標(biāo)與所述對應(yīng)的第二相對坐標(biāo)之間的差異值;將所有所述差異值進(jìn)行累加,作為所述身體輪廓的輪廓差異值;對身體輪廓庫中的身體輪廓的差異值進(jìn)行排序,按照排序結(jié)果選取一個或多個身體輪廓進(jìn)行插值。插值的計算方法在本發(fā)明中不作限定。
例如,參考圖10,說明以側(cè)視圖的身體邊界特征來計算人體形狀特征的過程。選擇腳踝關(guān)節(jié)點(diǎn)1002作為參考點(diǎn)。以參考點(diǎn)為坐標(biāo)原點(diǎn),以參考點(diǎn)1002所在位置的縱向為y坐標(biāo)軸,橫向為x坐標(biāo)軸,為方便描述,取一個身體邊界特征1001舉例計算第一相對坐標(biāo),根據(jù)縮放后圖像的像素坐標(biāo)計算得到身體邊界特征點(diǎn)1001到參考標(biāo)記點(diǎn)1002的橫向向量1003為dx,縱向向量1004為dy,因此可得所述身體邊界特征1001的第一相對坐標(biāo)為(dx,dy)。按照相同方式,可以計算每個身體邊界標(biāo)記特征相對所述參考點(diǎn)1002的第一相對坐標(biāo)。
相似的,計算第二相對坐標(biāo)。首先通過對身體輪廓庫中每個身體輪廓進(jìn)行身體輪廓參數(shù)化,可確定每個身體邊界標(biāo)記特征在身體輪廓庫中身體輪廓上對應(yīng)的點(diǎn)或區(qū)域,從而可計算所述點(diǎn)或區(qū)域相對于與所述參考點(diǎn)對應(yīng)的對應(yīng)參考點(diǎn)的第二相對坐標(biāo)為(dx-i,dy-i),其中i表示身體輪廓庫中的第i個身體輪廓。通過計算每個身體輪廓相應(yīng)的身體邊界標(biāo)記特征的第二相對坐標(biāo)與對應(yīng)的第一相對坐標(biāo)之間的差異值,再對差異值進(jìn)行累加,可得到所述身體輪廓的輪廓差異值dsum-i。其中,差異值可以為兩點(diǎn)之間的距離,本實施例對此不作具體限定。在確定身體輪廓庫中身體輪廓的輪廓差異值后,可按照從小到大的順序?qū)λ械妮喞町愔颠M(jìn)行排序,選取一個或多個具有最小輪廓差異值的身體輪廓。
其中,輪廓數(shù)量為大于或等于1的整數(shù),當(dāng)輪廓數(shù)量的值較大時,后續(xù)得到的體表輪廓也會較精確,具體數(shù)值可根據(jù)需求進(jìn)行設(shè)置,本實施例對此不作具體限定。
需要注意的是,所述身體輪廓包括整體身體輪廓和局部身體輪廓,本實施例不做具體的限定。所述整體身體輪廓指的是整個正視或者側(cè)視人體輪廓;所述局部身體輪廓指的是整體輪廓的一部分,例如整體輪廓中的腰線到臀線的一段。
回到圖7的步驟1033,對選取的一個或多個身體輪廓進(jìn)行插值,得到所述人體的體表輪廓。其中,插值算法可以為線性或非線性插值算法、加權(quán)或普通插值算法,本實施例對此不作具體限定。
例如,選取了n個正視身體輪廓c1,...,cn,則未著裝時的二維人體正視輪廓x,可以通過下面線性公式計算得到:
x=w1·c1+…+wn·cn公式1
其中w1,...,wn為權(quán)重值,權(quán)重可以為平均值,也可以和輪廓差異值逆相關(guān)。例如,第i個正視輪廓的權(quán)重值為下列公式
fi是第i個正視輪廓的輪廓差異值。
如圖11所示,基于正視人體圖像及側(cè)視人體圖像,插值后可以得到體表輪廓可包括正視體表輪廓1101及側(cè)視體表輪廓1102。
回到圖1的步驟104,根據(jù)所述體表輪廓,構(gòu)建人體三維模型。作為一種實施例,根據(jù)所述體表輪廓,構(gòu)建人體三維模型方法流程包括以下步驟:
步驟1041、根據(jù)所述體表輪廓,構(gòu)建人體三維外形框架;
步驟1042、基于所述人體三維外形框架,構(gòu)建人體三維模型。
上述步驟1041中,根據(jù)所述體表輪廓,構(gòu)建人體三維外形框架。其實現(xiàn)過程可參考圖12,圖12給出了在一示例性實施例中的一種構(gòu)建人體三維外形框架方法流程圖,如圖12所示,該構(gòu)建人體三維外形框架方法流程包括以下步驟:
步驟10411、根據(jù)體表輪廓,計算人體在不同位置上截面的形態(tài)特征數(shù)據(jù);
步驟10412、根據(jù)人體在不同位置上截面的形態(tài)特征數(shù)據(jù),對人體不同位置上的截面形狀進(jìn)行構(gòu)建;
步驟10413、從構(gòu)建的所有截面中任意選取一個截面作為參考截面,計算其它截面相對于所述參考截面的位置坐標(biāo);
步驟10414、基于預(yù)定義網(wǎng)格結(jié)構(gòu),按照所有截面的位置坐標(biāo),連接所有截面以作為人體三維外形框架。
在圖12的步驟10411中,根據(jù)已有的體表輪廓,計算人體在不同位置上截面的形態(tài)特征數(shù)據(jù)。其中,所述人體截面可分為兩種,一種是特征截面,指身體特殊位置的截面。如圖13所示,側(cè)視體表輪廓中具有特征的截面可包括但不限于頸部截面1301、肩部截面1302、上胸截面1303、胸部截面1304、下胸截面1305、腰圍截面1306、低腰截面1307、上臀截面1308、臀部截面1309、襠部截面1310、膝蓋截面1311、小腿截面1312及腳踝截面1313等。正視體表輪廓中具有特征的截面可包括但不限于上臂截面1314、肘關(guān)節(jié)截面1315及手腕截面1316。另一種是非特征截面,指介于身體相鄰的兩個特殊位置截面之間的身體截面,如下胸截面到腰圍截面之間的身體截面1317、1318。
作為一種實施例,為計算體表輪廓在所述人體截面高度的對應(yīng)位置,可根據(jù)人體比例和部分曲線的切線或者法線的變化特征,確定各個截面的所處的高度位置。如圖14所示,計算臀部截面的相應(yīng)的高度,可以通過計算側(cè)視人體體表輪廓在以腳底為起點(diǎn)的身高33%~44%的位置處的后部曲線段最突出的點(diǎn)1401,計算方式可通過對曲線求一次導(dǎo)數(shù),導(dǎo)數(shù)為零的點(diǎn)的高度位置作為臀部截面的高度位置1402。然后基于截面的高度位置,計算體表輪廓對應(yīng)截面的形態(tài)特征數(shù)據(jù),形態(tài)特征數(shù)據(jù)可以為以下一個或多個:截面的寬度、截面的厚度、正視和側(cè)視體表輪廓面積、或截面在體表輪廓所處的高度位置(例如胸部截面在身高的比例,胸線的高度)等,本實施例不對形態(tài)特征數(shù)據(jù)的內(nèi)容作具體限定。
例如,計算臀部截面的形態(tài)特征,可在臀部高度位置做一條水平直線,計算該直線和正視體表輪廓的左右邊界兩個交點(diǎn),計算左右兩個交點(diǎn)的水平間距作為臀圍截面的寬度1403,也可計算該直線和側(cè)視體表輪廓的左右邊界兩個交點(diǎn),計算左右兩個交點(diǎn)的水平間距作為臀圍截面的厚度1404(圖14)。
作為另一種實施例,可通過微積分原理計算正視和側(cè)視體表輪廓的面積。
回到圖12中的步驟10412,根據(jù)人體在不同位置上截面的形態(tài)特征數(shù)據(jù),對人體不同位置上的截面形狀進(jìn)行構(gòu)建。
作為一個實施例,一個截面的形狀構(gòu)建是基于一個描述截面形態(tài)特征和所述截面的形狀參數(shù)的線性或非線性關(guān)系模型。該關(guān)系模型是基于截面數(shù)據(jù)庫訓(xùn)練所得;其中,截面數(shù)據(jù)庫是通過對若干個真人三維掃描數(shù)據(jù)截取相應(yīng)位置截面得到的。
為了便于描述,現(xiàn)選取任一截面,并計算該截面的形狀特征數(shù)據(jù)。具體來說,基于所計算的截面形態(tài)數(shù)據(jù)和相應(yīng)訓(xùn)練得到的線性或非線性關(guān)系模型確定一組截面形狀參數(shù)。所述截面形狀參數(shù)描述的可以是所述截面上的每個截面邊界點(diǎn)到所述截面中心點(diǎn)的距離?;谠摼嚯x和所述截面中心點(diǎn)的位置以及每個截面邊界點(diǎn)相對于中心點(diǎn)的方向,即可確定每個截面邊界點(diǎn)的位置。各個截面邊界點(diǎn)有序的連接所組成一個多邊形即為該截面的形狀。
如圖15所示,基于腰圍截面的形態(tài)數(shù)據(jù)和所述的關(guān)系模型計算得到該截面的形狀參數(shù)。其中,所述形狀參數(shù)包括所述截面上的每個截面邊界點(diǎn)到所述截面中心點(diǎn)c1501的距離,例如一個截面邊界點(diǎn)p11505到中心點(diǎn)c1501之間的距離d1,另一個截面邊界點(diǎn)p21507到中心點(diǎn)c1501的距離d2,依此類推,pi1504到c1501之間的距離di1502,pn1506到c1501之間的距離dn。假設(shè)每兩相鄰的截面邊界點(diǎn)與中心點(diǎn)c1501形成的夾角相等且等于1°,則該截面一共有360個截面邊界點(diǎn),即n等于360。因此,截面邊界點(diǎn)pi1504與x軸形成的夾角為(i-1)°。結(jié)合其計算所得的距離di,即可確定所述截面邊界點(diǎn)pi1504相對于中心點(diǎn)c1501的相對位置。以此類推,計算每個截面邊界點(diǎn)的相對位置。所述計算得到的360個截面邊界點(diǎn)連接形成的多邊形即為所述腰圍截面的形狀。類似的,計算各個不同位置上截面的形狀參數(shù),從而構(gòu)建人體各個截面的形狀。
回到圖12的步驟10413,從構(gòu)建的所有截面中任意選取一個截面作為參考截面,計算其它截面相對于所述參考截面的位置坐標(biāo)。在構(gòu)建完所有的截面后,從構(gòu)建的所有截面中選取一個參考截面后,可按照平行于該參考截面的xy坐標(biāo)軸,垂直于該參考截面的z坐標(biāo)軸,以該參考截面的截面中心點(diǎn)作為原點(diǎn),建立xyz空間坐標(biāo)系,從而確定其它截面相對于該參考截面的位置坐標(biāo)。最后,按照所有截面的位置坐標(biāo),將所有截面在預(yù)定義的網(wǎng)格結(jié)構(gòu)基礎(chǔ)上進(jìn)行連接,從而得到人體三維外形框架。
預(yù)定義的網(wǎng)格結(jié)構(gòu)是將人體體表頂點(diǎn)按照一定拓?fù)浣Y(jié)構(gòu)連接起來蘊(yùn)含體型信息的網(wǎng)格框架。
如圖16,以腰部所在截面1601作為參考截面,以腰部截面的中心點(diǎn)作為xyz空間坐標(biāo)系原點(diǎn),可以計算出參考截面最靠后一個點(diǎn)a點(diǎn)的坐標(biāo)位置為a(x1,y1,z1)?,F(xiàn)在以臀部截面1602為例,計算臀部截面相對于該參考截面的位置坐標(biāo),根據(jù)截面形狀計算臀部最靠后點(diǎn)b相對腰部截面中心點(diǎn)的坐標(biāo)為b(x2,y2,z2),根據(jù)正視和側(cè)視體表輪廓得到b點(diǎn)相對于a點(diǎn)的平移向量為t(xt,yt,zt),根據(jù)向量平移,即可得到腰部截面上任意一點(diǎn)p(xp,yp,zp)的相對于原點(diǎn)的位置坐標(biāo)為(xp+x1+xt-x2,yp+y1+yt-y2,zp+z1+zt-z2)。
圖12中的步驟10414,基于預(yù)定義網(wǎng)格結(jié)構(gòu),按照所有截面的位置坐標(biāo),連接所有截面以作為人體三維外形框架,如圖17所示,其中,圖17(a)中的1701為所述人體三維外形框架的正視圖,圖17(b)中的1702為所述人體三維外形框架的側(cè)視圖。作為一種實施例,預(yù)定義的網(wǎng)格結(jié)構(gòu)可以依照人體皮膚表面的邏輯拓?fù)浣Y(jié)構(gòu),按照順時針或者逆時針有序地連接相鄰的點(diǎn)作為一個面片。
在用于執(zhí)行圖1中步驟104的步驟1042中,基于所述人體三維外形框架,構(gòu)建人體三維模型。圖18是根據(jù)一示例性實施例示出的一種構(gòu)建人體三維模型方法流程圖,如圖18所示,該構(gòu)建人體三維模型方法流程包括以下步驟:
步驟10421、根據(jù)人體參考信息,選擇三維人體模板模型;
步驟10422、為所述三維人體模板模型構(gòu)建第一框架,所述第一框架與所述的人體三維外形框架有相同的網(wǎng)格結(jié)構(gòu);
步驟10423、將所述三維人體模板模型中的點(diǎn)與所述第一框架的網(wǎng)格結(jié)構(gòu)中相對位置最近的至少一個面片進(jìn)行關(guān)聯(lián);
步驟10424、按照所得關(guān)聯(lián)關(guān)系,基于所述人體三維外形框架計算所述三維人體模板模型中每個點(diǎn)新的坐標(biāo),由具有新坐標(biāo)的所有點(diǎn)組成得到人體三維模型。
在上述步驟10421中,根據(jù)人體參考信息,選擇三維人體模板模型。其中,人體參考信息可以包括性別、年齡、種族、身高及重量等內(nèi)容,本實施例對此不作具體限定。如該人體的性別為男性、年齡29歲、身高170、體重為65kg,則從三維人體數(shù)據(jù)庫中選擇男性、年齡區(qū)間在20~35歲間、bmi為23~26之間的三維人體作為模板模型;又如,可根據(jù)該人體三維外形框架的體積,選取體積相近的三維人體模型作為模板模型。例如通過微積分原理計算得到該人體的三維輪廓的體積為0.0743立方米,則在人體數(shù)據(jù)庫中選取三維人體模型的體積在0.07~0.08立方米的相同性別的模型作為模板模型。
在圖18的步驟10422中,基于選好的三維人體模板模型,將為三維人體模板模型構(gòu)建第一框架,第一框架與所述的人體三維外形框架有相同的網(wǎng)格結(jié)構(gòu)。作為一種實施例,其構(gòu)建方式可以通過,提取三維人體模板模型的側(cè)視和正視的體表輪廓,基于體表輪廓確定和人體三維輪廓相對應(yīng)的截面的位置,例如腰部截面所在高度位置,然后提取三維模板模型上該截面的外圍邊界點(diǎn)集,通過曲線擬合的方法將外圍邊界點(diǎn)集作為控制點(diǎn)擬合出相應(yīng)截面的完整邊界曲線,基于所述完整邊界曲線通過采樣的方法計算和所述人體三維框架對應(yīng)截面的形狀邊界點(diǎn),例如多邊形邊界點(diǎn),并連接形狀邊界點(diǎn)形成的多邊形作為第一框架的截面。按照預(yù)定于網(wǎng)格結(jié)構(gòu)連接三維人體模板模型的所有對應(yīng)截面形成第一框架。
在圖18的步驟10423中,基于第一框架,計算三維人體模板模型上的每個點(diǎn)與第一框架上網(wǎng)格結(jié)構(gòu)中相對位置最近的至少一個面片進(jìn)行關(guān)聯(lián)計算,得到關(guān)聯(lián)關(guān)系?;陉P(guān)聯(lián)關(guān)系和所述人體三維外形框架的面片頂點(diǎn)坐標(biāo),計算所述三維人體模板模型中每個點(diǎn)新的坐標(biāo),由具有新坐標(biāo)的所有點(diǎn)組成得到人體三維模型。
為了便于描述,現(xiàn)在選取任意一個點(diǎn),如圖19,p(x,y,z)為三維人體模板模型的一點(diǎn),三角形t1(a,b,c)為第一框架上p點(diǎn)附近的一個面片(這里不對面片形狀做限定,即四邊形、多邊形和曲面面片均可),其頂點(diǎn)坐標(biāo)為(pa,pb,pc),ab,ac為三角形t1邊的向量,n為面片的法向量。基于這三個向量,可以構(gòu)建一個局部坐標(biāo)系?;诰植孔鴺?biāo)系,通過公式sy0x,p點(diǎn)關(guān)于面片t1的相對位置r1(u1,v1,w1)可以通過下列公式計算
r1(u1,v1,w1)則作為該面片的關(guān)聯(lián)。
根據(jù)該關(guān)聯(lián)和所述人體三維外形框架的相對應(yīng)的三角面片t1′(a′,b′,c′)的頂點(diǎn)坐標(biāo),則可以計算p點(diǎn)相對在t1′所在坐標(biāo)系下的坐標(biāo)位置,公式如下:
其中pa′,pb′,pc′為t1′的頂點(diǎn)坐標(biāo),a′b′,a′c′為三角形t1′邊的向量,n′為t1′面片的法向量。
若p點(diǎn)相對于若干個(一個或多個)面片的新坐標(biāo)點(diǎn)集為p1,...,pn,則p點(diǎn)的新坐標(biāo)則可以通過如下公式計算得到
p′=w1·p1+…+wn·pn公式5
其中w1為權(quán)重,例如,權(quán)重可以1/n,也可以根據(jù)點(diǎn)p到面片重心的距離制定,例如,第i個正視輪廓的權(quán)重值為下列公式
fi是p點(diǎn)到第i個面片的中心或者重心的距離。
計算三維人體模板模型所有點(diǎn)的新坐標(biāo)后,所有新坐標(biāo)的點(diǎn)組成得到人體三維模型??紤]到計算出每個點(diǎn)新的坐標(biāo)后,具有新坐標(biāo)的所有點(diǎn)所組成得到的人體三維模型在尺寸上與實際人體可能不符。因此,在得到人體三維模型后,可根據(jù)人與拍照攝像頭之間的距離以及人體的高度,對人體三維模型進(jìn)行縮放,以達(dá)到校準(zhǔn)的效果。
如新坐標(biāo)所組成的人體三維模型的身高為170厘米,而該人體的身高數(shù)據(jù)是180cm,則以所組成的人體三維模型全局中心進(jìn)行18/17的比例進(jìn)行縮放。圖20顯示的是一個基于上述人體建模方法獲取的三維人體模型。圖20(a)中2001為所述三維人體模型的正視圖,圖20(b)中2002為所述三維人體模型的側(cè)視圖。
需要說明的是,由于人體三維模型可能在后續(xù)處理過程中被用于各種不同的領(lǐng)域,而在將人體三維模型投入實際使用時,更多用到的是人體三維模型的測量數(shù)據(jù)。所述測量數(shù)據(jù)可以是一維、二維或者三維的人體尺寸,一維的測量尺寸如可以是非閉合曲線、閉合曲線、曲率、線段的長度和角度,二維測量尺寸如可以是截面面積和表面積,三維測量尺寸如可以是容量,本實例對此不作具體限定。為了便于后續(xù)使用人體三維模型,本實施例還提供了一種提取人體三維模型測量數(shù)據(jù)的方法,包括:確定所述人體三維模型上的關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置;根據(jù)所述關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置,計算所述人體三維模型的測量數(shù)據(jù)。
在計算人體三維模型的測量數(shù)據(jù)之前,為了確定后續(xù)需要計算哪些類型的測量數(shù)據(jù),可預(yù)先對測量數(shù)據(jù)進(jìn)行歸類,如可以歸為閉合平面曲線,閉合曲線,非閉合曲線、直線、角、橫截面面積、表面積及容量,本實施例對此不作具體限定。人體測量標(biāo)準(zhǔn)主要用于規(guī)范測量人體尺寸數(shù)據(jù)的標(biāo)準(zhǔn)。人體測量標(biāo)準(zhǔn)可以為國際人體測量標(biāo)準(zhǔn),例如iso8559標(biāo)準(zhǔn);亦可以為國家或者地區(qū)性的人體測量標(biāo)準(zhǔn),例如美國astm(americansocietyfortestingandmaterials,美國材料與試驗協(xié)會)d5219-09標(biāo)準(zhǔn),或者中國、日本、歐洲當(dāng)?shù)叵鄳?yīng)的人體測量標(biāo)準(zhǔn);以及任意自定義的測量標(biāo)準(zhǔn),本實施例對此不作具體限定。
按照上述人體測量標(biāo)準(zhǔn)及人體測量常識,可確定人體三維模型上的關(guān)鍵點(diǎn)或關(guān)鍵特征。其中,關(guān)鍵點(diǎn)可以為背頸部點(diǎn)、側(cè)頸點(diǎn)及肩膀點(diǎn)等,關(guān)鍵特征可以為臀部水平特征、腹部水平特征、腳踝水平特征及腋窩特征等,本實施例對此也不作具體限定。例如通過提取三維人體模型側(cè)面的后背方向的曲線(例如側(cè)視方向上的后背曲線),在該曲線的人體身高比例40%~60%處尋找到最突出的點(diǎn)(計算方式可通過對曲線求一次導(dǎo)數(shù),導(dǎo)數(shù)為零的點(diǎn)的高度位置作為臀部截面的高度位置)所在的水平位置確定為臀部水平特征;又如,通過計算提取三維人體模型的側(cè)面的前面方向的曲線,在該曲線的人體身高比例50%~70%處尋找到最突出的點(diǎn)所在的水平位置確定為腹部水平特征。
確定每個關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置。為人體三維模型建立坐標(biāo)后,通過識別人體三維模型不同點(diǎn)或者區(qū)域特征,可確定關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置。例如,可通過計算人體身高比例80%~83%范圍的內(nèi)以3mm為間隔的所有截面的周長,根據(jù)背頸點(diǎn)所在截面的周長變化率特征以確定背頸點(diǎn)所在截面,再找到截面的左右對稱線上靠后的點(diǎn)的幾何坐標(biāo)確定為背頸點(diǎn)的幾何位置。
作為另一種實施例,關(guān)鍵點(diǎn)或者關(guān)鍵特征的幾何位置可以通過手工選取的方式,包括在觸擊,點(diǎn)擊,滑動以及涂抹方式。例如,可以通過旋轉(zhuǎn)平移三維人體模型視界至背部,縮放視界至背頸點(diǎn)附近,然后通過點(diǎn)擊確定背頸點(diǎn)的幾何位置。
根據(jù)每個關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置,計算人體三維模型的測量數(shù)據(jù)。在確定每個關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置后,可使用歸類后的測量數(shù)據(jù)所對應(yīng)的算法,計算相應(yīng)的測量數(shù)據(jù)。如可采用微積分方法計算封閉曲線、非封閉曲線與線段的長度,截面與表面面積,本實施例對此不作具體限定。例如計算腰圍長度,可以在人體模型的腰圍水平特征處截取一個截面,將截面輪廓處的點(diǎn)進(jìn)行曲線擬合得到腰圍曲線,最后通過微積分方式計算曲線的周長作為腰圍長度。
作為一種可選實施例,在獲取人體三維模型的測量數(shù)據(jù)之后,還可以根據(jù)人體尺碼標(biāo)準(zhǔn),對所述測量數(shù)據(jù)進(jìn)行轉(zhuǎn)換。例如,所述人體性別為男性,身高為170厘米,胸圍88厘米,腰圍74厘米,根據(jù)中國人民共和國國家標(biāo)準(zhǔn)gb/t1335.1-2008,所述人體的服裝號碼為170/88a。本實施例,對尺碼標(biāo)準(zhǔn)不做限定,例如可以為歐洲尺碼標(biāo)準(zhǔn)(en13402-32013)或美國尺碼標(biāo)準(zhǔn)(astmd62402012)。
本發(fā)明實施例所提供的方法,通過獲取至少一張人體圖像;提取所述人體圖像中人體的原始輪廓;根據(jù)所述原始輪廓,計算所述人體的體表輪廓;根據(jù)所述體表輪廓,構(gòu)建人體三維模型。由于本發(fā)明中人體三維模型的建立源自于二維人體圖像,并不需要使用人體掃描器對人體進(jìn)行掃描,從而降低了建立人體三維模型時的成本開銷。再者,由于在獲取人體圖像時,對人體對象所處的位置及人體對象的著裝并無要求,從而降低了建立人體三維模型時的操作門檻,讓建立人體三維模型的過程更加便利。
另外,由于在提取二維人體輪廓的過程中,對提取到可能帶有衣服邊緣的原始輪廓進(jìn)行了修正,基于修正后得到的特征點(diǎn),通過插值運(yùn)算對二維人體輪廓作了進(jìn)一步地選擇及合成,從而使得二維人體輪廓更加貼近真實的人體輪廓。通過根據(jù)二維人體輪廓構(gòu)建三維外形框架,再按照三維外形框架對選取的人體模型進(jìn)行變形,能夠進(jìn)一步地對人體模型的特征進(jìn)行過濾篩選,使得得到的人體三維模型更加貼近真實的人體。綜上,上述每步處理過程所帶來的進(jìn)一步精確度進(jìn)行累加后,能夠使得最終構(gòu)建的人體三維模型還原度較高,誤差較少。
在圖21示出的本發(fā)明人體建模裝置示例性實施例的邏輯方框示意圖中,包括用于獲取至少一張人體圖像的人體圖像獲取模塊2101;用于提取所述人體圖像中人體的原始輪廓的原始輪廓提取模塊2102;用于根據(jù)所述原始輪廓,計算所述人體的體表輪廓的體表輪廓計算模塊2103,以及用于根據(jù)所述體表輪廓構(gòu)建人體三維模型的三維模型構(gòu)建模塊2104。
在圖22示出的本發(fā)明人體建模裝置另一示例性實施例中,在構(gòu)建模塊2104之后,還連接有第一確定模塊2201,用于確定所述人體三維模型上的關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置,以及第二計算模塊2202,用于根據(jù)所述關(guān)鍵點(diǎn)或關(guān)鍵特征的幾何位置,計算所述人體三維模型的測量數(shù)據(jù)。在發(fā)明人體建模裝置另一示例性實施例中,在第二計算模塊2202還設(shè)置有數(shù)據(jù)轉(zhuǎn)換模塊,用于根據(jù)人體尺碼標(biāo)準(zhǔn),對所述測量數(shù)據(jù)進(jìn)行轉(zhuǎn)換。
在圖23示出的本發(fā)明電子設(shè)備實施例的邏輯方框示意圖中,包括有存儲器2401、處理組件2402、多媒體組件2403以及運(yùn)行于所述處理組件2402的一個或者一個以上的程序2405,其中一個或者一個以上程序2405存儲于存儲器2401中,且經(jīng)配置以由所述多媒體組件2403提供一個用戶交互界面;所述處理組件2402執(zhí)行所述一個或者一個以上程序2405,用于進(jìn)行以下至少之一操作:獲取至少一張人體圖像;提取所述人體圖像中人體的原始輪廓;根據(jù)所述原始輪廓,計算所述人體的體表輪廓;根據(jù)所述體表輪廓,構(gòu)建人體三維模型。
存儲器2401被配置為存儲各種類型的數(shù)據(jù)以支持在所述電子設(shè)備的操作。這些數(shù)據(jù)的示例包括用于在所述電子設(shè)備上操作的任何應(yīng)用程序或方法的指令、聯(lián)系人數(shù)據(jù)、電話簿數(shù)據(jù)、消息、圖片、視頻等。存儲器2401可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機(jī)存取存儲器(sram)、電可擦除可編程只讀存儲器(eeprom)、可擦除可編程只讀存儲器(eprom)、可編程只讀存儲器(prom)、只讀存儲器(rom)、磁存儲器、快閃存儲器、磁盤或光盤。處理組件2402通??刂扑鲭娮釉O(shè)備的整體操作,諸如與顯示、電話呼叫、數(shù)據(jù)通信、相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件可以包括一個或多個處理器來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件可以包括一個或多個模塊,便于處理組件和其他組件之間的交互。例如,處理組件可以包括多媒體模塊和通信模塊,以方便多媒體組件或通信組件分別和處理組件之間的交互。
圖23中的處理組件2402可以是移動電話、計算機(jī)、數(shù)字廣播終端、消息收發(fā)設(shè)備、游戲控制臺、平板設(shè)備、醫(yī)療設(shè)備、健身設(shè)備、個人數(shù)字助理等。在示例性實施例中,所述電子設(shè)備可以被一個或多個應(yīng)用專用集成電路(asic)、數(shù)字信號處理器(dsp)、數(shù)字信號處理設(shè)備(dspd)、可編程邏輯器件(pld)、現(xiàn)場可編程門陣列(fpga)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
多媒體組件2403包括在所述電子設(shè)備和用戶之間提供一個輸出和/或輸出接口。在一些實施例中,多媒體組2403件可以包括液晶顯示器(lcd)和觸摸面板(tp)。如果多媒體組件包括觸摸面板,多媒體組件可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號,實現(xiàn)人機(jī)交互。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。
在本發(fā)明電子設(shè)備另一實施例中,所述電子設(shè)備包括以下一個或多個組件:存儲器、處理組件、多媒體組件以及通信組件2404。且所述通信組件2404被配置為:提供一條在所述電子設(shè)備和服務(wù)器之間的雙向通信鏈路;傳輸由所述電子設(shè)備發(fā)送至所述服務(wù)器的發(fā)送數(shù)據(jù);接收由所述服務(wù)器發(fā)送至所述電子設(shè)備的接收數(shù)據(jù)。
所述發(fā)送數(shù)據(jù)包括但不限于處理組件獲取或處理后的數(shù)據(jù)。作為一種可選實施例,所述發(fā)送數(shù)據(jù)包括但不限于:所述至少一張人體圖像、所述人體圖像中人體的原始輪廓、所述人體的體表輪廓、所述人體三維模型或所述人體圖像中的人體的信息。其中,所述人體圖像中人體的信息包括但不限于:身高、體重、年齡、性別和種族。
所述接收數(shù)據(jù)包括但不限于服務(wù)器獲取或處理后的數(shù)據(jù)。作為一種可選實施例,所述接收數(shù)據(jù)包括但不限于:所述至少一張人體圖像、所述人體圖像中人體的原始輪廓、所述人體的體表輪廓、所述人體三維模型或所述人體圖像中的人體的信息。其中,所述人體圖像中人體的信息包括但不限于:身高、體重、年齡、性別和種族。
通信組件2404被配置為便于所述電子設(shè)備和其他設(shè)備之間有線或無線方式的通信。所述電子設(shè)備可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如wi-fi、2g、3g、4g、5g或它們的組合。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。