主要内容

bundleAdjustmentStructure

优化使用结构只包三维点调整

自从R2020a

描述

例子

xyzRefinedPoints= bundleAdjustmentStructure (xyzPoints,pointTracks,cameraPoses,intrinsic)返回精制3 d点最小化reprojection错误。

只有结构优化过程是一个特例的束调整相机姿势固定在优化。三维点和相机放置在同一个世界坐标系统。

(wpSetRefined,vSetRefined,pointIndex)= bundleAdjustmentStructure (wpSet,vSet,viewID,intrinsic)改进3 d点的点集,wpSet,改进相机带来了从图像视图集,vSetviewID如果视图指定idvSet

(xyzRefinedPoints,reprojectionErrors)= bundleAdjustmentStructure (___)此外返回一个N元向量包含均reprojection误差为每一个三维世界点使用的参数从之前的语法。

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

例子

全部折叠

加载初始化数据。

data =负载(“globeBA.mat”);

改进3 d世界点。

xyzRefinedPoints = bundleAdjustmentStructure (data.xyzPoints data.pointTracks、data.cameraPoses data.intrinsics);

点显示精制的3 d世界。

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

显示摄像机。

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

输入参数

全部折叠

未经提炼的3 d点,指定为一个3的矩阵x,y,z)的位置。

数据类型:|

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

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

3 d世界点,指定为一个worldpointset对象。

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

视图的视图标识vSet指定为一个N元数组。的viewIDs代表这相机对完善指定相关的意见imageviewset

相机intrinsic,指定为一个cameraIntrinsics对象或一个N元组cameraIntrinsics对象。N是相机的数量构成或id的数量吗viewIDs。使用一个cameraIntrinsics当图像捕获对象使用相同的相机。使用一个向量cameraIntrinsics当图像捕获的对象不同的相机。

名称-值参数

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

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

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

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

绝对终止公差均方reprojection错误的像素,指定为一个积极的标量。

相对终止公差之间reprojection减少误差的迭代,指定为一个积极的标量。

国旗表明透镜畸变、指定为真正的。当您设置PointsUndistorted二维点pointTracks或在vSet必须与透镜畸变图像。使用无畸变的点,第一次使用undistortImage函数删除扭曲的图像,然后设置PointsUndistorted

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

输出参数

全部折叠

改进世界的3 d位置点,作为一个返回3的矩阵x,y,z)的位置。

数据类型:|

精致的3 d世界点,作为一个返回worldpointset对象。

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

指数wpSetRefined精致的3 d世界的点,作为一个返回元数组。

Reprojection错误,作为一个返回元向量。功能项目每个世界点回每一个相机。然后在每一个图像,函数计算reprojection错误检测和reprojected点之间的距离。的reprojectionErrors向量包含每个世界点的平均reprojection错误。

引用

[1]Lourakis, Manolis i。,和Antonis A. Argyros. "SBA: A Software Package for Generic Sparse Bundle Adjustment."ACM交易数学软件36,没有。1(2009年3月):2:1-2:30。

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

[3]组织,比尔,菲利普·f·McLauchlan理查德·哈特利,和安德鲁·w·菲茨吉本。“束调整——现代合成。”In《国际研讨会上视觉算法,298 - 372。斯普林格出版社,1999年版。

扩展功能

版本历史

介绍了R2020a

全部展开