Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Visual Question Answering (VQA)

Il visual question answering (VQA) è il compito di rispondere a domande in linguaggio naturale su un'immagine. Come funzionano i modelli VQA, benchmark principali e metriche.

La risposta a domande visive (VQA) consiste nel rispondere a una domanda in linguaggio naturale su un'immagine, come «Di che colore è l'autobus?», «Quante persone stanno aspettando?» o «Il fornello è acceso?». Il sistema riceve insieme l'immagine e la domanda e restituisce una risposta breve, quindi deve interpretare la domanda, trovare le parti pertinenti dell'immagine e combinarle: per questo la VQA è un test standard di AI multimodale. Stanislaw Antol e i colleghi di Virginia Tech e Microsoft Research hanno introdotto l'attività e il suo primo benchmark di grandi dimensioni, il dataset VQA, a ICCV 2015: circa 250.000 immagini, perlopiù da COCO, con 760.000 domande a risposta aperta e 10 risposte umane per ciascuna, circa 10 milioni di risposte in totale.

Come funzionano i modelli VQA#

Un modello VQA codifica l'immagine con una rete neurale convoluzionale (CNN) o un transformer visivo (ViT), codifica la domanda con un modello linguistico e fonde le due rappresentazioni. I primi modelli fondevano le caratteristiche globali dell'immagine con il vettore della domanda generato da una LSTM e trattavano la risposta come una classificazione sulle poche migliaia di risposte più frequenti. Un meccanismo di attenzione ha poi permesso alla domanda di indicare dove guardare: il modello bottom-up e top-down di Peter Anderson e colleghi, vincitore della VQA Challenge 2017, applicava l'attenzione alle regioni proposte da un modello di rilevamento degli oggetti, così la domanda «Di che colore è l'autobus?» poteva concentrarsi sul riquadro dell'autobus. Gli attuali modelli visione-linguaggio (VLM) generano risposte aperte con un modello linguistico, dopo l'ottimizzazione visiva per seguire istruzioni su dati di immagini, domande e risposte.

Benchmark e problema dei priori linguistici#

I primi modelli VQA ottenevano buoni punteggi anche ignorando l'immagine. Molte domande si possono indovinare dalla formulazione, perché a «C'è un...» si risponde spesso «sì» e a «Quale sport è...» spesso «tennis». VQA v2, pubblicato da Yash Goyal e colleghi a CVPR 2017, contrastava questi priori linguistici abbinando ogni domanda a due immagini simili con risposte diverse, così il modello doveva guardare le immagini per ottenere un buon punteggio. I dataset successivi si concentrano ciascuno su una specifica capacità:

  • VizWiz: oltre 31.000 domande poste da persone cieche su foto scattate con il telefono, molte delle quali sfocate o inquadrate male.
  • TextVQA: domande che richiedono di leggere il testo presente nella scena, come il numero su una maglia o il nome sulla facciata di un negozio.
  • GQA: domande composizionali generate da grafi della scena, come «La tazza alla sinistra del piatto è di vetro?».
  • OK-VQA: domande che richiedono conoscenze esterne, per esempio da quale paese proviene un piatto.
  • VQA-RAD: 3.515 domande scritte da medici su 315 immagini radiologiche, create presso la US National Library of Medicine.

Poiché le persone formulano diversamente le risposte corrette, il benchmark VQA assegna un punteggio a una risposta in base al numero dei 10 annotatori umani che l'hanno fornita: considera pienamente corretti tre o più riscontri e calcola la media su ogni sottoinsieme di nove annotatori:

# 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}")

Stampa 1,00 per "red", 0,60 per "red and white", 0,30 per "orange" e 0,00 per "blue": una risposta fornita da un solo annotatore ottiene comunque un punteggio parziale, mentre una risposta fornita da nessuno non ottiene punti. I risultati vengono riportati separatamente per le risposte sì/no, numeriche e di altro tipo; le domande numeriche ottengono sistematicamente il punteggio più basso, perché per contare bisogna trovare ogni istanza esattamente una volta. I rilevatori rispondono direttamente alle domande di conteggio: YOLO26 restituisce un riquadro per ogni oggetto, quindi il numero di riquadri "person" nel risultato della predizione risponde alla domanda "Quante persone ci sono nell'immagine?" per ognuna delle sue 80 classi COCO. Per le classi non presenti in quell'elenco, anche i modelli visione-linguaggio possono restituire riquadri, e la classifica VLM misura la precisione con cui rilevano gli oggetti nei dataset del mondo reale.

La generazione di didascalie per immagini descrive un'intera immagine senza che venga posta una domanda, mentre la VQA risponde a una domanda specifica. Il grounding visivo restituisce la posizione dell'oggetto nominato da una frase, spesso tramite un riquadro di delimitazione, mentre la VQA fornisce una risposta sull'oggetto. Il riconoscimento ottico dei caratteri (OCR) fornisce il testo a cui si riferiscono le domande di tipo TextVQA, mentre il ragionamento visivo è l'inferenza in più passaggi richiesta da domande composizionali come quelle di GQA. La risposta a domande basata solo sul testo usa un brano invece dei pixel.

Applicazioni#

La tecnologia assistiva è l'applicazione più evidente. Nel 2023 Be My Eyes ha aggiunto Be My AI, basato su GPT-4 di OpenAI, consentendo alle persone cieche o ipovedenti di fotografare un'etichetta, uno schermo o una strada e porre domande al riguardo. I team di vendita al dettaglio e produzione interrogano i VLM su foto di scaffali o immagini d'ispezione, anziché addestrare un classificatore per ogni domanda. Nell'assistenza sanitaria, la ricerca sul VQA medico studia domande come «C'è una frattura?» poste su radiografie e scansioni TC: è una forma di analisi di immagini mediche che VQA-RAD valuta usando domande scritte da medici mentre osservavano le immagini.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning