La visione computerizzata – nel seguito Computer Vision, CV – è una branca dell’Intelligenza Artificiale (IA) che ha come obiettivi individuare ed estrarre informazioni da immagini e video, in modo analogo alla visione umana. Si propone di realizzare tecniche e algoritmi per ricavare informazioni e dare senso ai segnali visivi provenienti da foto e videocamere.
Lo sviluppo della CV è favorito dall’accumulo in rete di grandi quantità di dati digitali (Big data) [2, 3] e dallo sviluppo dell’apprendimento automatico o Machine Learning. Nasce la Scienza dei dati (Data science) per la necessità di leggere, organizzare e archiviare i big data. In connessione logica con i programmi di Scienza dei dati, quelli di Apprendimento automatico – in particolare, la sottocategoria dell’Apprendimento profondo (Deep learning) – consentono di individuare dettagli interessanti nelle immagini e registrarli in modo permanente, per i compiti da svolgere nelle fasi successive della CV: di questi ultimi daremo una breve sintesi nel paragrafo che segue.
Una panoramica sulle applicazioni della Computer Vision
- Biomedicina. La CV è uno strumento di supporto alla diagnosi medica per immagini. Significativi progressi sono stati compiuti per ottenere diagnosi più accurate anche grazie all’apprendimento automatico di big data sanitari;
- Agricoltura e ambiente. La CV è usata anche grazie alle immagini aeree e satellitari per il monitoraggio ambientale: il rilevamento di concentrazioni di inquinanti; malattie delle piante; movimenti dei terreni; fenomeni atmosferici;….
- Produzione industriale. Controlli di qualità; individuazione di difetti nella produzione. Industrie del trattamento dei rifiuti e del recupero energetico.
- Industria automobilistica. Strumenti di interpretazione visiva per la guida autonoma, cioè senza guida umana (Unmanned Autonomous Vehicles, UAV); la sperimentazione è già in corso nel trasporto pubblico di città come Singapore. Fra i compiti citiamo ad esempio il riconoscimento di segnali stradali e conseguente controllo dei parametri di guida; il mantenimento della direzione di marcia (lane keeping).
- Visione robotica. La CV è usata per supporto alla navigazione autonoma in ambienti ostili, in cui può individuare ed evitare ostacoli, o riconoscere mete da raggiungere. Grazie alla CV abbiamo sotto i nostri occhi i fondali marini per mezzo dei ROV (Remotely-Operated Vehicles); i paesaggi desolati del Marte per mezzo dei rover della NASA.
- Sicurezza e sorveglianza. Innumerevoli sono i compiti della CV per prevenire incidenti o eventi criminosi. Esempi sono il monitoraggio del traffico urbano (Figura 1, par.2.2); il tracciamento (inseguimento, tracking) di oggetti in movimento; il rilevamento e riconoscimento di volti (face recognition);….
- Cultura e intrattenimento. La CV può operare in combinazione con la grafica 3D, che a sua volta è in grado di generare scene tridimensionali per arricchire l’esperienza visiva di un visitatore/-ice di un museo (virtual and augmented reality).
- Sport. Gli obiettivi raggiunti dalla CV sono l’individuazione degli atleti (player tracking) e la stima dei parametri di movimento (posizioni, velocità,…); la produzione di sintesi grafiche (highlight) per meglio fruire di un evento sportivo (Figura 2, par.2.2).
La Computer Vision e i contenuti visivi
Le applicazioni sopra elencate sono ispirate alla visione umana, naturalmente.
Un problema: la semantica
Obiettivo che caratterizza la CV è assegnare una semantica ai dati, cioè comprenderne il contenuto e i significati. La CV non si limita a rilevare elementi dell’apparenza visiva – profili, forme, colori,.. – per i quali si usano librerie programmi ben note. ‘Semantica’ è un termine generico da specificare nei suoi tanti risvolti applicativi; coinvolge le capacità cognitive umane assieme a quelle puramente sensoriali. Ne illustriamo alcuni aspetti.
- Trattare le ambiguità. Le scene reali contengono varie forme di ambiguità: le ombre, che spesso sono forme da eliminare; oggetti interposti tra osservatore e osservato (occlusioni); profili mal definiti di oggetti lontani;…. Elementi anch’essi reali, i quali fanno sì che non sempre siamo sicuri di riconoscere qualcosa o qualcuno. Dunque, ogni oggetto individuato automaticamente dalla CV è in effetti un’ipotesi, che spesso nei computer è associata a un numero che esprime ‘quanto è credibile’ l’ipotesi stessa.
- Classificare. Assegnare una semantica significa spesso identificare gli oggetti presenti nell’immagine dando loro un nome (etichetta, label).
- Mettere in relazione. La semantica riguarda anche le relazioni spaziali e temporali. Un computer deve comprendere che un oggetto rispetto ad altri è sopra/sotto; appare prima/dopo;… con le infinite varianti che ciò comporta.
- Fare riferimento ai contesti. È necessario interpretare come i diversi elementi si combinano per dare un significato complessivo al flusso dei dati visivi.
- Comprendere il movimento. La semantica prevede il riconoscimento delle azioni e interazioni tra persone e oggetti.
- Visione come interpretazione. Per compiti come l’analisi interpretativa di opere d’arte o di messaggi pubblicitari, la semantica richiede anche la comprensione di come singoli segni esprimono significati. È il caso, ad esempio, di un oggetto che appare in un dipinto; un logo aziendale; un segnale stradale. Il compito è ancora più profondo e complesso, e fa uso di strumenti della Semiotica.
Una risposta: la segmentazione
In che modo la CV affronta il problema della semantica? Una risposta è nei programmi che dopo la fase iniziale di apprendimento effettuano la segmentazione di un’immagine o fotogramma (frame). Per introdurre la segmentazione illustriamo alcuni risultati [4] nelle Figure 1 e 2.
Figura 1
L’archivio (dataset) è stato raccolto dalle università di Pennsylvania (USA) e Fudan (Shangai, Cina); contiene 170 immagini stradali a colori, prese in condizioni reali con risoluzione di 224×224 pixel; obiettivo è individuare i singoli pedoni.
In Figura 1 due immagini originali appaiono a sinistra, in alto e in basso; si nota in quella in basso che alcuni pedoni occludono (par.2.1) parzialmente la vista di altri pedoni, il che causa difficoltà di interpretazione anche nella visione umana.
Nelle immagini al centro il computer ha individuato i pedoni, e li inquadra in rettangoli (box) di colore verde, rispettivamente due in alto e sei in basso (object detection). Si noti come il problema delle occlusioni sia stato risolto con discreta precisione. All’interno di ogni box verde sono tracciati in rosso i profili dei pedoni. Nelle immagini a destra il programma ha tracciato le forme complete (aree) dei pedoni, a cui ha assegnato un colore che le identifica; ha eliminato gli altri oggetti presenti nella scena assegnando loro un unico colore azzurro di sfondo: ha effettuato una segmentazione. Dunque, la segmentazione seleziona le forme rilevanti per un certo scopo, ed elimina dettagli ritenuti superflui. È possibile compiere ulteriori analisi, rendendo più dettagliata la semantica: ad esempio, dall’immagine segmentata si può stimare la profondità di ogni pedone (terza dimensione) rispetto al punto di vista; o rilevare dettagli (abiti, volti dei pedoni,..).
La successiva Figura 2 illustra il grado di precisione che la CV può raggiungere nella segmentazione e il riconoscimento di oggetti (in figura i calciatori).
Figura 2
Per l’apprendimento si sono usati filmati di partite di calcio della Bundesliga tedesca; in Figura 2 è riportato un singolo fotogramma da uno dei filmati. È stato adottato un programma di CV chiamato YOLOv8 [5]; si effettua una segmentazione con riconoscimento dei numeri dei singoli calciatori, i quali sono seguiti (tracking) da un fotogramma all’altro del filmato. Un esempio di highlight appare in basso a destra. Gli arbitri avranno queste innovazioni sul cellulare, e forse non ci sarà futuro per il VAR come è organizzato attualmente.
Le sfide della biomedicina
Ci soffermiamo su alcuni avanzamenti significativi della Computer Vision e dell’Apprendimento profondo nei settori della Biomedicina. Illustreremo per primi gli avanzamenti tecnologici, poiché hanno permesso il raggiungimento di risultati importanti dal punto di vista clinico.
Avanzamenti tecnologici della Computer Vision
- Acquisizione di immagini ad altissima risoluzione (super-resolution imaging). Il miglioramento della qualità delle immagini ha permesso di rilevare dettagli finora non raggiungibili, rendendo la diagnosi più precisa e soprattutto precoce.
- Segmentazione di organi e tessuti. Le tecniche di segmentazione semantica (par.2.2) hanno rivoluzionato la capacità di isolare organi e tessuti in immagini di Risonanza Magnetica (MRI); Tomografia Assiale (TAC); ultrasuoni;… agevolando la diagnosi e la pianificazione di interventi chirurgici.
- Analisi multimodale. L’integrazione di dati provenienti da diverse modalità di acquisizione di immagini – accennate al punto precedente – ha migliorato la comprensione delle patologie complesse, permettendo diagnosi più accurate e trattamenti personalizzati.
- Generazione di immagini sintetiche. Programmi detti Generativi (Generative Adversarial Networks, GAN) hanno permesso di generare immagini mediche artificiali con alto grado di realismo, che hanno migliorato le fasi stesse di apprendimento quando i dati reali disponibili sono scarsi.
Avanzamenti clinici della Computer Vision
- Supporti alla diagnosi del cancro. L’uso dell’apprendimento profondo per l’analisi delle immagini istopatologiche ha migliorato significativamente l’accuratezza e tempestività nella diagnosi del carcinoma mammario.
- Riconoscimento di anomalie. Algoritmi di CV sono stati sviluppati per rilevare anomalie in immagini in Anatomia Patologica con un alto grado di accuratezza, riducendo il tasso di falsi negativi in esami diagnostici come la mammografia e la TAC.
Figura 3
In Figura 3 sono riportati esempi di segmentazione di nuclei cellulari [6]. A sinistra l’immagine di input, che proviene da una sperimentazione sui tessuti polmonari; nell’immagine al centro ogni pixel è stato classificato usando etichette di colore nero, verde, azzurro, giallo; nell’immagine a destra ogni singolo nucleo cellulare viene identificato con colori diversi, e anche classificato.
- Supporti alla diagnosi di malattie retiniche. Programmi di CV sono stati usati per analizzare immagini della retina, aiutando a diagnosticare con alta precisione la retinopatia diabetica.
- Supporti alla diagnosi di malattie rare. L’applicazione della CV all’analisi delle immagini ha permesso il riconoscimento di malattie rare con maggiore precisione, supportando la diagnosi di condizioni poco conosciute o in carenza di dati.
- Assistenza chirurgica e robotica. Le tecniche di visione artificiale sono state integrate nei sistemi di chirurgia robotica per migliorare la precisione delle operazioni, fornendo assistenza in tempo reale tramite la guida di strumenti chirurgici.
Direzioni per sviluppi futuri
Diamo una breve panoramica sulle direzioni di sviluppo più promettenti della CV nell’immediato futuro, con le cautele necessarie.
I fondamenti
Si consolideranno i fondamenti scientifici dell’IA e della CV di cui abbiamo accennato al par. 1.1. Ai giovani che scelgano gli studi sulla Computer Vision consigliamo di inserire nel curriculum formativo alcuni insegnamenti tra: Scienza dei Dati (Data Science); Apprendimento Automatico (Machine Learning); Apprendimento Profondo (Deep Learning); Riconoscimento di Forme (Pattern Recognition).
L’uso dei dati
I contributi delle discipline cui si è appena accennato renderanno sempre più efficace l’utilizzo dei dati digitali in rete, che costituiscono un patrimonio inestimabile per la sintesi di nuove conoscenze. Si pensi ai dati delle cartelle cliniche e della medicina per immagini; agli archivi di musei e istituzioni culturali che sempre più facilmente saranno digitalizzati, sintetizzati e messi a disposizione di tutti.
L’integrazione con i sistemi mobili
Importanti prospettive si aprono dall’integrazione della CV con smartphone, tablet, palmari,…. Gli avanzamenti tecnologici arricchiranno di molto le esperienze individuali: si va verso la personalizzazione dei risultati della CV. Questa darà all’utente in tempo reale un’interpretazione dell’ambiente in cui si trova – ad es., è di fronte a un quadro durante la visita a un museo – sino al livello di approfondimento desiderato. Una persona ipovedente o non-vedente, grazie alla CV avrà dal proprio cellulare una descrizione audio interattiva di oggetti, persone, testi, opere d’arte che in quel momento incontra, con la traduzione automatica da una lingua all’altra. Il riconoscimento dei volti sarà sempre più preciso anche in ambienti sovraffollati o in presenza di occlusioni; e se queste tecniche possono violare la privacy, sarà la stessa CV a tutelarla con strumenti di oscuramento (blurring) dei caratteri somatici.
L’integrazione con le applicazioni grafiche
Altro orizzonte ampio nel futuro della Computer Vision sorge dall’incontro con le tecnologie della grafica computerizzata. La CV unita alla fotogrammetria consentirà la digitalizzazione avanzata e la costruzione di modelli 3D di edifici, monumenti, sculture per lo studio e la documentazione di beni culturali. È già possibile in via sperimentale produrre ambienti misti (realtà aumentata) per rendere più efficaci i percorsi museali, tramite l’immersività e l’interazione personalizzata del visitatore/-ice coi modelli dei reperti.
La generazione automatica di contenuti
La CV, combinata con le tecnologie dell’IA Generativa cui si è accennato anche nel par.3.1, permetterà la produzione automatica di audio, immagini, video,.. che potranno essere messi a confronto con riproduzioni di opere autentiche – oppure modificati ad arte con tecniche di deepfake – a scopi didattici; di intrattenimento; di produzione artigianale e artistica. Viceversa, la moderazione automatizzata adotterà la CV per rilevare in rete contenuti inappropriati e rimuoverli automaticamente.
L’integrazione coi veicoli autonomi
Attraverso il monitoraggio della circolazione migliorerà la sicurezza delle vie di comunicazione, anche in condizioni di visibilità limitata e alta densità di traffico. La CV renderà possibile la guida autonoma collaborativa, cioè la comunicazione di dati veicolo-veicolo (V2V) per condividere la conoscenza di situazioni complesse, e migliorare lo scorrimento del traffico.
Conclusioni
Abbiamo illustrato alcuni aspetti concettuali e applicativi della Computer Vision. Quando inquadriamo questa nell’ambito dell’Intelligenza Artificiale, comprendiamo meglio che le facoltà visive fanno parte integrante dei nostri processi di elaborazione della conoscenza. Con la CV si è riusciti a ingegnerizzare questo legame profondo, e trarne avanzamenti tecnologici a beneficio di molti settori della nostra vita associata. Nel par.1.2 abbiamo dato una breve panoramica delle aree applicative direttamente interessate. Abbiamo illustrato concetti che costituiscono il nucleo della CV: il compito principale è dare una semantica al flusso di immagini e dati (par.2.1); mentre la segmentazione (par. 2.2) è l’insieme delle tecniche con cui la CV affronta il problema e formula ipotesi di soluzione. Abbiamo presentato al par.3, a titolo di esempio, alcuni risultati conseguiti in ambito biomedico, mentre al successivo par.4 abbiamo dato un rapido sguardo alle direzioni di sviluppo che si prevedono per l’immediato futuro: daremo approfondimenti in un prossimo articolo, per accostarci con un po’ di fiducia alle innovazioni della Computer Vision e dell’Intelligenza Artificiale.
Bibliografia
[1] Caputo, B.: Visione Computerizzata, così l’AI (deep learning) può davvero cambiare la società. Agenda Digitale, 18 giugno 2018
[2] Floridi L.: Etica dell’Intelligenza Artificiale. Raffaello Cortina Ed., Milano, 2022
[3] Floridi L.: La Quarta Rivoluzione. Raffaello Cortina Ed., Milano, 2017
[4] Penn-Fudan database for pedestrian detection and segmentation.
https://www.cis.upenn.edu/~jshi/ped_html
[5] Ultralytics: https://docs.ultralytics.com/
[6] Wang S, Yang DM, Rong R, Zhan X, Xiao G.: Pathology Image Analysis Using Segmentation Deep Learning Algorithms. Am. J. Pathology 2019 Sep;189(9):1686-1698.