Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Visual Question Answering (VQA)

Hỏi đáp thị giác (VQA) là tác vụ trả lời các câu hỏi bằng ngôn ngữ tự nhiên về một hình ảnh. Bài viết trình bày cách model VQA hoạt động, các benchmark chính và cách chấm điểm.

Hỏi đáp trực quan (VQA) là tác vụ trả lời câu hỏi bằng ngôn ngữ tự nhiên về một hình ảnh, chẳng hạn như "Chiếc xe buýt màu gì?", "Có bao nhiêu người đang chờ?" hoặc "Bếp có đang bật không?" Hệ thống nhận đồng thời hình ảnh và câu hỏi rồi trả về câu trả lời ngắn, nên phải đọc câu hỏi, tìm các phần liên quan trong ảnh và kết hợp thông tin; vì vậy VQA là bài kiểm tra tiêu chuẩn cho AI đa phương thức. Stanislaw Antol cùng các đồng nghiệp tại Virginia Tech và Microsoft Research giới thiệu tác vụ này cùng benchmark quy mô lớn đầu tiên là dataset VQA tại ICCV 2015: khoảng 250.000 hình ảnh, phần lớn từ COCO, với 760.000 câu hỏi mở và 10 câu trả lời do con người đưa ra cho mỗi câu hỏi, tổng cộng khoảng 10 triệu câu trả lời.

Cách hoạt động của model VQA#

Model VQA mã hóa ảnh bằng mạng nơ-ron tích chập (CNN) hoặc vision transformer (ViT), mã hóa câu hỏi bằng model ngôn ngữ rồi hợp nhất hai phần. Các model đời đầu hợp nhất đặc trưng ảnh toàn cục với vector câu hỏi từ LSTM, rồi xem việc trả lời là bài toán phân loại trên vài nghìn câu trả lời phổ biến nhất. Sau đó, cơ chế attention cho phép câu hỏi chọn vị trí cần tập trung: model bottom-up và top-down của Peter Anderson cùng cộng sự, đoạt giải VQA Challenge năm 2017, áp dụng attention trên các vùng do model phát hiện đối tượng đề xuất, nhờ đó câu hỏi “Xe buýt có màu gì?” có thể tập trung vào box xe buýt. Các model vision-language (VLM) hiện nay tạo câu trả lời tự do bằng model ngôn ngữ sau khi tinh chỉnh theo chỉ dẫn thị giác trên dữ liệu gồm ảnh, câu hỏi và câu trả lời.

Benchmark và vấn đề thiên lệch ngôn ngữ#

Các model VQA đời đầu đạt điểm cao một phần nhờ bỏ qua hình ảnh. Có thể đoán câu trả lời cho nhiều câu hỏi chỉ từ cách diễn đạt; chẳng hạn, câu hỏi bắt đầu bằng "Có... không?" thường được trả lời là "có", còn câu hỏi "Môn thể thao nào là..." thường có đáp án "tennis". VQA v2 do Yash Goyal cùng các đồng nghiệp phát hành tại CVPR 2017 đã khắc phục thiên lệch ngôn ngữ này bằng cách ghép mỗi câu hỏi với hai hình ảnh tương tự nhưng có câu trả lời khác nhau, buộc model phải quan sát hình ảnh để đạt điểm cao. Các dataset ra đời sau nhắm đến từng kỹ năng:

  • VizWiz: Hơn 31.000 câu hỏi do người mù đặt ra về ảnh họ chụp bằng điện thoại; nhiều ảnh bị mờ hoặc bố cục kém.
  • TextVQA: Các câu hỏi cần đọc văn bản trong cảnh, chẳng hạn số trên áo thi đấu hoặc tên trên mặt tiền cửa hàng.
  • GQA: Các câu hỏi mang tính tổ hợp được tạo từ đồ thị cảnh, chẳng hạn "Chiếc cốc bên trái chiếc đĩa có làm bằng thủy tinh không?"
  • OK-VQA: Các câu hỏi cần kiến thức bên ngoài, chẳng hạn món ăn có nguồn gốc từ quốc gia nào.
  • VQA-RAD: 3,515 câu hỏi do bác sĩ lâm sàng viết về 315 ảnh X-quang, được xây dựng tại Thư viện Y khoa Quốc gia Hoa Kỳ.

