如何仅在一个特定类上评估TensorFlow对象检测API? [英] How to evaluate Tensorflow Object Detection API on only one particular class?

本文介绍了如何仅在一个特定类上评估TensorFlow对象检测API?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经从TensorFlow Object Detection APIfaster_rcnn_inception_resnet_v2_atrous_coco训练了大约10个类的对象检测模型。当我运行model_main.py文件评估模型时,它似乎只给出了所有10个类的平均准确率(AP)和平均召回率(AR),如下所示:

Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.331
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.479
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.395
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.600
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.407
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.333
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.358
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.544
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.548
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.600
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.545
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.551

但是,如果我只想评估一个特定类的性能,而不是所有检测到的30个类,我应该怎么做?

推荐答案

迟发总比不发好thisPOST

1.使用不同的评估配置

只需将模型的*.config文件中的metrics_set值更改为"pascal_voc_detection_metrics"即可。

TensorFlow对象检测API支持多种评估指标,详见文档here。Pascal VOC 2010检测指标为每个类别提供AP分数。

2.编辑pycotools包中的cocoeval.py文件

此方法涉及将8行代码粘贴到cocoeval.py文件中。this帖子中对此进行了很好的解释和说明。

这篇关于如何仅在一个特定类上评估TensorFlow对象检测API?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