SlideShare a Scribd company logo
1 of 14
Download to read offline
WELCOME TO LUG
• Linux news?
• CIALUG.org
• List serve
• IRC/SLACK
ABOUT ME
• Software Developer by day
• Linux guy by night
• @adenner
• Slides will be at denner.co later and posted
FACIAL RECOGNITION
ON A PI
Andrew Denner Central Iowa Linux User’s Group
June 19, 2019
IF I HAVE SEEN THIS FAR…
• Most of today is from directions
and code at
https://www.pyimagesearch.com/
2018/06/25/raspberry-pi-
face-recognition/
• And
• https://www.pyimagesearch.
com/2018/06/11/
how-to-build-a-custom-face-
recognition-dataset/
WHAT IS THE OSS/LINUX TECH
STACK WE ARE USING TODAY
• On the pi (rasberian pi)
• Python3
• opencv
FIRST MUST INSTALL STUFF
This assumes that you have a real computer with a gpu to do training…
And a pi to run the model on (optional)
python3 -m pip install dlib face_recognition imutils opencv-contrib-python
You may also need cmake (apt-get install cmake)
(note in this case we are being explicit what version of python we are getting,
python 2 is dead, long live python)
LETS BUILD A DATASET
• In order to train our model we need photos first, there are several ways to
get this, facebook, bing image search or in our case lets just take some
snapshots
• https://www.pyimagesearch.com/2018/06/11/how-to-build-a-custom-face-
recognition-dataset/
• python3 build_face_dataset.py --cascade
haarcascade_frontalface_default.xml --output dataset/andy
An example training image
NOW THAT WE HAVE DATA-–LETS ENCODE
• python3 encode_faces.py --dataset dataset --encodings encodings.pickle --
detection-method hog (if on pi)
• python3 encode_faces.py --dataset dataset --encodings encodings.pickle --
detection-method cnn (on a real computer)
• Especially if you have an underpowered laptop, this could take a bit!
AFTER TRAINING TRANSFER TO THE PI
• After the training finishes transfer the pickle file and the code we want to run
to the pi and run the recognition code.
• python3 pi_face_recognition.py --cascade
haarcascade_frontalface_default.xml --encodings encodings.pickle
DEMO TIME

More Related Content

Similar to CIALUG June 2019: Raspberry Pi Facial Recognition

Coffee & Pi - Intro to Pi Workshop
Coffee & Pi - Intro to Pi WorkshopCoffee & Pi - Intro to Pi Workshop
Coffee & Pi - Intro to Pi WorkshopBrad ☼ Derstine
 
Sydney Drupal News May 2012
Sydney Drupal News May 2012Sydney Drupal News May 2012
Sydney Drupal News May 2012Ryan Cross
 
2020 FRSecure CISSP Mentor Program - Class 4
2020 FRSecure CISSP Mentor Program - Class 42020 FRSecure CISSP Mentor Program - Class 4
2020 FRSecure CISSP Mentor Program - Class 4FRSecure
 
ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywheressuser06ea42
 
Teaching Machine Learning with Physical Computing - July 2023
Teaching Machine Learning with Physical Computing - July 2023Teaching Machine Learning with Physical Computing - July 2023
Teaching Machine Learning with Physical Computing - July 2023Hal Speed
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...Christian Heilmann
 
Recon-Fu @BsidesKyiv 2016
Recon-Fu @BsidesKyiv 2016Recon-Fu @BsidesKyiv 2016
Recon-Fu @BsidesKyiv 2016Vlad Styran
 
CPSeis & GeoCraft
CPSeis & GeoCraftCPSeis & GeoCraft
CPSeis & GeoCraftbillmenger
 
Modern Reconnaissance Phase on APT - protection layer
Modern Reconnaissance Phase on APT - protection layerModern Reconnaissance Phase on APT - protection layer
Modern Reconnaissance Phase on APT - protection layerShakacon
 
Build IoT Applications with C#
Build IoT Applications with C#Build IoT Applications with C#
Build IoT Applications with C#Ken Samson, MISM
 
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry PiCentral Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry PiAndrew Denner
 
ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2Jürgen Gutsch
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
Raspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker MovementRaspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker Movementsrmonk
 
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningArthur Emanuel
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 

