节点文献
基于Kinect的人体动作识别算法研究与系统设计
Algorithm Research and System Design of Human Motion Recognition Based on Kinect
【作者】 张亮;
【导师】 胡青松;
【作者基本信息】 中国矿业大学 , 电子与通信工程(专业学位), 2019, 硕士
【摘要】 传统人体动作识别算法有很多问题,例如存在人体动作采集设备易受光照强度等外界因素的影响、人体动作特征描述不清楚、人体动作特征易受物理变形影响等等问题。针对以上问题,本文分别从数据采集、特征提取和分类识别三方面研究人体动作识别算法,以消减以上问题带来的影响。故此,本文选用Kinect提取人体骨骼数据以克服光照问题,选用CNN自动提取高级人体动作特征,选用SoftMax完成多分类任务,并在此基础上开发人体动作检测系统。主要研究内容如下:(1)针对传统摄像头易受光照、遮挡等视觉问题的影响,选用Kinect采集的骨骼数据作为数据源。Kinect能够拍摄深度图像,骨骼数据来源于深度图像,因此能够克服光照的影响。Kinect可以预测遮挡部位的位置,很大程度上减弱遮挡问题对人体动作识别的影响。(2)针对手动提取的人体动作特征设计繁琐、表达能力不佳等问题,提出基于CNN的人体动作精确识别算法。首先实现适合本文的归一化方法,即先按照坐标轴方向将数据搬移至正轴,然后进行0-1归一化。其次提出6种数据编码方案,6种数据编码方案是将动作数据绘制成图像的6种猜想,并在Matlab仿真中选取最优的编码方案,即灰度图像回旋编码方案。结合实际需求,搭建适宜的CNN模型,最终在MSRC12数据库上取得90%以上的识别准确率,并且具备很好的泛化能力。(3)设计人体动作检测系统。使用加滑动窗口方法实现实时检测,在Matlab中仿真,得出最佳的滑动步长为13。使用Kinect实时采集人体骨骼数据,实现人体动作检测系统数据采集模块。使用Caffe搭建CNN模型,并用MSRC12数据训练模型,实现人体动作检测系统动作识别模块。统筹兼顾,将数据采集模块、动作检测模块结合起来,设计人体动作检测系统。最终,通过实验验证了人体动作识别系统的有效性。
【Abstract】 There are many problems in the traditional human motion recognition algorithm.For example,human motion acquisition equipment is susceptible to external factors such as light intensity,human motion description is unclear,and human motion characteristics are susceptible to physical transformation.In view of the above problems,this paper studies to the human motion recognition algorithm from the aspects of data acquisition,feature extraction and classification identification to reduce the impact of the above problems.Therefore,this paper uses Kinect for extracting human joint data to overcome the illumination problem,selects CNN to extract advanced human motion features,and selects SoftMax to complete multi-category tasks.Based on this,the human motion detection system is developed.The main research contents are as follows:(1)For the traditional camera is susceptible to visual problems such as illumination and occlusion,using the bone data collected by Kinect as the data source.Kinect is capable of capturing depth images,and bone data is derived from depth images,thus overcomes the effects of illumination.Kinect can predict the position of the occlusion,greatly reduces the impact of occlusion on human motion recognition.(2)Aiming at the problems of manual extraction of human body motion features and poor feature expression,CNN-based human body motion recognition algorithm is designed.First,the normalization method suitable for this paper is implemented,that is,the data is first moved to the positive axis according to the coordinate axis direction,and then 0-1 normalized.Secondly,six kinds of data coding schemes are proposed.Six kinds of data coding schemes are six kinds of conjectures that drawing motion data into images.The optimal coding scheme is selected in Matlab simulation,and finally the grayscale image whirling coding scheme is selected.According to the actual needs,build a suitable CNN model,and finally achieve more than 90% recognition accuracy on the MSRC12 database,and have a good generalization ability.(3)Design human body motion detection system.The real-time detection is realized by adding a sliding window method,and the simulation is performed in Matlab,and the optimal sliding step length is 13.Using Kinect to collect human bone data in real time,realize the data acquisition module of human motion detection system.The CNN model was built using Caffe,and the MSRC12 database training model was used to realize the motion recognition module of the human motion detection system.Taking all factors into consideration,the data acquisition module and the motion detection module are combined to design a human motion detection system.Finally,the effectiveness of the human motion recognition system was verified by experiments.
【Key words】 Kinect; CNN; data coding; detection system; Caffe;