YOLO9000个人笔记

                                           YOLO9000个人笔记

首先介绍YOLOv2:

作者引用或者提出的一些优化方法:

  1. Batch Normalization

    该方法将每一层的输出做一次归一化(均值为0,方差为1),然后再偏移一下,尽量保证落在原点周围,可以提升训练的速度,避免梯度消失和爆炸的问题,还避免了过拟合,可以直接移除dropout方法,使得算法对初始值和下降速度不再异常敏感.

  1. High Resolution Classifier

    先将分类网络在高分辨率的图像上面训练,一共10个周期,使得算法适应高分辨率后再去调整他的定位能力.

  1. Convolutional With Anchor Boxes

   Anchor Boxes 是预先规定目标可能的形状和大小等,导致很多运用该技术的算法过度依赖于Anchor Boxes的好坏. YOLO算法加入这个方法后,mAP稍微下降,但是recall提高了,作者最后去掉了这一部分.

  1. Dimension Clusters

作者也采用了预先规定目标可能的大小和方向,但是使用的聚类的方法,通过K-means聚类方法找到5类最有可能出现的boxes,其中聚类算法的距离定义为:,之所以不选择欧几里得距离,因为这会导致大的boxes产生更多的误差. 最后作者权衡复杂度和效果选择的类别为5.

  1. Direct location prediction

作者每个boxes预测了五个信息:tx,ty,tw,th,to. 直接通过中心cell预测出目标可能的位置.

  1. Fine-Grained Features

将前面高分辨率的层直接连接到后面的层,有点像ResNet的方法,使得对小的物体有了更好的效果,主要是服务于detection.

  1. Multi-Scale Training

作者在多尺度上面验证了一下YOLOv2算法,分辨率越高,mAP越高,但是PFS越低.

  1. Darknet-19

作者使用了新的网络,新的网络一共19层卷积层,5层池化层,大大减少了计算量,只有55亿8千万个神经元.

  1. Training for classification

这里是作者一个大的创新,由于检测的数据集比较小且昂贵,作者使用了分类的数据集来提高了自己模型的分类能力.

  1. Training for detection

    之后继续用检测的数据来训练自己检测的能力,并将第二层和最后一层做了连接用来提高检测能力.

再介绍一下YOLO9000:

作者使用的提高训练集的方法:

  1. Hierarchical classification

    ImageNet中的语义是一种拓扑图的结果,作者首先把这种结构变成了树形的结构,创造了WordTree,有点像家族树一样的东西. 然后修改了softmax层,这里变成了多个softmax对最终的结果进行预测,每一个softmax层预测的东西对应于WordTree的一层,比如一个softmax预测这个目标是物体、生命还是现象,这在WordTree中显然属于比较靠近根的层,另一个softmax层可以预测这个是狗还是猫等等,创造了一种独特的树形预测方式.

这意味着YOLO9000有了一种独特的能力,预测没有见过的东西,比如德牧是他见过的,他能预测这是德牧,假设贵宾没有见过,但是他至少可以预测出这是一条狗,只是不知道具体是什么狗,使得预测的鲁棒性大大提高.

  1. Dataset combination with WordTree

作者将ImageNet和COCO的数据用这个WordTree的概念结合在了一起.

  1. Joint classification and detection

结合了两个数据,一共9418个类别,作者在这个上面训练了YOLO9000,不过为了平衡,作者过采样了COCO的数据,使得ImageNet的数据仅仅比COCO的数据多4倍.

最终该模型可以检测那些从来没有见过检测信息的物体,但是仅仅是对动物之类的,这是因为虽然某些动物没有见过,但是动物这个类别的检测信息见过比较多,但是对比如太阳镜之类的没有见过的东西,检测效果为0. 这说明一件事,这个WordTree确实是奏效的,只要在大的类别中给出一些信息,就可以预测这个大类别的其他物体,这是非常有价值的.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值