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

深入理解YOLO系列目标检测头的设定方式

目录

YOLOv1的检测头结构

1. 网络结构概述

2. 结构细节

3. 优缺点

YOLOv2的检测头结构

1. 网络结构概述

2. 结构细节

3. 优缺点

YOLOv3的检测头结构

1. 网络结构概述

2. 结构细节

3. 优缺点

总结:YOLO 系列检测头的结构演变


YOLOv1的检测头结构

1. 网络结构概述

YOLOv1的检测头采用了最基础的设计——全连接层(Fully Connected, FC)。YOLOv1采用的是一个卷积神经网络(CNN)作为基础网络进行特征提取,最后通过一个 全连接层(FC layer)将卷积层的输出映射到目标检测的最终结果。

2. 结构细节

卷积层:图像经过一系列卷积层和池化层后,提取出特征图。

全连接层:将卷积层提取出的特征图展平为一维向量,并通过一个全连接层来输出目标检测结果。

  • 输出张量为:S x S x (B * (5 + C)),其中:
    • S 是网格大小(例如 7x7),
    • B 是每个网格单元的边界框数量(通常为2),
    • 5 是每个边界框的 4 个坐标(x, y, w, h)和置信度(confidence),
    • C 是类别数量。

3. 优缺点

  • 优点:结构简单,推理速度非常快,适用于实时性要求较高的场景。
  • 缺点:由于全连接层的设计没有保留空间结构信息,导致精度相对较低,尤其是小物体的检测性能差,定位精度不高。

YOLOv2的检测头结构

1. 网络结构概述

YOLOv2对检测头进行了显著优化,特别是引入了 直通层(passthrough layer)Anchor Boxes。YOLOv2的骨干网络是Darknet-19,通过多个卷积层进行特征提取,最后通过一个卷积层来进行目标预测。

2. 结构细节

直通层(Passthrough Layer):YOLOv2引入了 passthrough layer,这是YOLOv2的一个重要创新。该层使得低层次的特征图可以与高层次的特征图结合,避免了丢失低层细节信息,从而提高了检测精度。Passthrough layer 连接了从某一层到另一层的特征,使得低层特征能够与高层的语义信息结合。

例如,在YOLOv2中,网络的最后几层不仅仅是卷积层,还会对低层和高层的特征进行融合。这使得网络能够保留更多的空间信息,有助于定位精度的提升。

卷积检测头:YOLOv2的检测头由几个卷积层组成。最终的卷积层输出为一个张量,表示每个网格单元的目标信息。

  • 输出张量大小:S x S x (B * (4 + 1 + C)),其中:
    • S 是网格大小(通常是 13x13 或 19x19),
    • B 是每个网格单元的锚框数量(通常为 2 或 3),
    • 4 是每个边界框的坐标(x, y, w, h),
    • 1 是每个边界框的置信度(confidence),
    • C 是类别数量。

Anchor Boxes:YOLOv2采用了基于K-means聚类的方法来生成锚框,用于每个网格单元预测不同形状的边界框。通过锚框,YOLOv2能够更好地预测不同尺寸的物体。

3. 优缺点

优点

  • Anchor Boxes:能够更好地处理不同尺度和形状的物体。
  • Passthrough Layer:保留了低层的细节信息,有助于提高小物体的检测精度。
  • 卷积头:相比YOLOv1的全连接层,卷积层能够更好地保留空间信息,提高了检测精度。

缺点

  • 计算开销:相比YOLOv1,YOLOv2的计算量增加,尤其是引入Anchor Boxes和passthrough层后,计算复杂度增加。
  • 锚框选择依赖数据:锚框的选择需要根据训练数据来优化,若选择不当,可能会影响精度。

YOLOv3的检测头结构

1. 网络结构概述

YOLOv3对检测头的设计进行了更深入的优化,特别是通过多尺度预测和**特征金字塔(FPN)**的引入,进一步提升了对不同尺度物体的检测能力。YOLOv3采用了基于 Darknet-53 的骨干网络,并结合了多尺度预测。

2. 结构细节

多尺度预测:YOLOv3通过在不同尺度的特征图上进行预测,来检测不同尺寸的物体。具体来说,YOLOv3在三个不同的尺度上进行预测:13x1326x2652x52,这些尺度分别用于检测大、中、小物体。

