APP下载

级联层叠金字塔网络模型的服装关键点检测①

2020-04-24李维乾张紫云

计算机系统应用 2020年4期
关键词:级联关键点金字塔

李维乾,张紫云,王 海,张 艺

1(西安工程大学 计算机科学学院,西安 710048)

2(陕西省服装设计智能化重点实验室,西安 710048)

3(新型网络智能信息服务国家地方联合工程研究中心,西安 710048)

4(西北大学 信息科学与技术学院,西安 710127)

在电子商务应用领域,常采用服装关键点从视觉方面来描述服装的形态信息,从而将感兴趣的服装推荐给消费者,进而满足客户的个性化需求.而现有数据集中,因服饰图片存在背景复杂、服饰变形等问题,导致服装关键点的检测精度不高.为此,Liu 等人[1]基于深度学习Caffe 框架,构建了三层级联神经网络模型,利用深度时尚对齐技术(Deep Fashion Alignment,DFA)完成了服装关键点的检测研究.但该模型未对复杂背景下的图片进行处理,尤其是当服饰部分关键点被遮挡或服饰发生变形时,该模型对关键点检测的准确率会降低.Yan 等[2]采用VGG16 (Visual Geometry Group)模型构建了DLAN (Deep LAndmark Network)网络,该网络对因人体姿态不同产生变形的服装关键点进行了检测.Wang 等人[3]提出了一种双向卷积递归神经网络 (Bidirectional Convolutional Recurrent Neural Networks,BCRNNs),根据运动学和服装对称关系来检测服装关键点.然而DLAN 和BCRNNs 在对图像特征进行提取时,仅使用了图像的深层信息,未能融合多层网络语义信息,导致关键点检测的准确率较低.

针对以上问题,本文提出了一种自上而下的级联层叠金字塔网络模型(Cascaded Stacked Pyramid Network,CSPN)用于服装关键点的检测.首先,采用Faster R-CNN[4]对服装目标区域进行定位,以确定服装的位置,消除图像中与服饰无关的图像特征.然后,利用ResNet-101[5]提取服装区域的图像特征.以此为基础,将多个不同深度的特征图叠加在一起,构成级联层叠特征金字塔[6]网络结构,有效融合服饰图像的原始特征、全局特征和局部特征,逐步对关键点进行预测与修正,从而提高服装关键点检测的准确度.

1 服装关键点检测

在传统的关键点检测中,采用全连接层直接回归坐标点[7].该类做法的优点是输出即为坐标点,训练和前向速度很快,且是端到端的全微分训练,但缺点是缺乏空间泛化能力,丢失了特征图上的空间信息.此方法不利于检测被遮挡的服装关键点.而本文采用预测高斯热图的方式,输出特征图大,空间泛化能力较强.

如图1 所示,原始图片经过金字塔网络提取特征之后,融合高低层特征信息,生成预测关键点热图,计算Loss 并反向传播.

图1 预测关键点热图并回传Loss

2 层叠金字塔网络模型

CSPN 模型将基于目标检测和基于回归检测的方法相结合,通过构建级联层叠特征金字塔网络模型来提高服装关键点的检测准确率.该模型包含两个阶段,第一阶段Detection Proposal 是对服装区域进行识别,第二阶段Detection KeyPoint 是利用识别后的特征图对服装关键点检测.图2 为该模型对服装关键点进行检测的过程.

图2 服装关键点检测过程

2.1 服装目标区域识别网络(Detection Proposal)

针对复杂背景下关键点识别率低的问题,CSPN 模型利用Faster R-CNN 对服装目标区域进行识别,其流程如图3 所示.首先,利用VGG16 卷积层对服装图片数据进行特征提取,将生成的feature map1 特征图一方面用作服装边界框proposals 的生成,另一方面将该feature map1 特征图和生成的proposals 边界框作为RoI (Region of Interest)pooling 层的输入,得到固定大小的输出特征图(feature map2).然后,利用分类器(Classifier)对固定大小的feature map2 进行全连接操作.最后,使用L1 Loss 边框回归操作,获得服装区域的精确位置.

