你觉得这篇文章怎么样? 帮助我们为您提供更好的内容。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
你觉得这篇文章怎么样?
上一个Blog跟大家浅谈了什么是手势识别,来到这个Blog小编将与大家谈一下手势识别的算法。手势识别将会是将来控制机器的大方向,除了为用家带来全新的体验外,还可以加快工作的效率。
手势识别的算法
取决于输入的设备,手势识别亦有很多种不同的算法。大致上可以分为两种:一种是比较准确基于三维(3D)模型的算法,另一种就是比较简单的基于对象外观模型的算法。
三维(3D)模型算法
3D模型的算法使用由输入设备所测量得来身体各部位关键的三维信息,以获得重要参数,例如手掌位置或关节角度。3D 模型的方法可以是使用体积 (volumetric) 或骨骼 (skeletal) 模型或甚至两者的结合。
基于体积 (volumetric)的算法
计算机动画行业和计算机视觉效果已大量使用容积的3D 模型办法,这一类3D 模型通常是复杂的 3D 曲面,像 NURBS 或多边形网格。此方法的缺点是,这是非常计算密集型的方法,需要极大量资源运行,能够进行实时分析的系统仍有待开发。就目前而言,更有趣及可行的方法是,将简单几何对象映像到该人的最重要的身体部件(例如长条型的手臂,球形的头部)再加以分析这些几何对象与彼此进行互动的方式。这种做法就是基于骨骼的算法。
基于骨骼 (skeletal)的算法
使用这种做法的对象参数变得很简单,不用3D 模型密集的加工和处理,其中一个方法是,可以使用一个简化版的关节角度参数,以及身体部分的长度,计算的一个虚拟人体骨架,身体的各个部位都映像到相应的骨骼表示。这里需要分析的参数就只有这些骨骼位置和方向以及它们之间的关系。
使用骨骼模型的优点:
- 算法速度更快,因为只会分析关键的参数
- 可以建立模板数据库以配对实时的参数
- 允许程序集中处理身体某部份的动作
另一方面,基于外观模型算法的系统则直接使用图像或者视频分离出对象外型。
基于外观模型的算法
这些模型不使用一个三维空间去标记身体了,因为他们直接从图像或视频得来的参数与模板数据库配对一些基于人类的身体,尤其是手部分的 2D 模板。这些基于模板的模型大多用于手部跟踪,可以使用于分类简单的手势。
挑战
提升手势识别准确性和有效性有许多挑战。所使用的设备,图像噪声,不一致的照明以及不同的背景下等等的因素,都会令用户使用更加困难。
而且还有一些技术性问题。例如,一个相机经过针对某种算法来校准,在其他不同的算法上该相机可能无法工作。背景噪音的大小也会导致跟踪和识别变得困难,此外,相机的分辨率和质量,与对象之间的距离也会影响识别的准确性。