Submit Search
Upload
CameraX, MLKit and AutoML at DevFest Cebu 2019
•
0 likes
•
288 views
T
Toru Wonyoung Choi
Follow
CameraX with MLKit and AutoML
Read less
Read more
Technology
Report
Share
Report
Share
1 of 57
Download now
Download to read offline
Recommended
CameraX, MLKit and AutoML at DevFest Songdo 2019
CameraX, MLKit and AutoML at DevFest Songdo 2019
Toru Wonyoung Choi
Building the windows 8 community app
Building the windows 8 community app
bartlannoeye
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Nicolas HAAN
The Role of Python in SPAs (Single-Page Applications)
The Role of Python in SPAs (Single-Page Applications)
David Gibbons
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan Lipps
Perfecto by Perforce
Understanding ML kit offerings in android
Understanding ML kit offerings in android
bhatnagar.gaurav83
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modules
omorandi
Production ML Systems and Computer Vision with Google Cloud
Production ML Systems and Computer Vision with Google Cloud
gdgsurrey
Recommended
CameraX, MLKit and AutoML at DevFest Songdo 2019
CameraX, MLKit and AutoML at DevFest Songdo 2019
Toru Wonyoung Choi
Building the windows 8 community app
Building the windows 8 community app
bartlannoeye
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Nicolas HAAN
The Role of Python in SPAs (Single-Page Applications)
The Role of Python in SPAs (Single-Page Applications)
David Gibbons
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan Lipps
Perfecto by Perforce
Understanding ML kit offerings in android
Understanding ML kit offerings in android
bhatnagar.gaurav83
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modules
omorandi
Production ML Systems and Computer Vision with Google Cloud
Production ML Systems and Computer Vision with Google Cloud
gdgsurrey
JavaScript Framework Smackdown
JavaScript Framework Smackdown
meghantaylor
Developing maintainable Cordova applications
Developing maintainable Cordova applications
Ivano Malavolta
Leveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in Gutenberg
Felix Arntz
GraalVM Overview Compact version
GraalVM Overview Compact version
scalaconfjp
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Toru Wonyoung Choi
Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
NAVER D2
Exploring CameraX from JetPack
Exploring CameraX from JetPack
Hassan Abid
SharePoint Framework, Angular and Azure Functions
SharePoint Framework, Angular and Azure Functions
Sébastien Levert
Developing an object detector solution with Azure Custom Vision .NET SDK
Developing an object detector solution with Azure Custom Vision .NET SDK
Luis Beltran
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
Tony Frame
Porting legacy apps to Griffon
Porting legacy apps to Griffon
James Williams
ML Kit , Cloud FF GDSC MESCOE.pdf
ML Kit , Cloud FF GDSC MESCOE.pdf
AkankshaPathak42
Using Automatic Refactoring to Improve Energy Efficiency of Android Apps
Using Automatic Refactoring to Improve Energy Efficiency of Android Apps
Luis Cruz
仕事ではじめる機械学習
仕事ではじめる機械学習
Aki Ariga
Modern android development
Modern android development
Khiem-Kim Ho Xuan
Make it compatible
Make it compatible
Keishin Yokomaku
Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScript
wesley chun
Rp 6 session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
sapientindia
Appcelerator Alloy Deep Dive - tiTokyo 2013
Appcelerator Alloy Deep Dive - tiTokyo 2013
ralcocer
Appcelerator Alloy Deep Dive - tiTokyo 2013
Appcelerator Alloy Deep Dive - tiTokyo 2013
Ricardo Alcocer
Glancing essential features of Dart, before stepping into Flutter
Glancing essential features of Dart, before stepping into Flutter
Toru Wonyoung Choi
The use case of a scalable architecture
The use case of a scalable architecture
Toru Wonyoung Choi
More Related Content
Similar to CameraX, MLKit and AutoML at DevFest Cebu 2019
JavaScript Framework Smackdown
JavaScript Framework Smackdown
meghantaylor
Developing maintainable Cordova applications
Developing maintainable Cordova applications
Ivano Malavolta
Leveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in Gutenberg
Felix Arntz
GraalVM Overview Compact version
GraalVM Overview Compact version
scalaconfjp
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Toru Wonyoung Choi
Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
NAVER D2
Exploring CameraX from JetPack
Exploring CameraX from JetPack
Hassan Abid
SharePoint Framework, Angular and Azure Functions
SharePoint Framework, Angular and Azure Functions
Sébastien Levert
Developing an object detector solution with Azure Custom Vision .NET SDK
Developing an object detector solution with Azure Custom Vision .NET SDK
Luis Beltran
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
Tony Frame
Porting legacy apps to Griffon
Porting legacy apps to Griffon
James Williams
ML Kit , Cloud FF GDSC MESCOE.pdf
ML Kit , Cloud FF GDSC MESCOE.pdf
AkankshaPathak42
Using Automatic Refactoring to Improve Energy Efficiency of Android Apps
Using Automatic Refactoring to Improve Energy Efficiency of Android Apps
Luis Cruz
仕事ではじめる機械学習
仕事ではじめる機械学習
Aki Ariga
Modern android development
Modern android development
Khiem-Kim Ho Xuan
Make it compatible
Make it compatible
Keishin Yokomaku
Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScript
wesley chun
Rp 6 session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
sapientindia
Appcelerator Alloy Deep Dive - tiTokyo 2013
Appcelerator Alloy Deep Dive - tiTokyo 2013
ralcocer
Appcelerator Alloy Deep Dive - tiTokyo 2013
Appcelerator Alloy Deep Dive - tiTokyo 2013
Ricardo Alcocer
Similar to CameraX, MLKit and AutoML at DevFest Cebu 2019
(20)
JavaScript Framework Smackdown
JavaScript Framework Smackdown
Developing maintainable Cordova applications
Developing maintainable Cordova applications
Leveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in Gutenberg
GraalVM Overview Compact version
GraalVM Overview Compact version
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
Exploring CameraX from JetPack
Exploring CameraX from JetPack
SharePoint Framework, Angular and Azure Functions
SharePoint Framework, Angular and Azure Functions
Developing an object detector solution with Azure Custom Vision .NET SDK
Developing an object detector solution with Azure Custom Vision .NET SDK
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
Porting legacy apps to Griffon
Porting legacy apps to Griffon
ML Kit , Cloud FF GDSC MESCOE.pdf
ML Kit , Cloud FF GDSC MESCOE.pdf
Using Automatic Refactoring to Improve Energy Efficiency of Android Apps
Using Automatic Refactoring to Improve Energy Efficiency of Android Apps
仕事ではじめる機械学習
仕事ではじめる機械学習
Modern android development
Modern android development
Make it compatible
Make it compatible
Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScript
Rp 6 session 2 naresh bhatia
Rp 6 session 2 naresh bhatia
Appcelerator Alloy Deep Dive - tiTokyo 2013
Appcelerator Alloy Deep Dive - tiTokyo 2013
Appcelerator Alloy Deep Dive - tiTokyo 2013
Appcelerator Alloy Deep Dive - tiTokyo 2013
More from Toru Wonyoung Choi
Glancing essential features of Dart, before stepping into Flutter
Glancing essential features of Dart, before stepping into Flutter
Toru Wonyoung Choi
The use case of a scalable architecture
The use case of a scalable architecture
Toru Wonyoung Choi
Building an app with Google's new suites
Building an app with Google's new suites
Toru Wonyoung Choi
datastore_devfest2020_incheon
datastore_devfest2020_incheon
Toru Wonyoung Choi
Slide_Concat_adapter_july_2020
Slide_Concat_adapter_july_2020
Toru Wonyoung Choi
activity_and_fragment_may_2020_lakopi
activity_and_fragment_may_2020_lakopi
Toru Wonyoung Choi
camera_x_beyond_alpha
camera_x_beyond_alpha
Toru Wonyoung Choi
Slide_For_GDGKL_devfest_2019
Slide_For_GDGKL_devfest_2019
Toru Wonyoung Choi
More from Toru Wonyoung Choi
(8)
Glancing essential features of Dart, before stepping into Flutter
Glancing essential features of Dart, before stepping into Flutter
The use case of a scalable architecture
The use case of a scalable architecture
Building an app with Google's new suites
Building an app with Google's new suites
datastore_devfest2020_incheon
datastore_devfest2020_incheon
Slide_Concat_adapter_july_2020
Slide_Concat_adapter_july_2020
activity_and_fragment_may_2020_lakopi
activity_and_fragment_may_2020_lakopi
camera_x_beyond_alpha
camera_x_beyond_alpha
Slide_For_GDGKL_devfest_2019
Slide_For_GDGKL_devfest_2019
Recently uploaded
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Recently uploaded
(20)
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Slack Application Development 101 Slides
Slack Application Development 101 Slides
CameraX, MLKit and AutoML at DevFest Cebu 2019
1.
2.
CameraX, meets MLKit
and AutoML Wonyoung Choi Singapore Tourism Board
3.
Contents 1. Biography 2. CameraX 3.
MLKit 4. AutoML 5. Example
4.
Biography
5.
Wonyoung Choi, a.k.a
Toru Android Advocate, Singapore Tourism Board @TORU_0239 GitHub: TORU239
6.
CameraX
7.
Introduction • Announced in
Google I/O 2019 • Jetpack Support Library • Easier Approach to leverage Camera2
8.
• Lifecycle-aware component •
Backward compatibility till L • Use-case based approaches • Resolving device-compatibility issues Features
9.
User cases • Preview •
Image Analysis • Image Capture
10.
Preview Image Analysis Capture
11.
<TextureView android:id="@+id/view_finder" android:layout_width="match_parent" android:layout_height="match_parent"/>
12.
val previewConfig =
PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.BACK) setTargetAspectRatio(AspectRatio.RATIO_4_3) setTargetRotation(viewFinder.display.rotation) }.build()
13.
val previewConfig =
PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.BACK) setTargetResolution( Size(metrics.widthPixels,metrics.heightPixels) ) setTargetRotation(viewFinder.display.rotation) }.build()
14.
val previewConfig =
PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.BACK) setTargetAspectRatio(AspectRatio.RATIO_4_3) setTargetResolution( Size(metrics.widthPixels,metrics.heightPixels) ) setTargetRotation(viewFinder.display.rotation) }.build() How about this?
15.
val previewConfig =
PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.BACK) setTargetAspectRatio(AspectRatio.RATIO_4_3) setTargetResolution( Size(metrics.widthPixels,metrics.heightPixels) ) setTargetRotation(viewFinder.display.rotation) }.build() Crash!
16.
Preview Image Analysis Capture
17.
val imageAnalysisConfig =
ImageAnalysisConfig.Builder().apply { setLensFacing(CameraX.LensFacing.BACK) setImageReaderMode(ImageAnalysis.ImageReaderMode.ACQUIRE_LATEST_IMAGE) setTargetRotation(viewFinder.display.rotation) }.build() val executor = Executors.newSingleThreadExecutor() imageAnalyzer = ImageAnalysis(imageAnalysisConfig).apply { setAnalyzer( executor, ImageAnalysis.Analyzer { image, rotationDegrees -> // Do whatever you want. }) }
18.
ImageProxy? • Analogous Interface
as Image • Contains informationsAPI
19.
Analyzer? • Interfaces for
analysing images • Implement analyze() to useAPI
20.
Preview Image Analysis Capture
21.
val captureConfig =
ImageCaptureConfig.Builder().apply { setLensFacing(CameraX.LensFacing.BACK) setCaptureMode(ImageCapture.CaptureMode.MIN_LATENCY) setTargetResolution(Size(metrics.widthPixels, metrics.heightPixels)) setTargetRotation(viewFinder.display.rotation) } .build() val imageCapture = ImageCapture(captureConfig)
22.
Binding to Lifecycle •
Few codes required to bind. API
23.
CameraX.bindToLifecycle( viewLifecycleOwner, preview, imageCapture, imageAnalyzer )
24.
CameraX.unbindAll()
25.
Interact • Taking picture
using one api API
26.
imageCapture.takePicture(,,,)
27.
` Configure Bind Interact!
28.
Caution API • Alpha stage •
Particular thing on particular Devices
29.
MLKit
30.
Introduction • Mobile SDK
for both platform • Easy-to-use, with few lines of code • Approachable for everyone
31.
Vision API •
Image Labelling • Face Recognition • Barcode Scanning • Face Detection • Landmark Recognition
32.
Image Labelling •
Enables user to recognise image without additional metadata • Deriving entities with confidence level • On-device or Cloud API
33.
Image Labelling • 400+
categories for On- Device • 10,000+ for Cloud API
34.
Image Labelling • What
if we want to use our custom model?
35.
Please wait for
a while 🤣
36.
Caution API • Beta stage •
Changes in the future
37.
AutoML
38.
AutoML • Suites of
ML Products • Fitting to environment with less expertises
39.
AutoML • AutoML
Vision • AutoML Video Intelligence • AutoML Natural Languages • AutoML Translation • AutoML Table
40.
AutoML Vision Edge •
Custom Image Labelling • Narrower domain of concepts • Follows policies of Google Cloud
41.
AutoML Vision Edge •
Able to be found and linked from Firebase Console
42.
Go along together!
43.
val firebaseAutoMLLocalModel =
FirebaseAutoMLLocalModel.Builder() .setAssetFilePath("manifest.json") .build()
44.
val labeller =
FirebaseVision.getInstance().getOnDeviceAutoMLImageLabeler( FirebaseVisionOnDeviceAutoMLImageLabelerOptions .Builder(firebaseAutoMLLocalModel) .setConfidenceThreshold(0.5F) .build() )
45.
labeller.processImage(image) .addOnSuccessListener { labels
-> // Task completed successfully // ... } .addOnFailureListener { e -> // Task failed with an exception // ... }
46.
val image: FirebaseVisionImage try
{ image = FirebaseVisionImage.fromFilePath(context, uri) } catch (e: IOException) { e.printStackTrace() }
47.
val image =
FirebaseVisionImage.fromBitmap(bitmap)
48.
aaptOptions { noCompress “tflite” } Don’t
forget to put into build.gradle!
49.
` Capture Image Labelling Detect!
50.
Example Project: Cebu
Food Detector!
51.
Let’s go and
find LECHON!
52.
WE HAVE, ONE MORE
THING! 😆
53.
Furthermore • Plan to
release in beta in Dec • More apis not showcased hereAPI
54.
New capabilities •
Tap to focus • Zoom • Device rotation Info • Flash Availability • And so on!
55.
Extensions • Night mode •
HDR • Few lines needed only! • Restriction for API
56.
https://developer.android.com/training/camerax https://firebase.google.com/docs/ml-kit https://cloud.google.com/automl https://github.com/android/camera-samples/tree/master/CameraXBasic https://github.com/TORU0239/CebuDevfest19
57.
Thank you!
Download now