图3 服装目标区域识别网络流程图

2.2 服装关键点检测网络(Detection KeyPoint)

对于图像特征图,较低尺度图像往往含有丰富的语义信息,对图像上半部分的关键点检测效果较好;而更高尺度的图像含有丰富的空间纹理信息,对图像下半部分关键点的检测效果较好[8].因此,CSPN 模型采用级联金字塔网络自上而下的对图像特征进行提取,从语义丰富的深层图像特征图中,通过上采样方式重新构建高分辨率的浅层,达到对关键点进行定位的目的.由于经过上采样之后的图像,在关键点检测时存在偏差,所以需要在上采样重建时将相应的高分辨率特征图叠加在一起,经过关键点信息的重复利用及级联方式,不断修正关键点位置,从而提高关键点检测的准确率.

服装关键点检测网络的模型结构分为Stage1、Stage2、Stage3 和Stage4 共4 个阶段,如图4 所示.Stage1 阶段是对ResNet-101 中的特征图进行上采样后叠加操作,输出3 个特征图作为下一阶段的输入记做L1.L1 中3 个特征图像素值的大小分别为64*64、128*128 和256*256.L0 表示残差网络ResNet-101 中的特征图,本文选取conv2~5 最后残差块的特征图;Up 为上采样操作Up sampling;+为将上采样扩大后的图像与其同像素大小的图像叠加.Stage2 是对L1 特征图重复进行上采样和叠加操作,其输出特征图和L1 中的conv5 记做L2,作为Stage3 的输入.Stage3 和Stage4 复制Stage1 和Stage2 过程,通过多级级联模式生成最终的L4 特征图(大小为256*256),即为服装关键点的预测结果.在4 个阶段中,每个阶段均以前一个阶段的预测结果作为输入,通过级联方式提高关键点的检测精度.

对于可见关键点,Stage1 阶段可直接预测得到.服装图片经过网络模型输出8 个关键点的heatmap(数据集定义服装关键点为8 个),把每个heatmap 计算Loss 之后再回传,Loss 表达式为式(1),记为 L2.

其中,n 表示关键点的个数,k gi,k pi分别表示标注的关键点坐标和预测的关键点坐标.

对于不可见关键点,可通过增大感受野,以级联层叠的方式来获得关键点.Stage2,Stage3 和Stage4 阶段,关键点检测难度依赖于关键点训练时的损失,因此,在训练过程中取前K(K=4)个损失值较大的关键点计算Loss 并回传,Loss 表达式记为 L2∗.与Stage1 阶段Loss 不同的是,关键点的个数n =K.

图4 级联层叠金字塔服装关键点检测网络模型

3 实验

3.1 数据集

实验选用DeepFashion 数据库进行训练和测试,其Landmark Detection Benchmark 是该数据库中一个公开的大型服装数据集,包括12.3 万张服装图片,有上衣(6 个关键点)、下装(4 个关键点)、全身(8 个关键点)3 种服装类型,且存在正常、中等、严重等不同程度的变形图片.图5 为全身类服装8 个关键点的标注.本文从该数据集中选取8.6 万张服装图片作为训练数据集,3.7 万张作为测试数据集.

图5 全身类服装关键点

3.2 评价指标

CSPN 模型采用NE (Normalized Error)值作为评价指标,该值只考虑关键点可见情况下,预测关键点与实际关键点之间的平均归一化距离.数值越小代表预测的精确越高.

其中,k 为一张图片里关键点的编号,dk为预测关键点和标注关键点间的距离,sk为距离归一化参数(上装及全身为左右袖口的欧式距离,下装为左右腰侧的欧式距离),vk表示该关键点是否可见.在数据集标注中,1 表示关键点可见,0 表示关键点不可见,-1 表示关键点不存在.vk=1表 示k 关键点可见,δ (vk=1)表示编号为k 关键点参与计算.∑kδ(vk=1)表示计算所有图片中编号为k 的关键点的可见个数.

