我需要将一组未知物体(书籍,罐子,玩具,盒子等)分成一个表面(桌面,地板......)。我想为场景中的每个对象提取一个掩码(二进制或概率)。
我知道表面的外观是什么(颜色模型)。对象的大小,几何形状,数量,外观是任意的,它们也可以是无纹理的。多个视图可能也可用。没有用户互动。
我一直在努力为这种情况选择最好的算法(基于图形,基于群集,超像素等)。这自然来自缺乏不同方法的经验。我想知道他们如何相互比较。
我有一些限制:
我们更倾向于采用快速简单的方法,分辨率低于复杂而缓慢的方法,以提供更好的结果。
对于适合这种情况的某种方法的任何建议都将不胜感激。
答案 0 :(得分:0)
对于速度,我会快速将图像分割成表面和非表面(东西)。如果你是勇敢的话,这至少可以让你从24位(颜色?)到8位甚至一位。
从那里你需要聚合并过滤区域到适当大小的blob。为此,我尝试了一个形态(或线性)过滤器,该过滤器键入一个适合最小目标对象的磁盘。这将是一个开放和结束。也许从较小的半径开始以获得更好的结果。
从那里,你应该有一个可以找到和区别的blob图像。每个blob或区域应指定感兴趣的对象。
请注意,如果您可以获得1位图像,那么事情就会非常快。但是,可以使用这种数据形式(每个字符8个像素)的高效工具通常不会出现。