SignAll利用谷歌MediaPipe开发手语识别系统
支持聋哑人和听障人之间的交流,以及聋哑人和计算机之间的交流
(映维网 2021年04月15日)SignAll团队利用谷歌开源的机器学习框架MediaPipe开发了一个手语识别界面,并于日前正式开放了相关的软件开发工具包SignAll SDK。成员同时撰文进行了介绍。下面是映维网的具体整理:
当谷歌发布第一个基于MediaPipe的机载手部追踪技术时,它便成为了开发者为应用构建手语识别解决方案的基础。谷歌后面对这个手部跟踪解决方的迭代更新则将精度提升至其他技术所无法达到的水平。
SignAll是一家致力于手语识别技术的初创公司,我们的使命是支持聋哑人和听障人之间的交流,以及聋哑人和计算机之间的交流。SignALL的产品正广泛用于美国国内的通信和教育领域。尽管手语的复杂性远远超出了手形方面,但对手部的精确追踪是第一层处理(计算机视觉)中的一个巨大障碍。Signal最初的产品需要多摄像头设置和包含多彩标记的手套,而现在利用MediaPipe,手套将成为历史,而且只需一个摄像头即可。SignALL已经发布了第一个这样的SDK,并允许开发者在自己的应用中开启手语输入。
另外,公司最近在苹果App Store发布了一个交互式教育性应用。它不仅可以允许用户通过即时反馈来练习手语,同时可以作为所述SDK的演示内容。
上面这个视频是旧版本(2020.02.10)和新版本(2020.12.16)的对比示例
1. SignAll+MediaPipe Hands
我们系统为手语识别使用了多层Layer,每一层都使用越来越多的抽象数据。底层从2D和3D camera中提取关键的手、身体和面部数据。在我们的第一个实现中,所述层检测手套的颜色并创建三维手部数据。MediaPipe Hands(由MediaPipe Pose和MediaPipe Face Mesh补充)改变了一切,因为你不再需要手套或特殊照明来使用我们的系统。
如前所述,我们最初的解决方案需要使用多个摄像头和深度传感器。这可以实现更为精确的3D世界空间,但每个摄像头都需要hand landmark检测。多个摄像头在位置和方向方面需要差别放置,以覆盖尽可能多的视角,因为一只手可能在一个摄像头看来是遮挡了另一只手,但另一个摄像头的视角则不然。
下一步是过滤和平滑数据,从而复刻彩色手套标记所提供的精确测量。SignALL的标记与MediaPipe给出的标记不同,我们是通过我们的手部模型来根据landmark生成彩色标记。所以,新的mocap数据与前一个完全兼容。
尽管我们主要关注的是手,但我们同时集成了MediaPipe Pose和MediaPipe Face Mesh。pose landmark地标提供准确的手位置信息,包括相互接触或接近的时候。
尽管mocap的两个版本兼容,但性质不同:直接测量每个标记;来自全局检测手部的模拟标记。由于这种差异,我们不得不在higher-level细化参数。另一方面,我们依然可以使用我们巨大的手语数据库进行无手套配置。通过替换底层数据和细化higher-level的数据,我们可以以裸手形式测试我们的系统。要在全球范围内轻松使用我们的手语识别技术,无手套是一个巨大的进步。
不同底层追踪的兼容mo-cap。左边有手套,右边没有手套。
2.SignAll系统+MediaPipe框架
在将MediaPipe Hands集成到我们的系统中后,我们还希望利用MediaPipe框架在多个平台提供的定制和扩展机会。这样我们不仅可以用Python来原型化我们的研究状态函数,而且可以为Windows、iOS、Android甚至Web提供终端用户解决方案。由于我们的module graph系统和MediaPipe的calculator grapgh之间的相似性,只需稍作修改,我们现有的处理单元就可以在这个新框架中重用。尽管如此,扩展平台带来了其他挑战,比如在大多数情况下只使用一个2D摄像头,而不是校准的多摄像头系统。
我们使用的模型、算法和技术主要是为了处理我们解释的mocap数据。当然,从单个摄像头设置中提取的数据不能如此详细。所以我们必须对我们的实现进行一定的调整,微调算法并添加额外的逻辑,如动态地适应手持摄像头用例所导致的空间变化。幸运的是,MealAPI框架允许我们能够在C++中实现核心处理单元,所以我们依然可以从先前开发的运行时优化核心解决方案中获益。
为了更好地处理来自单个2D源的数据,一些基于3D数据训练的higher-level模型需要重新训练。MediaPipe landmark由三维坐标定义,这使得重用现有的训练方法和概念成为可能。另一方面,二维信息的提取更直接,所以比第三坐标更稳定。
幸运的是,没有必要为此进行全新的数据记录。我们仍然可以使用我们巨大的视频数据库进行详细的注释。预处理的mocap数据可以从我们的记录中提取,并在3D世界中解释,从而用来模拟任何虚拟camera视图中的手、骨骼或面部landmark检测。
在虚拟camera视图的数据中,我们同时使用传统的二维记录,以足够的比例覆盖landmark检测的独特噪点特征。由于提前获得了大部分此类数据,我们可以专注于最令人兴奋的部分:尝试最新技术和训练新模型。
3. 总结
MediaPipe的进步使得SignALL能够改变模型。除了为手语社区提供一体化产品外,SignALL现在已经开始为开发者提供相关SDK。所述SDK的功能取决于所使用的摄像头类型和可用的计算能力。这个SDK可能实现的功能包括:通过手语输入联系人姓名来启动视频通话;通过手语输入(作为语音输入的对应项)将地址添加到导航中;或者在快餐店的自助服务亭点餐。SignALL的使命是让手语成为语音的替代方案,而我们非常很高兴看到越来越多的应用程序实现这一功能。
我们渴望尝试MediaPipe的未来更新,它将使我们更接近我们的最终目标:让我们的解决方案在任何设备实现,并为每一个人提供。最值得期待的更新是能够建立自定义的MediaPipe graph,并添加我们自己的计算器,从而在WebAssembly技术的辅助下实现基于Web的解决方案,这样网站就能够为聋哑人士访问者提供全新水平的可访问性功能。