基于轻量级网络的实时人体关键点检测算法

2021-04-29 03:21:28胡江颢王红雨乔文超马靖煊
计算机工程 2021年4期
关键词:关键点尺度卷积

胡江颢,王红雨,乔文超,马靖煊

(上海交通大学仪器科学与工程系,上海 200240)

0 概述

人体关键点检测是计算机视觉领域的重要研究方向,通过检测人体头顶、四肢关节和颈部等关节部位得到关节点信息,并将其应用于人体行为识别[1-2]、人机交互[3]和步态识别[4]等任务中,主要包括单人关键点检测、多人关键点检测[5-7]、视频关键点检测[8]和关键点跟踪[9]等相关技术。近几年,移动终端设备快速普及,但目前较先进的关键点检测算法仍需较大的GPU 算力,并不能很好地满足手机、平板、航拍无人机等日常联网设备的实时检测需求,这使得其难以在日常生活中得到广泛应用。

近年来,研究人员将深度学习与人体关键点检测技术相结合并取得了一定的进展。现有的关键点检测算法多数是使用反卷积将具有高分辨率的高层特征与具有强语义信息的低层特征进行融合,提高预测特征图的分辨率后进行关键点检测。2016 年,NEWELL 等人提出Hourglass 算法[10],该算法使用沙漏模型融合高低层特征,采用中间监督技术进行关键点预测,并在MPII多人数据集上取得重大突破。同年,WEI等人提出CPM算法[11],该算法使用多个阶段的网络对人体关键点进行检测,并将前一个阶段的预测输出加入下一阶段的输入中,随着阶段数目的增加,检测结果不断得到精炼。2017 年,旷世科技的CHEN 等人提出CPN 算法[12],该算法为COCO 人体关键点检测冠军算法,分为全局网络和精炼网络两部分,创新性地提出先对容易关键点进行检测,再在精炼网络中使用在线难例挖掘学习难检测的关键点。2019 年,SUN 等人提出一个始终保持高分辨率的网络[13],该网络可以多次重复融合高低层特征图,进一步提升关键点检测性能。

为在算力有限的移动平台上实现实时检测任务,首要的是解决移动终端的算力瓶颈问题,因此众多研究人员致力于轻量级[14-16]主干网络的研究,这些轻量级主干网络在减少计算量的同时仍具有较优的特征提取性能,并且便于实时检测、产品安装以及后续版本升级等环节的实现。对于Hourglass 等多阶段预测算法,虽然在对人体关键点的不断优化过程中可有效提高检测精度,但是重复的编码与解码过程导致了巨大的计算量和参数量。此外,目前多阶段检测算法通常将最后阶段的预测结果作为最终预测输出,但是将性能指标具体量化到每一个关节点上时,最后阶段的预测结果并非在每个关键点上都具有最优性能,因此仅将最后阶段预测结果作为网络最终预测输出的检测算法并未有效利用多阶段的预测结果。本文提出基于轻量级网络的实时人体关键点检测算法LWPE,使用MobileNetV2[17]作为主干网络,利用编解码过程控制网络模型规模,提升LWPE 算法运行速度,在精炼网络中使用特征金字塔网络(Feature Pyramid Network,FPN)[18]实现特征融合,提高LWPE 算法关键点检测精度。

1 LWPE 主干网络和卷积模块选取

当前卷积神经网络模型的设计趋势是通过增加网络深度和宽度并加大网络计算量来提升网络性能,但由此产生的庞大计算量远超移动设备和嵌入式设备的承载能力,使得此类网络模型难以应用于日常生活中。MobileNetV2 使用深度可分离卷积模块大幅减少了网络模型规模,提高了运行速度,具有良好的网络性能。表1 为MobileNetV2、ShuffleNet(1.5)[19]和MobileNetV1[20]在ImageNet 上的性能对比结果。可以看出,MobileNetV2 在Top-1 准确率和模型规模上都具有显著优势,因此LWPE 网络模型采用MobileNetV2 作为主干网络并对其通道数进行调整,使用MobileNetV2_S 表示调整后的网络。

表1 3 种网络在ImageNet 上的性能对比Table 1 Performance comparison of three networks on ImageNet

深度可分离卷积是MobileNetV2 的核心。如图1所示,将传统卷积操作分为深度可分离卷积操作和逐点卷积操作两层因式运算。深度可分离卷积大幅减少了参数量和运算量。假设输入的特征图大小为D×D×M,卷积核大小为K×K×M×N,卷积步长为1 并将特征图扩充为1,传统卷积操作的运算量Otc和参数量Ptc为:

深度可分离卷积操作的运算量Odc和参数量Pdc为:

两者运算量CO和参数量CP的比值为:

图1 传统卷积、深度可分离卷积和逐点卷积示意图Fig.1 Schematic diagram of traditional convolution,depthwise separable convolution and point-wise convolution

由于卷积核大小一般为3 或者5,随着网络加深,特征图的通道数不断增加甚至可达到几百,因此传统卷积核的运算量和参数量约为深度可分离卷积的9倍或者25倍。

MobileNetV2 使用具有线性瓶颈的反向残差模块,其分为卷积步长为1 和2 两种模式,如图2 所示,其中,Conv 1×1 表示卷积核大小为1×1 的卷积操作,Dwise 3×3 表示卷积核大小为3×3 的深度可分离卷积操作,Linear 表示该卷积层之后不加非线性激活函数,stride=2 表示卷积步长为2。当卷积步长为2时进行降采样,模块输入不经过跳连加入模块输出中。当卷积步长为1 时,模块输入加入模块输出中。卷积步长为2 时的具有线性瓶颈的反向残差模块结构与残差模块结构相似,与残差模块不同的是:该模块首先通过1×1 的卷积核对输入特征进行卷积操作,使其通道数上升;然后通过激活函数Relu6 增加模型非线性;最后使用1×1 的卷积结合线性激活函数将特征通道数降低为输入通道数。在精炼网络中,LWPE 使用一系列具有线性瓶颈的反向残差模块对点加操作后的特征图进行特征提取。

图2 反向残差模块Fig.2 Reverse residual module

2 LWPE 算法

人体关键点检测即通过检测人体头顶、四肢关节和颈部等主要关节部位得到关节点信息。对于一个具有k个关节点的检测任务,假设Pk∈M,其中,Pk代表第k个关节点的位置,M表示分辨率为ω×h的图片位置。LWPE 是一种适用于移动终端的实时人体姿态检测算法,采用轻量级主干网络提取图片特征,并在后续网络中使用深度可分离卷积进一步减少网络权重并实现网络加速。LWPE 的主要任务是从图片中找出所有关节点{P1,P2,…,Pk}的位置。如图3所示,LWPE由三部分组成:1)用于提取特征的轻量级主干网络MobileNetV2_S;2)对预测结果不断优化迭代的精炼网络;3)将预测结果进行融合的融合网络。在精炼网络中,首先使用FPN将多尺度的特征进行融合,高倍降采样的特征图通过上采样叠加到相邻的低倍降采样特征图上,如32 倍降采样特征图通过上采样与16 倍降采样的特征图进行融合,并在每个特征图上对关键点进行预测,所得的预测结果加入相邻的更高分辨率的特征图上,如在16 倍降采样上的预测结果加入8 倍降采样的特征图上,从而不断优化预测结果。在融合网络中,将精炼网络中不同尺度下的预测结果f1、f2、f3进行融合,得到最终的网络输出f。

图3 LWPE 算法结构Fig.3 Structure of LWPE algorithm

2.1 LWPE 网络结构

