YOLO : You Only Look Once

本文详细介绍YOLOv1至YOLOv3的发展历程和技术特点。包括一步到位的目标检测思想、网络结构改进、损失函数设计等内容,并重点讲解YOLOv2引入的Batch Normalization、High Resolution Classifier等增强技术。

YOLO

迄今为止已经有三个版本,YOLOv1,YOLOv2, YOLOv3

YOLOv1

CVPR2016.5。经典文章,目标识别速度贼快,但定位有一定误差。对比R-CNN系列算法,YOLO是一步到位,同时给出位置信息和类别信息。

概述

将图片resize固定大小,分成s * s 个栅格(grid cell);滑动窗口滑动每一个栅格,对每一个栅格生成2个bounding box,每个bounding box包含4个坐标信息和一个confidence( Pr(Object)IOUtruthpred P r ( O b j e c t ) ∗ I O U p r e d t r u t h ),对于需要预测C个条件类别概率 Pr(Classi|Object) P r ( C l a s s i | O b j e c t ) ,最后 Pr=Pr(Classi|Object)Pr(Object)IOUtruthpred P r = 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 ;总共2*5+20 = 30维向量。综上每一栅格输出30维向量信息,且一个栅格最多只能预测一个物体,然后进行非极大值抑制(NMS),最后取大于阈值的检测信息。

网络架构

这里写图片描述

损失函数

λcoordi=0S2j=01objij[(xix^i)2+(yiy^i)2] λ c o o r d ∑ i = 0 S 2 ∑ j = 0 1 i j o b j [ ( x i − x ^ i ) 2 + ( y i − y ^ i ) 2 ]
+λcoordi=0S2j=01objij[(wiw^i)2+(hih^i)2] + λ c o o r d ∑ i = 0 S 2 ∑ j = 0 1 i j o b j [ ( w i − w ^ i ) 2 + ( h i − h ^ i ) 2 ]
+i=0S2j=01objij(CiC^i)2 + ∑ i = 0 S 2 ∑ j = 0 1 i j o b j ( C i − C ^ i ) 2
+λnoobji=0S2j=01noobjij(CiC^i)2 + λ n o o b j ∑ i = 0 S 2 ∑ j = 0 1 i j n o o b j ( C i − C ^ i ) 2
+i=0S21objicclasses(pi(c)p^i(c))2 + ∑ i = 0 S 2 1 i o b j ∑ c ∈ c l a s s e s ( p i ( c ) − p ^ i ( c ) ) 2

λcoord=5,λnoobj=0.5 λ c o o r d = 5 , λ n o o b j = 0.5
1objij 1 i j o b j 指对应栅格中有物体中心,且负责该物体的bounding box(如何判断哪个bounding box负责该栅格:confidence大的)
C表示 confidence=Pr(Object)IOUtruthpred 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
p(c)=Pr(Classi|Object)Pr(Object) p ( c ) = P r ( C l a s s i | O b j e c t ) ∗ P r ( O b j e c t )

训练过程

先将网络的前20层用ImageNet1000类的数据集预训练(输入分辨率为224*224)
添加4层卷积和2层全连接层用作检测网络的训练(分辨率变为为448*448)

坐标处理

x,y表示预测bounding box 的中心与栅格左上角的相对值,且归一化为0~1。
w,h表示宽长,且值相对于整个图像的宽长,归一化为0~1。

YOLOv2

YOLO9000,Better,Faster,Stronger
CVPR2016.12
基于YOLOv1做出了一些改进,

Batch Normalization

对每一层的Z进行归一化,跟对A归一化差别不是很大,但一般都是对Z。

μ=1miz(i) μ = 1 m ∑ i z ( i )
σ2=1mi(ziμ)2 σ 2 = 1 m ∑ i ( z i − μ ) 2
znorm(i)=z(i)μσ2+ϵ z n o r m ( i ) = z ( i ) − μ σ 2 + ϵ
z^(i)=γz(i)norm+β z ^ ( i ) = γ ⋅ z n o r m ( i ) + β

