训练YOLO模型,怎么绘制与其他模型的对比图

想问下大家,在写论文的时候通常都需要放这样的对比图,比如说训练YOLO的时候,这种图应该怎么得到呢?

img

就是得到每一次迭代的精度值..
看懂代码,保存数据自己用绘图库画
还可以借助现有库快速实现,如tensorboardX

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客也许可以解决你的问题👉 :目标检测之YOLO模型数据生成及训练
  • 除此之外, 这篇博客: 目标检测中的损失函数汇总中的 随后,我将基于YOLO系列给出的损失函数作为实例,因为它包括了多数情况。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    YOLO系列的损失包括三个部分: 回归框loss, 置信度loss, 分类loss.

    1. 从最重要的部分开始: 回归框loss.
    • 从 v1 to v3, 回归框loss更像是MSE,v1是(x-x’)^2 + (y-y’)^2,而对w和h分别取平方根做差,再求平方,用以消除一些物体大小不均带来的不利。
    • v2和v3则利用(2 - w * h)[(x-x’)^2 + (y-y’)^2 + (w-w’)^2 + (h-h’)^2], 将框大小的影响放在前面作为系数,连x和y部分也一块考虑了进去。
    • v4作者认为v1-v3建立的类MSE损失是不合理的。因为MSE的四者是需要解耦独⽴的,但实际上这四者并不独⽴,应该需要⼀个损失函数能捕捉到它们之间的相互关系。因此引入了IOU系列。经过其验证,GIOU,DIOU, CIOU,最终作者发现CIOU效果最好。注意,使用的时候是他们的loss,应该是1-IOUs,因为IOU越大表示重合越好,而loss是越小越好,因此前面加1-,令其和平常使用规则一致。
    • v5作者采用了GIOU,具体还需要等他论文出现。

    下面介绍一下IOU系列:
    这里有篇博客文章参考:https://zhuanlan.zhihu.com/p/94799295

    • IOU, A与B交集 / A与B并集,在这一般是ground truth和predict box之间的相交面积/他们的并面积
      在这里插入图片描述

    • GIOU, Rezatofighi et al., 2019, Stanford University,

    Generalized Intersection Over Union: A Metric and a Loss for Bounding Box Regression
    GIOU,针对IOU只是一个比值,IoU无法区分两个对象之间不同的对齐方式,因此引入了GIOU。下图中的A_c是两个框的最小闭包区域面积(通俗理解:同时包含了预测框和真实框的最小框的面积),减去两个框的并集,即通过计算闭包区域中不属于两个框的区域占闭包区域的比重,最后用IoU减去这个比重即可得到GIoU。
    GIoU是IoU的下界,在两个框无限重合的情况下,IoU=GIoU=1;
    IoU取值[0,1],但GIoU有对称区间,取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标;
    与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。
    在这里插入图片描述
    在这里插入图片描述
  • DIOU,Zheng et al., 2019, Tianjin University, Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression
    DIoU要比GIou更加符合目标框回归的机制,将目标与anchor之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中发散等问题. 如下图所示,b和b^{gt}是预测的中心和ground truth的中心坐标,\rho是指这两点之间的欧氏距离,c是两个框的闭包区域面积的对角线的距离。
    DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多。
    对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快,而GIoU损失几乎退化为IoU损失。
    DIoU还可以替换普通的IoU评价策略,应用于NMS中,使得NMS得到的结果更加合理和有效。
    在这里插入图片描述
    在这里插入图片描述

  • CIOU, Zheng et al., 2019, Tianjin University, Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression
    虽然DIOU考虑了两中心的距离,但是没有考虑到⻓宽⽐。⼀个好的预测框,应该和 ground truth 的⻓宽⽐尽量保持⼀致。因此有了CIOU,在DIOU基础上加入了惩罚项。如下图是其CIOU loss,前面有了1-。而\nu是衡量长宽比的相似性。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  1. 置信度损失和分类Loss.
    这里先给出v1-v3的损失函数,可以看出,v1-v2中置信度误差和分类误差均使用的是MSE;
    从v2到v3, 不同的地⽅在于,对于类别和置信度的损失使⽤交叉熵。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    v4在v3的基础上对回归框进行的loss回归预测,就是基于CIOU的回归函数。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^