论文部分内容阅读
人体行为识别是目前的一个热门研究方向,其涉及到了诸多的研究领域,如传感器、机器学习、人工智能、计算机视觉等。随着体感设备的出现与普及,采用体感设备进行人体行为识别的应用越来越流行,Kinect作为其中的代表,具有卓越的场景深度感知能力和人体三维关节点识别能力,在虚拟现实、智能家居、运动分析等领域有着广泛的应用。同时,随着数据量和数据规模的急剧增加,传统的识别算法已经无法满足发展需要,将传统的行为识别算法进行并行化势在必行。Spark是目前应用最为广泛的通用并行计算框架,其基于内存的弹性分布式数据集模型大大提高了分布式计算的效率,针对数据密集型的迭代计算具有非常大的优势。在Spark上进行并行的人体行为识别算法研究是具有非常大的价值和意义的。人体行为识别分为行为特征的提取和模型的构建两个过程。在人体行为的特征提取上,本文对静态行为采取人体结构向量和骨骼间的夹角特征,同时加上了骨架影响因素;对于动态的行为特征,本文采取了人体结构距离相似度的关键帧搜索算法,将静态特征序列作为动态行为的特征表达,通过实验确定了实际条件下的搜索阈值,实验结果表明了特征的良好区分性。在行为识别算法上,本文重点研究了基于机器学习的行为分类器方法,设计并实现了基于Spark的并行神经网络算法PANN,算法通过对训练过程的数据采用并行化的子任务计算和权值矩阵的全局广播,在大数据集和迭代次数较高的场景下有明显的效率提升。同时,本文采用了L-BFGS算法替代了BP神经网络中常用的梯度下降算法,进一步优化了算法的性能。基于行为特征提取和并行化的行为识别算法,本文实现了一个完整的日常行为识别平台。系统从Kinect采集行为数据,以分布式文件系统HDFS作为数据存储,上层的Spark平台作为行为特征提取和并行的识别算法的运行环境,通过大量的实验证明了此平台的实用性、有效性以及可扩展性。本文的研究结果证明了将人体行为识别进行并行化的可行性,具有良好的应用场景。