SlideShare a Scribd company logo
Introduction to Machine Vision Zeeshan Zia, M.Sc. (EE) [email_address] ,  [email_address]
Objective To give you lots of ideas… Give you a feel for extracting information from images…
Syllabus Day 1: - Introduction, Demos (30 minutes) - MATLAB Basics (30 minutes) - Image Processing Basics (30 minutes) - Project 1 : Content Based Image Retrieval (30 minutes) Day 2: - Project 2: Depth from Stereo and Optical Flow (40 minutes) - Project 3: Segmentation (30 minutes) - Project 4: Object Recognition (40 minutes) - Conclusion and Research Paper Writing ( 20 minutes)
Machine Vision / Computer Vision / Image Understanding / Photogrammetry Trying to make  Computers extract some useful information from images… Recognize faces, finger prints, other biometrics… Detect anamolies in X-Rays, Ultrasounds, … Point out suspicious human activity like fighting (surveillance) Use ‚vision‘ as a sensor in Control Systems… Make truly ‚autonomous‘ and ‚mobile‘ robots possible… Sophisticated special effects in movies… New and friendlier interfaces to Computers and other machines…
Applications Medical Imaging People tracking Biometrics Vehicle  automation  (cars, airplanes) Plant automation 3d reconstruction Computer Graphics Biological and genetics research Showbiz and Augmented Reality City Modelling Lots of engineering applications…
Demo (Obama-Kanade)
Demo (Mount Everest – ETHZ)
Demo (Car and Pedestrian detection)
Demo (First-person action recognition) My Master thesis – report available on my webpage…
Demo (Sport events analysis – TUM)
Demo (Gaze Tracking from outside)
Demo (Robotic Arm)
Demo (India Driving Challenge)
Demo (Cell Tracking)
MATLAB and Basic Image Manipulation MATLAB is a programming language for technical computing. MATLAB stands for MATrix LABoratory Very easy to learn Very complicated mathematical operations provided built-in
LTI/LSI Systems: Convolution Continuous System : h(t) is the system‘s IMPULSE RESPONSE (1D case),  x(t) is the input, and y(t) is the output.
Convolution : Discrete Case
Convolution : 2D discrete
Averaging Filter 1/9  1/9 1/9 h  = 1/9 1/9 1/9 1/9 1/9 1/9 MATLAB:  new_image = imfilter(old_image,h,’conv’);
Horizontal Edge Detector 1  1 1 h  = 0  0  0 -1 -1 -1
Vertical Edge Detector 1  0 -1 h  = 1  0  -1 1 0 -1
Day 2 0. Brief Review 1. Project 1: Content Based Image Retrieval (30 minutes) 2. Project 2: Depth from Stereo and Optical Flow (40 minutes) 3. Project 3: Segmentation (20 minutes) 4. Project 4: Object Recognition (20 minutes) 5. Conclusion and Research Paper Writing ( 20 minutes) Projects, actually sub-fields / important problems of Computer Vision…people have spent their lives working on every one of these problems!
Review Computer Vision :   Trying to make  Computers extract some useful information from images...similar terms are Machine Vision, Image Understanding, Photogrammetry Inverse problem of Computer Graphics!
Review Computer Vision :   Trying to make  Computers extract some useful information from images...similar terms are Machine Vision, Image Understanding, Photogrammetry Inverse problem of Computer Graphics! Image Processing :  Restoring, enhancing, compressing images (no extraction of information from the image) Computer Vision = Image Processing + Machine Learning + Mathematics
Review Computer Vision :   Trying to make  Computers extract some useful information from images...similar terms are Machine Vision, Image Understanding, Photogrammetry Inverse problem of Computer Graphics! Image Processing :  Restoring, enhancing, compressing images (no extraction of information from the image) Computer Vision = Image Processing + Machine Learning + Mathematics Applications areas: Although somewhat immature in the wild… Machine Vision can be very useful and accurate in controlled environments like industrial plants or laboratories
References MATLAB (easy to follow tutorial, takes 4-5 hours in total) Digital Signal Processing Workbook of Electronics Department, NEDUET  Best (very easy to follow) textbook for Image Processing: Digital Image Processing using MATLAB (Gonzalez and Woods) For Computer Vision: www.videolectures.net Think of a problem, consult me (Google my name for my email address) on how much time it will take and which techniques are good candidates for trying out first, directly start working on the project!
Review MATLAB is a programming language for technical computing. Mathematical operations: sin(50 * pi/180), sqrt(9) etc.. Matrix operations, accessing matrix elements Images in MATLAB represented as matrices Color Channels Red, Green, and Blue represented as separate channels (accessed by third matrix element) Basic Image Manipulation Commands a = imread(‘myimage.jpg’); imshow(a);
Project 1:  Content Based Image Retrieval We implement this using only Intensity Histograms (for color images). Many other techniques available which give better results. A complete area of research…extends to finding movie snippets, or short description of clips by a few key-frames, or automatic story understanding.
Intensity Histograms There can be other histograms also…(histogram of edges!)
Euclidean Distance Remember the distance between two vectors in Cartesian coordinates? A = [2,7,9] B = [1,6,4] |AB| = ? |AB| = square root of (2-1) 2  +  (7-6) 2  + (9-4) 2
Project 2: Depth from Stereo Image 2 Image 1 W (X,Y,Z) BaseLine distance y x x y (x2,y2) (x1,y1) Optical Axis
Relating Depth to Image Coordinates
Relating Depth to Image Coordinates
By Similar Triangles
How does the computer know which point is which?
Steps 1. Find matching points on the two images. 2. Calculate disparity and visualize it. Note: Unfortunately, depth can only be reconstructed upto a multiplying factor unless focal length of the camera is known (camera calibration, not considered here).
Step 1: Finding Correspondences A common approach to finding correspondences is to search for local regions that appear similar We try to match a window of pixels on the left image with a corresponding sized window on the right image, using CORRELATION.
Cross-Correlation as a distance measure Remember Example 3.6-2 of Bruce Carlson???
Step 2: Disparity Map Based on the calculated disparities a disparity map is obtained. The disparity map is a gray scale map where the intensity represents depth. The lighter shades (greater disparities) represent regions with less depth as opposed to the darker regions which are further away from us.
Examples Matlab code…again much better code is possible (faster and accurate)…this is just for understanding the basic idea.
Optic Flow Optic flow is the apparent visual motion that we experience as we move through the world.
Optic Flow Optic flow is the apparent visual motion that we experience as we move through the world.  Very fast  MATLAB  Implementation of Depth from  Stereo and Optic Flow available online.
Optic Flow – uses/assignments? Write a program that uses your webcam to detect the number of people passing by the camera. Write a program that performs visual surveillance of a road. Place two cameras and a laptop on a toy cars, and use depth from stereo to automatically navigate the car to a final destination. Bees use Optic Flow…they have eyes that have very poor resolution…because of this ‚poor resolution‘ (=less number of pixels / data)…they can process the data very fast, even though they have compound eyes. A lot of work is being done in this area….special ultra-small cameras have been developed that give only the optic flow. Ever killed a fly with a slow and steady hand???
Project 3: Segmentation What do we mean by segmentation and why do we need it? Segmentation can roughly be described as grouping of similar  information  in an image. Instead of having to work with all the pixels, a segmentation allows us to work with a much more compact representation. Sometimes, we are interested in the segmentation itself. - Especially in medical image analysis (e.g., segmenting out a tumor)
Segmentation : some examples
Figure-Ground Separation
Super-Pixels
Project 3: Segmentation by Clustering One simple way of performing segmentation is to use  clustering algorithms:
Project 3: Segmentation by Clustering One simple way of performing segmentation is to use  clustering algorithms: Clustering (a problem from machine learning) tries to group data points together. The points are usually vectors in some vector space.
Project 3: Segmentation by Clustering One simple way of performing segmentation is to use  clustering algorithms: Clustering (a problem from machine learning) tries to group data points together. The points are usually vectors in some vector space. We can apply this to the problem of segmentation by identifying each pixel with a feature vector and clustering these. This feature vector may include: - The pixel’s position - Pixel intensity or color - etc…..a description of local texture
Clustering Temperature Humidity
Clustering Temperature Humidity
Clustering Temperature Humidity m 1 m 2 m 3
Clustering of pixels in image Make one vector per pixel of the image, X i  = [x, y, R, G,  B] Apply clustering on these vectors…call all pixels that end up in the same  cluster as one segment! WHY  ?
K-Means Clustering Algorithm Step 1: Determine number of clusters K Step 2: Randomly choose K different mean vectors: m 1 , m 2 , …, m K Step 3: Choose a data vector X i,  and calculate Euclidean distance between  this vector and all the mean vectors one-by-one. Step 4: Assign this data vector to the cluster with the minimum distance Step 5: Set i to i + 1, and go back to step 3 Step 6: Calculate new mean vectors based on assignments Step 7: Set i = 0, and go back to step 3
K-Means Clustering: Example
Discussion Apply segmentation to optical flow, to find segments of high motion!!!
Project 4: Object Recognition Most active area of Computer Vision research Involves many many challenges – next slides… ‘ Object’ here is taken in a very general sense, and includes everything from cars and chairs, to trees and animals or birds, or faces, or pedestrians…
Project 4: Object Recognition
Project 4: Object Recognition
Project 4: Object Recognition
Project 4: Object Recognition Challenges 4: Scale variation
Project 4: Object Recognition
Project 4: Object Recognition Challenges 6: Background Clutter Find  the  dustbin…
Project 4: Object Recognition Single Object Recognition A solved problem!
Project 4: Object Recognition Challenges 7: Intra-class  variation
Project 4: Object Recognition Challenges 7: Intra-class  variation My PhD focus is intra-class and viewpoint invariance – alongwith all the other problems..
Project 4 : SIFT Based Object Recognition
Scale Invariance
Rotational Invariance
Steps TRAINING Step 1: Take TRAINING IMAGE, identify strong scale and rotation invariance features. Step 2: Form histograms for each feature (128 numbers), and store these histograms DETECTION Step 1: Take TEST IMAGE (unseen), obtain features from it, and form histograms. Step 2: Match ( euclidean distance ) each feature of TEST IMAGE with that of TRAINING IMAGE. If a lot of features match, the object is present at the position of the matches!
Results Optimized code available online,  very easy to use. Advantages: Scale and Rotation invariant Very robust for well textured  objects. 3. Real-time implementations  Disadvantages: Not viewpoint invariant. Not category invariant.
Results Optimized code available online,  very easy to use. Advantages: Scale and Rotation invariant Very robust for well textured  objects. 3. Real-time implementations  Disadvantages: Not viewpoint invariant. Not category invariant.
Conclusions MATLAB discussed For faster (and possibly real-time implementations) use C or C++. OpenCV library… Delve right into projects instead of spending too much time on theory (advice for undergraduate students). Feel free to contact me for project ideas, pointers…
Research Papers How does science work?  Scientists do experiments, publish their results in papers, others read those papers… Who are scientists? Usually academic Professors doing research… How is the performance of a scientist measured? By quantity and quality of her research papers… How can you convince a foreign university professor to give you scholarships? By showing potential for publishing research papers! IEEE Conferences, paper format, ieeexplore.ieee.org, scholar.google.com,  Go home and search for the topics we covered today!

