APP下载

基于级联卷积神经网络的彩色图像三维手势估计

2020-05-12戴仕明杨文姬杨红云钱文彬

小型微型计算机系统 2020年3期
关键词:彩色图像掩膜级联

刘 玮,戴仕明,杨文姬,杨红云,3,钱文彬

1(江西农业大学 计算机与信息工程学院, 南昌330045)

2(江西农业大学 软件学院, 南昌330045)

3(江西省高等学校 农业信息技术重点实验室, 南昌 330045)

E-mail :ywenji614@163.com

1 引 言

基于视觉的三维手势估计在人机交互和虚拟现实等众多领域[1-3]中有着重要的应用,随着这些领域不断发展,准确的三维手势估计越来越重要.但是由于手的灵活性,手指关节的多变性以及手部自我遮挡等原因,基于视觉的三维手势估计仍是一个具有挑战性的问题.

近年来,基于深度图像的三维手势估计取得了巨大的成果[4-10],但深度相机在现实应用中具有一定的局限性.相比于深度相机,普通彩色相机的应用更为广泛,因此本文是基于彩色图像进行的.与深度图像相比,彩色图像缺少深度信息,这使得从单个彩色图像估计三维手势具有更大的挑战性.

为了解决从单个彩色图像估计准确的三维手势困难这一问题,本文提出了一种基于级联卷积神经网络的估计方法,该级联网络分为三阶段,手部掩膜估计阶段、二维手势估计阶段和三维手势估计阶段.首先,基于手的轮廓信息有助于更准确的进行手部定位与跟踪[11],因此,在级联网络中设计了手部掩膜估计阶段,用于产生手部的掩膜信息和特征信息,该信息有助于后续的手姿态估计;二维手势估计阶段则利用生成的手掩膜和特征信息估计二维手势,并利用多个子阶段优化估计的二维手势;三维手势估计阶段在二维手势估计的基础上,通过三维提升网络,得到最终的三维手势.

该三阶段级联网络采用端到端的训练,因此各阶段可实现相互促进.一方面,第一阶段手部掩膜估计阶段生成的掩膜以及相应的特征信息有助于第二阶段的二维手势估计,从而进一步优化第三阶段的三维手势估计结果;另一方面,基于深度学习的反向传播原理,二维手势估计与三维手势估计阶段又会优化掩膜估计阶段,因此可实现各阶段共同进步,优于各阶段网络单独训练[12].

本文的主要贡献如下:1)新增手部掩膜估计阶段,将生成的手部掩膜以及相应特征信息加入到二维手势估计中,手掩膜提供的软约束可以使手势估计更为准确;2)提出了一种新颖的级联卷积神经网络,从单个彩色图像估计三维手势,三阶段进行端到端训练,实现三阶段互相促进,最终优化三维手势估计的准确性;3)在两个公开数据集上进行评估,实验结果表明该三阶段级联网络产生了卓越的三维手势估计精度,验证了其有效性.

2 相关研究

2.1 基于深度图像的手势估计

随着低成本的深度传感器出现,基于深度图像的三维手势估计研究迅速发展,因为深度图像提供了更加丰富的背景信息,降低了深度模糊度.随着深度学习概念的普及[13],深度神经网络也被用于从深度图像估计手势,这些方法大致可以分成生成方法[14-16]、判别方法[17-19]和混合方法[20-22]三类.但深度相机在实际生活中的应用还不够广泛,具有一定的局限性,目前大部分深度相机仅应用于科学研究中,这使得基于深度图像的手势估计方法缺乏实际应用性.

2.2 基于彩色图像的手势估计

