Top Banner
COS 429: Computer Vision COS 429: Computer Vision anks to Chris Bregler anks to Chris Bregler
48
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: COS 429: Computer Vision Thanks to Chris Bregler.

COS 429: Computer VisionCOS 429: Computer Vision

Thanks to Chris BreglerThanks to Chris Bregler

Page 2: COS 429: Computer Vision Thanks to Chris Bregler.

COS 429: Computer VisionCOS 429: Computer Vision

• Instructor: Szymon RusinkiewiczInstructor: Szymon Rusinkiewicz [email protected]@cs.princeton.edu

• TA: Nathaniel DirksenTA: Nathaniel Dirksen [email protected]@cs.princeton.edu

• Course web pageCourse web page

http://www.cs.princeton.edu/courses/cs496/http://www.cs.princeton.edu/courses/cs496/

Page 3: COS 429: Computer Vision Thanks to Chris Bregler.

What is Computer Vision?What is Computer Vision?

• Input: images or videoInput: images or video

• Output: description of the worldOutput: description of the world

• But also: measuring, classifying, But also: measuring, classifying, interpreting visual informationinterpreting visual information

Page 4: COS 429: Computer Vision Thanks to Chris Bregler.

Low-Level or “Early” VisionLow-Level or “Early” Vision

• Considers local Considers local properties of an properties of an imageimage

““There’s an edge!”There’s an edge!”

Page 5: COS 429: Computer Vision Thanks to Chris Bregler.

Mid-Level VisionMid-Level Vision

• Grouping and Grouping and segmentationsegmentation

““There’s an object There’s an object and a background!”and a background!”

Page 6: COS 429: Computer Vision Thanks to Chris Bregler.

High-Level VisionHigh-Level Vision

• RecognitionRecognition

““It’s a chair!”It’s a chair!”

Page 7: COS 429: Computer Vision Thanks to Chris Bregler.

Big Question #1: Who Cares?Big Question #1: Who Cares?

• Applications of computer visionApplications of computer vision– In AI: vision serves as the “input stage”In AI: vision serves as the “input stage”

– In medicine: understanding human visionIn medicine: understanding human vision

– In engineering: model extractionIn engineering: model extraction

Page 8: COS 429: Computer Vision Thanks to Chris Bregler.

Vision and Other FieldsVision and Other Fields

Computer VisionComputer VisionArtificial IntelligenceArtificial Intelligence

Cognitive PsychologyCognitive Psychology Signal ProcessingSignal Processing

Computer GraphicsComputer Graphics

Pattern AnalysisPattern Analysis

MetrologyMetrology

Page 9: COS 429: Computer Vision Thanks to Chris Bregler.

Big Question #2: Does It Work?Big Question #2: Does It Work?

• Situation much the same as AI:Situation much the same as AI:– Some fundamental algorithmsSome fundamental algorithms

– Large collection of hacks / heuristicsLarge collection of hacks / heuristics

• Vision is hard!Vision is hard!– Especially at high level, physiology unknownEspecially at high level, physiology unknown

– Requires integrating many different Requires integrating many different methodsmethods

– Requires reasoning and understanding:Requires reasoning and understanding:“AI completeness”“AI completeness”

Page 10: COS 429: Computer Vision Thanks to Chris Bregler.

Computer and Human VisionComputer and Human Vision

• Emulating effects of human visionEmulating effects of human vision

• Understanding physiology of human Understanding physiology of human visionvision

• Analogues of human vision atAnalogues of human vision atlow, mid, and high levelslow, mid, and high levels

Page 11: COS 429: Computer Vision Thanks to Chris Bregler.

Image FormationImage Formation

• Human: lens forms Human: lens forms image on retina,image on retina,sensors (rods and sensors (rods and cones) respond to cones) respond to lightlight

• Computer: lens Computer: lens system forms image,system forms image,sensors (CCD, sensors (CCD, CMOS) respond to CMOS) respond to lightlight

Page 12: COS 429: Computer Vision Thanks to Chris Bregler.

Low-Level VisionLow-Level Vision

HubelHubel

Page 13: COS 429: Computer Vision Thanks to Chris Bregler.

Low-Level VisionLow-Level Vision

• Retinal ganglion cellsRetinal ganglion cells

• Lateral Geniculate Nucleus – function unknownLateral Geniculate Nucleus – function unknown(visual adaptation?)(visual adaptation?)

• Primary Visual CortexPrimary Visual Cortex– Simple cells: orientational sensitivitySimple cells: orientational sensitivity

– Complex cells: directional sensitivityComplex cells: directional sensitivity

• Further processingFurther processing– Temporal cortex: what is the object?Temporal cortex: what is the object?

