&创新点:之前的r-cnn,fast-rcnn之类的都没有很好的解决实时性的问题,把检测当做分类在做,yolo则把他当做回归的问题。带来的优化:
1.实时性
2.处理的是整张照片,所以背景出错概率减小
3.泛化:可以迁移用于其他领域

&如何解决问题:
YOLO直接从一张图片中提取特征,来预测每一个Bounding box,直接进行端到端的训练。
首先 将图片划分为S×S的网格,每一个网格中预测B个Bounding box 和confidence score。如果每一个网格中有物体存在,那么confidence score 为Pr(object)∗IOUtruthpredPr(object)∗IOUpredtruth,如果不存在物体,则为0。物体的位置用(x,y,w,h)表示,(x,y)表示物体的中心位置,(w,h)表示bounding box的宽和高。每个网格还会预测C类的可能性Pr(Classi|Object)。
Pr(Classi|Object)∗Pr(Object)∗IOUtruthpred=Pr(Classi)∗IOUtruthpred,(1)

通过上式可以得到每类的confidence score。
yolov1论文笔记
在figure2图中,VOC2007模型中,S=7,B=2,总共有20个label。所以最终产生7∗7∗30的tensor。
&网络架构:
yolov1论文笔记
1.采用gooLeNet,但是不采用Inception模型,而是用1*1的卷积形式,网络输出7*7*30的三维特征。
2训练时,损失函数都采用sum-squared error loss来做这件事会有以下不足:
a) 8维的localization error和20维的classification error同等重要显然是不合理的。
b) 如果一些栅格中没有object(一幅图中这种栅格很多),那么就会将这些栅格中的bounding box的confidence 置为0,相比于较少的有object的栅格,这些不包含物体的栅格对梯度更新的贡献会远大于包含物体的栅格对梯度更新的贡献,这会导致网络不稳定甚至发散。
于是对于那些不包含物体的bounding-box,我们增加了bounding-box坐标位置的预测,减少了置信度的预测,通过引入了λcoord =5和 λnoobj=0.5来实现,具体的损失函数如下:yolov1论文笔记
yolov1论文笔记表示物体出现在第i个网格,yolov1论文笔记表示第i个网格中第j个bounding-box和真实的边框匹配是最佳的。损失函数只有在网格中存在物体,预测期是最佳匹配时才会受到惩罚

&实验结果:
YOLO和其他DPM,R-CNN方法相比,速度毫无疑问是很快,但是mAP指数,并没有下降很多,贴几张检测结果图,可以大概看出YOLO的性能和速度。

**&存在的问题:**1.对于小物体的检测不尽人意2.不断地池化之后信息损失3。损失函数对于小bounding-box和大bounding-box的错误同等看待,戴氏很显然,小bounding-box的错误影响更大(论文中通过预测x,y,w,h的平方根而不是直接预测来部分解决,不是很懂)。

相关文章:

  • 2021-12-08
  • 2021-10-23
  • 2021-05-28
  • 2021-09-12
  • 2021-06-11
  • 2021-09-27
  • 2021-09-05
  • 2021-10-18
猜你喜欢
  • 2021-04-18
  • 2021-07-06
  • 2021-10-13
  • 2021-05-05
  • 2021-10-27
  • 2021-11-27
  • 2021-09-01
相关资源
相似解决方案