上式的 γβ γ 和 β 类似于其他参数可以通过梯度下降算法学得。
MAP提高了2%

High Resolution Classifier

YOLOv2的分类网络先用448*448分辨率的ImageNet输入训练迭代十次;(据我理解微调之前仍然用了224*224的分辨类率进行预训练,不然也不叫微调了。)
然后再微调检测网络。
MAP提高了4%

Anchor boxes & Dimension Clusters

学习了Faster R-CNN的RPN网络,也采用Anchor boxes的思想。查全率上升,但也引起了查准率的略微下降。Anchor boxes的宽长比和数量很明显会影响算法最终的性能,
Faster R-RCNN中Anchor boxes的宽长比和数量是人为定义的,这意味着存在一定的优化空间。YOLOv2则采用K-means对训练集中的boxes聚类,从而选取最优的数量和宽长比,距离函数定义为:

d(box,centroid)=1IOU(box,centroid) 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 )

Direct location prediction

对预测的偏移量归一化处理,使得栅格内的anchor box只负责附近的物体,模型更加稳定。

bx=σ(tx)+cx b x = σ ( t x ) + c x
by=σ(ty)+cy b y = σ ( t y ) + c y
bw=pwetw b w = p w e t w
bh=pheth b h = p h e t h
Pr(object)IOU(b,object)=σ(to) P r ( o b j e c t ) ∗ I O U ( b , o b j e c t ) = σ ( t o )

这里写图片描述

聚类加上预测归一化处理MAP提高了5%

Fine-Grained Features(细粒度特征)

类似于残差网络,添加了一个跳跃,MAP提高了1%

Multi-scale Training

由于网络只用到了卷积层和池化层所以可以输入任意大小图片;由于降采样倍数为32;因此采用{320,352,……,608}尺寸进行训练;每训练10次就更换一个尺寸。最后鲁棒性很强。

网络架构

特征提取网络
特征提取网络

参考 https://blog.youkuaiyun.com/jesse_mx/article/details/53925356

YOLOv3

感觉东西不是很多,就没有去专门看。。。

先看效果: https://renmaiwang.cn/s/jkhfz Hue系列产品将具备高度的个性化定制能力,并且借助内置红、蓝、绿三原色LED的灯泡,能够混合生成1600万种不同色彩的灯光。 整个操作流程完全由安装于iPhone上的应用程序进行管理。 这一创新举措为智能照明控制领域带来了新的启示,国内相关领域的从业者也积极投身于相关研究。 鉴于Hue产品采用WiFi无线连接方式,而国内WiFi网络尚未全面覆盖,本研究选择应用更为普及的蓝牙技术,通过手机蓝牙与单片机进行数据交互,进而产生可调节占空比的PWM信号,以此来控制LED驱动电路,实现LED的调光功能以及DIY调色方案。 本文重点阐述了一种基于手机蓝牙通信的LED灯设计方案,该方案受到飞利浦Hue智能灯泡的启发,但考虑到国内WiFi网络的覆盖限制,故而选用更为通用的蓝牙技术。 以下为相关技术细节的详尽介绍:1. **智能照明控制系统**:智能照明控制系统允许用户借助手机应用程序实现远程控制照明设备,提供个性化的调光及色彩调整功能。 飞利浦Hue作为行业领先者,通过红、蓝、绿三原色LED的混合,能够呈现1600万种颜色,实现了全面的定制化体验。 2. **蓝牙通信技术**:蓝牙技术是一种低成本、短距离的无线传输方案,工作于2.4GHz ISM频段,具备即插即用和强抗干扰能力。 蓝牙协议栈由硬件层和软件层构成,提供通用访问Profile、服务发现应用Profile以及串口Profiles等丰富功能,确保不同设备间的良好互操作性。 3. **脉冲宽度调制调光**:脉冲宽度调制(PWM)是一种高效能的调光方式,通过调节脉冲宽度来控制LED的亮度。 当PWM频率超过200Hz时,人眼无法察觉明显的闪烁现象。 占空比指的...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值