首页 > 解决方案 > YOLOv4 训练:无法在单个图像上检测多个类

问题描述

我使用 Open Images 数据集为两个类训练 CNN:Person、Mobile phone。问题是 Yolo 每张图片只检测到 1 个类别。例如,如果图像包含人和手机,则只会检测到手机。示例输出。如果只有人类,那么将成功检测到所有人类。我认为问题在于数据集只有图像,每个图像标记了 1 个类。我在数据集中有许多图像,其中两个类都存在,但只有其中一个带有标签。这可能是问题吗?

我该如何解决这个问题?

  1. 添加几个标记了两个类的图像
  2. 标记所有图像以确保包含电话和人的每个图像都具有每个对象的适当标签
  3. 或者也许有一种方法可以下载数据集,以便正确标记两个类?

这是我的 .names 文件中的内容:

Person
Mobile_phone

这是 .data 文件:

classes = 2
train = data/train.txt
valid = data/test.txt
names = data/obj.names
backup = /mydrive/yolov4/backup

谢谢你的帮助!

标签: datasetobject-detectionyololabelingcustom-training

解决方案


检查标签或 .txt 文件。如果它有两个类,.txt 文件中的第一列将有 0 和 1,其中 0 表示人员类,1 表示移动电话,反之亦然。


推荐阅读