Khám phá Video Understanding, AI tiên tiến diễn giải các hành động và sự kiện trong video. Tìm hiểu cách nó hoạt động và cung cấp năng lượng cho các ứng dụng trong lái xe tự động và an ninh thông minh.
Hiểu video đề cập đến khả năng của các mô hình học máy trong việc xử lý, phân tích và hiểu dữ liệu hình ảnh theo thời gian. Không giống như nhận dạng hình ảnh , vốn chỉ phân tích các ảnh tĩnh, hiểu video liên quan đến việc diễn giải chuỗi khung hình để nắm bắt động lực thời gian, ngữ cảnh và mối quan hệ nhân quả. Điều này cho phép hệ thống AI không chỉ xác định đối tượng mà còn hiểu được hành động, sự kiện và "câu chuyện" đang diễn ra trong một đoạn video. Đây là một thành phần quan trọng của thị giác máy tính (CV) hiện đại, hỗ trợ các ứng dụng năng động từ điều hướng tự động đến phân tích thể thao tự động.
Phân tích video đòi hỏi phải xử lý hai loại thông tin riêng biệt: không gian và thời gian. Các đặc điểm không gian liên quan đến những gì xuất hiện trong một khung hình duy nhất (đối tượng, phông nền, kết cấu), trong khi các đặc điểm thời gian mô tả cách các yếu tố đó thay đổi theo thời gian (chuyển động, tốc độ, tương tác).
Các hệ thống xử lý video hiện đại thường sử dụng phương pháp nhiều giai đoạn:
Công nghệ hiểu video đang làm thay đổi các ngành công nghiệp bằng cách tự động hóa các tác vụ hình ảnh phức tạp mà trước đây đòi hỏi sự quan sát của con người.
Điều quan trọng là phải phân biệt việc hiểu video với các nhiệm vụ thị giác máy tính khác:
Một yếu tố cơ bản để hiểu video là khả năng phát hiện và theo dõi đối tượng mạnh mẽ. Ví dụ sau đây minh họa cách triển khai tính năng theo dõi bằng mô hình Ultralytics YOLO26 . Điều này thiết lập tính liên tục về mặt thời gian cần thiết cho việc phân tích hành vi ở cấp độ cao hơn.
import cv2
from ultralytics import YOLO
# Load the YOLO26 model (nano version for speed)
model = YOLO("yolo26n.pt")
# Open a video file
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)
# Process video frames
while cap.isOpened():
success, frame = cap.read()
if success:
# Track objects with persistence to maintain IDs over time
results = model.track(frame, persist=True)
# Visualize the results
annotated_frame = results[0].plot()
cv2.imshow("YOLO26 Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()
Mặc dù đã có những tiến bộ, việc hiểu video vẫn đòi hỏi nhiều tài nguyên tính toán do khối lượng dữ liệu khổng lồ trong các luồng video độ phân giải cao. Các nhà nghiên cứu đang tích cực phát triển các kiến trúc mô hình hiệu quả hơn để giảm độ trễ và chi phí tính toán . Các kỹ thuật như lượng tử hóa và cắt tỉa mô hình là rất cần thiết để triển khai các mô hình này trên các thiết bị biên.
Những phát triển trong tương lai hướng tới trí tuệ nhân tạo đa phương thức , nơi dữ liệu video được kết hợp với âm thanh và ngữ cảnh văn bản để hiểu sâu hơn. Ví dụ, một mô hình có thể sử dụng âm thanh của tiếng lốp xe rít lên kết hợp với dữ liệu hình ảnh để nhanh chóng xác định một vụ tai nạn giao thông. Các công cụ như NVIDIA TensorRT và OpenVINO tiếp tục đóng vai trò quan trọng trong việc tối ưu hóa các mô hình phức tạp này để suy luận theo thời gian thực .