使用pycocotools打印更多数据(注意,修改后最好再还原!最好是一次性使用)

发布时间:2024年01月16日

1 写在前面

仅供参考!写这个代码的目的是能够打印出iou=0.50的AP、AR的小中大3个尺寸的值,原始代码是不会打印出来的!

最好是一次性使用!因为这个是在动pycocotools这个包的源代码了,所以最好是用完之后就当场改回去,以免影响其他模型使用pycocotools包!!!

2 代码效果

原始效果

在这里插入图片描述

代码修改之后的效果

在这里插入图片描述

3 代码修改

修改F:\SoftWarelnstall\Anaconda3\envs\torch1.10\Lib\site- packages\pycocotools\cocoeval.py这个文件,别找错了虚拟环境了哟,我这里修改的是自己配置好的torch1.10虚拟环境里面的文件

cocoeval.py中定位到def _summarizeDets():,然后进行如下修改👇

在这里插入图片描述

            # ------------------------------------------------------lwd edit-------------------------------------------------- #
            print('-' * 30)
            stats[12] = _summarize(1, iouThr=.5, areaRng='small', maxDets=self.params.maxDets[2])
            stats[13] = _summarize(1, iouThr=.5, areaRng='medium', maxDets=self.params.maxDets[2])
            stats[14] = _summarize(1, iouThr=.5, areaRng='large', maxDets=self.params.maxDets[2])
            print('-' * 30)
            stats[15] = _summarize(0, iouThr=.5, areaRng='small', maxDets=self.params.maxDets[2])
            stats[16] = _summarize(0, iouThr=.5, areaRng='medium', maxDets=self.params.maxDets[2])
            stats[17] = _summarize(0, iouThr=.5, areaRng='large', maxDets=self.params.maxDets[2])
            # ------------------------------------------------------lwd edit-------------------------------------------------- #

上面的_summarize()函数里面可以传入4个参数,默认参数值是ap=1, iouThr=None, areaRng='all', maxDets=100

  1. ap:为1就表示是计算Average Precision0Average Recall
  2. iouThr:iou值,默认值是None,然后就是计算0.5:0.95,通常还可以设置为.5.75
  3. areaRng:计算范围,默认是all,还可以是smallmediumlarge
  4. maxDets:最大的检测目标数,默认是100,通常还可以填写010

通过设置上面的参数,就可以得到自己想要的值了

用完了之后记得还原哟!

文章来源:https://blog.csdn.net/LWD19981223/article/details/135632159
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。