论文部分内容阅读
手势识别作为新一代人机交互的一个自然而直观的输入方式,已经受到越来越多的关注。而且,它在人机意图与信息交流、互动娱乐和示范学习等方面的重要作用越来越明显,使手势识别的研究和发展不断地受到越来越多的重视。但是,由于人的手势自身具备许多独特的特征,例如:多样性、多义性、以及时间和空间上的差异性等,加之手势识别系统计算量较大,很难使其在软件上面实现实时的应用,尤其在嵌入式系统。因此,在本文中,我们提出一个用于实时手势识别的硬件架构。并对系统中的模块的构架进行了创新的设计,使其便于硬件实现,提高运行速度。通过取代主要识别算法模块,可以在三个不同的方向使用此体系结构,即,静态手势识别、动态手势识别和手的轨迹识别。而且,整个系统架构在FPGA单个芯片上面实现(即片上系统SOC),所以,其具有低成本和高性能的特点。从整体上面分析,首先,系统利用摄像机捕获格式为YCrCb的图像数据,然后通过高斯概率模型计算每个像素点符合标准颜色像素的概率。再通过阈值的界定,把YCrCb的24bit数据简化成为二值的1bit数据。转为二值图像的操作在简化了后端处理算法的复杂度的同时,也大大减少了FPGA芯片上面存储资源的消耗。然后使用均值滤波把Guass概率模型处理后的图像数据进行降噪处理,在去除白噪声等CMOS图像传感器噪声的同时也虑掉了因光照带入的大部分环境噪声。均值滤波后的二值化图像数据需要从两路输出,一路在乒乓ram中存储,并依次显示,一路用于图像的定位与分割。最后把乒乓ram中的数据进行显示的同时也用于手势识别算法的输入,从而实现图像显示与手势识别的同步。此体系结构使用并行流水线结构,使此基于FPGA的手势识别系统的操作速度显著提高,可达到60帧每秒。而且,手势识别系统良好的实时性能也归因于整体使用同步时钟的设计。在本篇研究中提出的静态识别算法,对现有的指尖检测算法采用了一些必要的约束进行优化,大大提高了识别率,通过测试,其可以达到90.3%。动态手势识别被认为是一个良好的解决人机交互(HCI)问题的方案。在本文中,我采用基于FPGA的纯硬件结构实现了实时的动态手势识别,其整体采用并行结构,可以识别60fps视频流中的动态手势。在轨迹识别模块部分采用状态机的描述方法,能完美的判断出手势在摄像头范围内的运动方向。虽然本文在一个芯片上面构造的纯硬件系统通过替换识别模块,可以很好地解决静态手势识别,动态手势识别和手的轨迹识别的问题,但是距离像手语识别系统这样三方面结合化的应用,还有一段距离。所以,以后的道路仍然需要我们不断的努力,才能在未来的人机交互技术方面续写新的篇章。