Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
What an ML-ful World! MLKit for Android dev.
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Britt Barak
October 12, 2018
Programming
150
0
Share
What an ML-ful World! MLKit for Android dev.
Britt Barak
October 12, 2018
More Decks by Britt Barak
See All by Britt Barak
[Vonage] Introducing Conversations
brittbarak
1
140
Kids, Play Nice! Kotlin-Java Interop In Mind
brittbarak
2
460
Sharing is Caring- Getting Started with Kotlin Multiplatform
brittbarak
2
2.1k
Between JOMO and FOMO: You are reshaping communication.
brittbarak
2
1.3k
Build Apps For The Ones You Love
brittbarak
1
140
Make your app dance with MotionLayout
brittbarak
8
1.4k
Who's afraid of ML? V2 : First steps with MlKit
brittbarak
1
480
Oh, the places you'll go! Cracking Navigation on Android
brittbarak
0
500
The organic evolution - how and why we created peer mentorship program
brittbarak
0
69
Other Decks in Programming
See All in Programming
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
720
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
160
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
120
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
120
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
How Swift's Type System Guides AI Agents
koher
0
170
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.5k
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
330
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
190
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
Featured
See All Featured
Designing for Performance
lara
611
70k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
From π to Pie charts
rasagy
0
160
Side Projects
sachag
455
43k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
How to train your dragon (web standard)
notwaldorf
97
6.6k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
410
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
300
Mobile First: as difficult as doing things right
swwweet
225
10k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Transcript
What an ML-ful world Britt Barak
Once upon a time @BrittBarak
beta @BrittBarak
ML Capability ?! @BrittBarak
Who is afraid of Machine Learning? & First Steps With
ML-Kit @BrittBarak
Britt Barak Developer Experience, Nexmo Google Developer Expert Britt Barak
@brittBarak
None
@BrittBarak
= @BrittBarak
§ What’s the difference? @BrittBarak
…and classify? @BrittBarak
@BrittBarak
This is a strawberry @BrittBarak
This is a strawberry Red Seeds pattern Narrow top leaves
@BrittBarak Pointy at the bottom Round at the top
Strawberry Not Not Not Strawberry Strawberry Not Not Not @BrittBarak
~*~ images ~*~ @BrittBarak
@BrittBarak Vision library
Text Recognition @BrittBarak
Face Detection @BrittBarak
Barcode Scanning @BrittBarak
Image Labelling @BrittBarak
Landmark Recognition @BrittBarak
Custom Models @BrittBarak
Example @BrittBarak
@BrittBarak
@BrittBarak
Detector detector .execute(image) Result: @BrittBarak “Ben & Jerry’s pistachio ice
cream”
1. Setup Detector @BrittBarak
Local or cloud? @BrittBarak
@BrittBarak
Local •Realtime •Offline support •Security / Privacy •Bandwith •… @BrittBarak
Cloud •More accuracy & features •But more latency •Pricing @BrittBarak
1. Setup Detector @BrittBarak
Text Detector textDetector = FirebaseVision.getInstance() @BrittBarak
Text Detector textDetector = FirebaseVision.getInstance() .onDeviceTextRecognizer @BrittBarak
Text Detector textDetector = FirebaseVision.getInstance() .cloudTextRecognizer @BrittBarak
2. Process input @BrittBarak
FirebaseVisionImage •Bitmap •image Uri •Media Image •byteArray •byteBuffer @BrittBarak
image = FirebaseVisionImage.fromBitmap(bitmap) @BrittBarak Text Detector
3. Execute the model @BrittBarak
Text Detector textDetector.processImage(image) @BrittBarak
Text Detector textDetector.processImage(image) .addOnSuccessListener { } @BrittBarak
Text Detector textDetector.processImage(image) .addOnSuccessListener { firebaseVisionTexts -> processOutput(fbVisionTexts) } @BrittBarak
4. Process output @BrittBarak
firebaseVisionTexts.text @BrittBarak
someTextView.text = firebaseVisionTexts.text @BrittBarak UI
Result @BrittBarak
Result @BrittBarak
(another) Example : Labelling @BrittBarak
Detector detector .execute(image) Result: @BrittBarak ice cream pint
Vegetables Deserts Vegetables
1. Setup Detector @BrittBarak
Image Classifier imageDetector = FirebaseVision.getInstance() @BrittBarak
Image Classifier imageDetector = FirebaseVision.getInstance() .visionLabelDetector @BrittBarak
Image Classifier imageDetector = FirebaseVision.getInstance .visionCloudLabelDetector @BrittBarak
2. Process input @BrittBarak
image = FirebaseVisionImage.fromBitmap(bitmap) @BrittBarak Image Classifier
3. Execute the model @BrittBarak
Image Classifier imageDetector.detectInImage(image) @BrittBarak
Image Classifier imageDetector.detectInImage(image) .addOnSuccessListener{ } @BrittBarak
Image Classifier imageDetector.detectInImage(image) .addOnSuccessListener{ fBLabels -> processOutput(fBLabels) } @BrittBarak
4. Process output @BrittBarak
fbLabel.label fbLabel.confidence fbLabel.entityId @BrittBarak
UI for (fbLabel in labels) { s = "${fbLabel.label} :
${fbLabel.confidence}" } @BrittBarak
Result
Result
It is an ML-ful world Enjoy!
Thank you! Keep in touch!