YOLOv1笔记

1.创新和优缺点

YOLO 非常快。由于我们将检测视为回归问题,因此我们不需要复杂的管道。我们只是在测试时在新图像上运行我们的神经网络来预测检测。此外,YOLO 的平均精度是其他实时系统平均精度的两倍以上。

​ 当进行预测时,YOLO 对图像进行全局推理。与基于滑动窗口和区域提议的技术不同,YOLO 在训练和测试期间看到整个图像,因此它隐式编码了关于类及其外观的上下文信息。与 Fast R-CNN 相比,YOLO 的背景错误数量不到其一半。

YOLO 学习目标的可概括表示。当在自然图像上进行训练并在艺术品上进行测试时,YOLO 在很大程度上优于 DPMR-CNN 等顶级检测方法。由于 YOLO 是高度可推广的,因此在应用于新领域或意外输入时不太可能崩溃。

YOLO 在准确性方面仍然落后于最先进的检测系统。虽然它可以快速识别图像中的物体,但它很难精确定位某些物体,尤其是小物体。

​ 很难泛化到具有新的或不寻常的纵横比或配置的目标。

2.算法流程

  • 将输入图像划分为 S x S 的网格,如果目标的中心落入网格单元中,则该网格单元负责检测该目标。

  • 每个网格单元预测 B 个边界框和这些框的置信度分数。这些置信度分数反映了模型对框包含目标的置信度,以及它认为框预测的准确度。正式地,我们将置信度定义为 P r ( O b j e c t ) ∗ I O U p r e d t r u t h Pr(Object) ∗IOU^{truth}_{pred} Pr(Object)IOUpredtruth。如果该单元格中不存在目标,则置信度分数应为 0。否则,我们希望置信度得分等于预测框和真实边界框之间的交集(IOU)。

  • 每个边界框由 5 个预测组成:x、y、w、h 和置信度。 (x,y) 坐标表示相对于网格单元边界的框中心,宽度和高度是相对于整个图像预测的,x、y、w、h 都进行归一化。最后,置信预测表示预测框和任何真实边界框之间的 IOU

  • 每个网格单元还预测 C 条件类概率, P r ( C l a s s i ∣ O b j e c t ) Pr(Class_{i}|Object) Pr(ClassiObject)。这些概率以包含目标的网格单元为条件。我们只预测每个网格单元的一组类概率,而不管框 B 的数量。

  • 每个框对于某一类别目标的置信度分数是
    P r ( C l a s s i ∣ 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 — — ( 1 ) Pr(Class_i|Object) ∗Pr(Object) ∗IOU^{truth}_{pred} = Pr(Class_i) ∗IOU^{truth}_{pred}—— (1) Pr(ClassiObject)Pr(Object)IOUpredtruth=Pr(Classi)IOUpredtruth(1)
    这些分数编码了该类别目标出现在框中的概率,以及预测的框与目标的匹配程度。

  • 预测输出是 S x S x (B x 5 + C) 的张量

2.1.网络结构

在这里插入图片描述

​ 网络的初始卷积层从图像中提取特征,而全连接层预测输出概率和坐标。

​ 网络的最终输出是 7 × 7 × 30 的预测张量,特征图有 7 x 7 个格点,每个格点有 2 个边界框,预测 20 个目标类别。

2.2.训练

2.2.1.输入图像

​ 输入图像分辨率是 448 x 448

2.2.2.激活函数

​ 网络中最后一层使用线性激活函数,其它层使用 leaky 整流线性激活函数:
φ ( x ) = { x , x > 0 0.1 x , o t h e r w i s e — — ( 2 ) φ(x)=\begin{cases} x,x>0\\ 0.1x, otherwise\end{cases}——(2) φ(x)={xx>00.1xotherwise(2)

2.2.3.损失函数

在这里插入图片描述

​ 其中 1 i o b j 1^{obj}_i 1iobj 表示目标是否出现在单元格 i 中, 1 i j o b j 1^{obj}_{ij} 1ijobj 表示单元格 i 中的第 j 个边界框预测器“负责”该预测。为增加边界框坐标预测的损失,并且减少了不包含对象的框的置信度预测的损失,设置 λ c o o r d λ_{coord} λcoord = 5 和 λ n o o b j λ_{noobj} λnoobj = .5。

2.2.4.学习率

​对于第一个 epoch,我们慢慢地将学习率从 1 0 − 3 10^{-3} 103 提高到 1 0 − 2 10^{-2} 102。如果我们以高学习率开始,我们的模型通常会因梯度不稳定而发散。我们继续用 1 0 − 2 10^{-2} 102 训练 75 个 epoch,然后用 1 0 − 3 10^{-3} 103 训练 30 个 epoch,最后用 1 0 − 4 10^{-4} 104 训练 30 个 epoch。

2.2.5.防止过拟合

​ 为了避免过度拟合,我们使用 dropout 和广泛的数据增强。在第一个连接层之后具有 rate = .5dropout 层可防止层之间的协同适应。对于数据增强,我们引入了高达原始图像大小 20% 的随机缩放和平移。我们还在 HSV 色彩空间中随机调整图像的曝光度和饱和度,最高可达 1.5 倍。

2.3.推理

​ 当一个目标可能被多个网格单元预测时,用 NMS 进行处理,去除掉重复检测的边界框。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值