首先将以下 main 函数添加到 data/v-coco 中的 vsrl_eval.py 中。
这三个文件路径在vcoco数据集文件里都能找到,没找到就是数据集文件不全
vslr_annot_file:VCOCO 注释的路径
coco_annot_file:Coco 注释的路径
split_file:拆分的图像 ID
if __name__ == '__main__':
import sys
vsrl_annot_file = 'data/vcoco/vcoco_test.json'
coco_file = 'data/instances_vcoco_all_2014.json'
split_file = 'data/splits/vcoco_test.ids'
vcocoeval = VCOCOeval(vsrl_annot_file, coco_file, split_file)
det_file = sys.argv[1]
vcocoeval._do_eval(det_file, ovr_thresh=0.5)
接下来找到需要生成检测结果的pickle文件,然后按如下方式进行评估。
首先进入到vcoco中,目录中要有vsrl_eval.py文件,没有的话就去vcoco的github下源码
cd data/v-coco
python vsrl_eval.py “你的pkl文件”
执行代码后可能会遇到一些bug,比如:AttributeError: module ‘numpy’ has no attribute ‘bool’.
这种的话,是因为numpy在1.20版本就弃用了np.bool,需要使用bool或者np.bool_替代。
找到vsrl_eval.py,把其中的替换了就行了
参考:
https://github.com/YueLiao/CDN#v-coco-2
https://blog.csdn.net/weixin_44984048/article/details/128683628
https://github.com/s-gupta/v-coco#evaluation