YOLO系列算法原理讲解----(3)Yolov3算法

YOLOV3介绍

  • 速度和精度均衡的目标检测网络
  • 融合多种先进方法,改进YOLOV1/V2缺点,且效果更优
    • 小物体检测

YOLOV3改进策略:

  • 更好的主干网络(类ResNet)
  • 多尺度预测(类FPN)
  • 更好的分类器
    具体如下:
    YOLOV3改进策略:
    - 更好的主干网络
  • 精度更好
  • 对比如下:
    YOLO系列算法原理讲解----(3)Yolov3算法_第1张图片
    可以看得到采用ResNet可以获得更好的检测效果。
    - 多尺度预测(类FPN)
  • 聚类来得到Bbox的先验,选择9个簇以及3个尺度
  • 将这9个簇均匀的分布在这3个尺度上
    YOLO系列算法原理讲解----(3)Yolov3算法_第2张图片
    右下角采用不同尺度来获取特征作为yolo检测的输入,而对于Anchor的设计,同样采用聚类的方法来获得最终的长宽比,这里通过聚类得到9个聚类中心,将这9个聚类中心平均的分配到3个尺度上,每个尺度预测3个box,对于每种尺度,作者引入卷积层进一步提取特征,在输出box信息。对于尺度1而言。作者通过卷积之后直接得到后续box信息,对于尺度2而言,作者在进行box输出之前,对尺度1输出的卷积进行上采样,然后同卷积2的feature map进行相加,相加之后在通过多个卷积后输出后续的box信息。整个feature map的大小相对于Scale1扩大了两倍。而尺度3相对于尺度2而言同也扩大了两倍。它的原理同尺度2一样。

- 更好的分类器:binary cross-entropy loss

  • Softmax不适用于多标签分类
  • Softmax可被独立的多个logistic分类器代替,且准确率不会下降
    binary cross-entropy loss二值交叉熵loss
    YOLO系列算法原理讲解----(3)Yolov3算法_第3张图片
    YOLO系列算法原理讲解----(3)Yolov3算法_第4张图片
    YOLO系列算法原理讲解----(3)Yolov3算法_第5张图片
    Draknet框架
  • 由C语言和CUDN实现
  • GPU显存利用效率较高
  • 第三方库的依赖较少
  • 容易移植到其他平台,如Windows或嵌入式设备
    优点:
  • 快速、pipline简单
  • 背景误检率低
  • 通用性强

相比于RCNN系列物体检测方法的缺点:

  • 识别物体位置精准性差
  • 召回率低

你可能感兴趣的:(YOLO系列算法原理讲解----(3)Yolov3算法)