SlideShare a Scribd company logo
1 of 65
Overview of
Computer Vision
For Footwear
Industry
Tanvir Siddike Moin
What is
Computer
Vision?
What is Computer Vision?
• Computer vision is the science and technology of machines that see.
• Concerned with the theory for building artificial systems that obtain information from images.
• The image data can take many forms, such as a video sequence, depth images, views from multiple cameras, or multi-dimensional data from a medical scanner
Computer Vision
Make computers understand images and videos.
What kind of scene?
Where are the cars?
How far is the
building?
…
Components of a computer vision system
Lighting
Scene
Camera
Computer
Scene Interpretation
Srinivasa Narasimhan’s slide
Computer
vision vs
human vision
What we see What a computer sees
Vision is really hard
• Vision is an amazing feat of natural intelligence
• Visual cortex occupies about 50% of Macaque brain
• More human brain devoted to vision than anything else
Is that a
queen or a
bishop?
Vision is multidisciplinary
From wiki
Computer
Graphics
HCI
Why
computer
vision matters
Safety Health Security
Comfort Access
Fun
A little story
about
Computer
Vision
• In 1966, Marvin Minsky
at MIT asked his
undergraduate student
Gerald Jay Sussman to
“spend the summer linking
a camera to a
• computer and getting
the computer to describe
what it saw”. We now
know that the problem is
slightly more difficult than
that. (Szeliski 2009,
Computer Vision)
A little story
about
Computer
Vision
• In 1966, Marvin Minsky
at MIT asked his
undergraduate student
Gerald Jay Sussman to
“spend the summer linking
a camera to a
• computer and getting
the computer to describe
what it saw”. We now
know that the problem is
slightly more difficult than
that.
Founder, MIT AI project
A little story about Computer Vision
In 1966, Marvin Minsky at MIT asked his undergraduate student
Gerald Jay Sussman to “spend the summer linking a camera to a
computer and getting the computer to describe what it saw”. We
now know that the problem is slightly more difficult than that.
Image Understanding
Ridiculously brief history of computer vision
• 1966: Minsky assigns computer vision as
an undergrad summer project
• 1960’s: interpretation of synthetic
worlds
• 1970’s: some progress on interpreting
selected images
• 1980’s: ANNs come and go; shift toward
geometry and increased mathematical
rigor
• 1990’s: face recognition; statistical
analysis in vogue
• 2000’s: broader recognition; large
annotated datasets available; video
processing starts; vision & graphis; vision
for HCI; internet vision, etc.
Guzman ‘68
Ohta Kanade ‘78
Turk and Pentland ‘91
How vision is used
now
Examples of state-of-the-art
Optical
character
recognition
(OCR)
Digit recognition, AT&T labs
http://www.research.att.com/~yann/
Technology to convert scanned docs to text
• If you have a scanner, it probably came with OCR software
License plate readers
http://en.wikipedia.org/wiki/Automatic_number_plate_recognition
Face detection
• Many new digital cameras now
detect faces
• Canon, Sony, Fuji, …
Smile detection
• Sony Cyber-shot® T70 Digital Still Camera
Object recognition (in
supermarkets)
• LaneHawk by EvolutionRobotics
• “A smart camera is flush-mounted in the
checkout lane, continuously watching for items.
When an item is detected and recognized, the
cashier verifies the quantity of items that were
found under the basket, and continues to close
the transaction. The item can remain under the
basket, and with LaneHawk,you are assured to
get paid for it… “
Vision-based
biometrics
• “How the Afghan Girl was
Identified by Her Iris
Patterns” Read the story
• wikipedia
Login without a password…
Fingerprint scanners on
many new laptops,
other devices
Face recognition systems now
beginning to appear more widely
http://www.sensiblevision.com/
Object recognition
(in mobile phones)
Point & Find, Nokia
Google Goggles
Special effects: shape capture
• The Matrix movies, ESC Entertainment, XYZRGB, NRC
Special effects: motion capture
• Pirates of the Carribean, Industrial Light and Magic
Sports
• Sportvision first down
line
• Nice explanation on
www.howstuffworks.com
• http://www.sportvision.c
om/video.html
Smart cars
• Mobileye [wiki article]
• Vision systems currently in high-end BMW, GM, Volvo
models
• By 2010: 70% of car manufacturers.
Slide content courtesy of Amnon Shashua
Google cars
• http://www.nytimes.co
m/2010/10/10/science/10
google.html?ref=artificialin
telligence
Interactive Games:
Kinect
• Object Recognition:
http://www.youtube.com/watch?feature=iv&v=fQ59dXOo63o
• Mario: http://www.youtube.com/watch?v=8CTJL5lUjHg
• 3D: http://www.youtube.com/watch?v=7QrnwoO1-8A
• Robot: http://www.youtube.com/watch?v=w8BmgtMKFbY
• 3D tracking, reconstruction, and interaction:
http://research.microsoft.com/en-us/projects/surfacerecon/default.aspx
Vision in space
Vision systems (JPL) used for several tasks
• Panorama stitching
• 3D terrain modeling
• Obstacle detection, position tracking
• For more, read “Computer Vision on Mars” by Matthies et al.
NASA'S Mars Exploration Rover Spirit captured this westward view from atop
a low plateau where Spirit spent the closing months of 2007.
Industrial robots
• Vision-guided robots position nut runners on wheels
Mobile robots
http://www.robocup.org/
NASA’s Mars Spirit Rover
http://en.wikipedia.org/wiki/Spirit_rover
Saxena et al. 2008
STAIR at Stanford
Medical imaging
Image guided surgery
Grimson et al., MIT
3D imaging
MRI, CT
Prerequisites
A good working knowledge of C/C++, Java or Matlab
A good understand of math (linear algebra, basic
calculus, basic probability)
Willing to learn new stuffs (optimization,
statistical learning etc.)
Face Recognition
Method of
OpenCV
Overview
INTRODUCTION BACKGROUND THEORY EXPERIMENT RESULTS CONCLUSION
Introduction
Idea
Facial
recognition for
a Security
Robot
Addition to
another
project
Gain a better
understanding
of the subject
Derived from
work last
semester
Focus
Basic understand of OpenCV face recognition software and algorithms
Methods and Theory behind the EigenFace method for facial recognition
Implementation using Python in a Linux-based environment
Runs on a Raspberry Pi
Goal
• General facial recognition methods
• EigenFaces
• OpenCV’s facial recognition
One half research
• Create a system capable of facial recognition
• Real-time
• Able to run on a Raspberry Pi
One half implementation
Background
Different Facial Recognition Methods
Geometric
Eigenfaces
Fisherfaces
Local Binary Patterns
Active Appearance
3D Shape Models
Geometric
• First method of facial recognition
• Done by hand at first
• Automation came later
• Find the locations of key parts of the face
• And the distances between them
• Good initial method, but had flaws
• Unable to handle multiple views
• Required good initial guess
Eigenfaces
• Information theory approach
• Codes and then decodes face images to gain
recognition
• Uses principal component analysis (PCA) to find the
most important bits
Fisherfaces
• Same approach as Eigenface
• Instead of PCA, uses linear discriminant analysis
(LDA)
• Better handles intrapersonal variability within
images such as lighting
Local Binary
Patterns
• Describes local features of an object
• Comparison of each pixel to its neighbors
• Histogram of image contains information about the
destruction of the local micro patterns
Theory
Basic Idea
• Let face image 𝐼(𝑥, 𝑦) be a two-dimensional 𝑁 by 𝑁 array
of (8-bit) intensity values
• Can consider image an 𝑁2
vector of dimensions
• Image of 256 by 256 becomes a 65,536 vector of dimension
• Or a point in 65,536-dimensional space
Basic Idea
• Images of faces will not differ too much
• This allows a much smaller dimensional subspace to be used to classify them
• PCA analysis finds the vectors that best define the distribution of images
• These vectors are then
• 𝑁2 long
• Describe an 𝑁 by 𝑁 image
• Linear combination of the original face images
Basic Idea
• These vectors are called
eigenfaces
• They are the eigenvectors
of the covariance matrix
• Resemble faces
Method
• Acquire initial training set of face images
• Calculate eigenfaces
• Keep only 𝑀 eigenfaces that correspond to the highest
eigenvalues
• These images now define the face space
• Calculate corresponding distribution in 𝑀-dimensional
weight space for each known individual
Method
• Calculate weights for new image by
projecting the input image onto each of
the eigenfaces
• Determine if face is known
• Within some tolerance, close to face
space
• If within face space, classify weights as
either known or unknown
• (Optional) Update eigenfaces and weights
• (Optional) If same face repeats, input into
known faces
Classifying
• Four possibilities for an
input image
• Near face space, near
face class
• Known face
• Near face space, not
near face class
• Unknown face
• Not near face space,
near face class
• Not a face, but may
look like one (false
positive)
• Not near face space, not
near face class
• Not a face
OpenCV and
Theory
• Beauty about OpenCV is a lot of this
process is completely automated
• Need:
• Training images
• Specify type of training
• Number of eigenfaces
• Threshold
• Input Image
Set-up
• OpenCV running on a
Raspberry Pi
• Linux-based environment
• Raspberry Pi Camera
Training
• Database of negatives
• AT&T Laboratories Database of faces developed in the 90s
Training
• Captured Positives
• Used the camera to capture images
• Images were then cropped and resized
Training
• Model was trained using positive and negative images
• Creates training file that holds the 𝑀-dimensional face space
• Now have a base to recognize from
model = cv2.createEigenFaceRecognizer()
model.train(np.asarray(faces),np.asarray(labels))
Recognition
• Steps to recognizing face
• Capture image
• Detect face
• Crop and resize around face
• Project across all eigenvectors
• Find face class that minimizes Euclidian distance
• Return label from face class, and Euclidian distance
• Euclidian distance also called Confidence level
model = cv2.createEigenFaceRecognizer()
model.load(config.TRAINING_FILE)
label, confidence = model.predict(image)
Test
• Created four different Test
• First data set uses 24 positive training images
• Almost no pose and lighting variation
• Second data set uses 12 positive training images
• Good pose variation, little lighting variation
• Third data set uses 25 positive training images
• Good pose and lighting variation
• Fourth data set uses second and third data set but with Fisherface method
Results • Results from Data sets 1-3, each one from 20 input
images
• Confidence represents distance from known face class
Data Set
Mean
Confidence Max Confidence Min Confidence
1 3462 3948 3040
2 2127 2568 1835
3 1709 2196 1217
Results • Results from eigenface vs. fisherface comparison
ALGORITHM DATA SET
# TRAINING
IMAGES
MEAN
CONFIDENCE
MAX
CONFIDENCE MIN CONFIDENCE
Eigen 2 12 2127 2568 1835
Fisher 2 12 2029 2538 1468
Eigen 3 25 1709 2196 1217
Fisher 3 25 2017 2748 1530
Conclusion
• Theory behind eigenfaces
• Face space
• Training
• Simple implementation of OpenCV’s eigenface recognizer
• Compared different training models
• Number of training images
• Pose and lighting variations
• Compared eigenfaces and fisherfaces
Conclusion
• Future work
• Further testing of different training models
• Implement updating facial recognition
Reducing Manual
Labor in Footwear
Manufacturing
with Computer
Vision
Process optimization: You can help optimize the manufacturing process by using computer vision to monitor and control the
production line. For example, computer vision can be used to ensure that the correct materials are being used and that they are being
assembled correctly.
Defect detection: Computer vision can be used to detect defects in the footwear products, such as stitching errors or material
inconsistencies. By detecting defects early, the manufacturing process can be adjusted to correct the problem, reducing the need for
manual labor to fix defects later.
Computer vision can be used in the footwear manufacturing industry to automate certain processes and
reduce the need for manual labor. Here are a few ways you can help computer vision for footwear
manufacturing to reduce the need for labor:
Quality control: Computer vision can be used to inspect the finished footwear products and ensure that they
meet the required quality standards. This can reduce the need for manual inspection and increase the overall
efficiency of the manufacturing process.
Inventory management: Computer vision can be used to monitor the inventory of materials and finished
products. By automating the inventory management process, the need for manual labor can be reduced.
Automated assembly: Computer vision can be used to automate the assembly of footwear products, such as
attaching soles to uppers. By automating this process, the need for manual labor can be greatly reduced.
Overall, there are many ways to help computer vision for footwear manufacturing to reduce the need
for labor. By contributing to the development of computer vision models and applications, you can help
improve the efficiency and cost-effectiveness of the manufacturing process, while also reducing the
need for manual labor.

