当前位置: 首页 > article >正文

目标检测模型和图像分割模型

目标检测

RCNN系列

selective search  cnn  SVN  roi pooling, RPN, roi align

RCNN 系列对比总结

模型

主要创新点速度精度缺点
RCNNSelective Search + CNN 提取特征重复计算,速度慢
Fast RCNNROI Pooling + 单一网络完成检测依赖 Selective Search
Faster RCNN引入 RPN,替代 Selective Search更快对小目标检测效果一般
Mask RCNN增加分割分支,ROI Align 提高精度较快很高计算复杂度更高

YOLO系列

1. YOLO 系列模型概述

版本主要改进点速度精度应用场景
YOLOv1单一卷积网络直接预测边界框和类别。较高基础目标检测
YOLOv2引入批归一化、锚点机制(Anchor Boxes)和多尺度训练。较快更高多目标场景
YOLOv3添加多尺度特征金字塔、改用 Darknet-53 骨干网络,支持更多类检测。小目标检测
YOLOv4增加了 CSPNet、Mish 激活函数等改进,并综合使用了多种优化技术。较快更高实时检测
YOLOv5高效实现,支持导出多种格式(ONNX, TensorRT),便于部署。更快工业应用
YOLOv6专注于工业场景优化,加入更高效的检测头和轻量化模块。工业检测
YOLOv7提出动态标签分配和模糊标签分配策略,进一步优化检测性能。较快多样化任务
YOLOv8模型更加轻量化,支持检测、分割、关键点任务,进一步提高精度和部署性能。很高多任务检测

2、YOLO 系列对比总结

版本主要特点模型大小FPS (1080Ti)mAP@50
YOLOv1单步检测,速度快58 MB4563%
YOLOv2锚点机制,多尺度训练193 MB4078%
YOLOv3特征金字塔,Darknet-53236 MB3080%
YOLOv4CSPNet,优化技术集成244 MB3589%
YOLOv5高效实现,多平台支持14 MB (s)140 (s)92%
YOLOv6工业优化,轻量化设计17 MB (s)150 (s)92%
YOLOv7动态标签分配,多任务支持20 MB (s)160 (s)94%
YOLOv8轻量化,多任务(分割、关键点)18 MB (s)170 (s)95%

3. YOLO 系列关键改进

YOLOv1: 单步检测

        将检测视为回归问题,通过单一网络直接预测边界框和类别。局限性:对小目标检测效果较差,且定位精度不足。

YOLOv2: 增强检测能力

        锚点机制:引入 Anchor Boxes,适配多样化目标尺寸。多尺度训练:支持不同分辨率的输入,提高模型鲁棒性。批归一化:稳定训练过程,改善收敛性能。

YOLOv3: 特征金字塔

        多尺度特征融合:支持不同层级特征的目标检测,适应小目标检测。Darknet-53 骨干网络:更深的网络提高了特征提取能力。分类器调整:使用 Logits 而非 Softmax,更适合多标签检测。

YOLOv4: 综合优化

        CSPNet:减少重复计算,提升速度和精度。Mish 激活函数:提升梯度流动效果。多种优化策略:包括 Mosaic 数据增强、DropBlock 正则化。

YOLOv5: 实用性增强

        代码开源,支持多种导出格式。提供从 Nano 到 X 的多种模型尺寸,适应不同设备的需求。

YOLOv6, YOLOv7, YOLOv8: 效率与精度并重

        引入动态标签分配、模糊标签机制等,提高复杂场景的检测能力。加强轻量化设计,支持边缘设备实时检测。

4. YOLO 系列应用场景

  1. 视频监控: 实时目标检测,识别行人、车辆等。
  2. 无人驾驶: 目标检测、障碍物识别。
  3. 工业质检: 缺陷检测、生产线实时监控。
  4. 医疗影像: 病灶检测、器官定位。
  5. 边缘计算: 部署于嵌入式设备进行轻量化检测。

