如何评估 IOU=0.3 的训练模型平均精度和平均 AP

How to evaluate trained model Average Precison and Mean AP with IOU=0.3

我使用 Tensorflow 对象检测 API 使用 Faster-RCNN 和 Resnet 架构训练了一个模型。我正在使用 tensorflow 1.13.1、cudnn 7.6.5、protobuf 3.11.4、python 3.7.7、numpy 1.18.1,目前无法升级版本。我需要使用 IOU=0.3 的验证集评估训练模型的准确性 (AP/mAP)。我故意使用 legacy/eval.py 脚本,因为它只为 IOU=0.5 计算 AP/mAP(而不是 mAP:0.5:0.95)

python legacy/eval.py --logtostderr --pipeline_config_path=training/faster_rcnn_resnet152_coco.config --checkpoint_dir=training/ --eval_dir=eval/

我尝试了几件事,包括将管道配置文件更新为 min_score_threshold=0.3: eval_config:{ num_examples: 60 min_score_threshold:0.3 ..

更新了 protos/eval.proto 文件中的默认值并重新编译 proto 文件以生成新版本的 eval_pb2.py // 要可视化的检测到的对象框的最小分数阈值 可选浮点数 min_score_threshold = 13 [默认值 = 0.3];

但是,eval.py还是calculates/showsAP/mAP,IOU=0.5 上述配置仅有助于在 eval.py 输出图像中以 < 0.5 的置信度检测图像上的对象,但这不是我需要的。

有人知道如何评估IOU=0.3的模型吗?

我终于可以通过在 ../object_detection/utils/object_detection_evaluation.py