LWPE 网络结构如图4 所示,其中Bi/j表示网络的第i个block,该block 内的特征图大小为原图的j倍降采样。该网络由提取特征的主干网络、对预测结果不断优化的精炼网络和融合多尺度预测结果的融合网络组成。特征网络提取特征后,LWPE 在多尺度上对人体关键点部位进行检测,在16 倍降采样的特征图上对身体关键点的位置进行粗略预测,得到一个粗略的人体关键点热力图。在得到第1 个热力图后不断优化关键点位置预测。为进一步提升关键点预测精度,LWPE 通过融合网络将最后多个尺度的预测结果进行整合,得到最终的预测输出。LWPE 网络参数设置如图5 所示,其中,IR blocks 表示具有线性瓶颈的反向残差模块,t表示通道膨胀因子,c表示输出通道数,n表示重复模块数,s表示步长,K表示卷积核大小;IR blocks_f 表示1 个卷积核大小为3×3、膨胀因子为3、步长为1 且输出通道数与输入通道数相同的具有线性瓶颈的反向残差模块;Dwise_set 表示3 个7×7 的深度卷积;Deconv,×S表示S倍的反卷积操作;Conv2di×i,j表示使用大小为i×i的卷积核对特征图进行卷积,输出的特征图的通道数为j;Add 表示对特征图进行点加操作。

图4 LWPE 网络结构Fig.4 Network structure of LWPE

图5 LWPE 网络参数设置Fig.5 Network parameters setting of LWPE

2.1.1 精炼网络

主流关键点检测算法一般采用多个级联的编解码流程,如文献[21]提出的CFA 算法由多个连续的级联沙漏模型组成。CFA 算法在MPII 数据集的多级精炼阶段的性能指标中,单个阶段的沙漏模型仅比4 个阶段的沙漏模型的检测精度低0.69,但却增加了巨大的计算量,对于移动终端的关键点检测算法而言,为在多阶段预测的同时提升实时性,需要进一步缩小提取特征的主干网络,但是这样可能会降低特征提取性能及算法精度,因此LWPE 在一个编解码流程中完成所有精炼过程。

随着卷积神经网络的不断加深,多数学者采用不断减少特征图及增加通道数的设计模式。在该模式中,网络所提取特征的语义信息不断增加,与此同时纹理信息却不断丢失。LWPE 使用FPN 将高层信息与底层信息相融合,从而获取不同尺度的特征信息并提高特征表达能力。对于主干网络为MobileNetV2_S 的LWPE,需要通过训练学习实现关键点的精准预测。将输入图片用x表示,其中x∈ℝ3,代表图片的所有像素信息。对于检测n个关键点的任务,使用高斯核将图片中的n个关键点表示为n个二维热力图,所有关键点信息用y表示,其中y∈ℝ3,y的每个通道代表一个关键点的热力图,因此人体关键点估计即寻找映射函数f:y=f()。图6为精炼网络结构,其中:IR blocks 表示具有线性瓶颈的反向残差模块;Dconv 表示反卷积操作;Convi×i表示大小为i×i的卷积核;Heat Map 表示网络预测的人体关键点热力图。

图6 精炼网络结构Fig.6 Structure of refining network

假设fi,i∈{4,8,16}表示每个预测尺度上的映射函数,gi,i∈{4,8,16}表示每个尺度上特征融合的映射函数,各尺度上的映射关系如式(7)所示:

其中:ai,i∈{4,8,16,32}表示主干网络在i倍降采样上的特征图;pi,i∈{4,8,16}表示网络上采样过程中在i倍降采样上的特征图。

在整个精炼网络检测流程中,首先使用低分辨率特征图检测容易的关键点,然后将得到的关键点信息通过热力图的形式输入到下一个尺度的关键点检测中,对检测出的容易关键点进行优化并继续找出未检测出的困难关键点,这样不断迭代优化检测结果,最后从最高分辨率的特征图上可得到最优的关键点信息。

2.1.2 融合网络

目前,多阶段关键点检测算法多数是直接将最后一阶段的预测结果作为最终的预测输出,本文借鉴CFA 算法思想,为结合不同阶段的结果进一步提高关键点的预测精度,将多阶段检测的关键点热力图进行融合,计算公式为:

其中,σN-n,σN-n-1,⋅⋅⋅,σN表示最后多个阶段预测的关键点热力图,在CFA 算法的检测结果中,不同阶段预测总体结果间的差距较小,在某些具体部位的预测中,低阶段的预测结果甚至优于高阶段的预测结果,如第二阶段的肘部、肩部和膝盖均是所有阶段中最优的结果,而对于其他部位,不同阶段间的结果差异较小,但融合后可有效提高预测精度。因此,本文在LPEW 中设计针对多尺度关键点预测结果的融合网络。

