单词

  1. intros: 介绍
  2. contemplate: 考虑
  3. prior: 之前
  4. invert 使颠倒
  5. sematic: 语义的

网络特点

有效尝试

值得注意的是,目标检测的网络通过适当修改可以完成分类任务,反之亦然。

the deal

从别人的工作中获取灵感;

检测框预测

  • 检测框预测和yolo9000类似;

image.png

  • 预测socre式采用logistic regression而不是softmax;

    • 如果一个初始检测框和某个ground truth object的重叠部分(不是IOU?)大于任何一个检测框,那么该检测框的socre理想输出应该为1;(yolo是看中心坐标,并且相同grid的不同box共享参数——不同box共同预测该object)
    • 某个检测框,overlap不是最大,但是其超过某个阈值,该预测会被忽略;(这个没看懂,既然被忽略,那设阈值干嘛?为了只为每个ground truth分配一个box?)
    • 每个ground truth 只会分配一个初始box;
    • 对于没有被分配给ground truth的初始检测框,不计算坐标和分类的loss,只计算objectness的loss;

      分类预测

  • 采用多标签分类;

    • 采用独立逻辑分类器的方式预测类别;(softmax对于高性能没有必要)(并且softmax不适合复杂情节:类别不独立情况)
    • 类别预测的loss采用:binary cross-entropy loss;

      跨尺度预测

  • yolov3预测时,从三个不同的尺度进行;

    • 采用类似feature pyramid networks的结果实现跨尺度预测;
  • 最终预测每个尺度上输出3维张量(和yolo类似);
    • 每个尺度上预测三个boxes,每个box有包括检测框的4个属性,一个socre以及类别信息(80类);
    • 最终每个尺度上的输出:yolov3 - 图2
  • 其它尺度预测实现;

    • 结合上采样以及特征融合;
    • 不同尺度产生的张量size不同,也就意味着返回到原图的grid不同;
    • 类似yolo9000,同样采用k-means聚类实现anchor boxes的选取,最终选取了9个;

      特征提取

  • 特征提取过程中,不断采用yolov3 - 图3卷积,类似resnet;

  • 最终网络53层 —> darknet-53;

    训练

  • 多尺度训练;

  • 大量的数据增强;
  • batch normalization等;

    无效尝试

  • 采用线性激活函数预测坐标偏移作为box的宽高倍数;(?)

  • 线性预测x,y偏差取代逻辑激活预测;
  • Focal loss;
  • 双IOU阈值和真值分配;