当前位置: 首页 > news >正文

安徽网站建设推荐-晨飞网络python 网站开发实战

安徽网站建设推荐-晨飞网络,python 网站开发实战,域名如何解绑一个网站,演出票务网站建设时间倾诉我的故事 1. 理论推导2. 主流解法3. 用EKF估计状态3.1. 基于EKF代表解法的感悟 4. 用BA法估计状态4.1 构建最小二乘问题4.2 求解BA推导4.3 H的稀疏结构4.4 根据H稀疏性求解4.5 鲁棒核函数4.6 编程注意 5.总结 引入#xff1a; 前端里程计能给出一个短时间… 时间倾诉我的故事 1. 理论推导2. 主流解法3. 用EKF估计状态3.1. 基于EKF代表解法的感悟 4. 用BA法估计状态4.1 构建最小二乘问题4.2 求解BA推导4.3 H的稀疏结构4.4 根据H稀疏性求解4.5 鲁棒核函数4.6 编程注意 5.总结 引入 前端里程计能给出一个短时间内的轨迹和地图时间长则不准确为了得到长时间内最优轨迹和地图构建一个规模更大的优化问题。在后端优化中通常考虑更长时间内的状态估计问题。 1. 理论推导 还是摆出最经典的SLAM运动和观测方程 f ( x ) { x k f ( x k − 1 , u k ) w k z k , j h ( y j , x k ) v k , j f(x) \begin{cases} x_k f(x_{k-1}, u_k) w_k \\ z_{k,j} h(y_j, x_k) v_{k,j} \end{cases} f(x){xk​f(xk−1​,uk​)wk​zk,j​h(yj​,xk​)vk,j​​ 实际上要解决 拥有某些运动数据 u u u 和观测数据 z z z 时如何确定状态量 x x x 和 y y y 的分布。 解决如下 令 x k x_k xk​ 为 k k k 时刻所有的未知量 x k ≜ { x k , y 1 , . . . , y m } x_k \triangleq \{x_k, y_1,...,y_m \} xk​≜{xk​,y1​,...,ym​} 同时令 k 时刻所有的观测值为 z k z_k zk​。 代入上式运动和观测方程以后如下 f ( x ) { x k f ( x k − 1 , u k ) w k z k , j h ( y j , x k ) v k , j f(x) \begin{cases} x_k f(x_{k-1}, u_k) w_k \\ z_{k,j} h(y_j, x_k) v_{k,j} \end{cases} f(x){xk​f(xk−1​,uk​)wk​zk,j​h(yj​,xk​)vk,j​​ 在 k k k 时刻用 0 − k 0-k 0−k 的数据估计现在的状态分布 P ( x k ∣ x 0 , u 1 : k , z 1 : k ) ⇓ B a y e s 法则交换 z 和 x P ( z k ∣ x k ) P ( x k ∣ x 0 , u 1 : k , z 1 : k − 1 ) ⇓ 按 x k − 1 时刻为条件概率展开 ∫ P ( x k ∣ x k − 1 , x 0 , u 1 : k , z 1 : k − 1 ) P ( x k − 1 ∣ x 0 , u 1 : k , z 1 : k − 1 ) d x k − 1 P(x_k|x_0, u_{1:k}, z_{1:k}) \\\;\\\Downarrow Bayes法则交换z和x \\\;\\ P(z_k|x_k)P(x_k|x_0, u_{1:k},z_{1:k-1}) \\\;\\\Downarrow 按x_{k-1}时刻为条件概率展开 \\\;\\ \int P(x_k|x_{k-1}, x_0, u_{1:k}, z_{1:k-1})P(x_{k-1}|x_0, u_{1:k}, z_{1:k-1})\, \text d x_{k-1} P(xk​∣x0​,u1:k​,z1:k​)⇓Bayes法则交换z和xP(zk​∣xk​)P(xk​∣x0​,u1:k​,z1:k−1​)⇓按xk−1​时刻为条件概率展开∫P(xk​∣xk−1​,x0​,u1:k​,z1:k−1​)P(xk−1​∣x0​,u1:k​,z1:k−1​)dxk−1​ 2. 主流解法 上式 ∫ P ( x k ∣ x k − 1 , x 0 , u 1 : k , z 1 : k − 1 ) P ( x k − 1 ∣ x 0 , u 1 : k , z 1 : k − 1 ) d x k − 1 \int P(x_k|x_{k-1}, x_0, u_{1:k}, z_{1:k-1})P(x_{k-1}|x_0, u_{1:k}, z_{1:k-1})\, \text d x_{k-1} ∫P(xk​∣xk−1​,x0​,u1:k​,z1:k−1​)P(xk−1​∣x0​,u1:k​,z1:k−1​)dxk−1​ 主流的有两种做法 假设马尔科夫性当前状态仅和上个时态有关用EKF等滤波器方法做状态估计前两讲讲到过 当前状态和之前所有状态都有关系基于BA用非线性优化等优化框架做。 3. 用EKF估计状态 在马尔科夫性成立后当前状态仅和上个时态有关上边左右式可分别简化为(右式中 u k u_k uk​ 和 k − 1 k-1 k−1 时刻的状态无关拿掉) 左边 P ( x k ∣ x k − 1 , x 0 , u 1 : k , z 1 : k − 1 ) P ( x k ∣ x k − 1 , u k ) 右边 P ( x k − 1 ∣ x 0 , u 1 : k , z 1 : k − 1 ) P ( x k − 1 ∣ x 0 , u 1 : k , z 1 : k − 1 ) 左边\qquad P(x_k|x_{k-1}, x_0, u_{1:k}, z_{1:k-1}) P(x_k|x_{k-1}, u_k)\\\; \qquad右边\qquad P(x_{k-1}|x_0, u_{1:k}, z_{1:k-1}) P(x_{k-1}|x_0, u_{1:k}, z_{1:k-1}) 左边P(xk​∣xk−1​,x0​,u1:k​,z1:k−1​)P(xk​∣xk−1​,uk​)右边P(xk−1​∣x0​,u1:k​,z1:k−1​)P(xk−1​∣x0​,u1:k​,z1:k−1​) 由前边的两节知识可知上式中我们只需维护一个状态量即可不断迭代更新即可。假设它满足高斯分布只需要考虑维护状态量的均值和协方差即可。另记 x ^ \hat x x^ 表示先验 x ˉ \bar x xˉ 表示后验 根据高斯分布性质可得EKF中的预测环节 P ( x k ∣ x 0 , u 1 : k , z 1 : k − 1 ) N ( A k x ˉ k − 1 u k , A k P ^ k − 1 A k T R ) 记为 N ( x ˉ k , P ˉ k ) P(x_k|x_0,u_{1:k}, z_{1:k-1}) N(A_k\bar x_{k-1}u_k, \;\;\;A_k\hat P_{k-1}A_k^TR) 记为\quad N(\bar x_k, \bar P_k) P(xk​∣x0​,u1:k​,z1:k−1​)N(Ak​xˉk−1​uk​,Ak​P^k−1​AkT​R)记为N(xˉk​,Pˉk​) 如此就可以带入我们的EKF中进行使用。 3.1. 基于EKF代表解法的感悟 运算快资源低 局限 马尔科夫性质—无法解决类似回环等当前状态与很久之前数据有关的问题 对 x k x_k xk​ 在当前时刻的一次线性化计算出后验概率是假设该点的线性化在后验概率处还是有效的实际上不然。只有小范围成立在远处的地方并不能近似这是EKF的 非线性误差 。 2.1 而在非线性优化方法中在每迭代一次状态发生改变后就会做一阶或者二阶近似重新做泰勒展开适用范围更加广泛状态变化大时候也适用。 EKF SLAM不可适用于大场景landmark多的时候均值和方差是很大的。 4. 用BA法估计状态 BA(Bundle Adjustment)源于三维重建在这里的意义是 通过不断调整相机的姿态和特征点的位置使从每一个特征点反射出来的几束光线都收束到相机中心类似求解只有观测方程的SLAM问题。 4.1 构建最小二乘问题 针对此问题观测方程 z h ( ξ , p ) z h(\xi, p) zh(ξ,p) ξ \xi ξ 是位姿(李代数表示) p p p 是路标(特征点的位置), 观测误差如下 e z − h ( ξ , p ) e z - h(\xi, p) ez−h(ξ,p) 代价函数(Cost Function)如下 1 2 ∑ i 1 m ∑ j 1 n ∣ ∣ e i j ∣ ∣ 2 1 2 ∑ i 1 m ∑ j 1 n ∣ ∣ z i j − h ( ξ i , p j ) ∣ ∣ 2 \frac{1}{2}\sum_{i1}^m\sum_{j1}^n||e_{ij}||^2 \frac{1}{2}\sum_{i1}^m\sum_{j1}^n||z_{ij}-h(\xi_{i},p_j)||^2 21​i1∑m​j1∑n​∣∣eij​∣∣221​i1∑m​j1∑n​∣∣zij​−h(ξi​,pj​)∣∣2 其中 z ( i , j ) z(i,j) z(i,j) 表示在位姿 ξ i \xi_i ξi​ 处观察路标 p j p_j pj​ 产生的数据。当该式最小时我们的估计位姿 ξ i \xi_i ξi​ 和 路标 p j p_j pj​ 最接近真实值。 为了便于理解这里的 h h h 举在相机中的例子 这里 h h h 表示将世界坐标下的点 p [ x , y , z ] p[x,y,z] p[x,y,z] 转到像素坐标(也就是程序可读图片的点位置的坐标)下的点 u , v u,v u,v 如下 这就是一个观测方程 h h h 的一种具体参数化的过程。 4.2 求解BA推导 再看要求解的非线性最小二乘问题( h h h 非线性显然 ) 1 2 ∑ i 1 m ∑ j 1 n ∣ ∣ z i j − h ( ξ i , p j ) ∣ ∣ 2 \frac{1}{2}\sum_{i1}^m\sum_{j1}^n||z_{ij}-h(\xi_{i},p_j)||^2 21​i1∑m​j1∑n​∣∣zij​−h(ξi​,pj​)∣∣2 首先定义要优化的变量 x [ ξ 1 , . . . , ξ m , p 1 , . . . , p n ] T x [\xi_1, ..., \xi_m,p_1, ..., p_n]^T x[ξ1​,...,ξm​,p1​,...,pn​]T 注意虽然一个误差项针对的是单个位姿和路标点但是在整体BA中必须将优化变量定义为所有待优化的变量。 根据前文求解非线性问题要给一个小增量和增量方向,最终要求的也是这个 Δ x \Delta x Δx这里给增量以后的代价函数为 1 2 ∣ ∣ f ( x Δ x ) ∣ ∣ 2 ≈ 1 2 ∑ i 1 m ∑ j 1 n ∣ ∣ e i j F i j Δ ξ i E i j Δ p j ∣ ∣ 2 \frac{1}{2}||f(x\Delta x)||^2 \approx \frac{1}{2}\sum_{i1}^m\sum_{j1}^n||e_{ij}F_{ij}\Delta \xi_i E_{ij}\Delta p_j||^2 21​∣∣f(xΔx)∣∣2≈21​i1∑m​j1∑n​∣∣eij​Fij​Δξi​Eij​Δpj​∣∣2 其中 F i j F_{ij} Fij​ 表示代价函数对相机姿态的偏导数 E i j E_{ij} Eij​ 表示对路标点位置的偏导数。 将相机位姿和空间点变量分别放在一起上式如下 x c [ ξ 1 , ξ 2 , . . . , ξ m ] T ∈ R 6 m x p [ p 1 , p 2 , . . . , p m ] T ∈ R 3 n ⇓ 1 2 ∣ ∣ f ( x Δ x ) ∣ ∣ 2 1 2 ∣ ∣ e F Δ x c E Δ x p ∣ ∣ 2 x_c [\xi_1, \xi_2, ..., \xi_m]^T \in \R^{6m} \qquad x_p [p_1, p_2, ..., p_m]^T \in \R^{3n} \\\;\Downarrow\\\;\\ \frac{1}{2}||f(x\Delta x)||^2 \frac{1}{2} ||e F\Delta x_c E \Delta x_p||^2 xc​[ξ1​,ξ2​,...,ξm​]T∈R6mxp​[p1​,p2​,...,pm​]T∈R3n⇓21​∣∣f(xΔx)∣∣221​∣∣eFΔxc​EΔxp​∣∣2 根据前边的非线性优化最终我们要面临 H Δ x g H \Delta x g HΔxg 而求解它要用的雅克比矩阵可以根据位姿和路标分别定义为 J [ F E ] J [F \quad E] J[FE] 则 H J T J [ F T F F T E E T F E T E ] H J^TJ \begin{bmatrix} F^TF F^TE \\ E^TF E^TE \end{bmatrix} HJTJ[FTFETF​FTEETE​] 点越多就代表这个H的维度越大计算复杂资源占得多接下来分析如何观察这个 H H H 的特点。 4.3 H的稀疏结构 根据前边我们知道 H J T J H J^TJ HJTJ, H H H的研究放在 J J J 上对于J考虑一个 e i j e_{ij} eij​ 它的表述如下 几何意义就是它只涉及第 i 个矩阵和第 j 个路标其余都为0描述的是 ξ i \xi_i ξi​看到 p j p_j pj​ 这件事且前边的是位姿导数6维后边的是路标三维。 举例说明 假设有2个相机6个路标。可视化它们的关系如下(可以观测到则底下用实线连接): 根据上边把 C 1 C_1 C1​ 观察到 P 1 P_1 P1​ 的雅克比直观出来则如下因为 C 1 C_1 C1​ 六维 这个时候将所有 J i j J_{ij} Jij​ 和 它们相乘之后的 H H H 同样直观展示 我们发现H对应邻接矩阵可以知道 假如 C i C_i Ci​ 可以观察到 P j P_j Pj​ 那么 H i j H_{ij} Hij​ 则是有值的否则是为0.如下 4.4 根据H稀疏性求解 根据以上H性质可以将H分块为其中 B B B 纯位姿 C C C对角线纯路标B非对角非零表示共视关系 H [ B E E T C ] H \begin{bmatrix} B E \\ E^T C \end{bmatrix} H[BET​EC​] 这个时候就可以求解 H Δ x g H \Delta x g HΔxg 这个方程 [ B E E T C ] [ Δ x c Δ x p ] [ v w ] \begin{bmatrix} B E \\ E^T C \end{bmatrix} \begin{bmatrix}\Delta x_c \\ \Delta x_p\end{bmatrix} \begin{bmatrix} v \\w \end{bmatrix} [BET​EC​][Δxc​Δxp​​][vw​] 此时通过Schur消元(也叫边缘化)—就是先求一个比如 Δ x c \Delta x_c Δxc​ 然后再反代回去求 Δ x p \Delta x_p Δxp​ 的方法去求解。 4.5 鲁棒核函数 说明问题我们采用的是误差项的二范数平方和如果出现误匹配单个项的误差就很大此时优化算法会均摊误差去调整其他正确的数据。问题原因误差很大时二范数增长过快(平方嘛)解决鲁棒核函数–把二范数度量换成增长较低同时保证光滑(求导要求)的表述因为它使得整个优化结果更为鲁棒所以又叫它鲁棒核函数(Robust Kernel)。 列举一个常见的鲁棒核函数Huber核 f ( x ) { 1 2 e 2 i f ∣ e ∣ ≤ δ , δ ( ∣ e ∣ − 1 2 δ ) o t h e r w i s e . f(x) \begin{cases} \frac{1}{2}e^2 \qquad\qquad\qquad if|e| \le \delta, \\ \delta(|e| - \frac{1}{2} \delta)\qquad\quad otherwise . \end{cases} f(x){21​e2if∣e∣≤δ,δ(∣e∣−21​δ)otherwise.​ 它的图像如下 此外还有Cauchy核Tukey核等。 4.6 编程注意 在使用G2O求解时所有点云都要进行Schur因为定义的Matrix维度仅仅是相机姿态参数的维度要确保它不包含其他路标维度不然报错。 5.总结 假设马尔科夫EKF代表的滤波器模型考虑所有状态构成最小二乘问题只有观测时又称BA。
http://www.pierceye.com/news/871941/

