APP下载

基于单目跟踪—神经网络分类算法的手势识别

2018-07-12缪磊磊王志伟吴晨健

电脑知识与技术 2018年12期
关键词:手势识别神经网络

缪磊磊 王志伟 吴晨健

摘要:随着人工智能的发展,具有用户界面的空中机器人逐漸普及大众。手势是人类沟通的直观方式,各研究工作都致力于利用自然的手势控制空中机器人。但是,由于该方面的技术还未成熟,尚未解决存在的长久问题。例如从设计角度选择手势的原则,从硬件角度考虑硬件的要求,考虑数据的可用性以及从实际角度考虑算法的复杂性。因此本设计考虑了实际的场景、硬件成本以及算法的适用性,致力于建立一个经济的单目系统,设计简洁直观的手势,将其映射到丰富的目标方向并实现微调。

关键词:手势识别;单目跟踪;神经网络

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)12-0221-04

Abstract: With the development of artificial intelligence, aerial robots with user interface are becoming popular among general. Hand/arm gestures are an intuitive way to communicate for humans, and various research works have focused on controlling an aerial robot with natural gestures. However, the techniques in this area are still far from mature and many issues in this area have been poorly addressed. For example, there are the principles of choosing gestures from the design point of view, hardware requirements from an economic point of view, consideration of data availability, and algorithm complexity from a practical perspective. The work has jointly considered practical scenarios, hardware cost and algorithm applicability and focused on building an economical monocular system particularly designed for gestures. In addition, natural arm gestures are mapped to rich target directions and convenient fine adjustment is achieved.

Key words: gesture recognition; monocular tracking; neural network

1 引言

近年来,人机关系逐渐出现转折点,即从“人适应机器”到“机器对人的适应”。随着人工智能和计算机视觉的发展,大量的研究工作集中于利用手势控制控制机器人,类似控制宠物。因此,基于空中机器人的手势识别是一个很有前景的研究领域。

目前基于手势识别的机器人研究不尽相同[1-5]。从设计角度来看,不同手势适用于不同的控制命令。绝大部分设计将手势识别视为分类问题,其中只有少数设计将手势识别后映射成控制命令。由于机器人可以在多环境下执行多样的操作,因此本算法专注于特定场景,实现为某些常用操作量身定制的设计。例如,设计“拍照”动作的手势,必须考虑系统可能需要处理多人紧密靠近的场景,并决定接收命令和和实际操作之间的适当延迟;设计“指挥机器人转动方向”的手势时,必须考虑足够复杂的手势以确保不会被意外触发。

本文提出基于单目的手势控制算法,该算法专用于驾驶空中机器人。算法设计综合考虑飞行场景、人类的自然手势、用户期望的飞行器操作以及空中机器人不同目标方向之间的命令转换。该设计不仅实现人机如同宠物般愉快地交互,而且还帮助用户在某些场景中摆脱笨重的控制器。

如图 1所示本文手势识别算法的流程图。跟踪静态帧中的目标,根据人体与手臂的比例,提取出固定大小的感兴趣区域(Region Of Interest, ROI)。之后将ROI经过三次高斯下采样,利用卷积神经网络cifar10进行手势识别;最后总结多帧的识别结果从而产生可靠的命令。本文其余部分的安排如下:第2节介绍设计的手势以及产生的相应命令;第3节介绍目标用户的跟踪算法;第4节介绍基于神经网络的手势识别;第5节展示本文的实验结果;最后,总结本文。

2 手势设计

本文算法假设在人机交互期间,满足用户保持空中机器人对其可见,并且没有其他人靠近的条件。考虑由于用户与空中机器人之间的距离、相机运动、不可控的户外光照条件等,机载相机拍摄的视频质量通常不是很高,所以识别手臂手势而不是手掌手势。

如前所述,手势设计的优势是将手臂手势映射到丰富的目标方向。首先检测处于动态位置的用户以及用户的手臂,然后命令空中机器人遵循用户指定的方向飞行,如图 2总结了设计的手势以及相应的命令。这种映射方式使人机之间的交互相当直观,并且用户在大多数的情况下不需要记住特别设计的手势表。

手势设计的另一个优势是在良好的飞行区域中,当用户观察到空中机器人偏离预期的路径时,可以通过改变自己的手势很容易地校正空中机器人的飞行方向。例如,当用户看到空中机器人比预期的飞行要高,只需要降低手臂就可以调整飞行高度,而不是回想复杂的手势。

3 跟踪目标

本文的手势识别算法,首先利用判别尺度空间跟踪(Discriminative Scale Space Tracker,DSST)[6]算法检测目标用户。典型初始化跟踪算法的方式是通过手动画出仅包含目标的边界框(Bounding Box)。考虑到算法设计的场景目标总是人,所以利用人脸检测自动初始化跟踪算法的边界框,并且实现当人脸检测自动初始化失败的情况下通过手动初始化边界框。

3.1 脸部检测

算法中使用OpenCV中Haar基于特征的级联分类器(Haar feature-based cascade classifier)进行人脸检测[7-9]。此检测算法有两个主要的特征。第一特征是利用简单的特征如边缘、线条以及中心环绕点[9]检测物体(比如人脸)[8]。这些简单的特征不仅能快速计算,而且方便进行尺度的缩放;第二特征便是级联分类器,即简单分类器的级联。成功的人脸样本通过每个简单的分类器,最后通过画出包含人脸的边界框给出人脸检测结果。如果在首帧中成功检测到人脸,则可以根据预先设置的人头-人体比例,从脸部的边界框计算出用户身体的边界框。

3.2 DSST

DSST[6]将标准的判别相关滤波器扩展到多维特征,并且利用三维滤波器进行目标尺度空间的定位。考虑一张图像的[d]维特征图,[f]表示矩形块,[fl]表示矩形块[f]的第[l]维度。为了找到包含每个维度的滤波器[hl]组成最优相关滤波器[h],则使以下的目标函数误差最小[10]:

计算出最大的响应得分[y]以获得最新的目标状态[z]。在当前帧中搜索目标时,DSST算法从前一帧的目标位置开始搜索。首先搜索二维位置的平移子空间,然后确定一维的尺度子空间。本文中跟踪的结果是包含目标用户的边界框,例如,用户正在跟空中机器人交互的场景。

4 手势识别

识别手势的算法部分基于caffe平台,利用卷积神经网络cifar10进行手势识别。Cifar10卷积神经网络适用普遍物体识别,应用于多分类问题,其网络结构如图 3所示。

4.1 数据集

算法的图像采集以及预处理部分基于Robot Operating System(ROS)平台处理多模块之间的通信,结合了Logitech攝像头拍摄室内图像以及利用DJI Phantom P3P拍摄室外图像,包含上述图2设计的8种手势数据集。

4.2 数据预处理

将拍摄的图像通过DSST跟踪算法获得目标所在的位置,根据跟踪算法部分给出的边界框[Bextend]提取出固定大小([320×240×3])的ROI。将提取的ROI通过连续三次高斯金字塔下采样,将图像尺寸归一化为[40×30×3]。之后将图片数据转换成caffe平台支持的LMDB数据格式,并计算图像的均值。

4.3 网络训练

创建基于caffe平台的网络模型,并且编写超参数配置。将test_interval设置为500,每迭代500次进行一次测试;将反向传播阶段的权值调整量度base_lr设置为0.001。在整个训练过程中,使用固定的学习率lr_policy。

5 实验结果

本算法实验首先测试进行人脸检测,之后测试DSST算法的性能,最后测试整个算法的识别正确率。利用离线的视频采样验证手势设计、人脸检测以及跟踪检测。

5.1 人脸检测的性能

通过DJI Phantom P3P拍摄的室外视频以及Logitech拍摄的室内视频检测人脸,两段视频中只包含一个人。当镜头距离人很远时,通常检测人脸失败;当镜头距离人越来越近,人脸检测的效果逐渐显著。如图 4所示,从左到右且从上到下,人距离镜头越来越近。实验发现,当人与镜头的距离为5米之内时,检测人脸才能成功;当人与镜头之间的距离超过5米时,由于算法设计中的手动初始化边界框,使得成功跟踪到目标。当然此距离也依赖于视频的质量,更高的视频质量能使人脸检测算法工作在更远的范围。

