칼만 필터(KF)는 머신 러닝(ML) 및 다양한 엔지니어링 분야에서 시간에 따른 일련의 잡음이 많고 불완전한 측정값으로부터 동적 시스템의 상태를 추정하기 위해 강력하고 널리 사용되는 알고리즘입니다. 약간 부정확한 GPS 측정값을 사용하여 드론의 정확한 위치와 속도를 정확히 파악하려고 할 때 칼만 필터는 예측된 움직임과 노이즈 측정값을 결합하여 최상의 추정치를 얻을 수 있는 통계적으로 최적의 방법을 제공합니다. 특히 실시간 추론 애플리케이션에서 효율성과 효과성이 뛰어나 로봇 공학, 컴퓨터 비전(CV), 내비게이션 시스템과 같은 분야에서 초석이 되는 기술로 평가받고 있습니다.
칼만 필터의 작동 원리
칼만 필터의 핵심은 노이즈가 많은 입력 데이터 스트림에 대해 재귀적으로 작동하여 기본 시스템 상태에 대한 통계적으로 최적의 추정치를 생성하는 것입니다. 이 필터는 2단계 주기로 작동합니다:
- 예측: 필터는 이전 상태 추정치와 시간이 지남에 따라 시스템이 어떻게 변하는지에 대한 모델(프로세스 모델)을 기반으로 시스템의 다음 상태를 예측합니다. 이 예측에는 본질적으로 약간의 불확실성이 포함됩니다.
- 업데이트: 이 필터는 현재 상태와 관련된 새로운 측정값(노이즈 및 불확실성이 있는 측정값도 포함)을 통합합니다. 측정값을 예측된 상태와 비교하고 예상치를 업데이트하여 각각의 불확실성에 따라 예측 또는 측정값에 더 많은 가중치를 부여합니다. 그 결과 예측이나 측정값만 사용하는 것보다 통계적으로 더 나은(실제 상태에 더 가까운) 정교한 상태 추정치가 생성됩니다.
이 예측 업데이트 주기는 새로운 측정값이 나올 때마다 반복되어 상태 추정치를 지속적으로 개선합니다. 이 필터는 상태 추정치의 평균 제곱 오차를 최소화하기 때문에 가우스 노이즈가 있는 선형 시스템에 '최적'인 것으로 간주됩니다. 따라서 상태 추정 및 신호 처리의 기본 도구로 사용됩니다. 보다 시각적인 설명은 그림으로 보는 칼만 필터의 작동 방식을 참조하세요. 기본 수학적 프레임워크는 베이지안 추론에 의존합니다.
주요 특징
- 재귀적: 전체 기록을 저장할 필요 없이 측정값이 도착하는 대로 한 번에 하나씩 처리합니다.
- 선형 시스템에 최적: 시스템 동역학 및 측정 프로세스가 선형이고 노이즈가 가우스 분포를 따르는 경우 가능한 최상의 추정치(최소 평균 제곱 오차 기준)를 제공합니다.
- 상태 추정: 직접 측정할 수 없는 시스템의 내부 상태(예: 위치, 속도)를 추정합니다.
- 노이즈를 처리합니다: 시스템 동역학과 측정값 모두에서 불확실성을 명시적으로 모델링합니다.
- 계산 효율성이 뛰어납니다: 상대적으로 가볍기 때문에 엣지 AI와 같은 임베디드 시스템의 실시간 애플리케이션에 적합합니다.
실제 애플리케이션
칼만 필터는 수많은 AI 및 ML 애플리케이션에서 없어서는 안 될 필수 요소입니다:
- 객체 추적: 컴퓨터 비전에서 KF는 일반적으로 후속 비디오 프레임에서 감지된 객체(예: 보행자 또는 차량)의 위치를 예측하는 데 사용되며, 잠깐의 가려짐이나 감지 실패에도 일관된 식별을 유지하는 데 도움이 됩니다. 단순 온라인 및 실시간 추적(SORT) 과 같은 트래커는 모션 예측을 위해 KF에 크게 의존합니다. Ultralytics YOLO 모델은 이러한 추적 알고리즘을 활용하며, 자세한 내용은 추적 모드 문서에서 확인할 수 있습니다. 예를 들어, 보안 시스템에서 KF를 사용하여 카메라 시야를 가로질러 걷는 사람을 원활하게 추적하여 다음과 같은 객체 감지 모델에서 제공하는 감지 사이의 경로를 예측할 수 있습니다. YOLO11.
- 로봇 공학 및 내비게이션: KF는 여러 센서의 데이터를 결합(센서 퓨전)하여 로봇의 위치와 방향(포즈)을 추정하는 데 매우 중요합니다. 예를 들어, 자율 주행 차량은 노이즈가 심한 GPS 판독값과 관성 측정 장치(IMU) 및 휠 주행 기록계의 데이터를 KF를 사용하여 융합하여 안전한 내비게이션에 필수적인 위치 및 속도를 안정적으로 추정할 수 있습니다(자동차 솔루션의 AI).
- 항공우주 및 안내: KF는 우주선 항법용 아폴로 프로그램에 사용된 것으로 유명하며, 현대 항공 우주 유도 및 위성 위치 확인 시스템에서 여전히 중요한 역할을 하고 있습니다.
- 시계열 분석: 계량경제학 및 재무 분야에서 노이즈를 걸러내고 기본 추세를 추정하여 시계열 데이터를 모델링하고 예측하는 데 사용됩니다. 자세한 내용은 금융 시계열 모델을 살펴보세요.
- 신호 처리: 오디오 향상 및 생체 신호 분석과 같은 다양한 신호 처리 작업에 적용됩니다.
칼만 필터 대 확장 칼만 필터
표준 칼만 필터는 시스템 동역학 및 측정 모델이 선형이라고 가정합니다. 그러나 많은 실제 시스템은 비선형적인 동작(예: 로봇 팔의 움직임, 복잡한 차량 동역학)을 보입니다. 이러한 경우 확장 칼만 필터(EKF) 와 같은 변형이 사용됩니다.
핵심적인 차이점은 EKF는 비선형 시스템을 근사화하여 처리한다는 점입니다. 테일러 급수 확장 같은 기법을 사용하여 각 시간 단계에서 현재 상태 추정치를 중심으로 비선형 함수를 선형화합니다. 이 선형화는 강력하지만 근사 오차가 발생하므로 순수 선형 문제에 대해서는 표준 KF만큼 최적화되거나 안정적이지 않을 수 있습니다. 시스템이 선형적인 것으로 알려진 경우, 일반적으로 최적화와 계산의 단순성 때문에 KF가 선호됩니다. 비선형성을 처리하기 위한 다른 접근 방식으로는 비선형 칼만 필터(UKF)와 같은 변형이 있으며, 비선형성이 높은 시스템에 대해 EKF보다 더 나은 정확도를 제공하지만 일반적으로 더 많은 계산을 필요로 합니다. 이러한 필터를 통합한 모델을 훈련하고 실험할 수 있는 플랫폼은 Ultralytics HUB와 같은 플랫폼입니다.