【问题标题】:Making 3D representation of an object with a webcam使用网络摄像头制作对象的 3D 表示
【发布时间】:2012-03-30 12:32:11
【问题描述】:

是否可以通过使用网络摄像头捕捉许多不同的角度来制作对象的 3D 表示?如果是,怎么可能?图像处理是如何完成的?

我的计划是使用网络摄像头制作一个人的 3D 表示,然后从 3D 表示中,我将能够了解这个人的生命统计数据。

【问题讨论】:

  • 是的,this is entirely possible,但在这里解释这一切有点过头了。如果您真的感兴趣,“多视图几何”一书将是您的绝佳读物。

标签: image image-processing 3d webcam


【解决方案1】:

正如巴特所说(但没有作为实际答案发布),这是完全可能的。

您感兴趣的研究主题通常称为多视图立体或类似的名称。

基本思想是围绕使用两个(或更多)图像之间的点对应关系来解决,然后尝试找到最佳匹配的相机位置。找到位置后,您可以使用立体算法将图像点反向投影到 3D 坐标系中并形成点云。

然后您可以从该点云进一步处理它以获得您正在寻找的测量值。

如果您对这个主题完全陌生,那么您可以期待一些引人入胜的阅读!

Bart 提出了由 Hartley 和 Zisserman 提出的Multiple view geometry,这确实是一本非常好的书。

【讨论】:

    【解决方案2】:

    正如 Bart 和 Kigurai 所指出的,这个过程已经在“立体”或“多视图立体”技术的名称下进行了研究。为了能够从一组图片中获取 3D 模型,您需要执行以下操作:

    a) 您需要了解相机的“内部”参数。这包括相机的焦距、图像的主点以及图像中的径向失真。 b)您还需要知道每个相机相对于彼此或“世界”坐标系的位置和方向。这被称为相机的“姿势”。

    在 Hartley 和 Zisserman 的“多视图几何”一书中描述了执行 (a) 和 (b) 的算法。或者,您也可以使用 Noah Snavely 的“Bundler”http://phototour.cs.washington.edu/bundler/ 软件以非常强大的方式执行相同的操作。

    一旦有了相机参数,您就基本上知道世界中的 3D 点 (X,Y,Z) 如何映射到照片上的图像坐标 (u,v)。您还知道如何将图像坐标映射到世界。您可以通过在从不同视点拍摄的照片中搜索一张照片上的每个像素的匹配项来创建密集点云。这需要二维搜索。您可以通过将搜索设为一维来简化此过程。这称为“整改”。您基本上拍摄两张照片并进行转换,以便它们的行对应于世界上的同一行(简化语句)。现在您只需要沿着图像行搜索。

    在 Hartley 和 Zisserman 中也可以找到一种算法。

    最后,您需要根据某种度量进行匹配。有很多关于“立体匹配”的文献。使用的另一个词是“视差估计”。这基本上是在搜索一张照片上的像素 (u,v) 与其在另一张照片上的匹配 (u, v') 的匹配。匹配后,它们之间的差异可用于映射回 3D 点。

    您可以使用Yasutaka Furukawa 的“CMVS”或“PMVS2”软件来执行此操作。或者,如果您想自己进行实验,openCV 是一个开源计算机视觉工具箱,可以完成许多所需的子任务。

    【讨论】:

      【解决方案3】:

      这可以通过两个网络摄像头以与您的眼睛相同的方式完成。它被称为立体视觉。 看看这个:

      http://opencv.willowgarage.com/documentation/camera_calibration_and_3d_reconstruction.html

      获取 3D 数据的一种经济实惠的替代方案是 Kinect 摄像头系统。

      【讨论】:

      • 您好,感谢您的回复。我的计划是使用网络摄像头制作一个人的 3D 表示,然后从 3D 表示中,我将能够告诉这个人的生命统计数据。有可能吗?
      • 生命统计是什么意思?
      • 如前所述,只要您从不同位置捕获多张图像,就可以使用一台相机完成。
      【解决方案4】:

      也许不是您希望的答案,但微软的 Kinect 正在做这件事,有一些开源驱动程序可以让您将它连接到您的 windows/linux 机器。

      【讨论】:

      • 您好,感谢您的回复。我的计划是使用网络摄像头制作一个人的 3D 表示,然后从 3D 表示中,我将能够告诉这个人的生命统计数据。有可能吗?
      • Kinect 没有在这个意义上使用立体声。它使用结构光模式来获取范围数据。
      猜你喜欢
      • 1970-01-01
      • 2012-03-13
      • 2015-06-13
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多