无人货架场景下的人体关节点定位算法研究*

2021-04-06 10:48:24李梦瑶周亚同
计算机工程与科学 2021年3期
关键词:关节点定位精度姿态

李梦瑶,周亚同,韦 创,李 民

(1.河北工业大学电子信息工程学院,天津 300401;2.华中科技大学水电与数字化工程学院,湖北 武汉 430074)

1 引言

随着人工智能的发展,计算机视觉[1]和图像处理等技术成功运用到新零售[2]场景中,为零售商提供关于消费者需求的全面数据。在新零售场景中,无人货架作为消费者选购商品后可以自助扫码结算的平台,能有效反馈消费者的购买需求和偏好情况。通过统计各类商品被消费者拿起浏览的次数或消费者的购买清单,可以分析消费者购买行为,以此调整备货、进货策略,更好地满足无人货架场景的及时性需求,以改变传统零售商供应商品的低效、被动模式。

实现准确、高效定位无人货架前顾客上身关节点,是后续手持商品识别的重要基础。近年来,人体关节点的定位研究主要分为3类[3 - 5]。

(1)基于硬件传感器的研究方面。微软于2010年研发的光学传感器Kinect[6],能够根据内置算法实时获取人体关节点。Shotton等[7,8]将Kinect获取的人体深度图像像素分类为身体的多个部位,实现人体关节点检测。李文阳等[9]克服了光照因素对Kinect获取的人体图像造成的干扰,实现了人体关节点精确定位。Kinect等传感设备虽能方便地获取人体关节点位置信息,但对传感摄像头的依赖会导致应用区域的局限性并且增加了视频获取成本。

(2)基于图结构模型的研究方面。该类方法首先建立人体模型,并将其划分为不同部位,再通过图像处理提取特征实现人体关节点定位[10]。周倩等[11]基于细化算法提取人体骨架,在轮廓图上进行关节点精确定位。胡刚[12]提出一种对相邻部位空间相对位置与其子部位方向之间关系进行建模的关节点定位方法,克服了传统图结构模型对人体建模的不足。基于图模型的传统方法对于关节点可见的情形能够高效求解,但关节部位遮挡或存在外界环境等干扰因素会限制其表达能力,导致关节点定位精度下降。

(3)基于深度学习[13]的研究方面。随着人工智能的发展,基于卷积神经网络[14]的人体关节点提取算法也相继获得广泛应用。该类方法不依赖硬件设备,成本低,自动从大量样本中学习特征,避免手工设计的复杂性,能够更精确地定位人体关节点位置。2014年Toshev等[15]提出Deep Pose算法,其以分类网络AlexNet[16]为特征提取主干,并采用回归归一化关节点坐标的方式在网络中引入全连接层,增加了网络参数和计算量,且关节点定位精度不高。2016年Wei等[17]提出卷积姿态机CPM(Convolutional Pose Machine)。CPM采用多阶段级联方式:即在每个阶段,均将当前阶段图像特征与上一阶段输出的置信图共同作为下一阶段的输入,从而将空间信息和纹理信息融合,输出精细化的关节点位置信息。2016年Newell等[18]提出Stacked Hourglass算法,其通过堆叠由残差单元[19]构成的沙漏模块来提取不同尺寸的人体关节点特征,取得了较高精度。2017年Cao 等[20]提出能够实时检测多人人体关节点的Open Pose,该算法利用自下而上的方式对人体关节点进行定位,并利用复杂的特征向量亲和域参数来不断精确关节点位置。以上深度学习算法集中关注关节点定位精度,忽略了神经网络参数庞大和计算复杂等特点,无法兼顾算法性能和检测效率,限制了算法实用性。

针对上述问题,本文就无人货架旁存在单人的场景提出轻量级卷积姿态机L-CPM(Lightweight Convolutional Pose Machine)算法,主要通过引入轻量级卷积以及降低特征图分辨率,减少CPM的计算量,提升关节点定位速度;提出基于超分辨率的卷积姿态机EP-L-CPM(Efficient Sub-Pixel Convolutional Neural Network and Lightweight Convolutional Pose Machine)算法,其通过在L-CPM中引入超分辨重建ESPCN(Efficient Sub-Pixel Convolutional Neural Network)来恢复丢失的特征信息,以进一步提升关节点定位的精度。

