本文主要是介绍Yolov9调用COCOAPI生成APs,APm,APl,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在做小目标检测的东西,因为后期毕业论文需要,所以开始使用Yolov9模型,运行val.py的时候不会自己产生小目标的AP指标,所以研究了一下,步骤非常简单:
第一步:
在数据集中生成json格式的Annotation文件,存放在数据集目录下:
②找到val.py文件中的save-json将其设置default = True
parser.add_argument('--save-json',default=True, action='store_true', help='save a COCO-JSON results file')
③将下面一行代码进行注释
opt.save_json |= opt.data.endswith('coco.yaml')
④将这一行代码进行替换
# anno_json = str(Path(data.get('path', '../coco')) / 'annotations/instances_val2017.json')
anno_json = str(Path(data.get('path', '../coco')) / 'annotations.json') # annotations json
然后运行val.py即可调用COCOeval在验证时添加小目标的指标
以下指标很低的原因只是因为我为了测试能成功训练的时候只跑了一个epoch,这个方法是绝对没有问题的。
--------------------------------------------------------------------------------------------------------------------------------
如何生成json文件参考我的这一篇博文:小目标的检测指标APs怎么获得?------数据集Yolo格式生成json文件_yolo转json-CSDN博客
这篇关于Yolov9调用COCOAPI生成APs,APm,APl的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!