轻型目标检测模型算法相关资料

文章目录

    • 轻量级目标检测的基本概念
    • 相关研究综述论文
    • 相关算法
    • 算法代码
    • 小结

基本介绍

轻量级目标检测是计算机视觉领域中的一个重要任务,旨在从图像或视频中检测出特定类别的物体并标定它们的位置。与传统的目标检测方法相比,轻量级目标检测侧重于在保持高检测准确性的同时,尽可能减少模型的计算和内存开销,以适应资源受限的环境,如移动设备、嵌入式系统等。

以下是轻量级目标检测的一般步骤和一些常见的方法:

  1. 数据准备和标注: 收集并准备包含目标的图像数据集,并为每个目标标注其类别和边界框位置。通常需要大量的标注数据来训练模型。

  2. 模型架构选择: 轻量级目标检测方法通常采用一些紧凑的模型架构,例如移动设备友好的卷积神经网络(CNN)。一些常见的轻量级模型包括:

    • YOLO(You Only Look Once)系列: YOLOv3、YOLOv4 等,将目标检测视为回归问题,一次性预测目标的类别和边界框。
    • SSD(Single Shot MultiBox Detector): 在不同尺度的特征图上进行预测,适合小目标检测。
    • EfficientDet: 基于 EfficientNet 架构,同时考虑检测精度和模型大小。
  3. 模型训练: 使用准备好的标注数据对选定的轻量级模型进行训练。训练过程中,通过优化损失函数来调整模型参数,使其能够准确地检测目标。

  4. 模型评估和优化: 使用验证数据集评估模型在未见过数据上的性能。根据评估结果,进行超参数调整和模型优化,以提高检测准确率和模型的轻量级特性。

  5. 推理和部署: 训练完成后,将训练好的轻量级目标检测模型部署到目标平台上,进行实时推理和目标检测。为了实现低延迟和高效能,可能需要使用硬件加速或模型压缩技术。

轻量级目标检测方法的发展旨在在保持良好的性能的同时,降低模型的计算和存储资源需求,从而适应各种应用场景。但需要注意的是,轻量级模型可能会在一些复杂场景下表现不如大型模型,因此在选择模型时需要权衡性能和资源开销。

相关研究综述论文

1.这个只是大概简单的介绍了一些方法:轻量化目标检测方法综述 - 百度文库 (baidu.com)

2.自我感觉这个文章做了很详细的介绍,对轻量级目标检测有较为深入的研究:看了几十篇轻量化目标检测论文扫盲做的摘抄笔记 (yii666.com)

3.小型目标检测综述论文:排版要求: (cjig.cn)小目标检测研究综述 - 专知VIP (zhuanzhi.ai)

4.基于现代深度学习的目标检测模型综述 - ScienceDirect

。。。。。

相关算法

1. YOLO Nano
YOLO Nano是一个高度紧凑的网络,它是一个基于YOLO网络的8位量化模型,并在PASCAL VOC 2007数据集上进行了优化。模型大小在4M左右,在计算上需要4.57B推算,性能表现上,在VOC 2007数据集上得到了69.1%的mAP。该网络非常适合边缘设备与移动端的实时检测。

论文地址:https://arxiv.org/abs/1910.01271

代码地址:liux0614/yolo_nano: Unofficial implementation of yolo nano (github.com)

YOLO Nano与Tiny YOLOv2、Tiny YOLOv3的对比:

很明显突出了YOLO Nano的算法优势