经典的目标检测模型:

  1. R-CNN系列(Region-based Convolutional Neural Networks)

    • R-CNN:通过选择性搜索提取候选区域,然后利用卷积神经网络(CNN)对每个区域进行分类和边界框回归。
    • Fast R-CNN:在R-CNN的基础上改进,共享卷积计算,引入ROI池化层,提高了效率。
    • Faster R-CNN:引入区域建议网络(Region Proposal Network, RPN),实现了端到端的训练方式,提高了速度和准确性。
  2. YOLO(You Only Look Once)系列

    • YOLOv1:提出了一种单次检测模型,将目标检测作为一个回归问题来解决,速度快,但准确性相对较低。
    • YOLOv2 (Darknet-19):引入了批量归一化和高分辨率的预测,提高了模型的准确性。
    • YOLOv3:引入了多尺度预测和更深的网络结构,进一步提升了性能。
    • YOLOv4:结合了多种优化技术,包括网络结构优化、数据增强等,是目前速度和准确性都较好的模型之一。
  3. SSD(Single Shot MultiBox Detector)

    • 通过在不同尺度的特征图上进行预测,能够检测不同大小的目标,速度快,准确性较好。
  4. RetinaNet

    • 由Facebook AI Research提出,使用了一种新的损失函数Focal Loss,特别适用于类别不平衡的数据集。
  5. DEtection TRansformer(DETR)

    • 完全基于Transformer架构,将目标检测视为一个集合预测问题,不依赖于区域提议网络,但在训练和推理时速度较慢。
  6. Corner Proposal Network (Corner Proposal Network)

    • 通过预测目标的四个角来确定边界框,这种方法在某些情况下可以提供更精确的定位。
  7. CenterNet

    • 将目标检测问题转化为一个关键点定位问题,通过预测目标的中心点和目标的宽度和高度来确定边界框。
  8. FCOS (Fully Convolutional One-Stage Object Detection)

    • 一个无锚点(anchor-free)的单阶段目标检测器,直接在全卷积网络的特征图上预测目标的类别、位置和大小。

图像分割

图像分割(Image Segmentation)是计算机视觉中的一项重要任务,旨在将图像分成多个有意义的区域,通常是为了识别图像中的不同对象、结构或语义部分。与目标检测不同,图像分割不仅需要识别物体,还需要精确地分割出物体的边界。以下是一些经典的图像分割模型及其特点:

1. FCN (Fully Convolutional Network)

FCN 是最早用于图像分割的深度学习模型之一,它通过完全卷积的方式(即使用卷积层代替全连接层),将输入图像转换为与输入图像大小相同的分割图。

  • 关键思想:FCN 将传统的卷积神经网络(CNN)结构中的全连接层替换为卷积层,使得模型能够处理任意尺寸的输入图像。通过使用上采样(反卷积层或转置卷积层),FCN 可以将低分辨率的特征图恢复到原始图像的分辨率,从而实现像素级的分类。

  • 优缺点

    • 优点:模型简单,易于实现;适用于语义分割任务,能够输出与原始图像大小一致的分割图。
    • 缺点:精度较低,特别是在细节和边界的处理上相对粗糙。

2. U-Net (2015)

U-Net 是一种经典的医学图像分割模型,最初用于细胞图像的语义分割。U-Net 的关键特点是其对称的编码器-解码器结构,具有强大的上下文捕捉能力,并且能够进行精细的像素级分割。

  • 关键思想:U-Net 使用了一个 编码器-解码器 结构,其中编码器提取图像的低级特征,解码器逐步恢复空间分辨率。通过在解码器阶段与编码器阶段的相应层之间使用 跳跃连接(skip connections),U-Net 能够保留高分辨率的信息,从而获得更精确的边界。

  • 优缺点

    • 优点:在医学图像分割任务中表现优秀,能够处理图像中的小物体和细节;跳跃连接使得模型在处理边界时更加精细。
    • 缺点:计算量较大,需要大量的训练数据。

3. SegNet (2015)