More Related Content

PPTX
ppt on image processing
sangeethachinnasamy
 
PDF
Machine vision project
Wei Ang
 
PPTX
Machine vision systems ppt
Akash Maurya
 
PPTX
Image processing
kamal330
 
PDF
Machine vision
Alpesh Patel
 
PPTX
Real time image processing ppt
ashwini.jagdhane
 
PPTX
Image processing ppt
Raviteja Chowdary Adusumalli
 
PPTX
traffic jam detection using image processing
Malika Alix
 
ppt on image processing
sangeethachinnasamy
 
Machine vision project
Wei Ang
 
Machine vision systems ppt
Akash Maurya
 
Image processing
kamal330
 
Machine vision
Alpesh Patel
 
Real time image processing ppt
ashwini.jagdhane
 
Image processing ppt
Raviteja Chowdary Adusumalli
 
traffic jam detection using image processing
Malika Alix
 

What's hot (19)

PPTX
Application of image processing
University of Potsdam
 
PDF
Automatic Real Time Auditorium Power Supply Control using Image Processing
idescitation
 
PPT
Dip lect2-Machine Vision Fundamentals
Abdul Abbasi
 
DOCX
imageprocessing-abstract
Jagadeesh Kumar
 
PDF
Machine Vision: The Key Considerations for Successful Visual Inspection
Optima Control Solutions
 
