Computer vision 如何从两个立体摄像机构建房间的三维模型?准确构造的决定因素是什么?

Computer vision 如何从两个立体摄像机构建房间的三维模型?准确构造的决定因素是什么?,computer-vision,3d-reconstruction,Computer Vision,3d Reconstruction,目前,我已经从两台立体相机中提取了深度点来构建3D模型。我使用的方法是openCV graphCut方法和来自的软件。但是,生成的三维模型不是很精确,这让我产生了一个问题: 1) 基于像素的方法有什么问题? 2) 我应该将基于像素的方法更改为基于特征或基于对象识别的方法吗?有没有最好的方法? 3) 有没有其他方法来进行这样的重建 此外,提取的深度仅来自2幅图像。如果我将摄像头旋转360度以获取视频,该怎么办?期待关于如何结合这些深度信息的建议 非常感谢:) 如果我把相机转360度怎么办 获取视频

目前,我已经从两台立体相机中提取了深度点来构建3D模型。我使用的方法是openCV graphCut方法和来自的软件。但是,生成的三维模型不是很精确,这让我产生了一个问题: 1) 基于像素的方法有什么问题? 2) 我应该将基于像素的方法更改为基于特征或基于对象识别的方法吗?有没有最好的方法? 3) 有没有其他方法来进行这样的重建

此外,提取的深度仅来自2幅图像。如果我将摄像头旋转360度以获取视频,该怎么办?期待关于如何结合这些深度信息的建议

非常感谢:)

如果我把相机转360度怎么办 获取视频的学位

我想你的意思是180度。如果您将两个摄像头(即立体声装置)旋转180度,则可以

     V        V
    [.]      [.] 

Turn the rig 180 degrees

    [.]      [.] 
     ^        ^
但是如果两个摄像头彼此成180度角,并且没有重叠,那么你就无能为力了

     V 
    [.]

    [.]
     ^     
另外,对于你关于基于像素、基于特征、基于对象识别的问题,你的最终目标是什么

有没有最好的方法

最好的方法是自己制作模型。需要几周的培训。有了几个高分辨率的相机,你可以很快得到一个相当不错的结果。你会比电脑做得更好

有没有其他方法来进行这样的重建

激光扫描。谷歌搜索“自制激光扫描仪”或“自制3d扫描仪”。有几个人试图开发这样的系统,取得了各种各样的成功。你需要一台直线激光器(可以用激光笔做一台)。但是你不能通过这种方式获得颜色信息——只有浮雕

如果我将摄像头旋转360度以获取视频,该怎么办


即使旋转摄影机,也无法仅从一个摄影机获取深度信息。您需要从不同的点拍摄两张或更多的重叠照片。或者你可以试着把物体放在转台上(虽然因为你在建一个房间,所以这是不可能的)。

Sourceforge中有一个这样的项目:

定义立体重建精度的关键问题是视差估计。这一领域已经进行了广泛的调查,但最先进的结果已收集在页面上: 我建议你选择一种最好的方法。也许你需要自己实现它(论文的参考资料在页面底部),或者尝试在作者的主页上找到一个实现。再看看

您还应该设法找出精度低的原因。这可能是因为算法无法捕获场景的结构,或者仅仅是输出的低分辨率。在后一种情况下,您需要转到亚像素精度。解决这个问题的方法有很多。使用错误阈值组合框根据所需精度对算法进行排序


多个摄像头也有帮助。关键词是“多视图立体”。

有关从两个摄像机的镜头中制作3D图像和视频的一般信息,请参见此处:)我想在计算机中获取3D模型我想他的意思是“如果我旋转摄像机并从同一场景的不同角度拍摄多个图像会怎么样”这将是第一个场景,好的。:)是的,多张图片。我的主要目标是在没有人工帮助的情况下获得三维模型。计算机将足够聪明,能够识别它是一张桌子,并且能够感知它的深度。它更像是周围的环境,而不是仅仅在一个物体上。这可能对计算机来说要求太多了,因为它知道“这是一张桌子,这是一把椅子”在不受控制的环境中是很难的。:)嗯……但是为什么我不能从一个摄像头获得深度,因为获得的图像会相互重叠other@yasumi:因为它们都是从一个点获取的。要查找到对象的距离,至少需要两个参照点。这是几何学-要找到三角形的边(到对象的距离),你需要知道至少一条边的长度(两个摄影机之间的距离)和两个角度(每个摄影机的视线和朝向对象的线之间的角度),实际上,可以从一个移动摄影机获得场景重建,谷歌单眼重建/slam(纽科姆和戴维森有一篇关于CVPR 2010的论文)。然而,这是当前的研究课题,还不实用。使用激光扫描仪:)@Cfr:很明显,如果相机在移动,您可以重建图像。OP说的是把它旋转360度。这不是同一件事……:)我使用了这个,但在仔细检查时,由于噪音,图片中出现了尖峰…因此正在寻找一种更好的处理方法,这在从2D图像创建3D图像时非常常见。我认为你正在推动目前可以做的事情的边缘。我认为目前,可能是把重点放在无特征的表面上。在看了它们之后,你是否知道如果是无特征的表面(如筑波的灯),深度估计为什么会失败?你指的是哪种方法?简单的基于窗口的方法无法估计无纹理区域中的视差,因为它无法匹配来自不同图像的两个窗口。它们没有功能,任何变化都是可能的。现代方法没有这个问题,因为它们使用上下文,例如通过MRF。他们知道灯边界上的差异,并将其传播到中心。