8 概率机器人 Probabilistic Robotics 直方图滤波 离散贝叶斯滤波

本文介绍了概率机器人中的直方图滤波技术,它是离散贝叶斯滤波在连续状态下的实现。直方图滤波通过将连续状态分解并使用离散贝叶斯滤波进行近似。文中详细探讨了分解技术、直方图滤波算法,并通过自动驾驶定位的实例展示了滤波过程。
摘要由CSDN通过智能技术生成

1 前言

  • 直方图滤波适用于非线性滤波,是非参数滤波的一种
  • 直方图滤波是离散贝叶斯滤波在连续状态下的实现
    • 离散贝叶斯滤波:离散状态
    • 直方图滤波:连续状态
  • 直方图滤波的中心思想:将连续状态分段分解,在对每段做近似,再用离散贝叶斯滤波
    • 直方图滤波 = 离散分解 + 离散贝叶斯滤波
    • 离散分解有很大学问,不同的分段方法对滤波效果影响很大
      • 细分:精度高,计算量大
      • 粗分:精度低,计算量小
    • 理想的离散分解:非线性弱则粗分,非线性强则细分

2 离散贝叶斯滤波算法

  • 这里介绍离散贝叶斯滤波算法
  • 离散贝叶斯滤波与贝叶斯滤波很相似,只不过前者用在离散状态
  • 先给大家回顾一下贝叶斯滤波流程:
    • 大家看到求置信度用到的是积分

在这里插入图片描述

  • 离散贝叶斯滤波算法
    • 应用于有限状态的情景
    • 把贝叶斯滤波的积分改成求和就是离散贝叶斯算法了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NyUmtArV-1602641479136)(4604A7D6747E495E809A3558DA4181F6)]

3 直方图滤波

  • 直方图滤波 = 离散分解 + 离散贝叶斯滤波

3.1 分解技术

  • 将连续状态 X t X_t Xt进行分解:
    d o m ( X t ) = x 1 , t ∪ x 2 , t ∪ ⋯ x K , t x i , t ∩ x k , t = ∅ ⋃ k x k , t = d o m ( X t ) dom(X_t) = x_{1,t} \cup x_{2,t} \cup \cdots x_{K,t}\\ x_{i,t} \cap x_{k,t} = \varnothing \\ \bigcup_k x_{k,t} = dom(X_t) dom(Xt)=x1,tx2,txK,txi,txk,t=kxk,t=dom(Xt)
  • 对状态分解主要有两种思想:静态,动态
    • 静态:固定粗细的分解方法,不随变换函数的非线性程度所改变
    • 动态:分的粗细程度自适应变换函数
  • 动态分解要优于静态分解,动态分解的方法很多,这里不做介绍,给大家看一下动态与静态的对比:
    • 右下图是原始状态, x x x服从正态分布的连续状态,对它进行离散分解
    • 右上图是非线性变换函数 y = g ( x ) y = g(x) y=g(x)
    • 左上图是静态分解,分解间隔是定值,近似效果较差
    • 中上图是动态分解,该分解的粗细程度与状态转移函数 y = g ( x ) y = g(x) y=g(x)的非线性程度有关,近似效果较好

在这里插入图片描述

3.2 直方图滤波介绍

  • 上述介绍完对状态进行分解的方法,这里介绍分解后的计算过程
  • 我们分解了很多区间,那么每一段的概率为 p k , t p_{k,t} pk,t,那么该区间概率密度:
    p ( x t ) = p k , t ∣ x k , t ∣ p(x_t) = \frac{p_{k,t}}{|x_{k,t}|} p(xt)=xk,tpk,t
  • 再在每一段区内选一个代表点 x ^ k , t \hat{x}_{k,t} x^k,t:
    x ^ k , t = ∣ x k , t ∣ − 1 ∫ x k , t x t d x t \hat{x}_{k,t} = |x_{k,t}|^{-1} \int_{x_{k,t}} x_t d x_t x^k,t=xk,t1xk,txtdxt
  • 有了代表点就可以近似测量和状态转移概率,具体为什么这样近似看下面重要公式推导部分
    p ( z t ∣ x k , t ) ≈ p ( z t ∣ x ^ k , t ) p ( x k , t ∣ u t , x i , t − 1 ) ≈ η ∣ x k , t ∣ p ( x ^ k , t ∣ u t , x ^ i , t − 1 ) p(z_t | x_{k,t}) \approx p(z_t | \hat{x}_{k,t}) \\ p(x_{k,t} | u_t, x_{i,t-1}) \approx \eta |x_{k,t}| p(\hat{x}_{k,t} | u_t, \hat{x}_{i,t-1}) p(ztxk,t)p(ztx^k,t)p(xk,tut,xi,t1)ηxk,tp(x^k,tut,x^i,t1)
  • 所以离散贝叶斯滤波中两个公式可以表示为:
    l i n e 3 : p ˉ k , t = ∑ i p ( X t = x k ∣ u t , X t − 1 = x i ) p i , t − 1 = ∑ i η ∣ x k , t ∣ p ( X t = x ^ k , t ∣ u t , X t − 1 = x ^ i , t − 1 ) p i , t − 1 l i n e 4 : p k , t = η p ( z t ∣ X t = x k ) p ˉ k , t = η p ( z t ∣ X t = x ^ k , t ) p ˉ k , t \begin{aligned} line 3: \bar{p}_{k,t} &= \sum_i p(X_t=x_k| u_t, X_{t-1} = x_i)p_{i,t-1}\\ &= \sum_i \eta |x_{k,t}| p(X_t=\hat{x}_{k,t} | u_t, X_{t-1} = \hat{x}_{i,t-1}) p_{i,t-1}\\ line 4: p_{k,t} &= \eta p(z_t | X_t = x_k) \bar{p}_{k,t}\\ &= \eta p(z_t | X_t = \hat{x}_{k,t}) \bar{p}_{k,t}\\ \end{aligned} line3:pˉk,tline4:pk,t=ip(Xt=xkut,Xt1=xi)pi,t1=iηxk,tp(Xt=x^k,tut,Xt1=x^i,t1)pi,t1=ηp(ztXt=xk)pˉk,t=ηp(ztXt=x^k,t)pˉk,t

