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
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
150
Kids, Play Nice! Kotlin-Java Interop In Mind
brittbarak
2
470
Sharing is Caring- Getting Started with Kotlin Multiplatform
brittbarak
2
2.2k
Between JOMO and FOMO: You are reshaping communication.
brittbarak
2
1.3k
Build Apps For The Ones You Love
brittbarak
1
150
Make your app dance with MotionLayout
brittbarak
8
1.5k
Who's afraid of ML? V2 : First steps with MlKit
brittbarak
1
490
Oh, the places you'll go! Cracking Navigation on Android
brittbarak
0
520
The organic evolution - how and why we created peer mentorship program
brittbarak
0
76
Other Decks in Programming
See All in Programming
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
660
さぁV100、メモリをお食べ・・・
nilpe
0
150
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
400
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
540
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
150
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.6k
dRuby over BLE
makicamel
2
380
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.3k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.9k
AI 輔助遺留系統現代化的經驗分享
jame2408
1
760
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
Leo the Paperboy
mayatellez
7
1.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
A Tale of Four Properties
chriscoyier
163
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
Paper Plane (Part 1)
katiecoart
PRO
0
9.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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!