Poche settimane fa, due notizie hanno fatto scalpore nell’universo del web.
Entrambe aventi come obiettivo due colossi del web (Google e Facebook, e chi altri ?) e entrambe avente come mattone basilare la Computer Vision.
Zuckerberg conosce la tua faccia.
La notizia, apparsa su molte testate giornalistiche, ha avuto il solito effetto di attacco alla privacy da parte del Grande Fratello Digitale di turno.
Stavolta è stata la volta di Facebook e il suo famigerato Tag Suggestions.
Questa funzionalità permette di identificare automaticamente i volti presenti in una foto e di associarli alla persona relativa.
Premetto che non mi interessano le questioni relative alla privacy, semplicemente perchè la privacy è un concetto che ha perso significato con l’avvento delle tecnologie digitali.
Basti pensare che è sufficiente un contatore di visite su un sito (poche linee di codice associate a servizi gratuiti come il whois) per tracciare il comportamento dei visitatori, senza ricorrere a tecnologie da conquista dello spazio.
Torniamo ora alla Computer Vision applicata da Facebook.
Personalmente non conosco nè gli algoritmi utilizzati nè tantomeno l’intera piattaforma, ma credo di poter tracciare a grosse linee un funzionamento di massima.
Descriviamo di nuovo la funzionalità : data una foto, il sistema riconosce i volti e li associa alla relativa persona.
Ma come fa ?
Chi mastica un pò di computer vision, sarà a conoscenza di algoritmi per il riconoscimento di volti.
Questa è la pagina relativa a questa funzionalità delle opencv : http://opencv.willowgarage.com/wiki/FaceRecognition
Una volta caricare l’immagine, viene effettuata un’operazione di pre-processamento (Pre Processing) che permette di “pulire” l’immagine.
Dopo il riconoscimento del volto (detection) vengono estratte delle caratteristiche, relative al volto stesso, e “trasformate” in forma numerica (Feature Extraction).
Se avete taggato un vostro amico su Facebook, il sistema di Zuckerberg farà corrispondere a queste feature il volto del vostro amico.
All’atto del caricamento di una nuova foto, si farà un comparazione tra le feature nuove e quelle già presenti in archivio (naturalmente non verrà fatta una ricerca su tutte le persone iscritte a facebook, ma la ricerca verrà limitata ai vostri amici e se essa fallisce, verrà fatta sugli amici dei vostri amici) e avverrà il riconoscimento vero e proprio del volto presente nella foto.
Da premettere che il software può essere “aiutato” da voi stessi.
Se segnalate 10 foto dove è presente Elvis Priesley, il sistema saprà già, grazie a voi, le caratteristiche del noto Re del Rock And Roll, e non avrà problemi a riconoscerlo all’undicesima foto.
Naturalmente ho illustrato una possibile soluzione di massima.
A Mountain View* la computer vision non interessa tanto (e si vede).
Da poche settimane la Ricerca Per Immagini di Google, si è arricchita di una funzionalità totalmente nuova ( stesso discorso di Facebook, ovvero chi sa cosa sia la computer vision, avrà sicuramente sentito parlare di Image Retrival) : invece di scrivere il testo nel campo di ricerca, si carica un’immagine e il grande motore di ricerca vi offrirà tutti i siti che hanno la stessa immagine o un’immagine simile.

Come nel caso di Facebook, non considero le implicazioni sociali della tecnologia, ma mi limito a commentare ciò che vedo.
A mio personale avviso, questa funzionalità è da migliorare, sia a livelli tecnici che di marketing.
Innanzitutto la quantità di immagini indicizzate da Google è inimmaginabile ed è relativa alle più disparati soggetti, mentre le foto auto-taggate da Facebook sono relative soltanto a quelle dove sono presenti volti.
Mettiamoci poi tutte quelle immagini che Google non riesce ad indicizzare per vari motivi.
Il problema , secondo me, è legato sia alla quantità delle immagini in gioco sia all’obiettivo che si vuole raggiungere con tale tecnologia.
Mettiamo per esempio di voler cercare una foto del famoso Generale Lee (mitica autovettura rossa di Hazzard) .
Uno dei possibili risultati potrebbe essere il seguente :

Come potete notare, non c’è nessuna immagine, tra quelle proposte, della famosa auto rossa. Addirittura ci sono dei risultati che non sono nemmeno delle auto.
Naturalmente ho preso un caso particolare, ma sono sicuro che su altri Google ci restituirà i risultati attesi.
Magari vengono tratti loghi o immagini binarie più semplici.
La mia attenzione, invece di essere rivolta alle tecniche utilizzate, è stata catturata dalla motivazione dello sviluppo di tale funzionalità.
Sicuramente c’è una questione di marketing : essendo Google la prima grande aziende del Web, non poteva non entrare in un campo come quella della computer vision.
Io credo che Google voglia entrare con le “armi pesanti” nel campo dell’Image Retrieval, per un altro scopo : youtube.
Una volta affinati gli algoritmi di riconoscimenti, essi possono essere portati , con le opportune modifiche, sulla piattaforma Youtube.com . Questo per permettere a Google di effettuare una ricerca per immagini all’interno dei filmati.
Ciò permetterebbe all’azienda di Mountain View di indicizzare i video caricati, in maniera più efficiente e soprattutto puntuale.
Ricordate il caso del video che riprendeva lo studente down picchiato e deriso dai compagni ?
Alcuni dirigenti di Google furono condannati (fonte) perchè avevano lasciato il video sulla famosa piattaforma di condivisione video.
Bene, se ci fosse stato un sistema automatico di rilevazione di immagini inadatte, un video del genere non sarebbe stato proprio pubblicato.
Naturalmente queste sono mie idee, e (per fortuna o sfortuna) non so cosa passi per la mente dei geni di Mountain View.
* Mountain View è la storica sede californiana di Google