彩色图像在日常生活中应用广泛,所以目前也有很多学者进行基于彩色图像手势估计方法的研究.早期基于彩色图像的手势估计方法[23,24]基于图像序列估计手势,其中Gorce等人[23]通过最小化目标函数动态估计三维手势、手纹理和光源.随着深度学习被应用于深度图像的手势估计中,基于深度神经网络的彩色图像手势估计[25,26]也被提出.目前大多方法都是通过设计不同的深度神经网络来进行手势的估计,例如Z&B[12]使用了两个独立的深度神经网络来估计三维手姿态,两个独立的网络包括二维手势估计网络和三维手势估计网络,估计前对图像进行定位、裁剪和调整尺寸预处理操作,将裁剪图像输入二维估计网络估计二维手热图,再输入三维估计网络估计三维手势.然而该方法是两个网络单独训练,不能达到全局最优.Wang等人[27]将手部掩膜估计和二维手势估计级联起来,用于提高单个彩色图像的二维手势估计精度.但是未能提升到三维手势估计,缺乏实际应用性.Cai等人[28]提出了一个弱监督网络,使用一个深度正则化器,将从彩色图像估计的三维手势转换成深度图,将三维坐标估计损失转化为深度图损失,有效的解决了三维关键点标记获取困难这一问题.Ge等人[29]将手表面网格估计加入到网络中,将彩色图像估计的二维手热图通过图形卷积网络,估计手表面网格,再通过手表面网格回归三维手势,该方法识别精度较高,但是手表面网格真实标记缺乏,制作合成数据也较为困难,数据获取代价较大.

基于文献[12]中各阶段网络单独训练,不能达到全局最优,以及文献[27]中手势估计未能提升到三维,缺乏实际应用性等问题,本文提出了一种基于级联卷积神经网络的三维手势估计方法.与Z&B[12]提出的方法不同点有两个,首先本文在估计二维手势前新增了一个手的掩膜估计,并将估计得到的掩膜和特征信息加入到二维手势估计的卷积中去,这样做能够提高二维手势估计的准确性,其次本文将新增的手部掩膜估计、二维手势估计和三维手势估计级联起来,进行端到端的训练,发现三阶段级联进行端到端的训练能够互相促进共同进步.与Wang等人[27]方法的区别在于本文将三维手势估计加入到级联网络中,进行单个彩色图像的三维手势估计,此外他们的方法没有对原始彩色图像进行手部定位裁剪,对于手部比例较小的图像识别效果不佳,而本文使用了裁剪网络对原始彩色图像手的位置进行定位,并将手部裁剪出来,有助于提高手姿态估计的准确度.

3 基于级联卷积神经网络的三维手势估计方法

3.1 概 述

本文从单个彩色图像估计三维手势,如图1所示,采用了三阶段级联架构,由手掩膜估计阶段、二维手势估计阶段和三维手势估计组成.

图1 三阶段级联网络框架图

首先使用裁剪网络对原始图像进行预处理,定位手的位置,将手部裁剪出来,得到以手为中心的单个彩色图像作为级联网络的输入,通过手掩膜估计网络生成手部掩膜和特征信息,并将掩膜和特征信息输入到二维估计网络中估计手的二维关键点热图,再通过三维估计网络,学习多种可能的手部关节及其先验概率,在二维手热图的基础上输出最有可能的三维手势.

3.2 三维手势表示

(1)

3.3 分割网络

手在每张图像所占比例有大有小,而网络通常对于手部明显的图像识别率较高,对于手部所占比例较小,手部不明显的图像识别效果较差.为了解决手部比例问题,本文简化了卷积姿态机器(CPM)网络[30]的网络架构作为分割网络,对原始彩色图像进行定位和裁剪的预处理,该网络通过学习估计手部的掩膜,利用掩膜将手部定位并按比例分割出来,统一输出分辨率为256×256的裁剪彩色图像,定位和裁剪的预处理能够使后续的姿态估计更为准确.

3.4 三阶段级联网络

为了解决从单个彩色图像估计准确的三维手势困难这一问题,本文提出了一种基于级联卷积神经网络的估计方法,网络结构如图2所示.

图2 三阶段级联网结构图

第一阶段对手部掩膜进行估计,该阶段使用VGG-19网络[31]的前部分,对输入的裁剪彩色图像进行卷积得到128通道的特征F,对特征F再卷积得到2通道的手部掩膜M.估计得到的手部掩膜M就是对彩色图像中手的空间布局进行编码,而这种空间布局可以通过卷积图像得到.

