FOMO模型,在低端嵌入式系统上能实现实时对象检测

原文链接:FOMO (Faster Objects, More Objects) enables real-time object detection on low-end embedded systems 由Jean-Luc Aufranc撰写。
本文共计716字,预计阅读2分钟

在我的互联网记忆里,FOMO代表着“Fear Of Missing Out,一个社交媒体术语,特指对某件令人兴奋或有趣的事件可能正在其他地方发生的焦虑)。但在Edge Pulse中,FOMO则完全不同,此处的FOMO指的是“Faster Object, More Objects即“更快的对象,更多的对象”模型,也就是为了降低占用空间并提高目标检测性能资源受限嵌入式系统的模型。

FOMO的公司表示,FOMO的速度是MobileNet SSD的30倍,能在可用内存不足200K的系统上工作。Edge Impulse解释说,FOMO模型提供了基本图像分类(例如:图像中是否有人脸)和更复杂的目标检测(例如:图像中有多少张脸,如果有的话,在哪里、大小是多少)。基本图像分类其实就相当于图像检测的简化版,通过它我们可以知道物体在图像中的位置,但不知道它们的大小。

FOMO的人脸检测
FOMO的人脸检测

因此,在模型运行时,面部位置将会显示为一个称为“质心”的小圆,而不是通常我们看到的那种边界框。FOMO可以处理分辨率为96×96的图像,它将图像分割成默认大小为8×8像素的网格,并在网格中的所有单元上并行运行图像分类。对于96×96的图像和8×8的网格,我们将会得到一个12×12的分区。

96×96图像分割成12×12网格
96×96图像分割成12×12网格

图像越小,要求就越低,例如,具有96×96灰度输入和MobileNetV2 0.05 alpha的FOMO可以在Cortex-M4F上以80 MHz的速度以约10 fps的速度运行,同时使用的内存也会小于100KB。感兴趣的开发人员需要记住FOMO由于图像分割会存在局限性:当所有对象的大小都相似、且彼此不太接近时,FOMO的效果会更好。

下面的视频显示了Arduino Nicla Vision板上由STM32H7 Cortex-M7微控制器供电的30 fps物体检测(罐和瓶子)。

相关视频链接,点击此处可查看

FOMO不仅能用于带有微控制器的硬件,它还可以用于可能需要额外性能的Linux 硬件上,例如,你可以在树莓派4 SBC上实现60 fps的对象检测。

不过,FOMO仅适用于Edge Impulse完全支持并配备了摄像头的板。更多的细节,你们可以在其公告文档中找到。

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论