基于深度图像预旋转的手势估计改进方法
2020-08-04徐正则张文俊
徐正则 张文俊
摘要: 基于深度图像的手势估计比人体姿势估计更加困难, 部分原因在于算法不能很好地识别同一个手势经旋转后的不同外观样式. 提出了一种基于卷积神经网络(Convolutional Neural Network, CNN) 推测预旋转角度的手势姿态估计改进方法: 先利用自动算法标注的最佳旋转角度来训练CNN; 在手势识别之前,用训练好的CNN 模型回归计算出应预旋转的角度, 然后再对手部深度图像进行旋转; 最后采用随机决策森林(Random Decision Forest, RDF) 方法对手部像素进行分类, 聚类产生出手部关节位置. 实验证明该方法可以减少预测的手部关节位置与准确位置之间的误差, 手势姿态估计的正确率平均上升了约4.69%.
关键词: 手势估计; 图像旋转; 深度图像
中图分类号: TP391 文献标志码: A DOI: 10.3969/j.issn.1000-5641.201921004
0 引言
随着科技的进步和人类文明程度的提高, 新形式的数字媒体交互设备不断出现. 便携式且可穿戴的虚拟现实(Virtual Reality, VR) 和增强现实(Augmented Reality, AR) 设备要求对传统的交互手段进行变革, 因此手部姿态估计[1] 和手势识别技术[2-3] 的研究与应用激发了广大研究人员的兴趣. 研究人员开发了基于光学的手势识别技术[4], 但是应用环境、光线、肤色、背景复杂度和手势运动快慢的变化对识别结果的影响非常大, 甚至会对手势区域与背景的分离造成巨大干扰.
为了在很大程度上克服以上缺陷, 基于深度图像(Depth Image) 的识别技术应运而生, 并逐渐成为目前主流的手势姿态估计方法[5-8]. 捕捉深度图像的设备称为深度相机, 或称为RGB-D 摄像机, 深度相机在消费类产品上的应用越来越广泛.
事实上, 通过深度相机建立一套高效、稳定、实用的手势识别和控制系统仍然是一项非常艰难的工作, 其中手势估计算法的旋转不变性是难点之一. 手势估计比人体姿势估计更加困难, 部分原因在于手势的变化更加丰富多样, 特别是人体姿势基本是头在上脚在下, 而同一个手势经旋转后会呈现出不同的外观样式, 这会大大增加估计时出现的各种可能性[9]. 一个优秀的手势识别算法应具有旋转不变性, 即同一种手势无论怎么旋转都可以被准确地识别出来.
已有的文献很多通过选取具备旋转不变性的特征来解决这个问题, 比如用隐马尔科夫模型(Hidden Markov Models, HMM) 选择 特征来识别姿势[10];文献[11] 中提出的采用自适应局部二值模式(Adapted Local Binary Patterns, ALBP) 的方法來提取深度图像的目标特征, 并且在手部跟踪的实验中对于旋转和深度距离值都具备不变特性;主流的基于随机决策森林(RDF) 或者卷积神经网络(CNN) 的手势识别算法无须手动选取特征, 但是却无法自动提取手势图像中旋转不变的特征.为了让模型隐含地学习不同角度对手势识别影响的先验知识, 一些文献[2,8,12] 通过数据扩增(DataAugmentation) 把各种手势在不同角度的深度图像都作为数据来进行模型训练, 但也因此带来两方面的问题: ①即使大量的训练数据也不能保证覆盖各种可能做出的手势; ②需要更加复杂和庞大的网络,学习时间也会变得不可接受[13], 另外也容易产生欠拟合或者过度拟合的现象. 虽然池化层可以在局部区域对微小的变换产生不变性[14], 但是总体上来说RDF 和CNN 提取旋转不变的特征能力是比较弱的[15-16], 它们普遍在识别准确度最佳的情况下, 需要让手势固定在某一方向上, 称为“标准手势”(Canonical Pose)[9]. 在文献[9] 中首先使用霍夫森林(Hough Forest) 来预测手部所在位置和手部的旋转角度q, 然后在计算简单的深度差分特征时加入q 的影响; 但是在训练霍夫森林参数时要把当前手势旋转到准确的(Ground Truth) 角度值, 也是所谓的“标准手势”. 一些简单的手势也可以勉强人为地定义为“标准手势”, 然而手势千变万化, 何为“标准手势”需要主观判断, 因此这样标注的数据缺少统一标准, 差异性比较大, 不利于训练过程中学习到共性的知识, 并且目前大部分的手势训练数据集没有标注这样的角度值, 手工再去标注费时费力.
目前, 大量的文献[17-22] 把手势估计和识别分解成3 个阶段的算法: (预处理阶段) 检测和手部分割、手势姿态估计、(后处理阶段) 验证和精细调整. 为了克服旋转对识别精度带来的影响, 近期很多研究工作者试图在CNN 上引入旋转不变性: 文献[16] 首先使用数据扩增技术对图像进行旋转来创建训练数据, 然后在AlexNet 的CNN 架构上的倒数第二层加入旋转不变层(Rotation-Invariant Layer),并且使用加入了正则约束项的新目标函数使训练样本在旋转前和旋转后都能共享相似的特征; 文献[23]使用一种Winner-Take-All (WTA) 的特征抽取技术, 并与费希尔判别准则一起来获取手掌的兴趣区域(Region of Interest, ROI), 当旋转超过360°时还可以大幅提高识别手掌的准确度. Cheng 等在CNN 特征上加入旋转不变正则项和费希尔判别正则项, 嵌入CNN 模型中的全连接层(Fully ConnectedLayer)[24], 提高了CNN 处理图像中旋转目标的检测能力.
本文提出的改进方法出发点为, 目前RDF 和CNN 算法提取旋转不变的特征能力是比较弱的, 需要通过数据扩增(Data Augmentation) 人为地对样本做旋转、缩放等操作, 才能让CNN 自己去学习旋转不变性; 同时由于手部姿势可以旋转成不同角度的外观样式来呈现, 采用显性的方式预先旋转手部图像到某种最佳的角度就是一种更加有效的方法, 可以提高后续像素分类和姿态估计的准确性.
[ 6 ]YUAN S X, YE Q, STENGER B, et al. BigHand2.2M benchmark: Hand pose dataset and state of the art analysis [C]// 2017 IEEEConference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2017: 2605-2613. DOI: 10.1109/CVPR.2017.279.
[ 7 ]SHOTTON J, GIRSHICK R, FITZGIBBON A, et al. Efficient human pose estimation from single depth images [J]. IEEETransactions on Pattern Analysis and Machine Intelligence, 2013, 35(12): 2821-2840. DOI: 10.1109/TPAMI.2012.241.
[ 8 ]QIAN C, SUN X, WEI Y C, et al. Realtime and robust hand tracking from depth [C]// 2014 IEEE Conference on Computer Visionand Pattern Recognition (CVPR). IEEE, 2014: 1106-1113. DOI: 10.1109/CVPR.2014.145.
[ 9 ]XU C, CHENG L. Efficient hand pose estimation from a single depth image [C]// 2013 IEEE International Conference on ComputerVision. IEEE, 2013: 3456-3462. DOI: 10.1109/ICCV.2013.429.
[10]CAMPBELL L W, BECKER D A, AZARBAYEJANI A, et al. Invariant features for 3-D gesture recognition [C]// Proceedings of theSecond International Conference on Automatic Face and Gesture Recognition. IEEE, 1996: 157-162. DOI: 10.1109/AFGR.1996.557258.
[11]JOONGROCK K, SUNJIN Y, DONGCHUL K, et al L. An adaptive local binary pattern for 3D hand tracking [J]. PatternRecognition, 2017, 61: 139-152. DOI: 10.1016/j.patcog.2016.07.039.
[12]KESKIN C, KIRA? F, KARA Y E, et al. Real time hand pose estimation using depth sensors [C]// 2011 IEEE InternationalConference on Computer Vision Workshops (ICCV Workshops). IEEE, 2011: 1228?1234. DOI: 10.1109/ICCVW.2011.6130391.
[13]LAPTEV D, SAVINOV N, BUHMANN J M, et al. TI-POOLING: Transformation-invariant pooling for feature learning inconvolutional neural networks [C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2016: 289-297. DOI: 10.1109/CVPR.2016.38.
[14]BOUREAU Y L, PONCE J, LECUN Y. A theoretical analysis of feature pooling in visual recognition [C]// Proceedings of the 27thInternational Conference on Machine Learning (ICML-10). 2010: 111–118.
[15]LEPETIT V, LAGGER P, FUA P. Randomized trees for real-time keypoint recognition [C]// 2005 IEEE Computer Society Conferenceon Computer Vision and Pattern Recognition (CVPR'05). IEEE, 2005: 775–781. DOI: 10.1109/CVPR.2005.288.
[16]CHENG G, ZHOU P C, HAN J W. Learning rotation-invariant convolutional neural networks for object detection in VHR opticalremote sensing images [J]. IEEE Transactions on Geoscience and Remote Sensing, 2016, 54(12): 7405-7415. DOI: 10.1109/TGRS.2016.2601622.