More Related Content

What's hot

What's hot (20)

Introduction to Computer Vision.pdf
Introduction to Computer Vision.pdfIntroduction to Computer Vision.pdf
Introduction to Computer Vision.pdf
 
Computer vision introduction
Computer vision  introduction Computer vision  introduction
Computer vision introduction
 
Computer Vision - Artificial Intelligence
Computer Vision - Artificial IntelligenceComputer Vision - Artificial Intelligence
Computer Vision - Artificial Intelligence
 
What is computer vision?
What is computer vision?What is computer vision?
What is computer vision?
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
Computer vision
Computer visionComputer vision
Computer vision
 
Computer vision
Computer visionComputer vision
Computer vision
 
Computer vision
Computer vision Computer vision
Computer vision
 
Computer Vision Introduction
Computer Vision IntroductionComputer Vision Introduction
Computer Vision Introduction
 
Computer vision ppt
Computer vision pptComputer vision ppt
Computer vision ppt
 
Ai lecture 03 computer vision
Ai lecture 03 computer visionAi lecture 03 computer vision
Ai lecture 03 computer vision
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Computer vision
Computer visionComputer vision
Computer vision
 
Artificial intelligence in medical image processing
Artificial intelligence in medical image processingArtificial intelligence in medical image processing
Artificial intelligence in medical image processing
 
