SlideShare a Scribd company logo
1 of 43
Download to read offline
RAMON RABELLO
CEO @ VISYO
MAKING YOUR APP SEE WITH
MOBILE VISION API
RAMON RABELLO
about.me/ramonrabello
Agile Community
Active Member
GDG BrasĂ­lia
Organizer
Senior Developer
~10 years
HOW DO WE SEE?
HOW DO
MACHINES SEE?
WHAT IS
COMPUTER VISION?
HOW MACHINES UNDERSTAND THE WORLD
COMPUTER VISION
IS EVERYWHERE!
ON ROBOTICS.
ON SECURITY.
http://www.eecs.qmul.ac.uk/assets/img/uploads/page-image/behaviour.png
ON SOCIAL NETWORKS.
ON MEDICINE.
ON GAMING.
ON CARS.
AND ALSO ON MOBILE.
MOBILE VISION API
OVERVIEW
OVERVIEW
COMMON FUNCTIONALITY
FACE API
BARCODE API
TEXT API (OCR)
COMMON FUNCTIONALITY
EVENT-DRIVEN PIPELINE
FACE DETECTOR
BARCODE DETECTOR
TEXT DETECTOR
FACE API
WHAT CAN WE DO WITH FACES?
FACE TRACKING
LANDMARKS DETECTION
FACE CLASSIFICATIONS
EYES OPENED
0.0 1.0
FACE CLASSIFICATIONS
SMILLING
0.0 1.0
FACE ORIENTATION
POSE ANGLE ESTIMATION
Y
Z
X
BARCODE API
WHAT TO DO WITH BARCODES?
BARCODE TRACKING
FORMATS SUPPORTED
TEXT API
READING TEXT FROM IMAGES
READING TEXT FROM IMAGES
18+ LANGUAGES SUPPORTED
TEXT STRUCTURE
MOBILE VISION API USAGE
1. ADD DEPENDENCIES
2. ADD META-DATA ON MANIFEST
3. CREATE DETECTOR
4. CHECK IF DETECTOR IS OPERATIONAL
5. CREATE FRAME
6. DETECT FACES
ADD DEPENDENCIES
build.gradle
dependencies {


compile 'com.google.android.gms:play-services-vision:{version}'


}
ADD META-DATA ON MANIFEST
AndroidManifest.xml
<application
>‹
‹
<meta-data‹
android:name="com.google.android.gms.vision.DEPENDENCIES"‹
android:value="face" />
</application>
CREATE DETECTOR
onCreate()
FaceDetector faceDetector = new FaceDetector.Builder(context)‹
.setTrackingEnabled(false)‹
.setProminentFaceOnly(false)‹
.setMode(FaceDetector.FAST_MODE)‹
.setClassificationType(FaceDetector.ALL_CLASSIFICATIONS)‹
.setLandmarkType(FaceDetector.NO_LANDMARKS)‹
.build();
CHECK IF DETECTOR IS OPERATIONAL
onCreate()
faceDetector.isOperational(){
// code to detect faces here
}
downloads a native library,
when run for the ïŹrst time.
CREATE FRAME
Bitmap bitmap = 
; // read Bitmap
Frame frame = new Frame.Builder()
.setBitmap(bitmap)
.build();
onCreate()
DETECT FACES
SparseArray<Face> faces
= detector.detect(frame);
// face(s) detected
if (faces.size() > 0){
}
onCreate()
DEMO
THE FACEMINATOR
/visyo/faceminator/
WHAT’S NEXT?
MOBILE VISION GUIDE
https://developers.google.com/vision/
WHAT’S NEXT?
VISION SAMPLES
https://github.com/googlesamples/android-vision
WHAT’S NEXT?
DEVBYTES
https://www.youtube.com/androiddevelopers
THANKS!
goo.gl/v5D0mg
@visyosolutions
/visyo
goo.gl/VBJTIh
@gdgbrasilia
/gdgbrasilia

More Related Content

Similar to Making your app see with Mobile Vision API

Web/App Development, Design, and SAAS Services Beginner's Tutorial from A to Z
Web/App Development, Design, and SAAS Services Beginner's Tutorial from A to ZWeb/App Development, Design, and SAAS Services Beginner's Tutorial from A to Z
Web/App Development, Design, and SAAS Services Beginner's Tutorial from A to Z
SuperHero Marketing
 
Daffodil's Portfolio - Mobile Apps
Daffodil's Portfolio - Mobile AppsDaffodil's Portfolio - Mobile Apps
Daffodil's Portfolio - Mobile Apps
Shahrukh Khan
 
The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013
Mathias Strandberg
 

Similar to Making your app see with Mobile Vision API (20)

X apps portfolio
X apps portfolioX apps portfolio
X apps portfolio
 
BuildingBlocks: Mobile Phone App Technology Development Portfolio
BuildingBlocks: Mobile Phone App Technology Development PortfolioBuildingBlocks: Mobile Phone App Technology Development Portfolio
BuildingBlocks: Mobile Phone App Technology Development Portfolio
 
Using analytics in iOS apps - #uikonf2016 #unconference
Using analytics in iOS apps - #uikonf2016 #unconferenceUsing analytics in iOS apps - #uikonf2016 #unconference
Using analytics in iOS apps - #uikonf2016 #unconference
 
Web/App Development, Design, and SAAS Services Beginner's Tutorial from A to Z
Web/App Development, Design, and SAAS Services Beginner's Tutorial from A to ZWeb/App Development, Design, and SAAS Services Beginner's Tutorial from A to Z
Web/App Development, Design, and SAAS Services Beginner's Tutorial from A to Z
 
