Informazioni su intelligenza artificiale e Visione personalizzata

Completato

Ora che il progetto è pronto, è opportuno esaminare a livello generale quello che si sta per fare. L'intelligenza artificiale (IA) è esattamente quello che suggerisce il nome, artificiale. Si tratta di un'intelligenza simulata che usa una quantità enorme di dati come supporto.

Esaminando in modo specifico il rilevamento oggetti del servizio di intelligenza artificiale Visione personalizzata, è possibile suddividere il processo in due passaggi:

  1. Si indica al servizio di intelligenza artificiale dove si trova un oggetto in un'immagine.
  2. Si assegna al servizio di intelligenza artificiale un'immagine con l'oggetto e si indica all'utente dove si trova l'oggetto.

Sembra piuttosto semplice, ma in che modo il servizio di intelligenza artificiale sa come eseguire questa operazione?

Riconoscimento delle immagini: Colore

Anche se approfondire com'è strutturata l'intelligenza artificiale esula dall'ambito di questo modulo, è possibile iniziare a comprendere come funziona. I computer si basano su ciò che può essere convertito in dati, più precisamente sui numeri. Si può immaginare un computer che, quando viene visualizzata un'immagine, è in grado di scorrerne ogni pixel e indicare il colore esatto in ogni posizione. Un computer di questo tipo non è necessariamente "intelligente", ma è in grado di indicare il colore di ogni pixel mentre li scorre.

Si supponga ora che il computer sia leggermente più intelligente e in grado di identificare il colore primario che compare in un'immagine. Si può già iniziare a formare il computer (o per la precisione a eseguire il training nel caso dell'intelligenza artificiale) per identificare le immagini. Ad esempio, se si mostra al computer questa immagine di Bungee:

Image that shows mostly Bungee.

Il computer probabilmente capirebbe che le immagini prevalentemente di colore bianco e giallo sono immagini di Bungee. Ma cosa accadrebbe se si mostrasse al computer questa immagine di Chang'e?

Image that shows Chang'e playing ping pong.

Anche questa immagine contiene molto bianco e giallo, quindi il computer potrebbe pensare che si tratti anche in questo caso di un'immagine di Bungee.

E se si mostrasse al computer questa immagine di Bungee accanto al cielo notturno?

Image that shows Bungee looking at the Moon.

C'è del bianco, ma manca il giallo, quindi probabilmente il computer penserà che non sia un'immagine di Bungee.

Riconoscimento delle immagini: Forma

Per tenere conto di immagini di oggetti diversi con colori simili o di immagini dello stesso oggetto con colori diversi, gli algoritmi di intelligenza artificiale sono stati sviluppati in modo da iniziare a riconoscere linee e forme. Si può iniziare a pensare come si è ottenuto questo risultato all'inizio dello sviluppo dell'intelligenza artificiale. Una linea o una forma può essere descritta come una variazione di colore.

Anziché tenere traccia solo dei colori aggregati in un'immagine, il computer potrebbe iniziare a prendere in considerazione anche la posizione in cui si trovano questi colori. Se gli stessi colori sono uno accanto all'altro, è probabile che creino una linea o una forma.

Questo tipo di analisi può essere utile, ad esempio, se si iniziano a identificare le immagini della Luna. A questo punto si può dire che un'immagine contiene la Luna se è visibile un cerchio bianco, in genere su uno sfondo blu o nero, come nella figura seguente:

Image that shows the Moon against a night sky.

E se si mostrasse al computer questa immagine:

Image that shows the Moon behind Fei Fei.

Con molta probabilità il computer la riconoscerebbe ancora perché si vede distintamente un cerchio bianco su uno sfondo blu o nero.

Probabilmente, invece, non sarebbe in grado di riconoscere la seguente come immagine della Luna:

Image that shows the Moon with a big dog taking a bite from it.

Perché non si tratta di un cerchio bianco completo.

Riconoscimento delle immagini: Intelligenza artificiale avanzata

Come si può notare, la progressione dell'intelligenza artificiale, in particolare per quel che riguarda il riconoscimento delle immagini, è iniziata in modo semplice ed è diventata più complessa quando sempre più persone hanno iniziato a investire per trovare altri modi in cui i computer riuscissero a capire cosa stessero vedendo. Nel mondo attuale e con l'intelligenza artificiale alla base della risorsa di Visione personalizzata di Azure, il riconoscimento delle immagini prende in considerazione molto più del semplice colore o della forma. Il training del servizio di intelligenza artificiale è stato eseguito su migliaia e milioni di immagini. Il servizio di intelligenza artificiale può rilevare differenze minime tra cani e gatti, cosa che potrebbe sembrare ovvia per l'occhio umano. Ma se un computer esamina due forme marroni delle stesse dimensioni con quattro zampe, una coda e un paio di orecchie, si noterà com'è impressionante che le fattezze di un gatto possano essere differenziate da quelle di un cane.

Training su immagini specifiche

Mentre l'intelligenza artificiale avanzata è in grado di rilevare numerosi oggetti comuni (cani e gatti, automobili e biciclette), è richiesto ancora molto lavoro per eseguire il training del servizio di intelligenza artificiale in modo da riconoscere un oggetto specifico, ad esempio un personaggio particolare di un film specifico come Bungee.

È a questo punto che entra in gioco il servizio Visione personalizzata. Questo servizio integra un'intelligenza artificiale in background che ha già una certa conoscenza del mondo, ma non sa nulla di Bungee (o di un altro animale domestico). Quindi, sarà necessario fornire una grande quantità di immagini di Bungee e indicare al servizio di intelligenza artificiale che ritraggono Bungee. Ogni nuova immagine di Bungee fornisce al servizio di intelligenza artificiale più dati sulle caratteristiche che rappresentano Bungee nello specifico. Quante più immagini verranno fornite di Bungee, da diverse angolazioni e con illuminazione e dimensioni differenti, tanto più il servizio di intelligenza artificiale sarà in grado di riconoscerla all'interno di un'immagine più grande.

Questo processo è detto training dell'intelligenza artificiale.

Successivamente, il servizio di intelligenza artificiale verrà testato per verificare se il training è stato eseguito correttamente. Questa operazione verrà eseguita presentando immagini contenenti Bungee mai viste prima. È fondamentale eseguire il test con immagini che il servizio di intelligenza artificiale non ha usato per il training. In caso contrario, non verrà effettivamente testata la capacità del servizio di intelligenza artificiale di riconoscere Bungee, ma si riconoscerà semplicemente la sua capacità di ricordare di avere già visto quella specifica immagine.

Questo è il passaggio della stima di questo progetto e viene chiamato test dell'intelligenza artificiale.

Dopo aver verificato che la stima del servizio di intelligenza artificiale è sufficientemente precisa, è possibile distribuire il servizio di intelligenza artificiale in modo che altri utenti possano usarlo per identificare oggetti tramite cellulare o computer. Questa attività esula da questo modulo, ma è decisamente da sperimentare.

Nota

Quando si è creato il progetto di Visione personalizzata nel portale di Visione personalizzata, è stato chiesto quale area usare per eseguire separatamente il training e la stima. Questo perché, ad esempio, si potrebbe eseguire il training del servizio di intelligenza artificiale da casa a Seattle, nello Stato di Washington. In questo caso, si potrebbero usare le risorse cloud più vicine all'utente in modo che il processo sia veloce. Ma questa funzionalità di intelligenza artificiale potrebbe essere in seguito distribuita a un amico che vive a Londra per fargli ottenere le stime velocemente. In tal caso, è consigliabile usare le risorse cloud più vicine all'amico per agevolare le stime.