SlideShare una empresa de Scribd logo
1 de 29
1© Cloudera, Inc. All rights reserved.
Presenting
Jason Hubbard
Facial Recognition at Scale
2© Cloudera, Inc. All rights reserved.
Definitions
• Face Detection - Determine location of face within an image. Outputs
coordinates of detected face.
• Facial Landmarks - Determine location of landmarks (nose, chin, mouth),
typically given a single face.
• Face Recognition - Given a face classify based on previous labelled faces.
3© Cloudera, Inc. All rights reserved.
Ingestion
4© Cloudera, Inc. All rights reserved.
Hadoop Image Processing Interface - HIPI
• Native Image format
• Hooks into OpenCV
• Mostly dormant
5© Cloudera, Inc. All rights reserved.
SequenceFile
• Well known solution, easy
• Key is filename, value is image blob
• Requires processing to extract image metadata
6© Cloudera, Inc. All rights reserved.
AvroParquet
• Well known, a bit more work
• Can have multiple attributes including file name, image metadata, and blob of
image
• Can filter and project image metadata without processing image
• ImageSchema support added in Spark 2.3
7© Cloudera, Inc. All rights reserved.
ToolsLibraries
8© Cloudera, Inc. All rights reserved.
OpenCV
• Computer Vision Library from Intel
• C++, Java, Python
• Easy, mature product
• Multiple Models
• Train and Load Simple Models
• Load DNN, CaffeeTensorflow
• Image processing tools
• Loading, Saving, Converting
• Frame Grabber
• Image Translation
9© Cloudera, Inc. All rights reserved.
JavaCV
• Project within large JavaCPP Project
• Add other components like ffmpeg, tesseract, mkl, etc
• Easy wrappers and helper methods
• Prebuilt & cross compiled (Maven Central)
• Windows, Linux, ARM, Android, etc
• May not be optimized
10© Cloudera, Inc. All rights reserved.
dlib
• C++ Library
• Python bindings
• Not as easy
• Requires compiling
• Python requires native code
• Multiple Models
• Load and Train simple and DNN
11© Cloudera, Inc. All rights reserved.
Deep Learning
• Caffe
• C++, Python bindings
• Originally focused on vision, but general deep learning now
• Train, Inference, export model and weights
• TensorFlow
• C++, Python and Java bindings
• General Deep learning library
• Train, Inference, export model and weights
• Generally missing image processing
12© Cloudera, Inc. All rights reserved.
Preprocessing
13© Cloudera, Inc. All rights reserved.
Normalize
• Detect Face
• Landmarks
• Resize
• Translate
14© Cloudera, Inc. All rights reserved.
Cascade Classifier
• Boosted cascade of
weak classifiers
• Object Detection
• Haar, Local Binary
Patterns (LBP)
• Examples in OpenCV,
original models
• Hard to tune
• Can have poor results
15© Cloudera, Inc. All rights reserved.
Histogram of Oriented Gradients (HOG)
• Provided in dlib
• Extension, discriminately trained
• Better accuracy
• SVM Model
16© Cloudera, Inc. All rights reserved.
Multi-task CNN
• Caffe & Tensorflow models
• Examples exist, but complex
• Slower
• Good results
• Better at occlusion, silhouettes
• Combined Face Detection and Landmark
17© Cloudera, Inc. All rights reserved.
Training
18© Cloudera, Inc. All rights reserved.
Face Recognizer
• Eigenfaces – PCA to limit dimensionality, greatest variance
• Fisherfaces – LDA to increase discriminate features
• Local Binary Patterns Histograms (LBPH) – Local features instead of holistic
• Influenced by external sources (light, occlusion, etc)
19© Cloudera, Inc. All rights reserved.
Facenet
• Inception-ResNet-v1 model
• Creates embeddings
• Discriminative features using center loss
• Train against embeddings
• Clustering
• SVM
20© Cloudera, Inc. All rights reserved.
Embedding
[-1.234, -7.32, 9.323, ….]
21© Cloudera, Inc. All rights reserved.
Flow
[3.23, -1.43, 5.23,
…][-3.432, 0.723, -2.34,
…][2.12, -1.43, 5.23,
…]
[-1.23, 1.43, 3.23,
…][-2.432, 1.723, 1.44,
…][2.432, -0.723, 2.14,
…]
[0.23, -1.73, 6.23,
…][-4.432, 2.32, 1.84,
…][3.12, -2.23, 7.64, …]
[-4.23, 0.13, 9.23,
…][-2.432, 1.723, 1.44,
…][1.432, 2.723, -3.44,
…]
Clustering
Or
Regression
MTCNN -> Face &
Landmark Locations
Crop, Scale,
Translate
Facenet ->
Embeddings
Decode
22© Cloudera, Inc. All rights reserved.
TensorFlow Distributed Deep Learning
• Spark
• Tensorframes
• deep-learning-pipelines
• TensorflowOnSpark
• Import into alternative (dl4j, BigDL, etc)
• DIY
23© Cloudera, Inc. All rights reserved.
Beer
Protection
24© Cloudera, Inc. All rights reserved.
Kegbot
• Device to keep track of pours
• Associates poor to user
• Optionally takes photo from Android tablet
• Stored in MySQL database
25© Cloudera, Inc. All rights reserved.
Case of missing pourers
• Claim Pours
• Unclaimed
• Wrong selection
• Tablet can go offline
26© Cloudera, Inc. All rights reserved.
Solution
• Batch process photos
• Photos saved on filesystem
• Database stores photo to pour mapping
• Use external camera
• OpenCV frame grabber
• Spark receiver store frame/image
27© Cloudera, Inc. All rights reserved.
Single Image
28© Cloudera, Inc. All rights reserved.
Approaches
• Synthesis Data
• Jitter
• Shading
• Translate, Flip
• Take multiple of unknown subject
• Euclidean Distance
29© Cloudera, Inc. All rights reserved.
Thank you
Jason Hubbard

