베이즈 필터 개요

베이즈 정리(Bayes Theorem)를 재귀적으로 따름

✔ 이산시간(discrete-time) 확률 동적 시스템(stochastic dynamical system)의 상태변수를 추정하기 위한 확률론적인 방법으로서 칼만필터를 비롯한 대부분의 상태변수 추정 알고리즘의 근간


베이즈 필터 수식

  • Bayes Filter의 목적을 단 한줄의 수식으로 표현하면 다음과 같다
  • 시점의 상태 값
  • 시점의 센서 입력 값
  • 시점의 제어 입력 값

알고리즘의 시작부터 현재 시점 까지의 센서값과 제어값을 이용하여 현재 상태를 확률적으로 추정하는 것

베이즈 필터의 두 가지 역할

물리 모델을 통한 예측

  • 이전 상태와 제어값()을 이용하여 현재 상태를 예측하는 것

이동하는 자동차의 위치를 예측할 때, 1초 전 자동차의 위치와 속도 정보 및 추가적으로 입력된 엑셀 및 브레이크 제어값을 통해 현재 상태 예측

센서값을 통한 예측

  • Bayes Rule을 이용하여 센서값()을 현재 상태에 반영하는 역할

GPS를 통해 현재 위치 예측

퓨전

  • 베이즈 필터는 위 값 중 하나만을 사용하는 것이 아니라 두가지 값을 모두 사용하여 하나의 값으로 퓨전함

현재 위치를 이전 위치 상태 + 속도 물리 모델 + 제어값을 이용하여 먼저 예측하고, 그 위치에 센서값을 통해 보정하는 방식 등

  • 퓨전 방법을 통해 더 좋은 성능으로 현재 상태를 추정할 수 있음
  • 위 두가지 값을 퓨전할 때, 노이즈가 더 작은 값을 더 신뢰하여 반영하는 것이 높은 성능을 확보하기 위해 고려할 점, 상황에 맞춰서 적용해야함

로봇 이동 예제를 통한 베이즈 필터의 이해

  • 앞에서 설명한 컨셉을 Probabilistic Robotics의 로봇 예제를 이용하여 알아보도록 하자
Step 1

  • 위 그림에서 x축은 로봇의 위치, y축은 확률을 나타냄
  • 초기에는 어떠한 정보가 없으므로 uniform 분포를 가지게되므로 모든 위치가 동일하게 낮은 확률 값을 가짐
  • 각 문 앞에는 센서가 있어서, 로봇이 지나갈 때 3개의 문 중 하나에 로봇이 있다고 판단할 수 있으나 어느 문 앞에 로봇이 존재하는지는 판단할 수 없음
  • 로봇은 왼쪽에서 오른쪽으로 이동 중
Step 2

  • 센서가 인지한 로봇 위치의 확률 분포
  • 로봇의 상태가 x로 주어졌을 때, 센서가 인지한 로봇 위치의 확률 분포
  • 현재 시점의 최종 로봇 위치 상태에 대한 확률 분포
  • 위 그림에서 는 문앞에 센서가 있고 로봇이 문앞을 지나면 문앞에 로봇이 있을 확률이 증가하게 됨
  • 문 앞의 센서가 로봇을 인지하여 각 문앞에 로봇이 있을 확률이 동등하게 증가함
  • 문 앞의 확률 분포가 매우 좁게 (분산이 작게) 분포하지 못하는 이유는 센서에 존재하는 노이즈 때문
Step 3

  • 로봇이 오른쪽으로 이동함에 따라 Step2에서 얻은 위치의 확률 분포가 로봇이 오른쪽으로 이동한 만큼 그대로 이동함
  • 이 결과는 물리 모델을 통한 예측을 한 것으로 파악할 수 있으며, 기존 확률 분포 보다 더 낮고 넓어진 분포를 보이는 것은 물리 모델을 통한 예측의 제어 노이즈가 추가되었기 때문
Step 4

  • Step 3까지 반영한 에 센서가 인지한 로봇의 위치에 대한 확률 분포를 결합
  • 문앞의 센서가 로봇을 감지하여 의 확률 분포가 문 앞에 로봇이 있을 확률로 갱신되고, 기존 와 센서값 가 결합하여 새로운 를 계산함
Step 5

  • 물리 모델을 통한 예측을 통해 로봇이 이동한 만큼 분포가 이동함
  • Step 3에서와 같이 물리 모델에 사용된 제어값에 대한 노이즈에 의해 각 위치 별 분포의 분산이 커짐
정리

베이즈 필터 알고리즘

알고리즘 개요

  • 핵심이 되는 알고리즘은 for문 안의 2줄로 매우 간단함


알고리즘 분석

  • for 문의 첫번째 줄은 control update 또는 prediction이라 하며, 이는 물리 모델을 통한 예측에 해당하고 제어값을 이용해 상태를 업데이트함
  • 두번째 줄은 measurement update 도는 correction이라 하며, 이는 센서값을 통한 예측에 해당하고 센서값을 이용해 상태를 보정함

+full

  1. 이전 상태
  2. 이전 상태와 제어값이 주어졌을 때, 현재 상태의 확률 분포
  3. control update (prediction)
  4. 현재 상태의 센서값의 확률 분포
  5. measurement update (correction)

베이즈 필터 수식의 이해

수식의 개요

  • 베이즈 필터에서 사용되는 데이터는 제어값 와 관측값(센서값) 가 사용됨
  • 상태 모델 :
  • 센서 모델 :
  • 시스템 상태의 사전 확률 분포 :
  • 이 때, 구해야 하는 값은 상태의 Posterior(사후확률)로
  • 이상적으로는 사후 확률 식과 같이 알고리즘이 시작한 시점부터 현재 시점까지의 를 모두 사용하는 것이 맞으나, Markov Assumption 을 도입하여 문제를 간단하게 만들 수 있음
  • Markov Assumption은 모든 가 독립임을 가정하고, 업데이트된 들은 그 이전의 정볼르 함수학고 있다고 가정 하는 것
  • 따라서 베이즈 필터는 대신 현재 입력된 센서 및 제어값인 와 바로 직전 상태의 상태값인 을 사용함

전개 및 유도

  • 위 식의 3번 행은 를 만족함. 현재 센서값 없이 추정한 상태 이기 때문.
  • 따라서 센서값이 적용된 4번 행은 를 만족해야함

Control Update (Prediction)

  • 먼저 을 전개하여 3행의 식 를 유도해보자
  • 베이즈 정리(Bayes Theorem)total probability 법칙을 이용하여 을 통해 아래와 같이 전개할 수 있다

  • 위 식에서 은 아래와 같이 전개될 수 있음
  • 위와 같이 전개될 수 있는 이유는 Markov Assumption을 가정하기 때문에 을 포함하기 때문

  • 은 아래와 같이 전개됨
  • 위 식에서는 대상이 이기 때문에 미래에 발생할 를 사용하여 확률을 나타낼 수 없으므로 를 생략하고 로 표현함
  • 정리된 식은 최종적으로 bel 함수의 정의에 따라 로 나타냄
  • 따라서, 예측(prediction)식은 아래와 같이 정리됨

Measurement Update (Correction)

  • 을 전개하여 4행의 식 를 유도해보자
  • 따라서 최종식은 아래와 같음

로봇 예제


참고



베이즈필터 상태추정