2 相关理论

2.1 卷积姿态机结构及原理

卷积姿态机CPM是一种典型的采用多阶段级联方式实现人体关节点定位的算法,其核心是通过顺序化地使用大卷积核来获得大感受野,并以不断扩大感受野的方式,隐式地让网络中的神经元观测到图像全部的人体关节点信息,以提高关节点定位精度。这种方式在提高关节点定位精度的同时,也大幅度增加了计算量,其结构如图1所示。

Figure 1 Structure of CPM

CPM主要由2部分卷积层组成:由VGG构成的特征提取骨架,其输出为原始输入(Input Image)的图像特征,即FeatureMaps;一系列具有大尺寸卷积核的标准卷积层(Stand Convs),其主要用来提取空间特征,输出为关节点置信图,即Belief Maps。

2.2 ESPCN原理及分析

ESPCN是一种高效的超分辨率重构算法[21]。通过核心操作亚像素卷积将在低分辨率LR(Low Resolution)特征图上提取的特征进行整合以重构恢复高分辨率HR(High Resolution)特征图,其原理如图2所示。

Figure 2 Schematic diagram of ESPCN (C=1)

具体地,在LR特征图上提取特征的过程为:

f1(ILR;W1,b1)=φ(W1*ILR+b1)

(1)

fl(ILR;W1:l,b1:l)=φ(Wl*fl-1(ILR)+bl)

(2)

其中,l∈{1,…,L-1};L表示网络层数;Wl表示卷积核;bl表示偏置;φ()表示激活函数;ILR代表输入的LR特征图。

HR特征图重构过程为:

IHR=fL(ILR)=ps(WL*fL-1(ILR)+bL)

(3)

其中,ps()代表亚像素卷积操作,IHR表示由ESPCN恢复得到的HR特征图。亚像素卷积操作将尺寸为H×W×Cq2的LR输出特征图的像素重新排列成尺寸为qH×qW×C的HR特征图,实现LR特征图到HR特征图的q倍放大,其中,H、W分别为图像的高、宽,C为通道数。

3 轻量级卷积姿态机(L-CPM)算法

针对CPM算法存在计算量庞大的问题,本文基于MobileNet思想[22]和下采样理论[23]对CPM进行改进,提出L-CPM算法,在保证关节点定位精度的前提下,实现算法整体计算量的下降。

MobileNet是针对移动设备部署的轻量级网络,其核心结构是深度可分离卷积(DS-Conv)。如图3所示,该轻量级卷积模块将标准卷积(Stand Conv)分解为一个深度卷积(DW Conv)和一个1ⅹ1的点卷积(PW Conv),其可以成倍地降低时间复杂度和空间复杂度,能更高效地执行卷积操作。

Figure 3 Schematic diagram of two different kinds of convolution modules

L-CPM结构如图4所示。由于CPM的计算量集中在由VGG构成的特征提取骨架与具有大尺寸卷积核的Stand Convs。因此,一方面用MobileNet整体替换VGG,用DS-Conv替换Stand Convs;另一方面,利用下采样(SubSampled)降低DS-Conv的输出特征图分辨率,通过减少冗余信息来进一步减少算法计算量。

Figure 4 Structure of L-CPM

Figure 5 Internal structure of L-CPM

图5所示为L-CPM内部结构图,展示了L-CPM 引入深度可分离卷积和下采样后的结果,输出特征图尺寸由原来的32×32降为了16×16和8×8。

4 基于超分辨率重建的卷积姿态机(EP-L-CPM)算法

L-CPM 引入下采样后,计算量会进一步减少。这种通过缩减输出特征图分辨率来提升人体关节点定位速度的方式,会不可避免地产生卷积输出特征丢失,降低人体关节点定位精度。因此,本文提出一种基于超分辨率重建的卷积姿态机(EP-L-CPM),通过在L-CPM中引入超分辨率重建(ESPCN)来恢复丢失的特征信息。EP-L-CPM架构如图6所示。

Figure 7 Internal structure of EP-L-CPM

Figure 6 Structure of EP-L-CPM

