我是TensorFlow的新手。
实际上,我正在测试一些分类的例子"卷积神经网络"在TensorFlow网站上,它解释了如何将输入图像分类为预定义的类,但问题是:我无法弄清楚如何在同一图像中检测多个对象。例如,我有一个猫和狗的输入图像,我希望我的图表在输出中显示它们都是#34; CAT和狗#34在图像中。
答案 0 :(得分:20)
好问题。检测同一图像沸腾中的多个对象本质上是一个分割问题"。两个不错的流行算法 YOLO(你只看一次)和SSD(单次多盒检测器)。我在底部包含了他们的链接。
我会观看一些关于YOLO如何运作的视频,看看你是否掌握了这个想法。然后阅读SSD上的论文,看看你是否明白为什么这个算法更快更准确。
两种算法都是单程:它们只看图像"一次"并预测他们发现的类别的边界框。有更精确的算法,但它们更慢(他们首先选择他们想要查看的许多点,然后仅在该点上运行分类器。结果是他们每个图像多次运行此分类器,这很慢)。
正如您所说,您是Tensorflow的新手,您可以尝试其他人制作的代码:https://github.com/thtrieu/darkflow。非常广泛的自述文件向您展示了如何开始使用自己的数据集。
祝您好运,如果您有其他问题,或者如果这些算法不适合您的用例,请告诉我们。
答案 1 :(得分:2)
您尝试做的一种天真的方法是独立地对图像的某些部分进行分类。
但是有一些更好的物体检测技术。实际上,有TensorFlow Object Detection API,它允许您访问最常见的对象检测方法,如Faster R-CNN或SSD。