35
Lecture 2: CS574 Aug 28, 2014 1

Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Embed Size (px)

Citation preview

Page 1: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Lecture 2: CS574

Aug 28, 2014

1

Page 2: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Review: Admin

• Enrollment– Larger room is not available so capacity cannot be expanded

• Grading– Assignments 30%, 2 exams 30% ea, participation 10% – Tentative Dates: Exam1:~Oct 14, note change from before;

Exam2: Dec 4, both during class periods• Pre-requisites

– Math: Calculus, analytical geometry, linear algebra, basic probability theory

– Programming in C/C++, data structures, basic algorithms• HW0 posted, no due date, no credit, will not be graded• Course material being posted on http://courses.uscden.net

2USC CS574: Computer Vision, Fall 2014

Page 3: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

3

Class Schedule• Professor needs to be on travel Sept 9, 11, 16• No classes on Sept 9 and 11• Additional classes on Fridays Aug 29 and Sep 5 to make up

– Time: A.M.;

– place Studio 100B (in a DEN studio)– Will be recorded for those unable to attend makeup in person

• Sept 16, regular class but taught by TA– Will cover use of OpenCV library, a key software component

• Regular schedule resumes Sept 18• Remember next class is tomorrow!

USC CS574: Computer Vision, Fall 2014

Page 4: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Class Schedule

• Professor needs to be on travel Sept 9, 11, 16• No classes on Sept 9 and 11• Additional classes on Fridays Aug 29 and Sep 5 to make up

– Friday Aug 29, 9:30-10:50 A.M., OHE 100B– Attendance not required– Will be recorded for those unable to attend makeup in person

• Sept 16, regular class but taught by TA– Will cover use of OpenCV library, a key software component

• Regular schedule resumes Sept 18

4USC CS574: Computer Vision, Fall 2014

Page 5: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Today’s Plan

• Challenges of Computer Vision• Survey of some recent successes• Start on understanding of Image Formation process

5USC CS574: Computer Vision, Fall 2014

Page 6: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

6

Why is Vision Hard?

• Seems easy to us, no conscious effort is needed by human viewers

• Small variations in human population in ability to see/perceive• Can’t we recognize objects based on “how they look”?

– Isn’t a pen (a chair) a pen (chair) because it looks like a pen (chair)?

– What does a pen (chair) look like?

USC CS574: Computer Vision, Fall 2014

Page 7: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Same Object Class?

7USC CS574: Computer Vision, Fall 2014

Page 8: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

8

Some Issues: Representation• What is representation of an object • Objects of same class can have large variations in shape, size,

color, material and other properties– Think about every day objects, such as chairs, coffee mugs,

telephones…• What is representation of an action (say throw an object)? • Same action can be performed in different ways by different

actors or even the same actor at different times or in different contexts

USC CS574: Computer Vision, Fall 2014

Page 9: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Viewpoint Change Examples

9USC CS574: Computer Vision, Fall 2014

Page 10: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Illumination Change Examples

10USC CS574: Computer Vision, Fall 2014

Page 11: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

11

Depth Ambiguity and Occlusions

• World is 3-D, images are 2-D– There is an inherent loss of information; process is not truly

invertible– Our perception of 3-D from single 2-D images must take

advantage of some regularities of the natural world• Occlusion is (almost) ever-present

– Objects occlude one another– Self-occlusion

USC CS574: Computer Vision, Fall 2014

Page 12: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Multiple Objects in a Scene

12USC CS574: Computer Vision, Fall 2014

Page 13: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Complexity

13USC CS574: Computer Vision, Fall 2014

How many objects in this image?

What can we say about each?

What can we say about this scene?

Page 14: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

14

Every picture tells a story

We would like to infer such stories, not just object relations

USC CS574: Computer Vision, Fall 2014

Page 15: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

15

Video Analysis

• Adds difficulties of detecting and tracking moving objects– If camera also moves, we need to distinguish between object and

background motion• We want to detect not only objects but also events in the video• Make inferences about the intentions/plans of actors• This course will cover motion analysis only briefly or not at all

(though motion analysis is the major topic of research in the USC vision group at this time).

USC CS574: Computer Vision, Fall 2014

Page 16: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Designing Perceptual Systems• No coherent, complete theory exists• Some considerations

– Directly from sensors to semantics?• Many successful applications do this, using Machine

learning techniques– Intermediate layers may help reduce complexity

• How to specify these layers? • Should they be “transparent” (to humans) or learned from

data?– How to make representations invariant to viewpoint,