PDF
Using Digital Microscopes to Solve Common Microscopy Issues: Even First-Time ...
Olympus IMS
 
PDF
Design and development of sapling monitoring system
IJCSEA Journal
 
PPTX
Qualitas technologies vision - OEM
Raghava Kashyapa
 
PDF
image processing
Dhriya
 
PPTX
Image proccessing and its application
Ashwini Awatare
 
PPTX
Image processing sw & hw
amalalhait
 
PDF
H028038042
researchinventy
 
PDF
Monitor and Quality Control for Automatic Production Line System
IRJET Journal
 
PDF
Final Year IEEE Project 2013-2014 - Digital Image Processing Project Title a...
elysiumtechnologies
 
PPT
Image processing
Raga Deepthi
 
PDF
IRJET - Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...
IRJET Journal
 
PDF
高解析度面板瑕疵檢測
CHENHuiMei
 
DOC
Image Processing
Raga Deepthi
 
PDF
PREPROCESSING ALGORITHM FOR DIGITAL FINGERPRINT IMAGE RECOGNITION
ijcsity
 
Application of image processing
University of Potsdam
 
Automatic Real Time Auditorium Power Supply Control using Image Processing
idescitation
 
Dip lect2-Machine Vision Fundamentals
Abdul Abbasi
 
imageprocessing-abstract
Jagadeesh Kumar
 
