Extended Kalman Filter (EKF)
비선형 상태 추정을 위한 확장 칼만 필터(EKF)를 탐색하십시오. 이것이 Ultralytics YOLO26 및 자율 시스템에서 객체 추적을 어떻게 향상시키는지 알아보십시오.
확장 칼만 필터(Extended Kalman Filter (EKF))는 비선형적으로 동작하는 동적 시스템의 상태를 추정하기 위해 설계된 강력한 수학적 알고리즘입니다. 표준 칼만 필터 (KF)가 직선으로 이동하거나 단순한 선형 방정식을 따르는 시스템에 최적의 솔루션을 제공하는 반면, 현실 세계의 물리 현상은 그렇게 예측 가능한 경우가 드뭅니다. 풍력 저항에 맞서는 드론이나 여러 축으로 회전하는 로봇 팔과 같은 대부분의 물리적 객체는 곡선 또는 복잡한 경로를 따릅니다. EKF는 특정 시점에서 시스템의 선형 근사치를 생성하여 이러한 복잡성을 해결하며, 이를 통해 엔지니어와 데이터 과학자는 기본 역학이 복잡한 경우에도 예측 모델링 작업에 효율적인 필터링 기법을 적용할 수 있습니다.
메커니즘 및 선형화#
복잡한 동역학을 처리하기 위해 EKF는 선형화라는 수학적 프로세스를 사용하며, 이는 기본적으로 현재 작동 지점에서 함수의 기울기를 추정합니다. 이는 종종 시스템이 짧은 간격 동안 어떻게 변화하는지 근사화하기 위해 야코비안 행렬을 계산하는 과정을 수반합니다. 이 알고리즘은 예측과 업데이트라는 두 가지 주요 단계로 구성된 순환 루프에서 작동합니다. 예측 단계에서 필터는 모션의 물리적 모델을 사용하여 현재 상태를 앞으로 투영합니다. 업데이트 단계에서는 자이로스코프나 가속도계와 같은 센서의 새롭고 종종 노이즈가 포함된 데이터를 사용하여 이 투영을 수정합니다. 이러한 예측 및 수정의 지속적인 주기는 데이터 노이즈를 줄이는 데 도움을 주며, 단일 센서만으로는 제공할 수 없는 실제 상태에 대한 더 부드럽고 정확한 추정치를 제공합니다.
컴퓨터 비전에서의 관련성#
컴퓨터 비전 (CV) 영역에서 확장 칼만 필터는 움직이는 아이템의 신원을 유지하는 데 중대한 역할을 합니다. YOLO26과 같은 고급 모델은 단일 프레임에서 객체를 감지하는 데 탁월하지만, 시간 경과에 따른 모션 연속성을 본질적으로 이해하지는 못합니다. EKF 또는 유사한 로직을 통합함으로써 객체 추적 시스템은 이전 속도와 궤적을 바탕으로 다음 비디오 프레임에 바운딩 박스가 나타날 위치를 예측할 수 있습니다. 이는 객체가 일시적으로 시야에서 가려지는 오클루전(occlusion)을 처리하는 데 특히 유용합니다. 필터는 객체가 다시 보일 때까지 위치를 추정하여 "트랙"을 유지하며, 이는 견고한 다중 객체 추적 (MOT)에 필수적인 기술입니다.
실제 애플리케이션 사례#
EKF의 다재다능함은 머신러닝 (ML)이 물리적 하드웨어와 교차하는 다양한 첨단 산업에서 핵심 기술로 자리잡게 합니다:
- 자율주행 자동차: 자율주행차는 안전하게 주행하기 위해 센서 융합에 의존합니다. EKF는 글로벌 포지셔닝 시스템(GPS), LiDAR, 레이더의 별도 데이터 스트림을 병합하여 도로 상에서 차량의 정확한 위치와 방향을 계산하고, 신호 손실이나 환경 노이즈를 보정합니다.
- 로보틱스: 비정형 환경에서 작동하는 로봇은 동시적 위치 추정 및 맵핑 (SLAM) 알고리즘을 사용합니다. EKF는 로봇이 방의 맵을 구축하는 동시에 해당 맵 내에서 자신의 위치를 파악하도록 돕고, 바퀴 미끄러짐이나 센서 드리프트를 보정하여 정확한 움직임을 보장합니다.
- 포즈 추정: 가상 현실이나 스포츠 분석과 같은 응용 분야에서는 인간의 관절을 추적하기 위해 떨리는 키포인트를 부드럽게 처리해야 합니다. EKF 알고리즘은 딥러닝 모델의 출력을 정제하여 행동 인식 시스템을 위한 유연하고 자연스러운 모션 애니메이션을 생성합니다.
관련 개념과의 비교#
확장 칼만 필터의 특정 용도를 이해하기 위해 관련 필터링 방법과 구별하는 것이 도움이 됩니다:
- EKF 대 칼만 필터 (KF): 표준 KF는 수학적으로 최적이고 계산 비용이 저렴하지만 시스템이 고도로 비선형적일 때 실패합니다. EKF는 근사를 통해 비선형 시스템에서 작동하도록 KF를 확장합니다.
- EKF 대 파티클 필터: 파티클 필터는 확률을 나타내기 위해 많은 무작위 샘플(파티클)을 사용하여 비선형성과 비가우스 노이즈를 매우 잘 관리합니다. 그러나 상당한 양의 연산 능력이 필요하므로 EKF가 리소스가 제한된 임베디드 시스템에서 선호되는 선택이 됩니다.
- EKF 대 언센티드 칼만 필터 (UKF): 언센티드 칼만 필터는 결정론적 샘플링 포인트를 사용하여 EKF에 필요한 복잡한 미적분 없이 비선형성을 처리하는 중간 지점을 제공하지만, EKF는 여전히 많은 제어 시스템의 산업 표준으로 남아 있습니다.
구현 예시#
ultralytics 패키지에서 추적 알고리즘은 궤적을 부드럽게 다듬고 프레임 간의 감지를 연결하기 위해 내부적으로 칼만 필터링 개념을 사용합니다. 고수준 도구를 사용할 때 EKF 행렬 수학을 수동으로 코딩하지는 않지만, 트래커를 구동하는 원리를 이해하는 것은 Ultralytics 플랫폼의 매개변수를 구성하는 데 도움이 됩니다.
상태 추정을 위해 이러한 필터링 기법을 활용하는 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()}")





