主要内容

bundleAdjustmentStructure

使用结构束调整精炼3-D点

描述

例子

xyzRefinedPoints= bundleAdjustmentStructure (xyzPointspointTrackscameraPosesintrinsic返回最小化重投影误差的细化的3-D点。

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

wpSetRefinedvSetRefinedpointIndex= bundleAdjustmentStructure(wpSetvSetviewIDintrinsic从世界点集中提炼三维点,wpSet,并从图像视图集中提炼相机姿态,vSetviewID中视图的idvSet

xyzRefinedPointsreprojectionErrors= bundleAdjustmentStructure(___返回一个N-element vector,包含每个3-D世界点的平均重投影误差,使用前面语法中的参数。

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

例子

全部折叠

加载数据进行初始化。

数据=负载(“globeBA.mat”);

优化3d世界点。

xyzRefinedPoints = bundleAdjustmentStructure(data.xyzPoints,data.pointTracks,data.cameraPoses,data.intrinsic);

显示精致的三维世界点。

pcshow (xyzRefinedPoints AxesVisibility =“上”VerticalAxis =“y”VerticalAxisDir =“向下”MarkerSize = 45);

展示摄像头。

持有plotCamera (data.cameraPoses、大小= 0.2);持有网格

图中包含一个轴对象。axis对象包含51个对象,类型为line, text, patch, scatter。

输入参数

全部折叠

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

数据类型:|

多个图像之间的匹配点,指定为N-element数组pointTracks对象。

相机姿势,指定为包含两列的表ViewId而且AbsolutePose.你可以得到cameraPoses表使用提出了的对象函数。imageviewset对象。

3-D世界点,指定为aworldpointset对象。

相机姿势,指定为imageviewset对象。

中的视图标识符vSet,指定为N元数组。的viewIDs表示要细化的相机姿态,指定它们的相关视图imageviewset

相机内部函数,指定为cameraIntrinsics对象或N-element数组cameraIntrinsics对象。N是相机姿势的数量还是id的数量viewIDs.使用单一的cameraIntrinsics对象在使用同一相机捕获图像时。使用矢量cameraIntrinsics当不同的相机捕捉图像时的对象。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

例子:MaxIterations = 50将迭代次数设置为50

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

Levenberg-Marquardt算法停止前的最大迭代次数,指定为正整数。

以像素为单位的均方重投影误差的绝对终止容差,指定为正标量。

迭代之间重投影误差减小的相对终止容差,指定为正标量。

标志表示镜头失真,指定为真正的.当你设置PointsUndistorted时,二维点向内pointTracks或在vSet一定是镜头失真的图像。要使用未扭曲的点,首先使用undistortImage函数从图像中删除失真,然后设置PointsUndistorted

显示指定为的进度信息真正的

输出参数

全部折叠

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

数据类型:|

精炼的三维世界积分,返回为worldpointset对象。

精致的相机姿势,返回作为一个imageviewset对象。

指数wpSetRefined的三维世界点,返回为元数组。

重投影错误,返回为元向量。该函数将每个世界点投影回每个相机。然后在每个图像中,该函数计算重投影误差为检测点与重投影点之间的距离。的reprojectionErrors向量包含每个世界点的平均重投影误差。

参考文献

[1]卢拉基斯,马诺利斯,和安东尼斯,阿吉罗斯。SBA:通用稀疏束调整软件包。ACM数学软件汇刊,没有。1(2009年3月):2:1-2:30。

[2]哈特利,理查德和安德鲁·泽瑟曼。计算机视觉中的多视图几何.第二版,英国剑桥 ;纽约:剑桥大学出版社,2003年。

[3]特里格斯,比尔,菲利普F.麦克劳克伦,理查德I.哈特利和安德鲁W.菲茨吉本。“束调整-现代综合。”在视觉算法国际研讨会论文集, 298 - 372。斯普林格出版社,1999年版。

扩展功能

版本历史

R2020a中引入

全部展开