马燕,殷志昂,黄慧,张玉萍
上海师范大学信息与机电工程学院,上海 200234
随着人们生活水平和生活质量的大幅提高,消费能力显著提升,服装行业得到蓬勃发展。服装业主要是通过人体测量进行服装设计和个性化服装定制。目前,人体测量主要分为接触式和非接触式两种方法。接触式测量一般指传统手工测量,主要通过软尺和人体测高仪等测量人体尺寸数据。该方法测量时间长、误差大,在进行大规模人体尺寸数据采集时人力物力消耗大、效率低(王力,2018;赵雅彬 等,2017)。非接触式人体测量主要通过一些设备仪器获得人体信息,以进行批量的人体测量工作,具有测量精确、方便快捷等特点。非接触式人体测量的核心问题在于人体关键点检测和围度测量两个方面。
人体关键点检测用于定位目标位置。传统检测方法有基于人体比例的人体关键点检测算法(邓卫燕 等,2010)和基于人体轮廓编码的人体关键点检测算法(Jiang等,2012;Lin和Wang,2011)。基于人体比例的人体关键点检测算法提取人体关键点的速度快,但提取的人体特征点数量较少,因此只能得出有限的几组人体尺寸数据,无法满足人体尺寸测量要求。基于人体轮廓编码的人体关键点检测算法提取的人体关键点是相互独立的,彼此之间不存在依赖关系,该方法检测速度快,但提取效果与人体轮廓编码有关,对于一些特殊体型的人体,提取的人体关键点位置会发生一定偏差。本文使用基于OpenPose算法(Cao等,2021)优化的Lightweight OpenPose算法(Osokin,2018)进行人体关键点检测,相较传统的人体关键点检测方法准确率高、定位准确、检测结果完整,且相较OpenPose算法体量更轻,更适合部署在移动端。
围度测量是非接触式人体测量的另一个核心问题,也是非接触式人体测量的目的所在。传统的测量方法有莫尔条纹测量法(Meadows等,1970)、激光测量法(Jones等,1989;Crease,2010)和红外线测量法(Chao等,2015)等,但这些技术需要借助昂贵的设备才能实施。例如,一套德国产的TechMat 测体间价格是500万元,这是一般企业无法承受的。而脱离这些大型设备,利用人体图像和数据也可以进行人体围度预测。目前常用的测量方法有基于椭圆曲线拟合的人体围度测量算法(黄秀丽,2009)、基于线性回归的人体围度测量算法(齐啸和计忠平,2019;徐枫 等,2006)、基于消失点方法与比例法结合的人体围度测量算法(徐慧明 等,2017)和基于支持向量机(support vector machine,SVM)的腰围估计方法(Seo等,2020)。
基于椭圆曲线拟合的人体围度测量算法拟合效果较好,但没有考虑不同体型的特殊性。对于一些特殊体型的人体围度会产生较大误差。基于线性回归的人体围度测量算法需要收集大量人体数据,并利用最小二乘法拟合人体各围度的计算方程,可以对新的被测者进行较快的围度测量。但是,影响人体围度的影响因素较多,包括身高、体重和臂长等,这些都会对人体围度产生影响。由于人体体型各异,较难采用统一的拟合方程定义人体围度。基于消失点方法与比例法结合的人体围度测量算法利用消失点法,依据平行线无限远处相交原理计算身高和腿长等,利用比例法定位人体关键点,并结合之前获取的身高计算肩宽、腰宽、臂长。此方法虽然满足自动测量的要求,但精度依然不高,且所得的腰宽等也并非腰围等围度的最终计算结果。基于SVM的腰围估计方法利用kinect获取人体深度数据,通过正背面图像对腰部前后两条曲线分别拟合,从而获得腰宽和腰厚数据,并利用SVM回归方法训练出相应模型。该方法对拍摄条件要求较高,且计算精度依然不够理想。
针对以上问题,本文提出一种基于Bezier曲线和双椭圆曲线拟合的人体尺寸测量方法,只需获得人体2维图像和人体身高,即可快速计算出人体肩宽、胸围、腰围及臀围等数据,且便于移植到移动端,达到随时使用的目的。
本文设计的人体尺寸测量方法包括5部分。1)图像采集,获取人体正面、侧面、背面图像;2)人像分割,通过Deeplabv3+算法对图像中的人体进行提取;3)关键点检测,通过OpenPose算法对提取的人体进行关键点定位,包括肩关节、肘关节和髋关节等;4)利用Bezier曲线特性计算人体肩宽,根据胸围、腰围、臀围的特性分别拟合出各部分人体围度;5)评估预测结果。流程图如图1所示。
图1 人体尺寸测量方法流程图
本文方法要求获得人体的正面、侧面及背面图像。对被测者有以下要求:1)挺直身体以确保人体数据正确;2)拍摄正面(如图2(a))和背面图像(如图2(c))时,手臂伸直并与躯体呈大约30°角度,手臂暴露在外,不影响腰部数据;3)拍摄侧面图像(如图2(b))时,手臂下垂,中指贴住裤缝;4)穿着为较贴身的衣服,使身体轮廓清晰。图2是满足要求的一组人体图像。
图2 人体图像
从人体图像中提取人体轮廓是非接触式测量的关键环节之一。为提取准确的人体轮廓,大多方法需要对背景环境制订严格规定。Lin和Wang(2011,2012)和Jiang等人(2012)提出对采集的图像进行边缘检测,最终得到较精确的人体轮廓,缺点在于对拍摄场景要求较高,同时需要被测者穿特定服装。邓卫燕等人(2008)提出利用背景差分法提取人体轮廓,但需要预先固定摄像机位置,并对人物和场景各拍一张照片,给实际使用带来了不便。
已有的人体分割方法对外界环境、被测者衣服和摄像机位置等要求较高,不能满足快速、自动获取人体轮廓的要求。本文采用语义分割网络Deeplab v3+(Chen等,2018a,b)进行人体分割,通过encoder-decoder进行多尺度信息融合,编码器部分直接选用上一个版本的Deeplabv3,同时保留原来的空洞卷积和ASSP(atrous spatial pyramid pooling)层,骨干网络使用Xception模型,提高了语义分割的健壮性和运行速率。Deeplabv3+网络采用的数据集为目前公开的精度最高的人像分割数据集Supervisely Person加上部分自制数据集的组合。图3是利用Deeplabv3+对图2所示的人体图像进行分割的结果。可以看出,虽然图2的人体图像存在光照不均匀、阴影以及双脚间存在杂物等较多干扰因素,但利用DeepLab v3+分割后可以得到较为准确的人体图像。
图3 人体分割结果
进一步对人体图像进行二值化,获得人体二值图,如图4(a)所示。接着,对人体二值图采用形态学算法进行轮廓追踪,获得人体轮廓图,如图4(b)所示。
图4 人体二值图和人体轮廓图
人体头顶点、颈侧点、肩峰点和腋窝点等人体关键点与人体的身高、肩宽和胸围等尺寸密切相关。如何精确提取人体关键点直接影响后续人体关键参数测量的准确性。因此,准确提取人体关键点是研究人体测量的关键之一。
本文采用的Lightweight OpenPose算法是OpenPose的轻量级优化。OpenPose的体量较大,对硬件要求高,结合本项目的实际情况,轻量级的Lightweight OpenPose算法更适合使用场景,二者的区别主要体现在3个方面。1)用于特征提取的骨干网络部分OpenPose算法使用VGG(Visual Geometry Group)结构,而Lightweight OpenPose算法使用带空洞卷积的MobileNet结构;2)如图5所示,原始的OpenPose在生成部分亲和域(part affinity fields,PAFs)和关键点(keypoints)的阶段有两个预测分支,两个分支的结构是一样的,只是在输出阶段获得不同数量的输出结果。因此Lightweight OpenPose算法将该阶段的两个网络合并为一个,共享权值,只在输出时再分叉出两个输出;3)Lightweight OpenPose将OpenPose中7×7的卷积核替换为1×1、3×3、3×3的卷积级联,为保持视野,在最后一个3×3使用膨胀参数为2的空洞卷积。
图5 两种算法预测分支网络结构图
图6为利用Lightweight OpenPose算法对人体关键点检测的结果。通过人体关键点检测,可以获取人体的肩关节、肘关节、腕关节、髋关节、膝关节和踝关节等13个人体关键点的位置。
图6 人体关键点检测结果
手工测量人体肩宽的标准方法是测量从人体背面的左肩端点经第7颈椎点到右肩端点的长度。如图7(a)所示,皮尺构成的曲线基本可以视为人体的肩部曲线,曲线长度可以视为人体肩宽。利用Lightweight OpenPose算法,获得的是肩部关节点,并非手工测量的肩部端点,因此首先需要确定肩部端点的位置。
图7 人体肩宽测量示意图
1.4.1 肩部端点的确定
确定肩部端点的原则为:1)由于肩部端点位于肩与手臂转折处,因此以该点为中心计算其两端切线的夹角,该角度应小于其周围点的夹角;2)沿肩部关节点做水平线和垂线,得到与人体轮廓的两个交点,肩部端点一定位于这两个交点之间。
图8中,L为肩部左关节点,沿L点向左边和上面两个方向分别做水平线和垂线,得到与人体轮廓的交点分别为Lstart和Lend,Sl为左肩部端点处。从图8可见,以Sl为中心,其两端切线构成的夹角θ小于其周围点的夹角。另外,Sl一定位于Lstart与Lend两点之间。因此,要确定左肩部端点的位置,只要在Lstart与Lend间计算所有轮廓点处的夹角,最小夹角对应的轮廓点即为左肩部端点。同理,按同样方法可以得到右肩部端点Sr。
图8 肩部端点示意图
假定p1表示Lstart与Lend间的任一轮廓点,p1处的夹角θ的计算步骤如下:
1)由p1点沿人体轮廓线向下依次取出共n个像素(这里将n设置为5),这n个像素的坐标表示为p1(x1,y1),p2(x2,y2),…,pn(xn,yn)。利用最小二乘法拟合这条经过p1点的向上方向的切线l1,假定该直线表示为y=k1x+b1,则其斜率k1为
(1)
b1=y1-k1x1
(2)
2)由p1点沿人体轮廓线向上依次共取出n个像素,得到经过p1点的向下方向的切线l2,表示为y=k2x+b2,其中,按式(1)和式(2)分别计算k2和b2。
3)计算直线l1与l2之间的夹角θ,即
(3)
按上述步骤计算Lstart与Lend间的所有轮廓点的θi,则左肩部端点Sl满足
Sl=arg min(θi|i∈[Lstart,Lend])
(4)
1.4.2 肩宽的测量
如图7(b)所示,分别位于两个肩部端点Sl和Sr的向上方向切线交于S点。从图中可见,人工测量肩宽的曲线可以通过由Sl,S和Sr3个控制点生成的二次Bezier曲线(严兰兰和梁炯丰,2008)来拟合。理由如下:1)肩宽曲线和Bezier曲线的起点和终点都分别位于Sl和Sr处;2)肩宽曲线与Bezier曲线的起点和终点的切线方向一致,分别等于Sl和S,Sr和S的连线方向;3)由Sl,S和Sr3个控制点生成的二次Bezier曲线与肩宽曲线的形状基本一致。
假定Sl,S和Sr3个控制点对应的坐标分别为(x0,y0),(x1,y1)和(x2,y2),则二次Bezier曲线计算为
x(t)=(1-t)2x0+2t(1-t)x1+t2x2
(5)
y(t)=(1-t)2y0+2t(1-t)y1+t2y2
(6)
式中,变量t取值范围为[0,1]。利用式(5)和式(6)可以计算得到Bezier曲线的长度D,具体为
(7)
式中,x′(t)和y′(t)分别为x(t)和y(t)的微分。这里的Bezier曲线的长度D代表的是图像上的人体肩宽,如果需要得到实际肩宽,可以利用转换公式,具体为
(8)
式中,Htrue表示人体实际身高,H表示二值图中人体身高。
本文在基于曲线拟合(Lu等,2009)的人体腰围计算方法上进行改进,采用基于双椭圆曲线拟合的人体尺寸测量方法,在获取人体正面、侧面和背面图像后,结合人体分割和关键点检测结果,对腰围的测量位置进行大致定位,再拟合整个腰围测量曲线,计算曲线长度。
1.5.1 腰围的宽度和厚度
根据国标GB/T16160-2008《服装用人体测量的部位与方法》(中华人民共和国国家质量监督检验检疫总局和中国国家标准化管理委员会,2008)中对腰围的定义,腰围指胯骨上端与肋骨下缘之间自然腰际线的水平围长。
人体背面及侧面图像关键点检测结果如图9所示。其中,Ph表示髋关节关键点(图中方块),Pe表示肘关节关键点(图中圆圈)。
图9 背面及侧面图像关键点
显然,人体腰部位置在Pe与Ph之间,再结合已经提取的人体轮廓图,可以得出腰部在人体轮廓中的范围,如图10所示。
图10 人体轮廓图中的腰部范围
对于图10左边的人体背面图像,在相同纵坐标下的两端横坐标的差值构成了人体腰部宽度wi。在Pe和Ph的纵坐标构成的区间[ye,yh]中,所有的腰部宽度wi构成了集合W′={w1,w2,…,wn},取其平均值作为人体腰部宽度,即
(9)
同理,对图10右边的人体侧面图像,在相同纵坐标下的两端横坐标的差值构成了人体腰部厚度ti,在区间[ye,yh]中所有腰部厚度ti构成了集合T′={t1,t2,…,tm},取其平均值作为人体腰部厚度,即
(10)
1.5.2 腰围的测量
如图11所示,可以将人体的腰部曲线大致看成两段椭圆的结合。水平实线将人体腰围分为腹部和下背部两部分。由于腹部容易堆积脂肪,因此腹部厚度大于下背部厚部。其中,水平实线长度为人体腰部宽度W,垂直虚线长度为人体腰部厚度T。
图11 人体腰围拟合曲线
已知椭圆的近似周长为
(11)
式中,a表示长半轴长度,b表示短半轴长度,分别对应图11中W/2和T/2。
人体的腰围曲线可以看做由长轴相等、短轴不相等的两个椭圆构成。如图11所示,椭圆的长轴均等于W,腹部和下背部对应椭圆的短半轴,分别用T1和T2表示,且满足
T1+T2=T
(12)
则由双椭圆拟合的腰围曲线周长为
(13)
关于T1和T2的取值,首先将二者分别表示为T1=ratio×T,T2=(1-ratio)×T,ratio∈(0.5,1)。观察图9右边的人体侧面轮廓的腹部曲线,可以发现,ratio的取值大小与这条腹部曲线的开口大小呈正相关性。即曲线的开口越小,则腹部的突出程度越明显,此时ratio应占比更大,反之则占比较小。
由于人体侧面轮廓线上所有点的坐标已知,可以利用最小二乘法对这条曲线进行拟合,该条腹部曲线可以采用二次函数表示。即
y=Ax2+Bx+C
(14)
式中,A为二次项系数。根据二次函数的性质可知,|A|表示曲线的开口大小。因此,可以将ratio表示为
ratio=α|A|+β
(15)
可以通过线性回归方法求出式(15)中的α和β。具体训练方法如下:
假定共有k组训练人体数据,对每一组数据的ratio按取值范围(0.5, 1)之间进行遍历,选择能使该组腰围数据与实际测量值误差最小的ratio值并保存。即
(16)
式中,Lac表示实际腰围,Li表示比例为i时的腰围预测值。接着,利用线性回归方法,将k组ratio和|A|作为训练数据计算式(15)中的α和β。经本文实验,α和β的数值分别等于-32.172 7和0.719 7。
当有被测者需要测量腰围,只需要利用式(14)拟合腹部曲线,得到|A|值,再按式(15)得到ratio值,最后利用式(13)即可得到被测者的腰围长度。
对于人体胸围及臀围的测量仍然采用本文提出的基于双椭圆曲线拟合的人体尺寸测量方法。在获取人体正面、侧面、背面图像后,结合人体分割和关键点检测结果,对胸围和臀围的测量位置进行大致定位,从而获取宽度和厚度信息,拟合整个胸围和臀围的测量曲线,计算曲线长度。
1.6.1 人体胸围测量
根据国标GB/T 16160-2008《服装用人体测量的部位与方法》中的定义,胸围指被测者直立,正常呼吸,用软尺经肩胛骨、腋窝和乳头测量的最大水平围长。
如图12左图所示,结合已经提取的人体轮廓图,利用肘关节关键点Ph确定用于定位腋下点的左右两边起始点Lstart和Rstart,利用髋关节关键点确定左右两边终止点Lend和Rend。利用式(1)—(4),在左起始点Lstart与左终止点Lend间计算轮廓线上各点的夹角,将最小夹角对应的轮廓点作为左腋下点Sl,用同样方法确定右腋下点Sr。
图12 胸宽及胸厚示意图
确定左右腋下点Sl和Sr后,沿垂直方向并向下n个像素(这里将n设置为5)。在此纵坐标下,人体躯干轮廓线上两端横坐标的差值构成了人体胸部宽度w。
对于人体胸厚,采取基于比例法的人体围度测量方法,人体各部位与身高的比例如表1所示。
表1 人体各部位与身高的比例
根据表1,人体胸部到脚的长度占身高的72%。图12右图所示为人体胸厚示意图,图中H表示此二值图中的人体身高,以轮廓中最低点向上取0.72H的高度,设为Hchest。Hchest可大致认为是人体胸部的高度。为进一步提高精度,符合胸厚中“最突出部位厚度方向上的水平直线距离”这一定义,可以在Hchest上下依次取出共n个像素(这里将n设置为10),在此区间内找到胸部最突出点定位胸厚,如图13所示。在此纵坐标下的两端横坐标的差值构成了人体胸部厚度t。
图13 胸厚示意图
人体胸围拟合曲线大致与图11中人体腰围拟合曲线接近。图12右边人体侧面轮廓中加粗部分为人体胸部曲线,可以利用式(14)对其进行拟合,|A|表示曲线的开口大小。由于男女胸部曲线的差异问题,为了保证获取更准确有效的特征信息,利用线性回归方法分别对男性和女性数据训练出对应式(15)的α和β。经本文实验,若被测者为男性,α和β的数值分别为49.254 0和0.682 7;若被测者为女性,α和β的数值分别为14.418 5和0.664 7。
当有被测者需要测量胸围,只需要利用式(14)拟合腹部曲线,得到|A|值,再按式(15)得到ratio值,最后利用式(13)即可得到被测者的胸围长度。
1.6.2 人体臀围测量
根据国标GB/T 16160-2008《服装用人体测量的部位与方法》中的定义,臀围指被测者直立、在臀部最丰满处测量的臀部水平围长。
本文对臀部曲线的定义为,以髋关节关键点Ph(图9)水平高度为基准,上下依次共取出n个像素(这里将n设置为20),处于Ph右边的所有点集合构成人体臀部曲线,如图14右图人体侧面轮廓加粗部分。
图14 臀宽及胸厚示意图
与测量腰围和胸围不同,测量人体臀围时,需要先对臀厚进行测量。在已获得人体臀部曲线的点集中,选择最突出的一点,即水平位置最远的像素点S。设点S的纵坐标为Hhip,在Hhip上的两端横坐标的差值构成了人体臀部厚度t,臀部高度与身高的比例为
(17)
因为臀宽没有较为明显的特征信息,依然使用比例法定位臀宽。为了定位更加准确,可以用式(17)所得的比例r代替表1中的臀部与身高比例值0.53。在此纵坐标下,人体躯干轮廓线的两端横坐标的差值构成了人体臀部宽度w。
后面的过程与腰围测量类似,利用线性回归方法训练式(15)中的α和β。最后利用式(13)—(15)得到被测者的臀围长度。
为验证本文方法的准确性和鲁棒性,所有被测者肩宽和腰围数据均由专业测量师手工测量,保证数据的真实性。被测者除衣着贴身、站姿如图2外,无其他要求。实验硬件包括1个高清摄像头(用于采集人体图像);1台装有Win10操作系统的计算机(用于图像处理),配置为i7-7700处理器、16 GB内存、NVIDIA GTX1060显卡。人体分割和人体关键点检测分别按第1.2和1.3节所述方法得到,主要对肩宽和腰围的测量结果进行分析。本文选用绝对误差对测量方法进行评估,即
E=|T-L|
(18)
式中,E表示绝对误差,T表示真实测量值,L表示利用本文测量方法得到的测量结果。所有真实测量值均为专业测量师手工测量获得。
图15给出了5位被测者关键点检测的对比结果。5位被测者包括3位女性和2位男性。对5位被测者分别使用3种不同的关键点检测方法。分别是基于人体轮廓编码的人体关键点检测算法、基于人体比例的人体关键点检测算法和Lightweight OpenPose算法。从图15可以看出,基于人体轮廓编码的人体关键点检测算法得到的关键点较多,其中很多关键点是非必要的,干扰较多;基于人体比例的人体关键点检测算法的针对性和准确率都有所提升,但精度依然不足,且无法对胸围等提供准确定位;而基于深度学习的Lightweight OpenPose算法可以较准确地提取人体关键点及骨架,以关键点确定范围,为后续的围度测量提供依据。
图15 人体关键点检测对比结果
表2和表3(Osokin,2018)展示了OpenPose算法和Lightweight OpenPose算法的网络结果和计算量,其中AP(average precision)表示平均精度,GFLOPs(giga floating-point operations per second)表示运算量。OpenPose细化部分共5个阶段,从表2可以看出,经过1个细化阶段后,精度为43.6%,5个细化阶段后,精度为48.6%,性能提升不显著,但运算量增加了一倍。所以Lightweight OpenPose算法只使用一个细化阶段,在保证整体精度降低较少的情况下,对体量进行充分优化,GFLOPs仅为原来的1/15,运算量大幅减少。
表2 OpenPose的网络结果和计算量
表3 Lightweight OpenPose的网络结果和计算量
图16给出了10位被测者肩部端点的确定结果。其中,第1行被测者编号为1—5,第2行被测者编号为6—10。在这10位被测者中,包括了人体肩部常见的4种类型,即平肩、宽肩、窄肩和溜肩。从图16可以看出,无论何种肩形,本文都能准确地获得肩部端点的位置。
图16 肩点定位结果
表4为利用本文提出的肩宽测量方法得到的10位被测者的肩宽。可以看出,表4中最大误差值仅为1.29 cm。
表4 肩宽测量结果
本文选取6位被测者进行人体围度测量实验,被测者侧面图像及二值图如图17所示。6位被测者包括3位男性和3位女性,包含正常腹部和凸腹。
图17 被测者侧面图像及二值图
利用本文提出的腰围测量法和直接椭圆拟合法,对这6位被测者的腰围进行计算,结果如表5所示。表5中6位被测者的腰围宽度和厚度均采用1.5.1小节的方法得到。从表5中6位被测者的测量误差来看,本文方法比采用直接椭圆拟合法明显要小,特别是对于3号和5号带有凸肚体型者,本文的测量误差比直接椭圆拟合法降低了约1 cm和0.7 cm,可见本文方法测量结果更精确。
表5 腰围测量结果
利用本文提出的胸围及臀围测量方法,同样对这6位被测者的胸围和臀围进行计算,结果如表6及表7所示。从表6及表7可见,本文方法在胸围及臀围的测量上依然能获得较为理想的效果,从6位被测者的测量误差来看,本文方法比采用直接椭圆拟合法也明显更小。
表6 胸围测量结果
表7 臀围测量结果
对于肩宽测量,选择了100位被测者进行数据评估。其中,29位男性被测者,71位女性被测者,且被测者要求肩部图像较为清晰,无严重干扰。实验记录所有被测者的平均绝对误差以及误差在各区间的数量。将本文方法与基于消失点方法与比例法结合的人体围度测量算法和回归分析方法进行对比,结果如表8所示。从表8可见,基于消失点方法与比例法结合的测量方法,因其未考虑实际肩宽测量方式,利用线段表示肩宽,误差较大且普遍偏小。与回归分析方法相比,本文方法整体好于基于回归分析的测量方法,平均误差及最大误差较小,且绝大部分被测者的肩宽平均绝对误差在2 cm以内,误差超过3 cm的数量明显低于回归分析方法,符合国家规定的测量标准。
表8 肩宽测量评估结果
对于人体围度测量,选择了132位被测者进行数据评估,其中48位男性被测者,84位女性被测者,且被测者要求衣物贴身,无严重干扰,胸部、腰部和臀部等特征信息可以清晰暴露。记录所有被测者的平均绝对误差以及误差在各区间的数量。对于腰围测量,将本文方法与回归分析方法、基于SVM的腰围估计方法和直接椭圆拟合方法进行对比,结果如表9所示。从表9可见,本文方法的平均误差较低,且误差低于1 cm和2 cm的数量明显多于其他方法,而误差超过3 cm的数量明显低于其他3种方法。绝大部分被测者的腰围平均绝对误差在2 cm以内,符合国家规定的测量标准。对于胸围及臀围测量,将本文方法与回归分析方法和直接椭圆拟合方法进行对比,结果如表10和表11所示。从表10和表11可见,本文方法的平均误差依然较低,
表9 腰围测量评估结果
表10 胸围测量评估结果
表11 臀围测量评估结果
且误差在3 cm以内的数量低于其他两种方法。虽然在臀围测量评估中,回归分析的平均误差略低于本文方法,但在最大误差和误差在3 cm以内的数量的表现都不如本文方法,因此本文方法测量的稳定性更高。
本文提出了一种结合卷积神经网络与曲线拟合的人体尺寸测量方法,可以在复杂环境下准确快速地计算出人体尺寸。本文手工测量数据均为专业测量师手工测量,数据真实有效,且最终结果满足国家规定的测量标准。虽然本文方法的测量精度已经很高,但是依然存在一定误差,具有一定的局限性。一是人体分割和关键点检测对测量结果影响很大,图像质量差或人体轮廓不明显都会给计算造成困难;二是被测者肩部或腋下不清晰,女性长发影响胸厚,以及腹部、臀部含有衣物堆积等情况,都会给人体各围度测量带来不同程度误差,导致实验结果不够理想。未来研究方向主要集中在以下几个方面:1)提高人像分割方法的鲁棒性,以过滤不属于人体的部分;2)消除头发或其他异物对肩宽、胸围测量时的影响,提高肩部端点、胸部位置定位的准确率;3)消除衣物堆积所带来的测量困难,对于胸部、腰部和臀部等轮廓特征不明显的个体,应结合其他人体数据进行估算。