我有一组以以下方式分组的轮廓(线段集):

$ S_i = \ {I ^ 0,I ^ \ frac {\ pi} {4},I ^ \ frac {2 \ pi} {4},\ ldots,I ^ \ frac {7 \ pi} {4} \} $

其中


$ S_i $表示一个具体对象的照片序列。
$ I ^ j $表示图像,具有$ j ^ {th} $的角度($ j = 0 $表示正视图)。

以下是$ I ^ \ pi $(后视图)的示例: $ S_i $?

有人可以指出我一些论文,甚至给我一些关键词吗?我知道有很多文章都是用点云计算的,依此类推,但是当我用线操作时,这些文章就不起作用了。

#1 楼

实际上,这是一个很难的话题。经典的多视图3d重建首先要处理点匹配,即在每个图像上找到相同的点。给定每个图像的相机(视图)参数,可以重建原始3d点。 (使用激光或投影仪可以照亮场景,因此可以相对容易地进行匹配。)
书中有关于三焦点张量的部分,这是3个视图之间的多线性约束。它不仅包含点,还包含线对应约束。它可以很好地用于建筑物重建。

因此您的轮廓应该首先匹配,并且可以在知道照相机参数的情况下进行重建(本书中也涵盖了照相机校准)。然后,您将在3d中拥有轮廓,仅此而已。对于真实表面,必须进行密集点匹配。尽管我提到的张量看起来不错,但它用于直线,而且我确信现代汽车的各处都有弯曲的线。发布我对该算法的鲁棒性表示怀疑,因此重建效果会很差。轮廓数学也应该完成。在每个轮廓上运行该方法,即可获得模型。

评论


$ \ begingroup $
我通过应用Canny,然后通过一些线简化算法来获得这些轮廓,该算法使用二进制栅格,然后返回一组边。实际上,可以包含不带滤镜的普通图像,但是我以这种方式制定任务的原因是,我需要不断计算不同角度下的轮廓(该三角形可能具有很低的增量:<$ \ pi / 4 $)。我以为,如果我可以在3D中还原边缘,我要做的就是执行投影。也许这是一个错误(如果是这样,请让我知道)。
$ \ endgroup $
–om-nom-nom
11年8月26日在12:45

$ \ begingroup $
我看不到如何通过投影获得轮廓不清晰的3d点。有3d建模技术可以处理在样条线之间拉伸的NURBS曲面,但是您必须为此提供特征样条线。 (也许3d艺术家可以在这种情况下定义特征这个词,但我却不能。)同样,我认为从轮廓形状(与视觉船体相同)可以为您建立一个粗糙的模型。之后,您可以根据图像对其进行优化。但是没有标准的方法。
$ \ endgroup $
–巴林特·福多(BálintFodor)
2011年8月31日10:10



#2 楼

尽管Fodor Hartley和Zisserman提到过,这本书绝对值得一读,但它更具有一般性理解而非实用算法。这已经很过时了,这些方法效率不高。
关于您的问题-问题表述本身非常罕见。正如Fodor所提到的,从匹配特征点开始而不是轮廓开始要容易得多。对于点,关于可用现代方法的绝对最佳概述是Triggs撰写的论文“束调整-现代综合”,但是在使用束调整之前,您将使用SIFT或模板匹配之类的图像来匹配对应点。 Google针对3D重建提供了一些完整方法的示例。您也可以使用开源软件包,有几种可用的软件包。

如果您坚持使用轮廓,尽管(仍然)很难解决,但问题要困难得多。首先,您将在所有图像中识别并匹配相应的轮廓,然后编写成本函数-每个匹配轮廓组的重投影误差之和作为每个图像的相机位置和方向的函数。之后,找到使该成本函数最小化的摄像机位置集。术语“轮廓”,“轮廓匹配”,“束调整”,“投影误差”,“ 3D重建”。

评论


$ \ begingroup $
虽然与SIFT相似的特征显然非常容易处理,但存在一个问题,即我领域的SIFT经常会在光滑的汽车表面上捕获阴影/反射,因此使用SIFT会获得大量的噪声特征,而这些特征依赖于实际的汽车形状,因此准确性降低。
$ \ endgroup $
–om-nom-nom
2011年9月8日15:08



$ \ begingroup $
如果您知道自己正在开车,则可以尝试基于模型的方法。参数化通用汽车模型,并尝试使用所有图像像素使其适合图片。根据相机参数和汽车型号参数编写成本函数,并将其最小化。它可能起作用(或可能不起作用)-您似乎遇到了非常困难的问题。
$ \ endgroup $
–mirror2image
2011年9月11日下午13:25

$ \ begingroup $
不幸的是,我不明白你打算做什么。请提供一些示例(可能是外部文章,相关工作或类似内容)。
$ \ endgroup $
–om-nom-nom
2011年9月11日15:24



$ \ begingroup $
我的意思是主动形状模型en.wikipedia.org/wiki/Active_shape_model或类似的东西
$ \ endgroup $
–mirror2image
2011-09-13 6:05



#3 楼

从“图像”中检查“模型重建”,这与您正在做的工作有些不同,但我谈论的是如何从图像过渡到3D模型。还请查看MeshLab,它具有一些重构算法,您也许可以将其输入数据。