ESPCN作用在L-CPM的最后端,利用亚像素卷积操作对输出特征图的像素进行重新排列,以实现特征图从低分辨率到高分辨率的变换,该过程虽然命名为亚像素卷积,但实际上并没有进行卷积操作;在重建过程中,增加了输出LR特征图的通道数,使得LR特征图邻域像素点间的信息得到充分利用,能高质量重建HR特征图。因此,EP-L-CPM在保证不增加算法整体计算量的前提下,能实现关节点定位精度的提升。

引入ESPCN后的EP-L-CPM的具体内部结构如图7所示。从图7可以看出,通道数为144、尺寸为8ⅹ8的输出特征图,其宽和高分别扩大了4倍,最终重建得到通道数为9、尺寸为32×32的输出特征图。

5 实验设备及指标

5.1 实验设备

为验证本文提出的算法在实际无人货架应用场景中的有效性,设计了一系列对比实验。所有实验均在TensorFlow1.12、Python3.68、具有4块11 GB的显存、核心频率1.48 GHz的NVIDIA GeForce GTX 1080服务器上运行。

5.2 实验参数设置

CPM、L-CPM、EP-L-CPM 3种算法均通过均方误差损失函数MSE(Mean Square Error)来衡量所预测的关节点热力图与真实关节点热力图之间的差异程度,其表达式如式(4)所示,并采用Adam(Adaptive moment estimation)的方式对损失函数进行迭代优化。同时,将batch size设置为16,初始学习率设置为10-4,且学习率以指数衰减方式随着迭代次数的增加而减小。

(4)

其中,N表示样本的个数,f(xi)与yi分别表示第i个样本的预测值与真实值。

5.3 实验评价指标

实验效果从精度(PCKh)、计算量(operations)和视觉效果等方面进行评价。相关评价指标表达式为:

(1)精度(PCKh)。

(5)

(2)计算量(operations)。

operations=2HW(CinK2+1)Cout

(6)

operations是衡量神经网络计算量的指标,单位为FLOPs,其值越小,表示网络计算量越小,算法执行速度越快。其中,Cin表示输入特征图的通道数,H和W分别表示输出特征图的高和宽,K表示卷积核的大小,Cout表示输出特征图的通道数。

6 实验结果及分析

针对无人货架实际应用场景,只需对人体上半身关节点进行检测。待定位的关节点分别为:颈部、左肩、右肩、左肘部、右肘部、左手腕、右手腕、左手部、右手部共9个关节点。其中左手部为:左手食指根部、左手大拇指中部、左手中指根部3者中的一点;右手部为:右手食指根部、右手大拇指中部、右手中指根部3者中的一点。

本文采用公开人体姿态数据集(AI Challanger)和实际无人货架场景人体姿态数据集来共同验证本文所提算法的可行性和优越性。实验从精度(PCKh)、计算量(operations)和视觉效果等方面对算法进行视觉观察与定量对比分析。

6.1 公开数据集上人体关节点定位效果分析

人体姿态数据集的复杂度取决于图中人体肢体动作复杂度、背景复杂度、光照影响和关节点是否存在遮挡等因素。影响因素越多,关节点定位检测的难度越大。从公开数据集(AI Challanger)中选取复杂程度不同的人体姿态图像,分别使用CPM、L-CPM和EP-L-CPM算法对其进行检测,并将关节点定位后的结果进行热力图可视化。

图8a~图8c为待检测的数据样本,关节点定位检测的难度逐渐增大,难度系数用σ表示(σ=1,2,3)。

Figure 8 Human postures to be detected in public dataset

Figure 9 Experimental results of three algorithms on public dataset (σ=1)

Figure 10 Experimental results of three algorithms on public dataset (σ=2)

