1.求损失的第一步——定位匹配
首先我们要做的就是ground truth boxes 与 prior bboxes 的匹配,ground truth boxes 与 prior bboxes匹配程度便是损失值的由来。
1.1 SSD策略
第一步:从ground truth box出发,寻找与每一个ground truth box有最大的jaccard overlap的prior bbox。若prior bbox没能匹配到ground truth box,那么该prior bbox就会被视为负样本。
第二步:秉着原则——确保每个ground truth有有一个prior bbox与之匹配。所以从prior bbox出发,对剩余的还没有配对的prior bbox与任意一个ground truth box尝试配对,只要两者之间的jaccard overlap大于阈值(一般是0.5),那么该prior bbox也与这个groundtruth进行匹配。
2.Hard negative mining
由于在一般情况下,一张图中的负得先验框是远远多于正的先验框,众多负的先验框会将网络学习偏向于负样本的学习,进而导致网络学习效果不理想。所以我们得通过一些方法减少这样的影响,比如Hard negative mining(在线难例挖掘策略),简单来说就是限制负样本的数量,比如正负样本比为1:3。在匹配结束后,得到正的先验框Y个,负的样本就按照从高到低的顺序,从高的开始取,取出3Y个负样本,只有这共4Y