从图像中检测和分离单个未知物体(计算机视觉)

detecting and separating individual unknown objects from an image (computer vision)

本文关键字:计算机视觉 未知 单个 图像 检测 分离      更新时间:2023-10-16

所以,我正在寻找最好的方法来实现这一点,我想拍摄一个像房间一样的二维图像,周围分布着随机物体,并能够检测和分离每个单独的物体。

*程序不知道任何对象,这不是对象识别,也不涉及识别代码。程序将不知道这些物体中的任何一个是什么,也不知道如何识别它们,只知道它们不是相同的物体(即使有两个相同的物体彼此靠近)

*另一件事是,我试图将每个组件彼此区分开来,即使它是另一个对象的子部分;即:不试图检测整个灯与桌子是分开的,但灯泡、灯杆和电线也与灯是分开的。id喜欢检测尽可能多的独立对象

我希望SURF之间,边缘检测,RGB匹配,这是可能的。但可能还需要使用来自运动学的红外传感器进行三维重建和深度查找,以帮助分离物体

*我相信,如果存在纹理检测的话,纹理检测可能会对区分物体有很大帮助。

1) 这可能吗
2) 需要什么工具/程序
3) 关于这件事的策略
4) 解决方案是否已经存在?

注:我将vs2010与opencv和kinect 一起使用

1)我认为这是不可能的。从计算机视觉的角度(没有3D深度信息),你可能想看看"格式塔心理学"的问题(http://en.wikipedia.org/wiki/Gestalt_psychology),在那里你可以看到,在非常简单的图像中已经发现了很多模糊性。在没有(甚至经常有)任何背景知识的情况下分析真实世界的场景要糟糕得多。有时,即使是人类也无法区分看到的一两个物体,和/或这取决于解释,你必须考虑到人类有多年的经验和大量的背景知识。

3) 您想要做的是图像分割。在没有任何背景知识的情况下,我建议对深度图像和彩色/灰度图像进行一些边缘检测(例如Canny边缘检测)。你必须对检测到的边缘进行分组(再次查看格式塔心理学)和/或提取轮廓,但最终你仍然离检测所有对象和子对象很远。

尝试在对象的每个边界框上运行活动轮廓。