我想训练YOLO仅检测班级人员。因此,我下载了COCO数据集,仅将标签调整为此类并相应地更改了配置文件,然后按照该站点https://pjreddie.com/darknet/yolo/上“在COCO上培训YOLO”部分中所述的步骤对YOLO进行了培训。 但是,当我使用标题为“ COCO数据集的性能”标题下的同一页面上的经过训练的权重时,我对同班人员的训练有素权重的平均平均精度(地图)要比同班的地图差得多。我想知道这可能是什么原因,以及哪些数据用于训练主页上可用的权重。
答案 0 :(得分:0)
修改cfg文件(类,过滤器等)时,可能出了点问题。无论如何,您的任务是什么?您是否真的需要重新训练模型,还是只需要过滤1类并进行检测?
如果只想过滤80个类中的“人”标签,则可以简单地执行此解决方法。您不需要重新训练模型,只需要使用作者在yolo网站上提供的权重即可。
要使用COCO数据集的简便方法,请按照以下步骤操作:
coco.names
中的darknet\data\coco.names
文件yolov3.cfg
),将第610、696、783行的3个类从80更改为1 (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”类之外的任何内容。