FOMO是一个用于实时对象检测的TinyML神经网络

2022-05-09 15:41:59崔卿厚
导读 EdgeImpulse的研究人员开发了一种新的机器学习技术,该技术是一个为边缘创建ML模型的平台,可以在计算和内存容量非常小的设备上运行实时对

EdgeImpulse的研究人员开发了一种新的机器学习技术,该技术是一个为边缘创建ML模型的平台,可以在计算和内存容量非常小的设备上运行实时对象检测。被称为更快的对象,更多的对象(FOMO),新的深度学习架构可以解锁新的计算机视觉应用。

大多数对象检测深度学习模型的内存和计算要求超出了小型处理器的能力。另一方面,FOMO只需要几百KB的内存,这使其成为TinyML的一项伟大技术,TinyML是机器学习的一个子领域,专注于在微控制器和其他内存受限且互联网连接有限或没有连接的设备上运行ML模型。

图像分类与对象检测

TinyML在图像分类方面取得了长足的进步,机器学习模型必须只预测图像中特定类型对象的存在。另一方面,对象检测要求模型识别的不仅仅是对象以及每个实例的边界框。

大象物体检测

对象检测模型比图像分类网络复杂得多,并且需要更多内存。

“我们早在2020年就为EdgeImpulse添加了计算机视觉支持,我们已经看到应用程序的大量增加(我们的项目中有40%是计算机视觉应用程序),”EdgeImpulse的首席技术官JanJongboom告诉TechTalks。“但使用当前最先进的模型,你只能在微控制器上进行图像分类。”

图像分类对于许多应用非常有用。例如,安全摄像头可以使用TinyML图像分类来确定画面中是否有人。然而,还有很多事情可以做。

“你仅限于这些非常基本的分类任务,这是一个很大的麻烦。看到'这里有三个人'或'这个标签在左上角'有很多价值,例如,计数是我们今天在市场上看到的最大问题之一,”Jongboom说。

早期的对象检测ML模型必须多次处理输入图像才能定位对象,这使得它们速度慢且计算量大。最近的模型,如YOLO(YouOnlyLookOnce)使用单次检测来提供近乎实时的对象检测。但是它们的内存需求仍然很大。即使是为边缘应用设计的模型也很难在小型设备上运行。

“YOLOv5或MobileNetSSD只是极其庞大的网络,它们永远无法安装在MCU上,也几乎无法安装在RaspberryPi级设备上,”Jongboom说。

此外,这些模型不擅长检测小物体,并且需要大量数据。例如,YOLOv5建议每个对象类超过10,000个训练实例。

FOMO背后的想法是,并非所有对象检测应用程序都需要最先进的深度学习模型提供的高精度输出。通过在准确性、速度和内存之间找到正确的权衡,您可以将深度学习模型缩小到非常小的尺寸,同时保持它们的有用性。

FOMO不是检测边界框,而是预测对象的中心。这是因为许多对象检测应用程序只对帧中对象的位置感兴趣,而不是它们的大小。检测质心比边界框预测的计算效率更高,并且需要更少的数据。

绵羊对象检测边界框与质心

重新定义对象检测深度学习架构

FOMO还对传统的深度学习架构进行了重大的结构改变。

单次目标检测器由一组提取特征的卷积层和几个预测边界框的全连接层组成。卷积层以分层方式提取视觉特征。第一层检测简单的事物,例如不同方向的线条和边缘。每个卷积层通常与一个池化层相结合,它减小了层输出的大小,并保留了每个区域中最突出的特征。

然后将池化层的输出馈送到下一个卷积层,该层提取更高级别的特征,例如角、弧和圆。随着更多卷积层和池化层的添加,特征图缩小并可以检测复杂的事物,例如人脸和物体。

免责声明:本文由用户上传,如有侵权请联系删除!