YOLO系列(1~3)神经网络笔记

YOLO是一种快速的目标检测算法,从V1到V3不断演进。V1使用全连接层,V2和V3则变为纯CNN结构,提升了速度和准确性。V2引入了Batch Normalization、先验框和Passthrough层,V3通过多尺度特征检测增强了小物体检测能力。损失函数和预测方法也有所改变,V3采用logistic回归预测对象置信度和类别。尽管精度有所牺牲,但YOLO系列在实时性和检测效率方面表现出色。
摘要由CSDN通过智能技术生成

闲话少说,进入正题。YOLO是一种One-stage的物体检测网络1。one-stage即直接生成物体的类别概率和位置坐标值,经过单次检测就可以直接得到结果;相对应的是two-stage甚至multi-stage,multi-stage已经淘汰,所以不提,two-stage则是将检测问题划分为两个阶段,先产生候选区域(region proposals)然后对候选区域分类(一般还需要对位置精修),Faster R-CNN之类的就属于这一类2。v1带有全连接网络,但是v2和v3都舍弃掉了全连接网络,改成了纯CNN的结构,主要目的是减少参数和加快网络的分类速度。

YOLO的速度很快,下图是YOLO V3和其他网络的检测速度对比图1

可以看到YOLO网络具有很强的实时性(虽然是在性能很强的GPU上跑的)。

大致了解下背景之后我们直接看网络。

V1

网络结构

直接放论文中的图:

注意上图中提到pretrain步骤中使用的图片分辨率为 224 × 224 224 \times 224 224×224,而在detection步骤中图片分辨率用的却是 448 × 448 448 \times 448 448×448,这点在后面的版本会被统一成 448 × 448 448 \times 448 448×448

或者可以表示成这张图:

可以看到,前20层是GoogleNet inception V1网络(有改动),这部分用于特征提取,以提高模型泛化能力。pretrain步骤中就是用了这部分网络来做分类任务,然后再用在Object Detection任务上。

除了最后一层用的是线性激活函数,其他层用的是leaky rectified线性激活函数。

目标检测过程

  1. 将原始图片变形成 448 × 448 448 \times 448 448×448大小
  2. 将图片划分成 S × S S \times S S×S个网格(这里 S S S为7),每个网格预测 B B B个bounding box的置信度和位置(中心坐标和box的宽高)(这里 B B B为2)
  3. 每个网格预测 C C C个类别对应的概率 P r \mathrm{Pr} Pr

结合上面的图,最后网络生成 7 × 7 × 30 7 \times 7 \times 30 7×7×30的输出,每个网格30维的输出,总共 7 × 7 7 \times 7 7×7个网格。每个网格预测2个bounding box的坐标 ( x , y , w , h ) (x, y, w, h) (x,y,w,h)和box内是否包含物品的confidence,以及物品属于20类别中每一类的概率(训练数据为VOC,一个20分类数据集),所以每个网格输出 ( 4 × 2 + 2 + 20 ) = 30 (4 \times 2 + 2 + 20) = 30 (4×2+2+20)=30的向量。

上图中图片就被划分为 7 × 7 7 \times 7 7×7的网格,每个grid(红色框选部分)对应两个不同的bounding box(黄色框)每个box由 ( x , y , w , h ) (x, y, w, h) (x,y,w,h)确定位置和大小(x和y表示位置,w和h表示宽高)。这些预测值会在训练过程中与数据集中标注的ground truth ( G x , G y , G w , G h ) (Gx, Gy, Gw, Gh) (Gx,Gy,Gw,Gh)进行对比和训练,可以计算出初始bounding box平移和伸缩得到最终位置的模型。

置信度公式

c o n f i d e n c e = P r ( O b j e c t ) × I O U p r e d t r u t h \mathrm{confidence} = \mathrm{Pr}(\mathrm{Object}) \times \mathrm{IOU}^{\mathrm{truth}}_{\mathrm{pred}} confidence=Pr(Object)×IOUpredtruth

P r ( O b j e c t ) \mathrm{Pr}(\mathrm{Object}) Pr(Object)表示有无人工标记的物品落入网格内,如果有则为1,没则为0。 I O U p r e d t r u t h \mathrm{IOU}^{\mathrm{truth}}_{\mathrm{pred}} <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值