【目标检测算法】--YOLOv1学习笔记

目标检测主要任务有 分类classification和定位 locatization

(1)经典的检测算法:比如 DPM算法 

https://blog.csdn.net/weixin_41798111/article/details/79989794

传统算法的步骤:

a.ROI区域的选择 采用滑动窗口对整副图像遍历

b.特征的提取 常用sift surf HOG等算法

c.对提取的特征分类 分类器有SVM AdaBoost

 

(2).基于深度学习的方法

  1. One-stage算法 :YOLO SSD CornerNet 等算法。不需要候选区域(region proposal)过程,在一个stage直接产生物体的类别概率和位置坐标值。
  2. Two-stage算法:

 

One-stage算法 :以YOLOv1为例:

YOLO的核心思想就是利用整张图作为网络的输入,直接在输出层回归bounding box的位置和bounding box所属的类别,省去了proposal的阶段。

2-1、原理:

目标检测问题转化为回归问题。将图片划分为7*7大小的网格grid-ceil,每个网格中生成B个bounding-box,在这些bounding-box中检测物体的4个位置、置信度和类别C,一共生成S*S*(B*5+C)个参数。

输出一个固定的维度向量。全连接层的输出编码为物体的类别和位置。

 

2-2 步骤:

  • 在进行检测时,YOLO会首先将输入图片分成 S*S个小格子(grid cell),若一个物体的中心点落到某个格子中,那么这个格子就负责检测出该物体。
  • 对于每个格子,YOLO都会预测出B个bounding box(bbox),而对于每个bbox,YOLO都会预测出5个值,其中4个代表bbox的位置,还有一个代表bbox的confidence值
  •  最终输出7*7*30个feature特征向量,30其中20个描述类别信息,10个描述位置信息。
  • 测试时,一张图片7*7个网格,每个网格称为ceil,一共有98个bounding-box。

 

 

 

 

2-3:YOLOv1的流程:

  1. Resize image:将图片resize成同样大小的,因为Detection需要图片的一些细粒度的信息,所以本文中使用高分辨率的输入: 448*448
  2. Run ConvNet:运行卷积神经网络,得到bbox的分类和回归结果。
  3. NMS:用非极大值抑制来筛选出最终的框

2-4:网络设计:

整个网络包括24个卷积层和2个全连接层,其中卷积层的前20层是修改后的GooLeNet。输出7*7*30的tensor

  • bbox1的回归结果,包括5维,其中前4维代表位置 ,最后一维代表置信度
  • bbox2的回归结果,同样也包括5维。
  • grid cell的分类结果,包括20维,分别是20类的概率。

损失:sum-squared error

  • 位置误差,修改位置误差,改变检测小物体的缺点
  • 置信度误差,含有object的
  • 置信度误差,不含object的
  • 分类误差
  • 对于有object的cell,那么计算cell的分类误差,然后cell中两个bbox的置信度误差,然后cell中和ground truth box的IoU最大的bbox的位置误差。
  • 对于没有object的cell,那就只计算cell中两个bbox的置信度误差。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值