Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024
Bảng chú giải thuật ngữ

Luồng 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 sự đổi mới trong AI.

Luồng quang học (Optical flow) là một khái niệm cốt lõi trong thị giác máy tính (CV), liên quan đến việc ước tính chuyển động của các đối tượng, bề mặt và cạnh trong một cảnh trực quan 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 vectơ mô tả hướng và tốc độ di chuyển cho các pixel hoặc các đặc trưng giữa hai khung hình video liên tiếp. Điều này cung cấp một sự hiểu biết chi tiết, cấp thấp về "cách" mọi thứ đang di chuyển, điều này rất quan trọng đối với nhiều tác vụ phân tích cảnh động.

Cách Luồng Quang Hoạt Động

Giả định trung tâm đằng sau hầu hết các thuật toán optical flow là "độ sáng không đổi", giả định rằng cường độ của một pixel tương ứng với 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. Bằng cách tìm độ dịch chuyển duy trì độ sáng này, các thuật toán có thể ước tính chuyển động. Có hai phương pháp chính để tính toán optical flow:

  • Luồng quang dày đặc: Phương pháp này tính toán một vectơ chuyển động cho mọi pixel đơn lẻ trong hình ảnh. Nó cung cấp một trường chuyển động rất chi tiết, hữu ích cho các tác vụ như phân đoạn hình ảnh và hiểu động lực cảnh phức tạp. Phương pháp Horn-Schunck là một ví dụ điển hình, trong khi các mô hình học sâu hiện đại như RAFT mang lại hiệu suất hiện đại.
  • Luồng quang học thưa thớt: Thay vì phân tích mọi pixel, phương pháp này theo dõi một tập hợp thưa thớt các đặc trưng "thú vị" (như góc hoặc điểm đặc trưng) trên các khung hình. Phương pháp Lucas-Kanade là một thuật toán thưa thớt nổi tiếng. Cách tiếp cận này hiệu quả hơn về mặt tính toán và rất phù hợp cho các ứng dụng chỉ cần chuyển động của các điểm cụ thể, chẳng hạn như trong theo dõi đối tượng.

Luồng quang học so với Theo dõi đối tượng

Mặc dù có liên quan, optical flow (dòng chảy quang học) và object tracking (theo dõi đối tượng) giải quyết các vấn đề khác nhau.

  • Luồng quang học (Optical Flow) mô tả chuyển động cấp thấp của các pixel. Đầu ra của nó là một tập hợp các vectơ biểu thị chuyển động giữa hai khung hình. Nó không hiểu khái niệm về một "đối tượng" hoặc duy trì nhận dạng của nó theo thời gian.
  • Theo dõi đối tượng là một tác vụ cấp cao hơn, tập trung vào việc định vị một đối tượng cụ thể và theo dõi đường đi của nó qua nhiều khung hình, gán một ID nhất quán cho nó. Các thuật toán theo dõi thường sử dụng các kỹ thuật như luồng quang học như một đầu vào để dự đoán vị trí của một đối tượng trong khung hình tiếp theo sau khi nó đã được xác định bởi một mô hình phát hiện đối tượng, chẳng hạn như một mô hình Ultralytics YOLO. Bạn có thể thấy điều này đang hoạt động trong chế độ theo dõi đối tượng của Ultralytics.

Tóm lại, optical flow trả lời "Các pixel đang di chuyển như thế nào?", trong khi theo dõi đối tượng trả lời "Chiếc xe đó đã đi đâu?".

Các Ứng dụng Thực tế

Quang thông (Optical flow) rất quan trọng đối với nhiều ứng dụng đòi hỏi sự thấu hiểu về chuyển động từ video:

  • Hệ thống tự động: Xe tự hànhrobot sử dụng optical flow để đo đạc thị giác (ước tính chuyển động của chính nó), phát hiện chướng ngại vật và hiểu chuyển động tương đối của các đối tượng trong môi trường của chúng. Ví dụ: nó giúp một chiếc xe tự lái ước tính tốc độ của nó so với đường hoặc theo dõi các phương tiện gần đó. Các công ty như Waymo phụ thuộc rất nhiều vào motion perception. Tìm hiểu thêm về AI trong xe tự lái để biết thêm ngữ cảnh.
  • Nén video: Các tiêu chuẩn như MPEG sử dụng các kỹ thuật ước tính chuyển động tương tự như luồng quang học để dự đoán các khung hình tiếp theo dựa trên các khung hình trước đó. Bằng cách mã hóa chỉ các vector chuyển động và các lỗi dự đoán (phần dư), có thể đạt được mức nén dữ liệu đáng kể.
  • Nhận dạng hành động: Hiểu các hành động của con người trong video, một phần quan trọng của ước tính tư thế, thường liên quan đến việc phân tích các mẫu chuyển động có nguồn gốc từ luồng quang học. Điều này rất quan trọng đối với các ứng dụng trong phân tích thể thao và công nghệ thể dục thông minh.
  • Ổn định video: Các kỹ thuật ổn định hình ảnh kỹ thuật số có thể sử dụng luồng quang học để ước tính độ rung của máy ảnh và bù cho nó, tạo ra các video mượt mà hơn. Công nghệ này phổ biến trong điện thoại thông minh và máy ảnh hiện đại.
  • Phân tích hình ảnh y tế: Được sử dụng để theo dõi chuyển động của mô, chẳng hạn như chuyển động của cơ tim trong siêu âm tim hoặc biến dạng nội tạng trong các thủ thuật. Tham khảo các tài liệu như tạp chí Radiology: Artificial Intelligence để biết các tiến bộ liên quan.
  • Robotics (Người máy): Cho phép robot điều hướng, tương tác với các đối tượng và thực hiện các tác vụ dựa trên phản hồi trực quan về chuyển động trong môi trường xung quanh chúng. Tích hợp với các hệ thống như ROS thường kết hợp phân tích chuyển động.

Công Cụ và Triển khai

Các thư viện như OpenCV cung cấp các triển khai của các thuật toán optical flow cổ điển và tài liệu của nó bao gồm Hướng dẫn Optical Flow chi tiết của OpenCV. Đối với các phương pháp deep learning, các framework như PyTorch (truy cập trang web chính thức của PyTorch) và TensorFlow (truy cập trang web chính thức của TensorFlow) thường được sử dụng, thường tận dụng các mô hình đã được huấn luyện trước có sẵn thông qua các nền tảng như Hugging Face. Việc huấn luyện các mô hình này đòi hỏi tập dữ liệu video quy mô lớn với thông tin ground truth flow, chẳng hạn như FlyingThings3D hoặc tập dữ liệu Sintel. Các nền tảng như Ultralytics HUB có thể giúp quản lý tập dữ liệu và quy trình huấn luyện mô hình cho các tác vụ computer vision liên quan.

Tham gia cộng đồng Ultralytics

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay
Đã sao chép liên kết vào clipboard