Press "Enter" to skip to content

GOTO 2018 • Augmented Reality and Machine Learning Cooperation on Mobile • Mourad Sidky


[Musica]
ciao a tutti, grazie a tutti per
frequentare il mio nome è Murat, lavoro a
Groupon come leader tecnologico iOS nel
i commercianti fanno squadra a Berlino e
oggi sono molto felice di parlare
sulla realtà aumentata e sulla macchina
imparare su mobile e più specificamente
su iOS è molto importante
capisco lo scopo del discorso così io
darà una presentazione al
due frame principali funzionano su iOS per ottenere un
o un ml e poi parlerò o
mostrando la facilità di come usare entrambi
di loro separatamente e poi finalmente io
finirà per mostrare la facilità di
come integrare entrambi per questo
esempio possiamo facilmente raggiungere il
seguente demo che sono io seduto in a
la lobby dell’hotel e sono stato in grado di identificare
oggetti intorno a me, quindi per esempio ero
in grado di identificare che si tratta di un computer
tastiera e questo è un apprendimento automatico
parte ero anche in grado di renderizzare un 3d
modello che spiega cos’è questo oggetto
che è l’aeroporto, quindi quello che faccio qui
non ha alcuna relazione con il mio lavoro, lo faccio e basta
per divertimento
nel mio part-time perché è davvero divertente
l’ agenda è di cui parlerò
cosa perché come siamo allora cosa perché come ml
e poi come entrambi su iOS così
iniziamo sono come la maggior parte di noi
Sappiamo che è l’integrazione del virtuale
modelli in realtà da Apple
prospettiva è quando usi il tuo
iPhone o iPad e poi inizi
per vedere cosa c’è dietro la macchina fotografica e poi
anche tu inizi a vedere i modelli virtuali
interagendo con la scena reale e per
un arket è disponibile solo su iOS
dispositivi quindi è per questo che sto parlando
riguardo l’iPhone e l’iPad, perché loro
possono essere utilizzati in molte applicazioni
e molti giochi ho preso un esempio
di applicazioni e un esempio di giochi
quindi il seguente video mostra un esempio
di applicazioni in meno di un minuto
Ehi io
Vorrei che tutti sapessero del
posiziona la nostra nuova app per realtà aumentata
puoi creare il nuovo kit AR di Apple
facilmente posizionare in scala modelli 3d di
Sfoglia IKEA nella tua area di scansione
selezionare e posizionare in modo che possa significare meno
di questo
[Musica]
e probabilmente più di questo
[Musica]
vogliamo renderlo più facile per le persone
ovunque per immaginare un posto migliore
condividi questo posto prova il posto al tuo posto
quindi è chiaro qui che possiamo fare uso
di AR e come mobili d’affari così
che entrambi gli utenti finali amano il commerciante
sarà felice perché le vendite lo faranno
aumentare e il consumatore sarà felice
anche perché il consumatore può
virtualizzare o visualizzare come
i mobili sembravano prima del
il consumatore prende la decisione di acquistare
un altro esempio interessante nei giochi
l’industria è il colpo veloce di questo gioco
presentato in questo anno dub dub DC che
è la conferenza mondiale degli sviluppatori di
Apple e qui quello era un esempio di a
versione arcade – che ne aveva una buona
caratteristica che possiamo condividere lo stesso
modelli virtuali su più di uno
dispositivo quindi qui ci sono tre dispositivi
i due giocatori e anche il dispositivo
dove possiamo vedere ora la demo di
tutto ciò che vediamo qui è realistico
tranne solo ciò che è sopra il tavolo e
questa caratteristica è molto buona perché può
aiuto nell’implementazione del nostro multiplayer
giochi ma può anche essere utile se noi
voglio fare apprendimento automatico distribuito
su più dispositivi, ad esempio I
avere la mia app voglio eseguirla su un dispositivo
e poi la mia app inizia a capire il
scena ma poi dopo un po ‘di tempo voglio
lancia la stessa app su un altro dispositivo
e io non voglio quest’altra
dispositivo per iniziare ad imparare da zero così
Posso usare l’ apprendimento precedente
anche via bluetooth quindi non abbiamo bisogno di qui
qualsiasi connessione Wi-Fi o Internet come la nostra
che è la parte più importante su iOS
sta usando un orkut Yorick che ha un
il framework fornito da Apple è disponibile
su iOS 11 e versioni successive ed è disponibile
su dispositivi con chip in linea e sopra
che sono per lo più iPhone 6s e iPhone se
e anche sopra le demo che sono
andando a scrivere oggi sono scritti in
Swift ma ovviamente noi sviluppatori di iOS
tutti sanno che possiamo scrivere sia in Swift
e obiettivo-c il nostro bambino arriva con gamma
di API ma oggi sono interessato solo
nel computer vision porta l’ Oracle
ha molti vantaggi è più facile da usare
il suo efficiente mobile ed è facile da
personalizzare così Apple ha risolto tutti questi problemi
sfide e ci danno questo per noi
gratis in un orkut ce ne sono alcuni
prerequisiti che abbiamo bisogno di sapere
prima di iniziare a scavare nel codice
e gli esempi sono che nel nostro vogliamo
per rendere il modello 3d giusto, ma dove siamo noi
vuoi rendere il modello 3d così com’è
sentiamo che dobbiamo fare un passo indietro
e dobbiamo capire la scena
la comprensione della scena coinvolge tre principali
passi il primo passo è che ho bisogno di
Rileva piano piano può essere verticale Let’s
Diciamo che voglio attaccare qualcosa al
il muro o l’aereo possono essere orizzontali
dico che voglio mettere qualcosa sopra il tavolo
o sopra il pavimento dopo questo passaggio I
voglio eseguire un test di calore lui
test è un processo in cui converto il
2d in 3d perché, per esempio, facciamo
dì che questo è il tavolo che voglio
rendere il modello 3d acceso e questo è il mio
dispositivo ora posso vedere il tavolo dal mio
dispositivo ma lo schermo del dispositivo è 2d così
quando tocco il dispositivo che devo fare
un qualche tipo di elaborazione che è il
test di testa che trasforma questo tocco
il 2d tocco in un punto 3d e il 3d
spazio mondiale questo è il test della testa così
a questo punto ok così a questo punto
ha rilevato un aereo e conosco il punto 3d
dove voglio rendere il mio modello ma
c’è un ultimo passaggio rimanente che
è come una destinazione leggera perché se io
non applicare questo, quindi il mio modello non può
sembra realistico
la mia modella dovrebbe apparire diversamente se io
mettilo nel luogo buio o in una luce
posto c’è un altro gradino a sinistra e
in realtà è uno di quelli che non è rimasto indietro
è il primo passo è che ho rilevato un
aereo metto la mia modella ma poi voglio
ruotare e guardare il modello da
prospettiva diversa e questo è chiamato
il tracking tracking significa che quando io
inizia a lanciare l’app che ho bisogno di sapere
la mia posizione iniziale e poi quando io
iniziare a muoversi ho bisogno di sapere dove sono
rispetto alla posizione iniziale così
per esempio se inserisco il modello
davanti a me ora vedo il motore
modello dalla parte anteriore ma quando io
camminate verso il lato della modella poi io
aspetto di vedere il modello ovviamente da
prospettiva diversa, quindi abbiamo bisogno di sapere
tutti questi passaggi ma in realtà in un orkut
con non abbiamo bisogno di sapere come questi
vengono eseguiti i passaggi che ci danno i nostri bambini
questo è gratis quindi dov’è questo dal mio
app immagina che la nostra app sia in cima
livello ora e la nostra app può comunicare
con Orkut direttamente e il nostro bambino crea
per noi ogni fondazione e movimento principale
ovviamente il nostro ha bisogno sia della fotocamera che di
movimento per eseguire l’ elaborazione degli errori
e questo ha anche fatto gratuitamente per noi
quindi non abbiamo bisogno di sapere cosa sono questi
classi cosa si sta facendo dietro e il
la parte di rendering non ha alcuna relazione con a
Orkut quindi la parte di rendering fa parte di
un altro quadro per esempio sprite
kit affondarlo e metallo dalle icone
il kit fritto è 2d affondandolo come 3d e metal
s per il rendering personalizzato oggi sto andando
concentrarsi su un orkut e lo farò
concentrati su affondarlo perché voglio disegnare
Modelli 3d quali sono le classi principali che
ci occuperemo perché è
molto importante per capirli e
capire le relazioni che la mela dà
noi una vista scena AR e dal prefisso
della classe si capisce da dove viene
questa classe viene da così il prefisso qui
sono due prefissi in realtà AR e visti così
Capisco che questa classe provenga
un orkut e visto ancora come la Apple raggiunge
questo attraverso l’ ereditarietà e la composizione
quindi questa classe eredita dalla vista scena
che contiene uno su uno o più nodi
per esempio in forma di struttura ad albero
Ho una modella e voglio essere facilmente
cambiando le parti del modello come
muovendo le braccia del modello o la testa e così via
quindi ho il nodo per ogni parte del
modello questa è la parte sincronizzata del bambino AR
parte si e il nodo contiene il
la geometria e il materiale così
la geometria è come lo scheletro e il
il materiale è come la pelle o la trama
e il nodo è ciò che vedremo quando noi
rendere il nostro modello così è qualcosa
questo è ciò che vediamo ora, ma naturalmente è il
modello virtuale non è realistico
mondo e possiamo eseguire azioni su di loro
il nodo quindi per esempio se io
voglio animare il braccio del modello I
può eseguire azioni sulla nota del braccio in modo che io
può iniziare a vederlo animare e loro
la vista scena è composta da una sessione di errore
ed è la classe principale che stiamo andando
da usare per l’arte che elabora il nostro
la sessione richiede la configurazione per l’esecuzione e
se andiamo al codice X se andiamo al
simbolo navigatore possiamo vedere che l’AR
la configurazione è la classe base che dà
noi tre gradi di libertà che ci dà
rotazione intorno all’asse z XY ed è
come l’immagine dei gradi in 3d e anche se noi
guarda le sottoclassi di questa classe
c’è una configurazione di tracciamento del viso
che è utile se voglio rilevare
volti e voglio rilevare come gli occhi
e naso e così via, ma io non voglio questo
oggi mi concentrerò sul mondo
configurazione di tracciamento qual è il
differenza tra il monitoraggio del mondo
configurazione e la configurazione AR
la tua configurazione è di tre gradi di
libertà ma stiamo monitorando la configurazione
sono sei gradi di libertà quindi è così
rotazione e traduzione lungo la x y & z
asse a cui sono interessato oggi l’a
la nostra sessione ci dà uno o più frame
e frame è la classe principale che
contiene tutto ciò che serve per
rendere il modello 3d in modo che il frame
contiene ad esempio la fotocamera
orientamento contiene anche il
lo stato del monitoraggio e lo stato del monitoraggio è
molto importante perché il monitoraggio può
essere interrotto
a causa di molte ragioni che dicono che sono
usando il mio dispositivo e poi ho iniziato a
Scuoto la dispositivo come continuamente si
significa che il movimento è distorto e
ci sono alcuni rumori così ora
lo stato di tracciamento sarà un po ‘come no
stabile anche diciamo che sto tenendo il mio
dispositivo e poi ho messo il dito sul
fotocamera o qualcosa del genere è successo
che ha interrotto la telecamera vedendo ora
quindi significa che lo stato del monitoraggio è
instabile e voglio fare qualsiasi cosa per
l’utente piace chiedere all’utente per favore
controlla il tuo ambiente e così via e io
bisogno qui per esempio per ripristinare il
sessione I può accedere al fotogramma di
tirando la cornice in qualsiasi momento voglio o
ascoltando ho delegato che mi chiama
indietro ogni volta che c’è un nuovo telaio essendo
creato e una cosa che la cornice
contiene anche questo è molto importante è
l’ancora
l’ancora è la maniglia dove ho bisogno
utilizzare per allegare il mio modello virtuale ad esso così
ora è il momento per le mani e
scrivendo del codice e mostrando qualche demo
ma prima di questo volevo menzionarlo
ci sono due tipi di app AR che c’è
La maggior parte delle app di AR e a sono opzionali
la nostra app opzionale significa per esempio se noi
avere un’app per mobili che vende
mobili ma anche in grado di visualizzare il
mobili nella scena quindi significa che
loro sono qui non è un must dell’app
hanno ancora caratteristiche che non hanno bisogno di AR
e se vogliamo farlo abbiamo un’API
che possiamo usare per accendere e spegnere il
caratteristica e significa che l’app è
sempre nel negozio ma se per esempio
guardiamo il gioco a colpo rapido è a
gioco che si basa su AR significa che
il gioco non funzionerà se non c’è un
orchidea quindi a questo punto abbiamo bisogno di scrivere
un’orchidea nella nostra configurazione nel
Progetto Xcode e quindi significa che
questa app apparirà solo nel negozio
per dispositivi particolari solo per dispositivi
che sono iOS 11 e versioni successive e una miniera
nave e al di sopra quindi cerchiamo di iniziare a scrivere
alcuni codici se ricordi il principale
la classe con cui avremo a che fare è
la scena della scena AR e se scrivo questo
classe e poi ho vinto non vedo
nulla
perché perché non ho eseguito la sessione così
se provo ora a eseguire la sessione ma
prima di eseguire la sessione che ho bisogno di
creare prima il mondo di monitoraggio
configurazione e quindi posso eseguire il
sessione passata con il monitoraggio del mondo
configurazione e quindi ora posso correre e
Ora comincerò a vedere cosa c’è dietro
la fotocamera la voce non è molto
importante ma proprio come per realistico
sentimenti che stavo provando questo un paio
di settimane fa e ora possiamo vederlo
non c’è o elaborazione ancora perché
perché non ho chiesto al mondo di tracciare
configurazione per rilevare qualsiasi tipo di
piani come orizzontali o verticali così
e questo esempio voglio rilevare
piani orizzontali e ora se corro di nuovo
Io ancora non riesco a vedere niente di giusto così
in realtà se torniamo ai passi quando io
eseguire la sessione c’è un sono
elaborazione in corso, ma io
non vedo nulla perché non l’ho fatto
eseguire in azione
e ora anche quando ho deciso che volevo
per rilevare piani orizzontali che non vedo
qualsiasi cosa perché non ho ancora fatto niente
azione così qui possiamo solo abilitarne alcuni
opzioni di debug come mostrano le statistiche
alcuni flag di debug e quindi posso eseguire
ancora e poi in fondo c’è
quanti fotogrammi al secondo e poi tu
inizia a vedere alcuni piccoli punti gialli
non so se lo vedi o no e
questi punti sono i punti caratteristici che è
come punti di interesse quindi ora ho un
sensazione che AR va bene si sta facendo ora
quindi ora ho fatto il tracking e ho fatto il
comprensione della scena e non l’ho provato
qualsiasi codice quindi questo è implementato da a
Orkut da dietro l’ultimo passo che è
rimanente è quello di rendere il mio modello 3d e
qui ho bisogno di creare una scena personalizzata
il camaleonte è una sottoclasse della scena e
allora ho bisogno di passarlo alla vista se io
eseguire di nuovo è ancora lo stesso comportamento
perché per due motivi il modello è
nascosto di default che potrebbe non essere
essere il caso in tutti gli altri modelli è
bene ma un motivo in più che è molto
importante è che non ho impostato il
trasformazione del modello giusto così io
voglio mettere il modello sopra il tavolo
il che significa che il modello dovrebbe avere
la scala e la traduzione del
tavolo che è qualcosa che non ho fatto
fare
quindi un’ultima parte in questa demo è che io
è necessario innanzitutto rilevare il tavolo così
il tavolo viene rilevato ma ho bisogno
ascoltare il delegato o il
callback e c’è un interessante
funzione qui che si chiama aggiungere nodo
per l’ancora, quindi se ascolto questo
la funzione sparerà ogni volta che c’è un
l’ancoraggio che viene rilevato l’ ancoraggio non è un
l’ancora piana può essere faccia può essere piana
può essere il punto caratteristica quindi qui ho bisogno di
assicurarsi che si tratta di un aereo e poi ho
mostrerà solo il toast per essere sicuro
Sto facendo bene quindi se corro ora, se si
guarda il toast in basso è cambiato
e dice che c’è un’ancora piana
rilevato un ultimo passaggio che devo fare
è che continuo a dire un ultimo passo
ma questo è l’ultimo passo di cui ho bisogno
è che ho bisogno di rendere il mio modello
qui faccio un controllo che se il modello è
già reso non ho bisogno di renderizzare
di nuovo perché, perché se mi rilevare la
aereo
Non voglio quando rilevo un nuovo aereo
il mio modello per saltare da questo aereo al
altro piano quindi se il modello è visibile I
non fare nulla altrimenti sono sicuro
che è aereo e poi faccio due cose
la prima cosa è che ho bisogno di impostare
la trasformazione come ho spiegato e
quindi ho bisogno di mostrare quale è disabilitante
la bandiera nascosta e il nodo e ora
prima che corra la parte di cui sopra sta arrivando
da un’orchidea e arriva anche la sessione
da un’orchidea ma la parte di rendering il
impostazione della trasformazione e il
lo spettacolo viene dal sincronizzato ma a volte
è invisibile per noi perché Apple
uniti entrambi in una classe così
ora se corro sto cercando di rilevare il
piano e quindi il modello dovrebbe mostrare e
qui puoi vedere che è un po ‘
traballante perché il rilevamento piano non lo è
quello stabile perché possono essere lì può essere
come molte ragioni, una ragione è questa
se ho scansionato una parte dell’aereo e
poi scruto un’altra parte dell’aereo
tuo figlio non capisce che questo è
lo stesso aereo giusto finché sono
muovendo sull’aereo c’è come a
aereo unione essendo accadendo e poi
un punto ho solo bisogno di fare più scene
capendo ci sono molte app dove
quando proviamo a lanciare l’app che mantiene
a dirti ok per favore muoviti nel
scena perché fintanto che ci muoviamo tanto
il modo in cui capiamo la scena più
stabile è il tavolo e il più stabile
è il modello virtuale, quindi qui cerco di farlo
alzati, provo a guardarlo da
prospettiva diversa e sembra a
un po ‘ stabile quindi è stato per a
arket ma c’è solo un piccolo cambiamento
per mostrare come la semplicità di giocare con
un arkad è che diciamo che voglio
toccare sul tavolo e poi quando tocco
Voglio che il mio modello salti da
posto precedente per il nuovo posto ma
effettivamente qui quando provo a farlo
c’è stato un incidente
il tempo veloce perché stavo registrando
questo video usando Quicktime e c’era
un incidente tra il tempo veloce e in qualche modo
la logica che viene scritta in a
Orkut perché quando ti ho insegnato il
dispositivo va bene
ma quando ti ho insegnato il dispositivo e ci provo
per spostare il camaleonte costantemente
si è schiantato così ho cercato di implementarlo
pan e per coloro che non sanno pan è
quando tocco il dispositivo e poi mi muovo
il mio dito e poi ho finito questo è
il gesto di pan si è schiantato anche quando
Lascio il tocco ma potrei registrare
prima dello schianto quindi è stato utile a
almeno per ora, quindi qui ho la mia posizione
sul dispositivo e poi eseguo che fa
perché come ho detto quando tocco il
dispositivo ho bisogno di trasformare questo 2d
in 3d e poi qui se il test della testa
non è vuoto prima di questa parte
interessato al test di calore solo nel
aerei esistenti perché quando faccio caldo
testarlo può intersecare con la funzionalità
punti che non mi interessano
perché l’aereo è più stabile di
punti caratteristica quindi sono interessato a
solo aerei esistenti e qui se il
il test del calore non è vuoto significa che il mio
il dito ha toccato un piano nel fisico
mondo allora ho il primo il primo
ha il più vicino alla fotocamera
perché ad esempio se sto toccando questo
tavolo e c’è un tavolo dietro di me
interessato solo a questo e qui
quello che voglio fare è cambiare
la trasformazione del camaleonte in
la trasformazione del successo e di
questo significa che il camaleonte lo farà
muoviti finché metto il dito sopra
lo schermo quello che volevo fare di più è
che quando finisco un tocco se lo sai
sulla caratteristica del camaleonte che può ottenere
il colore della parte più simile a
la tabella per esempio, e ho voluto che
reagire a questo, ma in realtà penso questo
parte è la parte che causa il
QuickTime per arrestarsi in modo anomalo quando lo stato di
la padella finì che c’è stato un incidente
è accaduto in modo da non essere in grado di vedere
questo purtroppo oggi ma se corro
Questo
quindi scruto il tavolo e poi riesco a vedere
il camaleonte un po ‘traballante al
all’inizio prova a fare più scansioni prima
Inizio la penna solo per essere sicura
può muoversi sul tavolo e poi qui
questo è il mio dito che si muove sul dispositivo
e come puoi vedere la scala è in corso
calcolato in modo da non fare nulla solo
ha detto la trasformazione e se mi muovo
via il suo piccolo se lo lascio lo farà
crash ma potrei registrare prima del
crash così era tutto per le porte arcade
ora è il momento per ML Tornerò a
i ragazzi AR combinando sia un orkut
e ml in modo che tutti sappiamo chi sono i dati
lo scienziato qui va bene così molti di noi lo sanno
quello come l’apprendimento automatico è un sottoinsieme
di intelligenza artificiale nel campo del computer
scienza che coinvolge principalmente o a
almeno nel mio esempio perché è molto
grande scienza che molti implicano la formazione
e test e dal punto di vista di Apple
ml in realtà è disponibile su quasi tutti
Prodotti Apple quindi non è solo iOS
dispositivi, ma anche la TV Apple TV e il
MacBook e così via da Apple
prospettiva solo per l’ esempio di oggi in poi
i dispositivi iOS che hai in mano
dispositivo che sto per fare un qualche tipo di
riconoscimento di oggetti immagine in modo da tenere premuto
il tuo dispositivo inizi a vedere cosa c’è
dietro la telecamera e poi si inizia a
capire gli oggetti dietro la telecamera
questo è un esempio a parte che io sono
andando a mostrare e poi combinerò
sia yml Orcutt e Cori ml può essere
utilizzato anche in molte applicazioni e giochi
ma qui ho iniziato prima con i giochi
perché è uno più interessante
esempio di giochi è che può essere usato
nei giochi RTS per esempio e poi se noi
voglio qui implementare un lettore di computer
che rileva la o impara la strategia
dell’avversario per prendere l’appropriato
strategia un altro esempio è che può
essere usato in giochi vincenti o non mi piace
questa parola, ma come barare in modo che possa essere
usato per vincere giochi giusti e il
il seguente video mostra questo in meno di
un giocatore minuto gioca a Super Mario World
ma questo giocatore non è umano è a
programma per computer che ho scritto chiamato Mario
questo programma è iniziato sapendo
assolutamente niente di Super Mario
Mondo o super Nintendos in effetti
non sapevo nemmeno che premendo direttamente
il controller avrebbe fatto andare il giocatore
verso la fine del livello ho imparato tutto
di queste cose attraverso un processo chiamato
evoluzione neuro in questo video non vorrei
ti insegnano come ha imparato Mario
battere questo livello ciambella Pianure uno cosa
il suo cervello sembra e come è tutto
basato sull’effettiva evoluzione biologica così
cominciamo da realtà guardando
Il cervello di Mario giochiamo di nuovo ma
questa volta vedremo il cervello di Mario come
sta prendendo le decisioni di cosa
i pulsanti per premere sembreranno un po ‘
complicato all’inizio, ma non preoccuparti
Ti aiuterò ad abbatterlo per te così questi
sono alcune persone che hanno implementato nel tuo
rete che può vincere tutti i livelli di Mario
e un esempio delle applicazioni è
la foto di iPhone ha creato un’app per le persone
funzione che può riconoscere i volti e
puoi raggruppare le foto in base ai volti come ml
quale dovrebbe essere la parte più importante
è che su iOS possiamo ottenere questo usando
Cori ml quindi è disponibile sullo stesso
categoria di dispositivi e SO è iOS
11 e oltre sai in chip e sopra
ma è disponibile anche su Mac OS 10
il punto 13 e sopra è disponibile su
Apple guarda 4 plus ed è disponibile su
TV iOS 11 plus quindi è quasi
multipiattaforma tra i prodotti Apple e
le demo qui sto andando anche a scrivere
in Swift core ml viene fornito con gamma di
api ma a me interessa solo il
Riconoscimento di immagini in tempo reale di Coryell
molti vantaggi funziona solo sul dispositivo
il che significa che possiamo ottenere dati
privacy e possiamo risparmiare sui costi del server
ci dà anche queste sfide
soluzioni per liberare la correttezza
prestazioni ed efficienza energetica così
Apple risolve questo e ci dà questo per
gratis nel core ml cosa dobbiamo sapere
è prima di iniziare a scavare nel codice
che abbiamo dati di addestramento e abbiamo
dati in tempo reale che deduciamo con questo
dati di allenamento e quindi può dire ok
questo oggetto è X con il livello di confidenza Y.
quindi per esempio qui dice che questo
l’oggetto è camaleonte con 98 confidenza
livello considerando core ml per la mia app è
diverso da un’orchidea, quindi non lo è
direttamente comunicati dalla mia app
la mia app può comunicare con vision e LP
o gameplay kit per questo giocatore
comunica
il nucleo ml e anche il nucleo ml
comunica con accelerare ed enns
e gli shader delle prestazioni in metallo più
scendiamo le personalizzazioni che alti
abbiamo ma, naturalmente, più conoscenza
che dobbiamo sapere prima di scendere
qui mi interessa solo la visione
parte quali sono le classi principali è
più semplice di arkyd solo tre
classi così abbiamo la richiesta di immagine
gestore abbiamo la richiesta di base di ml e
il modello di ml centrale ogni classe ha bisogno del
prossima lezione
e una volta che eseguo qui l’immagine
gestore di richiesta ottengo la classificazione
risultati nella richiesta di base di ml, quindi facciamolo
andare con le mani così abbiamo tre
passi ma abbiamo anche un passo avanti
i tre passaggi sono i primi che devo fare
trascina e rilascia il mio modello di ml centrale e Xcode
ha una funzione di anteprima caratteristica in cui noi
posso vedere cos’è questo modello, quindi se apro
questo in Xcode posso vedere il nome di
il modello è chiamato rete mobile che posso
vedere che ha questo tipo di classificatore
significa che questo modello non è solo il
dati di allenamento ma è anche il
classificatore e posso vedere l’autore I
può vedere la descrizione sulla licenza
una volta che trascino e rilascia il mio modello, posso farlo
inizia con i tre passaggi che ho
menzionato così prima ho bisogno di creare il
gestore di richieste di immagini ma l’immagine
il gestore della richiesta ha bisogno sia dell’immagine che
orientamento perché ovviamente prendendo il
l’immagine e il ritratto sono diversi da
prendendo l’immagine nel paesaggio ma qui
possiamo vedere che abbiamo bisogno di convertirlo
in CI perché l’immagine dell’interfaccia utente è un dato
digita solo per iOS e come ho detto
core ml è una piattaforma incrociata tra Apple
prodotti quindi non riesco a capire i dati di iOS
digita quindi è per questo che ho bisogno di convertirmi in
l’immagine CI che è un dato universale
digita e dopo averlo convertito posso farlo
crea il mio passaggio per il gestore delle richieste di immagini a
è l’immagine l’orientamento e poi io
può chiederlo di esibirsi dandogli il
richiesta di core ml ora arriva al centro
parte è la richiesta di base di ml e se tu
ricorda prima di creare l’e-mail principale
richiesta abbiamo bisogno di creare l’ultima parte
che è il modello di ml centrale e qui il
il modello prende il nome del file che io
trascinato e lasciato cadere così è il cellulare
rete e quindi posso creare ora il nucleo
richiesta ml e quindi posso
ascoltare il gestore perché in questo
gestore riceverò il
la classificazione produce l’ultima parte qui
sta mappando il risultato in solo il testo
dicendo che va bene questo è l’oggetto X con y
livello di confidenza oggetto a con B
livello di confidenza quindi il risultato qui
viene fornito un array che contiene etichette
con il livello di confidenza ed è ordinato per
il livello di confidenza più alto, quindi facciamolo
Diciamo che abbiamo 4 risultati restituiti che
dice che questo è l’oggetto X con 50
percentuale di livello di confidenza oggetto Y con
Il livello di confidenza del 30 percento oggetto a B
con il 10% mi interessa solo
i primi due quindi questo solo codice
qualche convalida e poi prende il
due la maggior parte di questo prefisso 2 e quindi le mappe
li a solo una stringa da mostrare sul
schermo quindi se eseguo questo codice qui ero
nello stesso posto e sono andato al
accoglienza e ho chiesto alla persona che lavora
lì era una brava persona perché lui
fatto quello che volevo fare quello che ho chiesto
Ho chiesto di stampare il camaleonte che io
reso virtualmente sul mio dispositivo in a
carta e ha fatto questo per me e ha dato
io il giornale e ho messo il foglio ora
il tavolo e io siamo riusciti a classificarlo
quindi qui piace o ml dice che sono 20
per cento camaleonti africani questo significa
che ora ho usato l’uscita di un’orchidea
come input per il core ml e se provo a
scatta una foto da diversi
prospettiva in realtà è la stessa, ma a
un po ‘come luci diverse e così via
su possiamo vedere che l’errore è in corso
migliorato quindi dice che è il 66 percento
Camaleonti africani Sono stato solo fortunato qui
quindi c’è solo una coincidenza se io
prova a scattare un’altra foto
aumentato dell’83 percento quindi penso di essere giusto
più fortunato un cambiamento che possiamo fare
anche qui per mostrare quanto sia facile solo per
diciamo che il classificatore e il
i dati di addestramento sono che diciamo che voglio
per migliorare questo risultato di classificazione oh
così è stato
diciamo che in media era il 60% che voglio
per farlo come novanta o novanta
qualcosa così qui torno al codice
e io cambio solo una riga di codice così io
cambiato questo modello di rete in v3 iniziale
e se corro di nuovo ho solo cambiato il
modello e se ti ricordi il modello è
i dati di allenamento e quel classificatore così
Ho cambiato entrambi, diciamo
In realtà non è sì è sia di
loro no non è così qui puoi dire
che il camaleonte africano ha 90 anni
è un camaleonte africano al 98% se ci provo
per scattare un’altra foto lo dice
è il 94 e non sto cercando di lavorare
colpi come sto solo cercando di prendere
le foto a caso quindi è chiaro qui
questo inizio con v3 è meglio perché
per coincidenza c’era uno scienziato dei dati
persona che mi ha aiutato perché non l’ho fatto
sai perché se guardiamo l’anteprima
caratteristica del codice X possiamo vederlo
il nome è diverso ovviamente non lo sono
sicuro che se è possibile vedere il testo o non può
vedi il testo sì o no si, va bene così
qui come il nome è diverso da
Certo e il classificatore è lo stesso
ma ho capito che il classificatore
da dietro non è lo stesso così
c’è un po ‘ come la convoluzione
processo che accade dietro e il
la conclusione non è la stessa e la dimensione
è diverso e ho pensato che i dati
è diverso ma in realtà i dati lo sono
lo stesso quindi sono gli stessi dati di allenamento
e sembra che sia lo stesso
trasferimento ma no ha un diverso
avvenimento di convoluzione dietro cui fare
anche la rete mobile ha un numero inferiore di
i parametri che lo fanno ha meno dimensioni
così la rete mobile è 17 17 megabyte, quindi questo
rende i dadi mobili più veloci ma con
meno prestazioni è per questo inizio
v3 era migliore e se confrontiamo
generalmente ciò che può causare questo molti
Per ragioni intendo a volte i classificatori lo sono
buono per un qualche tipo di classificazione su
altri classificatori sono migliori per gli altri
tipo di classificazione a volte anche
forse sto usando il modello di ml centrale che sono
non addestrato per quello che voglio classificare
e anche una ragione è che diciamo io
avere un dato di allenamento
che contiene solo l’istantanea di un modello
dal fronte ma dal vivo voglio classificarmi
dal lato quindi non funzionerà così
ci sono molte ragioni qui e io no
ritenere eventuali problemi di prestazioni con il cellulare
net questo è il motivo per me e aspirazione v3
era meglio forse perché la demo era
molto semplice quindi era un’orchidea e
Coronel ora va bene per entrambi
insieme in modo non abbiamo bisogno di andare in
alcuni prerequisiti perché ora dovremmo
sii molto bravo in questo e possiamo andare
direttamente per le mani su quello che voglio
il cambiamento qui è che voglio ottenere il
fotogramma corrente se ricordi come in a
orchidea possiamo ottenere che possiamo tirare qualsiasi fotogramma
in qualsiasi momento, quindi voglio ottenere questo
frame corrente dal nostro kit e voglio
passarlo al Coronel come un’immagine in ingresso
quindi questo significa che il nostro bambino parla ora
il Coronel e questo aggiornamento core ml
funzione voglio eseguirla diciamo
30 volte in un secondo o 60 volte
sulla performance che voglio
raggiungere e questo significa che qui core ml
aggiornerà continuamente una variabile
si chiama l’ultima produzione, quindi facciamolo
la produzione è una variabile che è sempre
aggiornato con cosa c’è dietro ciò che è il
oggetto dietro la macchina fotografica ora così lo farò
usa questa variabile dal core ml e I
eseguirò il test del calore quando tocco il
dispositivo e userò entrambe queste
insieme per rendere anche una descrizione 3d
del modello e questa è la prima demo
che abbiamo visto all’inizio del discorso
quindi qui il nostro kit parla con core ml e
ovviamente parla con sincronizzazione se corro
questo codice questa è la prima demo che io
mostrato all’inizio del discorso
e qui sta succedendo quello che sta succedendo
Coronel cerca di capire cosa c’è
dietro la telecamera se guardi in alto
vedrai l’etichetta ed è un po ‘
un po ‘traballante non è stabile a volte
dice sì, ora dice monitor che è
buono ma se guardo il pad di ping-pong
a volte dice che è un waffle che io
penso abbia senso quando vado molto vicino
ad esso e ora ho fatto un qualche tipo di
soluzione alternativa o un modo hacky di aspettare fino a quando
la sua bottiglia d’acqua e poi ho toccato il
schermo ho solo aspettato ma potrebbe
classificare quasi tutto anche come
guarda e così via per riassumere ho spiegato
cos’è AR e come ottenere AR su iOS
per il nostro bambino che cosa è ml come raggiungerlo
su iOS attraverso il core ml e come
integrali entrambi insieme
tutto quello che volevo menzionare due cose se
qualcuno vuole contattarmi per qualsiasi
ragione questa è la mia email sul mio LinkedIn
e per coloro che stanno guardando a distanza
il mio link potrebbe quindi cambiarlo per alcuni
ragioni per la a questo quindi sentitevi liberi
per provare entrambi e i riferimenti che io
usati sono solo due fonti così
developer.apple.com Non ho scritto nessuno
codice da zero quindi solo
campioni developer.apple.com e il
github pubblico solo un repository quindi io
non ha scritto alcun codice da zero così
questo è tutto ciò che spero ti piaccia
conferenza e ti auguro riposo potrebbe
resto della conferenza grazie
[Applausi]

Please follow and like us: