YOLO

YOLO输出

假设我要训练一个 CNN 来识别三种类别:人、猫、狗。因此输出向量Y将只有三个元素C1、C2、C3,每个元素都是一个类别得分。如果有更多类别,这个向量将边长。对于上图,我们希望训练CNN识别图像中的人,并用一个边界框定位人。为此,向输出向量中添加边界框参数-x、y、w、h用于确定边界框的大小。x、y确定边框中心坐标;w、h确定边界框的宽和高。

滑动窗口

因为对象可以在给定图像的任何位置,你可以通过在整个图像上滑动一个小窗口,并检查创建的每个窗口中是否有对象 确保检测到所有这些对象。 滑动窗口:

  1. 选择窗口大小:希望窗口足够小 能够捕获图像中的任何小对象
  2. 然后将窗口放在图像的开始位置,并将窗口中的区域馈送到训练的 CNN 中
  3. 对于每个区域 这个 CNN 都会输出一个预测,即这个输出向量 y。pc 是介于 0 和 1 之间的概率,表示窗口中是否有对象。如果没有检测到对象,就不需要继续尝试分类该图像区域。

在此示例中 我们发现第一个窗口区域,不包含我们要查找的任何类别。此时 CNN 将输出一个 pc 等于 0 的向量。 滑动窗口方法效果不错,但是非常消耗计算资源。因为我们需要用不同大小的窗口扫描整个图像,并且需要将每个窗口馈送到 CNN 中。

eg.假设图片为16163

1.选择一个10*10像素的窗口:

如果使用2像素的步幅,则需要16个窗口才能覆盖整个图像:

在最初的Sliding Windows方法中,这16个窗口中的每一个都必须通过CNN单独传递。我们假设CNN具有以下架构:

CNN将10 x 10 x 3图像作为输入,然后它应用5,7 x 7 x 3过滤器。然后使用2 x 2 最大池化,然后是128 个2 x 2 x 5卷积核,然后是具有128个1 x 1 x 128卷积核。最后它具有8个1 x 1 x 128卷积核,代表softmax输出。 将上述CNN的输入从10 x 10 x 3改为16 x 16 x 3

可以看到,这个CNN架构与前面所示相同。如果第一个窗口通过CNN,可以看到结果是最后一个图层左上角。类似地,第二个窗口通过CNN,会在最后一层看到相应的结果:

同样,如果我们通过这个CNN跟随对应于第三个窗口的图像部分,我们会在最后一层看到相应的结果,如下图所示:

实际上,如果我们通过CNN跟踪所有的窗口,会看到所有16个窗口都包含在这个CNN的最后一层。因此,通过CNN单独传递16个窗口与通过CNN传递整个图像完全相同。

这种技术使整个过程更加高效。然而,这种技术有一个缺点:边界框的位置不会非常准确。原因是给定大小的窗口和步幅不可能完美地匹配图像中的对象。

为了提高边界框的准确性,YOLO使用网格而不是滑动窗口,并且使用交并比和非极大值抑制(Intersection Over Union and Non-Maximal Suppression) 上述技术的组合是YOLO算法运行良好的部分原因.

使用网格
IOU
NMS
Anchor Boxes

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏绿巨人专栏

神经网络学习笔记-03-循环神经网络-反向传播计算公式的证明

29660
来自专栏人工智能LeadAI

译文 | 与TensorFlow的第一次接触 第五章:多层神经网络

本章中,我们继续使用之前章节中的MNIST数字识别问题,与读者一起编码实现一个简单的深度学习神经网络。 如我们所了解的,一个深度学习神经网络由相互叠加的多层组成...

34840
来自专栏人工智能LeadAI

卷积,特征图,转置卷积和空洞卷积的计算细节

最近在做姿态估计的项目,在定制和实现卷积网络的时候发现自己对里面的一些计算细节还不够了解,所以整理了该文章,内容如下:

23840
来自专栏云时之间

深度学习与TensorFlow:实现卷积神经网络

在上一篇文章,我们介绍了CNN的一些基本概念和lenet神经网络的架构,今天这一篇文章我们就模仿lenet网络去微调,使其符合mnist数据集的要求,并且达到我...

17240
来自专栏算法channel

深度学习|卷积神经网络(CNN)介绍(后篇)

01 — 回顾 昨天介绍了CNN的卷积操作,能减少权重参数的个数,卷积操作涉及到三个超参数: 深度(Depth) 步长(Stride) 零填充(Zero-pad...

52250
来自专栏张洁的专栏

线性回归的高斯假设

在线性回归问题中,我们定义了损失函数,但是为什么用最小二乘(而不是三次方等)作为损失函数? 我们来尝试解决一个完整的线性回归问题。

65600
来自专栏我是攻城师

opencv里面直方图的意义

33860
来自专栏量子位

一文了解各种卷积结构原理及优劣

王小新 编译自 Medium 量子位 出品 | 公众号 QbitAI 卷积神经网络作为深度学习的典型网络,在图像处理和计算机视觉等多个领域都取得了很好的效果。 ...

39860
来自专栏技术沉淀

02 Learning to Answer Yes/No

从最简单最基础的二分类问题出发,演示一个简单机器学习算法PLA的完整过程,见详细课件。

9320
来自专栏深度学习与计算机视觉

从AlexNet理解卷积神经网络的一般结构

2012年AlexNet在ImageNet大赛上一举夺魁,开启了深度学习的时代,虽然后来大量比AlexNet更快速更准确的卷积神经网络结构相继出现,但是Alex...

41360

扫码关注云+社区

领取腾讯云代金券