3.3 重要公式推导

  • 测量概率近似:
    p ( z t ∣ x k , t ) = p ( z t , x k , t ) p ( x k , t ) = ∫ x k , t p ( z t , x t ) d x t ∫ x k , t p ( x t ) d x t = ∫ x k , t p ( z t ∣ x t ) p ( x t ) d x t ∫ x k , t p ( x t ) d x t = ∫ x k , t p ( z t ∣ x t ) p k , t ∣ x k , t ∣ d x t ∫ x k , t p k , t ∣ x k , t ∣ d x t = p k , t ∣ x k , t ∣ p k , t ∣ x k , t ∣ ∫ x k , t p ( z t ∣ x t ) d x t ∫ x k , t 1 d x t = ∣ x k , t ∣ − 1 ∫ x k , t p ( z t ∣ x t ) d x t ≈ ∣ x k , t ∣ − 1 ∫ x k , t p ( z t ∣ x ^ k , t ) d x t = ∣ x k , t ∣ − 1 p ( z t ∣ x ^ k , t ) ∫ x k , t 1 d x t = ∣ x k , t ∣ − 1 p ( z t ∣ x ^ k , t ) ∣ x k , t ∣ = p ( z t ∣ x ^ k , t ) ↓ p ( z t ∣ x k , t ) ≈ p ( z t ∣ x ^ k , t ) \begin{aligned} p(z_t|x_{k,t}) & = \frac{p(z_t, x_{k,t})}{p(x_{k,t})}\\ &= \frac{\int_{x_{k,t}} p(z_t, x_t) d x_t}{\int_{x_{k,t}} p( x_t) d x_t}\\ &= \frac{\int_{x_{k,t}} p(z_t| x_t) p(x_t) d x_t}{\int_{x_{k,t}} p( x_t) d x_t}\\ &= \frac{\int_{x_{k,t}} p(z_t| x_t) \frac{p_{k,t}}{|x_{k,t}|} d x_t}{\int_{x_{k,t}} \frac{p_{k,t}}{|x_{k,t}|} d x_t}\\ &= \frac{\frac{p_{k,t}}{|x_{k,t}|}}{\frac{p_{k,t}}{|x_{k,t}|}} \frac{\int_{x_{k,t}} p(z_t| x_t) d x_t}{\int_{x_{k,t}} 1 d x_t}\\ &= |x_{k,t}|^{-1} \int_{x_{k,t}} p(z_t| x_t) d x_t\\ &\approx |x_{k,t}|^{-1} \int_{x_{k,t}} p(z_t| \hat{x}_{k,t}) d x_t\\ &= |x_{k,t}|^{-1} p(z_t| \hat{x}_{k,t}) \int_{x_{k,t}} 1 d x_t\\ &= |x_{k,t}|^{-1} p(z_t| \hat{x}_{k,t}) |x_{k,t}|\\ &= p(z_t| \hat{x}_{k,t}) \\ \end{aligned}\\ \downarrow\\ p(z_t | x_{k,t}) \approx p(z_t | \hat{x}_{k,t}) p(ztxk,t)=p(xk,t)p(zt,xk,t)=xk,tp(xt)dxtxk,tp(zt,xt)dxt=xk,tp(xt)dxt</
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值