损失函数
- coordinate loss
- class predictions loss
使用多标签分类损失。(使用 binary cross-entropy loss) - objectness loss
默认框和真实目标的匹配策略
- 与真实目标重叠度最大的默认框为正样本。
- 与真实目标重叠度大于阈值的默认框为正样本。(Faster RCNN中阈值为0.7,YOLO-V3阈值为0.5)。
- 每一个真实目标只会指定与一个默认框匹配,其余的框只会有objectness loss(即是否存在物体的损失)
多尺度预测
- 在三种不同的尺度上进行预测。
评价指标
- 使用MAP0.5时,yolov3和其他方法差异不大。按照COCO那样的标准,明显的差异就出来了。作者认为从肉眼观察角度上讲,0.5和0.3的重叠差异不大,反对COCO那种评价标准。
尝试了其他策略,发现没效果
- 采取普通的锚框预测机制,预测锚框相对于真实框中心位置的偏移量(以真实框的w和h,预测值为w和h值的倍数),采取线性激活的方式。
w = prediction[..., 2]
,预测的pred_w和pred_h,w和h的倍数,不过是取了对数后的。pred_boxes[..., 2] = torch.exp(w.data) * anchor_w pred_boxes[..., 3] = torch.exp(h.data) * anchor_h
- 采取线性激活的方式来预测x,y的偏移量,而不是逻辑回归激活函数。
- Focal loss没效果,yolov3将目标存在得分预测和类别预测分开了。(正负样本失衡会得到减轻)。