第二阶段是进行二维手势的估计,该阶段利用了5个连续的子阶段[32]估计手关键点热图,使用二维热图来描述二维手势是因为Pfister等人[33]证明了回归二维关键点热图要优于二维坐标.该阶段首先将128通道的特征F和2通道的手掩膜M连接,生成新的130通道的特征信息S,作为二维手势估计第1个子阶段的输入,通过第1个子阶段输出手部21个关键点的手热图1(21通道),后4个子阶段都将前一子阶段估计的21通道热图和130通道特征信息S连接生成的151通道特征信息作为输入,最后一子阶段估计的手热图5作为第二阶段二维手势估计的结果.

第三阶段进行三维手势的估计,其将第二阶段估计的结果作为三维手势估计的输入,使用一个三维提升网络来估计三维手势.该网络由两个分支构成,两个分支分别估计三维手势的规范坐标xc旋转矩阵R,结合规范坐标和旋转矩阵,可得到3.2节中的三维手势的相对归一化坐标xrel.相对归一化坐标xrel可以通过相应的规范坐标xc旋转得到,因此通过直接估计规范坐标xc和旋转矩阵R,可间接得到相对归一化坐标xrel:

xrel=xc·RT

(2)

(3)

再估计绕y轴旋转的Ry:

(4)

最终结合两部分得到旋转矩阵R:

R=Rxz·Ry

(5)

3.5 损失函数的设计

掩膜估计使用了标准的softmax交叉熵损失来计算手部掩膜估计损失loss mask,其中y是标记,su是掩膜预测阶段第u个标签的输出分数,而掩膜是二值图,u∈{0,1}:

(6)

二维手势估计使用了L2损失计算关键点的二维热图损失loss 2d,其中prej是估计的二维关键点热图,gtj是相应标记:

(7)

(8)

以及对规范坐标进行旋转的L2平方损失lossR,Rpre和Rgt分别是估计旋转矩阵和对应标记:

(9)

三维手势估计的损失loss 3d为两部分之和:

loss 3d=lossxc+lossR

(10)

4 手势数据集

4.1 渲染手姿态数据集

该数据集简称RHD[12],是一个合成的手姿态数据集,每张彩色图像都是通过软件合成的,数据集分41258张训练图像和2728张测试图像,图像的分辨率统一为320×320,数据集包含20个不同人物,在39种不同光照条件、背景和相机视点下采集,每张彩色图像具有相应的掩膜和深度图,以及精确的手部21个关键点的二维和三维注释.由于视点和手形的巨大变化,光照、背景和视点的变化,以及较低的分辨率,该数据集非常具有挑战性.

4.2 立体手姿态跟踪数据集

该数据集简称STB[34],是一个真实的手姿态数据集,为18000个手立体对(每个立体对表示同一左手在两个不同视角下的三维手姿态)提供21个关键点的二维和三维注释,彩色图像的分辨率统一为640×480,数据集是在6种不同背景和不同的光照条件下采集的单人左手姿态.STB数据集分为12个部分,本文完全依照文献的设置,将其中10个部分用作训练集,另外2个部分用作评估集.

4.3 OneHand10K

OneHand10K[27]是一个真实的手姿态数据集,以下简称OHK,包含10000张训练图像和1703张测试图像,数据集是在不同背景和不同光照条件下采集的单手姿态,每张彩色图像具有相应的手部掩膜和二维注释.本文使用OHK的掩膜标记来训练分割网络,以提升定位网络的准确性.在使用该数据集前,由于该数据集图像尺寸不统一,本文对图像进行了预处理,以便网络的训练,使用调整比例m对彩色图像和掩膜进行尺寸调整,其中w和h是原图像的宽和高,l是目标尺寸:

(11)

令l=320,调整后输出320×320大小的彩色图像和掩膜,并且限制空白处在右下角,对彩色图像的空白区域使用灰度值(128,128,128)进行填充,对掩膜的空白区域使用零填充.

5 实 验

5.1 实验细节

本文提出的方法是基于Tensorflow框架[35]实现,使用Adam优化器[36]训练网络,所有的实验都是在一台Nvidia RTX2080Ti单GPU的服务器上完成的.

