无监督图像分割

数据挖掘 机器学习 深度学习 美国有线电视新闻网 计算机视觉 物体检测
2021-10-01 04:19:41

我正在尝试实现一种算法,其中给定平面表上具有多个对象的图像,所需的是每个对象的分割掩码的输出。与 CNN 不同,这里的目标是在不熟悉的环境中检测物体。解决这个问题的最佳方法是什么?另外,是否有任何在线可用的实现示例?

编辑:对不起,问题可能有点误导。我所说的“不熟悉的环境”是指算法可能不知道对象。该算法不需要了解对象是什么,而应该只检测对象。我应该如何解决这个问题?

4个回答

快速回答

Mean Shift LSH是在(n)著名的 Mean Shift 算法(n2)以其图像分割能力而闻名

一些解释

如果您需要一种真正的无监督方法来分割图像,请使用聚类算法事实上,有很多算法具有不同的时间复杂度特异性举个最有名的,ķ-意思是,它在(n)非常快,但是您必须通过探索未知图像来指定您想要的集群数量,这不是您想要的,而没有任何关于其中存在多少形状的信息。此外,即使您假设您知道存在多少个形状,我们也可以假设这些形状是随机的,这是另一点ķ- 方法失败,因为它的设计是为了找到椭圆集群而不是随机形状的集群。

相反,我们有 Mean Shift,它能够自动找到簇的数量——当你不知道你在寻找什么时这很有用——具有随机形状

当然你更换 ķ 参数 ķ- 其他人的意思是平均偏移参数,微调起来可能很棘手,但它不存在一个工具可以让你在不锻炼做魔术的情况下做魔术。

对图像分割聚类的建议

将您的色彩空间从 RGB 转换为 LUV,这对欧几里德距离更有利。

ķ-Means vs Mean Shift LSH 时间复杂度

  • 均值偏移:(α.n)
  • K-均值:(β.n)
  • α>β

Mean Shift LSH 速度较慢,但​​更适合您的需求。它保持线性,并且可以通过上述实现进行扩展。

PS:我的个人资料图片是 Mean Shift LSH 对我自己的应用,如果它可以帮助弄清楚它是如何工作的。

您可能需要查看提交并接受 CVPR 2018 的这项工作:Learning to Segment Every Thing

在这项工作中,他们尝试分割一切,甚至是网络不知道的对象。已经使用了 Mask R-CNN,结合了迁移学习子网络,它们在分割几乎所有内容方面都取得了非常好的效果。

最先进的图像分割 (SOTA) 将是 Facebook 的Mask-RCNN

虽然它通常在COCOPascal等具有真实对象的数据集上进行训练,但您可以在您选择的数据集上重新训练它,无论是真实的还是非真实的。

Facebook在 Apache2 许可下提供了一个实现 ( Detectron )。试一试!

实际上,您的任务是受监督的。Segnet可以是适合您的目的的良好架构,可以在此处访问其实现之一。SegNet 从监督学习中学习预测像素级类别标签。因此,我们需要一个具有相应地面实况标签的输入图像数据集。标签图像必须是单通道,每个像素都标有其类别...

另外,请查看非常适合您的任务的全卷积网络。


根据问题中的编辑,我添加了额外的信息。有许多方法可用于此任务。基本上最简单的方法是使用背景标签,并通过使用上述架构将那些您不知道的类分类为背景。通过这样做,您将拥有可能与背景类重叠的标签,这可能是这种方法的一个缺点,但它的优点是,在您的训练标签经常在输入中使用的情况下,您可以拥有一个相对较轻的架构版本,识别未知类。