SlideShare a Scribd company logo
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
Maurizio Moriconi - ARKit: Augmented Reality made simple - Codemotion Milan 2017
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.
Maurizio Moriconi - ARKit: Augmented Reality made simple - Codemotion Milan 2017
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

PDF
Eugenio Petullà - Crea un'esperienza VR coerente sul Web con A-Frame - Codemo...
PPTX
Presentazione Atavistic
PPTX
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
PDF
Tiffany Conroy - Remote device sign-in – Authenticating without a keyboard - ...
PPTX
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
PDF
Vincenzo Chianese - REST, for real! - Codemotion Milan 2017
PDF
Anna Makarudze - Django Girls: Inspiring women to fall in love with programmi...
PDF
Matteo Valoriani - How Augment your Reality: different perspective on the Rea...
Eugenio Petullà - Crea un'esperienza VR coerente sul Web con A-Frame - Codemo...
Presentazione Atavistic
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Tiffany Conroy - Remote device sign-in – Authenticating without a keyboard - ...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Vincenzo Chianese - REST, for real! - Codemotion Milan 2017
Anna Makarudze - Django Girls: Inspiring women to fall in love with programmi...
Matteo Valoriani - How Augment your Reality: different perspective on the Rea...

Viewers also liked (20)

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

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

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

More from Codemotion (20)

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

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