主要内容

optimizePoses

使用相对姿势约束优化绝对姿势

描述

例子

vSetOptim=优化(vSet返回一个图像视图集,其绝对姿态被优化。vSetOptimvSetimageviewset对象。

optimizePoses函数对绝对姿势执行姿势图优化的观点属性建立的相对位姿约束连接财产。您可以使用optimizePoses在检测回路封闭后,在测量内纠正测量。

vSetOptimposeScale] =优化(vSet另外还返回与优化的绝对姿势相关联的尺度。该输出仅适用于RelativePose至少一个连接表示为一个affine3d目的。

vSetOptim=优化(vSetminnummatches.此外,指定连接中的匹配功能点的最小数量,以便连接在优化中。

vSetOptim=优化(___名称,值使用由一个或多个名称、值对参数指定的附加选项。

例子

全部折叠

创建视图集。

vSet = imageviewset;

添加四个节点并指定绝对姿态。

abspses = reelem (rigid3d, 4, 1); / /absPoses(1)。翻译= [0 0 0];absPoses(2)。翻译= [1 0 0];absPoses(3)。翻译= [2 0 0];absPoses(4)。翻译= [0.1 0 0];vSet = addView(vSet, 1, absPoses(1)); vSet = addView(vSet, 2, absPoses(2)); vSet = addView(vSet, 3, absPoses(3)); vSet = addView(vSet, 4, absPoses(4));

定义4个边缘,3个内径术和1个环闭合。

RELPOSE = REBELEM(RIGID3D,4,1);relpase(1).translation = [1 0 0];relpase(2).translation = [1 0 0];relpase(3).translation = [-1.9 0 0];relpose(4).translation = [0.2 0 0];vset = addConnection(vset,1,2,relpose(1));%测程法vset = addConnection(vset,2,3,relpose(2));%测程法vSet = addConnection(vSet, 3, 4, relPoses(3));%测程法vSet = addConnection(vSet, 4, 1, relPoses(4));%循环关闭

优化视图集。

vSetOptim = optimizePoses (vSet);

显示原始和优化的位置。

DISP(“原始绝对翻译:”
原始绝对翻译:
disp (vertcat (vSet.Views.AbsolutePose.Translation))
000 1000 2 0000 0000 0
DISP(“优化绝对翻译:”
优化的绝对翻译:
disp (vertcat (vSetOptim.Views.AbsolutePose.Translation))
0 0 0 0.9250 0 0 1.8500 0 0 -0.1250 0 0

输入参数

全部折叠

图像视图集,指定为一个imageviewset目的。

最小连接数,指定为正整数。放minnummatches.到连接中的连接中的最小匹配特征点数,以便包含在优化中。

名称值对参数

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

例子:MaxIterations”,300年

优化终止前的最大迭代次数,指定为逗号分隔的对,由'MaxIterations和一个正整数。增加这个值以获得更准确的结果。减少这个值以获得更快的结果。

两个迭代之间的优化成本函数的容忍度,指定为逗号分隔的配对组成的“宽容'和一个正标量。当代价函数变化小于时,优化终止宽容值在两次迭代之间。

显示进度信息,由逗号分隔的对组成verb和一个逻辑标量。设置”verb真的显示进度信息。

输出参数

全部折叠

包含优化的绝对姿态的图像视图集,返回为imageviewset目的。

优化的绝对姿态的比例,返回为一个正值的向量。该输出仅适用于RelativePose一对连接属性中,至少有一个连接表示为affine3d目的。

提示

  • 要用优化的姿势更新视图集,请使用updateView.对象的功能。

  • optimizepose对象函数固定第一个视图。

算法

optimizePoses函数使用普通(超级)图优化(G2O)库的稀疏尖弦系列化的Levenberg Marquardt优化算法,(1).

参考

Kuemmerle, R., G. Grisetti, H. Strasdat, K. Konolige, W. Burgard。g2o:图形优化的通用框架IEEE机器人与自动化国际会议。IEEE机器人与自动化国际会议论文集,ICRA,2011年。

另请参阅

功能

对象

介绍了R2020a