Come nascono le mappe di Google

Di - 24 September 2012 - in

Il lancio di Apple Maps ha reso evidente a tutti quanto sia difficile realizzare un buon sistema di mappe e navigazione, e di come Google Maps sia un prodotto davvero ricco di funzionalità che si danno per scontate ma di cui si sente la mancanza se non le si ha a disposizione.

Google è di fatto una azienda che si occupa di aggregazione e analisi di dati, e con la sua enorme esperienza ha integrato in Maps dati provenienti dalle fonti piú disparate ottenendo un prodotto che, ad una interfaccia semplice e naturale, accompagna una grande disponibilità di informazioni. Tali informazioni, pur restando poco visibili, semplificano moltissimo la navigazione nelle mappe e rendono precisi e accurati i risultati di qualsiasi tipo di ricerca.

Le fonti di dati che Google ha a disposizione sono molte. Prima di tutto, ovviamente, le immagini satellitari e la cartografia che ottiene dai suoi partner. Poi ci sono i dati provenienti dalle fotocamere e dai GPS delle Google Car, i dati sui punti di interesse provenienti da utenti, Google Car, esercizi commerciali e molto altro e infine, ma assolutamente non meno importanti, i feedback provenienti dall’utenza e i dati sul traffico, anch’essi in parte provenienti dall’utenza.

Vediamo allora come nasce una mappa di Google. Prima di tutto si prendono i dati cartografici e le immagini a disposizione, e si sovrappongono.

Dopo un’analisi superficiale, si potrebbe credere che il lavoro sia fatto. Le strade ci sono, l’autostrada è distinta con un colore diverso. Ma evidentemente mancano ancora moltissime informazioni, come ad esempio la percorribilità delle strade nei due sensi di marcia e gli eventuali divieti di accesso. Inoltre, guardando attentamente, sono presenti diversi difetti: strade mancanti, strade tracciate male. Qui se ne evidenziano alcuni:

Gran parte dei dati mancanti possono essere aggiunti grazie alle Google Car. Queste automobili, mandate da Google a percorrere piú di otto milioni di chilometri, sono equipaggiate con un GPS e un insieme di fotocamere che registrano immagini a trecentosessanta gradi della strada.

Le Google Car non servono solamente ad associare alle mappe il servizio Street View, ma servono anche a registrare dati cartografici, in particolare strade e direzioni, e a fotografare tutto ciò che è presente sulla strada.

Le immagini provenienti da queste automobili, grazie all’elaborazione effettuata da software di visione artificiale (su cui Google fa ricerca di ottimo livello), permettono di ottenere prima di tutto informazioni di base, come i numeri civici, e poi informazioni utili alla cartografia, come ad esempio i segnali stradali. Gran parte della segnaletica stradale è molto facile da riconoscere a macchina, si pensi ad esempio al cartello di divieto di accesso, fondamentale per capire i sensi di marcia. A questo si aggiungono i tracciati GPS registrati dalle automobili, che permettono di sapere con certezza che una strada è percorribile.

Per incroci e zone con una viabilità particolarmente complessa, il software di Google è in grado di mettere i segnali stradali riconosciuti in sovrimpressione sulla mappa, cosí da permettere correzioni manuali molto agevoli.

Ed è appunto alle correzioni manuali che ci si affida per gli ulteriori miglioramenti. Gli utenti possono segnalare errori (o suggerire mappature attraverso Map Maker), che verranno poi gestiti uno a uno dagli operatori, i quali in questo modo istruiscono anche software ad apprendimento automatico, che man mano diventano in grado di automatizzare sempre di piú il processo.

Il software che Google utilizza nell’editing delle mappe si chiama Ground Truth, ed ha proprio il compito di aggregare tutti i dati disponibili su una certa area, tanto dai sistemi di Google quanto dagli utenti Map Maker, per permettere all’operatore di poter prendere decisioni corrette. Grazie agli utenti Map Maker e alle Google Car, Ground Truth permette anche di indicizzare luoghi sui quali non esistono dati: è in corso l’indicizzazione di una grande quantità di villaggi in India assenti su altre mappe. È sempre Ground Truth che si occupa di prendere autonomamente decisioni dove lo creda possibile, e di segnalare all’operatore eventuali problematiche che non sa gestire.