Computer vision
Computer visionComputer vision
Computer vision
 
04 image enhancement edge detection
04 image enhancement edge detection04 image enhancement edge detection
04 image enhancement edge detection
 
Deep learning for medical imaging
Deep learning for medical imagingDeep learning for medical imaging
Deep learning for medical imaging
 
Image recognition
Image recognitionImage recognition
Image recognition
 
Computer vision and Open CV
Computer vision and Open CVComputer vision and Open CV
Computer vision and Open CV
 
Human Action Recognition
Human Action RecognitionHuman Action Recognition
Human Action Recognition
 

Similar to Overview of Computer Vision For Footwear Industry

Similar to Overview of Computer Vision For Footwear Industry (20)

vision.ppt
vision.pptvision.ppt
vision.ppt
 
vision_2.ppt
vision_2.pptvision_2.ppt
vision_2.ppt
 
vision.ppt
vision.pptvision.ppt
vision.ppt
 
Computer Vision Crash Course
Computer Vision Crash CourseComputer Vision Crash Course
Computer Vision Crash Course
 
Introduction
IntroductionIntroduction
Introduction
 
ICS1020 CV
ICS1020 CVICS1020 CV
ICS1020 CV
 
Computer Vision Crash Course
Computer Vision Crash CourseComputer Vision Crash Course
Computer Vision Crash Course
 
