APP下载

基于ABSS的着装人体多特征点提取与尺寸测量

2020-12-16胡新荣刘嘉文刘军平何儒汉

计算机工程 2020年12期
关键词:体型轮廓尺寸

胡新荣,刘嘉文,刘军平,彭 涛,何儒汉,何 凯

(1.湖北省服装信息化工程技术研究中心,武汉 430200; 2.武汉纺织大学 数学与计算机学院,武汉 430200)

0 概述

随着电子信息技术的迅速发展,虚拟试衣平台逐渐受到人们的关注[1]。人体尺寸测量技术是虚拟试衣的关键技术之一,其在服装定制领域有着不可替代的作用。目前,主要通过接触式和非接触式[2-4]方式对人体进行尺寸测量。对于前者而言,人体手工量体的优点是测量时具有交互性,在测量过程中可根据客户的穿着习惯对尺寸数据进行动态调整,但在大规模测量时手工测量的效率低下,出错率较高。后者相对于前者,在保证尺寸信息有效性的同时具有实时性高、鲁棒性强等特点。

非接触式测量通常使用的技术包括三维扫描法、模型重建法和图像检测法。文献[5]使用三维扫描仪获取人体部位的尺寸信息,然而三维扫描仪价格昂贵、测量地点不灵活等问题导致了该方法无法在市场上普遍适用。文献[6-7]提出使用深度相机获取人体深度信息,再通过SMPL模型[8]重建人体获取尺寸信息,但由于东西方人体体型的差异性,以致于实际拟合的效果无法满足人体着装尺寸的误差要求,并且在测试过程中,重塑人体模型耗时超过3 min,使得该方法无法应用于在线批量人体测量系统中。文献[9-10]使用图像检测法[11-13],基于正交人体图像获取尺寸信息,但是他们都参考欧美CAESAR人体数据集提供的结构部位与身高的比例系数直接提取人体关键特征点,并没有考虑东西方人体体型的差异性和自身体型的异构性问题,导致算法在实际测量过程中鲁棒性不强,并且在测量极端体型用户时提取的特征点通常会产生偏离,测量误差较大。

针对上述问题,本文提出基于自适应人体结构分割(Adaptive Body Structure Segmentation,ABSS)的人体多特征点提取与尺寸测量算法Human pesm-abss,解决因体型异构产生的特征点定位不准的问题。对所提取正交图像中的人体轮廓、人体结构关键区域自适应分割,针对不同部位区域采用特定算法快速、准确地提取特征点,最终通过身高比例法获取各个部位的尺寸信息。

1 系统描述

1.1 系统流程

人体尺寸测量主要分为图像预处理、人体结构关键区域自适应分割、特征点提取、尺寸获取等步骤,系统流程如图1所示。

图1 人体尺寸测量系统流程Fig.1 Procedure of human bodies dimension measuremen system

人体尺寸测量系统流程如下:

1)在图像预处理过程中,首先将源图像进行规范化操作,然后将图像从RGB空间转换为HSV空间并分离S通道,然后在S通道基于多方向的Sobel算子和形态学操作提取完整的人体轮廓。

2)基于ABSS算法针对不同体型的用户能够自适应分割出人体结构关键部位的区域范围。

3)在人体关键特征点提取过程中,分别用最小矩形包围盒算法、最大距离法、局部最大曲率法、断层扫描法在基于分割后的各个关键区域提取特征点。

4)运用身高比例法获取人体各个部位的尺寸信息。

1.2 照片采集

首先对相机的畸变进行矫正[14-15],并规定相机的摆放位置(本文经过多次测试,证实相机距离被测者4 m远,距离地面高1.2 m时效果最好)。为获取完整的人体尺寸信息,要求用户提供特定姿势下的正交图像,双手打开至30°~45°,姿势测量示意图如图2所示。

图2 姿势测量示意图Fig.2 Schematic diagram of posture measurement

1.3 图像预处理

颜色空间是图像中最基本的特性之一。目前,计算机显示的彩色图像一般都是用RGB空间来表示和存储像素点的颜色信息。由于RGB颜色空间中每个分量不仅代表像素的颜色还代表像素的明暗程度,因此各个分量的颜色值易受环境光强影响[16-17]。相比于RGB颜色空间,HSV颜色空间由H分量专门负责表示像素的色调,S和V分量表示像素的饱和度和亮度,由于常见的拍摄背景多为红色、蓝色,并且饱和度较高,因此将图像从RGB颜色空间转换为HSV颜色空间,然后在饱和度S通道图像中利用多方向Sobel算子提取完整的人体轮廓,避免了引入环境光线的影响。