Machine Vision: The Key Considerations for Successful Visual Inspection
Optima Control Solutions
 
Using Digital Microscopes to Solve Common Microscopy Issues: Even First-Time ...
Olympus IMS
 
Design and development of sapling monitoring system
IJCSEA Journal
 
Qualitas technologies vision - OEM
Raghava Kashyapa
 
image processing
Dhriya
 
Image proccessing and its application
Ashwini Awatare
 
Image processing sw & hw
amalalhait
 
H028038042
researchinventy
 
Monitor and Quality Control for Automatic Production Line System
IRJET Journal
 
Final Year IEEE Project 2013-2014 - Digital Image Processing Project Title a...
elysiumtechnologies
 
Image processing
Raga Deepthi
 
IRJET - Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...
IRJET Journal
 
高解析度面板瑕疵檢測
CHENHuiMei
 
Image Processing
Raga Deepthi
 
PREPROCESSING ALGORITHM FOR DIGITAL FINGERPRINT IMAGE RECOGNITION
ijcsity
 
Ad

Viewers also liked (20)

PPTX
Machine Vision
EF Society
 
PPT
fundamentals of machine vision system
shalet kochumuttath Shaji
 
PPTX
Machine vision
djehlke
 
PPTX
Fundamentals of Machine Vision
Pete Kepf, CVP
 
PPTX
Machine Vision Systems And Applications
Francy Abraham, MSEE, MBA
 
PPTX
What is machine vision slide share
Ritesh Kanjee
 
PPTX
INDUSTRIAL APPLICATION OF MACHINE VISION ppt mrng finl
anil badiger
 
PDF
3d machine-vision-systems-paper-presentation
Chidananda M
 
PDF
Bai4 a
nguyendattdh
 
PDF
Quad copterece401 -----3
nguyendattdh
 
PDF
Imaq manual
Jose Leon
 
PDF
Fir 05 dynamics
nguyendattdh
 
PDF
Fir 05 dynamics
nguyendattdh
 
PDF
Fir 05 dynamics 2-dof
nguyendattdh
 
PPTX
HSL & HSV colour models
Vishnu RC Vijayan
 
PDF
3d Machine Vision Systems Paper Presentation
guestac67362
 
PPT
Chapter 2 robot kinematics
nguyendattdh
 
PPT
Robotics and machine vision system
Gowsick Subramaniam
 
Machine Vision
EF Society
 
fundamentals of machine vision system
shalet kochumuttath Shaji
 
Machine vision
djehlke
 
Fundamentals of Machine Vision
Pete Kepf, CVP
 
Machine Vision Systems And Applications
Francy Abraham, MSEE, MBA
 
What is machine vision slide share
Ritesh Kanjee
 
INDUSTRIAL APPLICATION OF MACHINE VISION ppt mrng finl
anil badiger
 
3d machine-vision-systems-paper-presentation
Chidananda M
 
Bai4 a
nguyendattdh
 
Quad copterece401 -----3
nguyendattdh
 
Imaq manual
Jose Leon
 
Fir 05 dynamics
nguyendattdh
 
Fir 05 dynamics
nguyendattdh
 
Fir 05 dynamics 2-dof
nguyendattdh
 
HSL & HSV colour models
Vishnu RC Vijayan
 
3d Machine Vision Systems Paper Presentation
guestac67362
 
Chapter 2 robot kinematics
nguyendattdh
 
Robotics and machine vision system
Gowsick Subramaniam
 
Ad

Similar to Introduction to Machine Vision (20)

PPS
A Tutorial On Ip 1
ankuredkie
 
PPTX
Introductory Digital Image Processing using Matlab, IIT Roorkee
Vinayak Sahai
 
PDF
IRJET- 3D Vision System using Calibrated Stereo Camera
IRJET Journal
 
