Cos'è la Computer Vision
La Computer Vision (CV) è la parte dell'AI che fa «vedere» ai computer immagini e video. Per una macchina un'immagine è una matrice di numeri, un valore per pixel: tutto il campo consiste nel trasformare quei numeri in significato, cioè riconoscere oggetti, leggere testo, misurare distanze, identificare volti.
Punti chiave
- La Computer Vision converte i pixel di immagini e video in comprensione semantica utile a decisioni automatiche.
- Le reti neurali convoluzionali (CNN) sono il fondamento tecnico, oggi affiancate dai Vision Transformer.
- I task principali sono classificazione, object detection, segmentazione, OCR e face recognition.
- Il transfer learning consente risultati eccellenti con poche immagini, partendo da modelli pre-addestrati.
- Le applicazioni etiche (volti, privacy) richiedono conformità a GDPR e AI Act.
La disciplina ha subito una rivoluzione dal 2012, quando AlexNet, una rete neurale convoluzionale, ha superato drasticamente tutti i metodi tradizionali nella competizione ImageNet. Da allora, il deep learning è diventato l'approccio dominante per qualsiasi task di CV.
CNN: il fondamento
Le Convolutional Neural Networks (CNN) sono l'architettura su cui si fonda la Computer Vision moderna. Il principio chiave è la convoluzione: filtri (kernel) di piccole dimensioni (es. 3x3) scorrono sull'immagine, rilevando pattern locali.
Architettura CNN tipica
Input (immagine) → Conv + ReLU (estrazione feature) → Pooling (riduzione dimensionale) → [ripeti N volte] → Flatten → Fully Connected → Output (classificazione)
I primi layer convoluzionali catturano feature di basso livello (bordi, angoli, texture), mentre i layer più profondi combinano queste feature in concetti di alto livello (occhi, ruote, edifici). Questa gerarchia appresa automaticamente è ciò che rende le CNN così potenti: la rete impara da sola quali caratteristiche siano rilevanti, senza che un esperto debba programmarle a mano.
Le architetture si sono succedute in fretta:
- LeNet (1998): pioniera, usata per il riconoscimento di cifre scritte a mano.
- AlexNet (2012): ha reso il deep learning dominante nella CV.
- VGG (2014): dimostrò che la profondità (16-19 layer) migliora le prestazioni.
- ResNet (2015): connessioni residuali (skip connections) permettono reti con 100+ layer.
- EfficientNet (2019): scaling ottimale di profondità, larghezza e risoluzione.
Image classification
La classificazione è il compito di base: dare un'etichetta a un'immagine. Per anni il metro di paragone è stato ImageNet, 14 milioni di immagini e mille categorie, e il momento in cui una rete ha battuto tutti gli altri metodi lì dentro è la data di nascita di tutto quello che è venuto dopo.
Oggi la classificazione è un problema largamente risolto per i domini comuni (accuracy >95% su ImageNet). Le sfide si sono spostate su domini specialistici (medico, industriale) e su condizioni difficili (poca luce, occlusione, angolazioni inusuali). In ambito aziendale la classificazione abilita usi molto concreti: controllo qualità su linee di produzione, moderazione automatica dei contenuti, ordinamento di archivi fotografici e tagging di cataloghi e-commerce.
Per la valutazione si usano le stesse metriche degli algoritmi di classificazione tradizionali: accuracy, precision, recall, F1-score, calcolate attraverso la matrice di confusione.
Object detection e YOLO
L'object detection va oltre la classificazione: identifica cosa c'è nell'immagine e anche dove, disegnando bounding box attorno a ogni oggetto rilevato.
Le architetture si dividono in due famiglie, e la scelta è un compromesso fra precisione e velocità:
| Approccio | Modelli | Caratteristiche |
|---|---|---|
| Two-stage | R-CNN, Faster R-CNN | Alta accuracy, più lento. Prima propone regioni, poi classifica. |
| One-stage | YOLO, SSD, RetinaNet | Veloce (real-time), predice box e classi in un solo passo. |
YOLO (You Only Look Once) è il modello più popolare per il rilevamento in tempo reale. La versione attuale (YOLOv8/v9 di Ultralytics) raggiunge prestazioni eccellenti su GPU consumer e può essere fine-tunato su dataset personalizzati con poche centinaia di immagini annotate. Questo lo rende ideale per progetti applicati: conteggio di persone o veicoli, rilevamento di difetti, monitoraggio di scaffali nel retail o sicurezza sul lavoro, spesso eseguibili anche su dispositivi edge a basso costo.
Segmentazione
La segmentazione classifica ogni singolo pixel, quindi dà un dettaglio che il rettangolo intorno all'oggetto non può dare:
- Semantic segmentation: assegna una classe a ogni pixel (es. "strada", "edificio", "cielo"). Non distingue le istanze individuali.
- Instance segmentation: distingue le singole istanze dello stesso oggetto (es. "persona 1", "persona 2"). Mask R-CNN e il modello di riferimento.
- Panoptic segmentation: combina i due approcci, coprendo sia "stuff" (cielo, strada) che "things" (auto, persone).
Modelli recenti come SAM (Segment Anything Model di Meta) hanno reso la segmentazione quasi universale: dati un punto o un box come prompt, SAM segmenta qualsiasi oggetto in qualsiasi immagine senza addestramento specifico.
OCR e face recognition
L'OCR (Optical Character Recognition) converte testo presente nelle immagini in testo digitale editabile. Le applicazioni spaziano dalla digitalizzazione di documenti storici alla lettura automatica di targhe, ricevute e moduli compilati a mano. Strumenti moderni come Tesseract (open source) e i servizi cloud (Google Vision, AWS Textract) combinano CNN per il rilevamento del testo e RNN/Transformer per il riconoscimento dei caratteri. Per le aziende è una leva concreta di automazione: estrarre dati da fatture e contratti, alimentare gestionali e ridurre l'inserimento manuale.
Il face recognition identifica o verifica l'identità di una persona dal volto. La pipeline tipica prevede: (1) face detection (localizzare il volto), (2) alignment (normalizzare la posa), (3) feature extraction (generare un embedding facciale), (4) matching (confrontare con un database). Le implicazioni etiche e di privacy sono significative e richiedono attenzione normativa (GDPR, AI Act): prima di adottare questi sistemi è essenziale valutare la base giuridica, la minimizzazione dei dati e la trasparenza verso le persone coinvolte.
Transfer learning nella CV
Il transfer learning è la pratica che rende la CV accessibile: si prende un modello già addestrato su un dataset enorme (di solito ImageNet) e lo si adatta al proprio caso con il fine-tuning.
Una CNN da zero praticamente non la addestra nessuno. Con il transfer learning si arriva a risultati buoni con qualche centinaio di immagini, perché le caratteristiche generali le ha già imparate qualcun altro su milioni di foto.
La strategia tipica è congelare i layer iniziali (che hanno appreso feature generiche come bordi e texture) e ri-addestrare solo gli ultimi layer sulla propria task. Più il dominio è diverso da ImageNet, più layer si ri-addestrano.
I Vision Transformer (ViT) stanno prendendo il posto delle CNN pure: applicano il meccanismo di attenzione delle reti Transformer a pezzi di immagine invece che a parole. Modelli come CLIP e DINO capiscono immagini che non hanno mai visto etichettate, e portano la CV e il NLP a parlare la stessa lingua: è il motivo per cui oggi si può chiedere a un modello «cosa c'è in questa foto» e ottenere una frase.
Vuoi imparare ad applicarlo davvero?
Scopri i corsi e la formazione di Federico Boggia su AI, dati e digitale.