5.1.1 分割网络的训练过程

分割网络使用了真实数据集OHK训练,以增强分割网络对于真实数据的效果,后续的实验将会对比使用RHD训练的分割网络和使用OHK训练的分割网络的性能.分割网络训练的损失函数为手部掩膜估计损失loss mask.分割网络的训练,批量大小为8,初始学习率设置为10-5,训练20K次后学习率衰减一次,往后每训练10K次学习率衰减一次,衰减比率为0.1,并且在40K次迭代后停止训练.

5.1.2 三阶段级联网络的训练过程

由于不存在同时拥有手部掩膜、二维手势标记和三维手势标记三种标记的真实数据集,本文先使用合成数据集RHD预训练网络,再通过真实数据集STB调整网络,让网络适应真实世界.预训练阶段批量大小为8,初始学习率5×10-5,每50K迭代学习率衰减一次,衰减比率为0.3,预训练阶段在250K次迭代后停止训练.调整阶段批量大小为8,初始学习率为5×10-5,每50K迭代学习率衰减一次,衰减比率为0.1在200K次迭代后停止训练.

预训练阶段的损失loss RHD为掩膜估计损失、二维手势估计损失和三维手势估计损失三部分之和,由于手部掩膜估计损失数值较大,所以为该项添加的权重比v以缩小其损失数值,经过大量实验,发现令v=0.05实现了最好的效果:

loss RHD=v·loss mask+loss 2d+loss 3d

(12)

调整阶段的训练损失loss STB为二维手势估计损失和三维手势估计损失两部分之和:

loss STB=loss 2d+loss 3d

(13)

5.2 评估数据集和评估指标

本文使用章节3中介绍的两个公开可用的数据集评估提出的三阶段级联网络:合成数据集RHD和真实数据集STB.使用了两个评估指标:1)端点误差(EPE);2)正确关键点(PCK)百分比曲线下的面积(AUC).本文的实验完全遵守文献[12]中的评估标准.

5.3 验证融合数据集训练有效性实验

本文首先评估了不同的数据集训练对网络的影响,对于相同的级联网络,使用了三种不同数据集训练:1)只使用合成数据集RHD训练级联网络;2)只使用真实数据集STB训练级联网络;3)使用合成数据集RHD预训练网络,再使用真实数据集STB微调网络.三个实验所使用的级联网络保持一致,参数设置保持一致,分割网络保持一致,分割网络只使用RHD训练.

在真实数据集STB上进行评估,实验结果如图3所示.

图3 评估不同训练数据集对级联网络的影响

融合RHD和STB的训练得到了最好的结果,而直接使用合成数据集训练的模型得到了最差的结果.这是由于合成数据集和真实数据集相比,图像特征具有很大的合成域转移,合成图像训练的网络不能很好的直接推广到真实世界中.而只用真实数据集STB训练的网络效果并不好的原因有两个,一是由于真实数据训练样本较少,二是真实数据集没有手部掩膜标记,只使用了二维标记和三维标记训练网络,并没有发挥三阶段级联网络的优势.

5.4 验证级联网络模块有效性实验

本文对三阶段级联网络进行了模块有效性实验,通过去除或拆分三阶段级联网络的某个级联部位,以验证级联的各个模块的有效性.将三阶段级联网络mask-2d-3d和3个拆分的网络进行比较:

1)2d-3d网络,表示将三阶段级联网络新增的手掩膜估计阶段去除,二维估计和三维估计级联训练;

2)mask-2d网络,表示手掩膜估计阶段和二维手势估计阶段级联训练,而三维手势估计阶段单独训练;

3)2d网络,表示将三阶段级联网络新增的手掩膜估计阶段去除,并且二维手势估计阶段和三维手势估计阶段均单独训练.

注意该实验保持参数设置一致,均使用了RHD和STB融合训练,使用了相同的分割网络对图像进行预处理,分割网络只使用RHD训练.

