labelimg 修正模型错误标注遇到的问题

场景介绍:

使用了 模型(如YOLOv5/v7) detec.py 保存的 YOLO 格式的结果,包括测试的图像和对应的 txt 文件。模型跑出来的结果可能不够准确,需要手工修正下,因此我需要使用 labelimg 来可视化图像,并且修改其标注信息。遇到了以下错误:

错误1:

FileNotFoundError: [Errno 2] No such file or directory: 'xxx\\labels\\classes.txt'

原因:labelimg 需要在标注文件目录下放置一个 classes.txt 文件,这个文件就对应于模型设置的类别,每行一个类别名,如下:

cat
dog
...

错误2:

	label = self.classes[int(class_index)]
IndexError: list index out of range

当我使用 命令行 labelimg 打开软件后,选择图像路径以及标注路径。当我想修改标注错误的数据标签时,报了上面错误。

原因:修改一张图像的标签时候,上面的 classes.txt 会同步更新,导致重新生成了 classes.txt 但是这个 classes.txt 只有你现在写的那个类别名,以前的没有了。

解决:设置一个 predefined_classes.txt,内容和模型定义的一致。然后使用以下命令启动软件。

labelimg data/aaa[图像路径]  data/predefined_classes.txt[预定于的类别路径]

当你修改目标的标签时候,你发现有了下拉菜单,可以选择之前你的预定义的类别了。完美解决了该问题,现在可以手动修正模型的结果了。

你可能感兴趣的:(错误,深度学习,人工智能)