用于自动对象提取的快速图像分割算法

时间:2014-05-14 12:50:39

标签: image-processing computer-vision image-segmentation

我需要将一组未知物体(书籍,罐子,玩具,盒子等)分成一个表面(桌面,地板......)。我想为场景中的每个对象提取一个掩码(二进制或概率)。

我知道表面的外观是什么(颜色模型)。对象的大小,几何形状,数量,外观是任意的,它们也可以是无纹理的。多个视图可能也可用。没有用户互动。

我一直在努力为这种情况选择最好的算法(基于图形,基于群集,超像素等)。这自然来自缺乏不同方法的经验。我想知道他们如何相互比较。

我有一些限制:

  • 不能使用库(除了OpenCV之外,它是一个合法的约束)。所以任何算法都必须由我实现。所以我想选择一种非常简单的算法,可以在很长一段时间内实现。
  • 表现非常重要。将会有许多其他进程同时运行,因此我无法承受缓慢的方法。

我们更倾向于采用快速简单的方法,分辨率低于复杂而缓慢的方法,以提供更好的结果。

对于适合这种情况的某种方法的任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

对于速度,我会快速将图像分割成表面和非表面(东西)。如果你是勇敢的话,这至少可以让你从24位(颜色?)到8位甚至一位。

从那里你需要聚合并过滤区域到适当大小的blob。为此,我尝试了一个形态(或线性)过滤器,该过滤器键入一个适合最小目标对象的磁盘。这将是一个开放和结束。也许从较小的半径开始以获得更好的结果。

从那里,你应该有一个可以找到和区别​​的blob图像。每个blob或区域应指定感兴趣的对象。

请注意,如果您可以获得1位图像,那么事情就会非常快。但是,可以使用这种数据形式(每个字符8个像素)的高效工具通常不会出现。