由于传统多方向Sobel算子[18]提取轮廓采用均值融合,从而导致该算法在实际运用中提取人体轮廓的效果不佳,因此本文提出基于线性加权融合的算法对多方向梯度图进行处理,算法步骤如下:

步骤1输入源图像。

步骤2将输入的RGB图像转化为HSV色彩空间图像。

步骤3提取HSV色彩空间中的饱和度S通道。

步骤4运用多方向Sobel算子获取饱和度S通道4个方向的梯度图像,如式(1)所示:

(1)

步骤5通过线性加权融合获取图像的绝对梯度,如式(2)所示:

G=|Gx|·α+|Gy|·β+|G45°|·χ+

|G135°|·λ+δ,δ>0

(2)

步骤6将图像二值化后输出最大轮廓:

(3)

其中,Gx、Gy、G45°、G135°分别为水平、竖直方向、45°和135°的梯度,S为HSV图像中的S通道,G为轮廓提取结果,α、β、χ、λ分别为水平、竖直方向、45°和135°梯度矩阵图的权重,δ为增强参数,Th为阈值,本文取0.5,D为二值化图形,式(3)中的1代表人体部位,0代表背景。

1.4 轮廓提取结果

轮廓提取结果如图3所示,其中,图3(a)为源图像,饱和度S通道如图3(b)所示,通过提取边缘轮廓,并经多次实验验证,当权值α、β、χ、λ和δ分别为0.25、0.33、0.22、0.2和120时效果最好,如图3(c)所示,筛选最大轮廓如图3(d)所示。

图3 轮廓提取结果Fig.3 Result of contour extraction

2 人体结构关键区域自适应分割

2.1 传统算法特征点提取

目前,传统图像检测算法依据欧美CAESAR人体数据集[19]提供的人体结构关键部位与身高的比例关系,直接通过断层扫描法提取特征点,并没有考虑东西方人体的差异性。本文参考国际GB/T 10000—88《中国成年人人体尺寸》,以及2009年中国标准化研究院完成的中国成年人人体尺寸抽样试点调查[20]工作中获取的亚洲人体数据信息,并与国外数据进行对比,如表1所示,其中,表1中加粗字体为参数相差较大值。

表1 欧美与亚洲人体关键部位与身高的比例Table 1 Ratio of key body parts to height in Europe,America and Asia

从表1可以看出,东方人体结构关键部位在胸部和臀部的参数值相差较大。

如图4所示,针对身材比例、体型不标准的用户,通过传统图像检测法结合亚洲人体参数提取的特征点仍然容易发生误定位,其中图4标出的点为准确特征点,横线为表1中亚洲人(东方)体参数表示的比例线。

图4 极端体型用户测量结果Fig.4 Measurement results of extreme body type users

2.2 人体体型阈值区间的分析

由图4可见,将问题扩展到一般性,对于偏胖、正常、偏瘦体型的测量用户,人体结构关键区域划分无法达到一致。由于用户的体型与轮廓的面积有着直接的关系,将人体正面、侧面轮廓面积之和进行归一化处理,原理如式(4)所示:

(4)

为了寻找不同体型分布规律,通过对实地测量的210组样本中随机选取150组样本进行分析,依据BMI值将人体体型粗粒度分成3类,分类结果如图5所示。为验证体型分类阈值的有效性和准确性,使用另外60组样本进行测试,测试结果如图6所示(其中圆点为误分类样本)。

图5 体型分类结果Fig.5 Results of body type classification

图6 阈值测试结果Fig.6 Results of threshold test

由图5可知,S偏胖∈(0.64,1],S偏瘦∈[0,0.40)。通过图6实验结果证实了该方法对人体体型粗粒度分类的准确性。

2.3 人体结构关键区域自适应分割算法

通过对人体体型分类的研究,依据ISO 85559-1《Size Designation of Clothes》作为人体尺寸特征选择的标准,并结合表1中标准人体参数信息,提出了一种人体结构关键区域自适应分割算法,算法流程如图7所示,其中迭代参数Δt=0.01。

图7 人体结构关键区域自适应分割算法流程Fig.7 Procedure of adaptive segmentation algorithm for key regions of human body structure

3 人体着装特征点提取

人体特征点提取是获取尺寸信息中最关键的步骤之一,目前现有特征点提取的算法都是基于图像自身属性,没有考虑实际测量规范,从而导致算法提取尺寸误差较大。

3.1 颈部特征点提取

传统算法在提取颈部特征点时,针对正面颈部提取颈部距离最小的响应点,从而造成了较大的误差。为此,本文提出基于最大距离法提取正面颈部特征点,如图8(a)所示(粗线条为颈部区域轮廓线)。

(5)

其中,l1、l2为左右手与头顶连接后的两条颈部特征直线,颈部轮廓线记为c1、c2,p1∈c1,p2∈c2。

针对侧面颈部特征点,目前传统算法是提取lA-第七椎点,但依据ISO 8599-1测量标准侧面颈部尺寸应为lB-第七椎点,以至于通常会造成测量值偏小,本文依据实际测量规范,加入30°的偏移量以减小误差,如图8(b)所示。

图8 颈部特征点Fig.8 Neck feature points

3.2 肩部特征点提取

形状曲线估计法[21]分别用30°和45°的直线作为肩膀手臂的形状估计。由于每个用户张开双臂角度不同,且肩形不同,很难单用某个度数的直线进行形状匹配。

肩部特征点提取步骤如下:

步骤1肩部轮廓线为l,建立点pi(pi∈l)的邻域集合,即与pi点的欧式距离最近的k个点构成的集合Pi,大量实验证实在k取8~10时效果最好,本文k取8[25]。

步骤2计算所有点pi的平均曲率Ci。

步骤5当σi≥σ时,保留点pi∈M,否则删除。

实验结果如图9所示,其中图9(b)点线为全局拟合曲线,对比图9(a)可以明显看出,其提取的曲率最大的点并不是真实的肩部特征点,根据局部最大曲率法提取的待选特征点如图9(c)所示,图9(d)中星型点为全局拟合曲线的最大曲率点,圆点为局部最大曲率法最终提取到的肩部特征点,结果表明,局部最大曲率法相对于传统角点检测方法提取特征点的精准度更高。

图9 局部最大曲率法Fig.9 Local maximum curvature method

3.3 人体尺寸测量

本文采用身高比例法测量人体尺寸,在测量时,被测量者提供自己的身高H,然后根据头顶部fhead(x,y)和脚底f正面foot(x,y)特征点的欧式距离获取比例系数ωs。

基于已提取的人体特征点信息,可以在图片中获取各个部位所占据像素点的个数p,在获取到像素点个数之后结合比例系数ωs,即得到各个部位的尺寸信息:

(6)

pX=d(fX(x,y)left,fX(x,y)right)

(7)

LX=pX·ωs

(8)

其中,X表示人体不同的身体部位,L表示测量的尺寸信息。

4 实验与结果分析

本文实验拍摄了210组实验样本,为了检验Human pesm-adss算法在检测人体体型异构型时的鲁棒性和精确性,对标准差较大的210组样本(学生、警察、法院工作人员)进行测试特征点提取实验,部分样本特征点提取结果如图10所示,人体各个部位测量数据分析如图11所示。

图10 人体特征点提取结果Fig.10 Extraction results of human bodies feature points

图11 测量结果与误差分析Fig.11 Measurement results and error analysis

为检验算法的性能优势,本文将传统比例法[10]、Simple-FCN-ASM模型[12]、非闭合Snake模型[22]和Human pesm-adss算法进行比较分析,特征点提取结果如图12所示,性能分析如表2所示。

图12 不同算法特征点提取结果Fig.12 Feature point extraction results of differebnt algorthms

表2 不同算法性能分析Table 2 Performance analysis of different algorithms

实验环境为Window 10操作系统,E5-1620v4 3.50 GHz处理器,6 GB内存,NVIDIA 1080显卡。

4.1 Human pesm-abss算法结果分析

