深度学习物体检测详解:YOLO V3
YOLO V3: An Incremental Improvement
Improvements:
1. Objectness score:YOLO V3用logistic regression为每一个bbox预测一个objectness score。
假如一个bbox与ground truth的IOU比其他bboxes的都要大,则它的objectness score为1,即为best box。
假如一个bbox不是best box,但是它与ground truth的IOU大于阈值0.5,则忽略它的预测。
所以,一个ground truth只有一个bbox与之对应。
如果一个bbox没有对应到任意一个ground truth,则忽略它对于坐标和类别预测的loss,只考虑objectness的loss,即试图减小其confidence。
2. Class Prediction:YOLO V3做多标签分类没有使用softmax分类器,而是使用独立的logistic分类器,使用的loss为binary cross-entropy loss。
这样做的好处是可以处理重叠的多标签问题(人 和 女人),比如Open Image Dataset。使用softmax分类器,潜在施加了一个假设——每个box只有一个类别的问题。实际上,一个box可能是有多个类别的。
3. Predictions Across Scales:YOLO V3在3个不同尺度做预测。在COCO的试验中,类别数为80,在每个cell预测3个box,得到的3-d tensor维度为 N x N x [3 x (4+1+80)]。
接着,使用2层前的feature map,并upsample by 2x,并与更前面的feature map做拼接。这使得我们可以结合前面层的细粒度信息(更到的feature map,更小的感受野)和后面层的高层语义信息。我们添加了一个卷基层,来处理拼接后的feature map,得到相似的tensor,只不过维度变为之前的2倍。
按照上述方法,再将之前的feature map融合。这样就能结合3个尺度的feature map做预测。
实验结果: