$30 off During Our Annual Pro Sale. View Details »
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
140
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
140
Kids, Play Nice! Kotlin-Java Interop In Mind
brittbarak
2
450
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
130
Make your app dance with MotionLayout
brittbarak
8
1.4k
Who's afraid of ML? V2 : First steps with MlKit
brittbarak
1
470
Oh, the places you'll go! Cracking Navigation on Android
brittbarak
0
490
The organic evolution - how and why we created peer mentorship program
brittbarak
0
59
Other Decks in Programming
See All in Programming
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
430
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
150
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
850
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
これならできる!個人開発のすゝめ
tinykitten
PRO
0
110
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
260
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
170
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
230
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.9k
Optimizing for Happiness
mojombo
379
70k
Building an army of robots
kneath
306
46k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Done Done
chrislema
186
16k
Documentation Writing (for coders)
carmenintech
77
5.2k
Statistics for Hackers
jakevdp
799
230k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Rails Girls Zürich Keynote
gr2m
95
14k
Designing Experiences People Love
moore
143
24k
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!