SlideShare a Scribd company logo
1 of 39
Template designed by
Face Recognition using C#
Matteo Valoriani
mvaloriani@gmail.com
@matteovaloriani
Luigi Oliveto
luigi.oliveto@gmail.com
@luigioliveto
Matteo Valoriani
CEO of Fifth Element
Speaker and Consultant
PhD at Politecnico of Milano
Microsoft MVP
Intel Software Innovator
email: mvaloriani@gmail.com
twitter: @MatteoValoriani
linkedin: https://it.linkedin.com/in/matteovaloriani
Nice to Meet You
2
Luigi Oliveto
Developer
Co-Speaker
Master of Science at Politecnico of Milano
email: luigi.oliveto@gmail.com
twitter: @LuigiOliveto
linkedin: https://it.linkedin.com/in/luigioliveto
Nice to Meet You
3
Face Detection vs Face Recognition vs Face Identification
Face Analysis HomeMade
• OpenCV/Emgu
Face Analysis with Cloud Services
• BetaFace
• Microsoft Face API
Face Analysis with Special Camera
• Kinect
• RealSense
Conclusions
• Common Problems and Limits
Agenda
Detection vs Analysis vs Recognition
Face detection is a computer technology that
identifies human faces in digital images.
Face Detection
Facial Point DetectionFace Detection/Tracking
Face Analysis is a computer technology that
analyze human faces in digital images and
elaborate physical and emotional characteristics.
Face Analysis
Gender/Age/Race AnalysisEmotion Analysis
Facial recognition system is a computer
application for automatically identifying or
verifying a person from a digital image or a video
frame from a video source.
Face Recognition
Face Similarity/GroupingFace Verification Face Identification
Face Analysis Home Made
OpenCV/Emgu
Emgu CV is a cross platform .Net wrapper to the OpenCV image
processing library.
What is EMGU
The basic layer (layer 1)
contains function, structure
and enumeration mappings
which directly reflect those in
OpenCV.
The second layer (layer 2)
contains classes that mix in
advantanges from the .NET
world.
EMGU Architecture
To start with you need to reference 3 EMGU DLL’s.
• Emgu.CV.dll
• Emgu.CV.UI.dll
• Emgu.Util.dll
using Emgu.CV;
using Emgu.Util;
using Emgu.CV.Structure;
Create a project with EMGU
cudart64_32_16.dll
cufft64_32_16.dll
cvextern.dll
npp64_32_16.dll
opencv_calib3d220.dll
opencv_contrib220.dll
opencv_core220.dll
opencv_features2d220.dll
opencv_flann220.dll
opencv_gpu220.dll
opencv_highgui220.dll
opencv_imgproc220.dll
opencv_legacy220.dll
opencv_ml220.dll
opencv_objdetect220.dll
opencv_video220.dll
Add > Existing Item
The goal of statistical classification is to use an object's
characteristics to identify which class (or group) it belongs to.
An object's characteristics are also known as feature values and
are typically presented to the machine in a vector called a feature
vector.
Machine Learning Classifier
Supervised Learning Model
OpenCV/EmguCV uses a type of face
detector called a Haar Cascade.
The Haar Cascade is a classifier (detector)
trained on thousands of human faces.
This training data is stored in an XML file,
and is later used by the classifier during
detection.
It’s the easiest ready to use face detection
method which is supported by
OpenCV/EmguCV and has great results.
Haar Feature-based Cascade Classifier
The Fisher Classifier is a linear classifier.
A linear classifier achieves this by
making a classification decision based
on the value of a linear combination of
the characteristics.
The Fisher Classifier
demo
Smile 
Face Analysis with Cloud Services
BetaFace
http://betaface.com/
SDK for Private Cloud Configuration
WebAPI for Public Cloud
BetaFace APIs
General face info:
- faces (positions, sizes, angles)
- face landmarks locations (22 basic, 101 pro)
- cropped face images
- gender, age, ethnicity, smile, glasses, mustache and beard detection
Extended measurements:
- face and facial features shapes description
- hair and skin color
- facial hair detection
- approximate hairstyle shape
- background color and clothes color.
BetaFace - Metadata
Following functions supported:
- upload image file or submit image url
- retrieve image and face metadata, including cropped face image
- compare single faces or groups of faces and receive similarity confidence along with match
decision.
- transform face image(s) - generate averages from two or more faces, change face
expression or otherwise modify them.
- add user defined metadata tags, store user-adjusted points and face info.
BetaFace - Metadata
JSON/XML response
JSON/XML response
<FaceInfo>
<angle>3.3149</angle>
<height>78.05</height>
<image_uid>2bdcd1ad-47a6-45f8-ba74-
86c765272422</image_uid>
<points>
<PointInfo>
<name>basic eye left</name>
<type>512</type>
<x>313.82</x>
<y>48.88</y>
</PointInfo>
…
</points>
<score>4.81</score>
<tags>
<TagInfo>
<confidence>0.07</confidence>
<name>age</name>
<value>31</value>
</TagInfo>
….
< /tags >
22 Points (Basic mode)
101 Points (Advanced Mode)
Basic:
Age - approximate age value
beard - yes, no
gender - male, female
glasses - yes, no
mustache - yes, no
smile - yes, no
race - asian-middle-eastern, asian,
african-american, hispanic, white, middle
eastern, other
1. Get XML string
2. Generate XSD
• https://devutilsonline.com/xsd-xml/generate-xsd-from-xml
3. Generate C# classes
• XML Schema Definition Tool (Xsd.exe)
Create C# Classes from XML
From XML to XSD
https://msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.110).aspx
From XSD to Class
FREE:
Current public API key limits: faces search/recognition requests - no limits; new images - 500 images per day (15000 images per month);
Same image with different set of processing flags counts as new image; images in processing queue - 500; transform requests - no limits.
Freemium: 0 EUR/month 500 IMAGE /day, 0.035 EUR extra
Basic: 199 EUR/month 40000 IMAGE/month 0.025 EUR extra
Premium: 399 EUR/month 100000 IMAGE/month 0.02 EUR extra.
IMAGE – Each new image processed via UploadImage, UploadNewImage_File or UploadNewImage_Url functions.
- uploading the same image with different detection_flags counts as IMAGE.
- uploading the same image with the same set of detection_flags while previous processing results are still in cache does not count as
IMAGE.
- no restrictions on recognize, GetRecognizeInfo or GetImageInfo requests; no restrictions on number of namespaces or their size
If you like to subscribe to one of those plans send email to info@betaface.com with your details for invoice and plan you selected. We will
send you your personal API key.
Current data storage policy: Source images are removed from cache shortly after processing. Faces that have no person/namespace
assigned and corresponding image metadata usually cleaned up after 10 days (face IDs and image IDs will be invalidated).
Licensing: Free VS PRO
Online test: http://www.betafaceapi.com/demo.html#
Documentation:
http://www.betafaceapi.com/service_json.svc/help
Links
Face Analysis with Cloud Services
Project Oxford
http://www.projectoxford.ai/
Face Detection
Face Recognition
• Face Verification
• Similar Face Searching
• Automatic Face Grouping
• Person Identification
Project Oxford Services
Powered by Azure
1. Access the Project Oxford Portal https://www.projectoxford.ai, and then click
on the "Sign up" button.
2. Sign in with your Microsoft account, or Sign up for a new Azure subscription if
you don't already have one.
3. Go down the list to select an offered service such as "Face APIs" from the list,
and then click through the various windows in order to make a purchase.
4. Click on the item to view the dashboard, and at the bottom of the page, click
on the 'Manage' button to go to the 'Developer Manage Keys' page.
5. Finally, Copy or regenerate subscription keys in the page.
Get Start
demo
Smile 
Face Analysis with Special Cameras
Kinect ONE
Face Analysis with Special Cameras
Real Sense F200
demo
Smile 
Q&A
Grazie a tutti per la partecipazione
Riceverete il link per il download a slide e demo via email nei
prossimi giorni
Per contattarmi
mvaloriani@gmail.com
luigi.oliveto@gmail.com
Grazie

