SlideShare a Scribd company logo
1 of 29
Download to read offline
ARKit: Augmented Reality made simple
Maurizio Moriconi
CODEMOTION MILAN - SPECIAL EDITION
10 – 11 NOVEMBER 2017
Chi Sono?
CTO, Mobile Developer
Community
Co-FounderMaurizio Moriconi
bugman
Augmented Reality (AR)
Virtual Reality + Reality Reality
Uso della camera o di occhiali per “aumentare”
la realtà con oggetti 3D virtuali
Augment Reality hardware
Augment Reality software
ARKit
• Framework per mobile
• E’ ad ALTO livello!
• Funziona solo su iOS!!!
Requisiti ARKit
• iPhone SE
• iPhone 6s
• iPhone 6s Plus
• iPhone 7
• iPhone 7 Plus
• iPhone 8
• iPhone 8 Plus
• iPhone X
• iPad 2017
• iPad Pro 9.7 pollici
• iPad Pro 10.5 pollici
• iPad Pro 12.9 pollici
Quanti dispositivi supportati?
Tracking
• Tracciamento in real time della posizione del dispositivo nel
mondo reale!
• Visual-inertial odometry (VIO)
• Nessun setup “esterno” (no marker)
Scene understanding
• Plane detection
• Light estimation
• Hit-testing
Rendering
SpriteKit SceneKit Metal
Hello ARKit!
A simple demo project!
ARSession
Framework basato su sessione, che gira a 60 frames al secondo!
La sessione può essere lanciata, messa in pausa, reimpostata:
• ARSessionObserver per gestire i cambi di stato della sessione
• ARSessionDelegate per ricevere i frames catturati e
aggiornamenti sugli anchor
ARConfiguration
Tre configurazioni:
• AROrientationTrackingConfiguration
• ARWorldTrackingConfiguration
• ARFaceTrackingConfiguration
Abilita anche la light estimation, e il plane detection
ARFrame
La sessione cattura dei frame che contengono
• l’immagine catturata
• informazioni sul tracking
• informazioni sulla scena: tracking points e
condizioni di luce
ARAnchor
Un anchor è punto posizionato ed orientato nel mondo reale.
ARKit si occupa di mantenere fissa la posizione e l’orientamento
di un anchor se l’utente muove la camera.
E’ necessario aggiungere gli anchor nella ARSession.
Feature Points
Punti estratti dall’analisi dei frames!
Possibili problematiche
nell’estrazione:
• Poca luce
• Poche “texture”
• Movimenti veloci
Plane detection
Da un insieme di feature points è possibile ricostruire un piano.
Per ora solo orizzontale :(
Se è abilitato il planeDetection in automatico vengono aggiunti
degli ARPlaneAnchor!
E’ possibile fare plane merging!
Hit Testing
Intercetta un punto nella scena reale
Utilizza le informazioni della scena
I risultati sono ordinati per distanza
(dal più “vicino” al più “lontano”)
Ci sono diversi tipi di Hit-test
Light estimation
Si attiva dalla configurazione (lightEstimationEnabled)
E’ possibile riconoscere:
• ambientIntensity (1000 neutrale)
• ambientColorTemperature (6500 luce “bianca”)
Light estimation
Demo Time
Show me the code!
Unity ARKit Plugin
ARKit
Scene UnderstandingTracking Rendering
ARKit
Back to the ’80…
Grazie!
Domande???

More Related Content

Viewers also liked

Lean@core lean startup e cloud- - Codemotion Rome 2015
Lean@core   lean startup e cloud- - Codemotion Rome 2015Lean@core   lean startup e cloud- - Codemotion Rome 2015
Lean@core lean startup e cloud- - Codemotion Rome 2015
Codemotion
 
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
Codemotion
 

Viewers also liked (20)

Nicola Corti - Building UI Consistent Android Apps - Codemotion Milan 2017
Nicola Corti - Building UI Consistent Android Apps - Codemotion Milan 2017Nicola Corti - Building UI Consistent Android Apps - Codemotion Milan 2017
Nicola Corti - Building UI Consistent Android Apps - Codemotion Milan 2017
 
Massimo Bonanni - L'approccio ai microservizi secondo Service Fabric - Codemo...
Massimo Bonanni - L'approccio ai microservizi secondo Service Fabric - Codemo...Massimo Bonanni - L'approccio ai microservizi secondo Service Fabric - Codemo...
Massimo Bonanni - L'approccio ai microservizi secondo Service Fabric - Codemo...
 
Gabriele Nocco - Massive distributed processing with H2O - Codemotion Milan 2017
Gabriele Nocco - Massive distributed processing with H2O - Codemotion Milan 2017Gabriele Nocco - Massive distributed processing with H2O - Codemotion Milan 2017
Gabriele Nocco - Massive distributed processing with H2O - Codemotion Milan 2017
 
James Williams - Demystifying Constraint Layout - Codemotion Milan 2017
James Williams - Demystifying Constraint Layout - Codemotion Milan 2017James Williams - Demystifying Constraint Layout - Codemotion Milan 2017
James Williams - Demystifying Constraint Layout - Codemotion Milan 2017
 
Gabriele Petronella - Mythical trees and where to find them - Codemotion Mila...
Gabriele Petronella - Mythical trees and where to find them - Codemotion Mila...Gabriele Petronella - Mythical trees and where to find them - Codemotion Mila...
Gabriele Petronella - Mythical trees and where to find them - Codemotion Mila...
 
Claudio Carboni - ArcGIS platformthe foundation of your idea - Codemotion Mil...
Claudio Carboni - ArcGIS platformthe foundation of your idea - Codemotion Mil...Claudio Carboni - ArcGIS platformthe foundation of your idea - Codemotion Mil...
Claudio Carboni - ArcGIS platformthe foundation of your idea - Codemotion Mil...
 
Giovanni Laquidara - Hello ARCore - Codemotion Milan 2017
Giovanni Laquidara - Hello ARCore - Codemotion Milan 2017Giovanni Laquidara - Hello ARCore - Codemotion Milan 2017
Giovanni Laquidara - Hello ARCore - Codemotion Milan 2017
 
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
 
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...Matteo Manchi - React Native for multi-platform mobile applications - Codemot...
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...
 
Erik Tiengo - Embedding Cisco Spark and Location applications (ESRI) into bus...
Erik Tiengo - Embedding Cisco Spark and Location applications (ESRI) into bus...Erik Tiengo - Embedding Cisco Spark and Location applications (ESRI) into bus...
Erik Tiengo - Embedding Cisco Spark and Location applications (ESRI) into bus...
 
Erik Wendel - Beyond JavaScript Frameworks: Writing Reliable Web Apps With El...
Erik Wendel - Beyond JavaScript Frameworks: Writing Reliable Web Apps With El...Erik Wendel - Beyond JavaScript Frameworks: Writing Reliable Web Apps With El...
Erik Wendel - Beyond JavaScript Frameworks: Writing Reliable Web Apps With El...
 
Oded Coster - Stack Overflow behind the scenes - how it's made - Codemotion M...
Oded Coster - Stack Overflow behind the scenes - how it's made - Codemotion M...Oded Coster - Stack Overflow behind the scenes - how it's made - Codemotion M...
Oded Coster - Stack Overflow behind the scenes - how it's made - Codemotion M...
 
Agnieszka Naplocha - Breaking the norm with creative CSS - Codemotion Milan 2017
Agnieszka Naplocha - Breaking the norm with creative CSS - Codemotion Milan 2017Agnieszka Naplocha - Breaking the norm with creative CSS - Codemotion Milan 2017
Agnieszka Naplocha - Breaking the norm with creative CSS - Codemotion Milan 2017
 
5
55
5
 
Cutting the Fat
Cutting the FatCutting the Fat
Cutting the Fat
 
Lean@core lean startup e cloud- - Codemotion Rome 2015
Lean@core   lean startup e cloud- - Codemotion Rome 2015Lean@core   lean startup e cloud- - Codemotion Rome 2015
Lean@core lean startup e cloud- - Codemotion Rome 2015
 
9
99
9
 
8
88
8
 
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015Codemotion rome 2015   bluemix lab tutorial -- Codemotion Rome 2015
Codemotion rome 2015 bluemix lab tutorial -- Codemotion Rome 2015
 
6
66
6
 

Similar to Maurizio Moriconi - ARKit: Augmented Reality made simple - Codemotion Milan 2017

Smau milano 2012 arena expo comm francesco-abbo
Smau milano 2012   arena expo comm francesco-abboSmau milano 2012   arena expo comm francesco-abbo
Smau milano 2012 arena expo comm francesco-abbo
SMAU
 
[Webinar] Il telerilevamento da droni aerei: Le soluzioni Hexagon Geospatial ...
[Webinar] Il telerilevamento da droni aerei: Le soluzioni Hexagon Geospatial ...[Webinar] Il telerilevamento da droni aerei: Le soluzioni Hexagon Geospatial ...
[Webinar] Il telerilevamento da droni aerei: Le soluzioni Hexagon Geospatial ...
Planetek Italia Srl
 
Algoritmi ed architetture per la risoluzione di problemi di visual search
Algoritmi ed architetture per la risoluzione di problemi di visual searchAlgoritmi ed architetture per la risoluzione di problemi di visual search
Algoritmi ed architetture per la risoluzione di problemi di visual search
Alessandro D'Ambrosio
 
Provarsi i vestiti con il kinect
Provarsi i vestiti con il kinectProvarsi i vestiti con il kinect
Provarsi i vestiti con il kinect
Emanuele Bartolesi
 

Similar to Maurizio Moriconi - ARKit: Augmented Reality made simple - Codemotion Milan 2017 (20)

Cos'è Macroscop (Italian)
Cos'è Macroscop (Italian)Cos'è Macroscop (Italian)
Cos'è Macroscop (Italian)
 
Come ti piloto il drone
Come ti piloto il droneCome ti piloto il drone
Come ti piloto il drone
 
IoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge deviceIoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge device
 
Custom vision on edge device
Custom vision on edge deviceCustom vision on edge device
Custom vision on edge device
 
iOS Programming
iOS ProgrammingiOS Programming
iOS Programming
 
Azure day 2019 - Custom Vision on Edge device
Azure day 2019 - Custom Vision on Edge deviceAzure day 2019 - Custom Vision on Edge device
Azure day 2019 - Custom Vision on Edge device
 
Smau milano 2012 arena expo comm francesco-abbo
Smau milano 2012   arena expo comm francesco-abboSmau milano 2012   arena expo comm francesco-abbo
Smau milano 2012 arena expo comm francesco-abbo
 
OpenGL e realtà aumentata
OpenGL e realtà aumentataOpenGL e realtà aumentata
OpenGL e realtà aumentata
 
Kinect + .NET = NUI : Interfacce naturali facili con Kinect!!!
Kinect + .NET = NUI : Interfacce naturali facili con Kinect!!!Kinect + .NET = NUI : Interfacce naturali facili con Kinect!!!
Kinect + .NET = NUI : Interfacce naturali facili con Kinect!!!
 
BlackBoard Team - Motion Tracking Platform
BlackBoard Team - Motion Tracking PlatformBlackBoard Team - Motion Tracking Platform
BlackBoard Team - Motion Tracking Platform
 
[Webinar] Il telerilevamento da droni aerei: Le soluzioni Hexagon Geospatial ...
[Webinar] Il telerilevamento da droni aerei: Le soluzioni Hexagon Geospatial ...[Webinar] Il telerilevamento da droni aerei: Le soluzioni Hexagon Geospatial ...
[Webinar] Il telerilevamento da droni aerei: Le soluzioni Hexagon Geospatial ...
 
Applicazioni Windows Store con Kinect 2
Applicazioni Windows Store con Kinect 2 Applicazioni Windows Store con Kinect 2
Applicazioni Windows Store con Kinect 2
 
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimento
 
Catalogo Provision-ISR Italia - Settembre 2017
Catalogo Provision-ISR Italia - Settembre 2017Catalogo Provision-ISR Italia - Settembre 2017
Catalogo Provision-ISR Italia - Settembre 2017
 
Catalogo Provision-ISR Italia - Settembre 2017
Catalogo Provision-ISR Italia - Settembre 2017 Catalogo Provision-ISR Italia - Settembre 2017
Catalogo Provision-ISR Italia - Settembre 2017
 
Algoritmi ed architetture per la risoluzione di problemi di visual search
Algoritmi ed architetture per la risoluzione di problemi di visual searchAlgoritmi ed architetture per la risoluzione di problemi di visual search
Algoritmi ed architetture per la risoluzione di problemi di visual search
 
The Retail Revolution - Antonio Nappi & Enzo Carrea - Codemotion Milan 2016
The Retail Revolution - Antonio Nappi & Enzo Carrea - Codemotion Milan 2016The Retail Revolution - Antonio Nappi & Enzo Carrea - Codemotion Milan 2016
The Retail Revolution - Antonio Nappi & Enzo Carrea - Codemotion Milan 2016
 
Provarsi i vestiti con il kinect
Provarsi i vestiti con il kinectProvarsi i vestiti con il kinect
Provarsi i vestiti con il kinect
 
Codice iPhone lavato a caldo: come "restringere" la tua app per Apple Watch
Codice iPhone lavato a caldo: come "restringere" la tua app per Apple WatchCodice iPhone lavato a caldo: come "restringere" la tua app per Apple Watch
Codice iPhone lavato a caldo: come "restringere" la tua app per Apple Watch
 
Catalogo Provision-ISR Italia - Giugno 2017
Catalogo Provision-ISR Italia - Giugno 2017 Catalogo Provision-ISR Italia - Giugno 2017
Catalogo Provision-ISR Italia - Giugno 2017
 

More from Codemotion

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Maurizio Moriconi - ARKit: Augmented Reality made simple - Codemotion Milan 2017