Similar to CIALUG June 2019: Raspberry Pi Facial Recognition (20)

Coffee & Pi - Intro to Pi Workshop
Coffee & Pi - Intro to Pi WorkshopCoffee & Pi - Intro to Pi Workshop
Coffee & Pi - Intro to Pi Workshop
 
Scrapy
ScrapyScrapy
Scrapy
 
Sydney Drupal News May 2012
Sydney Drupal News May 2012Sydney Drupal News May 2012
Sydney Drupal News May 2012
 
Raspberry PI
Raspberry PIRaspberry PI
Raspberry PI
 
2020 FRSecure CISSP Mentor Program - Class 4
2020 FRSecure CISSP Mentor Program - Class 42020 FRSecure CISSP Mentor Program - Class 4
2020 FRSecure CISSP Mentor Program - Class 4
 
ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywhere
 
Teaching Machine Learning with Physical Computing - July 2023
Teaching Machine Learning with Physical Computing - July 2023Teaching Machine Learning with Physical Computing - July 2023
Teaching Machine Learning with Physical Computing - July 2023
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...
 
Recon-Fu @BsidesKyiv 2016
Recon-Fu @BsidesKyiv 2016Recon-Fu @BsidesKyiv 2016
Recon-Fu @BsidesKyiv 2016
 
CPSeis & GeoCraft
CPSeis & GeoCraftCPSeis & GeoCraft
CPSeis & GeoCraft
 
Modern Reconnaissance Phase on APT - protection layer
Modern Reconnaissance Phase on APT - protection layerModern Reconnaissance Phase on APT - protection layer
Modern Reconnaissance Phase on APT - protection layer
 
Build IoT Applications with C#
Build IoT Applications with C#Build IoT Applications with C#
Build IoT Applications with C#
 
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry PiCentral Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
Central Iowa Linux Users group July 2019--Jupyter Notebook on a Raspberry Pi
 
ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2ASP.NET 5 on the Raspberry PI 2
ASP.NET 5 on the Raspberry PI 2
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Raspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker MovementRaspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker Movement
 
SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
 
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 

More from Andrew Denner

All about Time, or how to stop from going back to the future
All about Time, or how to stop from going back to the futureAll about Time, or how to stop from going back to the future
All about Time, or how to stop from going back to the futureAndrew Denner
 
CIALUG October 2022 linux news
CIALUG October 2022 linux newsCIALUG October 2022 linux news
CIALUG October 2022 linux newsAndrew Denner
 
January 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitJanuary 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitAndrew Denner
 
Local Kubernetes for Dummies: STLLUG March 2021
Local Kubernetes for Dummies: STLLUG March 2021Local Kubernetes for Dummies: STLLUG March 2021
Local Kubernetes for Dummies: STLLUG March 2021Andrew Denner
 
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...Andrew Denner
 
St Louis Linux Users Group Wireguard (for Fun and Networking)
St Louis Linux Users Group Wireguard (for Fun and Networking)St Louis Linux Users Group Wireguard (for Fun and Networking)
St Louis Linux Users Group Wireguard (for Fun and Networking)Andrew Denner
 
Central Iowa Linux Users Group: August 2020 Jupyter Lab
Central Iowa Linux Users Group: August 2020 Jupyter LabCentral Iowa Linux Users Group: August 2020 Jupyter Lab
Central Iowa Linux Users Group: August 2020 Jupyter LabAndrew Denner
 
Central Iowa Linux Users Group June 2020 Meeting Apache Guacamole
Central Iowa Linux Users Group June 2020 Meeting  Apache GuacamoleCentral Iowa Linux Users Group June 2020 Meeting  Apache Guacamole
Central Iowa Linux Users Group June 2020 Meeting Apache GuacamoleAndrew Denner
 
A brief intro to Ansible-CIALUG March 2020
A brief intro to Ansible-CIALUG March 2020A brief intro to Ansible-CIALUG March 2020
A brief intro to Ansible-CIALUG March 2020Andrew Denner
 
Central Iowa Linux Users Group May 2020 Meeting: WireGuard
Central Iowa Linux Users Group May 2020 Meeting: WireGuardCentral Iowa Linux Users Group May 2020 Meeting: WireGuard
Central Iowa Linux Users Group May 2020 Meeting: WireGuardAndrew Denner
 
