《You Only Look Once:Unified,Real-Time Object Detection》笔记

来源:互联网 发布:淘宝怎么设置客服认证 编辑:程序博客网 时间:2024/06/05 13:12

简介

  • 将输入image分割成S*S个(论文中S=7)grid cell,如果object的center落在某个grid cell中,那么这个cell就负责detect该object,即负责预测该object的bbox(bounding box)。
  • 每个cell都预测B个(B=2)bbox(x,y,w,h)以及相应的confidence,
    confidence=P(object)IOU
    若object的center落在某一cell中,该cell的P(ojbect)=1,否则P(object)=0。IOU定义为ground truth与bbox的交集面积比上并集面积。x,y是bbox的center相对于当前的grid cell的坐标,w,h是bbox相对于整个image的weight和height。
  • 每个cell还预测每个类(论文中有20个类)P(Classi|Object),有条件概率公式
    P(Classi|Object)P(Object)IOU=P(Classi)IOU
    这个概率表示某一类的出现在当前cell中的bbox的概率,或者说当前cell的bbox拟合到object的概率。若某一cell的P(Object)=0,显然P(Classi)=0
  • 模型之后输出的是7*7*(2*5+20)的tensor。

网络结构

网络有24个卷积层,后接2个全连接层。借鉴GoogleNet的中Inception的思想,在3*3conv层后接一个1*1conv层,1*1conv降低先前的3*3conv层的特征空间的维度,还可以减少参数。
YOLO

训练

  1. 在ImageNet数据集预训练网络,预训练的网络结构为上图的前20个conv层、一个average pooling层和一个全连接层。训练时间大概一周,在ImageNet2012验证集上的准确率到达88%。
  2. 将剩下的4个conv和2个全连接层加入到预训练网络中来,同时将网络输入像素从224*224提升到448*448.
  3. 归一化x,y,w,h。最后一层使用线性激活函数,其它层使用leaky rectified linear激活函数。
  4. 损失函数:
    λcoordi=0S2j=0B1objij[(xixi^)2+(yiyi^)2+(wiwi^)2+(hi+hi^)2]+i=0S2j=0B1noobji,j(CiCi^)2+λnoobji=0S2j=0B1noobjij(CiCi^)2)+i=0S21objicclasses(pi(c)pi^(c))2

    其中1obji表示object出现在第i个cell中,1obji,j表示object出现在第i个cell中,它的第j个bbox负责预测该object。
    • λcoord=5表示加大了对bbox坐标项的惩罚,λnoobj=0.5表示减小了对不含object的cell的类预测概率的惩罚。这么做是因为image中大多数cell是不含object的(object的center不在大多数的cell中),故这些cell的confidence得到都是0,在BP时,会overpower(?)那些少数包含object的cell的confidence的梯度。
    • bbox的width和height是以平方根(w,h)出现在loss function中的,这么做是因为相对了小的bbox(w,h值都很小),大的bbox产生的偏离(和ground truth的差运算)应该更小。w,h都已经归一化0-1之间了,所以用w相当于增大w。
    • YOLO每个cell预测2个bbox,但每个object只要一个IOU值最高的bbox来负责预测。
      1. 在PASCAL VOC 2007 和2012数据集上运行了135epoch,batch size=64,momentum=0.9(动量法更新权重),decay=0.0005(学习率衰退率)。第一个epoch,学习率从0.001升到0.01,如果一开始的学习率较高,会使模型发散。保持0.01的学习率训练75个epoch,降低学习率到0.001再训练30个epoch,再降低学习率到0.0001最后训练30个epoch。
      2. 防止过拟合,在第一个全连接层之后使用rate=0.5的dropout。也做了data augmentation,包括对20%的原始图像进行随机缩放和translation(?),在HSV空间随机调整曝光和饱和度。

预测

  • 每张图片预测98(7*7*2)个bbox,每一个cell预测20类。
  • object的center落在哪一个cell中通常是很明显的,但如果object非常大或它的center靠近几个cell的连接处,通过Non-maximal suppression来选择某一个cell中的某一个bbox。

缺陷

  1. 每一个cell预测的2个box中只有IOU值最大的那个box负责预测类别,如果有多个object比较靠近,他们的center都落在一个cell中,这样就有object没有bbox去预测他们。
  2. 模型对新的或横纵比不寻常的object的泛化能力差,因为模型中使用了很多pool用于下采样,使得用于预测的特征较粗糙。
阅读全文
0 0
原创粉丝点击