通过对210组标准差较大的样本(学生、警察、法院人员)进行测量实验,由图10验证了Human pesm-adss算法针对各种体型用户时的鲁棒性,并且由图11证实了该算法测量的精准性,具体表现为实验测量的尺寸信息与真实值的平均误差为±1.3 cm,其中最大误差为+1.98 cm。依据ISO 8559-1《Size Designation of Clothes》中规定人体着装最大误差为2 cm以内,所以Human pesm-adss算法误差的大小完全满足人体着装尺寸误差要求,并且单个样本测量耗时为298 ms,显著提升了在线批量测量系统的实时性。

从实验结果可以看出,实际值与测量值之间仍然存在着一定的误差,误差的来源主要有以下3个部分:

1)人体站姿不标准,如测量时驼背会造成身高占据的像素偏小,使得比例系数ωs偏大,最后直接导致所有测量数据偏大。

2)由于客观因素的影响,无法要求每位测量者穿着较为紧身的衣服,这是误差的主要来源之一。

3)实际测量的尺寸都包含了一定的放松量,并且放松量一般根据测量师傅的经验判定,没有量化的标准,所以也在一定程上产生了误差。未来会根据经验总结各款式、材质衣服的放松量,加入机器视觉识别衣物类型并自适应修改尺寸数据,从而进一步减少测量误差。

4.2 算法对比分析

传统比例算法提取结果如图12(a)所示,由于仅通过单一特征根据人体比例关系提取关键特征点,在测量极端体型用户时,测量结果的精确性较低,算法的鲁棒性不强。非闭合Snake算法虽然无需手动设置初始轮廓,但仍需根据经验手动调节关键参数。对于Simple-FCN-ASM模型而言,需要建立人体模板对测量用户进行匹配并拟合。在针对标准差较大的样本时,模板收敛的速度慢,并且由于下半身基于对称原则提取特征点,通常模板容易发生单侧偏移从而产生较大的误差。

然而,这些算法都只涉及了人体正面尺寸信息的提取,并且是依据图像本身的特性提取关键特征点,以至于实验测量结果与实际值的误差较大,无法满足人体着装尺寸的需求。

Human pesm-abss算法通过改进的多方向Sobel算子在HSV空间中提取人体轮廓,避免了非闭合Snake算法的手工调参。同时基于ABSS算法快速提取人体正面、侧面关键结构区域,解决了Simple-FCN-ASM模型需要长时间迭代收敛的问题。针对人体关键的结构区域,提出符合ISO 85559-1《Size Designation of Clothes》规范的算法提取特征点,整个过程中无需手工操作,大幅提升了算法的适用性。

由表2可知,Human pesm-abss算法与传统算法相比,虽然在时耗上增加了0.174 s,但在尺寸获取的精确性上有着显著的提升,使得误差处于人体着衣尺寸误差允许的范围内。相对于非闭合Snake模型和Simple-FCN-ASM模型在平均误差方面减少了2.2 cm和0.26 cm,并且在时耗方面,分别缩短了1.098 s和3.552 s,大幅提升了在线人体尺寸测量系统的实时性。

5 结束语

本文提出一种基于自适应人体结构分割的着装人体多特征点提取与尺寸测量算法。该算法运用图像预处理、人体结构关键区域自适应分割、人体关键特征点提取、身高比例法相结合的技术,解决传统图像检测模型检测时间长和极端体型特征点定位不准的问题,并选取210组标准差较大的样本(包括学生、警察、法院工作人员)对此算法进行了论证。实验结果表明,该算法测量的平均误差为±1.3 cm,最大误差为+1.98 cm,单个样本测量耗时不超过0.3 s,相比目前传统图像检测模型,无论在尺寸信息提取的精确度上,还是在时耗方面都有显著的提升。虽然本文方法在具体应用中取得了一些成果,但在实际生活中,领围、胸围和臀围这类具有三维属性的围度信息能够更直观地表示出人体体型状态,因此,下一步将对人体二维尺寸信息转化为三维尺寸信息的方法进行研究。

猜你喜欢

体型轮廓尺寸
CIIE Shows Positive Energy of Chinese Economy
体型消瘦,如何科学变强壮
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
体型特别的勇士
体型最小的猫,竟然是个恐怖的大胃王
体型消瘦,如何科学变强壮
D90:全尺寸硬派SUV
高速公路主动发光轮廓标应用方案设计探讨
佳石选赏