베이즈 필터를 기반으로 하는 칼만필터(Kalman Filter)는 여러 분야에 많이 쓰인다.
자이로 센서, GPS 등, 측위하는데 있어 오차를 제거하기 위해 이용한다.
결론적으로 불확실한 관측으로부터 질 좋은 정보를 얻는 것이 칼만 필터의 목적이다.
이전 장에서 언급했듯이, 모델은 2가지가 존재한다.
Dynamical Model과 Observation Model(Measurement Model)이 두 가지이다.
칼만 필터의 알고리즘은 크게 3가지로 구성되어 있다.
초깃값 설정과, 예측 과정(Prediction Step), 추정 과정(Correction Step)이 존재한다.
Step 0
State Model인 x0과 P0(오차 공분산) 값을 넣어 초깃값을 선정한다.
Step 1
다음 과정에서는 Prediction Step으로 State Model x(t + 1)과 P(t + 1)을 계산한다.
즉 x(1)과 P(1)을 계산하게 되는 것이다.
A는 시스템 행렬으로서, 직접 설계해야 하는 부분이다.
P는 오차 공분산으로, 추정값이 정확한 값인지 판별하는 역할을 한다.
w_k는 시스템 노이즈에 해당한다.
x_(t+1) 모델에, control factor u, 즉 차량의 엑셀이나 브레이크 요소가 들어가면
다음과 같이 수식이 바뀐다. B는 control input matrix이다.
Step 2
Correction Step에서는 시스템 행렬을 통과한 제어 데이터를 보정하는 역할을 한다.
K_t는 칼만 이득(Kalman Gain)으로서, 관측 데이터와 시스템 모델 내에서, 어느 부분에 대한
비중을 둘 것인지 역할을 한다.
Z_t는 관측값으로, H는 출력 행렬, v_t는 관측 센서 노이즈에 해당한다.
Y를 Innovation 과정이라 한다.
최종적으로 x_t에 대한 값을 보정한다.
다음 Correction Step을 위한 오차 공분산을 업데이트 한다.
'PRML > Chapter 13. Sequential Data' 카테고리의 다른 글
Linear Dynamical Systems - Recursive Model & Bayes Filter (0) | 2022.09.12 |
---|