论文笔记(3)You Only Look Once:Unified, Real-Time Object Detection

本文旨在实现图像中的物体检测,和之前的R-CNN不同的是,它利用一个单一的CNN,完成了在整个图像上bounding box和类别概率的预测。这既使得它可以实现end-to-end的优化,同时也提高了框架的速度。

基于R-CNN的框架,都是先利用region proposal来生成bunding-box,然后利用CNN在box中提取提取特征,再利用分类器进行分类。而且为了优化bounding-box的位置,后续加入了线性单元,用于调整box坐标,从而提高分类准确率。

而YOLO结构模型如下:
论文笔记(3)You Only Look Once:Unified, Real-Time Object Detection_第1张图片
单一的CNN同时完成多个bounding-box的位置及其类别概率的预测。而且训练是基于整个图像,这样就能利用内容信息,从而降低背景误差。在此基础上,通过设定合适的概率预测阈值,就可以得到探测到的高概率物体。如下图所示:
论文笔记(3)You Only Look Once:Unified, Real-Time Object Detection_第2张图片

YOLO的网络结构如下:
论文笔记(3)You Only Look Once:Unified, Real-Time Object Detection_第3张图片
首先用7*7的网格分割图像,每个网格生成一个bounding-box和对应的类别概率。卷积层共有24层,用于提取特征,FC层共有两层,用于预测bounding-box的坐标和类别概率。输出就是一个7*7的网格预测结果。

针对这种网络中存在的一些问题,文中也给予了一些解决方法:
1,49个网格单元,每个包含20个概率预测值,一共就有980个预测值,但只有少数网格有物体存在,这样严重的稀疏可能会导致最终所有的概率都为0,导致训练过程发散。

针对这一问题,在每个网格单元引入额外变量,用于表示在此网格存在物体的概率。这样在某一位置的物体的类别概率就可以计算出来,即:

这里写图片描述
公式里的物体存在概率在每个网格处都更新,而条件概率只在那些含有物体的网格处才更新,这样就能避免排概率为0的问题;
2,由于采用bounding-box时存在尺度较大的物体或者处于网格边界的物体被在多个网格存在定位信息。

采用non-maximal supression可有效缓解这一问题,企鹅对map有所提高。

文章也提到YOLO网络存在的缺陷。一是若某个网格单元里有多个物体时,它只能探测到其中一个。同时损失函数对尺寸不同的bounding-box里的误差采取均等对待,而大尺寸里存在的小错误和小尺寸里发生的小错误的影响是不同的。

论文笔记(3)You Only Look Once:Unified, Real-Time Object Detection_第4张图片
由上图可知,YOLO相较于R-CNN在预测性能上略有提高,但和R-CNN加深网络或者是Fast-R-CNN还是存在一定差距。但下图中我们可以看到YOLO处理图像得速度却比R-CNN甚至Fast-R-CNN都快很多。
论文笔记(3)You Only Look Once:Unified, Real-Time Object Detection_第5张图片
文章发现,YOLO善于处理背景带来的干扰,而Fast-R-CNN在定位上有优势,所以本文将两者结合起来做了分析,而map也得到了进一步提高。

参考文献及网页资料:
[1] Redmon, Joseph; Divvala, Santosh; Girshick, Ross; Farhadi, Ali .You Only Look Once: Unified, Real-Time Object Detection.eprint arXiv:1506.02640
[2]http://pjreddie.com/darknet/yolo/

你可能感兴趣的:(Deep,learning)