Más contenido relacionado

La actualidad más candente

Hadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual MachinesHadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual Machines
DataWorks Summit
 

La actualidad más candente (20)

Part 2: Cloudera’s Operational Database: Unlocking New Benefits in the Cloud
Part 2: Cloudera’s Operational Database: Unlocking New Benefits in the CloudPart 2: Cloudera’s Operational Database: Unlocking New Benefits in the Cloud
Part 2: Cloudera’s Operational Database: Unlocking New Benefits in the Cloud
 
Solr consistency and recovery internals
Solr consistency and recovery internalsSolr consistency and recovery internals
Solr consistency and recovery internals
 
Where to Deploy Hadoop: Bare Metal or Cloud?
Where to Deploy Hadoop: Bare Metal or Cloud? Where to Deploy Hadoop: Bare Metal or Cloud?
Where to Deploy Hadoop: Bare Metal or Cloud?
 
Extreme Sports & Beyond: Exploring a new frontier in data with GoPro
Extreme Sports & Beyond: Exploring a new frontier in data with GoProExtreme Sports & Beyond: Exploring a new frontier in data with GoPro
Extreme Sports & Beyond: Exploring a new frontier in data with GoPro
 
Analyzing Hadoop Data Using Sparklyr

Analyzing Hadoop Data Using Sparklyr
Analyzing Hadoop Data Using Sparklyr

Analyzing Hadoop Data Using Sparklyr

 
Part 3: Models in Production: A Look From Beginning to End
Part 3: Models in Production: A Look From Beginning to EndPart 3: Models in Production: A Look From Beginning to End
Part 3: Models in Production: A Look From Beginning to End
 
Deep Learning with DL4J on Apache Spark: Yeah it's Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah it's Cool, but are You Doing it...Deep Learning with DL4J on Apache Spark: Yeah it's Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah it's Cool, but are You Doing it...
 