01.ppt
01.ppt01.ppt
01.ppt
 
01 (1).ppt
01 (1).ppt01 (1).ppt
01 (1).ppt
 
computer visions with full detail
computer visions with full detail computer visions with full detail
computer visions with full detail
 
01.ppt
01.ppt01.ppt
01.ppt
 
01.ppt
01.ppt01.ppt
01.ppt
 
01.ppt
01.ppt01.ppt
01.ppt
 
Introduction talk to Computer Vision
Introduction talk to Computer Vision Introduction talk to Computer Vision
Introduction talk to Computer Vision
 
Computer vision and robotics
Computer vision and roboticsComputer vision and robotics
Computer vision and robotics
 
Intro
IntroIntro
Intro
 
Lecture 1 computer vision introduction
Lecture 1 computer vision introductionLecture 1 computer vision introduction
Lecture 1 computer vision introduction
 
vision-1.ppt
vision-1.pptvision-1.ppt
vision-1.ppt
 
Data quality is more important than you think
Data quality is more important than you thinkData quality is more important than you think
Data quality is more important than you think
 
Computer vision basics
Computer vision basicsComputer vision basics
Computer vision basics
 

More from Tanvir Moin

Types of Machine Learning- Tanvir Siddike Moin
Types of Machine Learning- Tanvir Siddike MoinTypes of Machine Learning- Tanvir Siddike Moin
Types of Machine Learning- Tanvir Siddike Moin
Tanvir Moin
 

More from Tanvir Moin (20)

Types of Machine Learning- Tanvir Siddike Moin
Types of Machine Learning- Tanvir Siddike MoinTypes of Machine Learning- Tanvir Siddike Moin
Types of Machine Learning- Tanvir Siddike Moin
 
Fundamentals of Wastewater Treatment Plant
Fundamentals of Wastewater Treatment PlantFundamentals of Wastewater Treatment Plant
Fundamentals of Wastewater Treatment Plant
 
Basic Principle of Electrochemical Sensor
Basic Principle of  Electrochemical SensorBasic Principle of  Electrochemical Sensor
Basic Principle of Electrochemical Sensor
 
Aerated Lagoons
Aerated Lagoons Aerated Lagoons
Aerated Lagoons
 
Assessing and predicting land use/land cover and land surface temperature usi...
Assessing and predicting land use/land cover and land surface temperature usi...Assessing and predicting land use/land cover and land surface temperature usi...
Assessing and predicting land use/land cover and land surface temperature usi...
 