More Related Content

What's hot

Facial recognition system
Facial recognition systemFacial recognition system
Facial recognition systemDivya Sushma
 
Nhận dạng mặt người bằng thuật toán PCA trên Matlab
Nhận dạng mặt người bằng thuật toán PCA trên MatlabNhận dạng mặt người bằng thuật toán PCA trên Matlab
Nhận dạng mặt người bằng thuật toán PCA trên Matlabhieu anh
 
Automatic Attendance System using Deep Learning
Automatic Attendance System using Deep LearningAutomatic Attendance System using Deep Learning
Automatic Attendance System using Deep LearningSunil Aryal
 
Face Detection
Face DetectionFace Detection
Face DetectionAmr Sheta
 
Fingerprint recognition presentation
Fingerprint recognition presentationFingerprint recognition presentation
Fingerprint recognition presentationVivek Kumar
 
Face detection and recognition using surveillance camera2 edited
Face detection and recognition using surveillance camera2 editedFace detection and recognition using surveillance camera2 edited
Face detection and recognition using surveillance camera2 editedSantu Chall
 
Bài tập lớn Chi tiết máy - ĐHBK 2016
Bài tập lớn Chi tiết máy - ĐHBK 2016Bài tập lớn Chi tiết máy - ĐHBK 2016
Bài tập lớn Chi tiết máy - ĐHBK 2016Minh Chien Tran
 
