论文部分内容阅读
随着社会的发展与进步,人们的办公强度与学习强度与日俱增,久坐将会是一种工作、学习的常态。而医学表明,久坐以及不良的坐姿会损坏身体健康。因此,有效的检测人的坐姿并预警不良坐姿将会具有非常实际的意义。目前,坐姿识别主要以单类特征为主,并且大部分论文仅处于算法研究阶段,本课题将从实际应用出发,针对坐姿识别难以实际应用的问题,实现可以使用的坐姿识别软件,基于Kinect传感器,采用成熟的OpenCV图像处理库和卷积神经网络,进行深度图像采集、处理、训练与识别。本软件的特点与优势有:可以添加任何一种坐姿,而不用考虑如何提取特征。Kinect作为被动传感器,对用户的影响非常小。系统主要由3个模块组成:图像采集模块、图像预处理模块和坐姿识别模块。本课题将这3个模块分别实现在3个程序中,降低各个程序的开发复杂度,提高调试效率。这三个程序分别是采集程序、训练程序和识别程序:(1)采集程序使用C#语言及微软的WPF用户界面框架来实现UI界面,界面包含功能按钮和图像的预览窗口。该程序通过Kinect for Windows SDK 2.0获取Kinect传感器的深度图像数据、人体编号遮罩数据。通过对界面编写、界面布局的不断摸索以及对Kinect驱动的研究,实现了采集程序,并召集人员完成了8种坐姿的样本采集。这为卷积神经网络的训练提供了重要材料。(2)训练程序使用OpenCV实现图像预处理模块的功能,使用TensorFlow框架创建卷积神经网络。通过大量参考已有的卷积神经网络的例子,测试不同网络结构的效果,调整网络的结构,最终完成了神经网络的训练和模型输出。这完成了本系统和核心算法部分。(3)识别程序采用WPF框架来实现UI界面,使用TensorFlow加载训练好的卷积神经网络模型,使用EmguCV实现图像预处理模块的功能。最终实现该软件对8种主要的不良的坐姿进行识别。