图9所示是分别使用3种算法对难度系数为σ=1的人体姿态图定位检测的效果。从图9中可以看出,σ=1的人体姿态图中的肢体动作简单,且关节点之间不存在遮挡,利用3种算法均能成功检测出全部待检测的9个关节点,且能精准定位,初步验证改进后的CPM即L-CPM和EP-L-CPM具备一定的检测精度。图10所示是分别使用CPM、L-CPM和EP-L-CPM 对难度系数σ=2的公开数据样本检测的结果。图10a中CPM检测出8个关节点,由于图中人体左肩膀存在部分遮挡,具有一定检测难度,因此该关节点出现漏检。图10b中L-CPM 算法的检测效果要明显优于CPM的,左肩膀关节点没有出现漏检的情况,但此关节点的定位精度在视觉效果上不及EP-L-CPM的,位置存在偏差,定位效果存在提升空间。图10c中EP-L-CPM 算法解决了CPM算法出现的问题,视觉效果有很大的提升,9个待检测关节点均被成功检出,且实现了精准定位。图11a~图11c是不同算法在难度系数为σ=3的人体姿态图上的检测效果。随着检测难度系数的增加,3种算法之间的差异逐渐扩大。图中人体右肩膀存在遮挡、右手部与背景相融,因此该2处关节点的检测存在挑战。CPM检测效果最差,右肩膀和右手部均出现漏检。L-CPM 检测效果有所改善,仅有右手部一处出现漏检。EP-L-CPM 算法不仅将9个关节点均成功检出,且关节点定位最为精确,虽然右肩膀位置存在偏差,但也基本能达到要求,表明EP-L-CPM算法的定位效果最好。

图12是对3种算法在不同难度系数(σ=1,2,3)的公开数据样本上定位效果的定量比较。在相同检测难度水平下,数据柱从左到右依次表示CPM、L-CPM和EP-L-CPM的PCKh值。从图12中可知,当检测难度较低时,3种算法均能表现出较好的定位效果;随着检测难度的提高,CPM、L-CPM和EP-L-CPM的PCKh值均出现不同水平的下降。其中,CPM的PCKh值要明显低于L-CPM与EP-L-CPM的,表明其定位精度最低。EP-L-CPM的PCKh值最高,表明在3种算法中,利用该算法所正确预测出的关节点所占比例最大,即其能检测出最多数量的与真实标注位置间的偏差距离在特定阈值之内的关节点。

Figure 12 PCKh histogram of comparative experiment on public dataset

Figure 13 Human posture to be detected on reality scene dataset

6.2 实际无人货架场景下人体关节点定位效果分析

为进一步验证本文所提算法的性能,设计实验对无人货架实际应用场景中的人体姿态图像进行定位检测。从实际场景中选取不同难度系数(σ=1,2,3)的人体姿态图像,使用CPM、L-CPM和EP-L-CPM算法对其进行检测,并将关节点定位后的结果进行热力图可视化。

图13a~图13c为待检测的数据样本,关节点定位检测的难度逐渐增大。图14中是分别使用CPM、L-CPM 和EP-L-CPM对难度系数σ=1的实际场景数据样本的检测效果。由图14a~图14c对比可以看出,在样本难度系数较低的水平下,3种算法的检测效果接近,均能精确定位出待检测的9个关节点。进一步验证了L-CPM与EP-L-CPM算法在实际无人货架场景中的有效性。

Figure 14 Experimental results of three algorithms on reality scene dataset(σ=1)

图15a~图15c分别对应3种算法对难度系数为σ=2的人体姿态图的检测效果。由于图中人体出现弯腰状态,导致左肘部和左手腕不易辨别,检测存在难度。从图15a中可以看出,CPM算法表现不佳,只检测出左肘部,存在漏检。图15b中L-CPM算法的检测效果较CPM有明显的提升。其中,左肘部和左手腕关节点未出现漏检情况,但左肘部位置定位不精确,与左手腕造成混淆,存在一定的误差。图15c中EP-L-CPM算法的检测精度要明显优于CPM的,左肘部和左手腕2个检测难度最高的关节点均被成功检出,且实现了精准定位。

Figure 15 Experimental results of three algorithms on reality scene dataset(σ=2)

再次使用3种算法对难度系数σ=3的人体姿态图进行检测。图中人体衣着为纯黑色且呈弯腰状态,使得右肘部不仅难以辨别且与背景颜色融为一体;另外,左手腕存在部分遮挡,因此该2处关节点的检测存在难度。根据图16a~图16c中的视觉效果,将3种算法按精度升序进行排列为:CPM、L-CPM、EP-L-CPM。图16c中L-CPM算法精确定位出5个关节点,左手腕出现漏检。图16b中EP-L-CPM算法将6个关节点均成功检出,虽然左手腕位置存在偏差,但基本上满足要求。图16c中L-CPM算法精确定位出5个关节点,左手腕出现漏检。该实验也间接证明了在实际场景的定位检测中,EP-L-CPM的效果最优。