Central Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows ManagersCentral Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows ManagersAndrew Denner
 
Central Iowa Linux Users Group: November Meeting -- Container showdown
Central Iowa Linux Users Group: November Meeting -- Container showdownCentral Iowa Linux Users Group: November Meeting -- Container showdown
Central Iowa Linux Users Group: November Meeting -- Container showdownAndrew Denner
 
Central Iowa Linux Users Group October Meeting: Centos 8
Central Iowa Linux Users Group October Meeting: Centos 8Central Iowa Linux Users Group October Meeting: Centos 8
Central Iowa Linux Users Group October Meeting: Centos 8Andrew Denner
 
A Brief overview of Linux, or How I learned to stop worrying and love the pen...
A Brief overview of Linux, or How I learned to stop worrying and love the pen...A Brief overview of Linux, or How I learned to stop worrying and love the pen...
A Brief overview of Linux, or How I learned to stop worrying and love the pen...Andrew Denner
 
August CIALUG meeting: Debian buster
August CIALUG meeting: Debian busterAugust CIALUG meeting: Debian buster
August CIALUG meeting: Debian busterAndrew Denner
 
CIALUG May 2019 Meeting: An intro to docker and using rootless docker
CIALUG May 2019 Meeting: An intro to docker and using rootless dockerCIALUG May 2019 Meeting: An intro to docker and using rootless docker
CIALUG May 2019 Meeting: An intro to docker and using rootless dockerAndrew Denner
 
July 18, 2018 Central Iowa Linux User's Group: Tor onion services
July 18, 2018 Central Iowa Linux User's Group: Tor onion servicesJuly 18, 2018 Central Iowa Linux User's Group: Tor onion services
July 18, 2018 Central Iowa Linux User's Group: Tor onion servicesAndrew Denner
 
CIALUG: Encrypt all the things
CIALUG: Encrypt all the thingsCIALUG: Encrypt all the things
CIALUG: Encrypt all the thingsAndrew Denner
 

More from Andrew Denner (20)

All about Time, or how to stop from going back to the future
All about Time, or how to stop from going back to the futureAll about Time, or how to stop from going back to the future
All about Time, or how to stop from going back to the future
 
CIALUG October 2022 linux news
CIALUG October 2022 linux newsCIALUG October 2022 linux news
CIALUG October 2022 linux news
 
January 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitJanuary 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: Git
 
Cialug August 2021
Cialug August 2021Cialug August 2021
Cialug August 2021
 
Local Kubernetes for Dummies: STLLUG March 2021
Local Kubernetes for Dummies: STLLUG March 2021Local Kubernetes for Dummies: STLLUG March 2021
Local Kubernetes for Dummies: STLLUG March 2021
 
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
 
St Louis Linux Users Group Wireguard (for Fun and Networking)
St Louis Linux Users Group Wireguard (for Fun and Networking)St Louis Linux Users Group Wireguard (for Fun and Networking)
St Louis Linux Users Group Wireguard (for Fun and Networking)
 
Central Iowa Linux Users Group: August 2020 Jupyter Lab
Central Iowa Linux Users Group: August 2020 Jupyter LabCentral Iowa Linux Users Group: August 2020 Jupyter Lab
Central Iowa Linux Users Group: August 2020 Jupyter Lab
 
Central Iowa Linux Users Group June 2020 Meeting Apache Guacamole
Central Iowa Linux Users Group June 2020 Meeting  Apache GuacamoleCentral Iowa Linux Users Group June 2020 Meeting  Apache Guacamole
Central Iowa Linux Users Group June 2020 Meeting Apache Guacamole
 
A brief intro to Ansible-CIALUG March 2020
A brief intro to Ansible-CIALUG March 2020A brief intro to Ansible-CIALUG March 2020
A brief intro to Ansible-CIALUG March 2020
 
Central Iowa Linux Users Group May 2020 Meeting: WireGuard
Central Iowa Linux Users Group May 2020 Meeting: WireGuardCentral Iowa Linux Users Group May 2020 Meeting: WireGuard
Central Iowa Linux Users Group May 2020 Meeting: WireGuard
 