3.3 实验结果分析

由于关键点检测误差除与模型训练时的迭代次数有关,还与级联层叠特征金字塔网络结构相关.当级联层叠特征金字塔中层叠数和级联数大于4 时,继续增加特征金字塔结构中层叠数和级联数,不仅不能有效提升检测效果,而且会导致训练参数增加,从而降低训练效率.因而,本实验将特征金字塔层叠数设置为1~4,并统计4 个阶段中全身类服饰8 个关键点的平均NE 值,如表1 所示.

表1 在Landmark Detection Benchmark 数据集关键点检测的NE 值

表1 列举了CSPN 模型与FashionNet[9]、DFA 和DLAN 模型实验结果的对比.FashionNet 模型基于VGG16 结构,采用回归方法检测关键点;DFA 模型则基于VGG16 结构,通过3 层级联形式使用回归方式预测关键点;DLAN 模型是基于服装关键点原始数据的训练.表1 中,L.Collar (LC),R.Collar (RC),L.Sleeve(LS),R.Sleeve (RS),L.Waistline (LW),R.Waistline (RW),L.Hem(LH),R.Hem (RH)分别表示左衣领、右衣领、左袖口、右袖口、左腰侧、右腰侧、左下摆、右下摆.

从表1 可以看出,由于CSPN 模型引入了服装区域检测网络,并采用级联层叠特征金字塔网络,有效的提高了关键点检测的准确率.

表2 为采用区域检测网络和未采用区域检测网络的服装关键点NE 值对比.其中CSPN 为本文模型,NCSPN 为去掉服装区域检测网络Detection Proposal的模型.

表2 是否采用检测网络关键点检测的NE 值

从表2 中可以看出,相较于去掉服装区域检测网络,CSPN 模型具有更高的检测准确率.在实验过程中,缺少区域检测的步骤会导致左右袖口和左右衣摆易变形位置的关键点检测准确率较低.而CSPN 模型可以有效地解决这一问题.

另外,图6 列举了级联层叠金字塔结构中采用不同级联阶段时8 个关键点的平均NE 值及表3 为不同Stage 的算法性能对比.

实验中最终将NE 降低到5.56%,一张图片在模型上的检测时间为1 s.随着层叠特征金字塔级联数量的增加,关键点的预测值与真实值之间的距离逐渐缩小,说明关键点的检测准确性得到了有效提高,验证了CSPN 模型的有效性.

图7 为CSPN 模型在人体不同姿态下,对全身类服饰8 个关键点的检测效果.

图6 各关键点不同Stage 平均误差

表3 不同Stage 的性能对比

图 7 不同人体姿态下全身类服饰关键点的检测效果

4 结束语

针对现有服装数据库中,因服饰图片存在形变及背景复杂等因素导致服装分类识别率较低的问题,本文结合服装目标区域识别和关键点回归方法,提出了级联层叠金字塔网络CSPN 模型.该模型在DeepFashion数据集上与其他3 种网络模型进行了对比,结果显示:CSPN 模型能够有效提升服装关键点检测的准确率.由于实验中采用的图像特征提取网络ResNet-101 结构存在参数较多、效率较低等缺陷,因而后续计划通过改变或替换该网络结构,进一步提高关键点检测精度.

猜你喜欢

级联关键点金字塔
“金字塔”
铀浓缩厂级联系统核安全分析
实现级联形状回归方法对视线追踪
论建筑工程管理关键点
多供取料的Q模型级联的数学描述
肉兔育肥抓好七个关键点
Great Vacation Places
利用定义法破解关键点
金字塔是用金子造的吗
机械能守恒定律应用的关键点