在真实数据集STB上进行评估,实验结果如图4和表1所示.图4中,三阶段级联网络mask-2d-3d在真实数据集STB上实现了最好的效果,AUC曲线明显高于其他网络结构的结果,原因是三阶段级联网络的手掩膜估计对二维手势估计和三维手势估计提供了软约束,姿态估计部分又反向传播,有利于手部掩膜估计,三者级联共同提升.该实验验证了三阶段级联网络的有效性,三个阶段缺一不可.

图4 验证级联网络模块有效性的对比实验

如表1所示,三阶段级联网络mask-2d-3d实现了最小的误差,平均端点误差7.961(mm)和中值端点误差10.496(mm)均实现最小;而掩膜和二维手势估计级联的网络mask-2d相比于各阶段单独训练的网络2d,减小了误差,提升性能,验证了加入掩膜估计阶段的有效性;二维手势估计和三维手势估计级联的网络2d-3d,相比于2d网络,也得到了提升,验证了将三维姿态估计加入级联网络的有效性.

表1 模块有效性对比实验的误差分析

Table 1 Comparative experiment to error analysis of module effectiveness

网络AUCEPE median(mm)EPE mean(mm)2d0.62310.09812.859mask-2d0.6329.77312.5062d-3d0.6389.86912.221mask-2d-3d0.6877.96110.496

5.5 分割网络比较

以往的分割网络[12,30]只使用合成数据训练,由于当时不存在具有手部掩膜信息的真实彩色图像数据集.本文使用真实手部数据集OHK,该数据集具有彩色图像的手部掩膜信息,使用该数据集代替合成数据集RHD去训练网络,以提高分割网络在真实世界的效果.该实验使用相同的三阶段级联网络,参数设置一致,使用两个不同数据集训练的分割网络,一个使用合成数据集RHD训练,另一个使用真实数据集OHK训练.在真实数据集STB上进行评估,实验结果如图5所示,真实数据OHK的AUC达到0.706,要高于合成数据RHD的0.687,OHK训练的分割网络在真实世界实现了更好的效果.

5.6 与其他方法比较

将本文提出的三阶段级联网络与RHD以及STB数据集上最先进三维手势估计方法进行比较.在RHD数据集上,如图6所示,本文提出的方法优于RHD上最先进的方法[12],将AUC从0.675提升到0.742,性能提升了9.93%.

在STB数据集上,三阶段级联网络融合了合成数据集RHD和真实数据集STB的训练,其中Ours网络使用了OHK训练的分割网络,而Ours(without OHK)网络使用RHD训练分割网络,实验结果如图7所示,本文提出的方法优于在STB上最先进的四个方法[12,26,34,37],AUC达到了0.977,验证了三阶段级联网络对三维手势估计的优越性,同时未使用OHK数据集训练的级联网络也得到了较好的效果,AUC达到了0.958,进一步验证了三阶段级联的有效性.

图5 不同数据集训练的分割网络的对比实验

图6 在合成数据集RHD上和其他方法的对比实验

图7 在真实数据集STB上和其他方法的对比实验

6 结 论

本文提出了一种新颖的级联卷积神经网络,用于估计单个彩色图像的三维手势,级联网络分三阶段,手部掩膜估计、二维手势估计和三维手势估计.将第一阶段估计的掩膜和提取的特征加入到二维手势估计中,对后续的手势估计提供软约束,以提高手势估计的准确性,而手势估计又会通过反向传播对掩膜估计进行优化,三阶段互相促进实现共同优化.在两个公开数据集上进行了实验,并与最先进方法进行了比较,通过实验验证了该级联网络的有效性与先进性.

猜你喜欢

彩色图像掩膜级联
利用掩膜和单应矩阵提高LK光流追踪效果
铀浓缩厂级联系统核安全分析
基于Mask R-CNN的回环检测算法
基于二维直方图的彩色图像全局阈值分割方法研究
清溢光电:掩膜版产业国产化的领军者
基于FPGA的实时彩色图像边缘检测
国内首条G11光掩膜版项目在成都高新区启动
基于DCT—DWT—SVD的彩色图像安全存储方案
整体级联式增压空气冷却器的进气模块
一种改进的脉冲级联分离中间组分