Face detection ppt
Face detection pptFace detection ppt
Face detection pptPooja R
 
Face recognition technology
Face recognition technologyFace recognition technology
Face recognition technologyPushkar Dutt
 
face-recognition-technology-ppt[1].pptx
face-recognition-technology-ppt[1].pptxface-recognition-technology-ppt[1].pptx
face-recognition-technology-ppt[1].pptxTanayChakraborty11
 
Face recognization
Face recognizationFace recognization
Face recognizationleenak770
 
Facial recognition technology by vaibhav
Facial recognition technology by vaibhavFacial recognition technology by vaibhav
Facial recognition technology by vaibhavVaibhav P
 
Face recognition
Face recognition Face recognition
Face recognition Chandan A V
 
Modern face recognition with deep learning
Modern face recognition with deep learningModern face recognition with deep learning
Modern face recognition with deep learningmarada0033
 
Automatic number plate recognition
Automatic number plate recognitionAutomatic number plate recognition
Automatic number plate recognitionSaifullah Malik
 
Number plate recognition system using matlab.
Number plate recognition system using matlab.Number plate recognition system using matlab.
Number plate recognition system using matlab.Namra Afzal
 
Number plate recognition using matlab
Number plate recognition using matlabNumber plate recognition using matlab
Number plate recognition using matlabAbhishek Sainkar
 
Face Detection and Recognition System
Face Detection and Recognition SystemFace Detection and Recognition System
Face Detection and Recognition SystemZara Tariq
 

What's hot (20)

Facial recognition system
Facial recognition systemFacial recognition system
Facial recognition system
 
Nhận dạng mặt người bằng thuật toán PCA trên Matlab
Nhận dạng mặt người bằng thuật toán PCA trên MatlabNhận dạng mặt người bằng thuật toán PCA trên Matlab
Nhận dạng mặt người bằng thuật toán PCA trên Matlab
 
Automatic Attendance System using Deep Learning
Automatic Attendance System using Deep LearningAutomatic Attendance System using Deep Learning
Automatic Attendance System using Deep Learning
 
Mini Project- Face Recognition
Mini Project- Face RecognitionMini Project- Face Recognition
Mini Project- Face Recognition
 
Face Detection
Face DetectionFace Detection
Face Detection
 
Fingerprint recognition presentation
Fingerprint recognition presentationFingerprint recognition presentation
Fingerprint recognition presentation
 
Face detection and recognition using surveillance camera2 edited
Face detection and recognition using surveillance camera2 editedFace detection and recognition using surveillance camera2 edited
Face detection and recognition using surveillance camera2 edited
 
Bài tập lớn Chi tiết máy - ĐHBK 2016
Bài tập lớn Chi tiết máy - ĐHBK 2016Bài tập lớn Chi tiết máy - ĐHBK 2016
Bài tập lớn Chi tiết máy - ĐHBK 2016
 
Face detection ppt
Face detection pptFace detection ppt
Face detection ppt
 
Face recognition technology
Face recognition technologyFace recognition technology
Face recognition technology
 
Face Recognition
Face RecognitionFace Recognition
Face Recognition
 
face-recognition-technology-ppt[1].pptx
face-recognition-technology-ppt[1].pptxface-recognition-technology-ppt[1].pptx
face-recognition-technology-ppt[1].pptx
 
Face recognization
Face recognizationFace recognization
Face recognization
 
