目标检测模型和图像分割模型
目标检测
RCNN系列
selective search cnn SVN roi pooling, RPN, roi align
RCNN 系列对比总结
模型 | 主要创新点 | 速度 | 精度 | 缺点 |
---|---|---|---|---|
RCNN | Selective Search + CNN 提取特征 | 慢 | 高 | 重复计算,速度慢 |
Fast RCNN | ROI 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 MB | 45 | 63% |
YOLOv2 | 锚点机制,多尺度训练 | 193 MB | 40 | 78% |
YOLOv3 | 特征金字塔,Darknet-53 | 236 MB | 30 | 80% |
YOLOv4 | CSPNet,优化技术集成 | 244 MB | 35 | 89% |
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 系列应用场景
- 视频监控: 实时目标检测,识别行人、车辆等。
- 无人驾驶: 目标检测、障碍物识别。
- 工业质检: 缺陷检测、生产线实时监控。
- 医疗影像: 病灶检测、器官定位。
- 边缘计算: 部署于嵌入式设备进行轻量化检测。
经典的目标检测模型:
-
R-CNN系列(Region-based Convolutional Neural Networks)
- R-CNN:通过选择性搜索提取候选区域,然后利用卷积神经网络(CNN)对每个区域进行分类和边界框回归。
- Fast R-CNN:在R-CNN的基础上改进,共享卷积计算,引入ROI池化层,提高了效率。
- Faster R-CNN:引入区域建议网络(Region Proposal Network, RPN),实现了端到端的训练方式,提高了速度和准确性。
-
YOLO(You Only Look Once)系列
- YOLOv1:提出了一种单次检测模型,将目标检测作为一个回归问题来解决,速度快,但准确性相对较低。
- YOLOv2 (Darknet-19):引入了批量归一化和高分辨率的预测,提高了模型的准确性。
- YOLOv3:引入了多尺度预测和更深的网络结构,进一步提升了性能。
- YOLOv4:结合了多种优化技术,包括网络结构优化、数据增强等,是目前速度和准确性都较好的模型之一。
-
SSD(Single Shot MultiBox Detector)
- 通过在不同尺度的特征图上进行预测,能够检测不同大小的目标,速度快,准确性较好。
-
RetinaNet
- 由Facebook AI Research提出,使用了一种新的损失函数Focal Loss,特别适用于类别不平衡的数据集。
-
DEtection TRansformer(DETR)
- 完全基于Transformer架构,将目标检测视为一个集合预测问题,不依赖于区域提议网络,但在训练和推理时速度较慢。
-
Corner Proposal Network (Corner Proposal Network)
- 通过预测目标的四个角来确定边界框,这种方法在某些情况下可以提供更精确的定位。
-
CenterNet
- 将目标检测问题转化为一个关键点定位问题,通过预测目标的中心点和目标的宽度和高度来确定边界框。
-
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)
DeepLabv3 和 DeepLabv3+ 是 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、其它一些模型
-
PSPNet (Pyramid Scene Parsing Network)
- PSPNet 通过全局金字塔池化模块捕获全局上下文信息,用于提高图像分割的性能。
-
RefineNet
- RefineNet 通过多尺度融合和逐步细化的方式,提高了分割的精度和鲁棒性。
-
HRNet (High-Resolution Network)
- HRNet 通过多尺度的并行路径和深度监督,保持了高分辨率的特征图,适合于需要精细边界的分割任务。
-
Transformer-based Models
- 随着 Transformer 架构在自然语言处理领域的成功,它也被应用于图像分割任务。例如,Vision Transformer (ViT) 和 DeiT 等模型被调整用于图像分割任务。
-
SETR (Vision Transformer with Shallow Tails)
- SETR 是一种基于 Vision Transformer 的端到端的图像分割模型,它通过自注意力机制捕获全局依赖关系。
-
Swin Transformer
- Swin Transformer 是一种基于 Transformer 的层次结构模型,它在图像分类任务上取得了优异的性能,也被扩展用于图像分割。
-
U^2-Net (Unified Perceptual Parsing for Scene Understanding)
- U^2-Net 结合了编码器-解码器结构和注意力机制,用于多任务学习,包括图像分割。
-
GCN-based Models
- 图卷积网络(GCN)也被用于图像分割任务,特别是在处理图结构数据时,如细胞分割。
-
OneFormer
- OneFormer 是一个统一的模型,它将分割、目标检测和姿态估计任务集成在一起,通过一个单一的前向传播解决多个视觉任务。