python - tensorflow 对象检测训练模型不起作用

标签 python opencv tensorflow object-detection

我使用 ssd 和更快的 r-cnn 模型训练我的数据集以进行 tensorflow 对象检测。我的数据集中有 220 个训练图像和 30 个测试图像。 我对模型进行了 200k 步训练,损失小于 1。但是当我在视频上测试我训练的模型时,它检测并标记了视频中的几乎所有内容。 谁能告诉我为什么会这样? 谢谢

最佳答案

您使用的类数只有一个,您使用属于同一类的图像训练模型并对其进行测试。

所以问题是模型是倾斜的(对所有图像的预测相同) 无论您在什么图像上进行测试,都会得到相同的输出。

解决方法:

使用几乎相等数量的负面图像训练您的模型。

例如:220张包含待识别物体的图像(标记为1)和另外近220张不包含物体的图像(标记为0)

使用 F1 分数来检查您的准确性,因为它可以帮助您了解数据集是否存在偏差。

检查 this了解不同种类的准确性措施。 取this类(class)以了解有关 CNN 的更多信息。

关于python - tensorflow 对象检测训练模型不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47406906/

相关文章:

python - 鹡鸰:获取上一个或下一个 sibling

python - 如何根据传递给函数的数据类型调度 Python 2 函数?

linux - TensorFlow from sources 问题

python - 查找条件为真的第一个列表元素

python - 用于 Mac 开发的 PyObjc 与 RubyCocoa : Which is more mature?

c++ - 无法在 Linux 上构建 opencv_contrib 模块

c - 用opencv加载内存中的一组图片

python - 获取 ImportError : dlopen(/usr/local/lib/python3. 6/site-packages/cv2/cv2.cpython-36m-darwin.so,2) 使用 tensorflow 时

tensorflow - 使用 JointDistributionSequential 的 Tensorflow 概率层次模型

python - model.fit() 不接受 tf.data.Dataset 的输入形状