5.2 DSST跟踪的性能

DSST算法通过人脸检测成功检测出人脸,初始化DSST算法的边界框;当人脸检测失败时,手动画出DSST的初始边界框。如图 5所示,成功跟踪动态的目标并给出包含目标的边界框,根据预先设置的比例,拓展检测出的边界框,提取ROI。实验过程中发现,当目标移动过快,目标的最新位置检测失败;当目标正常移动,检测效果明显。

5.3 手势识别的性能

手势识别部分基于已训练完成的权重模型caffemodel,并且通过抽取8类相同的手势进行随机测试。将每帧识别的结果存入状态机中,根据多帧的识别结果给出相应的控制命令,如图 6所示。文献[11]中手势识别算法基于决策树,此算法由于利用肤色检测边界框之外的手掌,容易将与肤色相近的物体识别成手掌,错误计算实际手掌的三维坐标,从而手势识别失败,降低正确率。本文提出的基于卷积神经网络cifar10的手势识别算法,正确率达到了93.0%,优于决策树的识别算法的85.45%。

6 结论

本文提出基于单目跟踪的手势识别,可以降低硬件成本。本文设计的手势不仅简单直观,用户只需要在特定距离内伸出手臂进行控制,而且方便用户调整空中机器人。算法中利用人脸检测初始化边界框,DSST跟踪算法定位用户,使得每帧中都能检测到用户。设计的状态机根据多帧的识别结果,产生可靠的控制命令,提高了安全性。本文算法中尚且将移动距离固定,未将控制指令映射成空中机器人移动的世界坐标,这是之后研究的工作之一。

参考文献:

[1] Urban M, Bajcsy P, Kooper R, et al. Lementec, Recognition of arm gestures using multiple orientation sensors: Repeatability assessment[J]. in Proceedings of the 7th International IEEE Conference onIntelligent Transportation Systems. IEEE, 2004:553-558.

[2] Lementec J C, Bajcsy P. Recognition of arm gestures using multiple orientation sensors: gesture classification[J].in Proceedings of the 7th International IEEE Conference on Intelligent Transportation Systems.IEEE, 2004:965-970.

[3] Ng W S, Sharlin E. Collocated interaction with flying robots[J]. in International Symposium on Robot and Human Interactive Communication. IEEE, 2011:143-149.

[4] Burke M, Lasenby J, Pantomimic gestures for human–robot interaction[J]. IEEE Transactions on Robotics,2015, 31(5):1225-1237 .

[5] Urban M, P. Bajcsy P,Kooper R, et al. Lementec, Recognition of arm gestures using multiple orientation sensors: Repeatability assessment[J]. in Proceedings of the 7th International IEEE Conference onIntelligent Transportation Systems. IEEE, 2004:553-558.

[6] Pfeil K, Koh S L, LaViola J, Exploring 3d gesture metaphors for interaction with unmanned aerial vehicles[J].in Proceedings of the 2013 international conference on Intelligent user interfaces. ACM, 2013:257–266.

[7] Danelljan M, Hager G, Khan F, et al. Accurate scale estimation for robust visual tracking[J]. in British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press, 2014.

[8] Viola P, Jones M. Rapid object detection using a boosted cascade of simple features[J]. in Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), IEEE, 2001(1):1-511.

[9] Lienhart R, Maydt J. An extended set of haar-like features for rapid object detection[J], in Proceedings of International Conference on Image Processing (ICIP), IEEE, 2002(1):1–900.

[10] Conaire C O, OConnor N E, Smeaton A F.Detector adaptation by maximising agreement between independent data sources[J], in Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2007:1-6.

[11] Ting Sun, Shengyi Nie, Dit-Yan Yeung, et al. Gesture-based Piloting of an Aerial Robot using Monocular Vision[J].in International Conference on Robotics and Automation(ICRA).IEEE, 2017:5913-5920.

猜你喜欢

手势识别神经网络
神经网络抑制无线通信干扰探究
基于手势识别的工业机器人操作控制方法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源
基于GA-BP神经网络的光伏阵列MPPT研究