Thuật ngữ

Dòng chảy quang học

Khám phá sức mạnh của Optical Flow trong thị giác máy tính. Tìm hiểu cách nó ước tính chuyển động, tăng cường phân tích video và thúc đẩy đổi mới trong AI.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Dòng quang học là một khái niệm cơ bản trong thị giác máy tính (cv) được sử dụng để mô tả chuyển động biểu kiến của các vật thể, bề mặt và cạnh trong một cảnh thị giác do chuyển động tương đối giữa người quan sát (như máy ảnh) và cảnh đó. Nó tính toán một trường các vectơ biểu diễn sự dịch chuyển của các mẫu độ sáng (pixel hoặc đặc điểm) giữa các khung hình liên tiếp trong một chuỗi video. Điều này cung cấp thông tin có giá trị về động lực chuyển động trong video, tạo thành cơ sở cho nhiều tác vụ thị giác cấp cao hơn.

Dòng quang học hoạt động như thế nào

Giả định cốt lõi đằng sau hầu hết các thuật toán luồng quang học là độ sáng không đổi – ý tưởng cho rằng cường độ của một điểm cụ thể trên một vật thể vẫn không đổi trong khoảng thời gian ngắn, ngay cả khi nó di chuyển trên mặt phẳng hình ảnh. Các thuật toán theo dõi các mẫu độ sáng không đổi này từ khung hình này sang khung hình khác để ước tính các vectơ chuyển động. Các kỹ thuật phổ biến bao gồm:

  • Dòng quang học thưa thớt: Theo dõi chuyển động của một tập hợp giới hạn các điểm đặc trưng cụ thể (như góc) giữa các khung hình. Phương pháp Lucas-Kanade là một ví dụ phổ biến.
  • Dense Optical Flow: Tính toán một vectơ chuyển động cho mọi pixel trong hình ảnh. Phương pháp Horn-Schunck là một ví dụ kinh điển, mặc dù các phương pháp tiếp cận hiện đại hơn thường sử dụng học sâu. Bạn có thể khám phá so sánh luồng dày đặc và luồng thưa thớt để biết thêm chi tiết.

Các phương pháp này cung cấp hiểu biết ở cấp độ cơ bản về chuyển động của pixel, sau đó có thể được diễn giải cho nhiều ứng dụng khác nhau.

Ứng dụng của dòng quang học

Dòng quang học có nhiều ứng dụng thực tế trong nhiều lĩnh vực khác nhau:

  • Nén video: Các vectơ chuyển động giúp dự đoán các khung hình tiếp theo, giảm lượng dữ liệu cần thiết để lưu trữ hoặc truyền tải, như được thấy trong các tiêu chuẩn như MPEG .
  • Hệ thống tự động: Được sử dụng trong robotxe tự hành cho các nhiệm vụ như ước tính chuyển động của bản ngã (xác định chuyển động của chính camera), tránh chướng ngại vật và hiểu chuyển động tương đối của các vật thể khác. Ví dụ, AI trong xe tự lái sử dụng luồng để theo dõi các phương tiện và người đi bộ gần đó.
  • Nhận dạng hành động: Phân tích các mẫu chuyển động giúp xác định các hành động như đi bộ, chạy hoặc ngã trong video. Điều này hữu ích trong giám sát, phân tích thể thao và tương tác giữa người và máy tính. Hệ thống báo động an ninh có thể sử dụng luồng quang học để phát hiện các chuyển động đáng ngờ. Tìm hiểu thêm về nghiên cứu nhận dạng hành động .
  • Chụp ảnh y tế: Theo dõi chuyển động của các cơ quan hoặc mô theo trình tự như siêu âm hoặc MRI, hỗ trợ chẩn đoán và phân tích. Xem thêm về phân tích hình ảnh y tế .
  • Ổn định video: Ước tính chuyển động của camera để loại bỏ rung và nhiễu không mong muốn, giúp video đầu ra mượt mà hơn. Đọc về các kỹ thuật ổn định hình ảnh điện tử .

Dòng quang học so với theo dõi đối tượng

Mặc dù có liên quan, luồng quang học và theo dõi đối tượng là các nhiệm vụ riêng biệt. Luồng quang học cung cấp các vectơ chuyển động cấp thấp cho các điểm ảnh hoặc các tính năng giữa hai khung hình liên tiếp . Về bản chất, nó không hiểu danh tính đối tượng hoặc theo dõi chúng trong thời gian dài hơn.

Theo dõi đối tượng , thường được thực hiện bằng các mô hình như Ultralytics YOLO , tập trung vào việc xác định các trường hợp đối tượng cụ thể (thường được phát hiện thông qua phát hiện đối tượng ) và duy trì danh tính và quỹ đạo của chúng qua nhiều khung hình, có khả năng trong thời gian dài. Các thuật toán theo dõi thường sử dụng luồng quang học làm một đầu vào (cùng với các mô hình xuất hiện, bộ lọc Kalman, v.v.) để dự đoán vị trí đối tượng trong các khung hình tiếp theo, nhưng theo dõi là một nhiệm vụ cấp cao hơn liên quan đến tính bền bỉ của đối tượng. Bạn có thể khám phá các mô hình như YOLOv8 để theo dõi .

Các thư viện như OpenCV cung cấp các triển khai có sẵn của nhiều thuật toán dòng quang học khác nhau.

Đọc tất cả