【技術領域】
本發(fā)明涉及圖像識別技術領域,尤其涉及一種推薦塑身方案的方法、裝置、設備和計算機存儲介質。
背景技術:
隨著時代的進步和社會的發(fā)展,人們開始逐漸重視起自己的身材,因此如何獲取適合自己身材的塑身方案成為人們關注的焦點。目前,人們在搜尋塑身方案時通常有兩種方式:在互聯(lián)網上進行搜索或者向專業(yè)人士進行咨詢。因此現有技術在向用戶推薦塑身方案時,存在以下幾個問題:(1)通過互聯(lián)網搜索塑身方案具有盲目性,用戶通過該方式只能夠根據他人的描述或經驗進行選擇,不能夠根據自身身材的實際情況獲取合適的塑身方案;(2)向專業(yè)人士咨詢塑身方案時所需成本較大。
技術實現要素:
有鑒于此,本發(fā)明提供了一種推薦塑身方案的方法、裝置、設備和計算機存儲介質,用于實現自動獲取適合用戶實際身材的塑身方案,減少用戶塑身的盲目,提升用戶塑身的效率。
本發(fā)明為解決技術問題而采用的技術方案是提供一種推薦塑身方案的方法,其中所述方法包括:獲取包含人體的圖像;將所述包含人體的圖像進行分割,得到各身體部分的分割數據;從所述分割數據中提取人體特征部位的數據;將所述特征部位的數據與對應的標準身材的特征部位的數據進行對比;根據對比結果,推薦塑身方案。
根據本發(fā)明一優(yōu)選實施例,所述各身體部分包括頭部、軀干、小臂、大臂、小腿以及大腿中的至少一種。
根據本發(fā)明一優(yōu)選實施例,所述將所述包含人體的圖像進行分割,獲取各身體部分的分割數據包括:識別所述圖像中人體的身材輪廓;對所述人體的身材輪廓進行分割,獲取身材輪廓中各身體部分的分割數據。
根據本發(fā)明一優(yōu)選實施例,所述將所述包含人體的圖像進行分割,得到各身體部分的分割數據還包括:根據預先訓練得到的標準身材中各身體部分的分割數據,對所述圖像進行分割,獲取各身體部分的分割數據。
根據本發(fā)明一優(yōu)選實施例,所述各身體部分的分割數據包括:屬于各身體部分的像素位置信息以及指示各像素所屬身體部分的顏色信息。
根據本發(fā)明一優(yōu)選實施例,所述各身體部分的分割數據由二維數組表示;其中,各像素在身體部分中的位置映射至二維數組中的對應位置,指示各像素所屬身體部分的顏色信息映射至二維數組中對應位置的數值。
根據本發(fā)明一優(yōu)選實施例,所述從所述分割數據中提取人體特征部位的數據包括:根據特征部位所屬的身體部分,以及預設的人體特征部位與身材之間的相對位置,從所述分割數據中提取該特征部位的數據。
根據本發(fā)明一優(yōu)選實施例,所述人體特征部位包括肚子、大腿、臉部、手臂、臀部等中的至少一種。
根據本發(fā)明一優(yōu)選實施例,所述根據對比結果,推薦塑身方案包括:根據所述對比結果,確定圖像中人體的肥胖程度;根據所述肥胖程度,確定對應該肥胖程度的塑身方案。
根據本發(fā)明一優(yōu)選實施例,所述根據所述對比結果,確定圖像中人體的肥胖程度包括:根據所述對比結果,確定所提取的特征部位數據超出標準身材的特征部位數據的范圍;根據所述超出范圍,確定圖像中人體的肥胖程度。
根據本發(fā)明一優(yōu)選實施例,所述根據對比結果,推薦塑身方案還包括:根據所述對比結果,確定與對應的標準身材的特征部位差距超出預設閾值的特征部位;針對確定出的特征部位,推薦塑身方案
本發(fā)明為解決技術問題而提供了一種推薦塑身方案的裝置,所述裝置包括:獲取單元,用于獲取包含人體的圖像;分割單元,用于將所述包含人體的圖像進行分割,得到各身體部分的分割數據;提取單元,用于從所述分割數據中提取人體特征部位的數據;對比單元,用于將所述特征部位的數據與對應的標準身材的特征部位的數據進行對比;推薦單元,用于根據對比結果,推薦塑身方案。
根據本發(fā)明一優(yōu)選實施例,所述各身體部分包括頭部、軀干、小臂、大臂、小腿以及大腿中的至少一種。
根據本發(fā)明一優(yōu)選實施例,所述分割單元在用于將所述包含人體的圖像進行分割,獲取各身體部分的分割數據時,具體執(zhí)行:識別所述圖像中人體的身材輪廓;對所述人體的身材輪廓進行分割,獲取身材輪廓中各身體部分的分割數據。
根據本發(fā)明一優(yōu)選實施例,所述分割單元在用于將所述包含人體的圖像進行分割,獲取各身體部分的分割數據時,還執(zhí)行:根據預先訓練得到的標準身材中各身體部分的分割數據,對所述圖像進行分割,獲取各身體部分的分割數據。
根據本發(fā)明一優(yōu)選實施例,所述各身體部分的分割數據包括:屬于各身體部分的像素位置信息以及指示各像素所屬身體部分的顏色信息。
根據本發(fā)明一優(yōu)選實施例,所述各身體部分的分割數據由二維數組表示;其中,各像素在身體部分中的位置映射至二維數組中的對應位置,指示各像素所屬身體部分的顏色信息映射至二維數組中對應位置的數值。
根據本發(fā)明一優(yōu)選實施例,所述提取單元在用于從所述分割數據中提取人體特征部位的數據時,具體執(zhí)行:根據特征部位所屬的身體部分,以及預設的人體特征部位與身材之間的相對位置,從所述分割數據中提取該特征部位的數據。
根據本發(fā)明一優(yōu)選實施例,所述人體特征部位包括肚子、大腿、臉部、手臂、臀部等中的至少一種。
根據本發(fā)明一優(yōu)選實施例,所述推薦單元在用于根據對比結果,推薦塑身方案時,具體執(zhí)行:根據所述對比結果,確定圖像中人體的肥胖程度;根據所述肥胖程度,確定對應該肥胖程度的塑身方案。
根據本發(fā)明一優(yōu)選實施例,所述推薦單元在用于根據所述對比結果,確定圖像中人體的肥胖程度時,具體執(zhí)行:根據所述對比結果,確定所提取的特征部位數據超出標準身材的特征部位數據的范圍;根據所述超出范圍,確定圖像中人體的肥胖程度。
根據本發(fā)明一優(yōu)選實施例,所述推薦單元用于根據對比結果,推薦塑身方案時,還執(zhí)行:根據所述對比結果,確定與對應的標準身材的特征部位差距超出預設閾值的特征部位;針對確定出的特征部位,推薦塑身方案。
由以上技術方案可以看出,本發(fā)明通過將獲取圖像中人體的實際身材與標準身材進行對比,實現根據對比結果自動獲取適合用戶的塑身方案,從而減少用戶塑身的盲目,提升用戶的塑身效率。
【附圖說明】
圖1為本發(fā)明一實施例提供的方法流程圖。
圖2為本發(fā)明一實施例提供的分割數據示意圖。
圖3為本發(fā)明一實施例提供的塑身方案推薦示意圖。
圖4為本發(fā)明一實施例提供的裝置結構圖。
圖5為本發(fā)明一實施例提供的計算機系統(tǒng)/服務器的框圖。
【具體實施方式】
為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖和具體實施例對本發(fā)明進行詳細描述。
在本發(fā)明實施例中使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權利要求書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。
應當理解,本文中使用的術語“和/或”僅僅是一種描述關聯(lián)對象的關聯(lián)關系,表示可以存在三種關系,例如,a和/或b,可以表示:單獨存在a,同時存在a和b,單獨存在b這三種情況。另外,本文中字符“/”,一般表示前后關聯(lián)對象是一種“或”的關系。
取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”或“響應于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當確定時”或“響應于確定”或“當檢測(陳述的條件或事件)時”或“響應于檢測(陳述的條件或事件)”。
由于每個人的身材不相同,所對應的塑身方案也會因人而異,因此如何根據用戶的實際身材確定合適的塑身方案是向用戶推薦塑身方案的關鍵因素。因此,本發(fā)明提供一種推薦塑身方案的方法、裝置、設備和計算機存儲介質,通過將用戶的實際身材與標準身材進行比對,實現根據對比結果自動獲取適合用戶的塑身方案,從而減少用戶塑身的盲目,提升用戶的塑身效率。
圖1為本發(fā)明一實施例提供的方法流程圖,如圖1中所示,所述方法包括:
在101中,獲取包含人體的圖像。
本步驟執(zhí)行的主體可以為位于本地終端的應用,或者還可以為位于本地終端應用中的插件或軟件開發(fā)工具包(softwaredevelopmentkit,sdk)等功能單元,或者還可以為其他位于網絡側服務器中的裝置,本實施例對此不進行特別限定。
可選地,在本實施例的一個具體實現過程中,可以通過實時拍攝或掃描的方式獲取包含人體的圖像,也可以使用已拍攝或已掃描的照片作為用戶拍攝或掃描的包含人體的圖像。
在102中,將所述包含人體的圖像進行分割,獲取各身體部分的分割數據。
在本步驟中,將包含人體的圖像進行分割,獲得人體的各身體部分,進而根據所獲得的各身體部分,獲取各身體部分的分割數據。其中,人體的各身體部分包括頭部、軀干、小臂、大臂、小腿以及大腿中的至少一種。
可選地,在本實施例的一個具體實現過程中,在將包含人體的圖像進行分割,獲取各身體部分的分割數據時,可以采用但不限于以下兩種方式:
第一種方式:首先識別圖像中人體身材的輪廓,然后對識別所得到的身材輪廓進行分割,進而獲取身材輪廓中各身體部分的分割數據。
其中對人體身材的輪廓的識別可以采用現有技術中諸如邊緣提取等方式。然后基于得到的身材輪廓,可以進一步結合邊緣梯度、各身體部分的比例等等,獲取身材輪廓中各身體部分的分割數據。
第二種方式:根據預先訓練得到的標準身材中各身體部分的分割數據,對圖像中的人體進行分割,獲取各身體部分的分割數據。
這種方式可以采用機器學習的方式,具體地,可以首先利用大量人體身材的訓練樣本,預先標出訓練樣本中各身體部分的分割數據,然后利用訓練樣本訓練分割模型。在對圖像中的人體進行分割時,可以將圖像輸入該分割模型,就可以得到該圖像中人體的各身體部分的分割數據。
基于機器學習的已有算法,例如parsing技術等均可以實現對包含人體的圖像進行分割,該算法可以基于像素對圖像特征進行標準,并實現精準分割。
在對圖像進行分割獲得人體的各身體部分后,可以進一步使用不同的顏色表示所獲取的各身體部分,然后獲取各身體部分的分割數據。因此在本步驟中,各身體部分的分割數據包括:圖像中屬于各身體部分像素的位置信息以及指示各像素所屬身體部分的顏色信息。而各身體部分的分割數據由二維數組表示,其中,各像素在身體部分中的位置映射至二維數組中的對應位置,指示各像素所屬身體部分的顏色信息映射至二維數組中對應位置的數值。
優(yōu)選地,在本步驟中對所獲取的各身體部分進行掩膜(mask)處理,從而獲取各身體部分的分割數據。其中,通過對分割圖像進行掩膜(mask)處理,得到分割圖像中的感興趣區(qū)域(即各身體部分),而各身體部分外的區(qū)域為非感興趣區(qū)域。因此,在對各身體部分進行掩膜(mask)處理后,使用不同的mask值表示各身體部分。其中,不同的mask值也用于表示不同的顏色,因此通過對分割圖像進行mask處理后,不同的mask值代表對應位置處各像素所屬身體部分的顏色信息。
舉例來說,對于每個像素點,像素點的mask值可以代表該像素點具有如下含義:mask=0代表黑色背景,mask=1代表紅色頭部,mask=2代表綠色軀干,mask=3代表黃色大臂,mask=4代表藍色小臂,mask=5代表紫色大腿,mask=6代表青色小腿。
再舉例來說,如圖2所示,在圖2中左圖為所獲取的包含人體的圖像,中間圖為使用不同顏色所表示的分割后人體的各身體部分,右圖為對分割后各身體部分進行mask處理后得到的二維數組。其中,二維數組中每個數值所在的位置對應每個像素在分割圖像中的位置,每個數值的大小對應圖像中每個像素所屬的身體部分。例如右圖二維數組中的第一行(0001000)對應圖像中的第一行像素,每個數字的位置與該行各像素的位置對應,各數字的取值與對應像素的mask值對應。其中0代表黑色背景,1代表紅色頭部;再例如右圖二維數組中的第5行(0004000),其中0代表黑色背景,4代表藍色小臂。以此方式進行類推,得到由二維數組所表示的各身體部分的分割數據。
在103中,從所述分割數據中提取人體特征部位的數據。
在本步驟中,根據特征部位所屬的身體部分,以及預設的人體特征部位與身材之間的相對位置,從分割數據中提取該特征部位的數據。其中,身材的特征部位可以包括諸如肚子、臉部、大腿、手臂、臀部等中的至少一種;對應的身材特征部位的數據可以包括肚子寬度、臉部下巴寬度、大腿寬度、手臂寬度、臀部大小等中的至少一種。
由于所獲取圖像中的人體會因為各種原因存在差異,例如拍攝遠近、拍攝質量等,因此在本步驟中,需要首先將分割數據進行標準化處理??梢詾閷⒎指顢祿鶕藴蕯祿母叨冗M行放大,從而使得分割數據與標準數據所對應的人體高度對齊;也可以為根據分割數據與標準數據的相對比例,確定提取特征部位數據的預設距離。然后根據特征部位所屬的身體部分以及預設的人體特征部位與身材之間的相對位置,從分割數據中提取特征部位的數據。具體地,通過預設的人體特征部位與身材之間的相對位置,以預設距離確定特征部位所處身體部分的區(qū)域,然后從所確定的區(qū)域中提取特征部位的數據。
舉例來說,例如特征部位是肚子,預設的肚子部位與身材之間的相對位置可以為肚子位于人體身高一半處的位置,則在將分割數據拉平后確定分割數據一半處的位置為肚子所在的位置,然后確定該位置上、下50像素距離內的數組作為肚子區(qū)域。再例如特征部位是大腿,預設的大腿部位與身材之間的相對位置可以為大腿位于人體身高三分之二(從頭到腳)處的位置,則在將分割數據拉平后確定分割數據三分之二處為大腿所在的位置,然后確定該位置以下60像素距離內的數組作為大腿區(qū)域。也可以為不進行對分割數據的拉平,根據分割數據與標準數據的相對比例,確定提取特征部位數據的預設距離。以特征部位為肚子為例,若得到的分割數據與標準數據的相對比例為1:2,則在確定肚子所在位置后,確定該位置上、下25像素看距離內的數組作為肚子區(qū)域。
在確定特征部位所屬身體部分的區(qū)域后,從位于特征部位區(qū)域中提取該特征部位的數據。所提取的身材特征部位的數據可以包括肚子寬度、臉部下巴寬度、大腿寬度、手臂寬度、臀部大小等中的至少一種。具體地,在確定的特征部位所屬身體部分的區(qū)域中,找出最寬數組和/或最窄數組,將最寬數組和/或最窄數組的寬度作為該特征部位的數據。
舉例來說,若特征部位是肚子,則將肚子區(qū)域中最寬數組的寬度作為特征部位肚子的數據;若特征部位是大腿,則將大腿區(qū)域中最寬數組以及最窄數組的寬度作為特征部位大腿的數據。
在104中,將所述特征部位的數據與對應的標準身材的特征部位的數據進行對比。
在本步驟中,基于所提取的身材特征部位的數據與標準身材特征部位的數據,將兩者進行對比。其中,標準身材特征部位的數據是預先設置或訓練得到的。
可選地,在本實施例的一個具體實現過程中,所提取的身材特征部位的數據可以是一個,也可以是多個。當所提取的身材特征部位的數據是一個時,則將所提取的該一個特征部位的數據與標準身材對應特征部位的數據進行對比。當所提取的身材特征部位的數據是多個時,則分別將所提取的不同特征部位的數據與標準身材對應特征部位的數據進行對比。
可選地,在本實施例的一個具體實現過程中,可以為根據不同的特征部位設置相同的對比規(guī)則,例如,對比規(guī)則可以統(tǒng)一設置為將所提取特征部位的數據與標準身材特征數據求差值、求比例等。也可以為根據不同的特征部位設置不同的對比規(guī)則,例如特征部位是肚子區(qū)域時,對比規(guī)則是對所提取肚子區(qū)域寬度與標準身材肚子區(qū)域寬度求差值;若特征部位是大腿區(qū)域,對比規(guī)則是對所提取大腿區(qū)域的寬度與標準身材大腿區(qū)域的寬度求比例。
在105中,根據對比結果,推薦塑身方案。
在本步驟中,根據所提取身材特征部位的數據與標準數據的對比結果,向用戶推薦塑身方案。
其中,塑身方案是預先制定的??蛇x地,該塑身方案可以為專業(yè)人士制定,也可以為根據在網絡上的搜索結果制定。
可選地,在本實施例的一個具體實現過程中,可以為根據對比結果,確定圖像中人體的肥胖程度,例如圖像中的人體是正常、肥胖或者重度肥胖等。也可以為根據對比結果,確定與對應的標準身材的特征部位差距超出預設閾值的特征部位,例如偏粗的大腿、偏瘦的手臂等。
其中,在根據對比結果確定圖像中人體的肥胖程度時,根據所提取的特征部位數據超出標準身材的特征部位數據的范圍,確定圖像中人體的肥胖程度。例如,若對比結果超過標準標準數據的-5%~5%時,認為身材正常;若對比結果超過標準數據的5%~15%時,認為身材輕度肥胖;若對比結果超過標準數據的15%~30%時,認為身材肥胖;若對比結果超過標準數據的30%以上時,認為身材重度肥胖。
舉例來說,若所提取身材的特征部位是肚子,將分割數據進行標準化處理后所提取肚子的寬度為30個像素,而位于相同高度的標準肚子寬度為25個像素,則所提取肚子的寬度與標注寬度的差值為5個像素,查看5個像素與標準寬度25個像素的關系,該差值5個像素是標準寬度25個像素的20%,即肚子寬度超過標準肚子寬度的20%,按照上述確定身材肥胖程度的規(guī)則,認為該身材是肥胖。
根據所確定的身材肥胖程度,向用戶推薦合適的塑身方案。例如,若身材肥胖程度為肥胖,則向用戶推薦的塑身方案可以為:以有氧運動為主,一周訓練3~5次,每次運動時間不少于20分鐘;控制熱量攝入,盡量以清淡素食和蛋白質為宜;若身材肥胖程度為正常,則向用戶推薦的塑身方案可以為:保持一周不少于2~3次的運動,注意節(jié)食,少吃垃圾食品。
舉例來說,如圖3所示,左圖為所獲取的用戶身材圖像,右圖為根據該用戶身材的圖像獲取的塑身方案,從圖3中右圖可以看出,該身材超過標準身材0.25,認為身材肥胖,則向用戶推薦肥胖身材所對應的塑身方案。
而根據對比結果,確定與對應的標準身材的特征部位差距超出預設閾值的特征部位后,針對所確定出的特征部位,向用戶推薦適于該部位的塑身方案。例如,若所提取的特征部位是大腿,將所獲取大腿的寬度與標準身材大腿寬度求比例,若所求得的寬度比例超過設定閾值,則認為用戶的大腿較粗,向用戶推薦瘦腿的塑身方案可以為:進行慢跑或游泳,一周訓練3~4次,多食用富含蛋白質或維生素e的食物。
上述方法的執(zhí)行主體可以是位于終端設備的裝置,例如終端設備獲取包括人體的圖像后,完成上述方法實施例中的處理從而得到塑身方案以推薦給用戶。上述方法的執(zhí)行主體也可以是位于服務器端的裝置,例如服務器端獲取終端設備發(fā)送的包括人體的圖像后,執(zhí)行上述方法實施例中的處理從而得到塑身方案,并將塑身方案發(fā)送給終端設備,由終端設備展現給用戶。
下面對本發(fā)明實施例提供的裝置結構圖進行詳述。如圖4所述,所述裝置包括:獲取單元41、分割單元42、提取單元43、比較單元44以及推薦單元45。
獲取單元41,用于獲取包含人體的圖像。
獲取單元41執(zhí)行的主體可以為位于本地終端的應用,或者還可以為位于本地終端應用中的插件或軟件開發(fā)工具包(softwaredevelopmentkit,sdk)等功能單元,或者還可以為其他位于網絡側服務器中的裝置,本實施例對此不進行特別限定。
可選地,在本實施例的一個具體實現過程中,獲取單元41可以通過實時拍攝或掃描的方式獲取包含人體的圖像,獲取單元41也可以使用已拍或已掃描的照片作為用戶拍攝或掃描的包含人體的圖像。
分割單元42,用于將所述包含人體的圖像進行分割,獲取各身體部分的分割數據。
分割單元42將包含人體的圖像使用圖像分割技術進行分割,獲得人體的各身體部分,進而根據所獲得的各身體部分,獲取各身體部分的分割數據。其中,人體的各身體部分包括頭部、軀干、小臂、大臂、小腿以及大腿中的至少一種。
可選地,在本實施例的一個具體實現過程中,分割單元42在將包含人體的圖像進行分割,獲取各身體部分的分割數據時,可以采用但不限于以下兩種方式:
第一種方式:分割單元42首先識別圖像中人體身材的輪廓,然后對識別所得到的身材輪廓進行分割,進而獲取身材輪廓中各身體部分的分割數據。
其中對人體身材的輪廓的識別可以采用現有技術中諸如邊緣提取等方式。然后基于得到的身材輪廓,可以進一步結合邊緣梯度、各身體部分的比例等等,獲取身材輪廓中各身體部分的分割數據。
第二種方式:分割單元42根據預先訓練得到的標準身材中各身體部分的分割數據,對圖像中的人體進行分割,獲取各身體部分的分割數據。
這種方式可以采用機器學習的方式,具體地,可以首先利用大量人體身材的訓練樣本,預先標出訓練樣本中各身體部分的分割數據,然后分割單元42利用訓練樣本訓練分割模型。在對圖像中的人體進行分割時,可以將圖像輸入該分割模型,就可以得到該圖像中人體的各身體部分的分割數據。
基于機器學習的已有算法,例如parsing技術等均可以實現對包含人體的圖像進行分割,該算法可以基于像素對圖像特征進行標準,并實現精準分割。
分割單元42在對圖像進行分割獲得人體的各身體部分后,可以進一步使用不同的顏色表示所獲取的各身體部分,然后獲取各身體部分的分割數據。因此在分割單元42所獲取的各身體部分的分割數據包括:圖像中屬于各身體部分像素的位置信息以及指示各像素所屬身體部分的顏色信息。而各身體部分的分割數據由二維數組表示,其中,各像素在身體部分中的位置映射至二維數組中的對應位置,指示各像素所屬身體部分的顏色信息映射至二維數組中對應位置的數值。
優(yōu)選地,分割單元42對所獲取的各身體部分進行掩膜(mask)處理,從而獲取各身體部分的分割數據。其中,掩膜(mask)即為二維矩陣數組,通過對分割圖像進行掩膜(mask)處理,得到分割圖像中的感興趣區(qū)域(即各身體部分),而各身體部分外的區(qū)域為非感興趣區(qū)域。因此,在對各身體部分進行掩膜(mask)處理后,使用不同的mask值表示各身體部分。其中,不同的mask值也用于表示不同的顏色,因此通過對分割圖像進行mask處理后,不同的mask值代表對應位置處各像素所屬身體部分的顏色信息。
舉例來說,對于每個像素點,像素點的mask值可以代表該像素點具有如下含義:mask=0代表黑色背景,mask=1代表紅色頭部,mask=2代表綠色軀干,mask=3代表黃色大臂,mask=4代表藍色小臂,mask=5代表紫色大腿,mask=6代表青色小腿。
提取單元43,用于從所述分割數據中提取人體特征部位的數據。
提取單元43根據特征部位所屬的身體部分,以及預設的人體特征部位與身材之間的相對位置,從分割數據中提取該特征部位的數據。其中,身材的特征部位可以包括諸如肚子、臉部、大腿、手臂、臀部等中的至少一種;對應的身材特征部位的數據可以包括肚子寬度、臉部下巴寬度、大腿寬度、手臂寬度、臀部大小等中的至少一種。
由于所獲取圖像中的人體會因為各種原因存在差異,例如拍攝遠近、拍攝質量等,因此提取單元43需要首先將分割數據進行標準化處理。提取單元43可以將分割數據根據標準數據的高度進行放大,從而使得分割數據與標準數據所對應的人體高度對齊;提取單元43也可以根據分割數據與標準數據的相對比例,確定提取特征部位數據的預設距離。然后根據特征部位所屬的身體部分以及預設的人體特征部位與身材之間的相對位置,從分割數據中提取特征部位的數據。具體地,提取單元43通過預設的人體特征部位與身材之間的相對位置,以預設距離確定特征部位所處身體部分的區(qū)域,然后從所確定的區(qū)域中提取特征部位的數據。
舉例來說,例如特征部位是肚子,預設的肚子部位與身材之間的相對位置可以為肚子位于人體身高一半處的位置,則在將分割數據拉平后確定分割數據一半處的位置為肚子所在的位置,然后確定該位置上、下50像素距離內的數組作為肚子區(qū)域。再例如特征部位是大腿,預設的大腿部位與身材之間的相對位置可以為大腿位于人體身高三分之二(從頭到腳)處的位置,則在將分割數據拉平后確定分割數據三分之二處為大腿所在的位置,然后確定該位置以下60像素距離內的數組作為大腿區(qū)域。也可以為不進行對分割數據的拉平,根據分割數據與標準數據的相對比例,確定提取特征部位數據的預設距離。以特征部位為肚子為例,若得到的分割數據與標準數據的相對比例為1:2,則在確定肚子所在位置后,確定該位置上、下25像素看距離內的數組作為肚子區(qū)域。
提取單元43在確定特征部位所屬身體部分的區(qū)域后,從位于特征部位區(qū)域中提取該特征部位的數據。所提取的身材特征部位的數據可以包括肚子寬度、臉部下巴寬度、大腿寬度、手臂寬度、臀部大小等中的至少一種。具體地,在確定的特征部位所屬身體部分的區(qū)域中,找出最寬數組和/或最窄數組,將最寬數組和/或最窄數組的寬度作為該特征部位的數據。
舉例來說,若特征部位是肚子,則將肚子區(qū)域中最寬數組的寬度作為特征部位肚子的數據;若特征部位是大腿,則將大腿區(qū)域中最寬數組以及最窄數組的寬度作為特征部位大腿的數據。
對比單元44,用于將所述特征部位的數據與對應的標準身材的特征部位的數據進行對比。
基于提取單元43所提取的身材特征部位的數據與標準身材特征部位的數據,對比單元44將兩者進行對比。其中,標準身材特征部位的數據是預先設置或訓練得到的。
可選地,在本實施例的一個具體實現過程中,提取單元43所提取的身材特征部位的數據可以是一個,也可以是多個。當提取單元43所提取的身材特征部位的數據是一個時,對比單元44則將所提取的該一個特征部位的數據與標準身材對應特征部位的數據進行對比。當提取單元43所提取的身材特征部位的數據是多個時,對比單元44則分別將所提取的不同特征部位的數據與標準身材對應特征部位的數據進行對比。
可選地,在本實施例的一個具體實現過程中,對比單元44可以根據不同的特征部位設置相同的對比規(guī)則,例如,對比規(guī)則可以統(tǒng)一設置為將所提取特征部位的數據與標準身材特征數據求差值、求比例等。對比單元44也可以根據不同的特征部位設置不同的對比規(guī)則,例如特征部位是肚子區(qū)域時,對比規(guī)則是對所提取肚子區(qū)域寬度與標準身材肚子區(qū)域寬度求差值;若特征部位是大腿區(qū)域,對比規(guī)則是對所提取大腿區(qū)域的寬度與標準身材大腿區(qū)域的寬度求比例。
推薦單元45,用于根據對比結果,推薦塑身方案。
根據對比單元44所得到提取身材特征部位的數據與標準數據的對比結果,推薦單元45向用戶推薦塑身方案。
其中,推薦單元45中塑身方案是預先制定的??蛇x地,該塑身方案可以為專業(yè)人士制定,也可以為根據在網絡上的搜索結果制定。
可選地,在本實施例的一個具體實現過程中,推薦單元45可以根據對比結果,確定圖像中人體的肥胖程度,例如圖像中的人體是正常、肥胖或者重度肥胖等。推薦單元45也可以根據對比結果,確定與對應的標準身材的特征部位差距超出預設閾值的特征部位,例如偏粗的大腿、偏瘦的手臂等。
其中,推薦單元45在根據對比結果確定圖像中人體的肥胖程度時,根據對比單元44所得到的特征部位數據超出標準身材的特征部位數據的范圍,確定圖像中人體的肥胖程度。例如,若對比結果超過標準標準數據的-5%~5%時,認為身材正常;若對比結果超過標準數據的5%~15%時,認為身材輕度肥胖;若對比結果超過標準數據的15%~30%時,認為身材肥胖;若對比結果超過標準數據的30%以上時,認為身材重度肥胖。
舉例來說,若所提取身材的特征部位是肚子,將分割數據進行標準化處理后所提取肚子的寬度為30個像素,而位于相同高度的標準肚子寬度為25個像素,則對比單元44所得到的對比結果為:所提取肚子的寬度與標注寬度的差值為5個像素,推薦單元45查看5個像素與標準寬度25個像素的關系,該差值5個像素是標準寬度25個像素的20%,即肚子寬度超過標準肚子寬度的20%,按照上述確定身材肥胖程度的規(guī)則,認為該身材是肥胖。
推薦單元45根據對比單元44所確定的身材肥胖程度,向用戶推薦合適的塑身方案。例如,若身材肥胖程度為肥胖,則向用戶推薦的塑身方案可以為:以有氧運動為主,一周訓練3~5次,每次運動時間不少于20分鐘;控制熱量攝入,盡量以清淡素食和蛋白質為宜;若身材肥胖程度為正常,則向用戶推薦的塑身方案可以為:保持一周不少于2~3次的運動,注意節(jié)食,少吃垃圾食品。
而推薦單元45根據對比結果,確定與對應的標準身材的特征部位差距超出預設閾值的特征部位后,針對所確定出的特征部位,向用戶推薦適于該部位的塑身方案。例如,若所提取的特征部位是大腿,對比單元44將所獲取大腿的寬度與標準身材大腿寬度求比例,若所求得的寬度比例超過設定閾值,則認為用戶的大腿較粗,推薦單元45向用戶推薦瘦腿的塑身方案可以為:進行慢跑或游泳,一周訓練3~4次,多食用富含蛋白質或維生素e的食物。
圖5示出了適于用來實現本發(fā)明實施方式的示例性計算機系統(tǒng)/服務器012的框圖。圖5顯示的計算機系統(tǒng)/服務器012僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。
如圖5所示,計算機系統(tǒng)/服務器012以通用計算設備的形式表現。計算機系統(tǒng)/服務器012的組件可以包括但不限于:一個或者多個處理器或者處理單元016,系統(tǒng)存儲器028,連接不同系統(tǒng)組件(包括系統(tǒng)存儲器028和處理單元016)的總線018。
總線018表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉例來說,這些體系結構包括但不限于工業(yè)標準體系結構(isa)總線,微通道體系結構(mac)總線,增強型isa總線、視頻電子標準協(xié)會(vesa)局域總線以及外圍組件互連(pci)總線。
計算機系統(tǒng)/服務器012典型地包括多種計算機系統(tǒng)可讀介質。這些介質可以是任何能夠被計算機系統(tǒng)/服務器012訪問的可用介質,包括易失性和非易失性介質,可移動的和不可移動的介質。
系統(tǒng)存儲器028可以包括易失性存儲器形式的計算機系統(tǒng)可讀介質,例如隨機存取存儲器(ram)030和/或高速緩存存儲器032。計算機系統(tǒng)/服務器012可以進一步包括其它可移動/不可移動的、易失性/非易失性計算機系統(tǒng)存儲介質。僅作為舉例,存儲系統(tǒng)034可以用于讀寫不可移動的、非易失性磁介質(圖5未顯示,通常稱為“硬盤驅動器”)。盡管圖5中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅動器,以及對可移動非易失性光盤(例如cd-rom,dvd-rom或者其它光介質)讀寫的光盤驅動器。在這些情況下,每個驅動器可以通過一個或者多個數據介質接口與總線018相連。存儲器028可以包括至少一個程序產品,該程序產品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。
具有一組(至少一個)程序模塊042的程序/實用工具040,可以存儲在例如存儲器028中,這樣的程序模塊042包括——但不限于——操作系統(tǒng)、一個或者多個應用程序、其它程序模塊以及程序數據,這些示例中的每一個或某種組合中可能包括網絡環(huán)境的實現。程序模塊042通常執(zhí)行本發(fā)明所描述的實施例中的功能和/或方法。
計算機系統(tǒng)/服務器012也可以與一個或多個外部設備014(例如鍵盤、指向設備、顯示器024等)通信,在本發(fā)明中,計算機系統(tǒng)/服務器012與外部雷達設備進行通信,還可與一個或者多個使得用戶能與該計算機系統(tǒng)/服務器012交互的設備通信,和/或與使得該計算機系統(tǒng)/服務器012能與一個或多個其它計算設備進行通信的任何設備(例如網卡,調制解調器等等)通信。這種通信可以通過輸入/輸出(i/o)接口022進行。并且,計算機系統(tǒng)/服務器012還可以通過網絡適配器020與一個或者多個網絡(例如局域網(lan),廣域網(wan)和/或公共網絡,例如因特網)通信。如圖所示,網絡適配器020通過總線018與計算機系統(tǒng)/服務器012的其它模塊通信。應當明白,盡管圖中未示出,可以結合計算機系統(tǒng)/服務器012使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅動器、冗余處理單元、外部磁盤驅動陣列、raid系統(tǒng)、磁帶驅動器以及數據備份存儲系統(tǒng)等。
處理單元016通過運行存儲在系統(tǒng)存儲器028中的程序,從而執(zhí)行各種功能應用以及數據處理,例如實現一種推薦塑身方案的方法,可以包括:
獲取包含人體的圖像;
將所述包含人體的圖像進行分割,得到各身體部分的分割數據;
從所述分割數據中提取人體特征部位的數據;
將所述特征部位的數據與對應的標準身材的特征部位的數據進行對比;
根據對比結果,推薦塑身方案。
上述的計算機程序可以設置于計算機存儲介質中,即該計算機存儲介質被編碼有計算機程序,該程序在被一個或多個計算機執(zhí)行時,使得一個或多個計算機執(zhí)行本發(fā)明上述實施例中所示的方法流程和/或裝置操作。例如,被上述一個或多個處理器執(zhí)行的方法流程,可以包括:
獲取包含人體的圖像;
將所述包含人體的圖像進行分割,得到各身體部分的分割數據;
從所述分割數據中提取人體特征部位的數據;
將所述特征部位的數據與對應的標準身材的特征部位的數據進行對比;
根據對比結果,推薦塑身方案。
隨著時間、技術的發(fā)展,介質含義越來越廣泛,計算機程序的傳播途徑不再受限于有形介質,還可以直接從網絡下載等??梢圆捎靡粋€或多個計算機可讀的介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。
計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。
計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括——但不限于——無線、電線、光纜、rf等等,或者上述的任意合適的組合。
可以以一種或多種程序設計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言—諸如java、smalltalk、c++,還包括常規(guī)的過程式程序設計語言—諸如“c”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡——包括局域網(lan)或廣域網(wan)連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
利用本發(fā)明提供的技術方案,通過將所獲取圖像中人體的實際身材與標準身材進行對比,實現根據對比結果自動獲取適合用戶的塑身方案,從而減少用戶塑身的盲目,提升用戶的塑身效率。
在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用硬件加軟件功能單元的形式實現。
上述以軟件功能單元的形式實現的集成的單元,可以存儲在一個計算機可讀取存儲介質中。上述軟件功能單元存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(read-onlymemory,rom)、隨機存取存儲器(randomaccessmemory,ram)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。