轻量级神经网络的进步已经彻底改变了计算机视觉在各种物联网(IoT)应用中的使用,涵盖了远程监控和过程自动化。
然而,对于许多这些应用来说,检测小型物体,这是至关重要的,目前在计算机视觉研究中仍然是一个未探索的领域,尤其是在资源受限的嵌入式设备上,这些设备拥有处理器。
为了解决这一问题,本文提出了一种适应性的分块方法,用于轻量级和节能的目标检测网络,包括 YOLO 基础模型和流行的更快地找到更多物体(FOMO)网络。
所提出的分块方法可以在低功耗微控制器单元(MCUs)上实现目标检测,同时与大型检测模型相比不妥协准确性。通过将该方法应用于内置机器学习(ML)加速器的基于 RISC-V 的新型 MCU 上的 FOMO 和 TinyShimyOLO 网络,证明了所提出方法的优势。
大量的实验结果表明,所提出的分块方法在 FOMO 和 TinyShimyOLO 网络上的 F1 分数提高了 225%,同时将平均目标计数错误减少了 76%(FOMO)和 89%(TinyShimyOLO)。
此外,本工作的发现表明,在 FOMO 网络中使用软 F1 损失可以作为隐式非最大抑制。
为了评估实际性能,将这些网络部署在 RISC-V 基础的 GAP9 微控制器上,从 GreenWaves Technologies 公司,展示了所提出的在 MCU 上使用高分辨率图像进行多个预测,实现检测性能(F1 分数 58%-95%)、低延迟(0.6ms/推理 - 16.2ms/推理)和节能(31µJ/推理 - 1.27mJ/推理)之间的平衡。
1 Introduction
低功耗物联网(IoT)设备与先进传感器以及尖端机器学习(ML)算法的整合正在推动各行业发生变革,包括健康监测[1],家居自动化[2]和工业过程优化[3]。这些边缘计算设备通过利用设备上的 ML 算法,提高了数据隐私保护,增强了带宽效率,并实现了成本降低。这些算法在本地处理隐私关键的感知信息,并提取元数据,然后将元数据传输到云进行进一步分析或操作。对于许多场景,精确目标检测[4, 5]是关键应用。目前,最先进的目标检测器通常使用卷积神经网络(CNN)架构来预测图像中的物体位置和类别。值得注意的是,基于 Transformer 的网络架构[7, 10]已经出现,并展示出在提高目标检测系统能力方面具有巨大的潜力。
然而,这些网络虽然具有深度上下文理解,但计算要求非常高,因此需要消耗数百瓦特功率的强效和昂贵硬件,使其不适合大多数 IoT 处理器。这促使学者们提出使用模型量化方法来实现移动和低功耗嵌入式设备上的微机器学习(TinyML)。虽然轻量级神经网络的进步使得在图像分类等任务上取得了很大的进展[11],最近开始在简化目标检测任务上获得良好的检测精度,但检测小物体仍然是一个挑战,尤其是在内存受限的设备上,如微控制器单元(MCUs)。这些嵌入式处理器的计算预算有限,导致一个图像的执行延迟在几秒钟[21]。
检测图像中小目标的挑战主要归因于这些目标具有有限的像素覆盖,这极大地抑制了目标检测器生成独特特征的能力,这是准确识别的至关重要的一步[21]。高分辨率图像提高了信噪比,然而,具有 8 位颜色深度和像素分辨率的 RGB 图像已经超过了低功耗 MCU 通常可用的的闪存存储。有限的剩余内存限制了可以部署的模型的大小[11]。另一个因素是 CNN 基础算法中的步进操作导致小目标在特征图中被完全消失。
这篇论文是对作者之前的工作《"增强物联网应用中小型目标检测的轻量级神经网络方法"》中的方法和发现进行全面阐述和扩展。作者之前研究的核心是开发一种自适应分块技术,如图 1 所示为所提出方法的总览,专门用于增强轻量级神经网络的能力,例如更快地检测更多目标(FOMO)[16],以准确识别小型目标。该技术的有效性通过在低功耗的 Sony Spresense MCU 平台上的实现进行实证。尽管实现了令人称赞的检测准确性,但该方法受到显着的延迟惩罚。此外,作者之前的调查还揭示了 FOMO 物体预测能力的一种固有局限性,即分块粒度和输入分辨率的提升在检测性能方面不再产生成比例的改善。
在这些基础见解的基础上,本研究的扩展部分引入了重大进步和新的贡献,具体体现在以下几个方面:
增强方法论深度:本文扩展为引入了自适应镶嵌方法[21]提供深入解释,展示了其在显著提高信噪比的同时,无需相应增加网络输入分辨率的能力。
网络修改和集成:本文详细描述了针对原始 FOMO 架构所进行的修改,以及与作者的自适应拼图方法相结合时所产生的协同效应。进行了一项消融研究,以证明它们在提高作者之前研究中所设立的 Baseline 之外的目标检测能力方面的作用。
扩展至作者最初发布的范围之外,这项扩展通过以下实验改进,拓宽了作者方法的实际验证:
应用于 TinyissimoYOLO:通过将自适应镶嵌技术应用到 TinyissimoYOLO 网络,相较于 CARPK [22]数据集上的最新基准,实现了最先进的检测准确率。这一成就证明了作者的方法在不同网络架构下的通用性和有效性。
在 GAP9 上部署:FOMO 和 TinyissimoYOLO 网络都在 GAP9 微控制器(MCU)上部署,这是一种基于 RISC-V 的并行处理器,具有硬件加速器。这个平台实现了最先进的推理延迟,这是在物联网应用中追求高效实时目标检测的一个重要里程碑。
开源代码 1:与 TinyissimoYOLO 一起发布了提出的瓷砖方法的开放式版本。(https://github.com/ETH-PBL/Ti...)
通过这些贡献,本文不仅扩展了在物联网范式下小目标检测的理论与实践理解,还为新发布的低功耗 MCU 上神经网络的部署设立了新的基准,从而为该领域的未来创新铺平了道路。
2 Related Work
检测小型物体仍然是一个研究挑战,因为从小型物体所覆盖的相对有限的像素中生成特征具有固有的困难。大多数广泛使用的目标检测模型并未针对这一挑战进行优化。表 1 显示了像 YOLOv4 [23]和 Faster R-CNN [25]这样的流行目标检测模型在小型物体上的表现显著较差。这一限制部分可以归因于网络架构。例如,YOLO [27]使用网格方法进行预测,其中位于同一网格单元的小型物体可能不会被正确检测。另一个问题是与用于开发这些模型的训练数据相关。大多数目标检测模型需要大量的训练数据,对于只有有限数据的专用场景构成了挑战。
因此,实践者可能需要依赖可以针对其使用场景进行微调的预训练模型。然而,用于预训练模型的通用训练数据集通常倾向于包含占据图像较大比例的目标[28]。因此,在主要包含小型物体的目标使用场景下,它们的可用性受到限制。
为解决这些问题,所采取的努力可以广泛地分为两类:
一类是试图为给定目标提供更多的信息;
另一类是试图在小型目标上生成更丰富的特征。刘等人[8]的工作是利用 CNN 的层叠结构在多个尺度上进行预测的最早尝试。他们在其网络的末端添加了多个特征层,这些特征层的分辨率逐渐减小。每个特征层都进行自己的预测,最后,非极大值抑制步骤选择最可能的预测。
然而,在初始特征提取器中发生的下采样限制了该网络检测小型物体的能力。这一局限性在林等人[9]的工作中得到解决,他们提出将早期层的高分辨率特征与后期层的更成熟特征相结合。为此,他们将多个分辨率下的特征图拼接在一起,并采用一个可以接受这种多尺度特征向量作为输入的单一预测器。这些发现决定了本工作的选择,即采用 TinyissimoYOLOv1.3[30],这是一个轻量级网络,使用了 YOLOv3[31]中引入的检测 Head,该检测 Head 将不同尺度的特征组合在一起。
虽然这些方法试图通过改变网络架构来最大化小目标特征的表达能力,但其他研究行人试图通过增加可用的信息量来达到这个目标。一个明显的途径是增加网络的输入分辨率,这在刘等人[8]的工作中有提及。不幸的是,增加图像分辨率并非总是可行的。许多网络具有固定的输入大小,而增加图像尺寸会极大地增加内存和计算负载。
Cagatay 等人[32]提出了一种名为 Slicing Aided Hyper Inference 的框架,将图像分割成子图像。他们展示了如何使用这个框架来提高现成目标检测器的推理性能,同时在使用框架微调预训练模型时获得更好的结果。他们的方法将输入图像分割成固定数量的小块,并在后处理阶段将每个块的预测与全图像的预测相结合。为了抵消图像分块引入的增加处理时间,Plastiras 等人[33]提出了一种选择性分块方法。他们的方法为每个块分配一个重要性分数,对于给定的迭代,只处理具有最高分数的块。受到选择性分块方法启发,之前的工作引入了一种适应性分块方法[21],以最小化推理次数,同时优化目标大小以确保最大的检测准确性。
CNNs 的部署在 MCU 类设备上主要是内存约束问题,需要采用应对_量化技术_的方法[34],以降低随机访问内存(RAM)和闪存(FLASH)的使用,同时保持精度不变[35],_(ii)_减小网络大小,例如 FOMO 方法[16]或 TinyissimoYOLO[12],_(iii)_或者在执行网络前向传播时减少所需的 RAM,例如不同版本的 MCUNet[14],[15]。
例如 PP-PicoDet[36]或 NanoDet[37]等目标检测模型具有前景,但它们的最小版本在 1MB 的 FLASH 上 barely fit,并且超过了 MCU 中通常可用的 RAM。因此,这些网络在 Snapdragon 类系统芯片(SoCs)上进行基准测试,这些芯片的功耗处于等待状态。
文献报告了一些用于 MCU 上的目标检测网络,如 XiNet [13]和 PhiNet [17],这些网络优化了 RAM 消耗。然而,这些网络使用了诸如注意力机制或压缩和激励块等层操作,这些操作在商用的 MCU 内置加速器中并不常见[20]。大多数 ML 加速器,如实现到 Marsellus SoC [38]中的可配置二进制引擎(RBE)加速器,只加速少数简单的层操作,例如 3D 卷积层。利用这些加速操作,TinyissimoYOLO 可以实现与最佳类模型相当的检测精度,同时支持实时推理。
虽然边缘设备上的目标检测领域已经得到了一定程度的探索,尤其是在 MCU 的有限功耗范围内,但是将小型目标检测器部署在这些设备上仍然是一个相对较少研究的领域。以前的研究主要集中在为边缘部署优化现有神经网络架构,或者减少目标检测算法的计算复杂性。然而,在 MCU 上检测小型物体的两倍挑战,即需要高检测准确率和低计算开销,至今尚未得到全面解决。
本文做出了几个新颖的贡献,不仅填补了本节中描述的差距,而且在微控制器的推理速度和检测精度方面,也突破了目前的可行性界限:
高速推理:本文扩展展示了使用 FOMO 网络在低功耗 MCU 上实现每秒>30 帧的推理速度。这一显著成就进一步证实了作者的方法在效率方面的优势,使其在实时应用中具有可行性,在这些应用中,快速目标检测至关重要。
当前最先进的检测准**确率**:将 TinyissimoYOLO 网络部署在 GAP9 MCU 上,本工作实现了小目标检测的当前最先进平均物体误差计数。这一成就是在保持接近 3 FPS 的运行速度的同时实现的,这在一个资源受限的目标部署平台中是值得注意的成就。
创新解决方案:在 MCU 上实现小目标检测:本文提出的该方法扩展解决了在 MCU 上检测小型目标未得到解决的问题。通过优化网络架构和推理流水线,本文扩展提出了一种可行的解决方案,该解决方案满足了边缘应用对高精度和低延迟的严格要求。
3 Method
Detection Networks
3.1.1 Fomo
恐失(Fomo)[16] 是一种轻量级的目标检测网络,它预测目标中心而不是边界框。Fomo 使用 MobileNetV2 [24] 网络的早期层作为特征提取器,从而形成一个 的特征网格,其中 的尺寸取决于特征提取器的深度。在本工作中使用的 Fomo 实现具有三个下采样阶段,导致从输入到输出的整体下采样因子为 8。特征网格随后被输入到一个小的检测 Head 中,该检测 Head 通过将属于同一目标的 特征分类并进行聚类来预测目标中心。原始 Fomo 网络,由 Edge Impulse 实现,使用了粗糙的聚类技术,即邻域网格单元上的所有预测都被合并在一起。
该架构有两个主要局限性。首先,它对每个 特征只做出一次预测,与其他单次检测器(如 You Only Look Once,YOLO)不同。这意味着在同一网格单元中定位的小物体将算作一次预测。其次,它无法区分相邻网格单元中预测的附近物体,因为聚类步骤会将它们错误地融合在一起。
根据在 FOMO 应用中采用对比监测,对标准 FOMO 实现进行了两项修改。由于图像中的物体与背景的比例可能剧烈变化,因此替换了加权二进制交叉熵损失,采用了由 Maiza 等人引入的软 F1 损失[39],无需手动调整每个目标类损失成分的权重。此外,在对比监测中,通常许多车辆都位于非常接近的位置。这使得相邻车辆的预测很可能位于 FOMO 输出的相邻网格单元中,然后由 FOMO 融合机制错误地合并。在 3.3 节中,作者提出了一种最小化不同目标预测意外合并的方法。
3.1.2 TinyissimoYOLO
[21] 中的工作表明,FOMO 的检测性能在输入分辨率达到 192×192 时会停滞。因此,可以合理地假设 FOMO 的小参数数量是这一限制的原因。本工作通过研究更复杂的网络,扩展了[21]的结果。
微小的 YOLOv1.3 [30]是一种目标检测网络,它基于 TinyissimoYOLO [12],但使用了 YOLOv3 的检测 Head,使其能够基于提取的多尺度特征预测边界框。由于该网络结构简单且大量使用了 3D 卷积层,因此可以使用具有 ML 加速器的 SoC 进行高度加速,这一点由 TinyissimoYOLO 的后续出版物所证明 [20]。这种网络预测边界框的能力允许使用更复杂的算法来融合相邻块的预测,这一点将在第 3.3 节中详细说明。
Adaptive Tiling
为了解决小型物体像素信息不足以及来自 FOMO 架构的目标大小限制问题,作者提出了一种自适应分块的方法,将图像分割成较小的子图像。这种方法具有多个优点。首先,它增加了物体的相对大小,从而在假设输入分辨率保持不变的情况下提高了信噪比。其次,增加物体的尺寸会降低多个物体位于同一网格单元的概率,这对基于 Anchor 点目标检测器(如 FOMO 和 TinyissimoYOLO)非常重要。作者遵循 Akyon 等人[32]的工作,将图像分割成重叠块,确保在某一块中仅部分可见的目标在相邻块中完全可见。图 2 显示了所提出的方法如何将图像分割成较小的块进行单独处理。
将图像分割成瓷砖进行逐个处理的一个缺点是处理时间的增加,且物体越小,需要使用的瓷砖越多才能获得良好的检测结果。在这项工作中,定义了一个目标物体大小,该大小通过归一化边界框面积(NBA)进行量化,以调整瓷砖的数量。NBA 是边界框的像素面积,通过将像素总面积除以像素总面积进行归一化。对于拍摄在物体附近的照片,只需要使用几块瓷砖就能达到目标物体大小,而对于拍摄在物体较远位置的照片,需要使用更多的瓷砖。这样可以在最小化需要处理瓷砖数量的同时,确保最佳可能的检测性能。
为了确保拼贴图像中的目标大小与目标目标大小匹配,作者为每张图像定义了一个正方形拼贴块。
在训练过程中,被标注物体的边界框大小被用来计算最优的瓷砖尺寸。在实际应用中,例如使用 GPS 的高度测量,可以估算物体的尺寸。
Fusing Tiled Predictions
采用重叠的方格会导致网络多次看到相同的图像区域,因此网络可能会对同一物体做出多次预测。为了确保准确的物体数量,来自多个方格的同一物体的预测必须正确融合。这通过比较所有方格预测的交集来实现,但是,实现方式会因网络架构的差异而有所不同。
对于 FOMO 网络做出的每个n×n预测,都会创建一个“伪”边界框,其大小等于相应的网格单元。当相邻的瓷砖的交并比(IoU)大于特定阈值时,这些网格单元大小的边界框预测会被融合在一起。
微小的 YOLO(TinyissimoYOLO)也以网格形式进行预测,但并非预测质心位置,而是预测每个 n×n Anchor 点对应的边界框。人们仍然可以使用 IoU 指标来确定重叠预测之间的对应关系,然而,当物体在一个瓷砖中只部分可见,而在另一个瓷砖中完全可见时,同一物体的边界框将具有非常不同的尺寸。如图 3 所示的一个例子可以说明这一点。这个例子表明,即使一个瓷砖的边界框完全重叠于另一个瓷砖中的第二个边界框,IoU 也可以很小。这使得在确保同一物体预测融合正确的同时,难以找到一个阈值,以防止附近物体意外融合。
为了解决这个问题,作者采用了一种稍微不同的匹配方法。作者不再基于 IoU 进行双向匹配,而是使用作者称之为“交点比率”的一向匹配。这个比率对于每个边界框是通过将其交点区域除以另一个边界框的面积来确定的。这种指标的优点是,几乎完全被另一个边界框包围的边界框,其交点比率将接近 1。
如果至少有一个边界框的交点比率大于阈值,那么这对边界框就被认为是匹配的。如图 3 所示,黄色方块只能部分看到物体,因此预测的边界框比紫色方块小,导致 IoU 小于 50%。另一方面,黄色方块的预测交点比率为 98%,因此在使用作者的单向匹配时,这两个预测可以被认为是高置信度的匹配。
4 Results
作者评估了标准 FOMO 实现[16]、作者的 FOMO 实现[12]以及 TinyissimoYOLO [12]在 CARPK [22]数据集上的检测性能。
该数据集由无人机在约 40 米高度飞行,覆盖了四个不同停车场的近 1,500 张图像,其中包含超过 90,000 辆汽车。
Experimental Settings
除了将提出的方法与其他在 CARPK[22]数据集上的工作进行比较外,作者还评估了由作者提出的瓦片方法的不同配置所带来的小型目标检测性能提升。具体而言,作者用三种不同的输入分辨率以及四个不同的目标 NBA 值训练 FOMO 模型,同时用一个输入分辨率训练 TinyissimoYOLOv1.3,并用四个更大的目标 NBA 值训练。在本论文中,作者使用配备了 9 个 RISC-V 核心的 GAP9 MCU 进行部署和评估。调查的模型通过使用 NNTool2 将其量化到 Int8 精度。NNTool 用于优化计算图,进行量化并验证拓扑结构。
使用 Autotiler3 根据拓扑优化和量化图自动生成 C 代码。生成的代码用于在设备上执行量化网络。延迟和能量测量通过在 GAP9 评估套件上部署网络并利用 Nordic Semiconductor 的 Power Profiler Kit 2 进行。将模型部署到 GAP9 使作者能够观察到提出的瓦片方法以及不同的输入分辨率如何影响到网络的目标物体大小,从而影响检测性能和内存消耗以及延迟。
部署的网络通过参数数量、延迟和推理效率(这描述了设备上计算工作负载的并行化程度)以及根据 Giordano 等人[40]的建议的每推理能量进行评估和比较。
Fomo
在表 2 中,作者将使用作者开发的拼图方法在 CARPK 数据集上与标准 FOMO 实现以及其他已发布的结果进行了比较。与原始 FOMO 架构相比,作者的方法在物体计数误差方面减少了 76%,F1 得分提高了 225%。
YOLO 的平均平均误差(MAE)来自[22],YOLOv4 的值来自[41]。对于 YOLO 和 YOLOv4,作者分别根据[27]和[23]中的实现估计了参数数量。与 YOLO[27]相比,作者的 FOMO 实现(带有拼图)减少了 MAE 的 74%,而 YOLOv4[23]实现了 85%的减少。然而,YOLO 和 YOLOv4 都不是为 MCU 设计的,并且不符合大多数低功耗嵌入式设备的内存要求。这清楚地体现在表 2 中,当比较模型参数数量时。
4.2.1 On Device Performance
在图 5 中,作者展示了不同配置下作者方法的目标 F1 指标和设备端延迟。从图 5 中的数据可以看出,无论是增加目标 NBA(即使用更多瓷砖),还是使用更高的输入分辨率,都可以显著提高 F1 指标。检测性能的明显改善表明,小型目标检测中的主要障碍确实是小型物体可用的信息相对较少。
这些结果表明,当增加输入分辨率不是选项(因为受内存限制)时,所提出的瓷砖方法是一种有效的替代方法,可以提高小型物体的信噪比,从而提高检测性能。作者还可以在这些结果中看到瓷砖方法带来的额外延迟。例如,达到目标 NBA 的 0.8% 需要比目标 NBA 的 0.2% 多 3.66 倍的瓷砖,这导致在网络输入分辨率为 192x192 的全图像处理过程中,延迟从 8.0ms 增加到 30.0ms。
TinyissimoYOLO
如图 5 所示,本扩展的前期工作以及可以看到,FOMO 的检测性能在目标 NBA 为 0.8%,输入分辨率为 192×192 时停滞不前。这种停滞可以归因于 FOMO 网络中参数数量极低,限制了其预测能力。因此,作者进行了使用 TinyissimoYOLOv1.3 [30]网络与作者的瓷砖方法相结合的实验。这个网络比之前的大得多,因此可以进行边界框预测,而不仅仅是预测质心。
在表 4 中,作者报告了将 Tiling 方法与 TinyissimoYOLOv1.3 结合使用时,针对不同目标物体大小的结果。使用目标 NBA 为 0.8%,即在精确率和召回率为 93%和 46%时,性能达到停滞,此时目标计数误差为 53.6,明显优于 FOMO 的性能。然而,与 FOMO 不同,将目标物体大小增加至 0.8%以上,将带来显著的改进。
当目标 NBA 为 4%时,最佳 FOMO 模型的 F1 得分与匹配,同时实现了目标计数误差为 6.2,相较于作者最佳 FOMO 网络实现了 52%的降低。这甚至超过了大规模模型如 YOLOv4 [23]的表现,如表 2 所示。
表 4 的最后一行说明了使用目标 NBA 为 6%时获得的检测结果,除召回外,所有指标均略有下降。当目标 NBA 为 6%时,图像平均分为近 30 个块,导致许多汽车被多个块边界吸引,从而降低了检测性能。因此,作者认为这代表了在将物体尺寸增加的好处与被块边界交叉的许多物体相抵消时的实际极限。
Iii-C1 On Device Performance
通过在 GAP9 的 NE16 加速器上部署 Int8 量化 FOMO 网络和 TinyissimoYOLO,实现了实时推理。图 6 比较了部署网络在 III 节描述的指标方面的差异。在图 6a)中可以看出,与实现的 FOMO 网络相比,TinyissimoYOLO 大约大 21 倍。然而,GAP9 将 TinyissimoYOLOv1.3 的工作负载并行化 5 倍优于 FOMO 的工作负载,参见图 6c),导致比 FOMO 大 21 倍的网络执行时间增加了 2.2 倍。这种差异可以解释为 NE16 加速器特别加速了 3D 卷积,这是 TinyissimoYOLOv1.3 网络的核心层。由于加速器的能效,在 GAP9 上运行的 TinyissimoYOLOv1.3 的能量消耗仅比 FOMO 增加 2.7 倍,如图 6d)所示。
Ablation
除了增加自适应分块步骤外,作者对标准 FOMO 实现进行了两个修改,如第三部分 A1 节所述。
这些修改包括:(1)移除融合步骤,(2)在训练过程中集成软 F1 损失。在表 3 中,作者展示了这些修改对物体计数误差以及 F1 指标的影响。此比较的基准是标准 FOMO 实现,作者使用所有网络的输入分辨率均为 192×192。
图 4 比较了所有网络对于同一输入图像的输出。图 4a) 突出了 FOMO 融合方法带来的负面影响。在这个场景中,车辆被紧密地停在一起,以至于相邻车辆的边界框甚至接触在一起。这意味着大多数车辆位于 FOMO 特征网格的相邻网格单元中,这导致 FOMO 错误地将许多预测融合成跨多个车辆的大边界框。如表 3 所示,去掉这个融合步骤可以显著提高召回率以及目标计数误差。这些结果在图 4b)中得到了视觉确认,可以明显看到去掉这个融合步骤大大减少了假阴性数量。
图 4c)说明了提出的镶嵌方法如何既增加了 FOMO 预测网格单元的数量,又减少了网格单元的大小。这个过程减少了同一网格单元被多个车辆覆盖的可能性,同时增加了同一辆车被多个网格单元覆盖的可能性。在 III-A1 节中描述的融合方法能够融合重叠的预测,但在不重叠时,它不能将属于同一辆车的预测进行融合,导致目标计数过多。这就是为什么表 3 中的目标计数变得更糟,而 F1 指标保持相似水平的原因。
最后,图 4d)显示了使用软 F1 损失进行训练的效果。使用这种损失,网络被鼓励在单个目标上只进行一次预测,即使它被多个网格单元覆盖。这种看似“隐式”的非极大值抑制大大减少了每个目标的重复预测,从而导致了目标计数误差的重大降低。与标准 FOMO 实现相比,作者实现了 F1 分数增加 225%,目标计数误差减少 76%。
5 Conclusion
本文通过将作者之前提出的自适应镶嵌方法应用于最新的 TinyissimoYOLOv1.3 网络,扩展了该方法。TinyissimoYOLOv1.3 生成的边界框预测可以被自适应镶嵌方法智能地融合相邻瓷砖的预测。
新颖的瓷砖融合算法将之前实现的平均物体数量误差从 12.9 MAE 降低到 6.2 MAE,在作者的 FOMO 实现中,实现了在 CARPK 数据集[22]上的最先进检测精度。
本工作在基于_RISC-V_的 GAP9 MCU 上进行了边缘部署,该 MCU 内置了来自 GreenWaves Technologies_的 ML 加速器。
FOMO 的最佳实现可以在单个瓷砖上运行推理,耗时 7.31 ms,从而在 33.4 FPS 的全图像上预测物体位置,而 TinyissimoYOLOv1.3 每个瓷砖的推理时间为 16.2 ms,在全图像上的预测速度为 2.8 FPS。
作者展示了如何使用提出的镶嵌方法实现高检测性能,与 CARPK 数据集[22]上的最先进的大型网络相媲美,同时满足 MCU 严格的低内存和低功耗要求。这些结果是向 MCU 实时小目标检测迈出的重大一步。
参考文献
[0]. DSORT-MCU: Detecting Small Objects in Real-Time on Microcontroller Units.
END
作者:小书童
来源:集智书童
推荐阅读
- YOLOv8 与 YOLO11 自定义数据集迁移学习效果对比
- OrientedFormer: 基于 Transformer 的定向目标检测新框架 !
- CUDA-MODE课程笔记16讲通过CUDA C++核心库把llm.c移植为llm.cpp
- 基于 chunked prefill 理解 prefill 和 decode 的计算特性
欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区嵌入式 AI 专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。