《YOLO 目标检测》—— YOLO v3详细介绍

文章目录

前言

YOLO v3(You Only Look Once version 3)是一种快速且准确的目标检测算法,与YOLO v1 和 YOLO v2 相比,在保持高速度的同时,显著提升了检测的精度,特别是在小物体检测方面表现出色。以下是对YOLO v3的详细解析:

一、算法特点

  1. 单阶段检测方法

    • YOLO v3采用单阶段检测方法,将目标检测问题转化为回归问题,使用单个神经网络直接从完整图像预测边界框和类别概率
    • 这种端到端的方法使得YOLO v3能够以极快的速度进行实时目标检测。
    • 下图左边为YOLO系列的检测过程,右边为传统目标检测过程
  2. Darknet-53主干网络

    • YOLO v3使用Darknet-53作为特征提取网络,它包含53个卷积层 ,并引入了残差连接
    • Darknet-53的性能优于ResNet-101,且速度快于ResNet-152,为YOLO v3提供了强大的特征提取能力。
    • 结构如下图:
    • 但是 YOLO v3 中只是运用了红框中的结构,因为在整个 YOLO v3 的模型框架中,并没有池化和全连接层
  3. 多尺度预测

    • YOLO v3 在3个不同尺度上进行预测,延续了YOLO v2 中K-means聚类得到先验框的尺寸方法,为每种下采样尺度设定3种先验框,总共聚类出9种尺寸的先验框
    • 相比YOLO v2 中的5个先验框,这9个先验框是在3种不同尺度的特征图上进行预测,这种多尺度预测的方法显著提高了YOLO v3对小目标的检测能力。
    • FPN特征金字塔:使用了类似FPN(Feature Pyramid Network)的结构,从不同尺度提取特征,以更好地检测不同大小的目标。
    • 如下图:
  4. 逻辑回归分类器

    • YOLO v3使用逻辑回归代替softmax进行分类,更适合处理多标签分类问题。逻辑回归可以将类别概率限制在[0,1]之间,每个类别的概率值相对独立,适用于多标签分类场景。
      • 在YOLO v3中,每个边界框都采用多标签分类器来预测包含的类别。
      • 具体来说,对于每个边界框,YOLO v3会计算其属于每个类别的概率,这些概率是通过逻辑回归分类器得到的。
      • 由于逻辑回归分类器允许相互独立的类别预测,因此YOLO v3可以训练包含许多具有多个标签的样本数据集
  • 通过以下示例图片来了解YOLO v3 检测的过程
    • 下面是以输入图片大小为 416*416的YOLO v3 的网络结构图:
    • 下图中是对三个尺度上输出结果中不同数字的解释

二、算法性能

  1. 速度快:YOLO v3在保持高精度的同时,能够达到实时检测的速度。
  2. 精度高:相比YOLO v2,YOLO v3在COCO数据集上的mAP指标提高了2.7%。同时,YOLO v3在多尺度预测和更好的特征提取器的加持下,对小目标的检测能力显著提升。

三、局限性

尽管YOLO v3在多个方面都有显著改进,但它仍然存在一些局限性:

  1. 对密集目标的检测效果不佳:当图像中存在大量小而密集的目标时,YOLO v3的性能可能会下降。
  2. 对严重遮挡目标的检测不够理想:当目标被严重遮挡时,YOLO v3可能难以准确定位和分类。
  3. 对非常规形状目标的适应性不足:YOLO v3主要针对矩形边界框进行优化,对于非矩形目标的检测效果可能不够理想。
相关推荐
港股研究社10 分钟前
凌雄科技打造DaaS模式,IT设备产业链由内而外嬗变升级
大数据·人工智能
MJ绘画中文版12 分钟前
灵动AI:科技改变未来
人工智能·ai·ai视频
大模型算法和部署23 分钟前
构建生产级的 RAG 系统
人工智能·机器学习·ai
思通数科大数据舆情1 小时前
开源AI助力医疗革新:OCR系统与知识图谱构建
人工智能·目标检测·机器学习·计算机视觉·目标跟踪·ocr·知识图谱
DuoRuaiMiFa1 小时前
探索 Surya:一款强大的开源 OCR 工具,支持 90 多种语言识别
人工智能·ocr
正义的彬彬侠2 小时前
《近似线性可分支持向量机的原理推导》 拉格朗日函数 公式解析
人工智能·机器学习·支持向量机·svm·近似线性可分支持向量机
AI完全体3 小时前
【AI日记】24.10.29 调整战略:做项目,先入行,循序渐进,顺势而为
人工智能·日记
joker_man13 小时前
科大讯飞AI大赛:玉米雄穗识别挑战赛
人工智能·python·yolo
YRr YRr7 小时前
自然语言处理领域中的两个主要技术挑战:实体歧义和上下文管理
人工智能·自然语言处理
LRaby356467 小时前
Spearman、Pearson、Euclidean、Cosine、Jaccard,用来衡量不同数据之间的相似性或差异性
人工智能·机器学习·1024程序员节