Apache Spark Operations
Apache Spark OperationsApache Spark Operations
Apache Spark Operations
 
How to build leakproof stream processing pipelines with Apache Kafka and Apac...
How to build leakproof stream processing pipelines with Apache Kafka and Apac...How to build leakproof stream processing pipelines with Apache Kafka and Apac...
How to build leakproof stream processing pipelines with Apache Kafka and Apac...
 
Faster Batch Processing with Cloudera 5.7: Hive-on-Spark is ready for production
Faster Batch Processing with Cloudera 5.7: Hive-on-Spark is ready for productionFaster Batch Processing with Cloudera 5.7: Hive-on-Spark is ready for production
Faster Batch Processing with Cloudera 5.7: Hive-on-Spark is ready for production
 
dplyr Interfaces to Large-Scale Data
dplyr Interfaces to Large-Scale Datadplyr Interfaces to Large-Scale Data
dplyr Interfaces to Large-Scale Data
 
Intel and Cloudera: Accelerating Enterprise Big Data Success
Intel and Cloudera: Accelerating Enterprise Big Data SuccessIntel and Cloudera: Accelerating Enterprise Big Data Success
Intel and Cloudera: Accelerating Enterprise Big Data Success
 
Part 1: Lambda Architectures: Simplified by Apache Kudu
Part 1: Lambda Architectures: Simplified by Apache KuduPart 1: Lambda Architectures: Simplified by Apache Kudu
Part 1: Lambda Architectures: Simplified by Apache Kudu
 
Spark One Platform Webinar
Spark One Platform WebinarSpark One Platform Webinar
Spark One Platform Webinar
 
Big Data Fundamentals
Big Data FundamentalsBig Data Fundamentals
Big Data Fundamentals
 
Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive

Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive


 
Hadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual MachinesHadoop in the Clouds, Virtualization and Virtual Machines
Hadoop in the Clouds, Virtualization and Virtual Machines
 
Unlock Hadoop Success with Cloudera Navigator Optimizer
Unlock Hadoop Success with Cloudera Navigator OptimizerUnlock Hadoop Success with Cloudera Navigator Optimizer
Unlock Hadoop Success with Cloudera Navigator Optimizer
 
One Hadoop, Multiple Clouds - NYC Big Data Meetup
One Hadoop, Multiple Clouds - NYC Big Data MeetupOne Hadoop, Multiple Clouds - NYC Big Data Meetup
One Hadoop, Multiple Clouds - NYC Big Data Meetup
 
Intro to Apache Spark
Intro to Apache SparkIntro to Apache Spark
Intro to Apache Spark
 

Similar a Facial recognition

Similar a Facial recognition (20)

Reactive summit 2020 microsoft orleans the easy way
Reactive summit 2020   microsoft orleans the easy wayReactive summit 2020   microsoft orleans the easy way
Reactive summit 2020 microsoft orleans the easy way
 
SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
 
Container Native Development Tools - Talk by Mickey Boxell
Container Native Development Tools - Talk by Mickey BoxellContainer Native Development Tools - Talk by Mickey Boxell
Container Native Development Tools - Talk by Mickey Boxell
 
Drupal 7 ninja theming
Drupal 7 ninja themingDrupal 7 ninja theming
Drupal 7 ninja theming
 
Kite SDK introduction for Portland Big Data
Kite SDK introduction for Portland Big DataKite SDK introduction for Portland Big Data
Kite SDK introduction for Portland Big Data
 
Platform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldPlatform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle World
 
Getting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionGetting Apache Spark Customers to Production
Getting Apache Spark Customers to Production
 
Elastic build environment
Elastic build environmentElastic build environment
Elastic build environment
 
Building and Maintaining a Distribution in Drupal 7 with Features
Building and Maintaining a  Distribution in Drupal 7 with FeaturesBuilding and Maintaining a  Distribution in Drupal 7 with Features
Building and Maintaining a Distribution in Drupal 7 with Features
 
The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster managementThe age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster management
 
Hadoop Summit 2012 | BranchReduce: Distributed Branch-and-Bound on YARN
Hadoop Summit 2012 | BranchReduce: Distributed Branch-and-Bound on YARNHadoop Summit 2012 | BranchReduce: Distributed Branch-and-Bound on YARN
Hadoop Summit 2012 | BranchReduce: Distributed Branch-and-Bound on YARN
 
Introduction of vertical crawler
Introduction of vertical crawlerIntroduction of vertical crawler
Introduction of vertical crawler
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash Course
 
Troubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed DebuggingTroubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed Debugging
 
Automatic Undo for Cloud Management via AI Planning
Automatic Undo for Cloud Management via AI PlanningAutomatic Undo for Cloud Management via AI Planning
Automatic Undo for Cloud Management via AI Planning
 
DevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containersDevOps Fusion 2019: Docker - Why the future takes place in containers
DevOps Fusion 2019: Docker - Why the future takes place in containers
 
Empower Hive with Spark
Empower Hive with SparkEmpower Hive with Spark
Empower Hive with Spark
 
GraalVM Overview Compact version
GraalVM Overview Compact versionGraalVM Overview Compact version
GraalVM Overview Compact version
 
Experts Live Europe 2017 - Why you should care about Docker - an introduction
Experts Live Europe 2017 - Why you should care about Docker - an introductionExperts Live Europe 2017 - Why you should care about Docker - an introduction
Experts Live Europe 2017 - Why you should care about Docker - an introduction
 
