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.
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 học có hành vi phi tuyến tính. 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 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, thì 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 vật thể vật lý, 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 xoay 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 sự 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ả cho các tác vụ mô hình hóa dự đoán ngay cả khi cơ chế cơ bản rất phức tạp.
Link to this sectionCơ chế và tuyến tính hóa#
Để xử lý các động lực phức tạp, EKF sử dụng một quy trình toán học đượ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. Quá trình này thường bao gồm việc tính toán 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 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ô hình chuyển động vật lý. Trong giai đoạn cập nhật, nó hiệu chỉnh phép dự phóng này bằng cách sử dụng dữ liệu mới, thường là dữ liệu 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 trơn tru, 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.
Link to this sectionSự liên quan trong Computer Vision#
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 mục tiêu di động. Các mô hình tiên tiến như YOLO26 đặc biệt 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ự 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 đối tượng có thể dự đoán vị trí một hộp bao (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ý tình trạng che khuất, khi một đối tượng tạm thời bị chặn khỏi tầm nhìn; bộ lọc giữ cho "track" (vết theo dõi) tồn tại bằng cách ước tính vị trí của đối tượng cho đến khi nó xuất hiện trở lại, một kỹ thuật cần thiết cho theo dõi đa đối tượng (MOT) mạnh mẽ.
Link to this sectionCác ứng dụng trong thực tế#
Sự 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 nghiệp công nghệ cao, nơi học máy (ML) giao thoa với phần cứng vật lý:
- Xe tự lái: Xe tự lái dựa vào hợp nhất cảm biến để di chuyển 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 xe trên đường, bù đắp cho tình trạng mất tín hiệu hoặc nhiễu môi trường.
- Robot học: Robot hoạt động trong môi trường phi 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 căn phòng trong khi đồng thời xác định vị trí của chính nó trong bản đồ đó, hiệu chỉnh tình trạng bánh xe bị trượt 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ơ thể 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 tự nhiên, trôi chảy cho các hệ thống nhận diện hành động.
Link to this sectionSo 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 Bộ lọc Kalman (KF): KF tiêu chuẩn tối ưu về mặt toán học và tính toán rẻ hơn nhưng 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 Bộ lọc hạt (Particle Filter): Bộ lọc hạt quản lý rất tốt tính phi tuyến tính và nhiễu phi Gaussian bằng cách sử dụng nhiều mẫu ngẫu nhiên (các hạt) để đại diện cho xác suất. Tuy nhiên, nó đòi hỏi đáng kể sức mạnh tính toán hơn, khiến EKF trở thành lựa chọn ưu tiên cho các hệ thống nhúng bị hạn chế về 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 tất định để xử lý tính phi tuyến tính mà không cần các phép tính phức tạp như EKF, mặc dù EKF vẫn là tiêu chuẩn công nghiệp cho nhiều hệ thống điều khiển.
Link to this sectionVí 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 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 trực tiếp lập trình 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ó hỗ trợ cho bộ theo dõi sẽ giúp ích trong việc cấu hình các tham số cho Nền tảng Ultralytics.
Dưới đây là cách khởi tạo bộ theo dõi với mô hình YOLO, 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()}")