– Parietal cortex: where is the object? How do I get it?Parietal cortex: where is the object? How do I get it?

Page 14: COS 429: Computer Vision Thanks to Chris Bregler.

Low-Level VisionLow-Level Vision

• Net effect: low-level human visionNet effect: low-level human visioncan be (partially) modeled as a set ofcan be (partially) modeled as a set ofmultiresolution, orientedmultiresolution, oriented filters filters

Page 15: COS 429: Computer Vision Thanks to Chris Bregler.

Low-Level Depth CuesLow-Level Depth Cues

• FocusFocus

• VergenceVergence

• StereoStereo

• Not as important as popularly believedNot as important as popularly believed

Page 16: COS 429: Computer Vision Thanks to Chris Bregler.

Low-Level Computer VisionLow-Level Computer Vision

• Filters and filter banksFilters and filter banks– Implemented via convolutionImplemented via convolution

– Detection of edges, corners, and other local featuresDetection of edges, corners, and other local features

– Can include multiple orientationsCan include multiple orientations

– Can include multiple scales: “filter pyramids”Can include multiple scales: “filter pyramids”

• ApplicationsApplications– First stage of segmentationFirst stage of segmentation

– Texture recognition / classificationTexture recognition / classification

– Texture synthesisTexture synthesis

Page 17: COS 429: Computer Vision Thanks to Chris Bregler.

Texture Analysis / SynthesisTexture Analysis / Synthesis

MultiresolutionMultiresolutionOrientedOrientedFilter BankFilter Bank

OriginalOriginalImageImage

ImageImagePyramidPyramid

Page 18: COS 429: Computer Vision Thanks to Chris Bregler.

Texture Analysis / SynthesisTexture Analysis / Synthesis

OriginalOriginalTextureTexture

SynthesizedSynthesizedTextureTexture

Heeger and BergenHeeger and Bergen

Page 19: COS 429: Computer Vision Thanks to Chris Bregler.

Low-Level Computer VisionLow-Level Computer Vision

• Optical flowOptical flow– Detecting frame-to-frame motionDetecting frame-to-frame motion

– Local operator: looking for gradientsLocal operator: looking for gradients

• ApplicationsApplications– First stage of trackingFirst stage of tracking

Page 20: COS 429: Computer Vision Thanks to Chris Bregler.

Optical FlowOptical Flow

Image #1Image #1 Optical FlowOptical FlowFieldField

Image #2Image #2

Page 21: COS 429: Computer Vision Thanks to Chris Bregler.

Low-Level Computer VisionLow-Level Computer Vision

• Shape from XShape from X– StereoStereo

– MotionMotion

– ShadingShading

– Texture foreshorteningTexture foreshortening

Page 22: COS 429: Computer Vision Thanks to Chris Bregler.

3D Reconstruction3D Reconstruction

Tomasi+KanadeTomasi+Kanade

Debevec,Taylor,MalikDebevec,Taylor,Malik Phigin et al.Phigin et al.

Forsyth et al.Forsyth et al.

Page 23: COS 429: Computer Vision Thanks to Chris Bregler.

Mid-Level VisionMid-Level Vision

• Physiology unclearPhysiology unclear

• Observations by Gestalt psychologistsObservations by Gestalt psychologists– ProximityProximity

– SimilaritySimilarity

– Common fateCommon fate

– Common regionCommon region

– ParallelismParallelism

– ClosureClosure

– SymmetrySymmetry

– ContinuityContinuity

– Familiar configurationFamiliar configuration WertheimerWertheimer

Page 24: COS 429: Computer Vision Thanks to Chris Bregler.

Grouping CuesGrouping Cues

Page 25: COS 429: Computer Vision Thanks to Chris Bregler.

Grouping CuesGrouping Cues

Page 26: COS 429: Computer Vision Thanks to Chris Bregler.

Grouping CuesGrouping Cues

Page 27: COS 429: Computer Vision Thanks to Chris Bregler.

Grouping CuesGrouping Cues

Page 28: COS 429: Computer Vision Thanks to Chris Bregler.

Mid-Level Computer VisionMid-Level Computer Vision

• TechniquesTechniques– Clustering based on similarityClustering based on similarity

– Limited work on other principlesLimited work on other principles

• ApplicationsApplications– Segmentation / groupingSegmentation / grouping

– TrackingTracking

Page 29: COS 429: Computer Vision Thanks to Chris Bregler.

Snakes: Active ContoursSnakes: Active Contours

Contour Evolution forContour Evolution forSegmenting an ArterySegmenting an Artery

Page 30: COS 429: Computer Vision Thanks to Chris Bregler.

BirchfeldBirchfeld

HistogramsHistograms

Page 31: COS 429: Computer Vision Thanks to Chris Bregler.

