Extended Kalman Filter (EKF)
Khám phá bộ lọc Kalman mở rộng (EKF) để ước lượng trạng thái phi tuyến. Tìm hiểu cách bộ lọc này cải thiện object tracking trong Ultralytics YOLO26 và các hệ thống tự hành.
Bộ lọc Kalman mở rộng (EKF) là một thuật toán toán học mạnh mẽ được thiết kế để ước tính trạng thái của một hệ thống động có hành vi phi tuyến. Trong khi Bộ lọc Kalman (KF) tiêu chuẩn cung cấp giải pháp tối ưu cho các hệ thống chuyển động theo đường thẳng hoặc tuân theo các phương trình tuyến tính đơn giản, vật lý trong thế giới thực hiếm khi có thể dự đoán dễ dàng như vậy. Hầu hết các vật thể vật lý, chẳng hạn như drone chống lại lực cản của gió hoặc cánh tay robot xoay quanh nhiều trục, đều di chuyển theo các quỹ đạo cong hoặc phức tạp. EKF xử lý sự phức tạp này bằng cách tạo ra một xấp xỉ tuyến tính của hệ thống tại một thời điểm cụ thể, cho phép các kỹ sư và nhà khoa học dữ liệu áp dụng các kỹ thuật lọc hiệu quả vào các tác vụ mô hình hóa dự đoán ngay cả khi cơ chế nền tảng phức tạp.
Cơ chế và tuyến tính hóa#
Để xử lý các động lực học phức tạp, EKF sử dụng một quy trình toán học gọi là tuyến tính hóa, về cơ bản là ước tính độ dốc của một hàm tại điểm vận hành hiện tại. Quy trình này thường bao gồm việc tính toán một ma trận Jacobian để xấp xỉ cách hệ thống thay đổi trong các khoảng thời gian ngắn. Thuật toán hoạt động theo một vòng lặp đệ quy gồm hai giai đoạn chính: dự đoán và cập nhật. Trong giai đoạn dự đoán, bộ lọc chiếu trạng thái hiện tại về phía trước bằng cách sử dụng model chuyển động vật lý. Trong giai đoạn cập nhật, bộ lọc hiệu chỉnh phép chiếu này bằng dữ liệu mới, thường có nhiễu, từ các cảm biến như con quay hồi chuyển hoặc gia tốc kế. Chu kỳ dự đoán và hiệu chỉnh liên tục này giúp giảm nhiễu dữ liệu và cung cấp ước tính mượt mà, chính xác hơn về trạng thái thực so với khả năng của bất kỳ cảm biến đơn lẻ nào.
Mức độ liên quan trong Thị giác máy tính#
Trong lĩnh vực thị giác máy tính (CV), Bộ lọc Kalman mở rộng đóng vai trò quan trọng trong việc duy trì danh tính của các vật thể chuyển động. Các model tiên tiến như YOLO26 có khả năng phát hiện vật thể xuất sắc trong từng frame riêng lẻ, nhưng vốn không hiểu được tính liên tục của chuyển động theo thời gian. Bằng cách tích hợp EKF hoặc logic tương tự, một hệ thống theo dõi vật thể có thể dự đoán vị trí xuất hiện của hộp giới hạn trong frame video tiếp theo dựa trên vận tốc và quỹ đạo trước đó. Điều này đặc biệt hữu ích khi xử lý hiện tượng che khuất, trong đó một vật thể tạm thời bị khuất khỏi tầm nhìn; bộ lọc duy trì "track" bằng cách ước tính vị trí của vật thể cho đến khi vật thể hiển thị trở lại, một kỹ thuật thiết yếu để theo dõi nhiều vật thể (MOT) mạnh mẽ.
Các ứng dụng trong thực tế#
Tính linh hoạt của EKF khiến nó trở thành công nghệ nền tảng trong nhiều ngành công nghệ cao, nơi machine learning (ML) giao thoa với phần cứng vật lý:
- Phương tiện tự hành: Xe tự lái dựa vào hợp nhất cảm biến để điều hướng an toàn. EKF hợp nhất các luồng dữ liệu riêng biệt từ Hệ thống định vị toàn cầu (GPS), LiDAR và radar để tính toán chính xác vị trí và hướng của phương tiện trên đường, đồng thời bù trừ hiện tượng mất tín hiệu hoặc nhiễu môi trường.
- Robotics: Robot hoạt động trong các môi trường không có cấu trúc sử dụng các thuật toán định vị và lập bản đồ đồng thời (SLAM). EKF giúp robot xây dựng bản đồ của một căn phòng đồng thời xác định vị trí của chính nó trong bản đồ đó, hiệu chỉnh hiện tượng trượt bánh hoặc sai lệch cảm biến để đảm bảo chuyển động chính xác.
- Ước tính tư thế: Trong các ứng dụng như thực tế ảo hoặc phân tích thể thao, việc theo dõi các khớp của con người đòi hỏi phải làm mượt các keypoint bị rung. Các thuật toán EKF tinh chỉnh đầu ra của các model deep learning để tạo ra hoạt ảnh chuyển động mượt mà, tự nhiên cho các hệ thống nhận dạng hành động.
So sánh với các khái niệm liên quan#
Để hiểu rõ tính hữu dụng riêng của mình, nên phân biệt Bộ lọc Kalman mở rộng với các phương pháp lọc liên quan:
- EKF so với Bộ lọc Kalman (KF): KF tiêu chuẩn có tính tối ưu về mặt toán học và chi phí tính toán thấp hơn, nhưng không hoạt động hiệu quả khi các hệ thống có tính phi tuyến cao. EKF mở rộng KF để xử lý các hệ thống phi tuyến thông qua phép xấp xỉ.
- EKF so với Bộ lọc hạt: Bộ lọc hạt xử lý rất tốt tính phi tuyến và nhiễu không Gaussian bằng cách sử dụng nhiều mẫu ngẫu nhiên (hạt) để biểu diễn xác suất. Tuy nhiên, phương pháp này đòi hỏi năng lực tính toán lớn hơn đáng kể, khiến EKF trở thành lựa chọn ưu tiên cho các hệ thống nhúng bị giới hạn tài nguyên.
- EKF so với Bộ lọc Kalman không mùi (UKF): Bộ lọc Kalman không mùi cung cấp một giải pháp trung gian, sử dụng các điểm lấy mẫu xác định để xử lý tính phi tuyến mà không cần phép tính vi phân phức tạp như EKF, mặc dù EKF vẫn là một tiêu chuẩn ngành cho nhiều hệ thống điều khiển.
Ví dụ triển khai#
Trong package ultralytics, các thuật toán tracking sử dụng nội bộ các khái niệm lọc Kalman để làm mượt quỹ đạo và liên kết các detection giữa các frame. Mặc dù bạn không cần tự viết phép toán ma trận EKF khi sử dụng các công cụ cấp cao, việc hiểu rằng nó cung cấp nền tảng cho tracker sẽ giúp bạn cấu hình các tham số cho Ultralytics Platform.
Dưới đây là cách khởi tạo một tracker với model YOLO, sử dụng các kỹ thuật lọc này để ước tính trạng thái:
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()}")








