Visual Question Answering (VQA)
A resposta a perguntas visuais (VQA) é a tarefa de responder a perguntas em linguagem natural sobre uma imagem. Como funcionam os modelos VQA, principais benchmarks e avaliação.
A resposta a perguntas visuais (VQA) consiste em responder a uma pergunta em linguagem natural sobre uma imagem, como «De que cor é o autocarro?», «Quantas pessoas estão à espera?» ou «O fogão está ligado?». O sistema recebe em conjunto a imagem e a pergunta e devolve uma resposta curta, pelo que tem de interpretar a pergunta, encontrar as partes relevantes da imagem e combiná-las, o que faz da VQA um teste padrão de IA multimodal. Stanislaw Antol e os seus colegas da Virginia Tech e da Microsoft Research apresentaram a tarefa e o seu primeiro grande referencial, o conjunto de dados VQA, na ICCV 2015: cerca de 250 000 imagens, maioritariamente do COCO, com 760 000 perguntas abertas e 10 respostas humanas para cada uma, aproximadamente 10 milhões de respostas no total.
Como funcionam os modelos VQA#
Um modelo VQA codifica a imagem com uma rede neural convolucional (CNN) ou um transformador de visão (ViT), codifica a pergunta com um modelo de linguagem e funde os dois. Os primeiros modelos combinavam características globais da imagem com o vetor da pergunta de uma LSTM e tratavam a resposta como uma classificação entre as milhares de respostas mais comuns. Depois, um mecanismo de atenção permitiu que a pergunta escolhesse para onde olhar: o modelo bottom-up e top-down de Peter Anderson e colegas, vencedor do VQA Challenge de 2017, direcionava a atenção a regiões propostas por um modelo de detecção de objetos. Assim, "Qual é a cor do ônibus?" podia se concentrar na caixa do ônibus. Os atuais modelos de visão e linguagem (VLMs) geram respostas abertas com um modelo de linguagem, após o ajuste de instruções visuais com dados de imagem, pergunta e resposta.
Referenciais e o problema das priorizações linguísticas#
Os primeiros modelos VQA obtinham boas pontuações, em parte, ignorando a imagem. Muitas perguntas podem ser respondidas por adivinhação com base apenas na formulação: «Há algum/alguma...» costuma ter como resposta «sim», e «Que desporto é...» tem frequentemente como resposta «ténis». O VQA v2, publicado por Yash Goyal e os seus colegas na CVPR 2017, contrariou estas priorizações linguísticas associando cada pergunta a duas imagens semelhantes com respostas diferentes, obrigando o modelo a observar a imagem para obter uma boa pontuação. Os conjuntos de dados posteriores focam-se cada um numa competência:
- VizWiz: Mais de 31 000 perguntas feitas por pessoas cegas sobre fotografias tiradas com os seus telemóveis, muitas delas desfocadas ou mal enquadradas.
- TextVQA: Perguntas que exigem a leitura de texto na cena, como o número numa camisola ou o nome na fachada de uma loja.
- GQA: Perguntas de composição geradas a partir de grafos de cenas, como «A chávena à esquerda do prato é de vidro?»
- OK-VQA: Perguntas que exigem conhecimentos externos, como saber de que país é um prato.
- VQA-RAD: 3 515 perguntas sobre 315 imagens radiológicas, redigidas por profissionais de saúde e criadas na Biblioteca Nacional de Medicina dos EUA.
Como as pessoas formulam as respostas corretas de maneiras diferentes, o referencial VQA pontua uma resposta com base no número de anotadores humanos, entre os 10, que a deram. Três ou mais correspondências contam como totalmente corretas, e a pontuação é calculada como a média sobre todos os subconjuntos de nove anotadores:
# 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}")Ele imprime 1,00 para "vermelho", 0,60 para "vermelho e branco", 0,30 para "laranja" e 0,00 para "azul": uma resposta dada por apenas um anotador ainda recebe crédito parcial, e uma resposta que ninguém deu não recebe nenhum. Os resultados são informados separadamente para os tipos de resposta sim/não, número e outros; as perguntas numéricas têm consistentemente a pontuação mais baixa, porque contar exige encontrar cada instância exatamente uma vez. Os detectores respondem diretamente a perguntas de contagem: o YOLO26 retorna uma caixa por objeto, então o número de caixas de "person" no resultado de predição responde a "Quantas pessoas há na imagem?" para qualquer uma das 80 classes do COCO. Para classes fora dessa lista, modelos de linguagem visual também podem retornar caixas, e o VLM Leaderboard mede a precisão com que detectam objetos em conjuntos de dados do mundo real.
VQA vs. tarefas relacionadas#
A legendagem de imagens descreve uma imagem inteira sem que lhe seja feita uma pergunta, enquanto a VQA responde a uma pergunta específica. A localização visual devolve a localização do objeto referido por uma expressão, muitas vezes sob a forma de uma caixa delimitadora, enquanto a VQA devolve uma resposta sobre esse objeto. O reconhecimento ótico de caracteres (OCR) fornece o texto a que se referem as perguntas do tipo TextVQA, e o raciocínio visual é a inferência em várias etapas exigida por perguntas de composição como as do GQA. A resposta a perguntas apenas textual baseia-se numa passagem, em vez de píxeis.
Aplicações#
A tecnologia assistiva é a aplicação mais evidente. O Be My Eyes lançou o Be My AI, baseado no GPT-4 da OpenAI, em 2023 para que pessoas cegas ou com baixa visão possam fotografar um rótulo, uma tela ou uma rua e fazer perguntas sobre isso. Equipes de varejo e manufatura perguntam aos VLMs sobre fotos de prateleiras ou imagens de inspeção, em vez de treinar um classificador para cada pergunta. Na saúde, a pesquisa em VQA médica aborda perguntas como "Há uma fratura?" sobre radiografias e tomografias, uma forma de análise de imagens médicas que o VQA-RAD avalia com perguntas escritas por médicos enquanto observavam as imagens.










