首页 > 解决方案 > 为什么我的 AI 模型在测试时不能正确显示概率?

问题描述

我正在尝试在 Colab 中训练一个可以识别两种不同类型的人行横道信号的 AI 模型。经过训练,我选择了最好的模型:

Evaluation samples:  98
Using IoU:  0.5
Using Object Threshold:  0.3
Using Non-Maximum Suppression:  0.5
Don't Walk: 0.9936
Walk: 0.8873
mAP: 0.9405

但是,当我在图像和视频上测试 AI 模型时,它很少能正确识别“不行走”信号和“行走”信号;当它这样做时,尽管视频清晰且 mAP 分数很高,但置信度非常低(通常约为 10%)。事实上,即使 99% 的时间都正确识别了“请勿行走”信号,但在我尝试过的图像中根本没有检测到它们,在视频中也很少检测到。在视频中,错误识别的框(尽管置信度低)比正确识别的框多 10 到 15 倍。即使对于正确识别的框,置信度也非常低,对于具有 94% mAP 分数的模型来说,这似乎根本不正常。这让我很困惑,我问了一些我在人工智能领域认识的人,但他们也不知道该怎么做。所以我'

奇怪的是,虽然它不适用于视频,但该模型适用于某些图像,但仅适用于 Walk 信号,而不适用于 Don't Walk 信号的图像。每当我在模型中运行 Don't Walk 图像时,我都会在 Colab 中收到此图像,而不是对检测到的对象进行置信度测量:

/usr/local/lib/python3.7/dist-packages/tensorflow/python/data/ops/dataset_ops.py:3504: UserWarning: Even though the tf.config.experimental_run_functions_eagerly option is set, this option does not apply to tf.data functions. tf.data functions are still traced and executed as graphs.
  "Even though the tf.config.experimental_run_functions_eagerly "
/content/drive/.shortcut-targets-by-id/1DKQ2joF9lCJj3L1Ho0pe7Fe9hcgy8tzw/ImageAI-master/imageai/Detection/Custom/__init__.py:1248: RuntimeWarning: overflow encountered in exp
  return 1. / (1. + np.exp(-x))

我什至尝试重新输入一些我用来训练模型的图像;Walk 图像被正确识别,但 Don't Walk 图像根本没有被识别为任何东西。这让我更加疑惑了。(另外,如果我犯了一个我没有发现的愚蠢错误,我深表歉意;这是我第一次使用 AI。)

知道错误是什么意思吗?以及确保检测到的对象的置信度更高的任何建议,因为它应该是具有它所具有的精度的模型?

谢谢!

标签: python

解决方案


推荐阅读