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
Britt Barak
October 12, 2018
Programming
0
130
What an ML-ful World! MLKit for Android dev.
Britt Barak
October 12, 2018
Tweet
Share
More Decks by Britt Barak
See All by Britt Barak
[Vonage] Introducing Conversations
brittbarak
1
120
Kids, Play Nice! Kotlin-Java Interop In Mind
brittbarak
2
400
Sharing is Caring- Getting Started with Kotlin Multiplatform
brittbarak
2
2k
Between JOMO and FOMO: You are reshaping communication.
brittbarak
2
1.2k
Build Apps For The Ones You Love
brittbarak
1
110
Make your app dance with MotionLayout
brittbarak
8
1.3k
Who's afraid of ML? V2 : First steps with MlKit
brittbarak
1
450
Oh, the places you'll go! Cracking Navigation on Android
brittbarak
0
470
The organic evolution - how and why we created peer mentorship program
brittbarak
0
53
Other Decks in Programming
See All in Programming
API for docs
soutaro
1
710
MCP調べてみました! / Exploring MCP
uhzz
2
2.2k
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
270
AIコーディングワークフローの試行 〜AIエージェント×ワークフローでの自動化を目指して〜
rkaga
2
3.4k
Strategic Design (DDD)for the Frontend @DDD Meetup Stuttgart
manfredsteyer
PRO
0
100
AI Agents with JavaScript
slobodan
0
220
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
480
Ruby's Line Breaks
yui_knk
2
480
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
180
Vibe Codingをせずに Clineを使っている
watany
17
6.1k
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
140
AWS で実現する安全な AI エージェントの作り方 〜 Bedrock Engineer の実装例を添えて 〜 / how-to-build-secure-ai-agents
gawa
8
710
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
41
2.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
YesSQL, Process and Tooling at Scale
rocio
172
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Embracing the Ebb and Flow
colly
85
4.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Done Done
chrislema
183
16k
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!