Dietro le mappe di Google, dunque, c’è anche un grande lavoro da parte di persone: non è tutto automatizzato come si potrebbe immaginare, e l’automazione non fa altro che replicare scelte fatte da operatori in situazioni analoghe a quelle che si trova a dover gestire.

Molte operazioni, poi, non sono facilmente automatizzabili: si pensi al sentiero che compare in alto a sinistra nella seconda foto. Non si ha alcun dato su quello: non è una strada segnalata, non è accessibile alle Google Car, è praticamente impossibile da notare per un software ad apprendimento automatico. Potrebbe davvero essere qualunque cosa. L’unico modo per indicizzarlo è che lo faccia un operatore, a mano.

Ed ecco come appare la stessa mappa dopo un’attenta lavorazione manuale: tutti i sentieri sono segnalati, le strade hanno ben evidenziati i sensi di marcia, tutte le corsie dei parcheggi sono disegnate perfettamente, i tracciati si sovrappongono bene alle strade reali, e i principali edifici sono stati contornati in maniera da averne il profilo e di non trattarli da semplici buchi tra una strada e l’altra. Addirittura, nell’incrocio tra le due strade principali, sono resi evidenti i sensi di marcia delle rampe dello svincolo.

Un lavoro davvero impressionante, se si pensa a quante strade siano disponibili sulle mappe e a quanto siano effettivamente molto precise e curate, ormai anche in zone rurali. Una quantità di dati che nessuno ha mai realizzato con tanta cura. Pensiamo ad esempio a tutte le informazioni disponibili sui punti di interesse: nelle grandi città ormai è indicizzato quasi ogni singolo negozio. Anche in riferimento alla sola indicizzazione delle strade, forse si trova un vero rivale solo in OpenStreetMap, progetto a cui lavorano contemporaneamente una quantità davvero enorme di persone.

Dopo aver capito bene cosa ci sia “sotto al cofano” delle mappe Google, ci si accorge che sono dati che vanno ben oltre il semplice utilizzo per la creazione di mappe. Quando hai strade, punti di interesse, indirizzi, informazioni di contatto (per moltissimi esercizi commerciali si hanno numeri di telefono, siti web, indirizzi email…), fotografie StreetView, informazioni sul traffico, informazioni sui mezzi di trasporto, informazioni meteo, tutto perfettamente indicizzato e geolocalizzato con una precisione che si può garantire solo con il controllo umano, la banale mappa è solo un modo di rappresentare quei dati.

E Google infatti permette di cercare nel web favorendo risultati che riguardano cose vicine all’utente, permette di utilizzare anche in base a criteri geografici il Knowledge Engine attraverso le Card di Android 4.01, permette di creare percorsi da un posto ad un altro che siano ottimali.

Nel futuro si intravedono moltissime altre interfacce a questa banca dati. In particolare, Google Glass potrebbe rendere possibile, grazie alla sua tecnologia per la realtà aumentata, di mostrare nel mondo reale i dati di Maps, evidenziano percorsi, mettendo informazioni di contatto davanti ai negozi, permettendo di muoversi nelle città allo stesso modo in cui navighiamo su una mappa online.

Difficilmente, nei pochi anni che ci separano ormai dalle versioni mature del progetto Glass, altre aziende riusciranno ad accumulare dati che siano paragonabili a quelli di Google per quantità e precisione. In sostanza la parte piú difficile del progetto è già pronta e utilizzabile.

Via | The Atlantic

Leave a Reply

Lorenzo Breda Articolo scritto da

Studente di Informatica a Roma, si occupa di programmazione web sopratutto lato server, e di accessibilità del web. Utilizza e ama Debian GNU/Linux, e si interessa di fisica, fumetto, trekking e fotografia (gli ultimi due possibilmente abbinati).
Collabora con Googlab da aprile 2012.

Contatta l'autore

Previous post:

Next post: