Yolo 비전 선전
선전
지금 참여하기
용어집

칼만 필터 (KF)

칼만 필터가 AI, 추적, 센서 융합, 로보틱스 등에서 노이즈가 있는 데이터에서도 상태 추정을 어떻게 최적화하는지 알아보세요.

칼만 필터(KF) 는 시간에 따른 동적 시스템의 상태를 추정하는 데 사용되는 강력한 재귀적 수학적 알고리즘이다. 1960년 루돌프 E. 칼만(Rudolf E. Kálmán)이 처음 개발한 이 알고리즘은 일련의 잡음이 섞이거나 불완전하거나 부정확한 측정값들을 융합하여, 개별 측정값보다 통계적으로 더 정밀한 추정값을 생성하는 방식으로 작동한다. 기계 학습(ML)인공 지능(AI) 분야에서 칼만 필터는 예측적 평활화가 필요한 작업에 핵심적입니다. 예를 들어 영상 스트림 내 객체 추적 시 과거 궤적을 기반으로 객체의 미래 위치를 예측하는 데 도움을 줍니다.

칼만 필터의 작동 원리

칼만 필터의 핵심 강점은 예측과 보정이라는 두 단계의 순환 과정에 있습니다. 이는 단순히 현재 데이터 포인트만을 살펴보는 것이 아니라, 시스템의 과거 기록을 고려하여 현재 상태에 대한 합리적인 추정을 수행합니다.

  1. 예측 단계: 알고리즘은 물리적 모델(표준 운동 방정식 등)을 사용하여 이전 상태를 기반으로 시스템의 현재 상태를 예측합니다. 예를 들어, 1초 전에 자동차가 시속 60마일로 북쪽으로 이동 중이었다면, 필터는 현재 더 북쪽에 있을 것이라고 예측합니다. 또한 이 예측과 관련된 불확실성 또는 "오차 공분산"을 추정합니다.
  2. 수정(업데이트) 단계: 새로운 측정값이 도착하면—예를 들어 GPS 센서나 객체 탐지 모델로부터—필터는 이 관측 데이터를 예측값과 비교합니다. 불확실성이 적은 값(예측값 또는 측정값)에 더 큰 가중치를 부여하는 칼만 이득이라는 가중 평균을 계산합니다. 이를 통해 업데이트되고 "수정된" 상태 추정값이 도출됩니다.

이 과정은 지속적으로 반복되어 필터가 추정치를 정교화하고 실시간으로 변화에 적응할 수 있게 합니다.

AI 및 컴퓨터 비전 분야의 애플리케이션

칼만 필터는 제어 이론과 항공우주 분야에서 비롯되었으며(아폴로 항법 컴퓨터에 사용된 것으로 유명함), 현재는 현대 컴퓨터 비전(CV) 파이프라인의 핵심 요소로 자리잡았습니다.

  • 동영상 내 객체 추적: BoT-SORT ByteTrack과 같은 고급 추적 알고리즘은 칼만 필터를 활용하여 동영상 프레임 간 객체의 동일성을 유지합니다. YOLO26과 같은 탐지 모델이 사람이나 차량을 식별하면 칼만 필터는 해당 바운딩 박스가 다음 프레임에서 어디에 위치할지 예측합니다. 객체가 일시적으로 가려져(시야에서 차단되어)도 필터의 예측은 시스템이 객체가 있어야 할 위치를 "기억"하도록 도와 ID 전환을 방지합니다.
  • 로봇공학을 위한 센서 융합: 로봇공학의 인공지능에서 기계는 종종 카메라, 라이다, IMU 등 여러 센서에 의존하여 이동합니다. 칼만 필터는 이러한 서로 다른 데이터 소스를 통합하여 노이즈를 줄입니다. 예를 들어, 로봇의 휠 인코더가 미끄러질 경우(실제 움직임이 없는데도 움직임이 있는 것처럼 표시됨), SLAM 알고리즘으로 처리된 시각 데이터가 필터를 통해 위치 추정치를 수정할 수 있습니다.

관련 개념 차별화

표준 칼만 필터와 그 변형 및 관련 기법을 구분하는 것이 유용하다:

  • 칼만 필터 vs. 확장 칼만 필터(EKF): 표준 칼만 필터는 시스템이 선형 방정식(직선 운동)을 따르는 것으로 가정합니다. 드론이 선회하는 것과 같은 실제 시스템은 종종 비선형적입니다. EKF는 각 단계에서 시스템 동역학을 선형화하여 이를 처리하므로 복잡한 자율 주행 차량 내비게이션에 더 적합합니다.
  • 칼만 필터 대 입자 필터: 칼만 필터는 오차가 가우시안(종형 곡선) 분포를 따른다고 가정하는 반면, 입자 필터는 확률을 모델링하기 위해 무작위 샘플 군집을 사용합니다. 입자 필터는 비가우시안 잡음에 대해 더 유연하지만, 실시간 추론 속도에 영향을 미치는 계산 비용이 훨씬 더 많이 듭니다.

구현 예시

에서 ultralytics 생태계에서 칼만 필터는 추적 모듈에 직접 통합됩니다. 이 기능을 활용하려면 track YOLO 활용한 추적 모드. 기본 추적기는 탐지된 물체의 궤적을 부드럽게 하기 위해 칼만 필터링을 자동으로 적용합니다.

다음은 이러한 추정 기법을 암시적으로 사용하는 YOLO26으로 추적을 시작하는 방법입니다:

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Perform tracking on a video file
# The tracker (e.g., BoT-SORT) uses a Kalman Filter internally
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")

# Print the ID of the tracked objects
for r in results:
    if r.boxes.id is not None:
        print(f"Track IDs: {r.boxes.id.numpy()}")

데이터 품질에 중요한 이유

실제 현장 적용에서는 센서 데이터가 완벽한 경우는 거의 없습니다. 카메라는 모션 블러 현상이 발생하고, GPS 신호는 드리프트되며, 레이더는 잡음이 발생할 수 있습니다. 칼만 필터는 의사결정 루프 내에서 핵심적인 데이터 정제 메커니즘 역할을 수행합니다. 지속적인 추정값 정교화를 통해 AI 에이전트와 분석 시스템이 원시적이고 잡음이 많은 입력값이 아닌 가장 가능성이 높은 현실을 기반으로 작동하도록 보장합니다. 이러한 신뢰성은 공항 운영 모니터링부터정밀 로봇 제조 구현에 이르기까지 안전이 최우선인 응용 분야에 필수적입니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기