继续Seeing Machines对DMS商业化落地所遇到的挑战的总结。
动机:了解人类
如今,需要人机交互的产品几乎都是用按钮来输入的,无论是软件还是物理输入。在许多情况下,按钮是一种极其简单有效的界面解决方案,然而,在任何机器和人之间需要进行交互的地方,按钮也可能成为使用机器的障碍(比如,电视遥控器)。
如果许多产品能够以某种方式检测到人类想要或需要的东西,而不需要人类去寻找和按下正确的按钮,那么它们的使用就会简单得多。这在理论上很简单,但在实践中,检测一个随机的人可能想要或需要什么,需要一个(在某种程度上)能够解释更自然的人类命令的AI。
今天,我们看到了语音识别技术的一些成功迹象,这些技术已非常成熟,能够有效地解释人类的语音,使一些产品能够单独使用语音控制。语音主要用于命令,然而许多人在向机器发出语音命令时会感到不舒服,这在多人场景且可能正在交谈的情况下尤其如此。语音命令很强大,但并不总是合适的,当然也不是万能的。相反,它们只是创造了另一个界面选项。机器指令也可以通过使用手部、面部和眼睛的物理姿态发出。这些都可以单独使用,或者与语音相结合,进一步丰富界面选择。
然而,虽然许多设备可以通过语音或手势命令得到改进,但更大的价值来自于机器能够获得关于个人的更丰富的上下文信息,从而动态地使界面适应实时上下文。
我们相信,上下文确实是更智能的机器界面的关键。上下文可以有以下四个来源:(i) 机器当前的“状态”(如驾驶员正试图前往一个旅行目的地),(ii) 环境(如高速公路、道路场景、夜晚等),(iii) 人自身的数字信息(如他们过去的目的地、朋友的地址等),(iv) 人自己。如果机器能知道一个人是否沮丧、愤怒、不安、平静、不知所措、困惑、放松、困倦、睡眠、欢快、醉酒、从事某项工作……),那么它将能够更好地服务于用户,同时需要更少的指令。
目前的世界只是刚刚开始见证实时人类的上下文可以为下一代人机界面提供的价值。第一批系统现在已出现在豪华车中,奔驰S级是主要例子。在这里,视觉、听觉和触觉感官界面(用于输入和输出)被放置在驾驶员周围,将他们置于许多界面路径的“循环”中。其结果是一个感觉自然、高度智能的界面,极大地简化了对来自车辆系统和道路环境的极其广泛的信号访问。
总之,Occula的开发不仅是为了解决DMS的有限应用范围,而且是为了更广泛的“理解人类”。虽然这可能听起来是一个非常广泛的应用,但它仍然产生了一套通用的专门的神经网络(NN)算法,因此优化了执行方法,因此可以发现比起通用的NPU设计,有明显的嵌入式优势。尽管Occula NPU是为DMS解决方案而设计和打造的,但当它与Seeing Machines DMS算法堆栈结合时,可以为更广泛的产品提供性能优势。任何(i)对价格或功耗敏感的产品,以及(ii)可以从理解人类的上下文信息中获得优势。我们把它留给读者,让他们去想象各种可能性。
SM-DETECT和SM-TRACK了解人类始于对人体的检测和测量。人类已经进化为高度社会化的动物,而人类大脑的生物学告诉我们,要“视觉理解(visually understand)”或了解,人体最关键的组成部分之一是脸。
这一点通过对被称为枕叶(occipital lobe)的大脑区域的研究得到了证明,枕叶位于头骨后面,直接接收来自视神经的神经脉冲。枕叶包含一个称为枕面区(occipital face area)的亚区。神经科学家的实验表明,这似乎是一个NN集群,完全致力于面部特征的低水平检测。
在面部本身,可以说最重要的检测特征是眼睛。这是因为眼睛揭示了一个人正在看哪里的所有重要信息。这一线索与场景的上下文相结合,为另一个人在任何特定时刻可能在想什么提供了极其宝贵的洞察,因此是高级社会互动的关键组成部分。在大脑中,对眼睛特征的检测被认为是在一个被称为颞上沟(superior temporal sulcus)的专门区域进行的,而将脸部和眼睛的时间空间信息转化为情感线索的高阶转换则发生在杏仁核和前额叶皮层,它们也有无数的其他作用。
对于嵌入式工程师来说,人类大脑似乎只是进化出了专门用于检测和跟踪面部特征的NN“硬件”加速器。这一进化步骤的原因可能是,在社会环境中,面部理解是一项处理密集但又必不可少的任务,而大脑作为一个器官(或计算机),已经消耗了大量的卡路里。进化似乎不仅选择了更大的大脑,而且选择了那些能够极其高效地完成日常工作的大脑。
部分受到目睹这些专门的生物网络的启发,Seeing Machines已经开发了类似的优化处理路径,用于检测和跟踪人类的身体部位。这些功能单元是DMS处理层次的“金字塔底层”,共同构成了人机交互所需的“感知”层。
SM-DETECT是检测人脸、面部特征、躯干、手臂、手等的“快速路径”,也可以通过训练来检测可能出现在人体附近的其他种类的物体,如太阳镜或手机。为检测而选择的算法绝不是检测精度最高的,而是在速度和精度之间的权衡,经过精心选择,以最大限度地兼容硬件加速,并最大限度地减少处理功耗。
FOVIO芯片固件周期性地执行SM-DETECT路径,扫描场景中的人体部部位,这些检测结果用于支持对车辆乘员的逐帧跟踪。
SM-TRACK是一个类似的想法。一个快速路径,但用于定位和跟踪各帧的人体部件。该路径利用了身体部位在视频帧之间只能移动这么远的知识,并根据对身体部位在最新图像中可能出现的位置的预测,结合人类基本形态的模型,对身体部位进行局部检测。SM-TRACK节省了大部分的处理带宽,而标准的解决方案是使用一个NN来适应每一帧视频的3D(或4D)模型。再一次,所使用的算法来自于超过15年的内部演化,从而在车内环境中,在速度和准确性之间做出了谨慎的权衡。
Seeing Machines并不声称这些算法在检测和跟踪图像中人类的能力方面是最好的,但我们相信它们是“足够好”的跟踪性能和所有重要指标与处理成本之间的最佳折中方案。
人类状态的分类
在人脑中,复杂的高阶推理任务由前额和额叶皮层执行,它们似乎处于网络层次的顶峰,也是我们人类意识的主要所在。
对于嵌入式工程师来说,大脑的额叶皮层区域看起来有点像一个通用的NPU。这也许是各种不同的网络帮助我们在社会世界中解决复杂的生存难题的地方,每个网络都将来自下方更高带宽感知层的状态作为输入。
同样,Occula的设计是为了支持更普遍的NN,特别是那种从SM-DETECT和SM-TRACK感知层获取结果并进行高阶分类的类型和规模;例如,在最后两秒的眼睑数据中检测出微睡眠,或者在对整个驾驶员的几分钟观察中推断出瞌睡的程度。
为了做到这一点,Seeing Machines的工程师调查了现代DMS所需的一套分类器算法集,研究了操作者、模型大小、数字精度和所需的执行时间预算,并设计了Occula,使其在芯片资源预算内“最适合”所有已知组合。