Making your app see with Mobile Vision API

ramonrabello 876 views 43 slides Oct 18, 2016
Slide 1
Slide 1 of 43
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43

About This Presentation

Talk presented during GDG DevFest Cerrado 2016, on October 15th, at Goiânia.


Slide Content

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 first 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