yolov3 训练自己的数据集

yolov3是在yolov1与yolov2基础上修改后的end-to-end 的目标检测算法。

yolov3使用Darknet53 作为主干特征提取网络,该网络具有如下两个特点:
1、Darknet53使用了残差网络Residual。该残差网络首先进行了一次卷积核大小为3X3、步长为2的卷积,该卷积压缩输入进来的特征层的宽和高。此时将可获得一个特征层,通常将该特征层命名为layer。之后再对该特征层进行一次1X1的卷积和一次3X3的卷积,并把这个结果加上layer,此时便构成了残差结构。通过不断的1X1卷积和3X3卷积以及残差边的叠加,可以大幅度的加深了网络。残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。

2、Darknet53的每一个卷积部分使用了特有的DarknetConv2D结构,每一次卷积的时候进行l2正则化,完成卷积后进行BatchNormalization标准化与LeakyReLU。普通的ReLU是将所有的负值都设为零,Leaky ReLU则是给所有负值赋予一个非零斜率。以数学的方式我们可以表示为:

在这里插入图片描述

本专题以操作为主,下面将从实际操作来讲述怎样利用该yolov3算法来实现对自己数据集的训练与检测。

源码地址:

GitHub - ultr

你可能感兴趣的:(目标检测,深度学习,机器学习,人工智能,目标检测)