PPTX
Image analytics - A Primer
Gopi Krishna Nuti
 
PDF
Fcv core szeliski_zisserman
zukun
 
PDF
PPT s01-machine vision-s2
Binus Online Learning
 
PDF
Introduction to Digital Image Processing Using MATLAB
Ray Phan
 
PDF
Making php see, confoo 2011
Bachkoutou Toutou
 
PDF
Fundamentals_of_Digital image processing_A practicle approach with MatLab.pdf
nagwaAboElenein
 
PDF
Module 1 Chapter1_Computer vision VTU_syllabus.pdf
Ramesh Wadawadagi
 
PPTX
01Introduction.pptx - C280, Computer Vision
butest
 
PDF
Lecture 1 computer vision introduction
cairo university
 
PPTX
COMPUTER VISION presentation in ppt.pptx
ZirwaKhan5
 
PDF
Module 2 Computer Vision: Image Processing
Ramesh Wadawadagi
 
PPTX
Computer_Vision_ItsHistory_Advantages_and Uses.pptx
YashikaTanwar11
 
PDF
Digital Image Processing Using Matlab 2nd Edition Rafael C Gonzalez
rusetidawnel
 
PPTX
Lecture1.pptx
CharuPathak6
 
PPTX
IntroComputerVision23.pptx
AneesAbbasi14
 
PDF
Computer_Vision-Lecture 1-Course Overview.pdf
mostafasameer858
 
PPTX
Images Analysis  in matlab
mustafa_92
 
A Tutorial On Ip 1
ankuredkie
 
Introductory Digital Image Processing using Matlab, IIT Roorkee
Vinayak Sahai
 
IRJET- 3D Vision System using Calibrated Stereo Camera
IRJET Journal
 
Image analytics - A Primer
Gopi Krishna Nuti
 
Fcv core szeliski_zisserman
zukun
 
PPT s01-machine vision-s2
Binus Online Learning
 
Introduction to Digital Image Processing Using MATLAB
Ray Phan
 
Making php see, confoo 2011
Bachkoutou Toutou
 
Fundamentals_of_Digital image processing_A practicle approach with MatLab.pdf
nagwaAboElenein
 
Module 1 Chapter1_Computer vision VTU_syllabus.pdf
Ramesh Wadawadagi
 
01Introduction.pptx - C280, Computer Vision
butest
 
Lecture 1 computer vision introduction
cairo university
 
COMPUTER VISION presentation in ppt.pptx
ZirwaKhan5
 
Module 2 Computer Vision: Image Processing
Ramesh Wadawadagi
 
Computer_Vision_ItsHistory_Advantages_and Uses.pptx
YashikaTanwar11
 
Digital Image Processing Using Matlab 2nd Edition Rafael C Gonzalez
rusetidawnel
 
Lecture1.pptx
CharuPathak6
 
IntroComputerVision23.pptx
AneesAbbasi14
 
Computer_Vision-Lecture 1-Course Overview.pdf
mostafasameer858
 
Images Analysis  in matlab
mustafa_92
 

More from Nasir Jumani (19)

PPT
World Without Wires 2007
Nasir Jumani
 
PPS
Power Point Lesson 09 Part 2
Nasir Jumani
 
PPS
Power Point Lesson 08 P1
Nasir Jumani
 
PPS
Power Point Lesson 08 P2
Nasir Jumani
 
PPS
Power Point Lesson 09 Part 1
Nasir Jumani
 
PPS
Power Point Lesson 09 Part 2
Nasir Jumani
 
PPS
Power Point Lesson 07 P2
Nasir Jumani
 
PPS
Power Point Lesson 10 Part1
Nasir Jumani
 
PPS
Power Point Lesson 07 P1
Nasir Jumani
 
PPS
Power Point Lesson 04
Nasir Jumani
 
PPS
Power Point Lesson 05
Nasir Jumani
 
PPS
Power Point Lesson 06
Nasir Jumani
 
PPT
The Needs Of Computation
Nasir Jumani
 
PPT
Inside The Computer
Nasir Jumani
 
PPT
Number Systems
Nasir Jumani
 
PPS
Power Point Lesson 03
Nasir Jumani
 
PPS
Power Point Lesson 01
Nasir Jumani
 
PPS
Power Point Lesson 02
Nasir Jumani
 
PPTX
Nanotechnology
Nasir Jumani
 
World Without Wires 2007
Nasir Jumani
 
Power Point Lesson 09 Part 2
Nasir Jumani
 
