当前位置:   article > 正文

【踩坑日记】【YOLO5】YOLO5 训练模型的测试结果全部相反(标签混乱)原因_yolov5训练完后发现标签反了

yolov5训练完后发现标签反了

问题描述

  • 使用 labelImg 为图片数据集打上标签后交给YOLO5训练,发现测试结果中识别结果全部相反,也就是出现了标签混乱的现象。
  • 本人使用猫狗图片各 150 张作为数据集进行模型训练,训练出来的模型将所有的猫识别成了狗,所有的狗识别成了猫,看起来并非模型的准确性问题,而是模型中对于标签识别混乱的问题。
  • 如图:
    在这里插入图片描述

解决过程

  • 注意到使用 labelImg 生成的图片标签是 txt 文件,且文件内容的第一个序号为标签序号。如:

1 0.524500 0.533000 0.951000 0.770000

  • 这个标签序号与标签文件夹中的 classes.txt 类别说明对应。如图:
    在这里插入图片描述
    其中序号 0 代表 dog 标签,序号 1 代表 cat 标签

  • 所以上面 txt 文件中第一个序号为 1,代表这个标签所对应的图片标签是 cat。

  • 但是,在源代码对数据集进行配置的 yaml 文件中,没有对 classes.txt 文件路径的配置:
    在这里插入图片描述

  • 上面的 yaml 文件中,只有一个列表对类名配置,而且这个类名的顺序和 classes.txt 文件中的顺序不一致
    在这里插入图片描述

  • 合理怀疑是因为类名顺序不一致,于是我调整 yaml 中的类名列表,重新训练了一个小模型,此时标签就不出现混乱的现象

解决方法

  • 使用 labelImg 为图片打好标签后,在为模型配置数据集的 yaml 文件中,class name 列表中的元素顺序应该与标签文件夹中 classes.txt 文件中的标签顺序一致。
  • 也就是下面这两个位置中的标签顺序应一致:
    在这里插入图片描述
    在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/709265
推荐阅读
相关标签
  

闽ICP备14008679号