2017-02-21 69 views
1

我是TensorFlow的新手。实际上,我在TensorFlow网站测试了一些分类的例子“卷积神经网络”,它解释了如何将输入图像分类到预定义的类中,但问题是:我无法弄清楚如何检测同一图像中的多个对象。例如,我有一个猫和狗的输入图像,我希望我的图表在输出中显示它们都是图像中的“猫和狗”。如何识别同一图像中的多个对象

回答

5

伟大的问题。检测同一图像中的多个对象沸腾本质上是一个“分割问题”。两种不错的和流行的算法是 YOLO(你只看一次)和SSD(单发多盒检测器)。我在底部包含了他们的链接。

我会观看关于YOLO如何工作的一些视频,并看看你是否掌握了这个想法。然后阅读SSD上的论文,看看你是否明白为什么这个算法更快,更精确。

这两种算法都是单遍的:他们只看图像“一次”,并预测它们发现的类别的边界框。有更精确的算法,但它们较慢(他们首先选择许多他们想要看的点,然后仅在该点上运行分类器,结果是他们每个图像多次运行该分类器,这很慢)。

正如你所说你是Tensorflow的新手,你可以尝试其他人的代码:https://github.com/thtrieu/darkflow。非常广泛的自述向您展示了如何开始使用自己的数据集。

祝你好运,让我们知道你是否有其他问题,或者如果这些算法不符合你的使用案例。

+0

明智的答案和你提供的链接是现货!我已经把赏金赏给了你。非常感谢您分享您的专家在这个主题! – JohnV

1

为你正在尝试做的是独立分类部分图像天真的方法。

但是有一些更好的技术用于对象检测。实际上,有TensorFlow Object Detection API,它允许您访问最常见的对象检测方法,如Faster R-CNN或SSD。