使用机器学习边缘设备的快速目标检测
论文标题:Fast Object Detection with a Machine Learning Edge Device
中文标题:使用机器学习边缘设备的快速目标检测
作者信息:
- Richard C. Rodriguez, MSDA Information Systems and Cyber Security Department, The University of Texas at San Antonio, San Antonio, Texas, USA
- Jonah Elijah P. Bardos, MS Electrical and Computer Engineering Department, The University of Texas at San Antonio, San Antonio, Texas, USA
论文出处:arXiv:2410.04173v1 [cs.RO] 5 Oct 2024
摘要: 这项机器学习研究探讨了一种低成本的边缘设备,该设备与具有计算机视觉功能的嵌入式系统集成,以提高目标检测和分类的推理时间和精度。研究的主要目标是减少推理时间并降低功耗,以支持一个竞技型类人机器人的嵌入式设备,并实现实时目标识别、场景理解、视觉导航、运动规划和机器人的自主导航。本研究比较了中央处理单元(CPU)、图形处理单元(GPU)和张量处理单元(TPU)在推理时间性能上的差异。TPU在推理时间上比GPU减少了25%,与CPU相比则大幅减少了87.5%。本文的许多信息都有助于最终选择谷歌的Coral品牌Edge TPU设备。虽然也考虑了Arduino Nano 33 BLE Sense Tiny ML Kit进行比较,但由于初始的不兼容性和完成研究的时间限制,决定在未来的实验中审查该套件。
引言: 机器学习是人工智能(AI)的一个子集,它使计算机能够从图像中提取特征并学会识别模式。这对于图像质量、照明和其他因素的广泛变化非常重要。AI擅长基于图像定义概率,这使其成为目标检测和识别等任务的理想选择。除了目标检测和识别,计算机视觉还使类人机器人能够导航和与环境互动。AI为机器人提供了感知周围环境和理解对象之间空间关系的能力。这使它们能够检测和跟踪目标,估计深度,并重建3D场景。
CPU、GPU和TPU的比较: CPU是通用处理器,可以用于许多不同的应用,但它们在机器学习任务上的速度不如GPU或TPU快。在这项处理器比较中使用的CPU是第13代Intel Core i9-13900H 2.60 GHz。GPU是专为矩阵乘法设计的专用处理器,这是神经网络中的常见操作。GPU在机器学习任务上的速度比CPU快,但仍然不如TPU快。在这项处理器比较中使用的GPU是NVidia品牌的GEFORCE RTX 4070。TPU是专为神经网络工作负载设计的专用处理器,如用于计算机视觉推理的卷积神经网络(CNN)。TPU是机器学习任务中速度最快的处理器类型。在这项处理器比较中使用的TPU是谷歌Coral品牌的Edge TPU。
假设: 假设1:将张量处理单元(TPU)与嵌入式设备或微处理器(无论是否带有图形处理单元GPU)集成,将显著提高推理时间和目标检测,为嵌入式设备提供低成本和低功耗的选项。 假设2:使用机器学习并配备单目相机的嵌入式设备在目标检测性能上显著提高,成本更低,与立体视觉相机相比。
方法论: A. 卷积神经网络 图2描述了用于图像识别的卷积神经网络(CNN)架构的概述。来自具有三通道RGB输入的彩色相机的图像,在卷积神经网络的卷积主干部分,通过卷积+激活函数(例如,修正线性单元ReLU)和最大池化操作反复执行,直到它们到达分类器,这是架构的头部,是一个完全连接的多层人工神经网络。 B. 训练和部署 使用卷积神经网络进行目标检测是一种强大且多功能的技术,用于识别和定位图像中的对象。使用CNN进行目标检测的一般过程可能包括以下步骤:图像预处理、特征提取、目标分类和边界框回归、后处理。
硬件: A. 实验套件选项 考虑了两种设备进行实验,Arduino Nano 33 BLE Sense ML Kit和谷歌Coral Edge TPU设备。由于软件版本的问题和无头连接的困难,选择了TPU设备作为本研究的主要设备。 B. 谷歌Coral Edge TPU 图3展示了谷歌Coral TPU。谷歌Coral Edge TPU在CPU和GPU之上提供了最佳的推理时间性能。以下是本研究使用的关键硬件组件。
软件: 以下是支持本研究中使用的硬件的软件产品列表。
数据源: 作为该项目数据源的计算机视觉数据集来自RoboFlow.com,包含4000张图像。
结果: A. 类型1和类型2错误的含义 类型1错误是假阳性,类型2错误是假阴性。这对于利益相关者来说很重要,他们需要了解使用基于ML的决策和设计的错误类型,以避免最严重的后果。 B. 精确度和召回率 精确度是检测结果为真阳性的比率。换句话说,它是实际正确的阳性识别的比例。例如,如果精确度为0.8,则80%的时间你识别某物为阳性,它实际上是阳性的。召回率是检测结果正确的比率。换句话说,它是实际阳性被正确识别的比例。例如,如果召回率为0.9,则90%的时间有某物为阳性,你将正确识别它。 C. 训练和验证 程序被设置为运行50个周期,直到训练过程达到可接受的准确度水平。训练和测试数据的80/20分割确保神经网络不会意外地在稍后用于评估的数据上进行训练。我们利用迁移学习或使用预训练的网络并重新利用它。TensorFlow被用来帮助提高准确度并最小化框损失、分类损失(CLS)和双重焦点损失(DFL)。 D. 推理时间处理器性能 表II显示了每个处理器的推理时间性能结果。
结论和未来工作: 我们的研究得出结论,拥有强大的CPU对于目标检测并没有显著优势。将机器学习推理边缘设备(Edge TPU)与嵌入式设备集成,证明了在低功耗和最低成本下运行的可行选项。此外,使用单目视觉相机与立体视觉相比没有显著差异。未来的工作将是将Coral Edge TPU设备与竞技型类人机器人的主板处理器集成,以检测足球。
GitHub代码链接: Richard Rodriguez和Jonah Elijah Bardos的该项目和编程代码的GitHub仓库链接如下。 https://github.com/ThinkFastAI/AI Practicum