在COCO上训练YOLOv3给我的平均平均精度不好

时间:2019-10-01 08:53:52

标签: yolo

我想训练YOLO仅检测班级人员。因此,我下载了COCO数据集,仅将标签调整为此类并相应地更改了配置文件,然后按照该站点https://pjreddie.com/darknet/yolo/上“在COCO上培训YOLO”部分中所述的步骤对YOLO进行了培训。 但是,当我使用标题为“ COCO数据集的性能”标题下的同一页面上的经过训练的权重时,我对同班人员的训练有素权重的平均平均精度(地图)要比同班的地图差得多。我想知道这可能是什么原因,以及哪些数据用于训练主页上可用的权重。

2 个答案:

答案 0 :(得分:0)

修改cfg文件(类,过滤器等)时,可能出了点问题。无论如何,您的任务是什么?您是否真的需要重新训练模型,还是只需要过滤1类并进行检测?

如果只想过滤80个类中的“人”标签,则可以简单地执行此解决方法。您不需要重新训练模型,只需要使用作者在yolo网站上提供的权重即可。

使用COCO数据集的简便方法,请按照以下步骤操作:

  • 修改(或复制以备份)coco.names中的darknet\data\coco.names文件
  • 删除除
  • 以外的所有其他课程
  • 修改您的cfg文件(例如yolov3.cfg),将第610、696、783行的3个从80更改为1
  • 将603、689、776行的cfg文件中的3个过滤器从255更改为18(源自(classes+5)x3
  • 运行检测器./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/your_image.jpg

有关使用COCO数据集的更多高级方式,您可以使用此存储库基于voc,coco或开放图像创建yolo数据集。 https://github.com/holger-prause/yolo_utils
另请参阅:How can I download a specific part of Coco Dataset?

答案 1 :(得分:0)

IMMO,将预先训练的权重与预先提供的* .names,*。data和* .cfg一起使用会更简单。然后,您在YOLO以类名,置信度和bbox形式输出检测列表的模式下,运行单个图像或图像文件名称列表的检测器。然后,您只需忽略除“ person”类之外的任何内容。