【论文阅读笔记】YOLOv3: An Incremental Improvement

论文链接:https://arxiv.org/abs/1804.02767
作者:Joseph Redmon, Ali Farhadi
发布时间:2018年4月8日发布


摘要

  作者对YOLO进行了进一步更新,做了些小设计使其更好。YOLOv3YOLOv2较大,但准确率更高。


引言

  该文会先展示YOLOv3的详细内容,然后告诉读者是怎么做的。再然后展示作者所尝试过却没效果的事,并告诉我们这些意味着什么。


The Deal

Bounding Box Prediction
  就和YOLOv2一样,使用logistic的方式: b x = σ ( t x ) + c x b_x=\sigma(t_x)+c_x bx=σ(tx)+cx b y = σ ( t y ) + c y b_y=\sigma(t_y)+c_y by=σ(ty)+cy b w = p w e t w b_w=p_we^{t_w} bw=pwetw b h = p h e t h b_h=p_he^{t_h} bh=pheth  其中, ( c x , c y ) (c_x,c_y) (cxcy)是边框中心对每个格子左上角的偏离; ( p w , p h ) (p_w,p_h) (pwph)是预先设置的anchor boxes的边长;最终得到的边框坐标值是 b x , y , w , h b_{x,y,w,h} bx,y,w,h;而网络学习的目标是 t x , y , w , h t_{x,y,w,h} tx,y,w,h
  边框预测使用的损失函数是平方和函数。

  与此同时,边框要预测一个 t o t_o to,用于判断置信度-----边框内含有对象的概率,使用logistic回归限制到 0   1 0~1 0 1之间。
  Faster RCNN不同,YOLOv2YOLOv3的每个对象都只会有一个边框负责

Class Prediction
  每个预测的bounding boxes使用多标签分类(在一些数据集中,如Open Images Dataset,每个对象可能有多个标签,如一个人可以标记为学生、人、女人等)。所以,在这里就不使用softmax函数了(因为这个函数会为对象指定一个唯一类别),使用多个独立逻辑分类代替(其实应该就是最后一层,每一个节点都是用sigmoid函数)。在训练时,类别预测使用二元交叉熵损失函数。
  作者发现softmax函数不是高性能的必要条件(RCNN时时使用的是多元SVM,Fast RCNN使用softmax时也说并未提高性能),所以才打算弃用softmax

Predictions Across Scales
  

你可能感兴趣的:(深度学习,目标检测,YOLOv3)