SegNet 是一个基于卷积神经网络的图像分割模型,采用了编码器-解码器架构,特别适用于低分辨率的图像分割任务。

  • 关键思想:SegNet 的架构类似于 U-Net,但它的解码器使用了 最大池化索引(max-pooling indices),使得解码过程能更好地恢复空间信息。编码器和解码器之间的跳跃连接是通过传递最大池化索引来实现的,而不是直接传递特征图。

  • 优缺点

    • 优点:最大池化索引的使用使得解码过程更加高效,并且在恢复空间分辨率时减少了计算负担。
    • 缺点:对于某些细节的恢复可能不如 U-Net 准确,尤其是在边界处理上。

4. DeepLab 系列

4.1 DeepLabv1 (2015)

DeepLab 是 Google 提出的一个系列分割模型,最初的版本(DeepLabv1)使用了 空洞卷积(dilated convolution) 来扩大卷积核的感受野,从而捕获更大范围的上下文信息。

  • 关键思想:DeepLabv1 通过引入空洞卷积,使得网络在不增加参数量的情况下获得了更大的感受野。此外,DeepLabv1 还使用了 条件随机场(CRF) 来进一步精细化边界,从而提高分割精度。

  • 优缺点

    • 优点:在语义分割任务中具有较好的表现,能够有效地捕捉图像的上下文信息。
    • 缺点:在细节和边界的处理上相对较弱。
4.2 DeepLabv2 (2016)

DeepLabv2 对原始的 DeepLabv1 进行了改进,进一步提高了性能。

  • 关键思想:DeepLabv2 引入了 空洞卷积的多尺度特征(Atrous Spatial Pyramid Pooling, ASPP),以在不同尺度上提取特征,从而增强了网络的上下文捕捉能力。

  • 优缺点

    • 优点:相比于 v1,DeepLabv2 的表现更好,特别是在处理多尺度对象时具有优势。
    • 缺点:相较于一些轻量级模型,计算复杂度较高。
4.3 DeepLabv3 & DeepLabv3+ (2017, 2018)

DeepLabv3DeepLabv3+ 是 DeepLab 系列的更高级版本,它们在性能和精度上有显著提升。

  • 关键思想:DeepLabv3 进一步优化了 ASPP 模块,并且在 DeepLabv3+ 中,使用了一个 编码器-解码器结构(类似 U-Net),进一步提高了分割精度,特别是在处理边界和细节时表现优秀。

  • 优缺点

    • 优点:DeepLabv3+ 在大多数语义分割任务中都具有非常高的精度,尤其在边界处理和多尺度特征提取方面表现出色。
    • 缺点:计算量较大,训练和推理速度较慢。

5. Mask R-CNN (2017)

Mask R-CNN 是从 Faster R-CNN 演变而来的,它不仅能够进行目标检测,还能同时为每个目标生成像素级的分割掩膜。

  • 关键思想:Mask R-CNN 基于 Faster R-CNN,在 RoI Pooling 层后添加了一个分支,用于生成每个候选框的二值掩膜。这样,每个目标的边界可以被精确地分割出来。它使用了 RoIAlign(一种改进的 RoI Pooling 技术)来避免在空间量化时产生不精确的定位。

  • 优缺点

    • 优点:Mask R-CNN 在同时完成目标检测和图像分割任务时,精度较高,尤其在实例分割(Instance Segmentation)任务中表现突出。
    • 缺点:计算量大,速度较慢,尤其在高分辨率图像上。

6. PSPNet (Pyramid Scene Parsing Network, 2017)

PSPNet 通过引入 金字塔场景解析(Pyramid Scene Parsing) 技术,结合多尺度的信息来进行语义分割。

  • 关键思想:PSPNet 使用了一个 全局池化模块,对图像进行不同尺度的分割,并将各个尺度的特征融合在一起,从而获得更全面的上下文信息。

  • 优缺点

    • 优点:通过多尺度融合,PSPNet 能够捕捉到更全面的上下文信息,从而提高精度。
    • 缺点:计算复杂度较高,训练时需要大量的计算资源。

7. HRNet (High-Resolution Network, 2019)

