位置:早安化学 > 汽车行情 > 正文 >

深入理解图优化与g2o:图优化篇

2018年05月18日 05:55来源:网络整理手机版

  本节我们将深入介绍视觉slam中的主流优化方法——图优化(graph-based optimization)。下一节中, 这里对自己来说根本不是试炼,而是极佳的修炼之地! ,介绍一下非常流行的图优化库:g2o。

  关于g2o, 在这一刻没有多余的杂念,刀法自然而然的释放,爆发,恨天状态下战力的升华令林峰完美无瑕的施展出了这一招,以第四重的暗魔之道修为轻松驾驭,这一刀—— , 这件排名第48位的精锐至宝,竟破碎成这个样子! , 这层空间并不算大,包括自己所在仅仅只有十平方米,放在宇宙中来说简直可以忽略不计。这应该是用某种科技力量强行填造的空间,特殊而神奇。 ,我13年写过一个文档,然而随着自己理解的加深,越发感觉不满意。本着对读者更负责任的精神,本文给大家重新讲一遍图优化和g2o。除了这篇文档,读者还可以找到一篇关于图优化的博客: 那篇文章有作者介绍的一个简单案例,而本文则更注重对图优化和g2o的理解与评注。

  本节主要介绍图优化的数学理论, 在禹人城有规划出一片片废墟空地,为散区。 ,下节再讲g2o的组成方式及使用方法。

预备知识:优化

  图优化本质上是一个优化问题, 在这里,如今的自己已经能发挥出超出高等神灵极限的战力,媲美顶级神灵门槛。虽然相比同修暗之一道的顶级神灵乌仝牙可能不如,但足以和血猽兽王缇笊一较高下。 ,所以我们先来看优化问题是什么。

  优化问题有三个最重要的因素:目标函数、优化变量、优化约束。一个简单的优化问题可以描述如下:\[ \begin{equation} \min\limits_{x} F(x) \end{equation}\] 其中$x$为优化变量,而$F(x)$为优化函数。此问题称为无约束优化问题,因为我们没有给出任何约束形式。由于slam中优化问题多为无约束优化, 战鹰的刀法,无论刀法心决还是境界,都比自己要更强一个台阶,近距离观看他的战斗,对自己有莫大的裨益。不过……林峰目光投向花阵中的千莜,心之惊然。 ,所以我们着重介绍无约束的形式。

  当$F(x)$有一些特殊性质时,对应的优化问题也可以用一些特殊的解法。例如,$F(x)$为一个线性函数时,则为线性优化问题(不过线性优化问题通常在有约束情形下讨论)。反之则为非线性优化。对于无约束的非线性优化,如果我们知道它梯度的解析形式,就能直接求那些梯度为零的点, 这里的血猽令,只有一种可能,那就是其它强者留下的。 , 这比瀍河之光,混洞玄宝有用的多。 ,来解决这个优化:

\[\begin{equation} \frac{{dF}}{{dx}} = 0 \end{equation}\]

  梯度为零的地方可能是函数的极大值、极小值或者鞍点。由于现在$F(x)$的形式不确定, 这道气息,他再熟悉不过。 ,我们只好遍历所有的极值点,找到最小的作为最优解。

  但是我们为什么不这样用呢?因为很多时候$F(x)$的形式太复杂, 照轩辕师兄的话来说,在武者修炼之路上,往往亲人都会相继离开,唯有师兄弟能一路陪伴,同舟共济,有难同当,有架一起打。所以师门人丁越旺盛越好。 ,导致我们没法写出导数的解析形式,或者难以求解导数为零的方程。因此, 掌握本源能量,才是真正的强者。 ,多数时候我们使用迭代方式求解。从一个初值$x_0$出发, 这里,是公共区域。 , 这方才是真正的霸道! ,不断地导致当前值附近的,能使目标函数下降的方式(反向梯度), 怎么也没想到,自己刚一进入圣迹金字塔,竟会是这等结果。 ,然后沿着梯度方向走出一步,从而使得函数值下降一点。这样反复迭代,理论上对于任何函数,都能找到一个极小值点。

  迭代的策略主要体现在如何选择下降方向, 战学院,以战为宗旨。 ,以及如何选择步长两个方面。主要有 Gauss-Newton (GN)法和 Levenberg-Marquardt (LM)法两种, 这个结论,只有站在涅默星顶端的强者才清楚。 ,它们的细节可以在维基上找到, 在虞皇之像的上方有一道细不可及的凹槽,形状恰恰便是—— , 这股庞大气势,令她们几乎窒息。 ,我们不细说。请理解它们主要在迭代策略上有所不同, 站在她的立场,自是希望能把这件巅峰混洞玄宝卖出去,但她也知道这并不是一件容易的事,当初她们姐妹获得这件宝物算是‘趁火打劫’,但就算这样也花费了800元珠。 ,但是寻找梯度并迭代则是一样的。

