推荐塑身方案的方法、装置、设备和计算机存储介质与流程

文档序号:11251180
推荐塑身方案的方法、装置、设备和计算机存储介质与流程

本发明涉及图像识别技术领域,尤其涉及一种推荐塑身方案的方法、装置、设备和计算机存储介质。



背景技术:

随着时代的进步和社会的发展,人们开始逐渐重视起自己的身材,因此如何获取适合自己身材的塑身方案成为人们关注的焦点。目前,人们在搜寻塑身方案时通常有两种方式:在互联网上进行搜索或者向专业人士进行咨询。因此现有技术在向用户推荐塑身方案时,存在以下几个问题:(1)通过互联网搜索塑身方案具有盲目性,用户通过该方式只能够根据他人的描述或经验进行选择,不能够根据自身身材的实际情况获取合适的塑身方案;(2)向专业人士咨询塑身方案时所需成本较大。



技术实现要素:

有鉴于此,本发明提供了一种推荐塑身方案的方法、装置、设备和计算机存储介质,用于实现自动获取适合用户实际身材的塑身方案,减少用户塑身的盲目,提升用户塑身的效率。

本发明为解决技术问题而采用的技术方案是提供一种推荐塑身方案的方法,其中所述方法包括:获取包含人体的图像;将所述包含人体的图像进行分割,得到各身体部分的分割数据;从所述分割数据中提取人体特征部位的数据;将所述特征部位的数据与对应的标准身材的特征部位的数据进行对比;根据对比结果,推荐塑身方案。

根据本发明一优选实施例,所述各身体部分包括头部、躯干、小臂、大臂、小腿以及大腿中的至少一种。

根据本发明一优选实施例,所述将所述包含人体的图像进行分割,获取各身体部分的分割数据包括:识别所述图像中人体的身材轮廓;对所述人体的身材轮廓进行分割,获取身材轮廓中各身体部分的分割数据。

根据本发明一优选实施例,所述将所述包含人体的图像进行分割,得到各身体部分的分割数据还包括:根据预先训练得到的标准身材中各身体部分的分割数据,对所述图像进行分割,获取各身体部分的分割数据。

根据本发明一优选实施例,所述各身体部分的分割数据包括:属于各身体部分的像素位置信息以及指示各像素所属身体部分的颜色信息。

根据本发明一优选实施例,所述各身体部分的分割数据由二维数组表示;其中,各像素在身体部分中的位置映射至二维数组中的对应位置,指示各像素所属身体部分的颜色信息映射至二维数组中对应位置的数值。

根据本发明一优选实施例,所述从所述分割数据中提取人体特征部位的数据包括:根据特征部位所属的身体部分,以及预设的人体特征部位与身材之间的相对位置,从所述分割数据中提取该特征部位的数据。

根据本发明一优选实施例,所述人体特征部位包括肚子、大腿、脸部、手臂、臀部等中的至少一种。

根据本发明一优选实施例,所述根据对比结果,推荐塑身方案包括:根据所述对比结果,确定图像中人体的肥胖程度;根据所述肥胖程度,确定对应该肥胖程度的塑身方案。

根据本发明一优选实施例,所述根据所述对比结果,确定图像中人体的肥胖程度包括:根据所述对比结果,确定所提取的特征部位数据超出标准身材的特征部位数据的范围;根据所述超出范围,确定图像中人体的肥胖程度。

根据本发明一优选实施例,所述根据对比结果,推荐塑身方案还包括:根据所述对比结果,确定与对应的标准身材的特征部位差距超出预设阈值的特征部位;针对确定出的特征部位,推荐塑身方案

本发明为解决技术问题而提供了一种推荐塑身方案的装置,所述装置包括:获取单元,用于获取包含人体的图像;分割单元,用于将所述包含人体的图像进行分割,得到各身体部分的分割数据;提取单元,用于从所述分割数据中提取人体特征部位的数据;对比单元,用于将所述特征部位的数据与对应的标准身材的特征部位的数据进行对比;推荐单元,用于根据对比结果,推荐塑身方案。