Central Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows ManagersCentral Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows Managers
 
Central Iowa Linux Users Group: November Meeting -- Container showdown
Central Iowa Linux Users Group: November Meeting -- Container showdownCentral Iowa Linux Users Group: November Meeting -- Container showdown
Central Iowa Linux Users Group: November Meeting -- Container showdown
 
Central Iowa Linux Users Group October Meeting: Centos 8
Central Iowa Linux Users Group October Meeting: Centos 8Central Iowa Linux Users Group October Meeting: Centos 8
Central Iowa Linux Users Group October Meeting: Centos 8
 
Intro to networking
Intro to networkingIntro to networking
Intro to networking
 
A Brief overview of Linux, or How I learned to stop worrying and love the pen...
A Brief overview of Linux, or How I learned to stop worrying and love the pen...A Brief overview of Linux, or How I learned to stop worrying and love the pen...
A Brief overview of Linux, or How I learned to stop worrying and love the pen...
 
August CIALUG meeting: Debian buster
August CIALUG meeting: Debian busterAugust CIALUG meeting: Debian buster
August CIALUG meeting: Debian buster
 
CIALUG May 2019 Meeting: An intro to docker and using rootless docker
CIALUG May 2019 Meeting: An intro to docker and using rootless dockerCIALUG May 2019 Meeting: An intro to docker and using rootless docker
CIALUG May 2019 Meeting: An intro to docker and using rootless docker
 
July 18, 2018 Central Iowa Linux User's Group: Tor onion services
July 18, 2018 Central Iowa Linux User's Group: Tor onion servicesJuly 18, 2018 Central Iowa Linux User's Group: Tor onion services
July 18, 2018 Central Iowa Linux User's Group: Tor onion services
 
CIALUG: Encrypt all the things
CIALUG: Encrypt all the thingsCIALUG: Encrypt all the things
CIALUG: Encrypt all the things
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

CIALUG June 2019: Raspberry Pi Facial Recognition

  • 1.
  • 2. WELCOME TO LUG • Linux news? • CIALUG.org • List serve • IRC/SLACK
  • 3. ABOUT ME • Software Developer by day • Linux guy by night • @adenner • Slides will be at denner.co later and posted
  • 4. FACIAL RECOGNITION ON A PI Andrew Denner Central Iowa Linux User’s Group June 19, 2019
  • 5. IF I HAVE SEEN THIS FAR… • Most of today is from directions and code at https://www.pyimagesearch.com/ 2018/06/25/raspberry-pi- face-recognition/ • And • https://www.pyimagesearch. com/2018/06/11/ how-to-build-a-custom-face- recognition-dataset/
  • 6. WHAT IS THE OSS/LINUX TECH STACK WE ARE USING TODAY • On the pi (rasberian pi) • Python3 • opencv
  • 7.
  • 8. FIRST MUST INSTALL STUFF This assumes that you have a real computer with a gpu to do training… And a pi to run the model on (optional) python3 -m pip install dlib face_recognition imutils opencv-contrib-python You may also need cmake (apt-get install cmake) (note in this case we are being explicit what version of python we are getting, python 2 is dead, long live python)
  • 9. LETS BUILD A DATASET • In order to train our model we need photos first, there are several ways to get this, facebook, bing image search or in our case lets just take some snapshots • https://www.pyimagesearch.com/2018/06/11/how-to-build-a-custom-face- recognition-dataset/ • python3 build_face_dataset.py --cascade haarcascade_frontalface_default.xml --output dataset/andy
  • 10.
  • 12. NOW THAT WE HAVE DATA-–LETS ENCODE • python3 encode_faces.py --dataset dataset --encodings encodings.pickle -- detection-method hog (if on pi) • python3 encode_faces.py --dataset dataset --encodings encodings.pickle -- detection-method cnn (on a real computer) • Especially if you have an underpowered laptop, this could take a bit!
  • 13. AFTER TRAINING TRANSFER TO THE PI • After the training finishes transfer the pickle file and the code we want to run to the pi and run the recognition code. • python3 pi_face_recognition.py --cascade haarcascade_frontalface_default.xml --encodings encodings.pickle