Facial recognition technology by vaibhav
Facial recognition technology by vaibhavFacial recognition technology by vaibhav
Facial recognition technology by vaibhav
 
Face recognition
Face recognition Face recognition
Face recognition
 
Modern face recognition with deep learning
Modern face recognition with deep learningModern face recognition with deep learning
Modern face recognition with deep learning
 
Automatic number plate recognition
Automatic number plate recognitionAutomatic number plate recognition
Automatic number plate recognition
 
Number plate recognition system using matlab.
Number plate recognition system using matlab.Number plate recognition system using matlab.
Number plate recognition system using matlab.
 
Number plate recognition using matlab
Number plate recognition using matlabNumber plate recognition using matlab
Number plate recognition using matlab
 
Face Detection and Recognition System
Face Detection and Recognition SystemFace Detection and Recognition System
Face Detection and Recognition System
 

Viewers also liked

Face Recognition using OpenCV
Face Recognition using OpenCVFace Recognition using OpenCV
Face Recognition using OpenCVVasile Chelban
 
Face Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learnFace Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learnShiqiao Du
 
Wits presentation 6_28072015
Wits presentation 6_28072015Wits presentation 6_28072015
Wits presentation 6_28072015Beatrice van Eden
 
What goes on during haar cascade face detection
What goes on during haar cascade face detectionWhat goes on during haar cascade face detection
What goes on during haar cascade face detectionOnibiyo Joshua Toluse
 
Dissertation final report
Dissertation final reportDissertation final report
Dissertation final reportSmriti Tikoo
 
Open cv nesne tespiti haar cascade sınıflandırıcısı
Open cv nesne tespiti haar cascade sınıflandırıcısıOpen cv nesne tespiti haar cascade sınıflandırıcısı
Open cv nesne tespiti haar cascade sınıflandırıcısıMeSutPikin
 
Neuroevolution and deep learing
Neuroevolution and deep learing Neuroevolution and deep learing
Neuroevolution and deep learing Accenture
 
Detection and recognition of face using neural network
Detection and recognition of face using neural networkDetection and recognition of face using neural network
Detection and recognition of face using neural networkSmriti Tikoo
 
Object detection
Object detectionObject detection
Object detectionSomesh Vyas
 
FACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYFACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYJASHU JASWANTH
 
Face recognition ppt
Face recognition pptFace recognition ppt
Face recognition pptSantosh Kumar
 

Viewers also liked (11)

Face Recognition using OpenCV
Face Recognition using OpenCVFace Recognition using OpenCV
Face Recognition using OpenCV
 
Face Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learnFace Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learn
 
Wits presentation 6_28072015
Wits presentation 6_28072015Wits presentation 6_28072015
Wits presentation 6_28072015
 
What goes on during haar cascade face detection
What goes on during haar cascade face detectionWhat goes on during haar cascade face detection
What goes on during haar cascade face detection
 
Dissertation final report
Dissertation final reportDissertation final report
Dissertation final report
 
Open cv nesne tespiti haar cascade sınıflandırıcısı
Open cv nesne tespiti haar cascade sınıflandırıcısıOpen cv nesne tespiti haar cascade sınıflandırıcısı
Open cv nesne tespiti haar cascade sınıflandırıcısı
 
Neuroevolution and deep learing
Neuroevolution and deep learing Neuroevolution and deep learing
Neuroevolution and deep learing
 
Detection and recognition of face using neural network
Detection and recognition of face using neural networkDetection and recognition of face using neural network
Detection and recognition of face using neural network
 
Object detection
Object detectionObject detection
Object detection
 
FACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYFACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGY
 
Face recognition ppt
Face recognition pptFace recognition ppt
Face recognition ppt
 

Similar to Face Recognition using C#

Face Recognition Home Security System
Face Recognition Home Security SystemFace Recognition Home Security System
Face Recognition Home Security SystemSuman Mia
 
IRJET- Face-Track: Smart Attendance System using Face Recognition
IRJET- Face-Track: Smart Attendance System using Face RecognitionIRJET- Face-Track: Smart Attendance System using Face Recognition
IRJET- Face-Track: Smart Attendance System using Face RecognitionIRJET Journal
 
Face recognition application
Face recognition applicationFace recognition application
Face recognition applicationawadhesh kumar
 
Hyf project ideas_02
Hyf project ideas_02Hyf project ideas_02
Hyf project ideas_02KatoK1
 
