我有一组以以下方式分组的轮廓(线段集):
哪里
- 表示一个具体物体的照片序列。
- 表示一张图像,具有 j t h的视角( j = 0表示正视图)。
下面是示例(后视图):
如何在给定的重建对象的3d结构?
有人可以给我指出一些论文,甚至给我一些关键词吗?我知道有很多文章都是用点云计算的,依此类推,但是当我用线操作时,这些文章就不起作用了。
我有一组以以下方式分组的轮廓(线段集):
哪里
下面是示例(后视图):
如何在给定的重建对象的3d结构?
有人可以给我指出一些论文,甚至给我一些关键词吗?我知道有很多文章都是用点云计算的,依此类推,但是当我用线操作时,这些文章就不起作用了。
Answers:
实际上,这是一个很难的话题。经典的多视图3d重建首先要处理点匹配,即在每个图像上找到相同的点。给定每个图像的相机(视图)参数,可以重建原始3d点。(使用激光或投影仪可以照亮场景,因此可以相对容易地进行匹配。)
该领域的圣经是Hartley和Zisserman撰写的《计算机视觉中的多视图几何》
书中有关于三焦点张量的部分,这是3个视图之间的多线性约束。它不仅包含点,还包含线对应约束。它可以很好地用于建筑物重建。
因此,您的轮廓应该首先匹配,并且可以在知道相机参数的情况下进行重构(本书中也涵盖了相机校准)。然后,您将在3d中拥有轮廓,仅此而已。对于真实表面,必须进行密集点匹配。尽管我提到的张量看起来不错,但它用于直线,而且我确信现代汽车到处都有曲线。
我不知道您是如何得到这些轮廓的,但是看到您发布的图像时,我对该算法的鲁棒性持怀疑态度,因此重建效果很差。
我想到的另一种方法是视觉船体或空间雕刻。轮廓算术也应完成。在每个轮廓上运行该方法即可获得模型。
尽管Fodor Hartley和Zisserman提到了这本书,但绝对值得一读,它更具有一般性理解,而不是实用算法。这已经过时了,这些方法效率不高。关于您的问题-问题表述本身很少见。正如Fodor所提到的,从匹配特征点开始,而不是从轮廓开始要容易得多。对于点,关于可用现代方法的绝对最佳概述是Triggs撰写的论文“束调整-现代综合”,但是在使用束调整之前,您将使用SIFT或模板匹配之类的图像来匹配相应的点。Google 3D重建有关一些完整方法的示例。您也可以使用开源软件包,有几种可用的软件包。
如果您坚持使用轮廓,尽管仍然(几乎)难以解决,但这个问题要困难得多。首先,您将在所有图像中识别并匹配相应的轮廓,然后编写成本函数-每个匹配轮廓组的重投影误差之和作为每个图像的相机位置和方向的函数。之后,找到最小化此成本函数的一组摄像机位置。此过程的每个步骤都非常困难,没有像Triggs这样的概述。您可以在Google上搜索一些相关文章,将其作为术语“轮廓”,“轮廓匹配”,“束调整”,“投影误差”,“ 3D重建”的组合。