在低功耗设备上运行物体检测模型
在本文的第一部分中,我测试了YOLO(You Only Look Once)的“复古”版本,这是一个流行的物体检测库。只使用OpenCV而不使用“重型”框架如PyTorch或Keras来运行深度学习模型,在低功耗设备上是有希望的,因此我决定深入探讨这个主题,并了解最新的YOLO v8模型在Raspberry Pi上的工作原理。
让我们开始吧。
硬件
在云端运行任何模型通常不是问题,因为资源几乎是无限的。但对于“现场”硬件来说,有更多的限制。有限的RAM、CPU功率,甚至不同的CPU架构,较旧或不兼容的软件版本,缺乏高速互联网连接等等。云基础设施的另一个重大问题是成本。假设我们正在制作一个智能门铃,并且我们想要为其添加人员检测功能。我们可以在云端运行模型,但每次API调用都会花钱,谁来支付这笔费用呢?并不是每个客户都愿意为门铃或任何类似的“智能”设备支付每月订阅费用,因此在本地运行模型可能非常重要,即使结果可能不太好。
为了进行此测试,我将在Raspberry Pi上运行YOLO v8模型:
Raspberry Pi是一款廉价的信用卡大小的单板计算机,运行Raspbian或Ubuntu Linux。我将测试两个不同版本:
- 2015年制造的Raspberry Pi 3 Model B。它配备了1.2 GHz Cortex-A53 ARM CPU和1 GB的RAM。
- 2019年制造的Raspberry Pi 4。它配备了1.8 GHz Cortex-A72 ARM CPU和1、4或8 GB的RAM。
现在广泛使用Raspberry Pi计算机,不仅用于爱好和DIY项目,还用于嵌入式工业应用(Raspberry Pi Compute Module专门为此设计)。因此,有趣的是看看这些板子如何处理诸如物体检测之类的计算要求较高的操作。对于所有进一步的测试,我将使用这个…