Sblocchi il telefono al buio e la schermata si apre prima ancora che tu abbia finito di guardarlo. Poche ore dopo scrivi «cane» nella galleria fotografica e il telefono ti tira fuori anche lo scatto in cui del cane si vede solo la coda dietro un divano. Poi inquadri un cartello in tedesco e la traduzione compare sovrapposta al cartello, storta come il cartello. Tre gesti diversi, la stessa macchina dietro: la computer vision. E la stessa macchina che fa tutto questo, messa davanti all’immagine di un gatto la cui pelliccia è stata sostituita con la pelle di un elefante, risponde «elefante».
In questo articolo scoprirai:
- La computer vision che sbaglia dove un bambino non sbaglierebbe
- Come la computer vision trasforma un’immagine in numeri e filtri
- Quanti numeri elabora la computer vision per analizzare una foto
- Esempi di computer vision nella vita reale: Face ID, fabbriche e targhe
- Visione artificiale, machine vision e computer grafica: le differenze
La computer vision che sbaglia dove un bambino non sbaglierebbe
Il comportamento che hai sotto gli occhi ogni giorno è asimmetrico, ed è questa asimmetria la cosa interessante. Da una parte una precisione che sembra sovrumana: Apple dichiara per Face ID una probabilità di falso riconoscimento inferiore a 1 su 1.000.000 con un solo volto registrato, e il sistema funziona al buio completo perché non guarda una fotografia ma una mappa di profondità costruita proiettando migliaia di punti infrarossi invisibili. Dall’altra parte errori che nessuna persona farebbe: il traduttore che legge «5» dove c’è un «S», la fotocamera che scambia per un volto una presa elettrica, l’auto assistita che non vede un camion bianco contro il cielo.
La stessa asimmetria la vedi nei casi aziendali. Una linea di produzione che scarta bottiglie difettose lavora bene per mesi, poi cambia il fornitore delle etichette e il sistema comincia a scartare pezzi buoni. Un lettore di documenti che digitalizza fatture in quattro secondi si blocca davanti a un timbro storto. Non è capriccio: è il segno che la macchina non sta guardando quello che guardi tu.
Perché la computer vision sbaglia dove una persona non sbaglia
Chi si aspetta che un sistema di visione «veda» come vediamo noi resta spiazzato due volte: dalla velocità con cui fa cose difficili e dalla stupidità con cui sbaglia cose facili. Le due sorprese hanno la stessa causa, e la causa è il modo in cui l’immagine entra nel computer. Non come scena, non come oggetti: come una tabella di numeri, su cui vengono fatti scorrere dei filtri che misurano somiglianze locali. Da lì in poi tutto è aritmetica, e l’aritmetica si può contare.
Con le parole succede la stessa cosa, ed è il mestiere del natural language processing: anche il testo entra nel computer come numeri, non come significati.
Come la computer vision trasforma un’immagine in numeri e filtri
La computer vision funziona trasformando ogni immagine in una griglia di numeri, un valore di luminosità per ciascun pixel e per ciascuno dei tre canali di colore, e facendo poi scorrere su quella griglia delle piccole matrici di pesi, chiamate filtri, che a ogni posizione calcolano quanto la zona sotto di loro somiglia a un motivo appreso durante l’addestramento. Il risultato non è un’immagine ma una nuova griglia di punteggi, che passa a uno strato successivo con filtri più grandi e più astratti: bordi, poi angoli, poi texture, poi parti di oggetto. L’etichetta finale, «gatto», «cartello di stop», «difetto», è la classe che alla fine di questa catena riceve il punteggio più alto.
Dentro la computer vision non esiste nessuna immagine della scena
Il punto che rovescia l’intuizione è questo: in nessun momento esiste, dentro la macchina, una rappresentazione della scena. Non c’è un «gatto» memorizzato da confrontare. C’è una catena di misure di somiglianza locale, i cui pesi sono stati aggiustati milione di immagine dopo milione di immagine finché l’uscita giusta è diventata la più probabile. È lo stesso principio che regge tutto il deep learning, dove sono gli strati a scegliersi da soli cosa guardare, e la sua incarnazione visiva sono le reti neurali convoluzionali.
Se la parola «matrice» ti ha fatto alzare un sopracciglio, la parte di algebra lineare che serve davvero al machine learning è meno di quella che ricordi dall’università.
Quanti numeri elabora la computer vision per analizzare una foto
Prendi una foto da 12 megapixel, il formato standard di quasi tutti gli smartphone: 4032 × 3024 pixel. Ogni pixel ha tre valori, rosso, verde, blu, ciascuno da 0 a 255. Sono 4032 × 3024 × 3 = 36.578.304 numeri. Quella è, letteralmente, l’immagine per il computer: trentasei milioni e mezzo di interi.
Nessun modello lavora su quella mole. La foto viene ridimensionata al formato d’ingresso classico dei classificatori, 224 × 224 pixel: 224 × 224 × 3 = 150.528 numeri. È esattamente 243 volte meno dati dello scatto originale, e questo è il primo posto dove la macchina perde informazione: la scritta minuscola sul cartellino, la venatura sottile sul pezzo difettoso, il dettaglio che tu vedresti ingrandendo. Non è un difetto del modello, è una scelta a monte del modello.
Perché il primo strato di una rete costa 86 milioni di moltiplicazioni
Ora il filtro. Un filtro 3 × 3 applicato su tre canali contiene 3 × 3 × 3 = 27 pesi, e a ogni posizione fa 27 moltiplicazioni più una somma. Con il padding, le posizioni su una griglia 224 × 224 sono 50.176. Quindi un solo filtro costa 27 × 50.176 = 1.354.752 moltiplicazioni. Un primo strato tipico non ha un filtro: ne ha 64. Totale: 64 × 1.354.752 = 86.704.128 moltiplicazioni, per una singola immagine, nel solo primo strato. Gli strati sono decine.
Quanto costa oggi, in millisecondi, riconoscere gli oggetti in un fotogramma
Il conto completo, per i modelli di rilevamento oggetti moderni, è pubblicato dal produttore. La documentazione di YOLO11 di Ultralytics riporta per la variante più piccola, YOLO11n, 6,5 miliardi di operazioni in virgola mobile per immagine a 640 × 640 pixel, con 2,6 milioni di parametri: 1,5 millisecondi su una GPU T4, ma 56,1 millisecondi su CPU. La variante più grande, YOLO11x, sale a 195,3 miliardi di operazioni e 462,8 millisecondi su CPU. Tieni a mente il 56,1: un video a 25 fotogrammi al secondo concede 40 millisecondi per fotogramma. Anche il modello più leggero, su CPU, arriva a circa 18 fotogrammi al secondo, sotto la soglia. È questo numero, non una preferenza estetica, a decidere se la telecamera avrà bisogno di una GPU dedicata.
Esempi di computer vision nella vita reale: Face ID, fabbriche e targhe
Cambia un pezzo del meccanismo e cambia il comportamento della macchina, in modo prevedibile. Tre esempi in cui la cosa si tocca con mano.
Face ID cambia il dato in ingresso, non il modello. Invece di partire da una foto a colori, che al buio non esiste, parte da una nuvola di punti infrarossi e da una mappa di profondità, che Apple trasforma in quella che chiama «una rappresentazione matematica» del volto. Conseguenza immediata: il sistema funziona al buio, e una fotografia stampata del tuo volto non lo apre, perché su carta la mappa di profondità è piatta. Nessuna magia: hanno cambiato la griglia di numeri su cui i filtri scorrono.
Nel controllo qualità cambia la taratura della soglia. Un modello di rilevamento non dice «difetto sì/difetto no»: emette un punteggio fra 0 e 1, e qualcuno decide sopra quale valore scatta lo scarto. Alza la soglia a 0,9 e passeranno pezzi difettosi; abbassala a 0,4 e scarterai pezzi buoni. Quando una linea «peggiora da sola» dopo mesi, spesso nessuno ha toccato il modello: è cambiata la luce del capannone, o la carta delle etichette, e la distribuzione dei numeri in ingresso non è più quella su cui il modello è stato tarato.
Nel lettore di targhe cambia il compito, non il modello. Qui non serve un’etichetta per tutta l’immagine, ma una sequenza di caratteri: il sistema ritaglia la targa, o il timbro sulla fattura, e poi legge un simbolo alla volta, con una confidenza per ciascun carattere. È lì che la soglia lavora sul singolo pezzo di testo: se la targa è inclinata, il contrasto basso o il timbro storto, la confidenza su un carattere scende e il modello restituisce il candidato successivo, che è quello graficamente più vicino, il «5» al posto della «S», lo «0» al posto della «O». È lo stesso identico meccanismo che ti fa comparire una traduzione sbagliata sopra il cartello in tedesco: nessuno legge la parola, si misurano forme. Per questo i lettori seri non restituiscono solo il testo, ma anche la confidenza: sotto una certa soglia il documento va in coda a una persona, invece di entrare nel gestionale con un carattere inventato.
Computer vision: esempi di compiti diversi che sembrano lo stesso compito
Un’ultima distinzione che spiega metà dei malintesi nei progetti. Classificazione: un’etichetta per tutta l’immagine («questa radiografia è sospetta»). Rilevamento: un riquadro attorno a ogni oggetto, con la sua etichetta, è quello che fa YOLO, ed è quello che serve per contare le persone in una stanza. Segmentazione: l’assegnazione di un’etichetta a ogni singolo pixel, quando serve il contorno esatto e non il riquadro. OCR: l’estrazione del testo. Sono quattro modelli diversi, quattro costi diversi e quattro modi diversi di annotare i dati di addestramento; chiedere «un sistema di computer vision» senza dire quale dei quattro è come ordinare «un mezzo di trasporto».
Visione artificiale, machine vision e computer grafica: le differenze
«Visione artificiale» è semplicemente la traduzione italiana di computer vision: stessa cosa, stesso significato. «Machine vision» invece, nell’uso industriale, indica qualcosa di più stretto: il sistema completo, telecamera, illuminatore, ottica, software, installato su una linea per un compito di misura o di controllo ripetitivo, in condizioni di luce controllata. La computer vision è la disciplina, la machine vision è l’impianto: la seconda usa spesso la prima, ma sopravvive anche con algoritmi deterministici, senza nessuna rete neurale.
Che differenza c’è tra computer vision e computer grafica
Vanno nella direzione opposta, e il modo più rapido per ricordarlo è guardare cosa entra e cosa esce. La computer grafica parte da un modello, geometrie, materiali, luci, e produce un’immagine; la computer vision parte da un’immagine e cerca di risalire al modello: quali oggetti ci sono, dove, quanto sono lontani. La grafica è un problema diretto e ben posto: dati gli stessi input, stesso risultato. La visione è un problema inverso e mal posto, perché infinite scene tridimensionali producono la stessa immagine piatta. Da qui la parte contro-intuitiva: generare un tramonto fotorealistico è oggi più affidabile che dire con certezza se in una foto c’è un cane o un lupo.
Vale la pena notare che negli ultimi anni le due direzioni si sono incontrate: i modelli generativi imparano dalle immagini e ne producono di nuove. È una storia che abbiamo raccontato a parte, parlando di intelligenza artificiale generativa, e che non annulla la distinzione: un generatore di immagini non sa dirti quanti pezzi difettosi ci sono sul nastro.
Come il deep learning ha cambiato la computer vision dal 2012 a CLIP
Prima cosa che manca. Il salto che ha reso tutto questo praticabile è del 2012: la rete presentata da Krizhevsky, Sutskever e Hinton a NIPS, addestrata su 1,3 milioni di immagini su 1.000 classi, con 60 milioni di parametri, portò l’errore top-5 al 18,9% sul contest ILSVRC-2010, dove il miglior metodo precedente riportato nella tabella comparativa dello stesso paper, SIFT più Fisher Vectors, si fermava al 25,7%. Da allora il metodo non è cambiato nella sostanza, è cambiata la scala.
La computer vision classifica la texture, non la forma
Seconda cosa, ed è quella che spiega il gatto-elefante dell’apertura. Nel 2019 un gruppo di ricercatori ha verificato, con 48.560 prove psicofisiche su 97 osservatori umani, che le reti convoluzionali addestrate su ImageNet classificano prevalentemente in base alla texture, mentre le persone classificano in base alla forma. Non è un errore del singolo modello: è una proprietà di come i filtri imparano. Ed è il motivo per cui un sistema può essere accuratissimo in laboratorio e fragile quando cambia la superficie di ciò che guarda.
Quando questa spiegazione non vale. Tutto il conto qui sopra descrive un classificatore convoluzionale addestrato su un elenco chiuso di categorie. Non descrive i modelli più recenti: CLIP è stato addestrato su 400 milioni di coppie immagine-testo e raggiunge l’accuratezza di una ResNet-50 su ImageNet senza aver mai usato le 1,28 milioni di immagini di addestramento di quel dataset. Lì non esiste un elenco di 1.000 classi: immagine e frase finiscono nello stesso spazio e si confrontano per vicinanza, lo stesso meccanismo della similarità coseno nella ricerca. Ed è esattamente questo che risponde quando scrivi «cane» nella galleria fotografica e ti esce anche lo scatto con solo la coda dietro il divano: nessuno ha etichettato quella foto come «cane», la frase che hai digitato e l’immagine finiscono nello stesso spazio e vince quella più vicina.
Da quella idea discendono i modelli che oggi leggono uno screenshot e rispondono a domande su di esso, come GPT-4V, e più in generale tutto ciò che chiamiamo multimodalità.
I progetti di computer vision falliscono sui dati, non sul modello
Terza cosa, la meno tecnica e la più cara. Quasi nessun progetto di visione fallisce sul modello: fallisce sui dati e sulla taratura. Decidere quale dei quattro compiti serve, come si annotano le immagini, quale soglia scatta, chi guarda i casi dubbi e cosa succede quando cambia la luce del capannone: è lavoro di impostazione, non di licenza software. Vale anche per gli agenti: su mimir.bot l’agente è il prodotto, ma portarlo dentro i dati, i casi e le soglie di una specifica azienda è una fase a sé, che richiede qualcuno che quei dati li conosca, è la stessa fase che si attraversa quando si costruiscono agenti AI su misura per l’azienda. Un modello consegnato senza quella parte è un motore consegnato senza la macchina attorno.
Fonti:
- Apple, Sicurezza avanzata delle tecnologie Face ID
- Ultralytics, Documentazione del modello YOLO11
- Krizhevsky, Sutskever, Hinton, ImageNet Classification with Deep Convolutional Neural Networks (NIPS 2012)
- Geirhos et al., ImageNet-trained CNNs are biased towards texture (ICLR 2019)
- Radford et al., Learning Transferable Visual Models From Natural Language Supervision (CLIP, 2021)
Domande frequenti
Che cos'è la computer vision in parole semplici?
È la disciplina che permette a un computer di ricavare informazioni da immagini e video. L'immagine viene trasformata in una griglia di numeri, uno per pixel e per canale di colore, e su quella griglia scorrono dei filtri che misurano quanto ogni zona somiglia a motivi appresi durante l'addestramento. L'etichetta finale è la classe che riceve il punteggio più alto: dentro la macchina non esiste nessuna rappresentazione della scena.
Che differenza c'è tra computer vision e computer grafica?
Vanno nella direzione opposta. La computer grafica parte da un modello fatto di geometrie, materiali e luci e produce un'immagine; la computer vision parte da un'immagine e cerca di risalire al modello, cioè a quali oggetti ci sono e dove. La grafica è un problema diretto e ben posto, la visione è un problema inverso e mal posto, perché infinite scene tridimensionali producono la stessa immagine piatta.
Computer vision e machine vision sono la stessa cosa?
No. «Visione artificiale» è la traduzione italiana di computer vision e indica la disciplina. «Machine vision», nell'uso industriale, indica l'impianto completo, telecamera, illuminatore, ottica e software, installato su una linea per un compito ripetitivo in condizioni di luce controllata. La machine vision usa spesso la computer vision, ma può funzionare anche con algoritmi deterministici, senza alcuna rete neurale.
Perché un sistema di computer vision che funzionava smette di funzionare?
Quasi sempre non è cambiato il modello, sono cambiati i dati in ingresso: la luce del capannone, il fornitore delle etichette, l'inquadratura. Le reti convoluzionali classificano prevalentemente in base alla texture, quindi una variazione di superficie sposta la distribuzione dei numeri su cui il sistema era stato tarato. L'altra causa frequente è la soglia di decisione: alzarla lascia passare difetti, abbassarla scarta pezzi buoni.



