3-D Computer Vision CSc 83020 Feature Detection and Grouping.

Slides:



Advertisements
Similar presentations
3-D Computer Vision CSc83020 / Ioannis Stamos  Revisit filtering (Gaussian and Median)  Introduction to edge detection 3-D Computater Vision CSc
Advertisements

Boundary Detection - Edges Boundaries of objects –Usually different materials/orientations, intensity changes.
Computer vision: models, learning and inference Chapter 13 Image preprocessing and feature extraction.
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
Segmentation (2): edge detection
Edge Detection CSE P 576 Larry Zitnick
Edge and Corner Detection Reading: Chapter 8 (skip 8.1) Goal: Identify sudden changes (discontinuities) in an image This is where most shape information.
Edge Detection. Our goal is to extract a “line drawing” representation from an image Useful for recognition: edges contain shape information –invariance.
EE663 Image Processing Edge Detection 1
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Canny Edge Detector.
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
Announcements Mailing list: –you should have received messages Project 1 out today (due in two weeks)
CS223b, Jana Kosecka Image Features Local, meaningful, detectable parts of the image. Line detection Corner detection Motivation Information content high.
Sebastian Thrun CS223B Computer Vision, Winter Stanford CS223B Computer Vision, Winter 2005 Lecture 3 Filters and Features (with Matlab) Sebastian.
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
Feature Detection: Corners and Lines. Edges vs. Corners Edges = maxima in intensity gradientEdges = maxima in intensity gradient.
CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann.
Lecture 4: Edge Based Vision Dr Carole Twining Thursday 18th March 2:00pm – 2:50pm.
Announcements Since Thursday we’ve been discussing chapters 7 and 8. “matlab can be used off campus by logging into your wam account and bringing up an.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
Edge Detection.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
3-D Computational Vision CSc Canny Edge Detection.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean Hall 5409 T-R 10:30am – 11:50am.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
MASKS © 2004 Invitation to 3D vision Lecture 3 Image Primitives andCorrespondence.
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30 – 11:50am.
Discrete Images (Chapter 7) Fourier Transform on discrete and bounded domains. Given an image: 1.Zero boundary condition 2.Periodic boundary condition.
HOUGH TRANSFORM & Line Fitting Introduction  HT performed after Edge Detection  It is a technique to isolate the curves of a given shape / shapes.
Lecture 2: Edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
Generalized Hough Transform
Computer Vision : CISC 4/689 Sobel Edge Detection: Gradient Approximation Horizontal diff.Vertical diff Note anisotropy of edge.
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
Instructor: S. Narasimhan
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Many slides from Steve Seitz and Larry Zitnick
Computational Vision / Ioannis Stamos  Edge Detection  Canny Detector  Line Detection  Hough Transform  Trucco: Chapter 4, pp. 76 – 80 Chapter 5,
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Kylie Gorman WEEK 1-2 REVIEW. CONVERTING AN IMAGE FROM RGB TO HSV AND DISPLAY CHANNELS.
CSE 185 Introduction to Computer Vision Feature Matching.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
Lecture 10: Lines from Edges, Interest Points, Binary Operations CAP 5415: Computer Vision Fall 2006.
CSE 6367 Computer Vision Image Operations and Filtering “You cannot teach a man anything, you can only help him find it within himself.” ― Galileo GalileiGalileo.
Image Segmentation Image segmentation (segmentace obrazu)
Course 5 Edge Detection. Image Features: local, meaningful, detectable parts of an image. edge corner texture … Edges: Edges points, or simply edges,
Lecture 04 Edge Detection Lecture 04 Edge Detection Mata kuliah: T Computer Vision Tahun: 2010.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Lecture 8: Edges and Feature Detection
Detecting Image Features: Corner. Corners Given an image, denote the image gradient. C is symmetric with two positive eigenvalues. The eigenvalues give.
MASKS © 2004 Invitation to 3D vision Lecture 3 Image Primitives andCorrespondence.
Object Recognition. Segmentation –Roughly speaking, segmentation is to partition the images into meaningful parts that are relatively homogenous in certain.
Winter in Kraków photographed by Marcin Ryczek
Detection of discontinuity using
Image Primitives and Correspondence
Edge Detection CS 678 Spring 2018.
Corners and Interest Points
Fitting Curve Models to Edges
Jeremy Bolton, PhD Assistant Teaching Professor
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Lecture 2: Edge detection
Canny Edge Detector.
Hough Transform.
Edge Detection Today’s readings Cipolla and Gee Watt,
Lecture 2: Edge detection
IT472 Digital Image Processing
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

3-D Computer Vision CSc Feature Detection and Grouping

CSc D Computer Vision – Ioannis Stamos Finding Corners

CSc D Computer Vision – Ioannis Stamos What Is a Corner? Large gradients in more than one direction.

CSc D Computer Vision – Ioannis Stamos A Simple Corner Detector Find eigenvalues of C If the smaller eigenvalue is above a threshold then we have a corner.

CSc D Computer Vision – Ioannis Stamos A Simple Corner Detector Find eigenvalues of C If the smaller eigenvalue is above a threshold then we have a corner.

CSc D Computer Vision – Ioannis Stamos A Simple Corner Detector

CSc D Computer Vision – Ioannis Stamos Sobel Operator S1=S1=S 2 = Edge Magnitude = Edge Direction = S 1 + S tan -1 S1S1 S2S2

CSc D Computer Vision – Ioannis Stamos Sobel in Matlab

CSc D Computer Vision – Ioannis Stamos Canny Edge Detector

CSc D Computer Vision – Ioannis Stamos Comparison CannySobel

CSc D Computer Vision – Ioannis Stamos Canny Edge Detection Steps: Steps: 1. Apply derivative of Gaussian 2. Non-maximum suppression Thin multi-pixel wide “ridges” down to single pixel width Thin multi-pixel wide “ridges” down to single pixel width 3. Linking and thresholding Low, high edge-strength thresholds Low, high edge-strength thresholds Accept all edges over low threshold that are connected to edge over high threshold Accept all edges over low threshold that are connected to edge over high threshold

CSc D Computer Vision – Ioannis Stamos Non-Maximum Supression Non-maximum suppression: Select the single maximum point across the width of an edge.

CSc D Computer Vision – Ioannis Stamos Linking to the Next Edge Point Assume the marked point q is an edge point. Take the normal to the gradient at that point and use this to predict continuation points (either r or p).

CSc D Computer Vision – Ioannis Stamos Edge Hysteresis Hysteresis: A lag or momentum factor Hysteresis: A lag or momentum factor Idea: Maintain two thresholds k high and k low Idea: Maintain two thresholds k high and k low Use k high to find strong edges to start edge chain Use k high to find strong edges to start edge chain Use k low to find weak edges which continue edge chain Use k low to find weak edges which continue edge chain Typical ratio of thresholds is roughly Typical ratio of thresholds is roughly k high / k low = 2 k high / k low = 2

CSc D Computer Vision – Ioannis Stamos Canny Edge Detection (Example) courtesy of G. Loy gap is gone Original image Strong edges only Strong + connected weak edges Weak edges

CSc D Computer Vision – Ioannis Stamos Canny Edge Detection (Example) Using Matlab with default thresholds

CSc D Computer Vision – Ioannis Stamos Bridge Example Again edge(im,’canny’)

CSc D Computer Vision – Ioannis Stamos Summary: Canny Edge Detection Most commonly used method Most commonly used method Traces edges, accommodates variations in contrast Traces edges, accommodates variations in contrast Not a linear filter! Not a linear filter! Problems with corners Problems with corners

CSc D Computer Vision – Ioannis Stamos Towards Global Features Local versus global

CSc D Computer Vision – Ioannis Stamos From Edges to Lines

CSc D Computer Vision – Ioannis Stamos Finding Lines Assume edge detection Assume edge detection Each pixel is either edge or not Each pixel is either edge or not How do we find the line? How do we find the line?

CSc D Computer Vision – Ioannis Stamos Finding Lines Assume edge detection Assume edge detection Each pixel is either edge or not Each pixel is either edge or not How do we find the line? How do we find the line?

CSc D Computer Vision – Ioannis Stamos Least Squares Fitting of Lines Minimize E

CSc D Computer Vision – Ioannis Stamos Least Squares Fitting of Lines Minimize E Problem: E must be formulated carefully!

CSc D Computer Vision – Ioannis Stamos Least Squares Fitting of Lines Minimize E

CSc D Computer Vision – Ioannis Stamos Hough Transform y x

CSc D Computer Vision – Ioannis Stamos m Hough Transform: Quantization Detecting Lines by finding maxima / clustering in parameter space x y

CSc D Computer Vision – Ioannis Stamos Hough Transform: Algorithm For each image point, determine For each image point, determine most likely line parameters b,m (direction of gradient) most likely line parameters b,m (direction of gradient) strength (magnitude of gradient) strength (magnitude of gradient) Increment parameter counter by strength value Increment parameter counter by strength value Cluster in parameter space, pick local maxima Cluster in parameter space, pick local maxima

CSc D Computer Vision – Ioannis Stamos Hough Transform: Results Hough TransformImageEdge detection

CSc D Computer Vision – Ioannis Stamos Finding Lines Using the Hough Transform

CSc D Computer Vision – Ioannis StamosAlgorithm Discretize the parameter spaces ρ and θ. Discretize the parameter spaces ρ and θ. Create Accumulator array A(1..R,1..T). Create Accumulator array A(1..R,1..T). Set A(k,h)=0 for all k and h. Set A(k,h)=0 for all k and h. For each image edge E(i,j)=1 For each image edge E(i,j)=1 For h=1…T For h=1…T ρ =i cosθ d (h)+j sinθ d (h) ρ =i cosθ d (h)+j sinθ d (h) Find index k: ρ d is closest to ρ Find index k: ρ d is closest to ρ Increment A(h,k) by one. Increment A(h,k) by one. Find all local maxima (k p, h p ) such that A (k p, h p )>τ Find all local maxima (k p, h p ) such that A (k p, h p )>τ

CSc D Computer Vision – Ioannis Stamos Finding Lines Using the Hough Transform Strong local peaks correspond to lines.

CSc D Computer Vision – Ioannis Stamos Finding Lines Using the Hough Transform Resolution Issues …

CSc D Computer Vision – Ioannis Stamos From Forsyth and Ponce

CSc D Computer Vision – Ioannis Stamos Summary Hough Transform Smart counting Smart counting Local evidence for global features Local evidence for global features Organized in a table Organized in a table Careful with parameterization! Careful with parameterization! Problem: Curse of dimensionality Problem: Curse of dimensionality Works great for simple features with 3 unknowns Works great for simple features with 3 unknowns Will fail for complex objects Will fail for complex objects Problem: Not a local algorithm Problem: Not a local algorithm

CSc D Computer Vision – Ioannis Stamos Finding Circles by Hough Transform a0a0 b0b0 r (x i,y i ) Equation of Circle: x y

CSc D Computer Vision – Ioannis Stamos Finding Circles by Hough Transform a0a0 b0b0 r (x i,y i ) Equation of Circle: If radius r is known: x y x y a b (x i,y i ) Circles! Accumulator array A(a,b)

CSc D Computer Vision – Ioannis Stamos Finding Circles by Hough Transform a0a0 b0b0 r (x i,y i ) x y If r is not known Use accumulator array A(a,b,r) For each (x i,y i ) increment A(a,b,r) such that

CSc D Computer Vision – Ioannis Stamos Using Gradient Information Can save lot of computations! Given: location (x i,y i ) Edge direction φ i x y

CSc D Computer Vision – Ioannis Stamos Using Gradient Information Can save lot of computations! Given: location (x i,y i ) Edge direction φ i x y Assume r is known: x y φiφi (x i,y i ) a=x-rcosφ b=y-rsinφ Need to increment only one point in Accumulator Array. (a,b)

CSc D Computer Vision – Ioannis Stamos Hough Transform for Curves Curve y=f(x,a) Curve y=f(x,a) a=[a 1, …, a p ] the parameters of the curve. a=[a 1, …, a p ] the parameters of the curve. Limitation: size of parameter space wrt # of parameters. Limitation: size of parameter space wrt # of parameters. Solution: variable-resolution parameter space. Solution: variable-resolution parameter space.

CSc D Computer Vision – Ioannis Stamos Hough Transform Pattern Matching. Pattern Matching. More efficient than template matching. More efficient than template matching. Handles occlusion. Handles occlusion. Finds all instances of pattern. Finds all instances of pattern. Handling inaccurate edge locations? Handling inaccurate edge locations? Drawbacks? Drawbacks?