Expectation Maximization (EM)Expectation Maximization (EM)

Color SegmentationColor Segmentation

Page 32: COS 429: Computer Vision Thanks to Chris Bregler.

Bayesian MethodsBayesian Methods

• Prior probabilityPrior probability– Expected distribution of modelsExpected distribution of models

• Conditional probability P(A|B)Conditional probability P(A|B)– Probability of observation AProbability of observation A

given model Bgiven model B

Page 33: COS 429: Computer Vision Thanks to Chris Bregler.

Bayesian MethodsBayesian Methods

• Prior probabilityPrior probability– Expected distribution of modelsExpected distribution of models

• Conditional probability P(A|B)Conditional probability P(A|B)– Probability of observation AProbability of observation A

given model Bgiven model B

• Bayes’s RuleBayes’s RuleP(B|A) = P(A|B) P(B|A) = P(A|B) P(B) / P(A) P(B) / P(A)

– Probability of model B given observation AProbability of model B given observation A

Thomas BayesThomas Bayes(c. 1702-1761)(c. 1702-1761)

Page 34: COS 429: Computer Vision Thanks to Chris Bregler.

Bayesian MethodsBayesian Methods

)|( aXP )|( aXP

)|( bXP )|( bXP

# black pixels# black pixels

# black pixels# black pixels

Page 35: COS 429: Computer Vision Thanks to Chris Bregler.

High-Level VisionHigh-Level Vision

• Human mechanisms: ???Human mechanisms: ???

Page 36: COS 429: Computer Vision Thanks to Chris Bregler.

High-Level VisionHigh-Level Vision

• Computational mechanismsComputational mechanisms– Bayesian networksBayesian networks

– TemplatesTemplates

– Linear subspace methodsLinear subspace methods

– Kinematic modelsKinematic models

Page 37: COS 429: Computer Vision Thanks to Chris Bregler.

Cootes et al.Cootes et al.

Template-Based MethodsTemplate-Based Methods

Page 38: COS 429: Computer Vision Thanks to Chris Bregler.

Linear SubspacesLinear Subspaces

Page 39: COS 429: Computer Vision Thanks to Chris Bregler.

DataData

PCAPCA

New Basis VectorsNew Basis Vectors

Kirby et al.Kirby et al.

Principal Components Analysis Principal Components Analysis (PCA)(PCA)

Page 40: COS 429: Computer Vision Thanks to Chris Bregler.

Kinematic ModelsKinematic Models

• Optical Flow/Feature tracking: no constraints

• Layered Motion: rigid constraints

• Articulated: kinematic chain constraints

• Nonrigid: implicit / learned constraints

Page 41: COS 429: Computer Vision Thanks to Chris Bregler.

Real-world ApplicationsReal-world Applications

Osuna et al:

Page 42: COS 429: Computer Vision Thanks to Chris Bregler.

Real-world ApplicationsReal-world Applications

Osuna et al:

Page 43: COS 429: Computer Vision Thanks to Chris Bregler.

Course OutlineCourse Outline

• Image formation and captureImage formation and capture

• Filtering and feature detectionFiltering and feature detection

• Motion estimationMotion estimation

• Segmentation and clusteringSegmentation and clustering

• PCAPCA

• 3D projective geometry3D projective geometry

• Shape acquisitionShape acquisition

• Shape analysisShape analysis

Page 44: COS 429: Computer Vision Thanks to Chris Bregler.

3D Scanning3D Scanning

Page 45: COS 429: Computer Vision Thanks to Chris Bregler.

Image-Based Modeling and Image-Based Modeling and RenderingRendering

Debevec et al.Debevec et al.

ManexManex

Page 46: COS 429: Computer Vision Thanks to Chris Bregler.

Course MechanicsCourse Mechanics

• 65%: 4 written / programming assignments65%: 4 written / programming assignments

• 35%: Final group project35%: Final group project

Page 47: COS 429: Computer Vision Thanks to Chris Bregler.

Course MechanicsCourse Mechanics

• Book:Book:Introductory Techniques for 3-D Computer Introductory Techniques for 3-D Computer VisionVisionEmanuele Trucco and Alessandro VerriEmanuele Trucco and Alessandro Verri

• PapersPapers

Page 48: COS 429: Computer Vision Thanks to Chris Bregler.

COS 429: Computer VisionCOS 429: Computer Vision

• Instructor: Szymon RusinkiewiczInstructor: Szymon Rusinkiewicz [email protected]@cs.princeton.edu

• TA: Nathaniel DirksenTA: Nathaniel Dirksen [email protected]@cs.princeton.edu

• Course web pageCourse web page

http://www.cs.princeton.edu/courses/cs496/http://www.cs.princeton.edu/courses/cs496/