Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
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.

Dòng quang học là một khái niệm cơ bản trong thị giác máy tính , liên quan đến việc ước tính chuyển động biểu kiến của các vật thể, bề mặt và cạnh trong một khung cảnh trực quan. Chuyển động này được tính toán dựa trên chuyển động tương đối giữa người quan sát (chẳng hạn như camera) và khung cảnh. Kết quả của quá trình này là một trường vectơ, trong đó mỗi vectơ biểu diễn sự dịch chuyển của một điểm ảnh hoặc đặc điểm giữa hai khung hình video liên tiếp. Bằng cách phân tích các vectơ chuyển động này, hệ thống có thể hiểu chi tiết ở mức độ thấp về động lực học của khung cảnh, trả lời câu hỏi quan trọng về cách các điểm ảnh di chuyển theo thời gian.

Cơ chế cốt lõi của dòng chảy quang học

Việc tính toán luồng quang học thường dựa trên giả định "độ sáng không đổi". Nguyên lý này giả định rằng cường độ điểm ảnh của một điểm cụ thể trên vật thể vẫn không đổi giữa các khung hình liên tiếp, ngay cả khi vật thể di chuyển. Các thuật toán sử dụng giả định này để track dịch chuyển. Có hai cách tiếp cận chính để xác định các trường chuyển động này:

  • Dòng quang học dày đặc : Phương pháp này tính toán một vectơ chuyển động cho từng điểm ảnh trong ảnh. Nó cung cấp một bản đồ chuyển động toàn diện, độ phân giải cao, rất cần thiết cho các tác vụ chi tiết như phân đoạn ảnh và khôi phục video. Mặc dù đòi hỏi nhiều tính toán, các mô hình học sâu hiện đại như RAFT (Biến đổi trường toàn cặp hồi quy) đã đạt được hiệu suất tiên tiến trong ước lượng dày đặc, vượt trội hơn các phương pháp toán học truyền thống.
  • Dòng quang học thưa thớt : Thay vì phân tích toàn bộ hình ảnh, các phương pháp thưa thớt track một tập hợp các đặc điểm riêng biệt, chẳng hạn như góc hoặc cạnh, thường được xác định bằng các kỹ thuật trích xuất đặc điểm . Các thuật toán như phương pháp Lucas-Kanade là những thuật toán chủ chốt trong lĩnh vực này. Vì xử lý ít điểm dữ liệu hơn, các phương pháp thưa thớt có hiệu quả cao và phù hợp với các tình huống suy luận thời gian thực , trong đó tốc độ được ưu tiên hơn mật độ.

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

Điều quan trọng là phải phân biệt luồng quang học với theo dõi đối tượng , vì chúng phục vụ các mục đích khác nhau trong một đường ống thị giác. Luồng quang học là một hoạt động cấp thấp mô tả chuyển động tức thời của các điểm ảnh mà không cần hiểu các điểm ảnh đó biểu diễn điều gì. Về bản chất, nó không duy trì được danh tính của một đối tượng theo thời gian.

Ngược lại, theo dõi đối tượng là một nhiệm vụ cấp cao, xác định vị trí các thực thể cụ thể và gán cho chúng một ID nhất quán trên các khung hình. Các chế độ theo dõi nâng cao, chẳng hạn như chế độ có sẵn trong Ultralytics YOLO11 , thường thực hiện phát hiện đối tượng trước, sau đó sử dụng tín hiệu chuyển động để liên kết các phát hiện. Mặc dù bộ theo dõi có thể sử dụng luồng quang học nội bộ để dự đoán vị trí, mục tiêu của bộ theo dõi là duy trì nhận dạng ("Xe số 4 đã đi đâu?"), trong khi mục tiêu của luồng quang học là lập bản đồ chuyển động ("Các pixel này di chuyển sang phải nhanh như thế nào?").

Ứng dụng thực tế trong AI

Dòng quang học là một công cụ đa năng được sử dụng trong nhiều ngành công nghiệp khác nhau để giải quyết các vấn đề phức tạp liên quan đến chuyển động.

  • Hệ thống Tự động và Robot : Trong lĩnh vực xe tự hành , luồng quang học được sử dụng để đo vận tốc trực quan - ước tính chuyển động của chính xe so với môi trường xung quanh. Nó giúp phát hiện các chướng ngại vật di chuyển mà phát hiện tĩnh có thể bỏ sót, góp phần điều hướng an toàn hơn. Tương tự, trong robot , các tác nhân sử dụng luồng để thao tác với các vật thể và điều hướng trong môi trường động bằng các khung như ROS .
  • Nhận dạng Hành động : Việc phân tích các mô hình chuyển động theo thời gian cho phép các hệ thống AI nhận dạng các hành động phức tạp của con người. Ví dụ, trong công nghệ thể dục thông minh , luồng quang học có thể giúp tinh chỉnh việc ước tính tư thế bằng cách đảm bảo các chuyển động của chân tay được theo dõi mượt mà giữa các khung hình, xác định các bài tập như squat hoặc đánh tennis.
  • Ổn định và Nén Video : Thiết bị điện tử tiêu dùng phụ thuộc rất nhiều vào việc ước tính lưu lượng. Ổn định hình ảnh điện tử (EIS) sử dụng các vectơ lưu lượng để bù rung máy. Hơn nữa, các tiêu chuẩn nén video như MPEG sử dụng ước tính chuyển động để giảm kích thước tệp bằng cách chỉ mã hóa các chênh lệch (phần dư) giữa các khung hình thay vì toàn bộ khung hình.
  • Chụp ảnh y tế : Trong phân tích hình ảnh y tế , dòng quang học được áp dụng cho track Sự biến dạng của các mô, chẳng hạn như nhịp đập của tim trên siêu âm tim. Điều này giúp bác sĩ định lượng chức năng cơ quan và phát hiện các bất thường không thể nhìn thấy trên hình ảnh tĩnh.

Ví dụ triển khai

Sau đây là Python Ví dụ minh họa cách tính toán luồng quang học dày đặc bằng thư viện OpenCV . Bài viết này sử dụng thuật toán Gunnar Farneback, một phương pháp phổ biến để ước tính luồng dày đặc.

import cv2
import numpy as np

# Load two consecutive frames (ensure these files exist)
frame1 = cv2.imread("frame1.jpg")
frame2 = cv2.imread("frame2.jpg")

# Convert frames to grayscale
prvs = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
next = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)

# Calculate dense optical flow using Farneback's algorithm
flow = cv2.calcOpticalFlowFarneback(prvs, next, None, 0.5, 3, 15, 3, 5, 1.2, 0)

# Compute magnitude and angle of 2D vectors
mag, ang = cv2.cartToPolar(flow[..., 0], flow[..., 1])

print(f"Flow shape: {flow.shape}")  # Output: (Height, Width, 2)
print(f"Max motion magnitude: {np.max(mag):.2f} pixels")

Đối với người dùng muốn tích hợp phân tích chuyển động với phát hiện đối tượng, các mô hình phát hiện Ultralytics có thể được kết hợp với các thuật toán luồng để tạo ra các quy trình phân tích mạnh mẽ. Trong khi luồng quang học cung cấp dữ liệu chuyển động thô, các mô hình cấp cao hơn như YOLO11 cung cấp khả năng hiểu ngữ nghĩa cần thiết để diễn giải chuyển động đó một cách hiệu quả. Hoạt động nghiên cứu và phát triển đang diễn ra đối với các mô hình như YOLO26 nhằm mục đích thống nhất hơn nữa khả năng hiểu không gian và thời gian để phân tích video đầu cuối nhanh hơn nữa.

Tham gia Ultralytics cộng đồng

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