融合网络结构如图7 所示。对于3 个尺度上的预测输出yi通过3 个7×7 的深度卷积操作,深度可分离卷积可单独在热力图的每个通道上单独操作,点加操作可保证不同部位关节点预测结果的融合。对于每个深度可分离卷积操作的输出使用非线性激活函数sigmoid 增加融合函数的复杂度,得到最终的预测输出Y,如式(9)、式(10)所示:

其中:N表示关键点预测的尺度总数,(N−n)~N表示关键点预测的最后n层;表示第i个预测尺度对第k个关键点的预测结果;zk表示在3 个预测尺度上第k个关键点的拟合函数;Yk表示融合网络对第k个关键点的预测结果。

图7 融合网络结构Fig.7 Structure of fusion network

2.2 LWPE 损失函数

在训练阶段,网络通过损失函数进行反向传播,学习映射关系获得关键点预测输出的最优解,在多个尺度上LWPE 重复生成关键点热力图yi。融合网络将得到的多尺度预测的热力图进行融合得到输出Y。在每个输出处定义一个损失函数,该函数最小化该处输出与真实关键点热力图之间的L2 距离。Gk∈M表示k个关键点的真实位置,M表示输入分辨率为w×h的图片所有位置,以每个关键点位置为中心使用高斯函数生成一个该关键点的热力图bk∈ℝ2。因此,结合精炼网络的损失函数Lms与融合网络的损失函数Lfuse得到LWPE 的损失函数L,如式(11)~式(13)所示:

其中,(m)表示在第i个预测尺度上预测的第k个通道的热力图m位置上的预测值,Yk(m)表示融合阶段预测的第k个通道的热力图m位置上的预测值,bk(m)为第k个关键点热力图m位置上的真实值。

3 实验与结果分析

实验采用Tensorflow 深度学习开发平台、i7-5930K CPU、RTX2080 GPU、8 GB 显存和Ubuntu16.04 操作系统。实验输入图片分辨率为192 像素×192 像素,随机使用旋转、翻转、缩放、裁剪、亮度调整、对比度调整和饱和度调整等图片处理策略对输入的训练图片进行数据增强。在此基础上,使用Adam 对网络模型迭代220 000 次,批次大小为32,初始学习率为0.001,每万个迭代轮次的学习率衰减为之前的95%。

3.1 数据集和评价指标

本文算法面向手机终端实现实时人体关键点检测,与自然场景拍摄下密集且小的目标特点不同,手机自拍视频具有一定的目的性与针对性。实验数据集由来自AI Challenger 数据集的23 946 张单人图片组成,其中随机选取22 446 张图片作为训练样本,剩下1 500 张作为测试样本。标签使用Json 格式存储,标签存储目标人体的14 个关节点信息,其中−1 表示图片中不存在该关节点。实验使用关键点正确估计的比例(Percentage of Correct Keypoints,PCK)中以头部长度(head length)作为归一化参考的PCKh 评价关键点预测精度。实验结果均为PCKh@0.5 结果,即使用头部长度的50%作为匹配阈值。每个关键点的预测位置为预测的热力图上相应通道最大响应点的位置。

3.2 多尺度预测及其结果融合实验

3.2.1 多尺度预测实验

LWPE 算法采用轻量级的主干网络进行特征提取,在不同分辨率的特征图上将多尺度预测结果进行不断精炼最终输出预测结果。本文通过实验研究网络模型的预测尺度对关键点预测精度的影响,如表2 所示,可以看出三尺度网络模型的关键点预测精度整体最优,四尺度网络模型的关键点预测精度整体最差。由于LWPE 算法特征提取能力不强,四尺度网络模型使用32 倍降采样进行关键点检测并将预测结果加入后续预测网络中,预测结果的特征图不仅分辨率极低且特征表现能力不够,导致预测结果的误差极大,其全身PCKh@0.5 仅为53.5%。主要原因为在32 倍降采样上的损失函数在数值较大时就已达到饱和状态,使后续尺度上的训练难度增大,并且由于32 倍降采样所得的结果误差较大,因此会影响后续网络的预测性能。三尺度网络模型的全身PCKh@0.5 从16 倍降采样上85.9%的预测精度逐渐提升到4 倍降采样上的89.3%,可见使用三尺度网络模型在不断对预测结果进行精炼的同时可有效提升网络的检测性能。

