[SLAM] Bayes’ Filter & Bayes’ Theorem
Bayes’ theorem와 Bayes’ Filter에 관한 포스팅입니다.
Bayes’ Filter
개념
베이즈 필터는 베이즈 룰에 기반하여 recursive하게 현재 상태를 추정하는 방법이다.
(확률 기반의 상태 추정 기법)
동작 원리
많은 분들이 예시로 사용하는 1차원 공간에서 문을 통한 위치 추정을 통해 이해해보았다.
Mobile Robot Mapping
- 1차원 공간
- 로봇은 Door / Not-Door 만 판단할 수 있다.
- 공간에 대한 지도를 사전 정보로 가지고 있다고 가정.
1번 그림
로봇은 자신의 위치에 대한 정보를 가우시안 분포를 따르는 확률 값으로 나타낼 수 있다.
초기에는 아무 정보도 주어지지 않았기에, 1번 그림
처럼 모든 위치에 대해 uniform한 확률 값을 가지는 분포를 가진다.
2번 그림
이후, 첫 번째로 로봇이 로봇의 현재 위치에서 센서를 통해 자신의 위치 앞에 문이 있는 것을 감지하였다.(2번 그림
)
이 때, 사전 정보를 알고 있다 가정하였으므로 문이 있는 위치들에 대해 확률 값이 상승하게 된다.
($p(z \mid x)$는 로봇의 위치 상태 x가 주어질 때 / 센서가 인지한 로봇 위치의 확률 분포.)
하지만 몇 번째 문 앞에 로봇이 있는지는 모르기에, 위치마다 가우시안 분포를 따르는 확률 값으로 갱신된다.
($bel(x)$는 현재 시점에서 최종 로봇의 위치에 대한 확률 분포.)
3번 그림
다음 3번 그림
처럼 로봇이 오른쪽으로 이동하면,
움직인 만큼 확률 분포도 같이 움직이며, 이동 명령을 통한 로봇의 이동에 대한 불확실성으로 인해 가우시안 분포가 조금 퍼지는 형태를 볼 수 있다.
확률 분포가 같이 움직이는 이유는 로봇이 있었던 상태를 기준으로 상대적으로 만들어진 확률 분포이기 때문이다.
(즉 x축이 땅이라고 봤을 때, 추정하고 있는 $bel(x)$이 로봇이 어디에 있는지를 설명하고 있는 것이기에 마찬가지로 로봇이 움직이면, 움직인 정도만큼에 로봇이 있을 것이다 라는 것을 표현(추정)하기 위해 $bel(x)$도 옆으로 이동한다.)
4번 그림
다음 4번 그림
처럼 다시 문을 감지하면 센서를 통한 새로운 확률 분포(빨간색)을 얻을 수 있다.
이 때 로봇의 현재 위치에 대한 확률 분포는 과거의 확률 분포와 새로운 확률 분포를 함께 고려하여 지도에서 두 번째 문 앞에 있을 확률이 가장 높도록 갱신된다.
5번 그림
5번 그림
처럼 또 이동하면 위치 추정은 하고 있지만, 불확실성으로 인해 다시 분포가 넓이진다.
감지와 움직임을 통한 갱신을 recursive하게 반복하는 이러한 과정을 수행하며 로봇의 현재 상태를 추정하는 방법이 베이즈 필터의 동작 원리이다.
Bayes’ Filter의 수학적 유도
베이즈 필터를 수학적으로 알아보겠다.
Bayes’ Theorem
베이즈 정리는 어떤 사건에 대한 사전 확률(Prior)을 알고 있을 때,
데이터로부터 얻은 새로운 정보(likelihood)를 통해 사후 확률(Posterior)을 업데이트하는 방법이다.
수학적 유도
참고자료
SLAM Online Study | SLAM DUNK Season 2 | Bayes Filter
Leave a comment