dataset - YOLOv4 训练:无法在单个图像上检测多个类
问题描述
我使用 Open Images 数据集为两个类训练 CNN:Person、Mobile phone。问题是 Yolo 每张图片只检测到 1 个类别。例如,如果图像包含人和手机,则只会检测到手机。示例输出。如果只有人类,那么将成功检测到所有人类。我认为问题在于数据集只有图像,每个图像标记了 1 个类。我在数据集中有许多图像,其中两个类都存在,但只有其中一个带有标签。这可能是问题吗?
我该如何解决这个问题?
- 添加几个标记了两个类的图像
- 标记所有图像以确保包含电话和人的每个图像都具有每个对象的适当标签
- 或者也许有一种方法可以下载数据集,以便正确标记两个类?
这是我的 .names 文件中的内容:
Person
Mobile_phone
这是 .data 文件:
classes = 2
train = data/train.txt
valid = data/test.txt
names = data/obj.names
backup = /mydrive/yolov4/backup
谢谢你的帮助!
解决方案
检查标签或 .txt 文件。如果它有两个类,.txt 文件中的第一列将有 0 和 1,其中 0 表示人员类,1 表示移动电话,反之亦然。
推荐阅读
- neo4j - neo4j:使用后的多个值
- ruby-on-rails - 如何使用 RSpec 控制器规范触发并发请求?
- scala - 如何安全地对 spark 数据框行进行 getAs 操作?
- javascript - 遍历一个 JSON 对象并根据指定的值返回一个键
- c# - C# 播放音乐
- python - Python Pygame赢得对角线移动不起作用
- android - 执行类似于 GestureDescription 的点击、滑动、投掷 24 以下?
- javascript - 如何从字符串日期(“Ymd”)中获取正确的日期?
- html - 如何使用@htmlattributes :用于日期选择器
- android - 尽管提交了更新/修改,但“应用被拒绝”横幅仍保留在 Google Play 控制台上