论文地址:https://arxiv.org/abs/1804.02767
Abstract:
2018年,作者 Redmon 又在 YOLOv2 的基础上做了一些改进。特征提取部分采用darknet-53网络结构代替原来的darknet-19,利用特征金字塔网络结构实现了多尺度检测,分类方法使用逻辑回归代替了softmax,在兼顾实时性的同时保证了目标检测的准确性。
从YOLOv1到YOLOv3,每一代性能的提升都与backbone(骨干网络)的改进密切相关。在YOLOv3中,作者不仅提供了darknet-53,还提供了轻量级的tiny-darknet。如果你想检测精度与速度兼具,可以选择darknet-53作为backbone;如果你希望达到更快的检测速度,精度方面可以妥协,那么tiny-darknet是你很好的选择。总之,YOLOv3的灵活性使得它在实际工程中得到很多人的青睐!
最后,YOLOv3 与 SSD 的变体性能相当,但是速度提高了 3 倍。不过,它仍比 RetinaNet 模型差一些。随着 IOU 阈值增大YOLOv3 的性能会有所下降,这是由于 B-box 与物体完美对齐的效果不那么好。过去,YOLO 不擅长检测较小的物体,如今这种情况已经改变,但是它在中等尺寸和更大尺寸的物体上的表现相对较差。当用 AP_50 指标表示精确度和速度时,可以看到 YOLOv3 与其他检测系统相比具有显着的优势。
1. 基本介绍
(1)介绍
YOLOv3是基于回归的方式进行特征提取的实时目标检测算法之一,通过端到端的过程训练网络,最终在多尺度融合的特征层中回归出目标的类别与位置。端到端的训练方式使得分类与定位过程为一体。其两者共同的损失函数参与反向传播计算,在节约特征提取时间的同时又提升了精度,满足了目标检测的实时性需求。
相较于YOLOv1-v2,YOLOv3 同样是先在 ImageNet 上预训练,然后改为检测网络训练。特征提取网络是 DarkNet-53,含有 52 个卷积和 1 个全连接。与 DarkNet-19 相比,层数多了不少,主要的改变在于:
-
去掉了池化层,全部由一个步长为 2 的卷积层完成下采样。
-
最后的全连接层又回来了。
-
内部出现了类似于 ResNet 的残差连接。
(2)原理
输入 416*416*3 的图像,通过 Darknet53 网络得到 三种 不同尺度的预测结果,每个尺度都对应 N 个通道,包含着预测的信息:
1. 每个网格每个尺寸的 anchors 的预测结果 。
2. 对比下yolov1,有 7*7*2 个预测 ;
3. 对比下yolov2,有 13*13*5 个预测 ;
4. YOLOv3共有 13*13*3 + 26*26*3 + 52*52*3 个预测 ;
5. 每个预测对应85维,分别是4个坐标值、1个置信度分数、80个类别(coco数据集)。
(3)成就
YOLOv3在 Pascal Titan X 上处理 608x608 图像速度达到 51 FPS,在 COCO test-dev 上 mAP 达到 57.9%,与RetinaNet(FocalLoss论文所提出的单阶段网络)的结果相近,并且速度快4倍。
YOLO v3的模型比之前的模型复杂了不少,可以通过改变模型结构的大小来权衡速度与精度。速度对比如下图所示:


(4)创新点
YOLOv3 最大的改进之处主要在于网络结构的改进:
与 darknet-19 对比可知,darknet-53 主要做了如下改进:
- 没有采用最大池化层,转而采用步长为2的卷积层进行下采样。
- 为了防止过拟合,在每个卷积层之后加入了一个BN层和一个Leaky ReLU。
- 引入了残差网络的思想,目的是为了让网络可以提取到更深层的特征,同时避免出现梯度消失或爆炸。
- 将网络的中间层和后面某一层的上采样进行张量拼接,达到多尺度特征融合的目的。
另外在多尺度预测、Bounding Box预测 和 类别预测也有所改进。
2. 网络结构及trick分析
(1)检测流程
YOLOv3框架如下图所示。
最低0.47元/天 解锁文章
4845

被折叠的 条评论
为什么被折叠?



