去年秋天,某机构为Echo设备引入了基于超声波的运动检测技术,使Alexa用户能够通过检测到的特定运动类型来触发预设的 routines(例如,自动开灯、播放音乐或播报天气与交通信息)。在众多运动检测技术中,选择超声波是因为它能在弱光甚至完全黑暗的环境中工作,并且与无线电波不同,超声波无法穿透石膏板墙,从而降低了误检其他房间运动的可能性。
要让这项技术在现有的Echo硬件上运行,需要在多个方面进行创新:例如,通过对长尾数据进行充分采样来减少误报;设计自校准功能以适应不同硬件设备的差异;以及在并发播放音乐时滤除干扰,保证超声波检测的准确性。
基于超声波的感应技术
在基于超声波的感应技术中,设备通过内置扬声器发射超声波信号,并监测麦克风接收到的信号变化来检测运动。
超声波传感器主要分为多普勒感应和飞行时间感应两大类。采用多普勒感应时,系统通过分析发射信号频谱中的频移来检测运动。这种频移类似于警车警报器在靠近或远离时声音频率的变化。
飞行时间感应则通过监测反射信号到达时间的变化来感知环境变化。由于多普勒感应产生的运动检测信号更稳定,且能很好地兼容Alexa同时播放音频的场景,因此采用了多普勒感应技术。
多普勒频移信号的强度受多种因素影响,例如目标与声源的距离、目标的大小和吸音系数、房间的吸音系数,甚至室内的湿度和温度。此外,当人在封闭空间内移动时,身体不同部位的运动速度和方向各异,会产生多个多普勒分量,加上信号反射带来的重复,使得接收到的信号远非一个带有频移的纯净单音。
深度学习与误报处理
由于这些复杂性,仅靠传统信号处理难以从多普勒频移信号中准确识别人体运动。为此,团队采用了深度学习技术来识别信号中更复杂的模式。
在算法层面,最大的挑战是在保持高检测精度的同时,将误报率降至最低。降低误报率的难点在于AI领域的“长尾问题”:大量罕见事件都可能触发误报,但这些事件在训练数据中占比极少。
为解决此问题,研究人员首先用少量数据训练了一个种子模型。然后,利用该种子模型筛选海量数据,以提取不常见的事件。接着,使用在罕见事件数据上训练的模型,在内部数据收集过程中自动捕获这些低频事件。通过这种方法捕获的数据最终帮助解决了长尾问题,实现了极低的误报率。
部署挑战与解决方案
将训练好的模型部署到实际产品中同样面临挑战。目标是在不增加硬件成本(即使用Echo设备现有的麦克风和扬声器,而非专用的超声波收发器)的前提下,以尽可能低的发射功率实现足够的检测范围。同时,设备需要支持始终开启的运动检测,这意味着即使在播放音乐时,也要能感知到运动。
-
硬件差异与环境适应:量产设备在振幅和相位响应上存在差异,且难以在保证良率的同时精确控制扬声器在超声波频段的响应。为解决此问题,设计了自动设备校准模块,根据设备硬件的特性和所在房间的声学特性,动态调整发射频率和功率,从而在不增加成本的情况下提供一致的用户体验。
-
并发音乐播放下的感应:音乐播放是Echo设备的核心功能之一。当低频音乐(如重低音)与超声波信号同时播放时,产生的失真会以噪声形式出现在超声波区域,干扰信号感知。为了在这种情况下增强超声波信号并保证感应距离,开发了一种自适应算法,利用不同麦克风上失真和运动特征的幅度与相位差异,来识别并消除失真。
-
大幅运动与小幅运动:人体运动可分为大幅运动(如走动)和小幅运动(如伸手拿电话、翻书)。小幅运动的超声信号信噪比极低,检测它们容易引发高误报率,但对于判断用户进入房间后的持续存在至关重要。为此开发了一种基于上下文的算法,可根据最后一次检测到大幅运动后的时间间隔动态调整检测灵敏度。当用户进入房间后,设备会以高灵敏度运行以检测小幅运动,从而在检测灵敏度和低误报率之间取得平衡。
-
低功耗模式:为实现某机构降低功耗的目标,将解决方案部署在低功耗数字信号处理器上。这需要对代码进行大量优化,并调整神经网络架构。由于数字信号处理器有严格的计算时序和预算,无法部署过深的神经网络。通过在神经模型和定制化数字信号处理器实现之间进行权衡,以牺牲约50毫秒的检测延迟为代价,换取了更高的准确性。此外,在非必要情况下(如在检测到有人存在后的设定时间内)会暂停超声波发射。
远场超声波运动感应在Echo设备上的应用是一项激动人心的进展,它将帮助用户更轻松地实现日常需求的自动化。FINISHED