Khám phá Trả lời câu hỏi trực quan (VQA): cách AI đa phương thức kết hợp thị giác máy tính và NLP để trả lời các câu hỏi dựa trên hình ảnh, với các phương pháp chính và trường hợp sử dụng thực tế.
Trả lời câu hỏi hình ảnh (Visual Question Answering - VQA) là một nhiệm vụ đa ngành đầy thách thức, nằm ở giao điểm của Thị giác máy tính (Computer Vision - CV) và Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) . Không giống như phân loại hình ảnh tiêu chuẩn, nơi một hệ thống chỉ đơn giản là gán nhãn cho một bức ảnh, các hệ thống VQA được thiết kế để trả lời các câu hỏi mở về một hình ảnh bằng ngôn ngữ tự nhiên. Ví dụ, nếu được cung cấp một bức ảnh về cảnh đường phố, người dùng có thể hỏi, "Chiếc xe bên cạnh trụ cứu hỏa có màu gì?" Để trả lời chính xác, AI phải hiểu câu hỏi, xác định vị trí các đối tượng được đề cập (xe hơi, trụ cứu hỏa), hiểu mối quan hệ không gian của chúng (bên cạnh) và xác định thuộc tính cụ thể (màu sắc).
Khả năng này biến VQA trở thành nền tảng của trí tuệ nhân tạo đa phương thức hiện đại, vì nó yêu cầu một mô hình phải suy luận đồng thời trên nhiều loại dữ liệu khác nhau. Hệ thống thường sử dụng bộ mã hóa hình ảnh, chẳng hạn như Mạng thần kinh tích chập (CNN) hoặc Bộ chuyển đổi hình ảnh (ViT) , để diễn giải các đặc điểm hình ảnh, và bộ mã hóa văn bản để xử lý truy vấn ngôn ngữ. Sau đó, các đầu vào này được kết hợp bằng các kỹ thuật hợp nhất, thường tận dụng cơ chế chú ý để tập trung vào các phần liên quan của hình ảnh tương ứng với các từ trong câu hỏi.
Khả năng truy vấn dữ liệu trực quan một cách linh hoạt mở ra nhiều khả năng đáng kể trong nhiều ngành công nghiệp khác nhau.
Mặc dù các mô hình VQA từ đầu đến cuối đã tồn tại, nhiều quy trình thực tế vẫn dựa vào khả năng phát hiện đối tượng mạnh mẽ như một bước nền tảng. Bộ phát hiện xác định và định vị các đối tượng, cung cấp ngữ cảnh cần thiết cho công cụ trả lời.
Ví dụ, bạn có thể sử dụng YOLO26 để trích xuất các lớp đối tượng và vị trí, sau đó đưa chúng vào mô hình ngôn ngữ hoặc mô-đun suy luận chuyên dụng.
from ultralytics import YOLO
# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
# VQA systems use these detections to understand scene content
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Print detected classes (e.g., 'bus', 'person') which answer "What is in the image?"
for r in results:
print(r.boxes.cls) # Class indices
r.show() # Visualize the context
Điều quan trọng là phải phân biệt VQA với các nhiệm vụ xử lý ngôn ngữ hình ảnh khác để hiểu rõ vai trò cụ thể của nó.
Nghiên cứu hiện đại thường sử dụng các tập dữ liệu quy mô lớn như Tập dữ liệu VQA để huấn luyện các mô hình này, giúp chúng khái quát hóa trên hàng triệu cặp hình ảnh-câu hỏi. Khi các Mô hình Ngôn ngữ Quy mô lớn (LLM) tiếp tục phát triển, khả năng VQA ngày càng được tích hợp trực tiếp vào các mô hình nền tảng, làm mờ ranh giới giữa các nhiệm vụ thị giác thuần túy và các nhiệm vụ ngôn ngữ thuần túy.