Profile Identification through Face Recognition
Profile Identification through Face RecognitionProfile Identification through Face Recognition
Profile Identification through Face Recognitionijtsrd
 
Resume_Rahul_Gavade
Resume_Rahul_GavadeResume_Rahul_Gavade
Resume_Rahul_GavadeRahul Gavade
 
IRJET- Computerized Attendance System using Face Recognition
IRJET- Computerized Attendance System using Face RecognitionIRJET- Computerized Attendance System using Face Recognition
IRJET- Computerized Attendance System using Face RecognitionIRJET Journal
 
IRJET- Computerized Attendance System using Face Recognition
IRJET- Computerized Attendance System using Face RecognitionIRJET- Computerized Attendance System using Face Recognition
IRJET- Computerized Attendance System using Face RecognitionIRJET Journal
 
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB
 
Manoj(Java Developer)_Resume
Manoj(Java Developer)_ResumeManoj(Java Developer)_Resume
Manoj(Java Developer)_ResumeVamsi Manoj
 
IRJET- Credit Card Authentication using Facial Recognition
IRJET-  	  Credit Card Authentication using Facial RecognitionIRJET-  	  Credit Card Authentication using Facial Recognition
IRJET- Credit Card Authentication using Facial RecognitionIRJET Journal
 
Building Intelligent Apps with MongoDB and Google Cloud - Jane Fine
Building Intelligent Apps with MongoDB and Google Cloud - Jane FineBuilding Intelligent Apps with MongoDB and Google Cloud - Jane Fine
Building Intelligent Apps with MongoDB and Google Cloud - Jane FineMongoDB
 
Online examination documentation
Online examination documentationOnline examination documentation
Online examination documentationWakimul Alam
 

Similar to Face Recognition using C# (20)

Industrial Presentaion
Industrial Presentaion Industrial Presentaion
Industrial Presentaion
 
Face Recognition Home Security System
Face Recognition Home Security SystemFace Recognition Home Security System
Face Recognition Home Security System
 
Resume-Updated
Resume-Updated Resume-Updated
Resume-Updated
 
IRJET- Face-Track: Smart Attendance System using Face Recognition
IRJET- Face-Track: Smart Attendance System using Face RecognitionIRJET- Face-Track: Smart Attendance System using Face Recognition
IRJET- Face-Track: Smart Attendance System using Face Recognition
 
Face recognition application
Face recognition applicationFace recognition application
Face recognition application
 
Resume_Sathesh Babu
Resume_Sathesh BabuResume_Sathesh Babu
Resume_Sathesh Babu
 
A guide to Face Detection in Python.pdf
A guide to Face Detection in Python.pdfA guide to Face Detection in Python.pdf
A guide to Face Detection in Python.pdf
 
Hyf project ideas_02
Hyf project ideas_02Hyf project ideas_02
Hyf project ideas_02
 
Resume
ResumeResume
Resume
 
Profile Identification through Face Recognition
Profile Identification through Face RecognitionProfile Identification through Face Recognition
Profile Identification through Face Recognition
 
Resume_Rahul_Gavade
Resume_Rahul_GavadeResume_Rahul_Gavade
Resume_Rahul_Gavade
 
IRJET- Computerized Attendance System using Face Recognition
IRJET- Computerized Attendance System using Face RecognitionIRJET- Computerized Attendance System using Face Recognition
IRJET- Computerized Attendance System using Face Recognition
 
IRJET- Computerized Attendance System using Face Recognition
IRJET- Computerized Attendance System using Face RecognitionIRJET- Computerized Attendance System using Face Recognition
IRJET- Computerized Attendance System using Face Recognition
 
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google CloudMongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
MongoDB.local DC 2018: Building Intelligent Apps with MongoDB & Google Cloud
 
Stanly_Bangalore_6_YearsExp_Dotnet -Wipro
Stanly_Bangalore_6_YearsExp_Dotnet -WiproStanly_Bangalore_6_YearsExp_Dotnet -Wipro
Stanly_Bangalore_6_YearsExp_Dotnet -Wipro
 
Senior Test Engineer
Senior Test EngineerSenior Test Engineer
Senior Test Engineer
 
Manoj(Java Developer)_Resume
Manoj(Java Developer)_ResumeManoj(Java Developer)_Resume
Manoj(Java Developer)_Resume
 
IRJET- Credit Card Authentication using Facial Recognition
IRJET-  	  Credit Card Authentication using Facial RecognitionIRJET-  	  Credit Card Authentication using Facial Recognition
IRJET- Credit Card Authentication using Facial Recognition
 
Building Intelligent Apps with MongoDB and Google Cloud - Jane Fine
Building Intelligent Apps with MongoDB and Google Cloud - Jane FineBuilding Intelligent Apps with MongoDB and Google Cloud - Jane Fine
Building Intelligent Apps with MongoDB and Google Cloud - Jane Fine
 
Online examination documentation
Online examination documentationOnline examination documentation
Online examination documentation
 

Recently uploaded

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 Takeoffsammart93
 
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)wesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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 2024The Digital Insurer
 
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 FresherRemote DBA Services
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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 productivityPrincipled Technologies
 
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 StreamsRoshan Dwivedi
 
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 AutomationSafe Software
 
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 2024The Digital Insurer
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

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
 
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)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
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
 
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
 
+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...
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Face Recognition using C#

  • 1. Template designed by Face Recognition using C# Matteo Valoriani mvaloriani@gmail.com @matteovaloriani Luigi Oliveto luigi.oliveto@gmail.com @luigioliveto
  • 2. Matteo Valoriani CEO of Fifth Element Speaker and Consultant PhD at Politecnico of Milano Microsoft MVP Intel Software Innovator email: mvaloriani@gmail.com twitter: @MatteoValoriani linkedin: https://it.linkedin.com/in/matteovaloriani Nice to Meet You 2
  • 3. Luigi Oliveto Developer Co-Speaker Master of Science at Politecnico of Milano email: luigi.oliveto@gmail.com twitter: @LuigiOliveto linkedin: https://it.linkedin.com/in/luigioliveto Nice to Meet You 3
  • 4. Face Detection vs Face Recognition vs Face Identification Face Analysis HomeMade • OpenCV/Emgu Face Analysis with Cloud Services • BetaFace • Microsoft Face API Face Analysis with Special Camera • Kinect • RealSense Conclusions • Common Problems and Limits Agenda
  • 5. Detection vs Analysis vs Recognition
  • 6. Face detection is a computer technology that identifies human faces in digital images. Face Detection Facial Point DetectionFace Detection/Tracking
  • 7. Face Analysis is a computer technology that analyze human faces in digital images and elaborate physical and emotional characteristics. Face Analysis Gender/Age/Race AnalysisEmotion Analysis
  • 8. Facial recognition system is a computer application for automatically identifying or verifying a person from a digital image or a video frame from a video source. Face Recognition Face Similarity/GroupingFace Verification Face Identification
  • 9. Face Analysis Home Made OpenCV/Emgu
  • 10. Emgu CV is a cross platform .Net wrapper to the OpenCV image processing library. What is EMGU
  • 11. The basic layer (layer 1) contains function, structure and enumeration mappings which directly reflect those in OpenCV. The second layer (layer 2) contains classes that mix in advantanges from the .NET world. EMGU Architecture
  • 12. To start with you need to reference 3 EMGU DLL’s. • Emgu.CV.dll • Emgu.CV.UI.dll • Emgu.Util.dll using Emgu.CV; using Emgu.Util; using Emgu.CV.Structure; Create a project with EMGU
  • 14. The goal of statistical classification is to use an object's characteristics to identify which class (or group) it belongs to. An object's characteristics are also known as feature values and are typically presented to the machine in a vector called a feature vector. Machine Learning Classifier
  • 16. OpenCV/EmguCV uses a type of face detector called a Haar Cascade. The Haar Cascade is a classifier (detector) trained on thousands of human faces. This training data is stored in an XML file, and is later used by the classifier during detection. It’s the easiest ready to use face detection method which is supported by OpenCV/EmguCV and has great results. Haar Feature-based Cascade Classifier
  • 17. The Fisher Classifier is a linear classifier. A linear classifier achieves this by making a classification decision based on the value of a linear combination of the characteristics. The Fisher Classifier
  • 19. Face Analysis with Cloud Services BetaFace http://betaface.com/
  • 20. SDK for Private Cloud Configuration WebAPI for Public Cloud BetaFace APIs
  • 21. General face info: - faces (positions, sizes, angles) - face landmarks locations (22 basic, 101 pro) - cropped face images - gender, age, ethnicity, smile, glasses, mustache and beard detection Extended measurements: - face and facial features shapes description - hair and skin color - facial hair detection - approximate hairstyle shape - background color and clothes color. BetaFace - Metadata
  • 22. Following functions supported: - upload image file or submit image url - retrieve image and face metadata, including cropped face image - compare single faces or groups of faces and receive similarity confidence along with match decision. - transform face image(s) - generate averages from two or more faces, change face expression or otherwise modify them. - add user defined metadata tags, store user-adjusted points and face info. BetaFace - Metadata
  • 24. JSON/XML response <FaceInfo> <angle>3.3149</angle> <height>78.05</height> <image_uid>2bdcd1ad-47a6-45f8-ba74- 86c765272422</image_uid> <points> <PointInfo> <name>basic eye left</name> <type>512</type> <x>313.82</x> <y>48.88</y> </PointInfo> … </points> <score>4.81</score> <tags> <TagInfo> <confidence>0.07</confidence> <name>age</name> <value>31</value> </TagInfo> …. < /tags > 22 Points (Basic mode) 101 Points (Advanced Mode) Basic: Age - approximate age value beard - yes, no gender - male, female glasses - yes, no mustache - yes, no smile - yes, no race - asian-middle-eastern, asian, african-american, hispanic, white, middle eastern, other
  • 25. 1. Get XML string 2. Generate XSD • https://devutilsonline.com/xsd-xml/generate-xsd-from-xml 3. Generate C# classes • XML Schema Definition Tool (Xsd.exe) Create C# Classes from XML
  • 26. From XML to XSD
  • 28. FREE: Current public API key limits: faces search/recognition requests - no limits; new images - 500 images per day (15000 images per month); Same image with different set of processing flags counts as new image; images in processing queue - 500; transform requests - no limits. Freemium: 0 EUR/month 500 IMAGE /day, 0.035 EUR extra Basic: 199 EUR/month 40000 IMAGE/month 0.025 EUR extra Premium: 399 EUR/month 100000 IMAGE/month 0.02 EUR extra. IMAGE – Each new image processed via UploadImage, UploadNewImage_File or UploadNewImage_Url functions. - uploading the same image with different detection_flags counts as IMAGE. - uploading the same image with the same set of detection_flags while previous processing results are still in cache does not count as IMAGE. - no restrictions on recognize, GetRecognizeInfo or GetImageInfo requests; no restrictions on number of namespaces or their size If you like to subscribe to one of those plans send email to info@betaface.com with your details for invoice and plan you selected. We will send you your personal API key. Current data storage policy: Source images are removed from cache shortly after processing. Faces that have no person/namespace assigned and corresponding image metadata usually cleaned up after 10 days (face IDs and image IDs will be invalidated). Licensing: Free VS PRO
  • 30. Face Analysis with Cloud Services Project Oxford http://www.projectoxford.ai/
  • 31. Face Detection Face Recognition • Face Verification • Similar Face Searching • Automatic Face Grouping • Person Identification Project Oxford Services
  • 33. 1. Access the Project Oxford Portal https://www.projectoxford.ai, and then click on the "Sign up" button. 2. Sign in with your Microsoft account, or Sign up for a new Azure subscription if you don't already have one. 3. Go down the list to select an offered service such as "Face APIs" from the list, and then click through the various windows in order to make a purchase. 4. Click on the item to view the dashboard, and at the bottom of the page, click on the 'Manage' button to go to the 'Developer Manage Keys' page. 5. Finally, Copy or regenerate subscription keys in the page. Get Start
  • 35. Face Analysis with Special Cameras Kinect ONE
  • 36. Face Analysis with Special Cameras Real Sense F200
  • 38. Q&A
  • 39. Grazie a tutti per la partecipazione Riceverete il link per il download a slide e demo via email nei prossimi giorni Per contattarmi mvaloriani@gmail.com luigi.oliveto@gmail.com Grazie

Editor's Notes

  1. Detects human faces in an image and returns face locations, face landmarks, and optional attributes including head-pose, gender, and age. Analyzes two faces and determine whether they are from the same person. Finds similar-looking faces of a specified face from a list of candidate faces. Divides candidate faces into groups based on face similarity. Identifies persons from a person group by one or more input faces.