从图像中检测和分离单个未知物体(计算机视觉)
detecting and separating individual unknown objects from an image (computer vision)
所以,我正在寻找最好的方法来实现这一点,我想拍摄一个像房间一样的二维图像,周围分布着随机物体,并能够检测和分离每个单独的物体。
*程序不知道任何对象,这不是对象识别,也不涉及识别代码。程序将不知道这些物体中的任何一个是什么,也不知道如何识别它们,只知道它们不是相同的物体(即使有两个相同的物体彼此靠近)
*另一件事是,我试图将每个组件彼此区分开来,即使它是另一个对象的子部分;即:不试图检测整个灯与桌子是分开的,但灯泡、灯杆和电线也与灯是分开的。id喜欢检测尽可能多的独立对象
我希望SURF之间,边缘检测,RGB匹配,这是可能的。但可能还需要使用来自运动学的红外传感器进行三维重建和深度查找,以帮助分离物体
*我相信,如果存在纹理检测的话,纹理检测可能会对区分物体有很大帮助。
1) 这可能吗
2) 需要什么工具/程序
3) 关于这件事的策略
4) 解决方案是否已经存在?
注:我将vs2010与opencv和kinect 一起使用
1)我认为这是不可能的。从计算机视觉的角度(没有3D深度信息),你可能想看看"格式塔心理学"的问题(http://en.wikipedia.org/wiki/Gestalt_psychology),在那里你可以看到,在非常简单的图像中已经发现了很多模糊性。在没有(甚至经常有)任何背景知识的情况下分析真实世界的场景要糟糕得多。有时,即使是人类也无法区分看到的一两个物体,和/或这取决于解释,你必须考虑到人类有多年的经验和大量的背景知识。
3) 您想要做的是图像分割。在没有任何背景知识的情况下,我建议对深度图像和彩色/灰度图像进行一些边缘检测(例如Canny边缘检测)。你必须对检测到的边缘进行分组(再次查看格式塔心理学)和/或提取轮廓,但最终你仍然离检测所有对象和子对象很远。
尝试在对象的每个边界框上运行活动轮廓。
- 继承期间显示未知行为的子类
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 输入中的字符串数未知(以字母表示)
- 具有未知值时的时间复杂性
- 在计算机视觉中减去两个图像
- OpenCV,计算机视觉
- 使用计算机视觉进行产品检测-使用opencv进行边缘检测
- 从图像中检测和分离单个未知物体(计算机视觉)
- 计算机视觉,提取有关桌子,椅子,床的特征.家具
- 模拟计算机视觉数据集
- OpenMP vs OpenCL 用于计算机视觉
- 关于机器学习/计算机视觉领域实用方法的问题
- OpenGL与OpenCV结合的计算机视觉教程
- 为什么在OpenCV如此完备的情况下,Matlab在计算机视觉社区如此受欢迎?< / h1 >
- 计算机视觉,c++或Java
- c++计算机视觉透视渲染
- 用于后续计算机视觉处理的屏幕截图
- 视觉工作室 - VS2013, C++: 未知"thread X exited with code 0"
- "MATLAB style"计算机视觉\图像处理可视化\调试工具
- 计算机视觉-在TensorFlow上运行C++inception-v3时出现非法指令错误