谷歌开源手势跟踪AI,可用于移动设备
2019年08月20日 由 马什么梅 发表
24129
0
实时手势和动作跟踪器是手语识别和手势控制系统的重要组成部分,但是它们经常因遮挡和缺乏对比模式,无法可靠或稳健地执行任务。
这些挑战和其他挑战促使谷歌的科学家们研究一种新的计算机视觉方法来处理手部感知,通过机器学习来支持。在实验中,仅从一帧图像就能推断出手机上一只手(或多只手)的21个3D点。
谷歌于6月在2019年计算机视觉和模式识别大会上预览了这项新技术,并于最近在MediaPipe中实现了它。MediaPipe是一个跨平台框架,用于构建多模态应用机器学习管道,以处理不同模式的感知数据。源代码和端到端使用场景都发布在GitHub上。
三个AI模型
研究工程师Valentin Bazarevsky和Fan Zhang在博客文章中写道:“感知手部形状和运动的能力,可能是改善不同技术领域和平台用户体验的一个重要组成部分。我们希望向更广泛的研究和开发社区提供这种手感知功能,将导致出现创造性的用例,刺激新的应用程序和新的研究途径。”
谷歌的技术包括三个串联工作的AI模型:一个手掌探测器BlazePalm,它分析一个帧并返回一个手边界框;一个手标志模型,它查看由手掌检测器定义的裁剪图像区域,并返回三维手部点;以及一种手势识别器,该识别器将以前计算的点配置分类为一组手势。
识别到手并非易事,BlazePalm在发现被遮挡和自遮挡的手时,必须解决缺少特征的问题。为了清除这些障碍,研究小组训练了一个手掌探测器,而不是一个手部探测器,因为估计拳头等物体的包围盒往往比检测手和手指更容易。它可以很好地推广到像握手这样的边缘情况,并且它可以使用忽略其他纵横比的方形边框来建模手掌,从而将点数减少了3到5倍。
在手掌检测之后,手部界标模型接管,在检测到的手区域内对21个三维指节坐标进行定位。训练过程中,它用坐标手工标注了30000张真实世界的图像,加上在不同背景下渲染并映射到相应坐标的高质量人工合成模型。
管道中的最后一步是手势识别系统,其从关节角度确定每个手指的状态并将手指状态集合映射到预定义的手势。它能够识别来自多种文化(例如美国,欧洲和中国)的计数手势和各种手势。
模型可以执行单独的任务,例如裁剪和专门在图形卡上渲染以节省计算,并且手掌探测器仅在必要时运行,后续视频帧中的手位置是从计算出的手中的关键点推断的。只有当推理置信度低于一定阈值时,才会将手检测模型重新应用于整个帧。
在未来,团队计划通过更强大和稳定的跟踪扩展技术,扩大可以可靠检测的手势量,支持及时展开动态手势,这项技术可以推动研究和开发者社区成员开展新的创意。
开源:
github.com/google/mediapipe/blob/master/mediapipe/docs/hand_tracking_mobile_gpu.md