Vì mọi người có thể diễn đạt cùng một câu trả lời đúng theo nhiều cách khác nhau, benchmark VQA chấm điểm câu trả lời dựa trên số người trong 10 người gán nhãn đưa ra câu trả lời đó; từ ba câu trả lời trùng khớp trở lên được tính là hoàn toàn chính xác, rồi lấy trung bình trên mọi tập con gồm chín người gán nhãn:

# Ten crowd answers to "What color is the bus?", as collected for every VQA question
human_answers = ["red"] * 7 + ["red and white"] * 2 + ["orange"]


def vqa_accuracy(prediction, answers):
    """Average min(matches / 3, 1) over the ten leave-one-out subsets of nine answers."""
    scores = []
    for i in range(len(answers)):
        others = answers[:i] + answers[i + 1 :]
        scores.append(min(others.count(prediction) / 3, 1))
    return sum(scores) / len(scores)


for prediction in ["red", "red and white", "orange", "blue"]:
    print(f"{prediction}: {vqa_accuracy(prediction, human_answers):.2f}")

Cách này in ra 1.00 cho "red", 0.60 cho "red and white", 0.30 cho "orange" và 0.00 cho "blue": câu trả lời chỉ có một người gán nhãn đưa ra vẫn nhận được điểm một phần, còn câu trả lời không ai đưa ra thì không được điểm. Kết quả được báo cáo riêng cho các loại câu trả lời yes/no, số lượng và loại khác; câu hỏi về số lượng luôn đạt điểm thấp nhất vì tác vụ đếm đòi hỏi phải tìm chính xác một lần mọi đối tượng. Bộ phát hiện trả lời trực tiếp các câu hỏi đếm: YOLO26 trả về một bounding box cho mỗi đối tượng, nên số lượng bounding box "person" trong kết quả dự đoán trả lời câu hỏi "How many people are in the picture?" với bất kỳ class nào trong 80 class của COCO. Với các class nằm ngoài danh sách đó, mô hình thị giác-ngôn ngữ cũng có thể trả về bounding box; Bảng xếp hạng VLM đo lường độ chính xác khi chúng phát hiện đối tượng trong dataset thực tế.

Mô tả ảnh mô tả toàn bộ hình ảnh mà không cần câu hỏi, còn VQA trả lời một câu hỏi cụ thể. Định vị trực quan trả về vị trí của đối tượng được cụm từ nhắc đến, thường dưới dạng bounding box, còn VQA trả lời câu hỏi về đối tượng đó. Nhận dạng ký tự quang học (OCR) cung cấp văn bản cần thiết cho các câu hỏi kiểu TextVQA, còn suy luận trực quan là quá trình suy luận nhiều bước mà các câu hỏi mang tính tổ hợp như trong GQA đòi hỏi. Hỏi đáp chỉ dùng văn bản dựa trên một đoạn văn thay vì pixel.

Ứng dụng#

Công nghệ hỗ trợ là ứng dụng rõ ràng nhất. Năm 2023, Be My Eyes bổ sung Be My AI, xây dựng trên GPT-4 của OpenAI, để người dùng khiếm thị và thị lực kém có thể chụp nhãn, màn hình hoặc đường phố rồi đặt câu hỏi. Các nhóm bán lẻ và sản xuất hỏi VLM về ảnh kệ hàng hoặc ảnh kiểm tra thay vì huấn luyện một bộ phân loại cho từng câu hỏi. Trong y tế, nghiên cứu VQA y tế hướng đến các câu hỏi như “Có bị gãy xương không?” về ảnh X-quang và CT, một dạng phân tích ảnh y tế được VQA-RAD đánh giá bằng các câu hỏi bác sĩ lâm sàng viết khi xem ảnh.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning