SlideShare a Scribd company logo
1 of 25
Impress Your friends:
Create a Smart Photobooth
Hao Luo Sr Technical Evangelist – Microsoft @howlowck
Outline
• Overview of the Project
• First Demo!
• Deep dive on the photobooth
• Facial Recognition
• Second Demo!
Why did I build a Photobooth?
• Married this year
• $$$$
• I like a challenge
Requirements
• High Quality Photos (DSLR)
• Intuitive, User Friendly (touch interface)
• Customized Print
• As much NodeJS as possible
It was fun!
The Hardware
The Camera
Canon 6D
50mm Prime Lens
Any Canon Camera
The Printer
Canon Selphy CR1200 Printer
(10 seconds per print)
Any Wifi connected Printer
The Hotspot
Netgear Jetpack (Verizon)
Any Mobile hotspot
The Computer
Surface Book
Touch enabled Laptop
The Trigger Device
(first) Demo Time!
Challenges (Unknowns)
• Triggering the DSLR
• Getting the captured image back from the DSLR
• Capturing the streaming image from the DSLR
• Programmatically call a printer to print a photo
Webcam
Triggering the DSLR
• Triggertrap
• 😢
• https://www.diyphotography.net/building-diy-trigger-trap/
• https://github.com/Triggertrap/mobile-dongle (open sourced HW)
Mimicking the Mobile App
Getting the photos back from DSLR
• Canon EOS Utility (Windows, Mac, Linux Supported)
• Saved to an import folder
• chokidar package
• Save a copy to the working directory
• Notifies the frontend to show up on the screen
The Printer
• Internet Printer Protocol (IETF Spec)
• `npm install ipp`
Photobooth Architecture Diagram
chokidar
ippsocket.io
Facial Recognition
• Microsoft Cognitive Services Face API
• Features:
• Verify
• Detect
• Identify
• Group
• To use Identify Endpoint
1. Train the API with known persons
2. Call the identify endpoint in your app
Training a
Face
Train Train the PersonGroup
Add (get a picture) Add a Face to the Person
Create Create a Person
List List everyone in your PersonGroup
Create Create/Get a PersonGroup
Two Tools
• Face Trainer (serverless/static web app)
• https://face.lifeishao.com
• Mobile Web App for Users
• http://aka.ms/nodevemberphoto
Demo! (with Facial Recognition)
Lessons Learned from this
setup
• Two cameras can be confusing (people don’t read)
• DSLR focus should be automatic
• Still needs someone to monitor the photobooth
Summary
• Cost $300 new cost
• $100 photo printer,
• $50 camera accessories,
• $150 ink and photo paper
• Next Step Ideas:
• Electron App
• Smaller Form Factor (Raspberry Pi)
• Getting the feed from Camera.
• https://github.com/howlowck/haos-photobooth
• I Learned a ton
Questions?
• https://www.diyphotography.net/building-diy-trigger-trap/
(Simplified Circuit for TriggerTrap)
• https://github.com/Triggertrap/mobile-dongle (open sourced HW)
• https://face.lifeishao.com (static web app for Face API management)
• http://aka.ms/nodevemberphoto (for adding yourself to this
photobooth)
• https://github.com/howlowck/haos-photobooth (repo for this
photobooth)

More Related Content

Similar to How to create a smart Photobooth

PhotoAnim Application
PhotoAnim ApplicationPhotoAnim Application
PhotoAnim Application
shathazozo
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
Brian LeRoux
 
Tuxtorial - talk 1 (pdf)
Tuxtorial - talk 1 (pdf)Tuxtorial - talk 1 (pdf)
Tuxtorial - talk 1 (pdf)
prototypeangel
 

Similar to How to create a smart Photobooth (20)

Introduction
IntroductionIntroduction
Introduction
 
Exploring Ketai Library, Droidcon
Exploring Ketai Library, DroidconExploring Ketai Library, Droidcon
Exploring Ketai Library, Droidcon
 
Kendo UI - Mikita Manko at Mobile Optimized
Kendo UI - Mikita Manko at Mobile OptimizedKendo UI - Mikita Manko at Mobile Optimized
Kendo UI - Mikita Manko at Mobile Optimized
 
Using intel's real sense to create games with natural user interfaces justi...
Using intel's real sense to create games with natural user interfaces   justi...Using intel's real sense to create games with natural user interfaces   justi...
Using intel's real sense to create games with natural user interfaces justi...
 
Programming the Real World: Javascript for Makers
Programming the Real World: Javascript for MakersProgramming the Real World: Javascript for Makers
Programming the Real World: Javascript for Makers
 
ProjectsSummary
ProjectsSummaryProjectsSummary
ProjectsSummary
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 
Mocast Postmortem
Mocast PostmortemMocast Postmortem
Mocast Postmortem
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
 
PhotoAnim Application
PhotoAnim ApplicationPhotoAnim Application
PhotoAnim Application
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
Make Cross Platform Apps that Suck Less
Make Cross Platform Apps that Suck LessMake Cross Platform Apps that Suck Less
Make Cross Platform Apps that Suck Less
 
PSU Web 2014: UX and Design Tools That Will Improve Your Productivity
PSU Web 2014: UX and Design Tools That Will Improve Your ProductivityPSU Web 2014: UX and Design Tools That Will Improve Your Productivity
PSU Web 2014: UX and Design Tools That Will Improve Your Productivity
 
How... Do you know?
How... Do you know?How... Do you know?
How... Do you know?
 
Evolution of software projects
Evolution of software projectsEvolution of software projects
Evolution of software projects
 
Tuxtorial - talk 1 (pdf)
Tuxtorial - talk 1 (pdf)Tuxtorial - talk 1 (pdf)
Tuxtorial - talk 1 (pdf)
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
Augmented Reality Application - Final Year Project
Augmented Reality Application - Final Year ProjectAugmented Reality Application - Final Year Project
Augmented Reality Application - Final Year Project
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - 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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

How to create a smart Photobooth

Editor's Notes

  1. Need one for the wedding $200/hour = $1600 I’ve seen a lot of them during events. And they’ve always been kind of janky. Either the camera is off of an iPad so the image quality is not good, or they try to be “cool” and send you a digital copy. Props to my wife, Mia because when I told her that I wanted to make a photobooth, she knew I was going to put a ton of time on this thing and not on wedding planning. But she supported me anyway.
  2. It was a success! People had a lot of fun at the photobooth, and Mia and I were able to look back at all of them as well.
  3. I thought it was some kind of encrypted signal. I had to put the mobile app on the desktop. Then I saw this Medium article: So I wrote a simple javascript function that generates a sine wave to trigger the trigger trap