YoloV3所使用的主干特征提取网络为Darknet53,它具有两个重要特点: 1、Darknet53具有一个重要特点是使用了残差网络Residual,Darknet53中的残差卷积就是首先进行一次卷积核大小为3X3、步长为2的卷积,该卷积会压缩输入进来的特征层的宽和高,此时我们可以获得一个特征层,我们将该特征层命名为layer。之后我们再对该...
知道anchor机制后,现在我们重新看边框预测公式,始终记得YOLOv3预测的是偏移值。YOLOv2开始引入anchor机制后,不再与YOLOv1那样直接预测框的坐标,而是预测偏移值,通过学习偏移值,就可以通过网络原始定的anchor box坐标经过线性回归微调去逐渐靠近GT框。 为什么说是微调?因为当输入的proposal与GT相差较小时,即IOU很大时,可...
而YOLOv3的先验框策略是:在所有训练图像的所有边框上进行K-Means聚类来选择先验框,论文中建议一个格点上先验框的数量为5个,这是速度和精度之间折中的结果。 2、预测结果的解析 输出维度 从YOLOv3输出的三个特征图shape可以看到,都是(batch_size, xxx, xxx, 75)。我们知道这里第2、3维度是指预测特征层的宽和...
self.model = YOLOV3(self.input_data, self.trainable) 1. 然后进入yolov3.py代码,执行YOLOV3类的__init__函数,同样先是获取相关参数,然后先后调用了__build_nework(input_data) 函数来创建网络,并获取卷积后的大中小特征图;再调用decode()函数解码。 我觉得这玩意没啥好说的,就是各种卷积激活卷积激活,激活...
YOLOv3采用了多尺度预测的思想,将网络分为三个分支:Y1、Y2和Y3。这三个分支分别负责检测不同尺度的目标。Y1分支负责检测较小的目标,Y2分支负责检测中等大小的目标,而Y3分支则负责检测较大的目标。通过多尺度预测,YOLOv3能够更好地适应不同尺寸的目标,从而提高检测精度。 三、DBL组件:卷积+BN+Leaky ReLU DBL是...
Yolov3的训练策略尤为重要,笔者也是在亲手复现代码之后,才算领悟了八九成。 训练策略 YOLOv3 predicts an objectness score for each bounding box using logistic regression. This should be 1 if the bounding box prior overlaps a ground truth object by more than any other bounding box prior. If the bo...
YOLO v3结构图 DBL:卷积+BN+leaky relu,是v3的最小组件 resn:n代表数字,有res1,res2,...,res8等,表示这个res_block里含有多少个res_unit。这是YOLO-v3的大组件,YOLO-v3借鉴了ResNet的残差结构,使用这个结构可以让网络更深(从v2的darknet-19上升到darknet-53,前者没有残差结构)。其实resn的基本组件也是...
R-CNN 的系列算法分成两个阶段,先在图像上产生候选区域,再对候选区域进行分类并预测目标物体位置,它们通常被叫做 两阶段 检测算法。 SSD 和 YOLO 算法则只使用一个网络同时产生候选区域并预测出物体的类别和位置,所以它们通常被叫做 单阶段 检测算法。 由于篇幅所限,本教程将重点介绍 YOLOv3 算法。二...
YOLOv3代码详解: 一、预测过程: 1.网络结构的定义: 网络最后得到的detect_1,detect_2,detect_3. 三个尺度的形状分别为:[1, 507(13X13X3), 5+c]、[1, 2028, 5+c]、[1, 8112, 5+c] 其中Yolo_block是一个正常卷积(不改变图像大小)组成的模块,生成route和inputs两个结果,route 用于配合下一个尺度...
首先通过特征提取网络对输入特征提取特征,得到特定大小的特征图输出。输入图像分成13×13的grid cell,接着如果真实框中某个object的中心坐标落在某个grid cell中,那么就由该grid cell来预测该object。每个object有固定数量的bounding box,YOLO v3中有三个bounding box,使用逻辑回归确定用来预测的回归框。