主要内容

bundleAdjustmentStructure

使用仅限结构束调节优化3-D点

描述

例子

XYZREFINEDPOINTS.= bundleAdjustmentStructure (XYZPOINTS.pointTrackscameraPoses内在机构返回最小化重注错误的精细3-D点。

仅限结构的细化过程是在优化期间固定相机姿势的特殊情况。3-D点和相机姿势放置在同一个世界坐标系中。

XYZREFINEDPOINTS.重新评论错误) = bundleAdjustmentStructure (___此外返回一个N-元素向量,包含每个3d世界点的平均重投影误差,使用前面语法中的参数。

___) = bundleAdjustmentStructure (___名称,值使用一个或多个指定的其他选项名称,值对参数。未指定的属性具有默认值。

例子

全部折叠

加载初始化数据。

data =负载(“sfmGlobe”);

优化三维世界要点。

xyzrefindinepoints = bundleadjustmenturedure(data.xyzpoints,data.pointtacks,data.cameraposes,data.intrinsics);

显示精致的三维世界点。

pcshow(xyzrefinedpoints,'verticalaxis'“y”“VerticalAxisDir”'下''Markersize', 45岁);

显示摄像机。

持有plotCamera (data.cameraPoses“大小”,0.2);持有关闭网格

图包含轴。轴包含51个类型的类型线,文本,贴片,分散。

输入参数

全部折叠

未细化的三维点,指定为- × 3矩阵的[xyz)的位置。

数据类型:|

跨多个图像的匹配点,指定为一个N元组pointTracks对象。

相机姿态,指定为包含两列的表“ViewId”“AbsolutePose”.你可以得到cameraPoses表的使用imageviewset提出了对象的功能。

摄像机的本质,指定为标量或标量N元组摄像头对象,在哪里N它的高度是cameraPoses表。使用相同的相机捕获图像时使用标量。用来N-element数组,当图像被使用不同的相机捕获。

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

示例:“MaxIterations””,50

Levenberg-Marquardt算法停止前的最大迭代次数,指定为逗号分隔的对,包含'MaxIterations'和一个积极的整数。

以像素为单位的均方重投影误差的绝对终止容差,指定为逗号分隔对,由'AbsoluteTolerance'和一个正标量。

迭代之间重投影误差减少的相对终止容限,指定为逗号分隔对,由'相对验证'和一个正标量。

指示镜头失真的标志,指定为逗号分隔的对,由'PointsUndistorted”,要么或者真实.当您设置PointsUndistorted,二维的指向pointTracks必须从带镜头失真的图像。要使用未变点的点,请使用undistortImage先函数,再设置PointsUndistorted真实

显示进度信息,指定为由“逗号分隔的配对”组成详细的”,要么或者真实

输出参数

全部折叠

精细世界点的三维位置,返回为- × 3矩阵的[xyz)的位置。

数据类型:|

重投影错误,返回为-elment矢量。该功能将每个世界投射到每个相机中。然后在每个图像中,该功能计算重注错误作为检测到的距离和恢复点之间的距离。当重新评论错误向量包含每个世界点的平均丢注错误。

参考资料

Lourakis, M.I.A.和A.A. Argyros。SBA:通用稀疏束调整软件包。数学软件学报。第36卷第1期2009年3月。

哈特利,R.和A.齐瑟曼。计算机视觉中的多视图几何。剑桥大学出版社。2003

Triggs, B., P. mclachlan, R. Hartley, A. Fitzgibbon。《Bundle Adjustment: A Modern Synthesis》。视觉算法国际研讨会论文集:理论与实践。第298 - 372页。Springer-Verlag。1999年。

介绍了R2020a