本发明属于互联网领域,更具体地,涉及一种人体数据分类方法。
背景技术:
现代人有很多不健康的生活方式,导致身体肥胖或者过虚;很多人希望实时了解自己的身体状况并获得改善身体状况的建议和帮助。这些都建立在对人体数据的精准分类的基础上。
然而人体精确测量是复杂且繁琐的工作,普通人无法迅速准确的获得身体数据而检测自己的身体状况。
技术实现要素:
针对现有技术的以上缺陷或改进需求,本发明提供了一种人体数据分类方法,其目的在于根据用户能方便获得的身体图像数据,精准判断人体健康指标,从而将人体数据进行分类,方便用户自我监测身体状况,由此解决现有的人体健康数据获取繁琐,不方便实时监控的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种人体数据分类方法,包括以下步骤:
(1)获取待分类男性或女性用户带有垂直标尺的单手侧平举周身图像数据;
(2)利用轮廓曲线检测算法,检测步骤(1)中获取的周身图像数据中的人体轮廓曲线;
(3)根据步骤(2)中获得的人体轮廓曲线,检测纵基准线和横基准线;
(4)根据步骤(2)中获得的人体轮廓曲线及步骤(3)中获得的横纵根据标尺获取人体立体模型参数;
(5)根据步骤(4)中获得的人体模型参数,获取该用户的健康指标数据;
(6)根据步骤(5)中获得的健康指标数据以及预先收集的男性或女性健康指标正常数据库判断各项数据是否正常;
(7)根据步骤(6)中获得的判断结果,对所述用户进行分类。
优选地,所述人体数据分类方法,其步骤(1)所述周身图像数据,至少包括用户正视图图像数据、左侧视图图像数据、右侧视图图像数据以及逆视图图像数据。
优选地,所述人体数据分类方法,其步骤(3)所述纵基准线,仅体现在正视图和逆视图中,包括:
中心线:为人体中轴线,可通过边缘曲线上的点线性拟合获得;
举手线:为通过人体轮廓曲线上离中轴线最远的点的垂直线;中心线与举手线之间的人体轮廓曲线成为举手侧轮廓曲线,另一侧轮廓曲线称为垂手侧轮廓曲线。
优选地,所述人体数据分类方法,其步骤(3)所述横基准线,同时体现在周身图像数据中,包括:
头顶线:为与轮廓曲线边界相切的水平线,各视图中,根据头顶线对齐;
肩上缘线:为垂手线关于中心线的对称线与举手线之间的轮廓曲线的上边界相切的水平线,取正视图和逆视图的中间值;
胸围线:为垂手线关于中心线的对称线与举手线之间的轮廓曲线的下边界相切的水平线,取正视图和逆视图的中间值;
腰围线:为胸围线以下8cm的水平线;
臀围线:为通过腰围线以下向后突出轮廓曲线最外侧点的水平线,取左侧视图和右侧视图的中间值;
膝线:为与臀围线以下第一拐点与第二拐点之间距离相等的水平线;取左侧视图和右侧视图的中间值;
脚底线:为人体轮廓曲线下边界相切的水平线:取左侧视图和右侧视图的中间值
脚踝线:为通过脚底线以上第一拐点的水平线;取左侧视图和右侧视图的中间值。
优选地,所述人体数据分类方法,其步骤(4)所述人体模型参数包括:身高、胸侧宽、背宽、正视图腰宽、侧视图腰宽、正视图臀宽、侧视图臀宽、腿长、大腿宽、手臂长、以及手臂宽。
优选地,所述人体数据分类方法,其步骤(4)所述的人体模型参数还包括:头部款、头部长、脖颈长、肩宽、上半身长度、下半身长度、小腿宽。
优选地,所述人体数据分类方法,其所述健康指标包括:胸围、腰围、臀围、臂围、以及腿围。
优选地,所述人体数据分类方法,其步骤(6)具体为:对于胸围,根据预先收集的健康指标数据库获取相应身高的胸围正常范围,超过正常胸围正常范围的用户判断为胸围偏高,低于正常胸围范围的判断为胸围偏低;
对于腰围,根据预先收集的健康指标数据库获取相应身高的腰围正常范围,超过正常腰围正常范围的用户判断为腰围偏高,低于正常腰围范围的判断为腰围偏低;
对于臀围,根据预先收集的健康指标数据库获取相应身高的臀围正常范围,超过正常臀围正常范围的用户判断为臀围偏高,低于正常臀围范围的判断为臀围偏低;
对于臂围,根据预先收集的健康指标数据库获取相应臂长的臂围正常范围,超过正常臂围正常范围的用户判断为臂围偏高,低于正常臂围范围的判断为臂围偏低;
对于腿围,根据预先收集的健康指标数据库获取相应腿长的腿围正常范围,超过正常腿围正常范围的用户判断为腿围偏高,低于正常腿围范围的判断为腿围偏低。
优选地,所述人体数据分类方法,其步骤(6)所述健康指标数据库按照如下方法获取:
对于男性或女性,根据本法发明步骤(1)、(2)、以及(3)相同的步骤,采集不同身高的健康人体数据的胸围、腰围、以及臀围数据,不同臂长的健康人体数据的臂围,以及不同腿长的健康人体数据的腿围;
统计不同身高对应的胸围平均值并将低于平均值10%到高于平均值10%作为胸围正常范围;统计不同身高对应的腰围平均值并将低于平均值10%到高于平均值10%作为腰围正常范围;统计不同身高对应的臀围平均值并将低于平均值10%到高于平均值10%作为臀围正常范围;统计不同臂长对应的臂围平均值并将低于平均值10%到高于平均值10%作为臂围正常范围;统计不同腿长对应的臀围平均值并将低于平均值10%到高于平均值10%作为臀围正常范围;
将上述正常范围组成健康指标数据库。
优选地,所述人体数据分类方法,其所述步骤(7)具体如下:
A、对于仅有一项健康指标偏高的用户,划分为局部肥胖类型;对于仅有一项健康指标偏低的用户,划分为局部消瘦类型;
B、对于胸围、腰围、以及臂围中有至少一项以上偏高且臀围以及腿围中至少有一项偏高的用户,划分为全身肥胖;对于胸围、腰围、以及臂围中有两项或两项以上偏低且臀围以及腿围中至少有一项偏低的用户,划分为全身消瘦;
C、对于超过一项健康指标偏高或偏低且非B类的用户,划分为比例失调。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,由于本发明采用特定的人体数据获取方式,能够取得下列数据方便获取、能实时监控身体状况有益效果。
附图说明
图1为本发明提供的方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种人体数据分类方法,如图1所示,包括以下步骤:
(1)获取待分类男性或女性用户带有垂直标尺的单手侧平举周身图像数据;
所述周身图像数据,至少包括用户正视图图像数据、左侧视图图像数据、右侧视图图像数据以及逆视图图像数据。
(2)利用轮廓曲线检测算法,检测步骤(1)中获取的周身图像数据中的人体轮廓曲线;
所述轮廓检测算法采用Canny算子、sobel算子或roberts算子。
(3)根据步骤(2)中获得的人体轮廓曲线,检测纵基准线和横基准线;
所述纵基准线,仅体现在正视图和逆视图中,包括:
中心线:为人体中轴线,可通过边缘曲线上的点线性拟合获得;
举手线:为通过人体轮廓曲线上离中轴线最远的点的垂直线;中心线与举手线之间的人体轮廓曲线成为举手侧轮廓曲线,另一侧轮廓曲线称为垂手侧轮廓曲线;
垂手线,为通过垂手侧人体轮廓曲线上离中轴线最远的点的垂直线;
所述横基准线,同时体现在周身图像数据中,包括:
头顶线:为与轮廓曲线边界相切的水平线,各视图中,根据头顶线对齐;
肩上缘线:为垂手线关于中心线的对称线与举手线之间的轮廓曲线的上边界相切的水平线,取正视图和逆视图的中间值;
胸围线:为垂手线关于中心线的对称线与举手线之间的轮廓曲线的下边界相切的水平线,取正视图和逆视图的中间值;
腰围线:为胸围线以下8cm的水平线;
臀围线:为通过腰围线以下向后突出轮廓曲线最外侧点的水平线,取左侧视图和右侧视图的中间值;
膝线:为与臀围线以下第一拐点与第二拐点之间距离相等的水平线;取左侧视图和右侧视图的中间值;
脚底线:为人体轮廓曲线下边界相切的水平线:取左侧视图和右侧视图的中间值
脚踝线:为通过脚底线以上第一拐点的水平线;取左侧视图和右侧视图的中间值。
(4)根据步骤(2)中获得的人体轮廓曲线及步骤(3)中获得的横纵根据标尺获取人体立体模型参数;
所述人体立体模型参数至少包括:
身高:其值为头顶线与脚底线之间的距离;
胸侧宽:为左侧视图和右侧视图肩上缘线与腰围线之间的轮廓曲线最宽处的距离;背宽:为逆视图中,胸侧宽位置的轮廓曲线宽度;
正视图腰宽:为正视图和逆视图中腰围线处宽度的平均值;侧视图腰宽:为左侧视图和右侧视图中腰围线处宽度的平均值;
正视图臀宽:为正视图和逆视图中轮廓曲线在臀围线处的宽度的平均值;侧视图臀宽:为左侧视图和有测试图中轮廓曲线在臀围线处的宽度的平均值;
腿长:为左侧视图和有测试图中臀部曲线下缘至脚踝线的距离的平均值;大腿宽:为正视图和逆视图中与左侧视图和右侧视图臀部下缘平均高度相应处的宽度平均值的一半;
手臂长:为举手线到中心线的距离与一半肩宽的差值;手臂宽:为肩上缘线与胸围线之间的距离。
所述人体模型参数优选还包括:
头部宽:为头顶线与肩上缘线之间轮廓曲线最宽处的长度;头部长:为左侧视图和右侧视图中后脑勺凸形曲线下缘至头顶线的距离;
脖颈长:为头顶线到肩上缘线的距离与头部长之差;
肩宽:为正视图和逆视图中中心线与垂手侧轮廓曲线线上肩上缘曲线最远点的距离平均值的两倍;
上半身长度:为腰围线与肩上缘线之间的距离;下半身长度:为腰围线与脚底线之间的距离;
小腿宽:为正视图和逆视图中膝线以下脚底线以上的举手侧轮廓曲线和垂手侧轮廓曲线的最宽处的平均值;
(5)根据步骤(4)中获得的人体模型参数,获取该用户的健康指标数据;
所述健康指标包括:
胸围,为以胸侧宽和背宽为短轴和长轴的椭圆周长;
腰围,为以正视图腰宽和侧视图腰宽为短轴和长轴的椭圆周长;
臀围,为以正视图臀宽和侧视图臀宽为短轴和长轴的椭圆周长;
臂围,为以手臂宽为直径的圆周长;
腿围,为以大腿宽为直径的圆周长;
(6)根据步骤(5)中获得的健康指标数据以及预先收集的男性或女性健康指标正常数据库判断各项数据是否正常;具体地:
对于胸围,根据预先收集的健康指标数据库获取相应身高的胸围正常范围,超过正常胸围正常范围的用户判断为胸围偏高,低于正常胸围范围的判断为胸围偏低;
对于腰围,根据预先收集的健康指标数据库获取相应身高的腰围正常范围,超过正常腰围正常范围的用户判断为腰围偏高,低于正常腰围范围的判断为腰围偏低;
对于臀围,根据预先收集的健康指标数据库获取相应身高的臀围正常范围,超过正常臀围正常范围的用户判断为臀围偏高,低于正常臀围范围的判断为臀围偏低;
对于臂围,根据预先收集的健康指标数据库获取相应臂长的臂围正常范围,超过正常臂围正常范围的用户判断为臂围偏高,低于正常臂围范围的判断为臂围偏低;
对于腿围,根据预先收集的健康指标数据库获取相应腿长的腿围正常范围,超过正常腿围正常范围的用户判断为腿围偏高,低于正常腿围范围的判断为腿围偏低。
所述健康指标数据库按照如下方法获取:
对于男性或女性,根据本法发明步骤(1)、(2)、以及(3)相同的步骤,采集不同身高的健康人体数据的胸围、腰围、以及臀围数据,不同臂长的健康人体数据的臂围,以及不同腿长的健康人体数据的腿围;
统计不同身高对应的胸围平均值并将低于平均值10%到高于平均值10%作为胸围正常范围;统计不同身高对应的腰围平均值并将低于平均值10%到高于平均值10%作为腰围正常范围;统计不同身高对应的臀围平均值并将低于平均值10%到高于平均值10%作为臀围正常范围;统计不同臂长对应的臂围平均值并将低于平均值10%到高于平均值10%作为臂围正常范围;统计不同腿长对应的臀围平均值并将低于平均值10%到高于平均值10%作为臀围正常范围;
将上述正常范围组成健康指标数据库。
(7)根据步骤(6)中获得的判断结果,对所述用户进行分类,具体如下:
A、对于仅有一项健康指标偏高的用户,划分为局部肥胖类型;对于仅有一项健康指标偏低的用户,划分为局部消瘦类型;
B、对于胸围、腰围、以及臂围中有至少一项以上偏高且臀围以及腿围中至少有一项偏高的用户,划分为全身肥胖;对于胸围、腰围、以及臂围中有两项或两项以上偏低且臀围以及腿围中至少有一项偏低的用户,划分为全身消瘦;
C、对于超过一项健康指标偏高或偏低且非B类的用户,划分为比例失调。
根据本方法的分类结果,可向用户建议按照整体改善给出推荐的健身或养身方案,也可根据单个部位,类似第一阶段致力于改善腰围,第二阶段改善背部比例等等。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。