0% found this document useful (0 votes)
96 views21 pages

Opencv Introduction Highgui Basic Operations Face Detection Optical Flow Template Matching Local Feature

The document provides an overview of OpenCV, including its introduction, key features like HighGUI, basic operations such as face detection and optical flow, and algorithms like template matching and local feature extraction. OpenCV is an open source library for computer vision that is cross-platform, portable, and supports many programming languages. It contains over 500 functions covering image processing, video analysis, machine learning, and more.

Uploaded by

Harish Paruchuri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views21 pages

Opencv Introduction Highgui Basic Operations Face Detection Optical Flow Template Matching Local Feature

The document provides an overview of OpenCV, including its introduction, key features like HighGUI, basic operations such as face detection and optical flow, and algorithms like template matching and local feature extraction. OpenCV is an open source library for computer vision that is cross-platform, portable, and supports many programming languages. It contains over 500 functions covering image processing, video analysis, machine learning, and more.

Uploaded by

Harish Paruchuri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Overview

 OpenCV Introduction
 HighGUI
 Basic Operations
 Face Detection
 Optical Flow
 Template Matching
 Local Feature

1
OpenCV – Introduction
 OpenCV stands for the Open Source Computer Vision Library.
 It was founded at Intel in 1999, went through some lean
years after the .bust but is now under active development,
now receiving ongoing support from Willow Garage.
 OpenCV is free for commercial and research use.
 It has a BSD license. The library runs across many
platforms and actively supports Linux, Windows and Mac
OS.
 OpenCV was founded to advance the field of computer vision.
 It gives everyone a reliable, real time infrastructure to
build on. It collects and makes available the most useful
algorithms.

2
OpenCV - Features
 Cross Platform
 Windows, Linux, Mac OS
 Portable
 iPhone
 Android.
 Language Support
 C/C++
 Python

3
Robot support
OpenCV Overview:> 500 functions
opencv.willowgarage.com

General Image Processing Functions Image Pyramids

Geometric
Descriptors
Segmentation Camera
Calibration,
Stereo, 3D
Features
Transforms Utilities and
Data Structures

Tracking
Machine
Learning: Fitting
•Detection,
•Recognition

Matrix Math
4
OpenCV – Getting Started
 Download OpenCV
 http://opencv.org
 Install from macports/aptitude
 Setting up
 Comprehensive guide on setting up OpenCV in various environments
at the official wiki.
 Online Reference:
 http://docs.opencv.org
 Two books

5
HighGUI

 HighGUI
 Image I/O, rendering
 Processing keyboard and other events, timeouts
 Trackbars
 Mouse callbacks
 Video I/O

6
Key Classes

7
Face Detection

Photo Courtesy Nikon Corp.


Face Detection

? +1 face
? Features Classify
-1 not face
?
x F(x) y

 Slide a window over the image


 Also change the size of the window
 Extract features for each window
 Classify each window into face/non-face

9
Face Detection: Viola-Jones
 Robust and fast
 Introduced by Paul Viola and Michael Jones
 http://research.microsoft.com/~viola/Pubs/Detect/violaJones_CVPR20
01.pdf
 Haar-like Features

 Use AdaBoost to select good classifiers and combine them

10
Face Detection: Viola-Jones
 Haar-like features
 Rectangular blocks, white or black
 3 types of features:
 two rectangles: horizontal/vertical
 three rectangles
 four rectangles
 In 24x24 window: 180,000 possible
features
 Simple weak classifier

Slide Courtesy Alex Teichman


11
Face Detection: Cascaded Classifier
50% 20% 2%
IMAGE 5 Features 20 Features
SUB-WINDOW
1 Feature FACE
F F F

NON-FACE NON-FACE NON-FACE

 A 1 feature classifier achieves 100% detection rate and about


50% false positive rate.
 A 5 feature classifier achieves 100% detection rate and 40%
false positive rate (20% cumulative)
 using data from previous stage.
 A 20 feature classifier achieve 100% detection rate with 10%
false positive rate (2% cumulative)

Slide Courtesy Alex Teichman


12
Face Detection: Non-Maximum
Suppression
 Thin out the multiple responses.
 Suppress spurious responses.

Figure Courtesy Christopher Williams and Wojciech Wojcikiewicz 13


Face Detection
 Good news – OpenCV comes with an implementation of Viola-
Jones!
 Training
 The training face images are provided.
 opencv_traincascade (supports Harr and LBP features).
 Details are at
http://docs.opencv.org/trunk/doc/user_guide/ug_traincas
cade.html
 Detection
 A good reference:
http://docs.opencv.org/doc/tutorials/objdetect/cascade_cl
assifier/cascade_classifier.html

14
Face Detection: Example

15
Optical Flow – Theory
 Optical flow: the apparent motion of brightness patterns in the
image.
 May not be the same as the actual motion - aperture

problem.
 Human vision does optical flow analysis all the time – being

aware of movement around them.


 Use cases:
 Find objects from one frame in other frames.

 Determine the speed and direction of movement of objects.

 Determine the structure of the environment.

16
Optical Flow – Theory (Lucas-Kanade)
 Key assumption
 Brightness constancy

 I(x+u,y+v,t+1)=I(x,y,t)
 Image measurements in a small region remain the same
although their location may change.

17
Optical Flow – Theory (Lucas-Kanade)

18
Optical Flow - Example

19
Template Match
 Template matching is a technique for finding areas of an image
that match (are similar) to a template image (patch).

 We need two primary components:


 Source image (I): The image in which we expect to find a match to the
template image.
 Template image (T): The patch image which will be compared to the
template image.
 Our goal is to detect the highest matching area.

20
Local Features
Detection: Description:

• Detectors available • Descriptors available


• SIFT • SIFT
• SURF • SURF
• FAST • ORB
• ORB • BRIEF
• MSER

21

You might also like