Power Point Lesson 08 P1
Nasir Jumani
 
Power Point Lesson 08 P2
Nasir Jumani
 
Power Point Lesson 09 Part 1
Nasir Jumani
 
Power Point Lesson 09 Part 2
Nasir Jumani
 
Power Point Lesson 07 P2
Nasir Jumani
 
Power Point Lesson 10 Part1
Nasir Jumani
 
Power Point Lesson 07 P1
Nasir Jumani
 
Power Point Lesson 04
Nasir Jumani
 
Power Point Lesson 05
Nasir Jumani
 
Power Point Lesson 06
Nasir Jumani
 
The Needs Of Computation
Nasir Jumani
 
Inside The Computer
Nasir Jumani
 
Number Systems
Nasir Jumani
 
Power Point Lesson 03
Nasir Jumani
 
Power Point Lesson 01
Nasir Jumani
 
Power Point Lesson 02
Nasir Jumani
 
Nanotechnology
Nasir Jumani
 

Recently uploaded (20)

PPTX
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PDF
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
PDF
Module 2: Public Health History [Tutorial Slides]
JonathanHallett4
 
PDF
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
PDF
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
DOCX
Action Plan_ARAL PROGRAM_ STAND ALONE SHS.docx
Levenmartlacuna1
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PPTX
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
PDF
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
PPTX
TEF & EA Bsc Nursing 5th sem.....BBBpptx
AneetaSharma15
 
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
Module 2: Public Health History [Tutorial Slides]
JonathanHallett4
 
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
Action Plan_ARAL PROGRAM_ STAND ALONE SHS.docx
Levenmartlacuna1
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
Biological Classification Class 11th NCERT CBSE NEET.pdf
NehaRohtagi1
 
TEF & EA Bsc Nursing 5th sem.....BBBpptx
AneetaSharma15
 

