当前位置: 首页 > 科技观察

谷歌开源“AI手势识别”算法:21个3D点

时间:2023-03-21 17:41:47 科技观察

基于一帧图像识别的实时手形和动作追踪,一直是手语识别和手势控制系统的核心组成部分,同时增加一些真实世界的经验也起到了重要的作用。然而,现有技术往往存在遮挡或缺乏对比模式等问题,无法提供理想的可靠性。面对这一实际挑战,谷歌的科学家们开发了一种新的手部感知计算机视觉方法。在幕后,机器学习技术提供了强大的推动力。据介绍,该方案在真机实验中仅需一帧图像即可识别一只手(或多只手)的21个3D点。与目前市面上的手势识别技术相比,谷歌的新技术不需要依赖台式电脑进行计算,只要在手机上就能实时追踪,还可以同时追踪多只手时间,并且可以识别遮挡。早在今年6月,谷歌就在2019年计算机视觉与模式识别大会上公布了这项技术的预览版。2月之后,谷歌在美国时间8月20日正式宣布,将该技术整合到MediaPipe中。MediaPipe是一个开源跨平台框架,用于构建多模态应用程序机器学习管道,可以处理不同模态(如视频和音频)的感官数据。该项目的源代码和端到端的使用场景现已在GitHub上全面开放。研究工程师ValentinBazarevsky和??FanZhang在他们的博客文章中写道:“感知手的形状和运动的能力有望成为提高各种技术性能和平台用户体验的重要推动力。我们希望将这一手感功能交付给更广泛的研发社区,利用大家的力量共同推动创新用例的出现,激发新的应用方法,开辟前所未有的研究路径。”据了解,谷歌的技术包括三套串行工作的AI模型:分析帧并返回手部运动边界框的手掌检测模型(BlazePalm);一个手部标记模型(Landmark),它查看由手掌检测器定义的裁剪图像区域并返回3D位置点;一种手势识别模型,它将先前计算的点分类为一组手势。BlazePalm:手部识别从来没有听起来那么简单。GlazePalm必须能够解决真正的手部遮挡问题。为此,谷歌团队训练了一个手掌检测器BlazePalm——注意,是手掌,不是手。他们争辩说,为拳头等物体描绘边界框比跟踪手指要容易得多。具体来说,BlazePalm可以识别多种不同的手掌大小,缩放范围大,还可以识别手部遮挡,通过识别手臂、躯干或个人特征等信息可以准确定位手部。此外,这种方法还有一个很大的优势,就是可以很好的兼容握手等特殊场景,使用忽略其他纵横比条件的方形边框来模拟手掌,从而减少需要的3D点数到之前的三分之一到五分之一。据统计,经过训练,BlazePalm的手掌识别准确率可达95.7%。Landmark:手掌检测完成后,手部标记模型开始接管,负责在检测到的手部区域内建立从手部到肘部的21个3D定位坐标。在训练过程中,该模型需要研究人员手动标注多达30,000张真实世界的图像,根据各种背景渲染和映射相应的坐标,最终创建出高质量的合成手部模型。据统计,经过训练,算法的平均回归误差可以降低到13.4%。手势识别模型:管道的最后一步是手势识别。该模型使用关节旋转角度来确定每个手指的状态(例如弯曲或伸直),并将手指状态集映射到预定义的手势以预测基本的静态手势。根据Bazarevsky和??Zhang的说法,该模型可以识别来自多种文化(例如美国、欧洲和中国)的算术手势,以及握紧拳头、“OK”、“摇滚”和“蜘蛛侠”等常见手势。“此外,这些模型还可以执行相应的单独任务,例如使用显卡进行图像裁剪和渲染,从而节省计算资源;并且,手掌检测模型只在必要时才运行——因为在大多数时间段里,后续的手在视频帧中的位置只能通过计算出的手的关键点来推断,而手掌检测器的参与是不再需要。也就是说,只有当推理置信度低于某个阈值时,手部检测模型才会重新干预。展望未来,Bazarevsky、Zhang和他们的团队还计划构建更强大、更稳定的跟踪扩展,同时增加可以可靠检测的手势数量,并考虑支持即时动态手势识别。“我们相信这项技术的发布将使研究和开发人员社区能够发现新的想法和应用程序,”他们总结道。