occlusion, lighting changes etc.– How to account for noise and missing data?– What can we learn/borrow from biological vision?– How much will depth/range sensors help?

USC CS574: Computer Vision, Fall 2014 16

Page 17: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Topics to be studied in this class• Introduction (1 week)

Background, requirements and issues, human vision. • Image formation: geometry and photometry (2 weeks)

Geometry, brightness, quantization, camera calibration, photometry (brightness and color)

• Image segmentation (2 weeks)Region segmentation, Edge and line finding

• Multi-view Geometry (3 weeks)Shape from stereo and motion, feature matching, surface fitting, Active ranging

• Image classification(2 weeks)Pixel classification, region classification, face detection and identification

• Object Recognition(2 weeks)Alignment methods, Shape descriptions

• Motion analysis (1 week)Motion detection and tracking, Inference of human activity from image sequences

• Applications survey, Review (1 week)Industrial, navigation, mapping, multimedia

USC CS574: Computer Vision, Fall 2014 17

Page 18: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

18

Current state of the art

• The next slides show some examples of what current vision systems can do– Most taken from class page of Prof. Seitz/Szeliski

USC CS574: Computer Vision, Fall 2014

Page 19: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

19

Earth viewers (3D modeling)

Image from Microsoft’s Virtual Earth(see also: Google Earth)

USC CS574: Computer Vision, Fall 2014

Page 20: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

20

Photosynth

http://labs.live.com/photosynth/

Based on Photo Tourism technology

USC CS574: Computer Vision, Fall 2014

Page 21: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

21

Optical character recognition (OCR)

Digit recognition, AT&T labshttp://www.research.att.com/~yann/

• Technology to convert scanned docs to text– If you have a scanner, it probably came with OCR

software

License plate readershttp://en.wikipedia.org/wiki/Automatic_number_plate_recognition

Page 22: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

22

Face detection

• Most new digital cameras now detect faces

USC CS574: Computer Vision, Fall 2014

Page 23: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

23

Smile detection?

Sony Cyber-shot® T70 Digital Still Camera USC CS574: Computer Vision, Fall 2014

Page 24: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

24

Login without a password…

Fingerprint scanners on many new laptops,

other devices

Face recognition systems now beginning to appear more widely

http://www.sensiblevision.com/

USC CS574: Computer Vision, Fall 2014

Page 25: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

25

Object recognition (in mobile phones)

• This is becoming real:– Microsoft Research– Point & Find, Nokia

USC CS574: Computer Vision, Fall 2014

Page 26: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

26

The Matrix movies, ESC Entertainment, XYZRGB, NRC

Special effects: shape capture

USC CS574: Computer Vision, Fall 2014

Page 27: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

27

Sports

Sportvision first down lineNice explanation on www.howstuffworks.com

USC CS574: Computer Vision, Fall 2014

Page 28: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

28

Smart cars

• http://www.mobileye.com/• Vision systems currently in many medium to high-end

models

Slide content courtesy of Amnon Shashua

USC CS574: Computer Vision, Fall 2014

Page 29: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Pedestrian Detection

USC CS574: Computer Vision, Fall 2014 29

Page 30: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

30

Vision-based interaction (and games)

Nintendo Wii has camera-based IRtracking built in.

Digimask: put your face on a 3D avatar.

“Game turns moviegoers into Human Joysticks”, CNETCamera tracking a crowd, based on this work.

Microsoft Kinect(no images here)

USC CS574: Computer Vision, Fall 2014

Page 31: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

Microsoft Kinect

USC CS574: Computer Vision, Fall 2014 31

Page 32: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

32

Vision in space

• Vision systems (JPL) used for several tasks– Panorama stitching– 3D terrain modeling– Obstacle detection, position tracking

NASA'S Mars Exploration Rover Spirit captured this westward view from atop a low plateau where Spirit spent the closing months of 2007.

USC CS574: Computer Vision, Fall 2014

Page 33: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

33

Robotics

http://www.robocup.org/NASA’s Mars Spirit Roverhttp://en.wikipedia.org/wiki/Spirit_rover

Page 34: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

34

Medical imaging

Image guided surgeryGrimson et al., MIT

3D imagingMRI, CT

Page 35: Lecture 2: CS574 - University of Southern Californiacsci574/lec2.pdf · – Programming in C/C++, data structures, ... – Will cover use of OpenCV library, ... Fingerprint scanners

35

Next Class

• Read Sections 1.1 and 1.2 of the Forsyth-Ponce Book

USC CS574: Computer Vision, Fall 2014