Introduction to Machine Vision

  • 1. Introduction to Machine Vision Zeeshan Zia, M.Sc. (EE) [email_address] , [email_address]
  • 2. Objective To give you lots of ideas… Give you a feel for extracting information from images…
  • 3. Syllabus Day 1: - Introduction, Demos (30 minutes) - MATLAB Basics (30 minutes) - Image Processing Basics (30 minutes) - Project 1 : Content Based Image Retrieval (30 minutes) Day 2: - Project 2: Depth from Stereo and Optical Flow (40 minutes) - Project 3: Segmentation (30 minutes) - Project 4: Object Recognition (40 minutes) - Conclusion and Research Paper Writing ( 20 minutes)
  • 4. Machine Vision / Computer Vision / Image Understanding / Photogrammetry Trying to make Computers extract some useful information from images… Recognize faces, finger prints, other biometrics… Detect anamolies in X-Rays, Ultrasounds, … Point out suspicious human activity like fighting (surveillance) Use ‚vision‘ as a sensor in Control Systems… Make truly ‚autonomous‘ and ‚mobile‘ robots possible… Sophisticated special effects in movies… New and friendlier interfaces to Computers and other machines…
  • 5. Applications Medical Imaging People tracking Biometrics Vehicle automation (cars, airplanes) Plant automation 3d reconstruction Computer Graphics Biological and genetics research Showbiz and Augmented Reality City Modelling Lots of engineering applications…
  • 8. Demo (Car and Pedestrian detection)
  • 9. Demo (First-person action recognition) My Master thesis – report available on my webpage…
  • 10. Demo (Sport events analysis – TUM)
  • 11. Demo (Gaze Tracking from outside)
  • 13. Demo (India Driving Challenge)
  • 15. MATLAB and Basic Image Manipulation MATLAB is a programming language for technical computing. MATLAB stands for MATrix LABoratory Very easy to learn Very complicated mathematical operations provided built-in
  • 16. LTI/LSI Systems: Convolution Continuous System : h(t) is the system‘s IMPULSE RESPONSE (1D case), x(t) is the input, and y(t) is the output.
  • 18. Convolution : 2D discrete
  • 19. Averaging Filter 1/9 1/9 1/9 h = 1/9 1/9 1/9 1/9 1/9 1/9 MATLAB: new_image = imfilter(old_image,h,’conv’);
  • 20. Horizontal Edge Detector 1 1 1 h = 0 0 0 -1 -1 -1
  • 21. Vertical Edge Detector 1 0 -1 h = 1 0 -1 1 0 -1
  • 22. Day 2 0. Brief Review 1. Project 1: Content Based Image Retrieval (30 minutes) 2. Project 2: Depth from Stereo and Optical Flow (40 minutes) 3. Project 3: Segmentation (20 minutes) 4. Project 4: Object Recognition (20 minutes) 5. Conclusion and Research Paper Writing ( 20 minutes) Projects, actually sub-fields / important problems of Computer Vision…people have spent their lives working on every one of these problems!
  • 23. Review Computer Vision : Trying to make Computers extract some useful information from images...similar terms are Machine Vision, Image Understanding, Photogrammetry Inverse problem of Computer Graphics!
  • 24. Review Computer Vision : Trying to make Computers extract some useful information from images...similar terms are Machine Vision, Image Understanding, Photogrammetry Inverse problem of Computer Graphics! Image Processing : Restoring, enhancing, compressing images (no extraction of information from the image) Computer Vision = Image Processing + Machine Learning + Mathematics
  • 25. Review Computer Vision : Trying to make Computers extract some useful information from images...similar terms are Machine Vision, Image Understanding, Photogrammetry Inverse problem of Computer Graphics! Image Processing : Restoring, enhancing, compressing images (no extraction of information from the image) Computer Vision = Image Processing + Machine Learning + Mathematics Applications areas: Although somewhat immature in the wild… Machine Vision can be very useful and accurate in controlled environments like industrial plants or laboratories
  • 26. References MATLAB (easy to follow tutorial, takes 4-5 hours in total) Digital Signal Processing Workbook of Electronics Department, NEDUET Best (very easy to follow) textbook for Image Processing: Digital Image Processing using MATLAB (Gonzalez and Woods) For Computer Vision: www.videolectures.net Think of a problem, consult me (Google my name for my email address) on how much time it will take and which techniques are good candidates for trying out first, directly start working on the project!
  • 27. Review MATLAB is a programming language for technical computing. Mathematical operations: sin(50 * pi/180), sqrt(9) etc.. Matrix operations, accessing matrix elements Images in MATLAB represented as matrices Color Channels Red, Green, and Blue represented as separate channels (accessed by third matrix element) Basic Image Manipulation Commands a = imread(‘myimage.jpg’); imshow(a);
  • 28. Project 1: Content Based Image Retrieval We implement this using only Intensity Histograms (for color images). Many other techniques available which give better results. A complete area of research…extends to finding movie snippets, or short description of clips by a few key-frames, or automatic story understanding.
  • 29. Intensity Histograms There can be other histograms also…(histogram of edges!)
  • 30. Euclidean Distance Remember the distance between two vectors in Cartesian coordinates? A = [2,7,9] B = [1,6,4] |AB| = ? |AB| = square root of (2-1) 2 + (7-6) 2 + (9-4) 2
  • 31. Project 2: Depth from Stereo Image 2 Image 1 W (X,Y,Z) BaseLine distance y x x y (x2,y2) (x1,y1) Optical Axis
  • 32. Relating Depth to Image Coordinates
  • 33. Relating Depth to Image Coordinates
  • 35. How does the computer know which point is which?
  • 36. Steps 1. Find matching points on the two images. 2. Calculate disparity and visualize it. Note: Unfortunately, depth can only be reconstructed upto a multiplying factor unless focal length of the camera is known (camera calibration, not considered here).
  • 37. Step 1: Finding Correspondences A common approach to finding correspondences is to search for local regions that appear similar We try to match a window of pixels on the left image with a corresponding sized window on the right image, using CORRELATION.
  • 38. Cross-Correlation as a distance measure Remember Example 3.6-2 of Bruce Carlson???
  • 39. Step 2: Disparity Map Based on the calculated disparities a disparity map is obtained. The disparity map is a gray scale map where the intensity represents depth. The lighter shades (greater disparities) represent regions with less depth as opposed to the darker regions which are further away from us.
  • 40. Examples Matlab code…again much better code is possible (faster and accurate)…this is just for understanding the basic idea.
  • 41. Optic Flow Optic flow is the apparent visual motion that we experience as we move through the world.
  • 42. Optic Flow Optic flow is the apparent visual motion that we experience as we move through the world. Very fast MATLAB Implementation of Depth from Stereo and Optic Flow available online.
  • 43. Optic Flow – uses/assignments? Write a program that uses your webcam to detect the number of people passing by the camera. Write a program that performs visual surveillance of a road. Place two cameras and a laptop on a toy cars, and use depth from stereo to automatically navigate the car to a final destination. Bees use Optic Flow…they have eyes that have very poor resolution…because of this ‚poor resolution‘ (=less number of pixels / data)…they can process the data very fast, even though they have compound eyes. A lot of work is being done in this area….special ultra-small cameras have been developed that give only the optic flow. Ever killed a fly with a slow and steady hand???
  • 44. Project 3: Segmentation What do we mean by segmentation and why do we need it? Segmentation can roughly be described as grouping of similar information in an image. Instead of having to work with all the pixels, a segmentation allows us to work with a much more compact representation. Sometimes, we are interested in the segmentation itself. - Especially in medical image analysis (e.g., segmenting out a tumor)
  • 48. Project 3: Segmentation by Clustering One simple way of performing segmentation is to use clustering algorithms:
  • 49. Project 3: Segmentation by Clustering One simple way of performing segmentation is to use clustering algorithms: Clustering (a problem from machine learning) tries to group data points together. The points are usually vectors in some vector space.
  • 50. Project 3: Segmentation by Clustering One simple way of performing segmentation is to use clustering algorithms: Clustering (a problem from machine learning) tries to group data points together. The points are usually vectors in some vector space. We can apply this to the problem of segmentation by identifying each pixel with a feature vector and clustering these. This feature vector may include: - The pixel’s position - Pixel intensity or color - etc…..a description of local texture
  • 54. Clustering of pixels in image Make one vector per pixel of the image, X i = [x, y, R, G, B] Apply clustering on these vectors…call all pixels that end up in the same cluster as one segment! WHY ?
  • 55. K-Means Clustering Algorithm Step 1: Determine number of clusters K Step 2: Randomly choose K different mean vectors: m 1 , m 2 , …, m K Step 3: Choose a data vector X i, and calculate Euclidean distance between this vector and all the mean vectors one-by-one. Step 4: Assign this data vector to the cluster with the minimum distance Step 5: Set i to i + 1, and go back to step 3 Step 6: Calculate new mean vectors based on assignments Step 7: Set i = 0, and go back to step 3
  • 57. Discussion Apply segmentation to optical flow, to find segments of high motion!!!
  • 58. Project 4: Object Recognition Most active area of Computer Vision research Involves many many challenges – next slides… ‘ Object’ here is taken in a very general sense, and includes everything from cars and chairs, to trees and animals or birds, or faces, or pedestrians…
  • 59. Project 4: Object Recognition
  • 60. Project 4: Object Recognition
  • 61. Project 4: Object Recognition
  • 62. Project 4: Object Recognition Challenges 4: Scale variation
  • 63. Project 4: Object Recognition
  • 64. Project 4: Object Recognition Challenges 6: Background Clutter Find the dustbin…
  • 65. Project 4: Object Recognition Single Object Recognition A solved problem!
  • 66. Project 4: Object Recognition Challenges 7: Intra-class variation
  • 67. Project 4: Object Recognition Challenges 7: Intra-class variation My PhD focus is intra-class and viewpoint invariance – alongwith all the other problems..
  • 68. Project 4 : SIFT Based Object Recognition
  • 71. Steps TRAINING Step 1: Take TRAINING IMAGE, identify strong scale and rotation invariance features. Step 2: Form histograms for each feature (128 numbers), and store these histograms DETECTION Step 1: Take TEST IMAGE (unseen), obtain features from it, and form histograms. Step 2: Match ( euclidean distance ) each feature of TEST IMAGE with that of TRAINING IMAGE. If a lot of features match, the object is present at the position of the matches!
  • 72. Results Optimized code available online, very easy to use. Advantages: Scale and Rotation invariant Very robust for well textured objects. 3. Real-time implementations Disadvantages: Not viewpoint invariant. Not category invariant.
  • 73. Results Optimized code available online, very easy to use. Advantages: Scale and Rotation invariant Very robust for well textured objects. 3. Real-time implementations Disadvantages: Not viewpoint invariant. Not category invariant.
  • 74. Conclusions MATLAB discussed For faster (and possibly real-time implementations) use C or C++. OpenCV library… Delve right into projects instead of spending too much time on theory (advice for undergraduate students). Feel free to contact me for project ideas, pointers…
  • 75. Research Papers How does science work? Scientists do experiments, publish their results in papers, others read those papers… Who are scientists? Usually academic Professors doing research… How is the performance of a scientist measured? By quantity and quality of her research papers… How can you convince a foreign university professor to give you scholarships? By showing potential for publishing research papers! IEEE Conferences, paper format, ieeexplore.ieee.org, scholar.google.com, Go home and search for the topics we covered today!