Extended Kalman Filter (EKF)
비선형 상태 추정을 위한 확장 칼만 필터를 살펴보세요. Ultralytics YOLO26 및 자율 시스템에서 객체 트래킹을 향상하는 방법을 알아보세요.
**확장 칼만 필터 (EKF)**는 비선형적으로 동작하는 동적 시스템의 상태를 추정하도록 설계된 강력한 수학적 알고리즘입니다. 표준 칼만 필터 (KF)는 직선으로 움직이거나 단순한 선형 방정식을 따르는 시스템에 최적의 해를 제공하지만, 실제 물리 현상은 거의 그렇게 예측 가능하지 않습니다. 바람의 저항을 이겨 내며 비행하는 드론이나 여러 축을 중심으로 회전하는 로봇 팔과 같은 대부분의 물리적 객체는 곡선 또는 복잡한 경로를 따릅니다. EKF는 특정 시점에서 시스템을 선형으로 근사하여 이러한 복잡성을 처리하므로, 기반이 되는 메커니즘이 복잡하더라도 엔지니어와 데이터 과학자가 예측 모델링 작업에 효율적인 필터링 기법을 적용할 수 있습니다.
메커니즘 및 선형화#
복잡한 동역학을 처리하기 위해 EKF는 현재 작동점에서 함수의 기울기를 추정하는 선형화라는 수학적 프로세스를 사용합니다. 여기에는 짧은 시간 간격 동안 시스템이 어떻게 변하는지 근사하기 위해 야코비안 행렬을 계산하는 과정이 포함되는 경우가 많습니다. 이 알고리즘은 예측과 업데이트라는 두 가지 주요 단계로 구성된 재귀 루프에서 작동합니다. 예측 단계에서 필터는 물리적 운동 모델을 사용하여 현재 상태를 미래 시점으로 투영합니다. 업데이트 단계에서는 자이로스코프나 가속도계와 같은 센서에서 새로 수집된, 대개 노이즈가 포함된 데이터를 사용하여 이 투영을 보정합니다. 이러한 지속적인 예측 및 보정 주기는 데이터 노이즈를 줄이고, 단일 센서가 단독으로 제공할 수 있는 것보다 실제 상태를 더 부드럽고 정확하게 추정합니다.
컴퓨터 비전에서의 중요성#
컴퓨터 비전 (CV) 분야에서 확장 칼만 필터는 움직이는 객체의 식별 정보를 유지하는 데 중요한 역할을 합니다. YOLO26과 같은 고급 모델은 단일 프레임에서 객체를 탐지하는 데 탁월하지만, 시간에 따른 움직임의 연속성을 본질적으로 이해하지는 못합니다. EKF 또는 이와 유사한 로직을 통합하면 객체 추적 시스템은 이전 속도와 궤적을 기반으로 다음 비디오 프레임에서 바운딩 박스가 나타나야 할 위치를 예측할 수 있습니다. 이는 객체가 일시적으로 시야에서 가려지는 가림 현상을 처리할 때 특히 유용합니다. 필터는 객체가 다시 보일 때까지 객체의 위치를 추정하여 "추적"을 유지하며, 이는 견고한 다중 객체 추적 (MOT)에 필수적인 기법입니다.
실제 적용 사례#
EKF의 높은 활용성은 머신 러닝 (ML)과 물리적 하드웨어가 결합되는 다양한 첨단 산업에서 핵심 기술로 자리 잡게 했습니다.
- 자율주행 차량: 자율주행 자동차는 안전하게 주행하기 위해 센서 퓨전에 의존합니다. EKF는 위성항법시스템 (GPS), LiDAR, 레이더에서 수집한 서로 다른 데이터 스트림을 결합하여 도로 위 차량의 정확한 위치와 방향을 계산하고, 신호 끊김이나 환경적 노이즈를 보정합니다.
- 로보틱스: 비정형 환경에서 작동하는 로봇은 동시적 위치 추정 및 지도 작성 (SLAM) 알고리즘을 사용합니다. EKF는 로봇이 방의 지도를 작성하는 동시에 해당 지도에서 자신의 위치를 파악하도록 지원하며, 정확한 이동을 보장하기 위해 바퀴 미끄러짐이나 센서 드리프트를 보정합니다.
- 자세 추정: 가상 현실이나 스포츠 분석과 같은 애플리케이션에서 사람의 관절을 추적하려면 흔들리는 키포인트를 평활화해야 합니다. EKF 알고리즘은 딥러닝 모델의 출력을 개선하여 행동 인식 시스템을 위한 유연하고 자연스러운 동작 애니메이션을 생성합니다.
관련 개념과의 비교#
특정한 활용 목적을 이해하려면 확장 칼만 필터를 관련 필터링 방법과 구분하는 것이 유용합니다.
- EKF와 칼만 필터 (KF) 비교: 표준 KF는 수학적으로 최적이며 계산 비용이 더 낮지만, 시스템이 고도로 비선형적인 경우에는 제대로 작동하지 않습니다. EKF는 근사를 통해 비선형 시스템에서도 작동하도록 KF를 확장한 방법입니다.
- EKF와 파티클 필터 비교: 파티클 필터는 확률을 나타내는 다수의 무작위 샘플(파티클)을 사용하여 비선형성과 비가우시안 노이즈를 매우 잘 처리합니다. 그러나 훨씬 더 많은 컴퓨팅 성능이 필요하므로, EKF는 리소스가 제한된 임베디드 시스템에 선호되는 선택입니다.
- EKF와 비향 칼만 필터 (UKF) 비교: 비향 칼만 필터는 결정론적 샘플링 포인트를 사용하여 EKF에 필요한 복잡한 미적분 없이 비선형성을 처리하는 중간 지점의 방법입니다. 그러나 EKF는 여전히 많은 제어 시스템에서 업계 표준으로 사용됩니다.
구현 예시#
ultralytics 패키지에서 추적 알고리즘은 내부적으로 칼만 필터링 개념을 사용하여 궤적을 평활화하고 프레임 간 탐지를 연결합니다. 고수준 도구를 사용할 때 EKF 행렬 수학을 직접 코딩하지는 않지만, EKF가 트래커를 구동한다는 점을 이해하면 Ultralytics Platform의 매개변수를 구성하는 데 도움이 됩니다.
다음은 상태 추정을 위해 이러한 필터링 기법을 활용하는 YOLO 모델로 트래커를 시작하는 방법입니다.
from ultralytics import YOLO
# Load the latest YOLO26 model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video source
# Trackers like BoT-SORT or ByteTrack use Kalman filtering logic 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()}")








