论文学习记录:YOLOv3: An Incremental Improvement

版权声明:本文为博主原创文章,未经作者允许请勿转载。 https://blog.csdn.net/heiheiya https://blog.csdn.net/heiheiya/article/details/83182103

YOLOv3论文地址:YOLOv3: An Incremental Improvement

YOLOv3对网络做了一些改进,网络与v1和v2相比更加复杂,但是检出准确性更高。

一、Bounding Box Prediction

YOLOv3的anchor boxes同之前一样也是通过聚类方法得到的。网络为每个bounding box预测四个坐标值tx, ty, tw, th,如果cell相对于图像的左上角偏移了cx,cy,并且已知bounding box的宽pw,高ph,则预测值的计算方式如下:

在训练时使用的是sum of squared error loss。

YOLOv3对每个bounding box通过 logistic regression预测一个得分,如果这个bounding box与ground truth重合较好并且重叠部分大于其他的bounding box,那么预测值为1。如果一个bounding box不是最佳但是和ground truth的重叠大于设定的阈值(论文中设为0.5),则预测值为0,忽略这个预测,不计入loss。

二、Class Prediction

因为存在多标签分类的情况(Open Images Dataset),所以YOLOv3用 logistic classifiers代替了softmax。在训练中使用的是 binary cross-entropy loss。

三、Predictions Across Scales

YOLOv3在三个不同的尺度上预测boxes,在这几个尺度上提取特征使用的是类似feature pyramid networks。在原来的特征提取结构基础上增加了若干个卷积层。最后预测得到一个3-d的tensor,包含bounding box,objectness和class predictions。

在COCO数据集上,在每个尺度上预测3个boxes,所以输出的tensor是N x N x [3 * ( 4 + 1 + 80)],其中4代表bounding box的四个坐标,1代表objectness prediction,80表示COCO数据集的预测类别。

接着,从倒数第二层的卷积层上采样(x2)再与最后一个特征图相加,再次通过多个卷积后输出box信息,相比尺度1变大两倍;

 再次上采样,与之前类似。

采用这种方式使得模型可以获取到更多的语义信息,模型得到了更好的表现。

YOLOv3依然使用k-means聚类来得到bounding box的先验信息,挑选出9个clusters和3个尺度,将9个clusters均匀分布在3个尺度上。

四、 Feature Extractor

这里特征提取使用了新的网络结构,融合了YOLOv2, Darknet-19和resNet。

YOLOv3使用了连续的3x3和1x1卷积层,但是增加了一些shortcut connection,网络更大了,有53个卷积层,就是Darknet-53。

尽管网络更加复杂,但是效率依然很高。

猜你喜欢

转载自blog.csdn.net/heiheiya/article/details/83182103
今日推荐