https://pjreddie.com/darknet/yolo/
Darknet-53:
共有53个卷积层,进行32倍下采样
Darknet-53为了加深网络,也采取的类似ResNet的跳接结构,但和ResNet的残差块结构不同:
Darknet-53中所有的Residual都是如上图所示的结构
YOLOv3保留Darknet-53标准结构Avgpool以上的部分(不包括Avgpool)。在此基础上和SSD一样,在三个不同size的Feature Map上接Detection Head。此外,仿照FPN,较深层的Detection Head的Feature Map经过上采样,和较浅层的Detection Head的Feature Map按channel方向进行拼接。
YOLOv3的编解码和YOLOv2的编解码方式相同:
先验:
YOLOv3通过COCO数据集的ground truth box的大小,聚类得到9个anchor的值。每个Detection Head使用其中的三个。具体值如下:
最浅的Detection Head:
(10,13), (16,30), (33,23),
中间的Detection Head:
(30,61), (62,45), (59,119),
最深的Detection Head:
(116,90), (156,198), (373,326)
输出:
和YOLOv2相同,YOLOv3每个cell生成三个anchor(YOLOv2是五个),每个anchor对应自己的输出:4(center_x, center_y, width, height) + 1(置信度) + num_classes(和SSD不同,这个num_classes不包括background,SSD就是通过增加一个background起到YOLO中置信度的作用)
center_x: t x t_x tx
center_y: t y t_y ty
width: t w t_w tw
height: t h t_h th
置信度: t o t_o to
编码方式:
b x = S i g m o i d ( t x ) + c x b_x=Sigmoid(t_x) + c_x bx=Sigmoid(tx)+cx
b y = S i g m o i d ( t y ) + c y b_y=Sigmoid(t_y)+c_y by=Sigmoid(ty)+cy
b w = p x e t w b_w=p_xe^{t_w} bw=pxetw
b h = p h e t h b_h=p_he^{t_h} bh=pheth
b o = S i g m o i d ( t o ) b_o=Sigmoid(t_o) bo=Sigmoid(to)
label:
g x g_x gx、 g y g_y gy、 g w g_w gw、 g h g_h gh:原始图像上的ground truth box的中心点坐标、width以及height归一化后的值(注意计算loss时, g x g_x gx、 g y g_y gy要乘预测所使用的Feature Map的width、height; g w g_w gw、 g h g_h gh要乘初始输入图像的width、height)
置信度label:计算方式和YOLOv2相同。【深度学习】目标检测之YOLOv2算法&6D姿态估计之YOLO-6D算法
和YOLOv2相同,计算损失函数前,要先确定哪个anchor负责哪个落入cell中的object的预测,确定方法与YOLOv2相同。【深度学习】目标检测之YOLOv2算法&6D姿态估计之YOLO-6D算法
损失函数计算:
二分类的交叉熵损失函数:
对于一个样本: H y / ( p ( y ) ) = − [ y / ∗ l o g ( p ( y ) ) + ( 1 − y / ) l o g ( 1 − p ( y ) ) ] H_{y^/}(p(y)) =-[y^/*log(p(y))+(1-y^/)log(1-p(y))] Hy/(p(y))=−[y/∗log(p(y))+(1−y/)log(1−p(y))]
其中, y / y^/ y/是label信息,positive是1,negative是0。 p ( y ) p(y) p(y)是网络的输出,也就是结果是positive的概率。
注意,多类别的目标检测任务中,AP是针对单独一类目标而言的
正确率(Precision):
正 确 率 ( P r e c i s i o n ) = T P T P + F P 正确率(Precision) = \dfrac{TP}{TP + FP} 正确率(Precision)=TP+FPTP
判断为True的样本中,真实为True的比例
真阳性率(True Positive Rate,TPR),灵敏度(Sensitivity),召回率(Recall):
真 阳 性 率 = T P T P + F N 真阳性率 = \dfrac{TP}{TP + FN} 真阳性率=TP+FNTP
真实为True的样本中,判断为True的比例
Precision和Recall用到目标检测领域,就是:
假设有一组图片,里面有若干待检测的目标,Precision就代表模型检测出来的目标有多大比例是真正的目标物体;Recall就代表所有真实的目标有多大比例被模型检测出来了。
以Recall为横轴,Precision为纵轴绘制的曲线,就是PR曲线。
AP(Average Precision),就是对PR曲线的纵轴(Precision)的值取平均。所谓11point-AP,就是将R轴平分11个点,对应的P轴的值取平均。
mAP是所有类别的AP值的均值
如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
手打很辛苦,如果我的文章对您有帮助,转载请注明出处。