【问题标题】:TensorFlow Object Detection API poor resultsTensorFlow Object Detection API 结果不佳
【发布时间】:2017-08-10 08:34:30
【问题描述】:

我已经在我自己的 PascalVOC 数据集上训练了 TensorFlow 对象检测 API,包含 7 个类。每个类有 100 到 200 张图像。我使用的是 ssd_mobilenet_v1_pets.config 标准配置,除了类数和步数选项。

在训练之前,我使用图像调整了大小,因此我的集合中的每张图像的大小都在 600 到 1024 像素之间。已使用 LabelImg App 完成注释。

在完成 100k 步的训练作业后,我在几个测试图像上使用来自 jupyter notebook tutorial 的代码尝试了我的模型。不幸的是,结果有点奇怪。

如果测试图像只包含一个对象,它可以正常工作:

但是如果图像上有很多物体,结果会很奇怪甚至不显示:

您可以看到由于某些原因它几乎检测到了整个图像。那么,您可以通过什么方法来检测图像上的多个对象,如上图所示。

非常感谢您的帮助。提前致谢!

这是我的任何情况下的标签图:

item {
  id: 1
  name: 'chesterfield_blue'
}

item {
  id: 2
  name: 'chesterfield_red'
}

item {
  id: 3
  name: 'lucky_strike_blue'
}

item {
  id: 4
  name: 'lucky_strike_red'
}

item {
  id: 5
  name: 'marlboro_gold'
}

item {
  id: 6
  name: 'marlboro_mentol'
}

item {
  id: 7
  name: 'marlboro_red'
}

【问题讨论】:

  • 您是否尝试在放大图像的较小部分上运行该算法?使用什么算法来检测对象?它是在处理图像金字塔本身吗?
  • 感谢您回复@omu_negru,是的,我一直在尝试对象较少的图像上的算法。探测器能够找到一个或最多两个物体,但也错过了其他物体。如果有感觉,我也可以尝试裁剪现有的测试图像,看看它在放大图像的某些部分上是如何工作的。谈到算法,如果你是指我用于训练的检查点,它们来自 ssd_mobilenet_v1_coco 模型,但如果你问我在训练后如何评估模型,我只是使用了他们 repo 中的 jupyter notebook 教程示例。随时询问任何其他信息。

标签: python machine-learning tensorflow computer-vision object-detection


【解决方案1】:

更快的 RCNN 模型及其配置帮助我提高了结果。

我还添加了几张在商店摊位上放置香烟盒的图像,因此条件与我正在尝试处理的图像非常相似。

改进的结果(注意我没有将所有香烟实例添加到模型中):

【讨论】:

  • 迈克尔,你走了多少步才开始看到任何东西被装箱?
  • @tonyl7126 我真的不记得了,因为我刚刚在 Google Cloud Platform 上创建了流程并放置了几个小时,但我认为 Tensorboard 以大约 5-10k 步的速度向我展示了第一个结果。如果你像我一样使用简单的带 CPU 的 PC 机,使用 GCP 进行模型训练会非常方便。看看here。希望对您有所帮助。
猜你喜欢
  • 1970-01-01
  • 2018-01-28
  • 2018-07-28
  • 1970-01-01
  • 2019-12-08
  • 2018-07-30
  • 2019-04-22
  • 2019-09-06
  • 1970-01-01
相关资源
最近更新 更多