每个尺度的输出为:S x S x (B * (4 + 1 + C)),其中:

  • S 为不同尺度下的特征图大小(如13x13,26x26,52x52),
  • B 为每个网格单元的锚框数(通常为 3),
  • 4 表示每个边界框的4个坐标(x, y, w, h),
  • 1 为置信度,
  • C 为类别数量。

特征金字塔(FPN):YOLOv3并不直接使用标准的FPN,而是通过结合来自不同层的特征图来生成多尺度输出。YOLOv3通过跨层的融合(即对低层特征进行上采样,并与高层特征进行融合)来进行多尺度预测。这种结构类似于FPN的思想,但它并不严格地采用FPN的所有技术。

卷积检测头:YOLOv3的检测头由多个卷积层组成,并使用了3个不同尺度的卷积层,每个尺度用于预测不同尺寸的物体。

3. 优缺点

  • 优点

    • 多尺度预测:通过在多个尺度上进行预测,YOLOv3能够高效地检测不同尺寸的物体,尤其在小物体检测上有显著提高。
    • 特征融合:通过跨层特征融合,YOLOv3能够更好地捕捉物体的细节信息,特别是在小物体和复杂场景下。
    • 高精度:YOLOv3采用了更深的网络和多个优化技巧,使得它在各种数据集上的表现非常出色。
  • 缺点

    • 计算复杂度较高:多尺度预测和特征融合使得YOLOv3的计算量较大,尤其是在推理时,需要处理多个尺度的输出。
    • 较慢:尽管YOLOv3的检测精度很高,但其推理速度相较YOLOv2稍慢,尤其是在高分辨率图像上的表现更为明显。

总结:YOLO 系列检测头的结构演变

版本检测头结构关键技术优势缺点
YOLOv1全连接层(FC)速度快,设计简单,适合实时检测精度低,定位不准确,小物体检测能力差
YOLOv2多卷积层 + passthroughAnchor Boxes,passthrough更好的精度,适应不同尺寸物体,改进了小物体检测计算复杂度增加,锚框选择依赖数据
YOLOv3多卷积层 + 跨层特征融合多尺度预测,特征金字塔(FPN)多尺度检测,精度更高,尤其是小物体检测计算开销大,推理速度较慢

通过 YOLOv1YOLOv3 的演化,检测头的设计逐步从简单的全连接层,发展为更复杂的卷积层和多尺度预测结构,提升了模型的精度和适应能力。然而,随着网络结构的复杂化,计算成本和训练难度也随之增加。


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

相关文章:

  • 呼入机器人:24小时客户服务的未来趋势
  • 2024年华为OD机试真题-字符串分割-C++-OD统一考试(E卷)
  • 艾体宝案例丨CircleCI 助力 ANA Systems 打造高效 CI/CD 模型
  • android 登录界面编写
  • neo4j 图表数据导入到 TuGraph
  • Android Vendor Overlay机制
  • 如何有效划分服务器磁盘空间?具体的步骤和流程
  • 本地摄像头视频流在html中打开
  • 【机器学习】以机器学习为翼,翱翔网络安全创新苍穹
  • 汽车IVI中控开发入门及进阶(43):NanoVG
  • 打造智慧医院挂号枢纽:SSM 与 Vue 融合的系统设计与实施
  • 【单片机原理】第1章 微机基础知识,运算器,控制器,寄存器,微机工作过程,数制转换
  • HuggingFace datasets - 下载数据
  • C语言数据库管理系统示例:文件操作、内存管理、错误处理与动态数据库设计 栈和堆的内存分配
  • [c++进阶(二)] 智能指针详细剖析--RAII思想
  • 在 .NET 5.0 运行 .NET 8.0 教程:使用 ASP.NET Core 创建 Web API
  • python 模拟法
  • 学技术学英文:SpringBoot的内置监控组件-Spring Boot Actuator
  • Android 10 Launcher3 删除谷歌搜索
  • c++中如何处理对象的创建与销毁的时机?
  • Python发送带key的kafka消息
  • TCP为什么需要三次握手和四次挥手?
  • 创新性融合丨卡尔曼滤波+目标检测 新突破!
  • C/C++语言基础--C++STL库之仿函数、函数对象、bind、function简介
  • 单元测试(C++)——gmock通用测试模版(个人总结)
  • Spring(三)-SpringWeb-概述、特点、搭建、运行流程、组件、接受请求、获取请求数据、特殊处理、拦截器