Extended Kalman Filter (EKF)
Khám phá Extended Kalman Filter (EKF) cho ước tính trạng thái phi tuyến. Tìm hiểu cách nó tăng cường theo dõi đối tượng trong Ultralytics YOLO26 và các hệ thống tự hành.
Extended Kalman Filter (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 tính. Trong khi Kalman Filter (KF) tiêu chuẩn cung cấp giải pháp tối ưu cho các hệ thống di chuyển 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 được như vậy. Hầu hết các đối tượng vật lý, chẳng hạn như một chiếc drone chống lại sức cản của gió hoặc một cánh tay robot quay trên nhiều trục, đều tuân theo các đường cong hoặc phức tạp. EKF giải quyết độ phức tạp này bằng cách tạo ra một phép 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ụ predictive modeling ngay cả khi cơ chế cơ bản rất 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 quá trình toán học gọi là tuyến tính hóa, về cơ bản ước tính độ dốc của một hàm tại điểm vận hành hiện tại. Quá trình này thường bao gồm việc tính toán một Jacobian matrix để 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 trong một vòng lặp đệ quy bao 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 dự phóng trạng thái hiện tại về phía trước bằng cách sử dụng một mô hình chuyển động vật lý. Trong giai đoạn cập nhật, nó sửa đổi phép dự phóng này bằng cách sử dụng dữ liệu mới, thường có nhiễu từ các cảm biến như gyroscopes hoặc gia tốc kế. Chu kỳ liên tục dự đoán và sửa lỗi này giúp giảm data noise và cung cấp một ước tính mượt mà, chính xác hơn về trạng thái thực so với bất kỳ cảm biến đơn lẻ nào có thể cung cấp một mình.
Sự liên quan trong Computer Vision#
Trong lĩnh vực computer vision (CV), Extended Kalman Filter đóng vai trò quan trọng trong việc duy trì định danh của các đối tượng đang di chuyển. Các mô hình nâng cao như YOLO26 xuất sắc trong việc phát hiện đối tượng trong các khung hình đơn lẻ, nhưng chúng không tự động hiểu được sự liên tục của chuyển động theo thời gian. Bằng cách tích hợp một EKF hoặc logic tương tự, một hệ thống object tracking có thể dự đoán vị trí một bounding box sẽ xuất hiện trong khung hình video tiếp theo dựa trên vận tốc và quỹ đạo trước đó của nó. Điều này đặc biệt hữu ích để xử lý hiện tượng che khuất, nơi một đối tượng tạm thời bị khuất khỏi tầm nhìn; bộ lọc giữ cho "track" tồn tại bằng cách ước tính vị trí của đối tượng cho đến khi nó hiển thị trở lại, một kỹ thuật cần thiết cho multi-object tracking (MOT) mạnh mẽ.
Các ứng dụng trong thực tế#
Tính linh hoạt của EKF biến nó thành một công nghệ nền tảng trong nhiều ngành công nghệ cao khác nhau, nơi machine learning (ML) giao cắt với phần cứng vật lý:
- Autonomous Vehicles: Xe tự hành dựa vào sensor fusion để điều hướng an toàn. Một EKF kết hợp 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 xe trên đường, bù đắp cho sự 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 phi cấu trúc sử dụng các thuật toán Simultaneous Localization and Mapping (SLAM). EKF giúp robot xây dựng bản đồ của một căn phòng trong khi đồng thời xác định vị trí của chính nó trong bản đồ đó, khắc phục hiện tượng trượt bánh xe hoặc trôi cảm biến để đảm bảo chuyển động chính xác.
- Pose Estimation: 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 điểm mấu chốt bị giật. Các thuật toán EKF tinh chỉnh đầu ra của các mô hình học sâu để tạo ra các hoạt ảnh chuyển động mượt mà, tự nhiên cho các hệ thống action recognition.
So sánh với các khái niệm liên quan#
Việc phân biệt Bộ lọc Kalman mở rộng với các phương pháp lọc liên quan sẽ giúp hiểu rõ công dụng cụ thể của nó:
- EKF so với Kalman Filter (KF): KF tiêu chuẩn có tính tối ưu về mặt toán học và rẻ hơn về mặt tính toán nhưng lại thất bại khi các hệ thống có tính phi tuyến tính cao. EKF mở rộng KF để làm việc với các hệ thống phi tuyến tính thông qua phép xấp xỉ.
- EKF so với Particle Filter: Particle Filter quản lý tính phi tuyến tính và nhiễu phi Gaussian rất tốt bằng cách sử dụng nhiều mẫu ngẫu nhiên (các hạt) để biểu diễn xác suất. Tuy nhiên, nó đòi hỏi computational power lớn hơn đáng kể, biến EKF thành sự lựa chọn ưu tiên cho các embedded systems bị giới hạn tài nguyên.
- EKF so với Unscented Kalman Filter (UKF): Unscented Kalman Filter cung cấp một giải pháp trung gian, sử dụng các điểm lấy mẫu tất định để xử lý tính phi tuyến tính mà không cần đến phép tính phức tạp yêu cầu bởi EKF, mặc dù EKF vẫn là một tiêu chuẩn công nghiệp cho nhiều hệ thống điều khiển.
Ví dụ về triển khai#
Trong gói ultralytics, các thuật toán theo dõi sử dụng các khái niệm lọc Kalman ở bên trong để làm mượt các quỹ đạo và liên kết các phát hiện qua các khung hình. Mặc dù bạn không viết mã thủ công toán học 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ăng lượng cho bộ theo dõi sẽ giúp cấu hình các tham số cho Ultralytics Platform.
Dưới đây là cách khởi tạo một trình theo dõi với YOLO model, tận 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()}")