SOLID WASTE MANAGEMENT IN THE PHARMACEUTICAL INDUSTRY
SOLID WASTE MANAGEMENT IN THE PHARMACEUTICAL INDUSTRYSOLID WASTE MANAGEMENT IN THE PHARMACEUTICAL INDUSTRY
SOLID WASTE MANAGEMENT IN THE PHARMACEUTICAL INDUSTRY
 
Wastewater Characteristics in the Pharmaceutical Industry
Wastewater Characteristics in the Pharmaceutical IndustryWastewater Characteristics in the Pharmaceutical Industry
Wastewater Characteristics in the Pharmaceutical Industry
 
Pharmaceuticals Industry
Pharmaceuticals IndustryPharmaceuticals Industry
Pharmaceuticals Industry
 
UNACCOUNTED FOR WATER IN URBAN WATER SUPPLY SYSTEM FOR DHAKA CITY
UNACCOUNTED FOR WATER IN URBAN WATER SUPPLY SYSTEM FOR DHAKA CITY UNACCOUNTED FOR WATER IN URBAN WATER SUPPLY SYSTEM FOR DHAKA CITY
UNACCOUNTED FOR WATER IN URBAN WATER SUPPLY SYSTEM FOR DHAKA CITY
 
Statistical Evaluation of PM2.5 Induced Air Pollution of Dhaka City during Co...
Statistical Evaluation of PM2.5 Induced Air Pollution of Dhaka City during Co...Statistical Evaluation of PM2.5 Induced Air Pollution of Dhaka City during Co...
Statistical Evaluation of PM2.5 Induced Air Pollution of Dhaka City during Co...
 
An Analysis on Distribution of Traffic Faults in Accidents Based on Driver’s ...
An Analysis on Distribution of Traffic Faults in Accidents Based on Driver’s ...An Analysis on Distribution of Traffic Faults in Accidents Based on Driver’s ...
An Analysis on Distribution of Traffic Faults in Accidents Based on Driver’s ...
 
Fabric Manufacturing Technology for Shoe Upper
Fabric Manufacturing Technology for Shoe UpperFabric Manufacturing Technology for Shoe Upper
Fabric Manufacturing Technology for Shoe Upper
 
YARN MANUFACTURING TECHNOLOGY FOR SHOE UPPER
YARN MANUFACTURING TECHNOLOGY FOR SHOE UPPERYARN MANUFACTURING TECHNOLOGY FOR SHOE UPPER
YARN MANUFACTURING TECHNOLOGY FOR SHOE UPPER
 
DISPOSAL OF NUCLEAR WASTE
DISPOSAL OF NUCLEAR WASTEDISPOSAL OF NUCLEAR WASTE
DISPOSAL OF NUCLEAR WASTE
 
An Overview of Machine Learning
An Overview of Machine LearningAn Overview of Machine Learning
An Overview of Machine Learning
 
Artificial Neural Networks for footwear industry
Artificial Neural Networks for footwear industryArtificial Neural Networks for footwear industry
Artificial Neural Networks for footwear industry
 
Shoes & Shoegear
Shoes & ShoegearShoes & Shoegear
Shoes & Shoegear
 
Fabric Structure
Fabric StructureFabric Structure
Fabric Structure
 
Nanomaterial Synthesis Method
Nanomaterial Synthesis MethodNanomaterial Synthesis Method
Nanomaterial Synthesis Method
 
SPECTROSCOPY
SPECTROSCOPYSPECTROSCOPY
SPECTROSCOPY
 

Recently uploaded

Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manual
BalamuruganV28
 
Online crime reporting system project.pdf
Online crime reporting system project.pdfOnline crime reporting system project.pdf
Online crime reporting system project.pdf
Kamal Acharya
 

Recently uploaded (20)

ChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdfChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdf
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1
 
Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manual
 
Circuit Breaker arc phenomenon.pdf engineering
Circuit Breaker arc phenomenon.pdf engineeringCircuit Breaker arc phenomenon.pdf engineering
Circuit Breaker arc phenomenon.pdf engineering
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
 
Linux Systems Programming: Semaphores, Shared Memory, and Message Queues
Linux Systems Programming: Semaphores, Shared Memory, and Message QueuesLinux Systems Programming: Semaphores, Shared Memory, and Message Queues
Linux Systems Programming: Semaphores, Shared Memory, and Message Queues
 
Online book store management system project.pdf
Online book store management system project.pdfOnline book store management system project.pdf
Online book store management system project.pdf
 
Online crime reporting system project.pdf
Online crime reporting system project.pdfOnline crime reporting system project.pdf
Online crime reporting system project.pdf
 
