YOLOv3-YOLOv4-YOLOv5都是差不多版本小修小补的更新
就是V1-V2-V3的差异性有点大
YOLOv1因为有候选框还是两阶段的模型
而从v2开始用anchor后就是端到端的模型,单阶段模型。
anchor指的是预先设立好的长宽比的框,最后该网格里面的选取5个anchor中的一个anchor来进行训练。

YOLOv2网络结构
YOLOv3目标检测的结构


13*13*255预测大物体
26*26*255负责预测中等尺度物体
52*52*255负责预测大物体

因此我们一共分别是3*3个anchor。一共是9个anchor

注意!!!!!!!!!!!!!!关键来了
既然我们我们有3*3有9个anchor,那最终识别的时候用哪个呢?
很简单,就用9个anchor与目标框的IOU最大的,就行。以他来进行训练,预测
用那个IOU最大的grid cell-网格来负责。
例子:

如图就是与柠檬IOU最匹配,最大的IOU的anchor(锚框),他所在的那个尺度的那个grid cell(网格)来负责柠檬的预测!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


这个就是哦我们最终的概率结果=置信度×分类概率


因此可知,507+26*26*3+52*52*3=10647。这就是我们最终的产生的图像中的框的个数。对于所有框,最终寻找最合适的框来进行显示。
YOLOv3中
用正样本是最大IOU的那个框,负样本是IOU小于设定的阈值,其他不参与


训练损失也很简单,就是正样本的定位损失和置信度损失和类别损失及负样本的置信度损失。


模型的预测。