VMware VCP7-DTM: More than just Horizon View
VMware VCP7-DTM: More than just Horizon ViewVMware VCP7-DTM: More than just Horizon View
VMware VCP7-DTM: More than just Horizon View
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Facial recognition

  • 1. 1© Cloudera, Inc. All rights reserved. Presenting Jason Hubbard Facial Recognition at Scale
  • 2. 2© Cloudera, Inc. All rights reserved. Definitions • Face Detection - Determine location of face within an image. Outputs coordinates of detected face. • Facial Landmarks - Determine location of landmarks (nose, chin, mouth), typically given a single face. • Face Recognition - Given a face classify based on previous labelled faces.
  • 3. 3© Cloudera, Inc. All rights reserved. Ingestion
  • 4. 4© Cloudera, Inc. All rights reserved. Hadoop Image Processing Interface - HIPI • Native Image format • Hooks into OpenCV • Mostly dormant
  • 5. 5© Cloudera, Inc. All rights reserved. SequenceFile • Well known solution, easy • Key is filename, value is image blob • Requires processing to extract image metadata
  • 6. 6© Cloudera, Inc. All rights reserved. AvroParquet • Well known, a bit more work • Can have multiple attributes including file name, image metadata, and blob of image • Can filter and project image metadata without processing image • ImageSchema support added in Spark 2.3
  • 7. 7© Cloudera, Inc. All rights reserved. ToolsLibraries
  • 8. 8© Cloudera, Inc. All rights reserved. OpenCV • Computer Vision Library from Intel • C++, Java, Python • Easy, mature product • Multiple Models • Train and Load Simple Models • Load DNN, CaffeeTensorflow • Image processing tools • Loading, Saving, Converting • Frame Grabber • Image Translation
  • 9. 9© Cloudera, Inc. All rights reserved. JavaCV • Project within large JavaCPP Project • Add other components like ffmpeg, tesseract, mkl, etc • Easy wrappers and helper methods • Prebuilt & cross compiled (Maven Central) • Windows, Linux, ARM, Android, etc • May not be optimized
  • 10. 10© Cloudera, Inc. All rights reserved. dlib • C++ Library • Python bindings • Not as easy • Requires compiling • Python requires native code • Multiple Models • Load and Train simple and DNN
  • 11. 11© Cloudera, Inc. All rights reserved. Deep Learning • Caffe • C++, Python bindings • Originally focused on vision, but general deep learning now • Train, Inference, export model and weights • TensorFlow • C++, Python and Java bindings • General Deep learning library • Train, Inference, export model and weights • Generally missing image processing
  • 12. 12© Cloudera, Inc. All rights reserved. Preprocessing
  • 13. 13© Cloudera, Inc. All rights reserved. Normalize • Detect Face • Landmarks • Resize • Translate
  • 14. 14© Cloudera, Inc. All rights reserved. Cascade Classifier • Boosted cascade of weak classifiers • Object Detection • Haar, Local Binary Patterns (LBP) • Examples in OpenCV, original models • Hard to tune • Can have poor results
  • 15. 15© Cloudera, Inc. All rights reserved. Histogram of Oriented Gradients (HOG) • Provided in dlib • Extension, discriminately trained • Better accuracy • SVM Model
  • 16. 16© Cloudera, Inc. All rights reserved. Multi-task CNN • Caffe & Tensorflow models • Examples exist, but complex • Slower • Good results • Better at occlusion, silhouettes • Combined Face Detection and Landmark
  • 17. 17© Cloudera, Inc. All rights reserved. Training
  • 18. 18© Cloudera, Inc. All rights reserved. Face Recognizer • Eigenfaces – PCA to limit dimensionality, greatest variance • Fisherfaces – LDA to increase discriminate features • Local Binary Patterns Histograms (LBPH) – Local features instead of holistic • Influenced by external sources (light, occlusion, etc)
  • 19. 19© Cloudera, Inc. All rights reserved. Facenet • Inception-ResNet-v1 model • Creates embeddings • Discriminative features using center loss • Train against embeddings • Clustering • SVM
  • 20. 20© Cloudera, Inc. All rights reserved. Embedding [-1.234, -7.32, 9.323, ….]
  • 21. 21© Cloudera, Inc. All rights reserved. Flow [3.23, -1.43, 5.23, …][-3.432, 0.723, -2.34, …][2.12, -1.43, 5.23, …] [-1.23, 1.43, 3.23, …][-2.432, 1.723, 1.44, …][2.432, -0.723, 2.14, …] [0.23, -1.73, 6.23, …][-4.432, 2.32, 1.84, …][3.12, -2.23, 7.64, …] [-4.23, 0.13, 9.23, …][-2.432, 1.723, 1.44, …][1.432, 2.723, -3.44, …] Clustering Or Regression MTCNN -> Face & Landmark Locations Crop, Scale, Translate Facenet -> Embeddings Decode
  • 22. 22© Cloudera, Inc. All rights reserved. TensorFlow Distributed Deep Learning • Spark • Tensorframes • deep-learning-pipelines • TensorflowOnSpark • Import into alternative (dl4j, BigDL, etc) • DIY
  • 23. 23© Cloudera, Inc. All rights reserved. Beer Protection
  • 24. 24© Cloudera, Inc. All rights reserved. Kegbot • Device to keep track of pours • Associates poor to user • Optionally takes photo from Android tablet • Stored in MySQL database
  • 25. 25© Cloudera, Inc. All rights reserved. Case of missing pourers • Claim Pours • Unclaimed • Wrong selection • Tablet can go offline
  • 26. 26© Cloudera, Inc. All rights reserved. Solution • Batch process photos • Photos saved on filesystem • Database stores photo to pour mapping • Use external camera • OpenCV frame grabber • Spark receiver store frame/image
  • 27. 27© Cloudera, Inc. All rights reserved. Single Image
  • 28. 28© Cloudera, Inc. All rights reserved. Approaches • Synthesis Data • Jitter • Shading • Translate, Flip • Take multiple of unknown subject • Euclidean Distance
  • 29. 29© Cloudera, Inc. All rights reserved. Thank you Jason Hubbard