SlideShare a Scribd company logo
1 of 190
Computer Vision Crash Course
Jia-Bin Huang
University of Illinois, Urbana-Champaign
www.jiabinhuang.com Jan 12, 2016
Overview
• A little about me
• Introduction to Computer Vision
=== Intermission ===
• Fundamentals and Applications
• Resources
About me
• Born in Kaohsiung, raised in Taipei
About me
National Chiao-Tung University
B.S. in EE
IIS, Academia Sinica
Research Assistant
UIUC
Ph.D. in ECE
(Expected summer 2016)
UC, Merced
Visiting Student
Microsoft Research
Research Intern 2012, 2013
Disney Research
Research Intern 2014
My research: Computational Photography
Image Completion Image super-resolution
My Research: Video-based Bird Migration Monitoring
My Research: Visual Tracking
Object Tracking Multi-face Tracking
What is Computer Vision?
• Make computers understand images and videos.
• What kind of scene?
• Where are the cars?
• How far is the building?
What is Computer Vision?
• Make computers understand images and videos.
• What are they doing?
• Why is this happening?
• What is important?
• What will I see?
Computer Vision and Nearby Fields
Images (2D)
Geometry (3D)
Shape
Photometry
Appearance
Digital Image Processing
Computational Photography
Computer Graphics
Computer Vision
Machine learning:
Vision = Machine learning applied to visual data
Visual data on the Internet
• Flickr
• 10+ billion photographs
• 60 million images uploaded a month
• Facebook
• 250 billion+
• 300 million a day
• Instagram
• 55 million a day
• YouTube
• 100 hours uploaded every minute
90% of net traffic
will be visual!
Mostly about cats
Too big for humans
• Need automatic tools to access and analyze visual data!
http://www.petittube.com/
Slide credit: Alexei A. Efros
Vision is Really Hard
• Vision is an amazing feature 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?
Why is Computer Vision Hard?
Why is Computer Vision Hard?
What did you see?
• Where this picture was taken?
• How many people are there?
• What are they doing?
• What object the person on the left standing on?
• Why this is a funny picture?
Why is Computer Vision Hard?
Why is Computer Vision Hard?
Why is Computer Vision Hard?
Why is Computer Vision Hard?
Why is Computer Vision Hard?
Why is Computer Vision Hard?
Computer: okay, it’s a funny picture
Computer Vision Matters
Safety Health Security
Comfort AccessFun
History of Computer Vision
Marvin Minsky, MIT
Turing award, 1969
“In 1966, Minsky hired a first-year
undergraduate student and
assigned him a problem to solve
over the summer:
connect a camera to a computer
and get the machine to describe
what it sees.”
Crevier 1993, pg. 88
Half a century later,
we're still working on it.
History of Computer Vision
Marvin Minsky, MIT
Turing award, 1969
Gerald Sussman, MIT
“You’ll notice that Sussman never worked
in vision again!” – Berthold Horn
1960’s: interpretation of synthetic worlds
Larry Roberts
“Father of Computer Vision”
Larry Roberts PhD Thesis, MIT, 1963,
Machine Perception of Three-Dimensional Solids
Input image 2x2 gradient operator computed 3D model
rendered from new viewpoint
Slide credit: Steve Seitz
1970’s: some progress on interpreting selected images
The representation and matching of pictorial structures
Fischler and Elschlager, 1973
1970’s: some progress on interpreting selected images
The representation and matching of pictorial structures
Fischler and Elschlager, 1973
1980’s: ANNs come and go; shift toward geometry
and increased mathematical rigor
Image credit: Rick Szeliski
Goodbye
science
1990’s: face recognition; statistical analysis in vogue
Image credit: Rick Szeliski
2000’s: broader recognition; large annotated
datasets available; video processing starts
Image credit: Rick Szeliski
2010’s: resurgence of deep learning
[AlexNet NIPS 2012] [DeepFace CVPR 2014]
[DeepPose CVPR 2014] [Show, Attend and Tell ICML 2015]
2020’s: autonomous vehicles
2030’s: robot uprising?
5-mins break
Examples of Computer Vision Applications
• How is computer vision used today?
Face detection
• Most digital cameras and smart phones detect faces (and more)
• Canon, Sony, Fuji, …
• For smart focus, exposure compensation, and cropping
Slide credit: Steve Seitz
Face recognition
Facebook face auto-tagging
Face Landmark Alignment
TAAZ.com: Virtual makeover Face morphing
Jia-Bin Huang
Miss Daegu 2013 Contestants Face Morphing
Face Landmark Alignment- Pose Estimation
Pitch: ~ 15 degree
Yaw: ~ +20, -20 degree
Jia-Bin Huang What's the Best Pose for a Selfie?
Face Landmark Alignment – 3D Persona
What Makes Tom Hanks Look Like Tom Hanks ICCV 2015
Video-based face replacement
Smile Detection
Sony Cyber-shot® T70 Digital Still Camera Slide credit: Steve Seitz
Eye contact detection
Gaze locking, UIST 2013
Vision-based Biometrics
“How the Afghan Girl was Identified by Her Iris Patterns” Read the story wikipedia
Slide credit: Steve Seitz
Vision-based Biometrics
Optical Character Recognition (OCR)
Digit recognition, AT&T labs
http://www.research.att.com/~yann/
License plate readers
http://en.wikipedia.org/wiki/Automatic_number_plate_recognition
• Technology to convert scanned docs to text
• If you have a scanner, it probably came with OCR software
Slide credit: Steve Seitz
Computer vision in sports
Hawk-Eye: helping/improving referee decisions
Computer vision in sports
SportVision: improving viewer experiences
Computer vision in sports
Replay Technologies: improving viewer experiences
Computer vision in sports
Play tracking
Computer vision in sports
Second Spectrum: visual analytics
Visual recognition for photo organization
Google photo
Matching street clothing photos in online Shops
Street2shop, ICCV 2015
3D scanner from a mobile camera
MobileFusion
Earth viewers (3D modeling)
Image from Microsoft’s Virtual Earth
(see also: Google Earth)
Slide credit: Steve Seitz
3D from thousands of images
Building Rome in a Day: Agarwal et al. 2009
3D from thousands of images
[Furukawa et al. CVPR 2010]
Microsoft PhotoSynth: Photo Tourism
MS PhotoSynth in CSI
Indoor Scene Reconstruction
Structured Indoor Modeling, ICCV2015
Tour into picture
Adobe Affer Effect
First-person Hyperlapse Videos
[Kopf et al. SIGGRAPH 2014]
3D Time-lapse from Internet Photos
3D Time-lapse from Internet Photos, ICCV 2015
Special effects: matting and composition
Kylie Minogue - Come Into My World
Style transfer
A Neural Algorithm of Artistic Style [Gatys et al. 2015]
Target image (Content)Source image (Style) Output (deepart)
The Matrix movies, ESC Entertainment, XYZRGB, NRC
Special effects: shape capture
Slide credit: Steve Seitz
Pirates of the Carribean, Industrial Light and Magic
Special effects: motion capture
Slide credit: Steve Seitz
Google cars
Google in talks with Ford, Toyota and Volkswagen to realise driverless cars
http://www.theatlantic.com/technology/archive/2014/05/all-the-world-a-track-
the-trick-that-makes-googles-self-driving-cars-work/370871/
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
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
http://www.automationworld.com/computer-vision-opportunity-or-threat
Mobile robots
http://www.robocup.org/NASA’s Mars Spirit Rover
Saxena et al. 2008
STAIR at Stanford
http://www.youtube.com/w
atch?v=DF39Ygp53mQ
Medical imaging
Image guided surgery
Grimson et al., MIT3D imaging
MRI, CT
Computer vision for healthcare
BiliCam, Ubicomp 2014
Computer vision for healthcare
Autism Screening
Computer vision for healthcare
Video magnification
Computer vision for the mass
Counting cells
Analyzing social effects of green space
20-mins coffee break
Fundamentals of Computer Vision
• Light
– What an image records
• Matching
– How to measure the similarity of two regions
• Alignment
– How to align points/patches
– How to recover transformation parameters based on matched points
• Geometry
– How to relate world coordinates and image coordinates
• Grouping
– What points/regions/lines belong together?
• Categorization
– What similarities are important?
Slide credit: Derek Hoiem
Image Formation
Digital camera
A digital camera replaces film with a sensor array
• Each cell in the array is light-sensitive diode that converts photons to electrons
• Two common types:
• Charge Coupled Device (CCD): larger yet slower, better quality
• Complementary Metal Oxide Semiconductor (CMOS): high bandwidth, lower quality
• http://electronics.howstuffworks.com/digital-camera.htm
Slide by Steve Seitz
Sensor Array
CMOS sensor
CCD sensor
0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99
0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91
0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92
0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95
0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85
0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33
0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74
0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93
0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99
0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97
0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93
Perception of Intensity
from Ted Adelson
• A is brighter?
• B is brighter?
• They are equally bright
Perception of Intensity
from Ted Adelson
Digital Color Images
Color Image R
G
B
Image filtering
• Linear filtering: function is a weighted sum/difference of pixel
values
• Really important!
• Enhance images
• Denoise, smooth, increase contrast, etc.
• Extract information from images
• Texture, edges, distinctive points, etc.
• Detect patterns
• Template matching
111
111
111
Slide credit: David Lowe (UBC)
],[g 
Example: box filter
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0
Credit: S. Seitz
],[],[],[
,
lnkmflkgnmh
lk
 
[.,.]h[.,.]f
Image filtering
111
111
111
],[g 
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
[.,.]h[.,.]f
Image filtering
111
111
111
],[g 
Credit: S. Seitz
],[],[],[
,
lnkmflkgnmh
lk
 
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 10 20
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
[.,.]h[.,.]f
Image filtering
111
111
111
],[g 
Credit: S. Seitz
],[],[],[
,
lnkmflkgnmh
lk
 
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 10 20 30
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
[.,.]h[.,.]f
Image filtering
111
111
111
],[g 
Credit: S. Seitz
],[],[],[
,
lnkmflkgnmh
lk
 
0 10 20 30 30
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
[.,.]h[.,.]f
Image filtering
111
111
111
],[g 
Credit: S. Seitz
],[],[],[
,
lnkmflkgnmh
lk
 
0 10 20 30 30
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
[.,.]h[.,.]f
Image filtering
111
111
111
],[g 
Credit: S. Seitz
?
],[],[],[
,
lnkmflkgnmh
lk
 
0 10 20 30 30
50
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
[.,.]h[.,.]f
Image filtering
111
111
111
],[g 
Credit: S. Seitz
?
],[],[],[
,
lnkmflkgnmh
lk
 
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 10 20 30 30 30 20 10
0 20 40 60 60 60 40 20
0 30 60 90 90 90 60 30
0 30 50 80 80 90 60 30
0 30 50 80 80 90 60 30
0 20 30 50 50 60 40 20
10 20 30 30 30 30 20 10
10 10 10 0 0 0 0 0
[.,.]h[.,.]f
Image filtering
111
111
111
],[g 
Credit: S. Seitz
],[],[],[
,
lnkmflkgnmh
lk
 
What does it do?
• Replaces each pixel with an
average of its neighborhood
• Achieve smoothing effect
(remove sharp features)
111
111
111
Slide credit: David Lowe (UBC)
],[g 
Box Filter
Smoothing with box filter
Practice with linear filters
000
010
000
Original
?
Source: D. Lowe
Practice with linear filters
000
010
000
Original Filtered
(no change)
Source: D. Lowe
Practice with linear filters
000
100
000
Original
?
Source: D. Lowe
Practice with linear filters
000
100
000
Original Shifted left
By 1 pixel
Source: D. Lowe
Practice with linear filters
Original
111
111
111
000
020
000
- ?
(Note that filter sums to 1)
Source: D. Lowe
Practice with linear filters
Original
111
111
111
000
020
000
-
Sharpening filter
- Accentuates differences with local
average
Source: D. Lowe
Sharpening
Source: D. Lowe
Other filters
-101
-202
-101
Vertical Edge
(absolute value)
Sobel
Other filters
-1-2-1
000
121
Horizontal Edge
(absolute value)
Sobel
Basic gradient filters
000
10-1
000
010
000
0-10
10-1
or
Horizontal Gradient Vertical Gradient
1
0
-1
or
Demo - image filtering
Correspondence and alignment
• Correspondence: matching points, patches, edges, or regions across
images
≈
Correspondence and alignment
• Alignment: solving the transformation that makes two things match
better
A
Example: fitting an 2D shape template
Slide from Silvio Savarese
Example: fitting a 3D object model
Slide from Silvio Savarese
Example: estimating “fundamental matrix” that
corresponds two views
Slide from Silvio Savarese
Example: tracking points
frame 0 frame 22 frame 49
x x
x
Overview of Keypoint Matching
K. Grauman, B. Leibe
Af Bf
A1
A2 A3
Tffd BA ),(
1. Find a set of
distinctive key-points
3. Extract and normalize
the region content
2. Define a region around
each keypoint
4. Compute a local descriptor
from the normalized region
5. Match local descriptors
Goals for Keypoints
Detect points that are repeatable and distinctive
Key trade-offs
More Repeatable More Points
A1
A2 A3
Detection
More Distinctive More Flexible
Description
Robust to occlusion
Works with less texture
Minimize wrong matches Robust to expected variations
Maximize correct matches
Robust detection
Precise localization
Choosing interest points
Where would you tell your
friend to meet you?
Choosing interest points
Where would you tell your
friend to meet you?
Local Descriptors: SIFT Descriptor
[Lowe, ICCV 1999]
Histogram of oriented
gradients
• Captures important texture
information
• Robust to small translations /
affine deformations
K. Grauman, B. Leibe
Examples of recognized objects
Demo – interest point detection
Single-view Geometry
How tall is this woman?
Which ball is closer?
How high is the camera?
What is the camera
rotation?
What is the focal length of
the camera?
Single-view Geometry
Mapping between image and world coordinates
• Pinhole camera model
• Projective geometry
• Vanishing points and lines
• Projection matrix
Image formation
Let’s design a camera
– Idea 1: put a piece of film in front of an object
– Do we get a reasonable image?
Slide credit: Steve Seitz
Pinhole camera
Idea 2: add a barrier to block off most of the rays
• This reduces blurring
• The opening known as the aperture
Slide credit: Steve Seitz
Pinhole camera
Figure from David Forsyth
f
f = focal length
c = center of the camera
c
Figures © Stephen E. Palmer, 2002
Dimensionality Reduction Machine (3D to 2D)
Point of observation
3D world 2D image
Projection can be tricky…
Slide source: Seitz
Projection can be tricky…
Slide source: Seitz
Making of 3D sidewalk art: http://www.youtube.com/watch?v=3SNYtd0Ayt0
Vanishing points and lines
Parallel lines in the world intersect in the image at a “vanishing point”
Vanishing points and lines
Vanishing
point
Vanishing
line
Vanishing
point
Vertical vanishing
point
(at infinity)
Slide from Efros, Photo from Criminisi
Comparing heights
Vanishing
Point
Slide by Steve Seitz
142
Measuring height
1
2
3
4
5
5.3
2.8
3.3
Camera height
Slide by Steve Seitz
143
Image Stitching
• Combine two or more overlapping images to make one larger image
Add example
Slide credit: Vaibhav Vaish
Illustration
Camera Center
RANSAC for Homography
Initial Matched Points
Final Matched Points
RANSAC for Homography
RANSAC for Homography
Bundle Adjustment
• New images initialised with rotation, focal length of best matching
image
Bundle Adjustment
• New images initialised with rotation, focal length of best matching
image
Details to make it look good
• Choosing seams
• Blending
Choosing seams
• Better method: dynamic program to find seam along well-matched
regions
Illustration: http://en.wikipedia.org/wiki/File:Rochester_NY.jpg
Gain compensation
• Simple gain adjustment
• Compute average RGB intensity of each image in overlapping region
• Normalize intensities by ratio of averages
Multi-band Blending
• Burt & Adelson 1983
• Blend frequency bands over range  l
Blending comparison (IJCV 2007)
Demo – feature matching and image stitching
Depth from Stereo
• Goal: recover depth by finding image coordinate x’ that corresponds
to x
f
x x’
Baseline
B
z
C C’
X
f
X
x
x'
Correspondence Problem
• We have two images taken from cameras with different intrinsic and extrinsic
parameters
• How do we match a point in the first image to a point in the second? How can
we constrain our search?
x ?
Potential matches for x have to lie on the corresponding line l’.
Potential matches for x’ have to lie on the corresponding line l.
Key idea: Epipolar constraint
x x’
X
x’
X
x’
X
Basic stereo matching algorithm
•If necessary, rectify the two stereo images to transform epipolar lines into
scanlines
•For each pixel x in the first image
• Find corresponding epipolar scanline in the right image
• Search the scanline and pick the best match x’
• Compute disparity x-x’ and set depth(x) = fB/(x-x’)
800 most confident matches among
10,000+ local features.
Epipolar lines
Keep only the matches at are “inliers” with
respect to the “best” fundamental matrix
The Fundamental Matrix Song
5-mins break
What do you see in this image?
Can I put stuff in it?
Forest
Trees
Bear
Man
Rabbit Grass
Camera
Describe, predict, or interact with the
object based on visual cues
Is it alive?
Is it dangerous?
How fast does it run? Is it soft?
Does it have a tail? Can I poke with it?
Why do we care about categories?
• From an object’s category, we can make predictions about its behavior in the future,
beyond of what is immediately perceived.
• Pointers to knowledge
• Help to understand individual cases not previously encountered
• Communication
Image categorization: Fine-grained recognition
Visipedia Project
Place recognition
Places Database [Zhou et al. NIPS 2014]
Image style recognition
[Karayev et al. BMVC 2014]
Training phase
Training
Labels
Training
Images
Classifier
Training
Training
Image
Features
Trained
Classifier
Testing phase
Training
Labels
Training
Images
Classifier
Training
Training
Image
Features
Image
Features
Testing
Test Image
Trained
Classifier
Outdoor
PredictionTrained
Classifier
Q: What are good features for…
• recognizing a beach?
Q: What are good features for…
• recognizing cloth fabric?
Q: What are good features for…
• recognizing a mug?
What are the right features?
Depend on what you want to know!
• Object: shape
• Local shape info, shading, shadows, texture
• Scene : geometric layout
• linear perspective, gradients, line segments
• Material properties: albedo, feel, hardness
• Color, texture
• Action: motion
• Optical flow, tracked points
“Shallow” vs. “deep” architectures
Hand-designed
feature extraction
Trainable
classifier
Image/ Video
Pixels Object
Class
Layer 1 Layer N
Simple
classifier
Object
Class
Image/ Video
Pixels
Traditional recognition: “Shallow” architecture
Deep learning: “Deep” architecture
…
Object Detection
Search by Sliding Window Detector
• May work well for rigid objects
• Key idea: simple alignment for simple deformations
Object or
Background?
Object Detection
Search by Parts-based model
• Key idea: more flexible alignment for articulated objects
• Defined by models of part appearance, geometry or spatial layout,
and search algorithm
Demo – face detection and alignment
Vision as part of an intelligent system
3D Scene
Feature
Extraction
Interpretation
Action
Texture Color
Optical
Flow
Stereo
Disparity
Grouping Surfaces
Bits of
objects
Sense of
depth
Objects
Agents
and goals
Shapes and
properties
Open
paths
Words
Walk, touch, contemplate, smile, evade, read on, pick up, …
Motion
patterns
Well-Established
(patch matching)
Major Progress
(pattern matching++)
New Opportunities
(interpretation/tasks)
Multi-view Geometry
Face Detection/Recognition
Object Tracking / Flow
Category Detection
Human Pose
3D Scene Layout Vision for Robots
Life-long Learning
Entailment/Prediction
Slide credit: Derek Hoiem
This course has provided fundamentals
• What is computer vision?
• Examples of computer vision applications
• Basic principles of computer vision:
• Image formation
• Filtering
• Correspondence and alignment
• Geometry
• Recognition.
How do you learn more?
Explore!
Resources – where to learn more
• Awesome Computer Vision
• A curated list of awesome computer vision resources
• Computer Vision Taiwanese Group
• > 2,200 members in facebook
• Videolectures and ML&CV Talks
• Lectures, Keynotes, Panel Discussions
• OpenCV – C++/Python/Java
Thank You!
Image: www.clubtuzki.com

More Related Content

What's hot

What is computer vision?
What is computer vision?What is computer vision?
What is computer vision?Qentinel
 
Introduction to Computer Vision.pdf
Introduction to Computer Vision.pdfIntroduction to Computer Vision.pdf
Introduction to Computer Vision.pdfKnoldus Inc.
 
AI Computer vision
AI Computer visionAI Computer vision
AI Computer visionKashafnaz2
 
Machine learning in image processing
Machine learning in image processingMachine learning in image processing
Machine learning in image processingData Science Thailand
 
Object tracking presentation
Object tracking  presentationObject tracking  presentation
Object tracking presentationMrsShwetaBanait1
 
An Introduction to Image Processing and Artificial Intelligence
An Introduction to Image Processing and Artificial IntelligenceAn Introduction to Image Processing and Artificial Intelligence
An Introduction to Image Processing and Artificial IntelligenceWasif Altaf
 
Computer vision, machine, and deep learning
Computer vision, machine, and deep learningComputer vision, machine, and deep learning
Computer vision, machine, and deep learningIgi Ardiyanto
 
A Brief History of Object Detection / Tommi Kerola
A Brief History of Object Detection / Tommi KerolaA Brief History of Object Detection / Tommi Kerola
A Brief History of Object Detection / Tommi KerolaPreferred Networks
 
Computer Vision image classification
Computer Vision image classificationComputer Vision image classification
Computer Vision image classificationWael Badawy
 
IEEE EED2021 AI use cases in Computer Vision
IEEE EED2021 AI use cases in Computer VisionIEEE EED2021 AI use cases in Computer Vision
IEEE EED2021 AI use cases in Computer VisionSAMeh Zaghloul
 
Introduction to object detection
Introduction to object detectionIntroduction to object detection
Introduction to object detectionBrodmann17
 
Real Time Object Detection System with YOLO and CNN Models: A Review
Real Time Object Detection System with YOLO and CNN Models: A ReviewReal Time Object Detection System with YOLO and CNN Models: A Review
Real Time Object Detection System with YOLO and CNN Models: A ReviewSpringer
 
Computer Vision Basics
Computer Vision BasicsComputer Vision Basics
Computer Vision BasicsSuren Kumar
 

What's hot (20)

What is computer vision?
What is computer vision?What is computer vision?
What is computer vision?
 
Object tracking
Object trackingObject tracking
Object tracking
 
Introduction to Computer Vision.pdf
Introduction to Computer Vision.pdfIntroduction to Computer Vision.pdf
Introduction to Computer Vision.pdf
 
Object Recognition
Object RecognitionObject Recognition
Object Recognition
 
AI Computer vision
AI Computer visionAI Computer vision
AI Computer vision
 
Machine learning in image processing
Machine learning in image processingMachine learning in image processing
Machine learning in image processing
 
Computer vision ppt
Computer vision pptComputer vision ppt
Computer vision ppt
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 
Object tracking presentation
Object tracking  presentationObject tracking  presentation
Object tracking presentation
 
Computer vision
Computer visionComputer vision
Computer vision
 
An Introduction to Image Processing and Artificial Intelligence
An Introduction to Image Processing and Artificial IntelligenceAn Introduction to Image Processing and Artificial Intelligence
An Introduction to Image Processing and Artificial Intelligence
 
Computer vision, machine, and deep learning
Computer vision, machine, and deep learningComputer vision, machine, and deep learning
Computer vision, machine, and deep learning
 
A Brief History of Object Detection / Tommi Kerola
A Brief History of Object Detection / Tommi KerolaA Brief History of Object Detection / Tommi Kerola
A Brief History of Object Detection / Tommi Kerola
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
Computer Vision image classification
Computer Vision image classificationComputer Vision image classification
Computer Vision image classification
 
IEEE EED2021 AI use cases in Computer Vision
IEEE EED2021 AI use cases in Computer VisionIEEE EED2021 AI use cases in Computer Vision
IEEE EED2021 AI use cases in Computer Vision
 
Introduction to object detection
Introduction to object detectionIntroduction to object detection
Introduction to object detection
 
Object detection
Object detectionObject detection
Object detection
 
Real Time Object Detection System with YOLO and CNN Models: A Review
Real Time Object Detection System with YOLO and CNN Models: A ReviewReal Time Object Detection System with YOLO and CNN Models: A Review
Real Time Object Detection System with YOLO and CNN Models: A Review
 
Computer Vision Basics
Computer Vision BasicsComputer Vision Basics
Computer Vision Basics
 

Similar to Computer Vision Crash Course

Similar to Computer Vision Crash Course (20)

Computer Vision Crash Course
Computer Vision Crash CourseComputer Vision Crash Course
Computer Vision Crash Course
 
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
 
Overview of Computer Vision For Footwear Industry
Overview of Computer Vision For Footwear IndustryOverview of Computer Vision For Footwear Industry
Overview of Computer Vision For Footwear Industry
 
Computer vision
Computer visionComputer vision
Computer vision
 
Introduction
IntroductionIntroduction
Introduction
 
ICS1020 CV
ICS1020 CVICS1020 CV
ICS1020 CV
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
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
 
Computer vision - Applications and Trends
Computer vision - Applications and TrendsComputer vision - Applications and Trends
Computer vision - Applications and Trends
 
vision-1.ppt
vision-1.pptvision-1.ppt
vision-1.ppt
 
Introduction talk to Computer Vision
Introduction talk to Computer Vision Introduction talk to Computer Vision
Introduction talk to Computer Vision
 
1.pdf
1.pdf1.pdf
1.pdf
 
Lecture No. 1 introduction.pptx
Lecture No. 1 introduction.pptxLecture No. 1 introduction.pptx
Lecture No. 1 introduction.pptx
 
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
 

More from 台灣資料科學年會

[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 人工智慧技術發展與應用[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 人工智慧技術發展與應用台灣資料科學年會
 
[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 執行長報告[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 執行長報告台灣資料科學年會
 
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰台灣資料科學年會
 
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機台灣資料科學年會
 
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機台灣資料科學年會
 
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話台灣資料科學年會
 
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇台灣資料科學年會
 
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察 [TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察 台灣資料科學年會
 
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵台灣資料科學年會
 
[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 從經濟學看人工智慧產業應用[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 從經濟學看人工智慧產業應用台灣資料科學年會
 
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告台灣資料科學年會
 
[台中分校] 第一期結業典禮 - 執行長談話
[台中分校] 第一期結業典禮 - 執行長談話[台中分校] 第一期結業典禮 - 執行長談話
[台中分校] 第一期結業典禮 - 執行長談話台灣資料科學年會
 
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人台灣資料科學年會
 
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維台灣資料科學年會
 
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察台灣資料科學年會
 
[TOxAIA新竹分校] 深度學習與Kaggle實戰
[TOxAIA新竹分校] 深度學習與Kaggle實戰[TOxAIA新竹分校] 深度學習與Kaggle實戰
[TOxAIA新竹分校] 深度學習與Kaggle實戰台灣資料科學年會
 
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT台灣資料科學年會
 
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達台灣資料科學年會
 
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳台灣資料科學年會
 

More from 台灣資料科學年會 (20)

[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 人工智慧技術發展與應用[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 人工智慧技術發展與應用
 
[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 執行長報告[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 執行長報告
 
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
 
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
 
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
 
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
 
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
 
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察 [TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
 
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
 
[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 從經濟學看人工智慧產業應用[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 從經濟學看人工智慧產業應用
 
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
 
台灣人工智慧學校成果發表會
台灣人工智慧學校成果發表會台灣人工智慧學校成果發表會
台灣人工智慧學校成果發表會
 
[台中分校] 第一期結業典禮 - 執行長談話
[台中分校] 第一期結業典禮 - 執行長談話[台中分校] 第一期結業典禮 - 執行長談話
[台中分校] 第一期結業典禮 - 執行長談話
 
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
 
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
 
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
 
[TOxAIA新竹分校] 深度學習與Kaggle實戰
[TOxAIA新竹分校] 深度學習與Kaggle實戰[TOxAIA新竹分校] 深度學習與Kaggle實戰
[TOxAIA新竹分校] 深度學習與Kaggle實戰
 
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
 
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
 
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Computer Vision Crash Course

  • 1. Computer Vision Crash Course Jia-Bin Huang University of Illinois, Urbana-Champaign www.jiabinhuang.com Jan 12, 2016
  • 2. Overview • A little about me • Introduction to Computer Vision === Intermission === • Fundamentals and Applications • Resources
  • 3. About me • Born in Kaohsiung, raised in Taipei
  • 4. About me National Chiao-Tung University B.S. in EE IIS, Academia Sinica Research Assistant UIUC Ph.D. in ECE (Expected summer 2016) UC, Merced Visiting Student Microsoft Research Research Intern 2012, 2013 Disney Research Research Intern 2014
  • 5. My research: Computational Photography Image Completion Image super-resolution
  • 6. My Research: Video-based Bird Migration Monitoring
  • 7. My Research: Visual Tracking Object Tracking Multi-face Tracking
  • 8. What is Computer Vision? • Make computers understand images and videos. • What kind of scene? • Where are the cars? • How far is the building?
  • 9. What is Computer Vision? • Make computers understand images and videos. • What are they doing? • Why is this happening? • What is important? • What will I see?
  • 10. Computer Vision and Nearby Fields Images (2D) Geometry (3D) Shape Photometry Appearance Digital Image Processing Computational Photography Computer Graphics Computer Vision Machine learning: Vision = Machine learning applied to visual data
  • 11. Visual data on the Internet • Flickr • 10+ billion photographs • 60 million images uploaded a month • Facebook • 250 billion+ • 300 million a day • Instagram • 55 million a day • YouTube • 100 hours uploaded every minute 90% of net traffic will be visual! Mostly about cats
  • 12. Too big for humans • Need automatic tools to access and analyze visual data! http://www.petittube.com/
  • 14. Vision is Really Hard • Vision is an amazing feature 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?
  • 15. Why is Computer Vision Hard?
  • 16. Why is Computer Vision Hard?
  • 17. What did you see? • Where this picture was taken? • How many people are there? • What are they doing? • What object the person on the left standing on? • Why this is a funny picture?
  • 18. Why is Computer Vision Hard?
  • 19. Why is Computer Vision Hard?
  • 20. Why is Computer Vision Hard?
  • 21. Why is Computer Vision Hard?
  • 22. Why is Computer Vision Hard?
  • 23. Why is Computer Vision Hard?
  • 24. Computer: okay, it’s a funny picture
  • 25. Computer Vision Matters Safety Health Security Comfort AccessFun
  • 26. History of Computer Vision Marvin Minsky, MIT Turing award, 1969 “In 1966, Minsky hired a first-year undergraduate student and assigned him a problem to solve over the summer: connect a camera to a computer and get the machine to describe what it sees.” Crevier 1993, pg. 88
  • 27. Half a century later, we're still working on it.
  • 28. History of Computer Vision Marvin Minsky, MIT Turing award, 1969 Gerald Sussman, MIT “You’ll notice that Sussman never worked in vision again!” – Berthold Horn
  • 29. 1960’s: interpretation of synthetic worlds Larry Roberts “Father of Computer Vision” Larry Roberts PhD Thesis, MIT, 1963, Machine Perception of Three-Dimensional Solids Input image 2x2 gradient operator computed 3D model rendered from new viewpoint Slide credit: Steve Seitz
  • 30. 1970’s: some progress on interpreting selected images The representation and matching of pictorial structures Fischler and Elschlager, 1973
  • 31. 1970’s: some progress on interpreting selected images The representation and matching of pictorial structures Fischler and Elschlager, 1973
  • 32. 1980’s: ANNs come and go; shift toward geometry and increased mathematical rigor Image credit: Rick Szeliski
  • 34. 1990’s: face recognition; statistical analysis in vogue Image credit: Rick Szeliski
  • 35. 2000’s: broader recognition; large annotated datasets available; video processing starts Image credit: Rick Szeliski
  • 36. 2010’s: resurgence of deep learning [AlexNet NIPS 2012] [DeepFace CVPR 2014] [DeepPose CVPR 2014] [Show, Attend and Tell ICML 2015]
  • 40. Examples of Computer Vision Applications • How is computer vision used today?
  • 41. Face detection • Most digital cameras and smart phones detect faces (and more) • Canon, Sony, Fuji, … • For smart focus, exposure compensation, and cropping Slide credit: Steve Seitz
  • 43. Face Landmark Alignment TAAZ.com: Virtual makeover Face morphing Jia-Bin Huang Miss Daegu 2013 Contestants Face Morphing
  • 44. Face Landmark Alignment- Pose Estimation Pitch: ~ 15 degree Yaw: ~ +20, -20 degree Jia-Bin Huang What's the Best Pose for a Selfie?
  • 45. Face Landmark Alignment – 3D Persona What Makes Tom Hanks Look Like Tom Hanks ICCV 2015
  • 47. Smile Detection Sony Cyber-shot® T70 Digital Still Camera Slide credit: Steve Seitz
  • 48. Eye contact detection Gaze locking, UIST 2013
  • 49. Vision-based Biometrics “How the Afghan Girl was Identified by Her Iris Patterns” Read the story wikipedia Slide credit: Steve Seitz
  • 51. Optical Character Recognition (OCR) Digit recognition, AT&T labs http://www.research.att.com/~yann/ License plate readers http://en.wikipedia.org/wiki/Automatic_number_plate_recognition • Technology to convert scanned docs to text • If you have a scanner, it probably came with OCR software Slide credit: Steve Seitz
  • 52. Computer vision in sports Hawk-Eye: helping/improving referee decisions
  • 53. Computer vision in sports SportVision: improving viewer experiences
  • 54. Computer vision in sports Replay Technologies: improving viewer experiences
  • 55. Computer vision in sports Play tracking
  • 56. Computer vision in sports Second Spectrum: visual analytics
  • 57. Visual recognition for photo organization Google photo
  • 58. Matching street clothing photos in online Shops Street2shop, ICCV 2015
  • 59. 3D scanner from a mobile camera MobileFusion
  • 60. Earth viewers (3D modeling) Image from Microsoft’s Virtual Earth (see also: Google Earth) Slide credit: Steve Seitz
  • 61. 3D from thousands of images Building Rome in a Day: Agarwal et al. 2009
  • 62. 3D from thousands of images [Furukawa et al. CVPR 2010]
  • 65. Indoor Scene Reconstruction Structured Indoor Modeling, ICCV2015
  • 66. Tour into picture Adobe Affer Effect
  • 67. First-person Hyperlapse Videos [Kopf et al. SIGGRAPH 2014]
  • 68. 3D Time-lapse from Internet Photos 3D Time-lapse from Internet Photos, ICCV 2015
  • 69. Special effects: matting and composition Kylie Minogue - Come Into My World
  • 70. Style transfer A Neural Algorithm of Artistic Style [Gatys et al. 2015] Target image (Content)Source image (Style) Output (deepart)
  • 71. The Matrix movies, ESC Entertainment, XYZRGB, NRC Special effects: shape capture Slide credit: Steve Seitz
  • 72. Pirates of the Carribean, Industrial Light and Magic Special effects: motion capture Slide credit: Steve Seitz
  • 73. Google cars Google in talks with Ford, Toyota and Volkswagen to realise driverless cars http://www.theatlantic.com/technology/archive/2014/05/all-the-world-a-track- the-trick-that-makes-googles-self-driving-cars-work/370871/
  • 74. 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
  • 75. 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.
  • 76. Industrial robots Vision-guided robots position nut runners on wheels http://www.automationworld.com/computer-vision-opportunity-or-threat
  • 77. Mobile robots http://www.robocup.org/NASA’s Mars Spirit Rover Saxena et al. 2008 STAIR at Stanford http://www.youtube.com/w atch?v=DF39Ygp53mQ
  • 78. Medical imaging Image guided surgery Grimson et al., MIT3D imaging MRI, CT
  • 79. Computer vision for healthcare BiliCam, Ubicomp 2014
  • 80. Computer vision for healthcare Autism Screening
  • 81. Computer vision for healthcare Video magnification
  • 82. Computer vision for the mass Counting cells Analyzing social effects of green space
  • 84. Fundamentals of Computer Vision • Light – What an image records • Matching – How to measure the similarity of two regions • Alignment – How to align points/patches – How to recover transformation parameters based on matched points • Geometry – How to relate world coordinates and image coordinates • Grouping – What points/regions/lines belong together? • Categorization – What similarities are important? Slide credit: Derek Hoiem
  • 86. Digital camera A digital camera replaces film with a sensor array • Each cell in the array is light-sensitive diode that converts photons to electrons • Two common types: • Charge Coupled Device (CCD): larger yet slower, better quality • Complementary Metal Oxide Semiconductor (CMOS): high bandwidth, lower quality • http://electronics.howstuffworks.com/digital-camera.htm Slide by Steve Seitz
  • 88.
  • 89. 0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99 0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91 0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92 0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95 0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85 0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33 0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74 0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93 0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99 0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97 0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93
  • 90. Perception of Intensity from Ted Adelson • A is brighter? • B is brighter? • They are equally bright
  • 94. Image filtering • Linear filtering: function is a weighted sum/difference of pixel values • Really important! • Enhance images • Denoise, smooth, increase contrast, etc. • Extract information from images • Texture, edges, distinctive points, etc. • Detect patterns • Template matching
  • 95. 111 111 111 Slide credit: David Lowe (UBC) ],[g  Example: box filter
  • 96. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Credit: S. Seitz ],[],[],[ , lnkmflkgnmh lk   [.,.]h[.,.]f Image filtering 111 111 111 ],[g 
  • 97. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [.,.]h[.,.]f Image filtering 111 111 111 ],[g  Credit: S. Seitz ],[],[],[ , lnkmflkgnmh lk  
  • 98. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [.,.]h[.,.]f Image filtering 111 111 111 ],[g  Credit: S. Seitz ],[],[],[ , lnkmflkgnmh lk  
  • 99. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [.,.]h[.,.]f Image filtering 111 111 111 ],[g  Credit: S. Seitz ],[],[],[ , lnkmflkgnmh lk  
  • 100. 0 10 20 30 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [.,.]h[.,.]f Image filtering 111 111 111 ],[g  Credit: S. Seitz ],[],[],[ , lnkmflkgnmh lk  
  • 101. 0 10 20 30 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [.,.]h[.,.]f Image filtering 111 111 111 ],[g  Credit: S. Seitz ? ],[],[],[ , lnkmflkgnmh lk  
  • 102. 0 10 20 30 30 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [.,.]h[.,.]f Image filtering 111 111 111 ],[g  Credit: S. Seitz ? ],[],[],[ , lnkmflkgnmh lk  
  • 103. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 90 0 90 90 90 0 0 0 0 0 90 90 90 90 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 30 30 30 20 10 0 20 40 60 60 60 40 20 0 30 60 90 90 90 60 30 0 30 50 80 80 90 60 30 0 30 50 80 80 90 60 30 0 20 30 50 50 60 40 20 10 20 30 30 30 30 20 10 10 10 10 0 0 0 0 0 [.,.]h[.,.]f Image filtering 111 111 111 ],[g  Credit: S. Seitz ],[],[],[ , lnkmflkgnmh lk  
  • 104. What does it do? • Replaces each pixel with an average of its neighborhood • Achieve smoothing effect (remove sharp features) 111 111 111 Slide credit: David Lowe (UBC) ],[g  Box Filter
  • 106. Practice with linear filters 000 010 000 Original ? Source: D. Lowe
  • 107. Practice with linear filters 000 010 000 Original Filtered (no change) Source: D. Lowe
  • 108. Practice with linear filters 000 100 000 Original ? Source: D. Lowe
  • 109. Practice with linear filters 000 100 000 Original Shifted left By 1 pixel Source: D. Lowe
  • 110. Practice with linear filters Original 111 111 111 000 020 000 - ? (Note that filter sums to 1) Source: D. Lowe
  • 111. Practice with linear filters Original 111 111 111 000 020 000 - Sharpening filter - Accentuates differences with local average Source: D. Lowe
  • 116. Demo - image filtering
  • 117. Correspondence and alignment • Correspondence: matching points, patches, edges, or regions across images ≈
  • 118. Correspondence and alignment • Alignment: solving the transformation that makes two things match better
  • 119. A Example: fitting an 2D shape template Slide from Silvio Savarese
  • 120. Example: fitting a 3D object model Slide from Silvio Savarese
  • 121. Example: estimating “fundamental matrix” that corresponds two views Slide from Silvio Savarese
  • 122. Example: tracking points frame 0 frame 22 frame 49 x x x
  • 123. Overview of Keypoint Matching K. Grauman, B. Leibe Af Bf A1 A2 A3 Tffd BA ),( 1. Find a set of distinctive key-points 3. Extract and normalize the region content 2. Define a region around each keypoint 4. Compute a local descriptor from the normalized region 5. Match local descriptors
  • 124. Goals for Keypoints Detect points that are repeatable and distinctive
  • 125. Key trade-offs More Repeatable More Points A1 A2 A3 Detection More Distinctive More Flexible Description Robust to occlusion Works with less texture Minimize wrong matches Robust to expected variations Maximize correct matches Robust detection Precise localization
  • 126. Choosing interest points Where would you tell your friend to meet you?
  • 127. Choosing interest points Where would you tell your friend to meet you?
  • 128. Local Descriptors: SIFT Descriptor [Lowe, ICCV 1999] Histogram of oriented gradients • Captures important texture information • Robust to small translations / affine deformations K. Grauman, B. Leibe
  • 130. Demo – interest point detection
  • 131. Single-view Geometry How tall is this woman? Which ball is closer? How high is the camera? What is the camera rotation? What is the focal length of the camera?
  • 132. Single-view Geometry Mapping between image and world coordinates • Pinhole camera model • Projective geometry • Vanishing points and lines • Projection matrix
  • 133. Image formation Let’s design a camera – Idea 1: put a piece of film in front of an object – Do we get a reasonable image? Slide credit: Steve Seitz
  • 134. Pinhole camera Idea 2: add a barrier to block off most of the rays • This reduces blurring • The opening known as the aperture Slide credit: Steve Seitz
  • 135. Pinhole camera Figure from David Forsyth f f = focal length c = center of the camera c
  • 136. Figures © Stephen E. Palmer, 2002 Dimensionality Reduction Machine (3D to 2D) Point of observation 3D world 2D image
  • 137. Projection can be tricky… Slide source: Seitz
  • 138. Projection can be tricky… Slide source: Seitz Making of 3D sidewalk art: http://www.youtube.com/watch?v=3SNYtd0Ayt0
  • 139. Vanishing points and lines Parallel lines in the world intersect in the image at a “vanishing point”
  • 140. Vanishing points and lines Vanishing point Vanishing line Vanishing point Vertical vanishing point (at infinity) Slide from Efros, Photo from Criminisi
  • 143.
  • 144. Image Stitching • Combine two or more overlapping images to make one larger image Add example Slide credit: Vaibhav Vaish
  • 146. RANSAC for Homography Initial Matched Points
  • 147. Final Matched Points RANSAC for Homography
  • 149. Bundle Adjustment • New images initialised with rotation, focal length of best matching image
  • 150. Bundle Adjustment • New images initialised with rotation, focal length of best matching image
  • 151. Details to make it look good • Choosing seams • Blending
  • 152. Choosing seams • Better method: dynamic program to find seam along well-matched regions Illustration: http://en.wikipedia.org/wiki/File:Rochester_NY.jpg
  • 153. Gain compensation • Simple gain adjustment • Compute average RGB intensity of each image in overlapping region • Normalize intensities by ratio of averages
  • 154. Multi-band Blending • Burt & Adelson 1983 • Blend frequency bands over range  l
  • 156.
  • 157. Demo – feature matching and image stitching
  • 158. Depth from Stereo • Goal: recover depth by finding image coordinate x’ that corresponds to x f x x’ Baseline B z C C’ X f X x x'
  • 159. Correspondence Problem • We have two images taken from cameras with different intrinsic and extrinsic parameters • How do we match a point in the first image to a point in the second? How can we constrain our search? x ?
  • 160. Potential matches for x have to lie on the corresponding line l’. Potential matches for x’ have to lie on the corresponding line l. Key idea: Epipolar constraint x x’ X x’ X x’ X
  • 161.
  • 162.
  • 163. Basic stereo matching algorithm •If necessary, rectify the two stereo images to transform epipolar lines into scanlines •For each pixel x in the first image • Find corresponding epipolar scanline in the right image • Search the scanline and pick the best match x’ • Compute disparity x-x’ and set depth(x) = fB/(x-x’)
  • 164. 800 most confident matches among 10,000+ local features.
  • 166. Keep only the matches at are “inliers” with respect to the “best” fundamental matrix
  • 169. What do you see in this image? Can I put stuff in it? Forest Trees Bear Man Rabbit Grass Camera
  • 170. Describe, predict, or interact with the object based on visual cues Is it alive? Is it dangerous? How fast does it run? Is it soft? Does it have a tail? Can I poke with it?
  • 171. Why do we care about categories? • From an object’s category, we can make predictions about its behavior in the future, beyond of what is immediately perceived. • Pointers to knowledge • Help to understand individual cases not previously encountered • Communication
  • 172. Image categorization: Fine-grained recognition Visipedia Project
  • 173. Place recognition Places Database [Zhou et al. NIPS 2014]
  • 174. Image style recognition [Karayev et al. BMVC 2014]
  • 177. Q: What are good features for… • recognizing a beach?
  • 178. Q: What are good features for… • recognizing cloth fabric?
  • 179. Q: What are good features for… • recognizing a mug?
  • 180. What are the right features? Depend on what you want to know! • Object: shape • Local shape info, shading, shadows, texture • Scene : geometric layout • linear perspective, gradients, line segments • Material properties: albedo, feel, hardness • Color, texture • Action: motion • Optical flow, tracked points
  • 181. “Shallow” vs. “deep” architectures Hand-designed feature extraction Trainable classifier Image/ Video Pixels Object Class Layer 1 Layer N Simple classifier Object Class Image/ Video Pixels Traditional recognition: “Shallow” architecture Deep learning: “Deep” architecture …
  • 182. Object Detection Search by Sliding Window Detector • May work well for rigid objects • Key idea: simple alignment for simple deformations Object or Background?
  • 183. Object Detection Search by Parts-based model • Key idea: more flexible alignment for articulated objects • Defined by models of part appearance, geometry or spatial layout, and search algorithm
  • 184. Demo – face detection and alignment
  • 185. Vision as part of an intelligent system 3D Scene Feature Extraction Interpretation Action Texture Color Optical Flow Stereo Disparity Grouping Surfaces Bits of objects Sense of depth Objects Agents and goals Shapes and properties Open paths Words Walk, touch, contemplate, smile, evade, read on, pick up, … Motion patterns
  • 186. Well-Established (patch matching) Major Progress (pattern matching++) New Opportunities (interpretation/tasks) Multi-view Geometry Face Detection/Recognition Object Tracking / Flow Category Detection Human Pose 3D Scene Layout Vision for Robots Life-long Learning Entailment/Prediction Slide credit: Derek Hoiem
  • 187. This course has provided fundamentals • What is computer vision? • Examples of computer vision applications • Basic principles of computer vision: • Image formation • Filtering • Correspondence and alignment • Geometry • Recognition.
  • 188. How do you learn more? Explore!
  • 189. Resources – where to learn more • Awesome Computer Vision • A curated list of awesome computer vision resources • Computer Vision Taiwanese Group • > 2,200 members in facebook • Videolectures and ML&CV Talks • Lectures, Keynotes, Panel Discussions • OpenCV – C++/Python/Java