目标检测学习-YOLO-v2

YOLO v2通过批量归一化、高分辨率分类器、带有锚框的卷积等改进,提升了检测速度和准确性。引入维度聚类、直接位置预测、细粒度特征、多尺度训练等技术,增强小物体检测能力。
部署运行你感兴趣的模型镜像

改进

YOLO v2相对于v1做了不少改进,使得速度和准确率都有所提升,具体的看下面的介绍,新版的口号叫做更好,更快,更强。
在这里插入图片描述

Batch Normalization(批量归一化)

批量归一化,其实就是一种在每个卷积层输入数据前,把数据进行归一化,希望数据分布基本相似,避免了模型总是要对于不同分布的数据进行适应,加快了训练速度,同时还能避免梯度爆炸和梯度消失的问题,且有一定的正则化作用,避免过拟合,取消了Dropout使用。

High Resolution Classifier(高分辨率分类器)

为了适应高的分辨率,在训练的最后几个epoch用448x448的分辨率进行调整,以便于适应高分辨率。

Convolutional With Anchor Boxesr(带有锚框的卷积)

用类似于RPN网络的锚框来进行预测边界框,删除了全连接层,缩小了网络,减少了参数,输入为416x416,最后卷积为13x13,为奇数,为了让中心点只属于1个格子,而不是周围的4个格子,否则要用4个格子来预测物体了,提高了效率。另外yolo v1的特征是关于1个格子里5xB+c个特征,而v2是每一个预测框都有5+c个特征,从关注格子到关注每一个框了。

Dimension Clusters(维度聚类)

解决挑选框的问题,利用了聚类的方法来选出比较合适的框,发现k=5的时候最为合适。距离定义为:
d ( b o x , c e n t r o i d ) = 1 − I O U ( b o x , c e n t r o i d ) d(box,centroid)=1-IOU(box,centroid) d(box,centroid)=1IOU(box,centroid)
box是要聚类的框,centroid的分类的中心。这样就是以交并比来作为衡量的标准,比较合适,而不是单一的欧拉距离。
在这里插入图片描述

Direct location prediction(直接位置预测)

x = ( t x ∗ w a ) − x a x = (t_x ∗ w_a) - x_a x=(txwa)xa
y = ( t y ∗ h a ) − y a y = (t_y ∗ h_a) - y_a y=(tyha)ya
这个是先前的公式,当 t x t_x tx等于正负1时,会移动锚框的宽度,比较大,而我们希望的时得到网格单元的相对位置0-1就可以。

我们给每个网格5个边界框,每个框5个维度 t x , t y , t w , t h , t o t_x,t_y,t_w,t_h,t_o tx,ty,tw,th,to,单元格距离图像左上角偏移 ( c x , c y ) (c_x,c_y) (cx,cy),边界框的先验宽度 p w , p h p_w,p_h pw,ph,预测为:

b x = σ ( t x ) + c x b_x=\sigma (t_x)+c_x bx=σ(tx)+cx
b y = σ ( t y ) + c y b_y=\sigma (t_y)+c_y by=σ(ty)+cy
b w = p w e t w b_w=p_we^{t_w} bw=pwetw
b h = p h e t h b_h=p_he^{t_h} bh=pheth
P r ( O b j e c t ) ∗ I O U ( b , O b j e c t ) = σ ( t o ) Pr(Object)*IOU(b,Object)=\sigma (t_o) Pr(Object)IOU(b,Object)=σ(to)

在这里插入图片描述

Fine-Grained Features(细粒度特征)

为了能够检测小的物体,使用了类似残差网络的那种方式,直接将浅层的特征和深层的特征合并作为输入,使得能一定程度的保留小物体的特征。

Multi-Scale Training(多尺度训练)

为了在不同的分辨率上检测,把全连接层改成了卷继承,尝试了一系列不同的分辨率训练,每几个批次换不同的分辨率,以便于网络适应多分辨率。

Darknet-19

提出了一种新的网络结构,更加小,更加快。参考了很多经典网络,用了较多的3x3的卷积升维,用了1x1进行降维。
在这里插入图片描述

Hierarchical classification(分层分类)

为了让ImageNet和COCO的数据集融合,提出了一种分层分类的概念。即构建一棵树,让每一类都可能有的子类作为他的分支,直到没有子类为止,这样就可以融合两个数据集:
在这里插入图片描述
从最开始的根节点出发,选择概率最大且超过一定阈值的子树,一层层的找下去,直到概率小于阈值,说明不是该类,或者没有子类了。从概率的计算来说,就是条件概率,比如一只金毛,那他的概率应该是动物,狗,金毛这条路线,所以应该是这样:
P r ( 金 毛 ) = P r ( 物 体 ) ∗ P r ( 动 物 ∣ 物 体 ) ∗ P r ( 狗 ∣ 动 物 ) ∗ P r ( 金 毛 ∣ 狗 ) Pr(金毛)=Pr(物体)*Pr(动物|物体)*Pr(狗|动物)*Pr(金毛|狗) Pr()=Pr()Pr()Pr()Pr()
其实就是很多个子类的softmax再softmax:
在这里插入图片描述

yolo v2整体来说都是不错的:
在这里插入图片描述

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片来自网络,侵删。

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值