HRNet 是一个针对高分辨率图像的分割模型,它在整个网络中保持高分辨率的特征图,并通过多个分支进行多尺度特征的融合。

  • 关键思想:HRNet 通过保持高分辨率的特征图,并且通过不同分支进行特征融合,从而能够捕捉到更丰富的上下文信息和细节。

  • 优缺点

    • 优点:在高分辨率图像分割任务中具有出色的性能,能够更好地捕捉到细节。
    • 缺点:需要大量的计算资源和内存,训练和推理速度较慢。

8. TransUNet (2021)

TransUNet 结合了 Transformer 和 U-Net,用于医学图像分割。

  • 关键思想:TransUNet 在传统的 U-Net 编码器中引入了 Transformer 结构,以增强全局上下文建模能力,并使用 Transformer 来优化长距离依赖关系。

  • 优缺点

    • 优点:在医学图像分割任务中,尤其是在细节分割方面,表现非常优秀。
    • 缺点:训练和推理速度较慢,需要大量的计算资源。

9、其它一些模型

  1. PSPNet (Pyramid Scene Parsing Network)

    • PSPNet 通过全局金字塔池化模块捕获全局上下文信息,用于提高图像分割的性能。
  2. RefineNet

    • RefineNet 通过多尺度融合和逐步细化的方式,提高了分割的精度和鲁棒性。
  3. HRNet (High-Resolution Network)

    • HRNet 通过多尺度的并行路径和深度监督,保持了高分辨率的特征图,适合于需要精细边界的分割任务。
  4. Transformer-based Models

    • 随着 Transformer 架构在自然语言处理领域的成功,它也被应用于图像分割任务。例如,Vision Transformer (ViT) 和 DeiT 等模型被调整用于图像分割任务。
  5. SETR (Vision Transformer with Shallow Tails)

    • SETR 是一种基于 Vision Transformer 的端到端的图像分割模型,它通过自注意力机制捕获全局依赖关系。
  6. Swin Transformer

    • Swin Transformer 是一种基于 Transformer 的层次结构模型,它在图像分类任务上取得了优异的性能,也被扩展用于图像分割。
  7. U^2-Net (Unified Perceptual Parsing for Scene Understanding)

    • U^2-Net 结合了编码器-解码器结构和注意力机制,用于多任务学习,包括图像分割。
  8. GCN-based Models

    • 图卷积网络(GCN)也被用于图像分割任务,特别是在处理图结构数据时,如细胞分割。
  9. OneFormer

    • OneFormer 是一个统一的模型,它将分割、目标检测和姿态估计任务集成在一起,通过一个单一的前向传播解决多个视觉任务。

http://www.kler.cn/a/420795.html

相关文章:

  • 【MySql】navicat连接报2013错误
  • 洛谷二刷P4715 【深基16.例1】淘汰赛(c嘎嘎)
  • ubuntu 和windows时区设置和时间修改
  • 【Linux课程学习】:站在文件系统之上理解:软硬链接,软硬链接的区别
  • Delphi 12.2.1 idhttpserver的使用方法
  • Flask项目入门—request以及Response
  • ES6 对象扩展全解析:属性简写、表达式、super 关键字等的深度应用
  • Qt5语法的connect指定多个重载信号槽函数中的具体某一个
  • Day6 洛谷 1426+1425+1424+1423+1422+1614+1634+1639
  • 基于Springboot + Vue开发的美食探索及分享平台
  • Maxwell的入门实战
  • java基础概念46-数据结构1
  • Rust循环引用与多线程并发
  • 浏览器中输入一个URL后,按下回车后发生了什么
  • Truffle和Remix简介
  • 基础原型链污染
  • K8S资源之secret资源
  • 基于Java Springboot传统戏曲推广微信小程序
  • 泷羽sec-burp功能介绍(1) 学习笔记
  • Python爬取机车网车型数据并存入Mysql数据库
  • 如何让控件始终处于父容器的居中位置(父容器可任意改变大小)
  • vue项目如何设置字体样式font-family,font-family在项目中不生效
  • linux perf安装问题解决
  • Python线程使用
  • linux arm下获取屏幕事件(rk3588)
  • 大模型开发和微调工具Llama-Factory-->训练方法(SFT, RLHF, DPO, KTO)