https://github.com/WZMIAOMIAO/deep-learning-for-image-processing
yolo1
   xy是小网格中的,(0,1) w,h是整个图像中的 ,(0,1) confidence=bounding box是否含有object×预测的与gt之间的iou。
为每个目标的概率+预测的目标边界框和真实的目标边界框的重合程度。    为什么w和h要根号? 假设蓝色为预测的边界框,绿色为真实边界框。 假设目标越小 ,预测的边界框与真实边界框偏移相同的情况下 ,IOU就越大,检测效果越差。 所以应该要让小目标的偏差设的更大一些。   confidence损失的前一项是正样本(C=1)的损失计算,后者是负样本的( C=0)。
YOLOv1存在的问题: 1.因为每个cell只预测一组类别 ,所以对群体聚集的小目标检测结果较差。 2.输入尺寸变化时,检测效果较差; 3.定位不准确。(因为直接预测坐标信息) 
yolo2
 class大于9000      采用anchor偏移的方式,recall提升较高,map略微上升 

  t_0是confidence,也受到sigmoid限制。  高层和底层信息融合,为了更好提取细节信息。  
 每10个batch,就随机输入网络的图片尺寸(32的倍数)。  用224是为了方便对比。   
yolov3

  用了新的backbone,效果持平同时fps也比较高。和resnet相比,没有最大池化层,而是用了卷积。  http://blog.csdn.net/qq_37541097/article/details/81214953           

yolov3 spp (包括CIoU 和Focal Loss)

   

     A^c是蓝色框,u是并集。GIoU在两者不相交时也可提供损失。  
  CIoU(D)是将C计算IoU时把其换成DIoU  
 负样本挖掘没focal loss好。 
 正负样本。  难易样本。 右边曲线表示: p_t越大,就表示越容易分类。这部分就降低其权重。 越小,表示越难分类,这部分就提高其权重。  这里的α是用来平衡γ的(平衡套娃)。  前两者都是易分样本,所以权重降低比较好。
前提:数据标注要正确。
|