Tìm hiểu cách Bộ lọc Kalman mở rộng cho phép ước tính trạng thái chính xác cho các hệ thống phi tuyến tính trong robot học, xe tự hành và hợp nhất cảm biến.
Bộ lọc Kalman Mở rộng (EKF) là một thuật toán phức tạp được sử dụng để ước tính trạng thái trong các hệ thống thể hiện động lực học phi tuyến tính. Mặc dù Bộ lọc Kalman (KF) tiêu chuẩn cung cấp giải pháp tối ưu cho các bài toán tuyến tính, nhưng hầu hết các hệ thống vật lý trong thế giới thực—chẳng hạn như máy bay không người lái chống lại sức cản của gió hoặc cánh tay robot quay trên nhiều trục—đều không tuân theo đường thẳng. EKF giải quyết vấn đề này bằng cách áp dụng một quy trình được gọi là tuyến tính hóa để xấp xỉ hệ thống phi tuyến tính thành hệ thống tuyến tính tại mỗi thời điểm. Khả năng này cho phép các kỹ sư và nhà khoa học dữ liệu kết hợp dữ liệu nhiễu từ nhiều cảm biến khác nhau để tạo ra ước tính mượt mà và chính xác về vị trí, vận tốc hoặc hướng của vật thể.
EKF hoạt động theo chu trình "dự đoán-cập nhật" đệ quy, tương tự như Bộ lọc Kalman tiêu chuẩn, nhưng có thêm các bước toán học để xử lý tính phi tuyến tính. Trong nhiều bối cảnh học máy (ML) và lý thuyết điều khiển, hệ thống sử dụng ma trận Jacobian để tính toán xấp xỉ tuyến tính các hàm của hệ thống.
Vòng lặp liên tục này cho phép EKF duy trì độ chính xác cao ngay cả khi các chỉ số cảm biến riêng lẻ không đáng tin cậy hoặc tạm thời không có sẵn.
Trong lĩnh vực thị giác máy tính (CV) , Bộ lọc Kalman Mở rộng thường được sử dụng để tăng cường khả năng theo dõi đối tượng . Mặc dù các mô hình học sâu như YOLO11 rất xuất sắc trong việc phát hiện đối tượng trong từng khung hình riêng lẻ, nhưng về bản chất chúng không hiểu được tính liên tục của chuyển động. EKF sẽ thu hẹp khoảng cách này bằng cách mô hình hóa quỹ đạo của các vật thể được phát hiện.
Khi một mô hình phát hiện một người hoặc một phương tiện, EKF sẽ dự đoán vị trí của khung giới hạn đó trong khung hình video tiếp theo. Nếu việc phát hiện bị bỏ sót trong khung hình tiếp theo do bị che khuất, EKF có thể cung cấp vị trí dự đoán, đồng thời giữ nguyên vị trí hiện tại. track vẫn còn sống cho đến khi đối tượng được phát hiện lại. Đây là yếu tố cơ bản để đạt được khả năng theo dõi đa đối tượng (MOT) mạnh mẽ và thường là một thành phần của các thuật toán theo dõi tiên tiến như SORT (Theo dõi Trực tuyến và Thời gian thực Đơn giản).
Ví dụ sau đây minh họa cách khởi tạo trình theo dõi bằng cách sử dụng ultralytics, sử dụng các khái niệm lọc này bên trong để duy trì danh tính đối tượng trên các khung hình video:
from ultralytics import YOLO
# Load the YOLO11 model (nano version)
model = YOLO("yolo11n.pt")
# Run tracking on a video source
# The tracker (e.g., ByteTrack) uses Kalman filtering logic for state estimation
results = model.track(source="path/to/video.mp4", tracker="bytetrack.yaml")
Tính linh hoạt của EKF khiến nó trở nên không thể thiếu trong nhiều ngành công nghiệp công nghệ cao:
Để hiểu khi nào nên sử dụng EKF, bạn cần phân biệt nó với các kỹ thuật lọc tương tự:
Bất chấp sự tồn tại của các phương pháp mới hơn, Bộ lọc Kalman mở rộng vẫn là tiêu chuẩn cho mô hình dự đoán cấp ngành do sự cân bằng giữa hiệu quả và hiệu suất.