YOLO v1~v3学习心得

本文介绍了YOLO(You Only Look Once)目标检测算法的三个版本,从v1到v3的发展和改进。YOLO v1将目标检测视为回归问题,通过全局图像检测,但存在定位误差和小目标检测困难的问题。YOLO v2引入Batch Normalization、Anchor Boxes等改进,提高了定位准确性,增强了模型泛化能力。YOLO v3采用Darknet-53结构,增加多尺度特征检测,优化了Anchor Box策略,更适合小目标检测。文章详细探讨了每个版本的网络设计、训练方法和损失函数,并对YOLO9000的联合分类与检测方法进行了说明。
摘要由CSDN通过智能技术生成

前言

    最近因为工作需要,接触了目标检测领域的相关知识,主要学习了YOLO v1~v3的内容,主要参考的是YOLO官方提供的论文以及网上一些大佬的学习笔记。由于刚刚接触目标检测领域,有写的不对的地方还请指正。

YOLO v1

原文链接

研究背景

    之前的目标检测经常被看作一个分类问题,常见的方法包括DPM(Deformable Parts Models)、R-CNN(Fast R-CNN、Faster R-CNN)等。
DPM:
采用对应类别的分类器去评估图像中各个位置和区域是否包含物体、包含那种物体。DPM采用滑动窗口(sliding window)机制,保证分类器可以遍历整张图片。
R-CNN
采用区域预测方式(region proposals methods):首先生成潜在的bbx(bounding box),再通过分类器判断是否包含物体,最后再去判断物体的类别。
缺点:每个部分分开训练,优化困难。
注:这部分翻译自YOLO v1的官方论文,没有更加深入地了解,以后有时间会进行更加细致的了解。

YOLO v1介绍

概述

    YOLO将目标检测抽象成了一个简单的回归问题,输入图像,直接输出边界框坐标和类别概率,用一个系统完成了所有工作。
优点

  • 检测速度快,YOLO的检测框架仅包含一个卷积神经网络,pipline非常简单;
  • YOLO采用全局图像进行检测,不容易产生背景误判;
  • YOLO学习到物体更加泛化的特征,在应要到新领域的时候,表现出较好的泛化性。

实现方法

这里先给一张论文中的图,展示YOLO的基本思想:
YOLO模型
    YOLO算法首先将输入图像分割成S*S的网格(grid cell),每个网格都会预测B个bbx,每个bbx又会包含5个预测值 :(x, y), (w, h)和置信度。
(x, y) :框的中心(相对于网格边界);
(w, h):bbx相对于整个图片的宽和高;
置信度: P r ( O b j e c t ) ∗ I O U t r u t h p r e d Pr(Object)*IOU_{truth}^{pred} Pr(Object)IOUtruthpred(若没有物体,置信度为0,否则置信度则为预测边框和真实边框的IOU(intersection over union,交并比))。
    某个网格包含某一类别物体的置信度用 P r ( C l a s s ∣ O b j e c t ) Pr(Class|Object) Pr(ClassObject)来表示,最终,一个bbx属于某个特定类别的置信分数可以表示为:
     P r ( C l a s s ∣ O b j e c t ) ∗ P r ( O b j e c t ) ∗ I O U p r e d t r u t h = P r ( C l a s s i ) ∗ I O U p r e d t r u t h Pr(Class|Object)*Pr(Object)*IOU_{pred}^{truth}=Pr(Class_i)*IOU_{pred}^{truth} Pr(ClassObject)Pr(Object)IOUpredtruth=Pr(Classi)IOUpredtruth

因此,YOLO最后的输出是 [ S , S , B ∗ 5 + C ] [S, S, B*5+C] [S,S,B5+C]的张量!!!

网络设计

在这里插入图片描述
     YOLO的架构沿用了GoogleNet的形式,完整版的模型中包含24个卷积层和2个全连接层;快速版的YOLO(fast YOLO)减少了卷积层(9层),其他细节均是一样的。
注1:这里存一个疑,一个卷积核难道不应该是 7 ∗ 7 ∗ 192 7*7*192 77192吗?
注2: 1 ∗ 1 1*1 11的卷积核作用:特征降维,节省计算量;增加模型的非线性表达能力。

训练

1. 预训练
     基于ImageNet 1000-class数据集,将YOLO中的前20个卷积层连接上一个平均池化层和全连接层进行了预训练。训练图片的像素为224*224。

2. 训练
     在预训练网络模型的基础上加入了四个卷积层和两个全连接层,采用随机权重初始化策略,并将输入图像的像素从224224增加到448448。

3. 激活函数

  • 最后一层采用线型激活函数;
  • 其它层采用leaky rectified非线性激活函数:
    ϕ ( x ) = { 0.1 x ,      o t h e r w i s e x ,            i f x > 0 \phi(x) = \lbrace_{0.1x,\space \space \space \space otherwise}^{x,\space \space \space \space \space \space \space \space \space \space if x> 0} ϕ(x)={ 0.1x,    other
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值