Bộ lọc Kalman (Kalman Filter - KF)
Khám phá cách Bộ lọc Kalman tối ưu hóa việc ước tính trạng thái trong AI, theo dõi, kết hợp cảm biến, robot học, v.v., ngay cả với dữ liệu nhiễu.
Bộ lọc Kalman (KF) là một thuật toán toán học đệ quy được sử dụng để ước tính trạng thái của một hệ thống động từ một chuỗi các phép đo không đầy đủ và nhiễu. Được phát triển ban đầu bởi Rudolf E. Kálmán vào năm 1960, thuật toán này đã trở thành nền tảng trong nhiều lĩnh vực, từ định vị hàng không vũ trụ đến học máy (ML) . Trong bối cảnh trí tuệ nhân tạo (AI) , Bộ lọc Kalman chủ yếu được đánh giá cao nhờ khả năng "làm mịn" các luồng dữ liệu, dự đoán vị trí tương lai của một vật thể dựa trên chuyển động trước đó của nó, ngay cả khi dữ liệu cảm biến không ổn định hoặc bị thiếu.
Bộ lọc Kalman hoạt động như thế nào
Bộ lọc Kalman hoạt động theo chu trình hai bước liên tục giúp tinh chỉnh các ước tính theo thời gian:
-
Dự đoán (Cập nhật Thời gian): Bộ lọc ước tính trạng thái hiện tại của hệ thống (ví dụ: vị trí và vận tốc) dựa trên trạng thái trước đó và mô hình chuyển động vật lý. Bộ lọc cũng dự đoán độ không chắc chắn (hiệp phương sai) của ước tính này.
-
Cập nhật (Cập nhật Đo lường): Khi có phép đo mới (ví dụ: dữ liệu từ cảm biến), bộ lọc sẽ so sánh với dự đoán. Bộ lọc sẽ tính toán giá trị trung bình có trọng số - tăng trọng số cho nguồn dữ liệu với độ không chắc chắn thấp hơn - để đưa ra ước tính trạng thái đã hiệu chỉnh.
Vòng lặp "dự đoán-chính xác" này cho phép Bộ lọc Kalman hoạt động như một bộ ước tính tối ưu, giảm thiểu sai số bình phương trung bình của các tham số mà nó theo dõi.
Sự liên quan trong AI và Thị giác máy tính
Trong thị giác máy tính (CV) hiện đại, Bộ lọc Kalman là một thành phần tiêu chuẩn của các hệ thố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 theo thời gian.
Bộ lọc Kalman thu hẹp khoảng cách này thông qua "theo dõi bằng phát hiện". Khi một đối tượng được phát hiện, bộ lọc sẽ tạo ra một " track và dự đoán vị trí của khung giới hạn trong khung hình tiếp theo. Điều này mang lại hai lợi ích chính:
-
Làm mịn quỹ đạo: Giảm độ nhiễu trong tọa độ hộp giới hạn do phát hiện không nhất quán.
-
Xử lý che khuất: Nếu một đối tượng bị chặn tạm thời (bị che khuất) và không được phát hiện, Bộ lọc Kalman sẽ tiếp tục dự đoán vị trí của đối tượng đó, cho phép hệ thống liên kết lại đối tượng với ID của nó khi đối tượng đó xuất hiện trở lại.
Các trình theo dõi tinh vi như BoT-SORT và ByteTrack dựa vào Bộ lọc Kalman để tạo mô hình chuyển động này.
Các Ứng dụng Thực tế
Bộ lọc Kalman có mặt ở khắp mọi nơi trong các công nghệ đòi hỏi ước tính chính xác từ dữ liệu nhiễu.
-
Xe tự hành: Xe tự lái sử dụng công nghệ kết hợp cảm biến để kết hợp dữ liệu từ GPS, LiDAR và camera. Bộ lọc Kalman kết hợp các dữ liệu đầu vào này để tạo ra một ước tính duy nhất, có độ chính xác cao về vị trí của xe và quỹ đạo của các vật thể động gần đó, đảm bảo điều hướng an toàn.
-
Robot: trong robot , KF rất cần thiết cho Định vị và Lập bản đồ Đồng thời ( SLAM ). Robot sử dụng nó để ước tính phương hướng và vị trí của chúng trên bản đồ trong khi hiệu chỉnh độ trượt của bánh xe và độ trôi của cảm biến.
-
Phân tích thể thao: Trong phân tích thể thao được hỗ trợ bởi AI , Bộ lọc Kalman track quả bóng và cầu thủ, làm mịn tọa độ 2D/3D để tính toán tốc độ, khoảng cách và đội hình chiến thuật.
Triển khai bộ lọc Kalman
Trong ultralytics Bộ lọc Kalman được tích hợp trực tiếp vào các mô-đun theo dõi. Người dùng có thể tự động tận dụng thuật toán mạnh mẽ này bằng cách kích hoạt
track cách thức.
from ultralytics import YOLO
# Load a YOLO11 model (object detector)
model = YOLO("yolo11n.pt")
# Track objects in a video
# The tracker (e.g., BoT-SORT) uses a Kalman Filter internally to smooth trajectories
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")
Các Khái Niệm Liên Quan
Điều quan trọng là phải phân biệt Bộ lọc Kalman tiêu chuẩn với các biến thể của nó:
-
Bộ lọc Kalman Mở rộng (EKF) : Bộ lọc Kalman Mở rộng (KF) tiêu chuẩn giả định động lực học chuyển động tuyến tính. EKF được sử dụng cho các hệ thống phi tuyến tính (ví dụ: robot di chuyển theo đường cong) bằng cách tuyến tính hóa mô hình xung quanh ước tính hiện tại.
-
Bộ lọc hạt: Không giống như KF, giả định phân phối nhiễu theo chuẩn Gauss, Bộ lọc hạt sử dụng một tập hợp các mẫu ngẫu nhiên để biểu diễn xác suất, khiến chúng phù hợp với các vấn đề phi tuyến tính và phi chuẩn Gauss, mặc dù thường có chi phí tính toán cao hơn.
-
Phát hiện đối tượng : Phát hiện xác định những gì có trong hình ảnh; theo dõi (sử dụng KF) xác định vị trí của đối tượng theo thời gian.