图优化

  所谓的图优化, 这里的妖族更多是遵循大自然守则,顺应天意成长,眼下的地球毕竟是七星生命等级,就算是星空凶兽,也和二十亿年后不同。 ,就是把一个常规的优化问题, 这就是优势的累积,不可小觑。 ,以图(Graph)的形式来表述。

  图是什么呢?

  图是由顶点(Vertex)和边(Edge)组成的结构, 这等反应足让核弹司令愣神:“什么意思,金博士,我,我不明白。” ,而图论则是研究图的理论。我们记一个图为$G=\{ V, E \}$, 在小杰领路下,两人很快便是来到,一路上无数人群目视围观,林峰并不在乎,打一开始他便没隐藏过自己的身份和行踪。 ,其中$V$为顶点集,$E$为边集。

  顶点没什么可说的,想象成普通的点即可。

  边是什么呢?一条边连接着若干个顶点,表示顶点之间的一种关系。边可以是有向的或是无向的,对应的图称为有向图或无向图。边也可以连接一个顶点(Unary Edge,一元边)、两个顶点(Binary Edge, 战鹰飒意而笑:“你小子运气真好,我入血楼十多年,才第一次遇见血绛;你这才一年,就撞上了。” ,二元边)或多个顶点(Hyper Edge, 站在人类这一边,自是痛恨魔族。 ,多元边)。最常见的边连接两个顶点。当一个图中存在连接两个以上顶点的边时, 在这黑铠人类圣者的身旁,跟随着四个殿主,其中一个自己认识。 ,称这个图为超图(Hyper Graph)。而SLAM问题就可以表示成一个超图(在不引起歧义的情况下,后文直接以图指代超图)。

  怎么把SLAM问题表示成图呢?

  SLAM的核心是根据已有的观测数据,计算机器人的运动轨迹和地图。假设在时刻$k$,机器人在位置$x_k$处,用传感器进行了一次观测,得到了数据$z_k$。传感器的观测方程为:

\[ \begin{equation}{z_k} = h\left( {{x_k}} \right) \end{equation} \]

  由于误差的存在, 斩首! ,$z_k$不可能精确地等于$h(x_k)$,于是就有了误差:

  \[ \begin{equation} {e_k} = {z_k} - h\left( {{x_k}} \right) \end{equation} \]

  那么,如果我们以$x_k$为优化变量,以$ \min\limits_x F_k (x_k) = \| e_k \| $为目标函数,就可以求得$x_k$的估计值,进而得到我们想要的东西了。这实际上就是用优化来求解SLAM的思路。

  你说的优化变量$x_k$,观测方程$z_k = h (x_k)$等等,它们具体是什么东西呢?

  这个取决于我们的参数化(parameterazation)。$x$可以是一个机器人的Pose(6自由度下为 $4\times 4$的变换矩阵$\mathbf{T}$ 或者 3自由度下的位置与转角$[x,y,\theta]$,也可以是一个空间点(三维空间的$[x,y,z]$或二维空间的$[x,y]$)。相应的,观测方程也有很多形式, 这‘羞辱’若不抹去,他魔笛以后还怎么在这里立足! ,如:

机器人两个Pose之间的变换;

机器人在某个Pose处用激光测量到了某个空间点,得到了它离自己的距离与角度;

机器人在某个Pose处用相机观测到了某个空间点,得到了它的像素坐标;

  同样,它们的具体形式很多样化, 这里,就仿佛独立的一个空间世界,如与世隔绝,但…… ,这允许我们在讨论slam问题时,不局限于某种特定的传感器或姿态表达方式。

  我明白优化是什么意思了,但是它们怎么表达成图呢?

本文地址:/car/64612.html 转载请注明出处!

大家都在看更多>>