上面的标题是粗体的,但它背后的 ST 软件名为 Baby Crying Detector 的创建。该应用程序是我们的 iOS 和 Android 移动工具STBLESensor上提供的众多演示之一。该应用程序与ST 最强大的传感器平台 SensorTile.box配合使用。顾名思义,婴儿哭泣探测器检测婴儿是否在哭泣。SensorTile.box 使用其MP23ABS1 MEMS 麦克风以 16 kHz 样本记录声音。然后,它处理信号,然后将其传递给在主机STM32L4R9上运行的机器学习算法。如果系统确定孩子在哭泣,传感器板上的 LED 会变为绿色,智能手机会通过蓝牙接收警报。
在一系列悲剧登上报纸头版后,ST 工程师决定编写 Baby Crying Detector。在炎热的夏天,父母会不经意地将孩子留在车里,直到为时已晚才意识到这一点。因此,我们的专家提出了一个简单的问题:我们能否用现有技术防止此类悲剧发生?由于处于困境中的孩子几乎总是会哭泣,因此检测到他们的尖叫声可能会触发警报。问题是要有效,应用程序需要精确。因此,人工智能是必要的,因为对算法进行硬编码将是一项艰巨的工作。此外,该平台需要足够强大的传感器来捕获质量数据。ST 工程师因此意识到SensorTile.box打开了婴儿哭泣探测器的大门,因为它将人工智能和性能集中在一个屋檐下。
婴儿哭泣探测器:曾几何时,有数据
获取质量数据
当 ST 工程师开始研究婴儿哭泣探测器时,他们遇到的第一个障碍是寻找有用的训练数据。著名的格言“垃圾进,垃圾出”与机器学习特别相关。因此,我们的团队首先梳理了数十小时的婴儿哭声录音。他们还意识到拒绝数据同样重要。因此,获取环境噪音、动物和成年人哭泣等许多其他方面的样本至关重要。最终,我们工程师的磨难凸显了当今获取高质量数据的困难,并暴露了 ST 合作伙伴可以帮助收集数据的重要性。
解决误报
一旦 ST 团队认为他们的数据集令人满意,他们就开始测试神经网络。初步评估令人鼓舞。然而,他们也意识到他们有一些反复出现的误报。其中一个发生在系统将狗的嚎叫误认为是婴儿的哭声时。为了解决这个问题,我们的团队在将音频信号发送到神经网络之前调整了快速傅里叶变换。ST 工程师还实施了惯性检测系统。Baby Crying Detector 假设车内只有一个婴儿。如果车辆在移动,则意味着有司机,警报是无用的。当前的实现相对基本,但开发人员可以使用 SensorTile.box 上的 LSM6DSOX 的机器学习核心来感知运动,同时将功耗保持在最低水平。
使用 STM32Cube.AI 转换神经网络
Baby Crying Detector 的另一个突出特点是能够在 STM32L4 上运行机器学习算法。为了实现这样的壮举,ST 工程师使用了 STM32CubeMX.AI。扩展软件将神经网络转换为 STM32 的优化代码。在这种情况下,我们的开发人员在Keras上创建了一个神经网络。该 API 基于 TensorFlow 2.0 构建,生成一个 Python 库,用户随后可以使用X-CUBE-AI对其进行处理。结果是开发人员可以在主循环中调用的二进制文件。因此,Baby Cry Detector 从麦克风获取信号,将其发送到由 X-CUBE-AI 优化的神经网络,并返回系统是否检测到婴儿遇险。
不是最终产品
婴儿哭泣探测器甚至可以防止一个孩子死亡吗?我们相信答案是“是的”,但我们也知道我们的应用程序还没有准备好进入市场。希望销售类似解决方案的公司将不得不收集更多数据并创建更复杂的神经网络以提高其准确性。但是,我们的应用程序通过来自 Internet 的简单数据集展示了我们在短时间内完成的工作。因此,婴儿哭泣探测器以非常真实的方式展示了人工智能和传感器的潜力,以及工程师在投资 SensorTile.box 和 ST 生态系统时可以期待什么。
审核编辑:郭婷
-
传感器
+关注
关注
2550文章
51013浏览量
752977 -
智能手机
+关注
关注
66文章
18476浏览量
180084 -
神经网络
+关注
关注
42文章
4770浏览量
100693
发布评论请先 登录
相关推荐
评论