了解 Tensorflow 对象检测 API 评估指标

Understanding Tensorflow Object Detection API Evaluation metrics

我使用 tensorflow 提供的对象检测 API 训练了一个模型,但找不到很多关于所创建模型的评估过程的资源。

当使用 eval.py 脚本时,我在屏幕上得到了一些结果,但我对此有一些疑问,如下所示:

  1. 存储在checkpoint_dir中的哪个检查点的结果对应于?

  2. 在某些情况下,我得到的值为 -1.00。我该如何解释?

  3. 提供的eval.py和model_main.py脚本有什么区别?

  4. 任何与对象检测的评估和推理相关的资源 api 可以推荐给我吗?

  1. Which checkpoint from the ones stored in checkpoint_dir do the results correspond to ?

在你的train_dir中你会发现一个checkpoint文件,如果你打开它,第一行代码是你的最后一个检查点,它将用于评估,你可以更改第一行到您想要的评估检查点

  1. I get a value of -1.00 in some cases. How do i interpret that ?

当你在指标中获得-1时,意味着它不存在任何符合条件的结果,在你的情况下,这意味着你的数据集没有任何小面积的对象,所以它被丢弃,如果您有这些对象并且没有检测到它们,它将显示为 0 而不是 -1。

  • 小物体:面积 < 32^2 像素
  • 中型物体:32^2 < 面积 < 96^2 像素
  • 大物体:面积 > 96^2
  1. What is the difference between eval.py and model_main.py scripts provided?

eval.py 脚本仅评估模型和 returns 指标。 model_main.py 将 train 脚本与 eval 相结合,使您能够执行您选择的以下操作:

  1. 训练模型
  2. 评估模型
  3. 同时训练和评估模型

在后者中,您应该提供验证数据而不是测试数据。

  1. Any resource related to evaluation and inference for object detection api that you can refer me to ?

我想你正在找这个Jupyter notebook for off-the-shelf inference