表2 多尺度网络模型的PCKh@0.5 对比Table 2 Comparison of PCKh@0.5 of multi-scale network models %

3.2.2 多尺度预测结果融合实验

对于三尺度预测的LWPE 算法,其不同尺度的检测性能相差较小,在某些部位的关键点预测中,低尺度的预测结果甚至优于高尺度的检测结构,如在8 倍降采样上的肩部、胯部和膝盖都是所有尺度中最优的结果。将不同尺度上的预测结果进行融合可有效提高预测精度。如表3 所示,多尺度预测融合后的全身PCKh@0.5 较4 倍降采样上提高了0.4 个百分点,与表2 中不加融合网络的三尺度模型在4 倍降采样上的预测结果相比全身PCKh@0.5 提高了0.5 个百分点。融合网络对不同尺度之间的预测结果通过函数拟合,在不同尺度上找出各部位上的最优关键点预测结果,然后融合得出综合性能最佳的预测输出,有效地提升了网络检测性能。图8 为LWPE 算法在测试集图片上的检测结果,可见当人体关键点遮挡较少时,可以精准地检测出所有关键点,但当人体姿态变形或遮挡严重时,部分关键点检测效果不佳。

表3 多尺度预测结果融合的PCKh@0.5 对比Table 3 Comparison of PCKh@0.5 of the fusion of multi-scale prediction results %

图8 LWPE 算法检测结果Fig.8 Detection results of LWPE algorithm

3.3 不同算法性能对比

为验证LWPE 算法的可行性,将其与CPM 和CPN算法进行比较。CPM 和CPN 算法网络模型较大,无法部署在移动终端,而LWPE 算法基于轻量级关键点提取网络,因此将CPM 和CPN 算法的主干网络换成与LWPE 相同的MobileNetV2_S,并将深度可分离卷积替换标准卷积后进行对比实验。在数据集上3 种算法的PCKh@0.5 对比结果如表4 所示。在使用相同主干网络的条件下,LWPE 算法的参数量和浮点运算量分别为CPN 算法的64.3%和37.5%,PCKh@0.5 提升了1.5个百分点,单帧运行时间减少了22 ms,LWPE 算法参数量和浮点运算量分别为CPM 算法的37.1%和15%,但在单帧运行时间是其3.4 倍的情况下PCKh@0.5 仅下降了0.1 个百分点,其中单帧运行时间是网络模型在华为荣耀20pro 手机上所测得数据。

表4 3 种算法的PCKh@0.5 对比Table 4 PCKh@0.5 comparison of three algorithms

4 结束语

本文提出一种基于轻量级网络的实时关键点检测算法,使用深度可分离卷积减少模型参数量并提升模型运行速度,并通过精炼网络和融合网络不断优化算法检测性能。实验结果表明,在同时使用MobileNetV2_S作为主干网络的情况下,LWPE 算法相比传统CPM 和CPN 算法参数量和浮点运算量均明显减少,并具有较高的检测精度和较好的实时性能。后续将对该轻量级网络模型做进一步优化,解决人体姿态遮挡或变形时的关键点检测问题,并将其应用于移动终端的多人关键点检测中,提升其适用性与实用性。

猜你喜欢
关键点尺度卷积
聚焦金属关键点
肉兔育肥抓好七个关键点
今日农业(2021年8期)2021-11-28 05:07:50
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于傅里叶域卷积表示的目标跟踪算法
宇宙的尺度
太空探索(2016年5期)2016-07-12 15:17:55
医联体要把握三个关键点
中国卫生(2014年2期)2014-11-12 13:00:16
9
一种基于卷积神经网络的性别识别方法
电视技术(2014年19期)2014-03-11 15:38:20