Figure 16 Experimental results of three algorithms on reality scene dataset(σ=3)

图17是3种算法对不同难度系数(σ=1,2,3)的实际场景人体姿态图检测效果的定量评价指标。在相同检测难度水平下,数据柱从左到右依次表示CPM、L-CPM、EP-L-CPM的PCKh值。从图17中可以看出,当σ=1时,CPM的表现要稍差于L-CPM与EP-L-CPM,但差异较小;随着检测难度的增加,差异逐渐增大,CPM的定位精度明显低于L-CPM和EP-L-CPM的。其中,EP-L-CPM的定位精度最高,L-CPM的检测效果不及EP-L-CPM的。

Figure 17 PCKh histogram of comparative experiment on reality scene dataset

6.3 算法性能评估及分析

本节从精度(PCKh)和计算量(operations)2个评价指标出发,对CPM、L-CPM和EP-L-CPM 3种定位算法的性能进行定量分析。其中,计算量(operations)用来统计算法的浮点计算次数,具体数值通过调用TensorFlow中的profiler.ProfileOptionBuilder.float_operation与profiler.Profile 2个API所得。为使3种定位算法的计算量对比更加直观,将FLOPs转换为GFLOPs的形式进行分析(1 GFLOPs=109FLOPs)。由表1可以看出,CPM的定位精度最低,计算量最大。L-CPM在结合MobileNet与下采样的优势后,计算量明显下降,且定位精度得到进一步提高,弥补了CPM的不足。其中,L-CPM 算法的精度为89.79%,较CPM有4.52%的提升,其计算量为CPM的1/64,成功实现了轻量化。EP-L-CPM在L-CPM的基础上引入ESPCN,算法精度为92.46%,较L-CPM有2.67%的提升,有效弥补了L-CPM因通过下采样来减小特征图分辨率而出现的精度损失;另外,EP-L-CPM在3种算法中计算量最少,分析其原因是ESPCN利用亚像素卷积操作重建高分辨率特征图恢复丢失特征信息的过程,为像素点的重新排列,因实际没有进行卷积,所以并未引入过多的计算量。综合算法精度与计算量大小因素,EP-L-CPM在实际场景中的应用优势更加明显。因此,实验表现和理论分析表明了本文提出的L-CPM和EP-L-CPM算法的有效性和优越性,在提高关节点定位精度的同时,能最大限度地减少算法计算量。

Table 1 Performance evaluation of different algorithms

7 结束语

本文将CPM、MobileNet、下采样和ESPCN进行优势结合,提出了L-CPM和EP-L-CPM算法并进行了充分的对比实验,验证了L-CPM和EP-L-CPM算法对各种人体姿态图的定位检测效果。根据本文中的理论分析和实验结果可以得出如下结论:

(1)L-CPM确实能够有效结合CPM、MobileNet和下采样的优势,与单独的CPM相比,L-CPM可以更精确地定位人体关节点,且计算量显著下降。

(2)EP-L-CPM作为L-CPM的优化算法,有效结合了L-CPM和ESPCN的优势,从视觉效果与定量指标2方面分析,EP-L-CPM较L-CPM具有更高的定位精度;且ESPCN中的亚像素卷积优势,使EP-L-CPM的计算量在L-CPM的基础上进一步减少,表明了该算法的优越性。

(3)综合多种因素,EP-L-CPM是具有更高检测精度和更小计算量的人体关节点定位算法,在实际应用中具有突出的优势。

猜你喜欢
关节点定位精度姿态
北斗定位精度可达两三米
军事文摘(2023年4期)2023-04-05 13:57:35
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
攀爬的姿态
学生天地(2020年3期)2020-08-25 09:04:16
GPS定位精度研究
智富时代(2019年4期)2019-06-01 07:35:00
组合导航的AGV定位精度的改善
测控技术(2018年4期)2018-11-25 09:47:22
全新一代宋的新姿态
汽车观察(2018年9期)2018-10-23 05:46:40
跑与走的姿态
中国自行车(2018年8期)2018-09-26 06:53:44
搞好新形势下军营美术活动需把握的关节点
星载激光测高系统对地三维定位精度分析