Mobile Marketing: 99 Ways to Get Your App Noticed - Parisa Foster
Mobile Marketing: 99 Ways to Get Your App Noticed - Parisa FosterMobile Marketing: 99 Ways to Get Your App Noticed - Parisa Foster
Mobile Marketing: 99 Ways to Get Your App Noticed - Parisa Foster
 
The smart way of combining web & apps
The smart way of combining web & appsThe smart way of combining web & apps
The smart way of combining web & apps
 
Benvenuti nella “API Economy”
Benvenuti nella “API Economy”Benvenuti nella “API Economy”
Benvenuti nella “API Economy”
 
Samcom portfolio edited
Samcom portfolio   editedSamcom portfolio   edited
Samcom portfolio edited
 
Mobilizing your International SEO by @aleyda at #iss #smx
Mobilizing your International SEO by @aleyda at #iss #smx Mobilizing your International SEO by @aleyda at #iss #smx
Mobilizing your International SEO by @aleyda at #iss #smx
 
Analytics for iOS apps (crash/diagnostic/usage/sales)
Analytics for iOS apps (crash/diagnostic/usage/sales) Analytics for iOS apps (crash/diagnostic/usage/sales)
Analytics for iOS apps (crash/diagnostic/usage/sales)
 
Mobillify FingerPrint april 2012
Mobillify FingerPrint april 2012Mobillify FingerPrint april 2012
Mobillify FingerPrint april 2012
 
Daffodil's Portfolio - Mobile Apps
Daffodil's Portfolio - Mobile AppsDaffodil's Portfolio - Mobile Apps
Daffodil's Portfolio - Mobile Apps
 
ReapMind Innovation
ReapMind InnovationReapMind Innovation
ReapMind Innovation
 
Pre-Con Ed: CA Mobile App Services: Build the Powerful Mobile App Every Enter...
Pre-Con Ed: CA Mobile App Services: Build the Powerful Mobile App Every Enter...Pre-Con Ed: CA Mobile App Services: Build the Powerful Mobile App Every Enter...
Pre-Con Ed: CA Mobile App Services: Build the Powerful Mobile App Every Enter...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...
The Future of Location Technology for Developers (GeoIT Navigation Talks Berl...
 
Mobile Day - Diversity in enterprise mobility
Mobile Day - Diversity in enterprise mobilityMobile Day - Diversity in enterprise mobility
Mobile Day - Diversity in enterprise mobility
 
Hiring UX/UI designers
Hiring UX/UI designersHiring UX/UI designers
Hiring UX/UI designers
 
The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?
 
The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013
 

More from Ramon Ribeiro Rabello

More from Ramon Ribeiro Rabello (20)

Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack Compose
 
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondAndroid Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyond
 
Create Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackCreate Modern Apps with Android Jetpack
Create Modern Apps with Android Jetpack
 
Cultura de testes em times mobile
Cultura de testes em times mobileCultura de testes em times mobile
Cultura de testes em times mobile
 
Ninja Productivity in Android Studio
Ninja Productivity in Android StudioNinja Productivity in Android Studio
Ninja Productivity in Android Studio
 
Produtividade ninja com android studio
Produtividade ninja com android studioProdutividade ninja com android studio
Produtividade ninja com android studio
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!
 
Os caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaOs caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa Pública
 
Inovar em tempos de crise? Yes, We Can!
Inovar em tempos de crise?  Yes, We Can!Inovar em tempos de crise?  Yes, We Can!
Inovar em tempos de crise? Yes, We Can!
 
O ecossistema android
O ecossistema androidO ecossistema android
O ecossistema android
 
Android Wear: Estendendo sua app para relĂłgios inteligentes
Android Wear: Estendendo sua app para relĂłgios inteligentesAndroid Wear: Estendendo sua app para relĂłgios inteligentes
Android Wear: Estendendo sua app para relĂłgios inteligentes
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
O caminho de um desenvolvedor android
O caminho de um desenvolvedor androidO caminho de um desenvolvedor android
O caminho de um desenvolvedor android
 
Criando Apps Sociais em Android
Criando Apps Sociais em AndroidCriando Apps Sociais em Android
Criando Apps Sociais em Android
 
Porque Aprender Android
Porque Aprender AndroidPorque Aprender Android
Porque Aprender Android
 
Workshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoWorkshop Android em Ambientes de Integração
Workshop Android em Ambientes de Integração
 
De idealista à empreendedor - como desenvolver aplicaçÔes em android que conq...
De idealista à empreendedor - como desenvolver aplicaçÔes em android que conq...De idealista à empreendedor - como desenvolver aplicaçÔes em android que conq...
De idealista à empreendedor - como desenvolver aplicaçÔes em android que conq...
 
Desenvolvimento Web para Android
Desenvolvimento Web para AndroidDesenvolvimento Web para Android
Desenvolvimento Web para Android
 
Agora Ă© Android, TĂĄ Safo? - #tasafoemacaocastanhal
Agora Ă© Android, TĂĄ Safo? - #tasafoemacaocastanhalAgora Ă© Android, TĂĄ Safo? - #tasafoemacaocastanhal
Agora Ă© Android, TĂĄ Safo? - #tasafoemacaocastanhal
 
Boas PrĂĄticas em Android
Boas PrĂĄticas em AndroidBoas PrĂĄticas em Android
Boas PrĂĄticas em Android
 

Recently uploaded

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (8)

Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdf
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Thane 💋 Call Girls 7738631006 💋 Call Girls in Thane Escort service book now. ...
Thane 💋 Call Girls 7738631006 💋 Call Girls in Thane Escort service book now. ...Thane 💋 Call Girls 7738631006 💋 Call Girls in Thane Escort service book now. ...
Thane 💋 Call Girls 7738631006 💋 Call Girls in Thane Escort service book now. ...
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 

Making your app see with Mobile Vision API