根据本发明一优选实施例,所述各身体部分包括头部、躯干、小臂、大臂、小腿以及大腿中的至少一种。

根据本发明一优选实施例,所述分割单元在用于将所述包含人体的图像进行分割,获取各身体部分的分割数据时,具体执行:识别所述图像中人体的身材轮廓;对所述人体的身材轮廓进行分割,获取身材轮廓中各身体部分的分割数据。

根据本发明一优选实施例,所述分割单元在用于将所述包含人体的图像进行分割,获取各身体部分的分割数据时,还执行:根据预先训练得到的标准身材中各身体部分的分割数据,对所述图像进行分割,获取各身体部分的分割数据。

根据本发明一优选实施例,所述各身体部分的分割数据包括:属于各身体部分的像素位置信息以及指示各像素所属身体部分的颜色信息。

根据本发明一优选实施例,所述各身体部分的分割数据由二维数组表示;其中,各像素在身体部分中的位置映射至二维数组中的对应位置,指示各像素所属身体部分的颜色信息映射至二维数组中对应位置的数值。

根据本发明一优选实施例,所述提取单元在用于从所述分割数据中提取人体特征部位的数据时,具体执行:根据特征部位所属的身体部分,以及预设的人体特征部位与身材之间的相对位置,从所述分割数据中提取该特征部位的数据。

根据本发明一优选实施例,所述人体特征部位包括肚子、大腿、脸部、手臂、臀部等中的至少一种。

根据本发明一优选实施例,所述推荐单元在用于根据对比结果,推荐塑身方案时,具体执行:根据所述对比结果,确定图像中人体的肥胖程度;根据所述肥胖程度,确定对应该肥胖程度的塑身方案。

根据本发明一优选实施例,所述推荐单元在用于根据所述对比结果,确定图像中人体的肥胖程度时,具体执行:根据所述对比结果,确定所提取的特征部位数据超出标准身材的特征部位数据的范围;根据所述超出范围,确定图像中人体的肥胖程度。

根据本发明一优选实施例,所述推荐单元用于根据对比结果,推荐塑身方案时,还执行:根据所述对比结果,确定与对应的标准身材的特征部位差距超出预设阈值的特征部位;针对确定出的特征部位,推荐塑身方案。

由以上技术方案可以看出,本发明通过将获取图像中人体的实际身材与标准身材进行对比,实现根据对比结果自动获取适合用户的塑身方案,从而减少用户塑身的盲目,提升用户的塑身效率。

【附图说明】

图1为本发明一实施例提供的方法流程图。

图2为本发明一实施例提供的分割数据示意图。

图3为本发明一实施例提供的塑身方案推荐示意图。

图4为本发明一实施例提供的装置结构图。

图5为本发明一实施例提供的计算机系统/服务器的框图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

由于每个人的身材不相同,所对应的塑身方案也会因人而异,因此如何根据用户的实际身材确定合适的塑身方案是向用户推荐塑身方案的关键因素。因此,本发明提供一种推荐塑身方案的方法、装置、设备和计算机存储介质,通过将用户的实际身材与标准身材进行比对,实现根据对比结果自动获取适合用户的塑身方案,从而减少用户塑身的盲目,提升用户的塑身效率。

图1为本发明一实施例提供的方法流程图,如图1中所示,所述方法包括:

在101中,获取包含人体的图像。

本步骤执行的主体可以为位于本地终端的应用,或者还可以为位于本地终端应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为其他位于网络侧服务器中的装置,本实施例对此不进行特别限定。

可选地,在本实施例的一个具体实现过程中,可以通过实时拍摄或扫描的方式获取包含人体的图像,也可以使用已拍摄或已扫描的照片作为用户拍摄或扫描的包含人体的图像。

在102中,将所述包含人体的图像进行分割,获取各身体部分的分割数据。

在本步骤中,将包含人体的图像进行分割,获得人体的各身体部分,进而根据所获得的各身体部分,获取各身体部分的分割数据。其中,人体的各身体部分包括头部、躯干、小臂、大臂、小腿以及大腿中的至少一种。

可选地,在本实施例的一个具体实现过程中,在将包含人体的图像进行分割,获取各身体部分的分割数据时,可以采用但不限于以下两种方式:

第一种方式:首先识别图像中人体身材的轮廓,然后对识别所得到的身材轮廓进行分割,进而获取身材轮廓中各身体部分的分割数据。

其中对人体身材的轮廓的识别可以采用现有技术中诸如边缘提取等方式。然后基于得到的身材轮廓,可以进一步结合边缘梯度、各身体部分的比例等等,获取身材轮廓中各身体部分的分割数据。

第二种方式:根据预先训练得到的标准身材中各身体部分的分割数据,对图像中的人体进行分割,获取各身体部分的分割数据。

这种方式可以采用机器学习的方式,具体地,可以首先利用大量人体身材的训练样本,预先标出训练样本中各身体部分的分割数据,然后利用训练样本训练分割模型。在对图像中的人体进行分割时,可以将图像输入该分割模型,就可以得到该图像中人体的各身体部分的分割数据。

基于机器学习的已有算法,例如Parsing技术等均可以实现对包含人体的图像进行分割,该算法可以基于像素对图像特征进行标准,并实现精准分割。

在对图像进行分割获得人体的各身体部分后,可以进一步使用不同的颜色表示所获取的各身体部分,然后获取各身体部分的分割数据。因此在本步骤中,各身体部分的分割数据包括:图像中属于各身体部分像素的位置信息以及指示各像素所属身体部分的颜色信息。而各身体部分的分割数据由二维数组表示,其中,各像素在身体部分中的位置映射至二维数组中的对应位置,指示各像素所属身体部分的颜色信息映射至二维数组中对应位置的数值。

优选地,在本步骤中对所获取的各身体部分进行掩膜(mask)处理,从而获取各身体部分的分割数据。其中,通过对分割图像进行掩膜(mask)处理,得到分割图像中的感兴趣区域(即各身体部分),而各身体部分外的区域为非感兴趣区域。因此,在对各身体部分进行掩膜(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中,从所述分割数据中提取人体特征部位的数据。

在本步骤中,根据特征部位所属的身体部分,以及预设的人体特征部位与身材之间的相对位置,从分割数据中提取该特征部位的数据。其中,身材的特征部位可以包括诸如肚子、脸部、大腿、手臂、臀部等中的至少一种;对应的身材特征部位的数据可以包括肚子宽度、脸部下巴宽度、大腿宽度、手臂宽度、臀部大小等中的至少一种。

由于所获取图像中的人体会因为各种原因存在差异,例如拍摄远近、拍摄质量等,因此在本步骤中,需要首先将分割数据进行标准化处理。可以为将分割数据根据标准数据的高度进行放大,从而使得分割数据与标准数据所对应的人体高度对齐;也可以为根据分割数据与标准数据的相对比例,确定提取特征部位数据的预设距离。然后根据特征部位所属的身体部分以及预设的人体特征部位与身材之间的相对位置,从分割数据中提取特征部位的数据。具体地,通过预设的人体特征部位与身材之间的相对位置,以预设距离确定特征部位所处身体部分的区域,然后从所确定的区域中提取特征部位的数据。

举例来说,例如特征部位是肚子,预设的肚子部位与身材之间的相对位置可以为肚子位于人体身高一半处的位置,则在将分割数据拉平后确定分割数据一半处的位置为肚子所在的位置,然后确定该位置上、下50像素距离内的数组作为肚子区域。再例如特征部位是大腿,预设的大腿部位与身材之间的相对位置可以为大腿位于人体身高三分之二(从头到脚)处的位置,则在将分割数据拉平后确定分割数据三分之二处为大腿所在的位置,然后确定该位置以下60像素距离内的数组作为大腿区域。也可以为不进行对分割数据的拉平,根据分割数据与标准数据的相对比例,确定提取特征部位数据的预设距离。以特征部位为肚子为例,若得到的分割数据与标准数据的相对比例为1:2,则在确定肚子所在位置后,确定该位置上、下25像素看距离内的数组作为肚子区域。

在确定特征部位所属身体部分的区域后,从位于特征部位区域中提取该特征部位的数据。所提取的身材特征部位的数据可以包括肚子宽度、脸部下巴宽度、大腿宽度、手臂宽度、臀部大小等中的至少一种。具体地,在确定的特征部位所属身体部分的区域中,找出最宽数组和/或最窄数组,将最宽数组和/或最窄数组的宽度作为该特征部位的数据。

举例来说,若特征部位是肚子,则将肚子区域中最宽数组的宽度作为特征部位肚子的数据;若特征部位是大腿,则将大腿区域中最宽数组以及最窄数组的宽度作为特征部位大腿的数据。

在104中,将所述特征部位的数据与对应的标准身材的特征部位的数据进行对比。

在本步骤中,基于所提取的身材特征部位的数据与标准身材特征部位的数据,将两者进行对比。其中,标准身材特征部位的数据是预先设置或训练得到的。

可选地,在本实施例的一个具体实现过程中,所提取的身材特征部位的数据可以是一个,也可以是多个。当所提取的身材特征部位的数据是一个时,则将所提取的该一个特征部位的数据与标准身材对应特征部位的数据进行对比。当所提取的身材特征部位的数据是多个时,则分别将所提取的不同特征部位的数据与标准身材对应特征部位的数据进行对比。

可选地,在本实施例的一个具体实现过程中,可以为根据不同的特征部位设置相同的对比规则,例如,对比规则可以统一设置为将所提取特征部位的数据与标准身材特征数据求差值、求比例等。也可以为根据不同的特征部位设置不同的对比规则,例如特征部位是肚子区域时,对比规则是对所提取肚子区域宽度与标准身材肚子区域宽度求差值;若特征部位是大腿区域,对比规则是对所提取大腿区域的宽度与标准身材大腿区域的宽度求比例。

在105中,根据对比结果,推荐塑身方案。

在本步骤中,根据所提取身材特征部位的数据与标准数据的对比结果,向用户推荐塑身方案。

其中,塑身方案是预先制定的。可选地,该塑身方案可以为专业人士制定,也可以为根据在网络上的搜索结果制定。

可选地,在本实施例的一个具体实现过程中,可以为根据对比结果,确定图像中人体的肥胖程度,例如图像中的人体是正常、肥胖或者重度肥胖等。也可以为根据对比结果,确定与对应的标准身材的特征部位差距超出预设阈值的特征部位,例如偏粗的大腿、偏瘦的手臂等。

其中,在根据对比结果确定图像中人体的肥胖程度时,根据所提取的特征部位数据超出标准身材的特征部位数据的范围,确定图像中人体的肥胖程度。例如,若对比结果超过标准标准数据的-5%~5%时,认为身材正常;若对比结果超过标准数据的5%~15%时,认为身材轻度肥胖;若对比结果超过标准数据的15%~30%时,认为身材肥胖;若对比结果超过标准数据的30%以上时,认为身材重度肥胖。

举例来说,若所提取身材的特征部位是肚子,将分割数据进行标准化处理后所提取肚子的宽度为30个像素,而位于相同高度的标准肚子宽度为25个像素,则所提取肚子的宽度与标注宽度的差值为5个像素,查看5个像素与标准宽度25个像素的关系,该差值5个像素是标准宽度25个像素的20%,即肚子宽度超过标准肚子宽度的20%,按照上述确定身材肥胖程度的规则,认为该身材是肥胖。

根据所确定的身材肥胖程度,向用户推荐合适的塑身方案。例如,若身材肥胖程度为肥胖,则向用户推荐的塑身方案可以为:以有氧运动为主,一周训练3~5次,每次运动时间不少于20分钟;控制热量摄入,尽量以清淡素食和蛋白质为宜;若身材肥胖程度为正常,则向用户推荐的塑身方案可以为:保持一周不少于2~3次的运动,注意节食,少吃垃圾食品。

举例来说,如图3所示,左图为所获取的用户身材图像,右图为根据该用户身材的图像获取的塑身方案,从图3中右图可以看出,该身材超过标准身材0.25,认为身材肥胖,则向用户推荐肥胖身材所对应的塑身方案。

而根据对比结果,确定与对应的标准身材的特征部位差距超出预设阈值的特征部位后,针对所确定出的特征部位,向用户推荐适于该部位的塑身方案。例如,若所提取的特征部位是大腿,将所获取大腿的宽度与标准身材大腿宽度求比例,若所求得的宽度比例超过设定阈值,则认为用户的大腿较粗,向用户推荐瘦腿的塑身方案可以为:进行慢跑或游泳,一周训练3~4次,多食用富含蛋白质或维生素E的食物。

上述方法的执行主体可以是位于终端设备的装置,例如终端设备获取包括人体的图像后,完成上述方法实施例中的处理从而得到塑身方案以推荐给用户。上述方法的执行主体也可以是位于服务器端的装置,例如服务器端获取终端设备发送的包括人体的图像后,执行上述方法实施例中的处理从而得到塑身方案,并将塑身方案发送给终端设备,由终端设备展现给用户。

下面对本发明实施例提供的装置结构图进行详述。如图4所述,所述装置包括:获取单元41、分割单元42、提取单元43、比较单元44以及推荐单元45。

获取单元41,用于获取包含人体的图像。

获取单元41执行的主体可以为位于本地终端的应用,或者还可以为位于本地终端应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为其他位于网络侧服务器中的装置,本实施例对此不进行特别限定。

可选地,在本实施例的一个具体实现过程中,获取单元41可以通过实时拍摄或扫描的方式获取包含人体的图像,获取单元41也可以使用已拍或已扫描的照片作为用户拍摄或扫描的包含人体的图像。

分割单元42,用于将所述包含人体的图像进行分割,获取各身体部分的分割数据。

分割单元42将包含人体的图像使用图像分割技术进行分割,获得人体的各身体部分,进而根据所获得的各身体部分,获取各身体部分的分割数据。其中,人体的各身体部分包括头部、躯干、小臂、大臂、小腿以及大腿中的至少一种。

可选地,在本实施例的一个具体实现过程中,分割单元42在将包含人体的图像进行分割,获取各身体部分的分割数据时,可以采用但不限于以下两种方式:

第一种方式:分割单元42首先识别图像中人体身材的轮廓,然后对识别所得到的身材轮廓进行分割,进而获取身材轮廓中各身体部分的分割数据。

其中对人体身材的轮廓的识别可以采用现有技术中诸如边缘提取等方式。然后基于得到的身材轮廓,可以进一步结合边缘梯度、各身体部分的比例等等,获取身材轮廓中各身体部分的分割数据。

第二种方式:分割单元42根据预先训练得到的标准身材中各身体部分的分割数据,对图像中的人体进行分割,获取各身体部分的分割数据。

这种方式可以采用机器学习的方式,具体地,可以首先利用大量人体身材的训练样本,预先标出训练样本中各身体部分的分割数据,然后分割单元42利用训练样本训练分割模型。在对图像中的人体进行分割时,可以将图像输入该分割模型,就可以得到该图像中人体的各身体部分的分割数据。

基于机器学习的已有算法,例如Parsing技术等均可以实现对包含人体的图像进行分割,该算法可以基于像素对图像特征进行标准,并实现精准分割。

分割单元42在对图像进行分割获得人体的各身体部分后,可以进一步使用不同的颜色表示所获取的各身体部分,然后获取各身体部分的分割数据。因此在分割单元42所获取的各身体部分的分割数据包括:图像中属于各身体部分像素的位置信息以及指示各像素所属身体部分的颜色信息。而各身体部分的分割数据由二维数组表示,其中,各像素在身体部分中的位置映射至二维数组中的对应位置,指示各像素所属身体部分的颜色信息映射至二维数组中对应位置的数值。

优选地,分割单元42对所获取的各身体部分进行掩膜(mask)处理,从而获取各身体部分的分割数据。其中,掩膜(mask)即为二维矩阵数组,通过对分割图像进行掩膜(mask)处理,得到分割图像中的感兴趣区域(即各身体部分),而各身体部分外的区域为非感兴趣区域。因此,在对各身体部分进行掩膜(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通过预设的人体特征部位与身材之间的相对位置,以预设距离确定特征部位所处身体部分的区域,然后从所确定的区域中提取特征部位的数据。

举例来说,例如特征部位是肚子,预设的肚子部位与身材之间的相对位置可以为肚子位于人体身高一半处的位置,则在将分割数据拉平后确定分割数据一半处的位置为肚子所在的位置,然后确定该位置上、下50像素距离内的数组作为肚子区域。再例如特征部位是大腿,预设的大腿部位与身材之间的相对位置可以为大腿位于人体身高三分之二(从头到脚)处的位置,则在将分割数据拉平后确定分割数据三分之二处为大腿所在的位置,然后确定该位置以下60像素距离内的数组作为大腿区域。也可以为不进行对分割数据的拉平,根据分割数据与标准数据的相对比例,确定提取特征部位数据的预设距离。以特征部位为肚子为例,若得到的分割数据与标准数据的相对比例为1:2,则在确定肚子所在位置后,确定该位置上、下25像素看距离内的数组作为肚子区域。

提取单元43在确定特征部位所属身体部分的区域后,从位于特征部位区域中提取该特征部位的数据。所提取的身材特征部位的数据可以包括肚子宽度、脸部下巴宽度、大腿宽度、手臂宽度、臀部大小等中的至少一种。具体地,在确定的特征部位所属身体部分的区域中,找出最宽数组和/或最窄数组,将最宽数组和/或最窄数组的宽度作为该特征部位的数据。

举例来说,若特征部位是肚子,则将肚子区域中最宽数组的宽度作为特征部位肚子的数据;若特征部位是大腿,则将大腿区域中最宽数组以及最窄数组的宽度作为特征部位大腿的数据。

对比单元44,用于将所述特征部位的数据与对应的标准身材的特征部位的数据进行对比。

基于提取单元43所提取的身材特征部位的数据与标准身材特征部位的数据,对比单元44将两者进行对比。其中,标准身材特征部位的数据是预先设置或训练得到的。

可选地,在本实施例的一个具体实现过程中,提取单元43所提取的身材特征部位的数据可以是一个,也可以是多个。当提取单元43所提取的身材特征部位的数据是一个时,对比单元44则将所提取的该一个特征部位的数据与标准身材对应特征部位的数据进行对比。当提取单元43所提取的身材特征部位的数据是多个时,对比单元44则分别将所提取的不同特征部位的数据与标准身材对应特征部位的数据进行对比。

可选地,在本实施例的一个具体实现过程中,对比单元44可以根据不同的特征部位设置相同的对比规则,例如,对比规则可以统一设置为将所提取特征部位的数据与标准身材特征数据求差值、求比例等。对比单元44也可以根据不同的特征部位设置不同的对比规则,例如特征部位是肚子区域时,对比规则是对所提取肚子区域宽度与标准身材肚子区域宽度求差值;若特征部位是大腿区域,对比规则是对所提取大腿区域的宽度与标准身材大腿区域的宽度求比例。

推荐单元45,用于根据对比结果,推荐塑身方案。

根据对比单元44所得到提取身材特征部位的数据与标准数据的对比结果,推荐单元45向用户推荐塑身方案。

其中,推荐单元45中塑身方案是预先制定的。可选地,该塑身方案可以为专业人士制定,也可以为根据在网络上的搜索结果制定。

可选地,在本实施例的一个具体实现过程中,推荐单元45可以根据对比结果,确定图像中人体的肥胖程度,例如图像中的人体是正常、肥胖或者重度肥胖等。推荐单元45也可以根据对比结果,确定与对应的标准身材的特征部位差距超出预设阈值的特征部位,例如偏粗的大腿、偏瘦的手臂等。

其中,推荐单元45在根据对比结果确定图像中人体的肥胖程度时,根据对比单元44所得到的特征部位数据超出标准身材的特征部位数据的范围,确定图像中人体的肥胖程度。例如,若对比结果超过标准标准数据的-5%~5%时,认为身材正常;若对比结果超过标准数据的5%~15%时,认为身材轻度肥胖;若对比结果超过标准数据的15%~30%时,认为身材肥胖;若对比结果超过标准数据的30%以上时,认为身材重度肥胖。

举例来说,若所提取身材的特征部位是肚子,将分割数据进行标准化处理后所提取肚子的宽度为30个像素,而位于相同高度的标准肚子宽度为25个像素,则对比单元44所得到的对比结果为:所提取肚子的宽度与标注宽度的差值为5个像素,推荐单元45查看5个像素与标准宽度25个像素的关系,该差值5个像素是标准宽度25个像素的20%,即肚子宽度超过标准肚子宽度的20%,按照上述确定身材肥胖程度的规则,认为该身材是肥胖。

推荐单元45根据对比单元44所确定的身材肥胖程度,向用户推荐合适的塑身方案。例如,若身材肥胖程度为肥胖,则向用户推荐的塑身方案可以为:以有氧运动为主,一周训练3~5次,每次运动时间不少于20分钟;控制热量摄入,尽量以清淡素食和蛋白质为宜;若身材肥胖程度为正常,则向用户推荐的塑身方案可以为:保持一周不少于2~3次的运动,注意节食,少吃垃圾食品。

而推荐单元45根据对比结果,确定与对应的标准身材的特征部位差距超出预设阈值的特征部位后,针对所确定出的特征部位,向用户推荐适于该部位的塑身方案。例如,若所提取的特征部位是大腿,对比单元44将所获取大腿的宽度与标准身材大腿宽度求比例,若所求得的宽度比例超过设定阈值,则认为用户的大腿较粗,推荐单元45向用户推荐瘦腿的塑身方案可以为:进行慢跑或游泳,一周训练3~4次,多食用富含蛋白质或维生素E的食物。

图5示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。图5显示的计算机系统/服务器012仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。

总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器012交互的设备通信,和/或与使得该计算机系统/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器020通过总线018与计算机系统/服务器012的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元016通过运行存储在系统存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现一种推荐塑身方案的方法,可以包括:

获取包含人体的图像;

将所述包含人体的图像进行分割,得到各身体部分的分割数据;

从所述分割数据中提取人体特征部位的数据;

将所述特征部位的数据与对应的标准身材的特征部位的数据进行对比;

根据对比结果,推荐塑身方案。

上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行的方法流程,可以包括:

获取包含人体的图像;

将所述包含人体的图像进行分割,得到各身体部分的分割数据;

从所述分割数据中提取人体特征部位的数据;

将所述特征部位的数据与对应的标准身材的特征部位的数据进行对比;

根据对比结果,推荐塑身方案。

随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

利用本发明提供的技术方案,通过将所获取图像中人体的实际身材与标准身材进行对比,实现根据对比结果自动获取适合用户的塑身方案,从而减少用户塑身的盲目,提升用户的塑身效率。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1