相关文章:

  • 深圳龙华新区住房和建设局网站示范校建设专题网站
  • 成都制作网站的公司简介wordpress录入表单写数据库
  • 中山网站设计收费标准互联网保险发展现状和趋势
  • 公司网站发布流程简述企业网络建设的步骤
  • 哪些网站可以做问卷第1063章 自己做视频网站
  • 电子商务网站 费用做p2p网站
  • 网站建设 猴王网络厦门app开发网站开发公司电话
  • 做3d图的网站有哪些比wordpress更好的网站程序
  • 仿做网站可以整站下载器吧网络网站建设公司
  • 网站流量用完wordpress page 父页面
  • 旅游地网站制作有没有做网站的高手
  • 有什么网站可以做一起作业什么网站可以兼职做效果图
  • 工程中标查询网站长沙网站制作作
  • 免费网站下载直播软件企业品牌网站建设类型
  • 建立网站并以此为基础从事经营活动的企业称为什么免费销售网站模板
  • 成都市建设质监站网站微信企业网站html5模板
  • 福建工程建设管理中心网站仙桃做企业网站的
  • 孝感做网站的公司建网站是永久的吗
  • 厦门手机建站php网站开发推荐书籍
  • 属于c2c网站的有哪几个方庄网站制作
  • 建设局网站模板iis 网站没有上传权限
  • 建设网站龙华怎么用自己的电脑搭建网站
  • 分析网站的网站福建交科建设有限公司官方网站
  • 深圳南园网站建设网站域名怎么设置方法
  • 网站的内链是什么意思网页布局有哪几种方法
  • 网站优化公司上海山东电力建设河北分公司网站
  • 甘肃省住房和城乡建设部网站首页专门网页制作工具有
  • 网站用vps做dns做网站的叫什么职位
  • 网站开发业务流程图网站商城与网站区别吗
  • 用新浪微博做网站百度找不到 网站