【问题标题】:Darknet YOLOv4: show only selected classesDarknet YOLOv4:仅显示选定的类
【发布时间】:2021-05-05 16:40:49
【问题描述】:

我正在尝试使用 coco 数据集,只是为了检测 4 个类。我使用 YOLOv4 网络。我像这样更改了 coco.data 文件:

classes= 4
train = /home/pjreddie/data/coco/trainvalno5k.txt
valid = coco_testdev
#valid = data/coco_val_5k.list
names = data/coco.names
backup = /home/pjreddie/backup/
eval=coco

,coco.names 是这样的:

person
car
bus
truck

我还将 yolov4.cfg 文件中的所有类行从 80 更改为 4,并根据 3*(classes+5) 公式更改了过滤器。当我使用以下方法将电影传递给检测器时:

./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -dont_show /mydrive/praca/videoname1.mkv -thresh 0.4 -i 0 -out_filename results.avi

它没有检测到任何东西。可能是什么问题?

【问题讨论】:

  • 这不是一个编程问题。这似乎要么是关于如何使用特定软件的问题,要么是关于特定软件背后的数学问题。
  • 你能详细介绍一下你是如何编译暗网的吗?您是否在 Makefile 中写入了 OPENCV=1?
  • @A.Parico 我用 colab notebook 编译了暗网,并在 makefile 中写了这个 OPENCV=1 参数

标签: python detection yolo darknet


【解决方案1】:

如果您没有时间或资源进行训练,可以通过将原始coco.names 文件中不需要的类替换为dont_show 来防止绘制其他76 个对象的边界框

person
dont_show
car
dont_show
dont_show
bus
dont_show
truck
dont_show
.
.
.
(and so on)

参考:https://github.com/AlexeyAB/darknet/issues/7318#issuecomment-771603265

【讨论】:

    【解决方案2】:

    您不能只更改这些文件,您需要仅针对所选类重新训练您的网络,例如 this

    【讨论】:

      猜你喜欢
      • 2021-05-30
      • 2021-12-04
      • 2021-12-09
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      相关资源
      最近更新 更多