Bộ lọc Kalman (KF)
Khám phá cách Bộ lọc Kalman tối ưu hóa ước tính trạng thái trong AI, theo dõi, kết hợp cảm biến, robot, v.v., ngay cả với dữ liệu nhiễu.
Bộ lọc Kalman (KF) là một thuật toán mạnh mẽ đượ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 bởi Rudolf E. Kálmán, mục đích ban đầu của nó là để định vị trong hàng không vũ trụ, nhưng kể từ đó nó đã trở nên cơ bản trong nhiều lĩnh vực, bao gồm robot , kinh tế học, và đặc biệt là thị giác máy tính (CV) . Bộ lọc hoạt động theo chu trình hai bước: đầu tiên nó dự đoán trạng thái tương lai của hệ thống và độ không chắc chắn của dự đoán đó, sau đó cập nhật ước tính bằng cách kết hợp một phép đo mới. Quá trình này cho phép nó đưa ra ước tính mượt mà và chính xác về trạng thái của một vật thể, chẳng hạn như vị trí và vận tốc của nó, ngay cả khi dữ liệu cảm biến không chính xác.
Bộ lọc Kalman hoạt động như thế nào trong AI và thị giác máy tính
Trong bối cảnh AI, Bộ lọc Kalman được sử dụng nổi bật nhất để theo dõi đối tượng . Sau khi một mô hình phát hiện đối tượng như Ultralytics YOLO xác định được các đối tượng trong một khung hình, Bộ lọc Kalman được sử dụng để dự đoán vị trí của chúng trong khung hình tiếp theo. Dự đoán này dựa trên một mô hình chuyển động, thường giả định vận tốc hoặc gia tốc không đổi.
Khi khung hình tiếp theo đến, mô hình phát hiện sẽ cung cấp các phép đo mới (tức là tọa độ khung giới hạn mới). Bộ lọc Kalman sau đó thực hiện bước "cập nhật", hiệu chỉnh dự đoán ban đầu dựa trên dữ liệu mới này. Quá trình này rất hiệu quả vì một số lý do:
- Giảm nhiễu : Làm mịn các phát hiện nhiễu, giúp đường dẫn theo dõi ổn định hơn.
- Xử lý che khuất : Nếu máy dò không nhìn thấy vật thể trong một vài khung hình (ví dụ, một chiếc ô tô đi sau một cái cây), bộ lọc có thể tiếp tục dự đoán vị trí của vật thể đó, cho phép bộ theo dõi xác định lại vật thể khi nó xuất hiện trở lại.
- Ước lượng trạng thái : Phương pháp này cung cấp hiểu biết toàn diện hơn về trạng thái của một vật thể ngoài vị trí hiện tại, bao gồm cả vận tốc. Bạn có thể tìm hiểu thêm về các khái niệm cốt lõi trong phần giới thiệu trực quan chi tiết về Bộ lọc Kalman này.
Khả năng xử lý các phép đo đệ quy của bộ lọc giúp nó hiệu quả về mặt tính toán và lý tưởng cho suy luận thời gian thực . Nhiều thuật toán theo dõi phổ biến, chẳng hạn như SORT (Theo dõi Trực tuyến và Thời gian Thực Đơn giản) và ByteTrack, sử dụng Bộ lọc Kalman làm thành phần cốt lõi trong dự đoán chuyển động. Các mô hình Ultralytics như YOLO11 tận dụng các bộ theo dõi như vậy trong chế độ theo dõi của chúng.
Ứng dụng trong thế giới thực
Bộ lọc Kalman là một phần không thể thiếu của vô số hệ thống hiện đại. Dưới đây là một vài ví dụ:
- Xe tự hành : Trong xe tự hành , Bộ lọc Kalman rất cần thiết cho việc hợp nhất cảm biến . Dữ liệu từ các cảm biến khác nhau như camera, GPS, LiDAR và IMU đều bị nhiễu và có tốc độ cập nhật khác nhau. Bộ lọc kết hợp dữ liệu này để đưa ra ước tính duy nhất, chính xác và đáng tin cậy về vị trí, vận tốc của xe và quỹ đạo của các vật thể khác trên đường. Điều này rất quan trọng cho việc điều hướng an toàn và ra quyết định trong các giải pháp AI trong ô tô của chúng tôi.
- Theo dõi người đi bộ cho hệ thống giám sát thông minh : Hệ thống an ninh thường sử dụng tính năng theo dõi đối tượng để giám sát không gian công cộng. Sau khi mô hình YOLO phát hiện người đi bộ, bộ theo dõi dựa trên Bộ lọc Kalman sẽ gán cho mỗi người một ID duy nhất và theo dõi họ trong phạm vi quan sát của camera. Điều này cho phép các ứng dụng như đếm đối tượng tự động, phát hiện bất thường và quản lý hàng đợi. Khả năng dự đoán của bộ lọc đảm bảo rằng dấu vết của một người không bị mất ngay cả khi họ bị che khuất tạm thời bởi người hoặc vật thể khác, một tính năng quan trọng để nâng cao khả năng giám sát thông minh .
Các khái niệm và sự khác biệt liên quan
Điều quan trọng là phải phân biệt Bộ lọc Kalman với các thuật ngữ liên quan:
- Bộ lọc Kalman Mở rộng (EKF) : Bộ lọc Kalman tiêu chuẩn giả định động lực học của hệ thống là tuyến tính. Tuy nhiên, nhiều hệ thống thực tế (như xe đang quay đầu) là phi tuyến tính. EKF mở rộng Bộ lọc Kalman để xử lý các hệ thống phi tuyến tính bằng cách tuyến tính hóa mô hình tại mỗi bước thời gian.
- Bộ lọc Kalman không mùi (UKF) : Đối với các hệ thống phi tuyến tính cao mà khả năng tuyến tính hóa của EKF không đủ, UKF cung cấp giải pháp thay thế chính xác hơn mà không cần phải tính toán Jacobian, như đã giải thích trong phần giới thiệu về Bộ lọc Kalman không mùi này.
- Bộ lọc hạt : Đây là một giải pháp thay thế khác cho các hệ thống phi tuyến tính, phi Gauss và thường được sử dụng trong robot để định vị và lập bản đồ. Không giống như Bộ lọc Kalman, chúng biểu diễn phân phối xác suất bằng cách sử dụng một tập hợp các mẫu ngẫu nhiên (hạt).
Trong khuôn khổ Ultralytics, bạn có thể tìm thấy Bộ lọc Kalman được triển khai như một tiện ích cho các thuật toán theo dõi của chúng tôi. Các thư viện như OpenCV cũng cung cấp triển khai Bộ lọc Kalman riêng , được sử dụng rộng rãi trong các dự án thị giác máy tính.