2. Micro-YOLO
Micro-YOLO基于YOLOv3-Tiny,它在保持检测性能的同时显着减少了参数数量和计算成本。研究者建议将YOLOv3-tiny网络中的卷积层替换为深度分布偏移卷积(DSConv:https://arxiv.org/abs/1901.01928v1)和带有squeeze和excitation块的移动反向瓶颈卷积 (MBConv:主要源自于EfficientNet),并设计渐进式通道级剪枝算法以最小化数量参数并最大化检测性能。

论文地址:https://www.scitepress.org/Papers/2021/102344/102344.pdf

Micro-YOLO模型的参数量、乘加数可参见下表:


3. NanoDet
NanoDet是一款超快速、高精度、anchor-free的轻量级检测网络,可实现在移动设备上的实时运行。主要面向工程应用,暂未有论文发表。

 工程链接:mirrors / RangiLyu / nanodet · GitCode

该网络具有如下特性:

1.超轻量级:模型文件只有0.98MB(INT8)或1.8MB(FP16);
2.推理速度快:在移动ARM CPU上可达到97fps,即每帧10.23ms的推理速度;
3.高精度:CPU实时推理下最高可达34.3 [email protected]:0.95;
4.训练友好:比其他模型具有明显小的GPU memory消耗,在GTX1060 6G0上可做到batch-size=80;
5.方便部署:支持各种后端,包括ncnn、MNN和OpenVINO。并且提供了基于ncnn推理框架的Android演示。
6.NanoDet-Plus在NanoDet基础上进行了更进一步的优化,增加了AGM(Assign Guidance Module) 和DSLA(Dynamic Soft Label Assigner)模块,使精度在COCO dataset上有了7个点的 mAP提升(与NanoDet相比提升了30%左右),且使得训练和部署更容易。

4. YOLOX-Nano
YOLOX是在YOLO系列的基础上进行了若干改进生成的新的高性能检测器。要点包括:(1) Anchor-free的检测方式;(2) 检测头解耦;(3) 先进的标签分配策略SimOTA;(4)强数据增广;(5) Multi positives。其中,YOLOX-Nano只有0.91M的参数量和1.08G FLOPs,在COCO数据集上获得了25.3%的mAP,比NanoDet高1.8% mAP。

论文地址:https://arxiv.org/abs/2107.08430

代码地址:https://github.com/Megvii-BaseDetection/YOLOX

5. 华为GhostNet
GhostNet通过Ghost模块构建高效的神经网络结构,从而减少神经网络的计算成本。Ghost模块将原始卷积层分为两部分,首先使用较少的卷积核来生成原始特征图,然后,进一步使用廉价变换操作以高效生产更多幻影特征图。在基准模型和数据集上进行的实验表明,该方法是一个即插即用的模块,能够将原始模型转换为更紧凑的模型,同时保持可比的性能。此外,在效率和准确性方面,使用提出的新模块构建的GhostNet均优于最新的轻量神经网络,如MobileNetV3。

论文地址:https://arxiv.org/pdf/1911.11907.pdf

代码地址:http://GhostNet


6. YOLOv5
代码地址:http://YOLOv5

YOLOv5是一系列目标检测架构的合集,其高精度、低耗时、易训练、易部署、好上手等特点,让YOLOv5的热度一举超过YOLOv4,成为当前目标检测界的主流。并且作者也一直在维护,新版本精度越来越高、速度越来越快、模型越来越小,截至目前为止,YOLOv5已经迭代到了第六个版本。为了应对移动端的部署应用,作者推出了YOLOv5的n版本,其参数量只有1.9M,在COCO val2007 dataset上的mAP精度也达到了28.4,而YOLOv5n6在YOLOv5n的基础上,mAP又有所提升,达到了34,同时模型参数量提升到3.2M。

7. YOLO-Fastest 
Yolo-Fastest注重的是单核的实时推理性能,在满足实时的条件下的低CPU占用。目前Yolo-Fastest更新到了V2版本。

工程地址:

http://YOLO-FastestV2

http://YOLO-Fastest

模型特点:

1.简单、快速、紧凑、易于移植;
2.占用资源少,单核性能优异,功耗低;
3.基于yolo的已知最快最小通用目标检测算法;
4.适用于所有平台的实时目标检测算法;
5.ARM移动终端优化设计,优化支持NCNN推理框架。
6.训练速度快,计算能力要求低,训练只需要3GB视频内存,gtx1660ti训练COCO 1 epoch只需4分钟。
7.V2版本相对于V1版本更快更小:以0.3%的精度损失换取30%的推理速度提高,参数数量减少25%。

8. YOLOv5-Lite
YOLOv5-Lite为轻量型的YOLOv5改进版本,整体算法与YOLOv5基本一致,通过修改了YOLOv5的backbone达到模型压缩的目的。根据不同的backbone分别提供了e、s、c、g版本,e版本的backbone为shufflenetv2,s版本的backbone也是shufflenetv2 (与e版本的head不同),c版本的backbone为PPLcnet,g版本的backbone为Repvgg。

工程地址:http://YOLOv5-Lite

与各个轻量级算法的精度对比:

 各模型的backbone、head以及适用的平台可参加下面几个表:

 

 

 

9. YOLObile
YOLObile,顾名思义,是一种适用于移动设备的轻量级网络,从压缩、编译两个角度,在保证模型准确率的基础上,减少模型的大小,并提升模型在移动设备端的运行速度。新的YOLObile framework将YOLOv4压缩了14倍,准确率保持在49.0mAP。

论文地址:https://arxiv.org/pdf/2009.05697.pdf

代码地址:http://YOLObile

YOLObile使用了一种新的block-punched剪枝技术,并且为了提高在移动设备上的计算效率,采用了GPU-CPU协作方案以及高级编译器辅助优化。YOLObile在三星Galaxy S20 GPU上达到17FPS的帧率,使用GPU-CPU协作方案可将帧率提升至19.1 FPS,比YOLOv4的速度提升了5倍。

YOLObile与其他模型在精度和速度上的对比:

10. PP-PicoDet
PP-PicoDet是基于百度PaddleDetection提出的面向移动端和CPU的轻量级检测模型,在移动设备上具有卓越的性能,成为全新的SOTA轻量级模型,并且一直在更新维护,最新的版本发布于2022年3月20日。

论文地址:https://arxiv.org/abs/2111.00869

工程链接:http://PaddlePaddle/PaddleDetection

PP-PicoDet模型具有如下特点:

更高的mAP,参数量在1M以内,在输入像素416x416时,mAP超过30;
更快的预测速度,在ARM CPU上可达到150FPS;
部署友好,支持PaddleLite、MNN、MCNN、OpenVINO等平台,支持转换ONNX,并且提供了C++/Python/Android的Demo;
算法创新,在现有SOTA算法上进行了优化,包括ESNet、CSP-PAN、SimOTA等。

以上算法内容借鉴,详细请访问:轻量级目标检测算法整理_轻量级目标检测模型_牧羊女说的博客-CSDN博客

你可能感兴趣的:(目标检测,算法,目标跟踪)