This document provides an overview of a computer vision crash course. It begins with an agenda for the course that includes introductions, fundamentals of computer vision, and recent advances. It then discusses some of the challenges of computer vision and provides examples of computer vision applications such as face detection, recognition, tracking, hand tracking, biometrics, optical character recognition, computer vision in sports, scene reconstruction, and more. It also provides a brief history of the field and discusses some of the fundamentals including light, matching, alignment, geometry, grouping, and recognition.
1. Computer Vision Crash Course
Jia-Bin Huang
Electrical and Computer Engineering
Virginia Tech
2.
3. Today’s agenda
14:00 - 15:20 • A little about me
• Introduction to computer vision
15:20 - 15:40
• Coffee break
15:40 - 17:00
• Fundamentals of computer vision
• Recent advances
4. What this crash course is about?
• Learn cool applications in computer vision
• Understand the fundamentals
• light, geometry, matching, alignment, grouping, recognition
• Pointers to explore further
7. National Chiao-Tung University
B.S. in EE
IIS, Academia Sinica
Research Assistant
UIUC
Ph.D. in ECE 2016
UC, Merced
Visiting Student
Microsoft Research
Research Intern
2012, 2013
Disney Research
Research Intern 2014
8.
9. Quick facts
• Faculty members x 86
• IEEE Fellows x 31
• NAE Members x 4
• $34+ Million in annual
research
• Rank 19-21 (US News)
Area of Focus
• Computer Systems
• Networking
• VLSI and Design
Automation
• Software and Machine
Intelligence
10. Vision and Learning Lab @ Virginia Tech
Jinwoo Choi
PhD student
Badour AlBahar
MS student
Hao-Wei Yeh
(Univ. Tokyo)
Yen-Chen Lin
(NTHU)
Graduate students Visiting students (Summer 2017)
Open positions for PhD students and visiting students!
?
Alumni
Former undergrad students
• [Le, Zelun, JunYoung] Stanford x 3
• [Linjia, Sakshi, Danyang] UIUC x 3
• [Kevin] UC Berkeley x 1
• [Anarghya] Google x 1
Former student collaborators
• [Shun Zhang] Assistant Prof. at Northwestern Polytechnical Univ.
• [Chao Ma] Postdoc at University of Adelaide
• [Dong Li] Research Scientist at Face++
11. What we do?
Vision/learning/graphics
• Unsupervised learning
• Deep generative/predictive
modeling
• Computational photography
Applied, interdisciplinary research
• Visual sensing for ecology and conservation
• Interactive neurorehabilitation
18. What is Computer Vision?
• Make computers understand images and videos.
• Where is this?
• What are they doing?
• Why is this happening?
• What is important?
• What will I see?
19. 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
20.
21. 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
22. Too big for humans
• Need automatic tools to access and analyze visual data!
http://www.petittube.com/
24. 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?
27. 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?
36. 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
38. 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
39. 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
40. 1970’s: some progress on interpreting selected images
The representation and matching of pictorial structures
Fischler and Elschlager, 1973
41. 1970’s: some progress on interpreting selected images
The representation and matching of pictorial structures
Fischler and Elschlager, 1973
42. 1980’s: ANNs come and go; shift toward geometry
and increased mathematical rigor
Image credit: Rick Szeliski
51. 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
65. 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
87. The Matrix movies, ESC Entertainment, XYZRGB, NRC
Special effects: shape capture
Slide credit: Steve Seitz
88. Pirates of the Carribean, Industrial Light and Magic
Special effects: motion capture
Slide credit: Steve Seitz
89. 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/
91. 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.
99. Current state of the art
• Many of these are less than 5 years old
• Very active and exciting research area!
• To learn more about vision applications and companies
– David Lowe maintains an excellent overview of vision companies
• http://www.cs.ubc.ca/spider/lowe/vision.html
101. Fundamentals of Computer Vision
• Light
– What an image records
• Matching
– How to measure the similarity of two regions
• Alignment
– 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?
• Recognition
– What similarities are important?
Slide credit: Derek Hoiem
104. 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
112. 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
122. 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
142. 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
144. 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
147. 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
151. 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?
153. 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
154. 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
158. Projection can be tricky…
Slide source: Seitz
Making of 3D sidewalk art: http://www.youtube.com/watch?v=3SNYtd0Ayt0
159. Vanishing points and lines
Parallel lines in the world intersect in the image at a “vanishing point”
160. Vanishing points and lines
Vanishing
point
Vanishing
line
Vanishing
point
Vertical vanishing
point
(at infinity)
Slide from Efros, Photo from Criminisi
171. Choosing seams
• Better method: dynamic program to find seam along well-matched
regions
Illustration: http://en.wikipedia.org/wiki/File:Rochester_NY.jpg
172. Gain compensation
• Simple gain adjustment
• Compute average RGB intensity of each image in overlapping region
• Normalize intensities by ratio of averages
176. 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'
177. 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 ?
178. 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
179. 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’)
186. What do you see in this image?
Can I put stuff in it?
Forest
Trees
Bear
Man
Rabbit Grass
Camera
187. 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?
188. 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
194. Q: What are good features for…
• recognizing a beach?
195. Q: What are good features for…
• recognizing cloth fabric?
196. Q: What are good features for…
• recognizing a mug?
197. 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
198. • Image features: map images to feature space
• Classifiers: map feature space to label space
x x
x
x
x
x
x
x
o
o
o
o
o
x2
x1
x
xx
x
o
ooo
o
o
o
x x
x
x
x
x
x
x
o
o
o
o
o
x2
x1
x
xx
x
o
ooo
o
o
o
x x
x
x
x
x
x
x
o
o
o
o
o
x2
x1
x
xx
x
o
ooo
o
o
o
199. “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
…
201. Object Detection
Search by Sliding Window Detector
• May work well for rigid objects
• Key idea: simple alignment for simple deformations
Object or
Background?
202. 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
203. 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
204. 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
206. What do I see? Why is this happening?
What is important?
What will I see?
How can we learn about the world through vision?
How do we create/evaluate vision systems that adapt
to useful tasks?
208. Important open problems
• Algorithms: works pretty well perfect
• E.g., stereo: top of wish list from Pixar guy Micheal Kass
• Good directions:
• Incorporate higher level knowledge
209. Important open problems
• Spatial understanding: what is it doing? Or how do I do it?
Important questions:
• What are good representations of space for navigation and
interaction? What kind of details are important?
• How can we combine single-image cues with multi-view cues?
210. Important open problems
Object representation: what is it?
Important questions:
• How can we pose recognition so that it lets us deal with new objects?
• What do we want to predict or infer, and to what extent does that rely
on categorization?
• How do we transfer knowledge of one type of object to another?
211. Important problems
• Learning features and intermediate representations that
transfer to new tasks
Figure from http://www.datarobot.com/blog/a-primer-on-deep-learning/
212. Important open problems
• Almost everything is still unsolved!
• Robust 3D shape from multiple images
• Recognize objects (only faces and maybe cars is really
solved, thanks to tons of data)
• Caption images/video
• Predict intention
• Object segmentation
• Count objects in an image
• Estimate pose
• Recognize actions
• ….
213. 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.
215. Resources – where to learn more
• Awesome Computer Vision, Awesome Deep Vision
• A curated list of awesome computer vision resources
• Computer Vision Taiwanese Group
• > 3,000 members in facebook
• Videolectures and ML&CV Talks
• Lectures, Keynotes, Panel Discussions
• OpenCV – C++/Python/Java