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

Optical Flow mô tả mô hình 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. Đây là một khái niệm cơ bản trong thị giác máy tính (CV) được sử dụng để ước tính chuyển động của từng pixel hoặc các tính năng giữa các khung hình liên tiếp của một chuỗi video. Kỹ thuật này cung cấp thông tin có giá trị về động lực học của một cảnh, cho phép máy móc hiểu được chuyển động tương tự như cách các hệ thống thị giác sinh học nhận thức chuyển động. Đây là một thành phần quan trọng trong nhiều ứng dụng Trí tuệ nhân tạo (AI)Học máy (ML) liên quan đến việc phân tích dữ liệu video.

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

Ý tưởng cốt lõi đằng sau tính toán luồng quang học là giả định về "độ sáng không đổi", giả định rằng cường độ của một điểm ảnh tương ứng với một điểm cụ thể trên một vật thể vẫn không đổi (hoặc thay đổi theo dự đoán) trong các khoảng thời gian ngắn 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 cường độ này từ khung hình này sang khung hình khác để tính toán các vectơ chuyển động cho từng điểm ảnh hoặc cho các điểm quan tâm cụ thể.

Các kỹ thuật phổ biến để tính toán lưu lượng quang học bao gồm:

  • Luồng quang học thưa thớt: Các thuật toán như phương pháp Lucas-Kanade theo dõi chuyển động của một tập hợp thưa thớt các đặc điểm nổi bật (như góc) trên các khung hình. Điều này hiệu quả về mặt tính toán nhưng chỉ cung cấp thông tin chuyển động cho các điểm đã chọn.
  • Dòng quang học dày đặc: Các thuật toán như phương pháp Horn-Schunck nhằm mục đích tính toán một vectơ chuyển động cho mọi pixel trong hình ảnh. Điều này cung cấp một biểu diễn chuyển động phong phú hơn nhiều nhưng tốn nhiều công sức tính toán hơn.
  • Phương pháp học sâu: Các phương pháp hiện đại thường sử dụng Mạng nơ-ron tích chập (CNN) được đào tạo trên các tập dữ liệu lớn để ước tính luồng quang. Các mô hình như FlowNetRAFT (Biến đổi trường tất cả các cặp hồi quy) đã cho thấy hiệu suất tiên tiến, tận dụng sức mạnh của học sâu (DL) để học các mẫu chuyển động phức tạp. Các mô hình này có thể được phát triển bằng cách sử dụng các khuôn khổ như PyTorch hoặc TensorFlow .

Dòng quang học so với các khái niệm liên quan

Điều quan trọng là phải phân biệt dòng quang học với các nhiệm vụ liên quan:

  • Phát hiện đối tượng : Nhiệm vụ này xác định và định vị các đối tượng trong một khung hình ảnh duy nhất bằng cách sử dụng các hộp giới hạn , thường là với các mô hình như Ultralytics YOLO11 . Nó tập trung vào những gìở đâu là đối tượng, không phải chuyển động của chúng giữa các khung hình. Bạn có thể khám phá các so sánh giữa các mô hình YOLO khác nhau cho các nhiệm vụ phát hiện.
  • Theo dõi đối tượng : Điều này liên quan đến việc theo dõi các đối tượng cụ thể được phát hiện qua nhiều khung hình, duy trì danh tính của chúng theo thời gian. Trong khi luồng quang học có thể là một thành phần được sử dụng trong các thuật toán theo dõi (như DeepSORT ), theo dõi tập trung vào quỹ đạo đối tượng và tính bền vững của danh tính, đây là một nhiệm vụ cấp cao hơn so với ước tính chuyển động từng pixel. Ultralytics các mô hình hỗ trợ chế độ theo dõi đối tượng .
  • Ước tính chuyển động: Đây là thuật ngữ rộng hơn bao gồm nhiều kỹ thuật khác nhau để xác định chuyển động. Dòng quang học là một loại ước tính chuyển động cụ thể tập trung vào chuyển động 2D rõ ràng của các điểm ảnh trên mặt phẳng hình ảnh, thường khác với ước tính chuyển động 3D thực sự của các vật thể trong thế giới.
  • Phân đoạn hình ảnh : Điều này liên quan đến việc phân vùng một hình ảnh thành nhiều phân đoạn hoặc vùng, thường là để cô lập các đối tượng hoặc vùng. Trong khi các tín hiệu chuyển động từ luồng quang học có thể hỗ trợ phân đoạn (Phân đoạn chuyển động), mục tiêu chính là phân định không gian, không phải tính toán vectơ chuyển động. Các tác vụ như phân đoạn thể hiện cung cấp mặt nạ cho từng pixel cho mỗi thể hiện đối tượng.

Ứng dụng trong thế giới thực

Dòng quang học rất quan trọng đối với nhiều ứng dụng đòi hỏi phải hiểu chuyển động từ video:

  • 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 tiếp theo dựa trên các khung trước đó. Bằng cách chỉ mã hóa các vectơ 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ể.
  • Hệ thống tự động: Xe tự hànhrô-bốt sử dụng luồng quang học để đo quãng đường trực quan (ước tính chuyển động tự thân), phát hiện chướng ngại vật và hiểu chuyển động tương đối của các vật thể trong môi trường của chúng. Ví dụ, nó giúp 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 nhận thức chuyển động. Khám phá AI trong xe tự lái để biết thêm bối cảnh.
  • Nhận dạng hành động: Để hiểu được hành động của con người trong video thường liên quan đến việc phân tích các mẫu chuyển động bắt nguồn từ luồng quang học.
  • Ổ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ù trừ, giúp tạo ra video mượt mà hơn.
  • 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 cơ quan trong quá trình thực hiện thủ thuật. Xem các tài nguyên như X quang: Trí tuệ nhân tạo để biết các tiến bộ liên quan.
  • Robot : Cho phép robot điều hướng, tương tác với các vật thể và thực hiện các nhiệm vụ dựa trên phản hồi trực quan về chuyển động trong môi trường xung quanh. 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 thuật toán luồng quang học cổ điển ( Hướng dẫn luồng quang học OpenCV ). Đối với các phương pháp học sâu, các khuôn khổ như PyTorchTensorFlow thường được sử dụng, thường tận dụng các mô hình được đào tạo trước có sẵn thông qua các nền tảng như Hugging Face . Việc đào tạo các mô hình này đòi hỏi các tập dữ liệu video quy mô lớn với thông tin luồng thực tế, chẳng hạn như các tập dữ liệu FlyingThings3D hoặc Sintel . Các nền tảng như Ultralytics HUB có thể giúp quản lý các tập dữ liệu và quy trình đào tạo mô hình , mặc dù chúng chủ yếu tập trung vào các tác vụ như phát hiện và phân đoạn hơn là ước tính luồng quang học trực tiếp.

Đọc tất cả