Supermarket billing system project report..pdf
Supermarket billing system project report..pdfSupermarket billing system project report..pdf
Supermarket billing system project report..pdf
 
Introduction to Heat Exchangers: Principle, Types and Applications
Introduction to Heat Exchangers: Principle, Types and ApplicationsIntroduction to Heat Exchangers: Principle, Types and Applications
Introduction to Heat Exchangers: Principle, Types and Applications
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
Lab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxLab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docx
 
Introduction to Artificial Intelligence and History of AI
Introduction to Artificial Intelligence and History of AIIntroduction to Artificial Intelligence and History of AI
Introduction to Artificial Intelligence and History of AI
 
Electrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission lineElectrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission line
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
 
Quiz application system project report..pdf
Quiz application system project report..pdfQuiz application system project report..pdf
Quiz application system project report..pdf
 
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
 
15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon15-Minute City: A Completely New Horizon
15-Minute City: A Completely New Horizon
 
Theory for How to calculation capacitor bank
Theory for How to calculation capacitor bankTheory for How to calculation capacitor bank
Theory for How to calculation capacitor bank
 
How to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdfHow to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdf
 

Overview of Computer Vision For Footwear Industry

  • 1. Overview of Computer Vision For Footwear Industry Tanvir Siddike Moin
  • 3. What is Computer Vision? • Computer vision is the science and technology of machines that see. • Concerned with the theory for building artificial systems that obtain information from images. • The image data can take many forms, such as a video sequence, depth images, views from multiple cameras, or multi-dimensional data from a medical scanner
  • 4. Computer Vision Make computers understand images and videos. What kind of scene? Where are the cars? How far is the building? …
  • 5. Components of a computer vision system Lighting Scene Camera Computer Scene Interpretation Srinivasa Narasimhan’s slide
  • 6. Computer vision vs human vision What we see What a computer sees
  • 7. Vision is really hard • Vision is an amazing feat of natural intelligence • Visual cortex occupies about 50% of Macaque brain • More human brain devoted to vision than anything else Is that a queen or a bishop?
  • 8. Vision is multidisciplinary From wiki Computer Graphics HCI
  • 9. Why computer vision matters Safety Health Security Comfort Access Fun
  • 10. A little story about Computer Vision • In 1966, Marvin Minsky at MIT asked his undergraduate student Gerald Jay Sussman to “spend the summer linking a camera to a • computer and getting the computer to describe what it saw”. We now know that the problem is slightly more difficult than that. (Szeliski 2009, Computer Vision)
  • 11. A little story about Computer Vision • In 1966, Marvin Minsky at MIT asked his undergraduate student Gerald Jay Sussman to “spend the summer linking a camera to a • computer and getting the computer to describe what it saw”. We now know that the problem is slightly more difficult than that. Founder, MIT AI project
  • 12. A little story about Computer Vision In 1966, Marvin Minsky at MIT asked his undergraduate student Gerald Jay Sussman to “spend the summer linking a camera to a computer and getting the computer to describe what it saw”. We now know that the problem is slightly more difficult than that. Image Understanding
  • 13. Ridiculously brief history of computer vision • 1966: Minsky assigns computer vision as an undergrad summer project • 1960’s: interpretation of synthetic worlds • 1970’s: some progress on interpreting selected images • 1980’s: ANNs come and go; shift toward geometry and increased mathematical rigor • 1990’s: face recognition; statistical analysis in vogue • 2000’s: broader recognition; large annotated datasets available; video processing starts; vision & graphis; vision for HCI; internet vision, etc. Guzman ‘68 Ohta Kanade ‘78 Turk and Pentland ‘91
  • 14. How vision is used now Examples of state-of-the-art
  • 15. Optical character recognition (OCR) Digit recognition, AT&T labs http://www.research.att.com/~yann/ Technology to convert scanned docs to text • If you have a scanner, it probably came with OCR software License plate readers http://en.wikipedia.org/wiki/Automatic_number_plate_recognition
  • 16. Face detection • Many new digital cameras now detect faces • Canon, Sony, Fuji, …
  • 17. Smile detection • Sony Cyber-shot® T70 Digital Still Camera
  • 18. Object recognition (in supermarkets) • LaneHawk by EvolutionRobotics • “A smart camera is flush-mounted in the checkout lane, continuously watching for items. When an item is detected and recognized, the cashier verifies the quantity of items that were found under the basket, and continues to close the transaction. The item can remain under the basket, and with LaneHawk,you are assured to get paid for it… “
  • 19. Vision-based biometrics • “How the Afghan Girl was Identified by Her Iris Patterns” Read the story • wikipedia
  • 20. Login without a password… Fingerprint scanners on many new laptops, other devices Face recognition systems now beginning to appear more widely http://www.sensiblevision.com/
  • 21. Object recognition (in mobile phones) Point & Find, Nokia Google Goggles
  • 22. Special effects: shape capture • The Matrix movies, ESC Entertainment, XYZRGB, NRC
  • 23. Special effects: motion capture • Pirates of the Carribean, Industrial Light and Magic
  • 24. Sports • Sportvision first down line • Nice explanation on www.howstuffworks.com • http://www.sportvision.c om/video.html
  • 25. Smart cars • Mobileye [wiki article] • Vision systems currently in high-end BMW, GM, Volvo models • By 2010: 70% of car manufacturers. Slide content courtesy of Amnon Shashua
  • 27. Interactive Games: Kinect • Object Recognition: http://www.youtube.com/watch?feature=iv&v=fQ59dXOo63o • Mario: http://www.youtube.com/watch?v=8CTJL5lUjHg • 3D: http://www.youtube.com/watch?v=7QrnwoO1-8A • Robot: http://www.youtube.com/watch?v=w8BmgtMKFbY • 3D tracking, reconstruction, and interaction: http://research.microsoft.com/en-us/projects/surfacerecon/default.aspx
  • 28. Vision in space Vision systems (JPL) used for several tasks • Panorama stitching • 3D terrain modeling • Obstacle detection, position tracking • For more, read “Computer Vision on Mars” by Matthies et al. NASA'S Mars Exploration Rover Spirit captured this westward view from atop a low plateau where Spirit spent the closing months of 2007.
  • 29. Industrial robots • Vision-guided robots position nut runners on wheels
  • 30. Mobile robots http://www.robocup.org/ NASA’s Mars Spirit Rover http://en.wikipedia.org/wiki/Spirit_rover Saxena et al. 2008 STAIR at Stanford
  • 31. Medical imaging Image guided surgery Grimson et al., MIT 3D imaging MRI, CT
  • 32. Prerequisites A good working knowledge of C/C++, Java or Matlab A good understand of math (linear algebra, basic calculus, basic probability) Willing to learn new stuffs (optimization, statistical learning etc.)
  • 34. Overview INTRODUCTION BACKGROUND THEORY EXPERIMENT RESULTS CONCLUSION
  • 36. Idea Facial recognition for a Security Robot Addition to another project Gain a better understanding of the subject Derived from work last semester
  • 37. Focus Basic understand of OpenCV face recognition software and algorithms Methods and Theory behind the EigenFace method for facial recognition Implementation using Python in a Linux-based environment Runs on a Raspberry Pi
  • 38. Goal • General facial recognition methods • EigenFaces • OpenCV’s facial recognition One half research • Create a system capable of facial recognition • Real-time • Able to run on a Raspberry Pi One half implementation
  • 40. Different Facial Recognition Methods Geometric Eigenfaces Fisherfaces Local Binary Patterns Active Appearance 3D Shape Models
  • 41. Geometric • First method of facial recognition • Done by hand at first • Automation came later • Find the locations of key parts of the face • And the distances between them • Good initial method, but had flaws • Unable to handle multiple views • Required good initial guess
  • 42. Eigenfaces • Information theory approach • Codes and then decodes face images to gain recognition • Uses principal component analysis (PCA) to find the most important bits
  • 43. Fisherfaces • Same approach as Eigenface • Instead of PCA, uses linear discriminant analysis (LDA) • Better handles intrapersonal variability within images such as lighting
  • 44. Local Binary Patterns • Describes local features of an object • Comparison of each pixel to its neighbors • Histogram of image contains information about the destruction of the local micro patterns
  • 46. Basic Idea • Let face image 𝐼(𝑥, 𝑦) be a two-dimensional 𝑁 by 𝑁 array of (8-bit) intensity values • Can consider image an 𝑁2 vector of dimensions • Image of 256 by 256 becomes a 65,536 vector of dimension • Or a point in 65,536-dimensional space
  • 47. Basic Idea • Images of faces will not differ too much • This allows a much smaller dimensional subspace to be used to classify them • PCA analysis finds the vectors that best define the distribution of images • These vectors are then • 𝑁2 long • Describe an 𝑁 by 𝑁 image • Linear combination of the original face images
  • 48. Basic Idea • These vectors are called eigenfaces • They are the eigenvectors of the covariance matrix • Resemble faces
  • 49. Method • Acquire initial training set of face images • Calculate eigenfaces • Keep only 𝑀 eigenfaces that correspond to the highest eigenvalues • These images now define the face space • Calculate corresponding distribution in 𝑀-dimensional weight space for each known individual
  • 50. Method • Calculate weights for new image by projecting the input image onto each of the eigenfaces • Determine if face is known • Within some tolerance, close to face space • If within face space, classify weights as either known or unknown • (Optional) Update eigenfaces and weights • (Optional) If same face repeats, input into known faces
  • 51. Classifying • Four possibilities for an input image • Near face space, near face class • Known face • Near face space, not near face class • Unknown face • Not near face space, near face class • Not a face, but may look like one (false positive) • Not near face space, not near face class • Not a face
  • 52. OpenCV and Theory • Beauty about OpenCV is a lot of this process is completely automated • Need: • Training images • Specify type of training • Number of eigenfaces • Threshold • Input Image
  • 53. Set-up • OpenCV running on a Raspberry Pi • Linux-based environment • Raspberry Pi Camera
  • 54. Training • Database of negatives • AT&T Laboratories Database of faces developed in the 90s
  • 55. Training • Captured Positives • Used the camera to capture images • Images were then cropped and resized
  • 56. Training • Model was trained using positive and negative images • Creates training file that holds the 𝑀-dimensional face space • Now have a base to recognize from model = cv2.createEigenFaceRecognizer() model.train(np.asarray(faces),np.asarray(labels))
  • 57. Recognition • Steps to recognizing face • Capture image • Detect face • Crop and resize around face • Project across all eigenvectors • Find face class that minimizes Euclidian distance • Return label from face class, and Euclidian distance • Euclidian distance also called Confidence level model = cv2.createEigenFaceRecognizer() model.load(config.TRAINING_FILE) label, confidence = model.predict(image)
  • 58. Test • Created four different Test • First data set uses 24 positive training images • Almost no pose and lighting variation • Second data set uses 12 positive training images • Good pose variation, little lighting variation • Third data set uses 25 positive training images • Good pose and lighting variation • Fourth data set uses second and third data set but with Fisherface method
  • 59. Results • Results from Data sets 1-3, each one from 20 input images • Confidence represents distance from known face class Data Set Mean Confidence Max Confidence Min Confidence 1 3462 3948 3040 2 2127 2568 1835 3 1709 2196 1217
  • 60. Results • Results from eigenface vs. fisherface comparison ALGORITHM DATA SET # TRAINING IMAGES MEAN CONFIDENCE MAX CONFIDENCE MIN CONFIDENCE Eigen 2 12 2127 2568 1835 Fisher 2 12 2029 2538 1468 Eigen 3 25 1709 2196 1217 Fisher 3 25 2017 2748 1530
  • 61. Conclusion • Theory behind eigenfaces • Face space • Training • Simple implementation of OpenCV’s eigenface recognizer • Compared different training models • Number of training images • Pose and lighting variations • Compared eigenfaces and fisherfaces
  • 62. Conclusion • Future work • Further testing of different training models • Implement updating facial recognition
  • 63. Reducing Manual Labor in Footwear Manufacturing with Computer Vision
  • 64. Process optimization: You can help optimize the manufacturing process by using computer vision to monitor and control the production line. For example, computer vision can be used to ensure that the correct materials are being used and that they are being assembled correctly. Defect detection: Computer vision can be used to detect defects in the footwear products, such as stitching errors or material inconsistencies. By detecting defects early, the manufacturing process can be adjusted to correct the problem, reducing the need for manual labor to fix defects later. Computer vision can be used in the footwear manufacturing industry to automate certain processes and reduce the need for manual labor. Here are a few ways you can help computer vision for footwear manufacturing to reduce the need for labor:
  • 65. Quality control: Computer vision can be used to inspect the finished footwear products and ensure that they meet the required quality standards. This can reduce the need for manual inspection and increase the overall efficiency of the manufacturing process. Inventory management: Computer vision can be used to monitor the inventory of materials and finished products. By automating the inventory management process, the need for manual labor can be reduced. Automated assembly: Computer vision can be used to automate the assembly of footwear products, such as attaching soles to uppers. By automating this process, the need for manual labor can be greatly reduced. Overall, there are many ways to help computer vision for footwear manufacturing to reduce the need for labor. By contributing to the development of computer vision models and applications, you can help improve the efficiency and cost-effectiveness of the manufacturing process, while also reducing the need for manual labor.