您的位置:首页 > 其它

极简笔记 YOLO9000 Better, Faster, Stronger

2018-03-15 21:26 615 查看

极简笔记 YOLO9000: Better, Faster, Stronger

论文地址 https://arxiv.org/abs/1612.08242

文章核心就是提出了第二弹YOLOv2,在速度和精度上相较于上一代YOLO有大幅提高,完全超越SSD,唯一遗憾的就是用了类似于RPN的结构,不再是single-shot detector了。



首先先放一张YOLO vs. YOLOv2对比图,然后逐一介绍v2的改进。

Batch Normalization

文章在原YOLO所有卷积层后都加了BN,提高了2%mAP

High Resolution Classifer

YOLO分类器是在224x224输入图片上pretrain,之后再增加到448做detection。YOLOv2分类器则先在448x448尺度ImageNet数据集上进行fine-tuning。效果+4%mAP

Convolutional with anchor boxes

YOLO直接回归到bbox的绝对坐标,改成使用RPN回归到offset,更容易训练。作者也把输入尺寸改成了416x416,为了除32之后是13x13的奇数尺寸,在最中间只有一个像素。YOLO每张图预测98bbox,69.5mAP,81%recall;而RPN预测上千个proposal,69.2mAP,88%recall,为了更大的提升空间作者选择了后者。

Dimension Clusters

RPN的anchor尺寸作者没有直接设置,而是在training set里做了一下聚类。这里并不是简单的欧氏距离k-means,而是利用bbox和最接近的centroid(feature map上最接近的像素框)的IOU进行距离定义:

d(box,centroid)=1−IOU(box,centroid)d(box,centroid)=1−IOU(box,centroid)

这样做的好处是能聚类到较好的宽高比。取聚类中心个数k=5作为复杂度与性能的tradeoff



Direct location prediction

在预计anchor位置偏移时候是直接回归,没有其他约束,导致训练初期较难收敛。作者将其改成回归txtx,之后用sigmoid函数将其约束到0-1,即bboxx=σ(tx)+cxbboxx=σ(tx)+cx 。此外也如图修改了宽和高的约束(px,pypx,py 是bbox prior,即前面cluster的结果。



Fine-Grained Features

把浅层26x26x512尺寸feature map passthrough过来变成13x13x2048 和深层feature map concatenate在一起,+1%性能

Multi-Scale Training

输入图片尺寸从320-608都有,把网络在不同输入尺寸上训练。

New Network

使用Darknet-19网络,参数个数5.58 billion,相比VGG-16参数更少(30.69 billion),且在ImageNet top-5 accuracy高了1.2个点,速度也更快。

Hierarchical classification

建了一个类别WordTree树状结构,区别于WordNet有向图结构。相对于原有类别提出了很多归纳性的类别,例如自然景观(里面有草,树)、人造物(里面有飞机、汽车等等)。在分类过程中最细粒度的类别需要父节点通过贝叶斯概率连乘计算。这样训练的结果能对没有学习过的类别有较好的效果。比如网络从来没有见过金毛犬,但是见过狗。所以分类结果狗的概率会很高,但是下面的子类别比如哈士奇、泰迪等等种类的概率就会普遍很低。



最后来一张速度性能对比,感受一下



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: