Course 8 Contours. Def: edge list ---- ordered set of edge point or fragments. Def: contour ---- an edge list or expression that is used to represent.

Slides:



Advertisements
Similar presentations
Lecture Notes #11 Curves and Surfaces II
Advertisements

電腦視覺 Computer and Robot Vision I
DTU Informatics Introduction to Medical Image Analysis Rasmus R. Paulsen DTU Informatics TexPoint fonts.
Extended Gaussian Images
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
Computer Vision Lecture 16: Region Representation
Segmentation (2): edge detection
Image Segmentation and Active Contour
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Offset of curves. Alina Shaikhet (CS, Technion)
EE663 Image Processing Edge Detection 5 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Fitting lines. Fitting Choose a parametric object/some objects to represent a set of tokens Most interesting case is when criterion is not local –can’t.
CS 376b Introduction to Computer Vision 04 / 11 / 2008 Instructor: Michael Eckmann.
Finite Mathematics & Its Applications, 10/e by Goldstein/Schneider/SiegelCopyright © 2010 Pearson Education, Inc. 1 of 71 Chapter 1 Linear Equations and.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Contents Description of the big picture Theoretical background on this work The Algorithm Examples.
Curve-Fitting Regression
Fitting a Model to Data Reading: 15.1,
Information that lets you recognise a region.
Robust estimation Problem: we want to determine the displacement (u,v) between pairs of images. We are given 100 points with a correlation score computed.
כמה מהתעשייה? מבנה הקורס השתנה 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.
Curve Modeling Bézier Curves
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
V. Space Curves Types of curves Explicit Implicit Parametric.
Edge Linking & Boundary Detection
Segmentation Course web page: vision.cis.udel.edu/~cv May 7, 2003  Lecture 31.
HOUGH TRANSFORM Presentation by Sumit Tandon
Intelligent Vision Systems ENT 496 Object Shape Identification and Representation Hema C.R. Lecture 7.
© by Yu Hen Hu 1 ECE533 Digital Image Processing Image Segmentation.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Curve-Fitting Regression
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Chapter 10 Image Segmentation.
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
HOUGH TRANSFORM. Introduced in 1962 by Paul Hough pronounced like “tough” according to orm.html.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
L5 – Curves in GIS NGEN06 & TEK230: Algorithms in Geographical Information Systems by: Sadegh Jamali (source: Lecture notes in GIS, Lars Harrie) 1 L5-
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
CSE 185 Introduction to Computer Vision Feature Matching.
Course14 Dynamic Vision. Biological vision can cope with changing world Moving and changing objects Change illumination Change View-point.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
11/26/02(C) University of Wisconsin Last Time BSplines.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Image Segmentation Image segmentation (segmentace obrazu)
Edges and Lines Readings: Chapter 10:
1 Overview representing region in 2 ways in terms of its external characteristics (its boundary)  focus on shape characteristics in terms of its internal.
Course 5 Edge Detection. Image Features: local, meaningful, detectable parts of an image. edge corner texture … Edges: Edges points, or simply edges,
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Course 3 Binary Image Binary Images have only two gray levels: “1” and “0”, i.e., black / white. —— save memory —— fast processing —— many features of.
Sheng-Fang Huang Chapter 11 part I.  After the image is segmented into regions, how to represent and describe these regions? ◦ In terms of its external.
Hough Transform CS 691 E Spring Outline Hough transform Homography Reading: FP Chapter 15.1 (text) Some slides from Lazebnik.
Editing Polylines1 Sacramento City College Engineering Design Tecnology.
October 3, 2013Computer Vision Lecture 10: Contour Fitting 1 Edge Relaxation Typically, this technique works on crack edges: pixelpixelpixel pixelpixelpixelebg.
Image Representation and Description – Representation Schemes
Line Fitting James Hayes.
Detection of discontinuity using
Exercise Class 11: Robust Tecuniques RANSAC, Hough Transform
Mean Shift Segmentation
Drawing and Editing Polylines and Splines Chapter 16
Fitting Curve Models to Edges
Hough Transform COMP 4900C Winter 2008.
Course 13 Curves and Surfaces
CONTOURING By Ashish V. Deshpande Electrical Engineering Department
Outline Announcement Perceptual organization, grouping, and segmentation Hough transform Read Chapter 17 of the textbook File: week14-m.ppt.
Introduction to Sensor Interpretation
Introduction to Sensor Interpretation
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

Course 8 Contours

Def: edge list ---- ordered set of edge point or fragments. Def: contour ---- an edge list or expression that is used to represent the curve. A contour can be open or closed.

1.Digital Curve. (1) Curve length: (2) K-slope: the (angle) direction vector between points with k edge points apart.

(3) K-curvature: the difference between left k-slope and right k-slope at a digital curve point:

2. Curve Representations 1) Chain code Chain code quantities a space to 8 directions and encodes a contour at each edge point with the directions in an ordered sequence Chain code has compact description Chain code cannot express branched curves.

2) plot: For a digital curve, compute curve length and slope from a beginning edge point. Then plot the obtained curve length and slop in space Line segment in curve; horizontal line in plot Circular arc in curve; line segment of some direction in space Using plot can easily segment a curve at discontinuous point of plot.

3)Graph representation: Establish topology relations among edge list points. Each edge point is a graph node. Struct Node { int node_number; int curve_number; int x, y; // position char type; int link[8]; //link relation int link_direction[8]; //heading or ending char flag; //process flag } node;

Digital description of curve Can handle branched curves Easy in operation Use more memories, but it can be simplified. e.g. to remove nodes that have type=2. Struct link { int curve_number; int link_length; int node_list[]; char flag; //process flag } link;

3. Polyline representation Represent an edge list by a set of joined line segments. The edge data not being the joint point will be neglected.

1). Recursive splitting method: Consider a curve with endpoint A and B (a) connect end-points A and B (b) along the curve, compute normalized distance to chord. find the edge point say c with maximum. (c) if, the preset threshold, insert a vertex at edge point c. The curve is then subdivided into two curves. (d) For each curve, repeat the process a)—c) until no vertex can be inserted.

2). Sequential method: (a) Starting with an endpoint of a curve tracing the curve, calculate the distance between the curve and the chord from the starting point to moving point. (b) If the distance is greater than a preset threshold, put a vertex there. (c) Take the vertex as a new starting point. Repeat the operation a) and (d) until it complete the curve.

3). Area based sequential method: The same as the above method. But the criteria to insert a vertex is where is the area between the curve and chord. is the length of chord.

4). Break-point detection: Sequential polyline methods have advantage of easy and fast operations. But they are error-based operations, Corner positions usually cannot accurately located. One way to solve the problem is to detect break point first. Then polylinelize the curve piecewise. To detect break point: a) Calculate K-curvature along a curve. b) Plot the curve’s curvatures in plane. Where ---curvature, s ---curve length.

c)Do Gaussian smooth to the plot to remove noise of the plot. d)Corners of original curve will correspond to peaks in plot, arcs to plateaus, threshold the value in plot will get break points.

5). Hop-Along algorithm: Hop-along method approximate a contour by a sequence of line segments, doing split and merge in short subsets of edge points. a) Start with the first K edge points from edge list. b) Fit line segment (say, using least- square method) between the first and the last edge points of the sub list. c) If normalized maximum error is too large, shorten the sub list at the point of maximum error. Return step b).

d) If the line fit succeeds, compare the orientation of the current line segment with that the previous line segments. If two line segments have similar orientation, replace the two line segments with a single line segment. e) Make the current line segment the previous line segment and advance the window of edges so that there are K edge points in the sub list. Return to step b).

3. Curve fitting Curve fitting is trying to find a smooth curve expression of mathematic form from curve’s polyline expression. 1)Conic sections: To determine a conic section is to determine parameters a, b, c, d, e, f from 3 edge points, although there are classic method. We will introduce a “guided form” method.

a)Select knot position from each polyline segment. where

b) Form lines of guided frame: K i V i+1 : V i+1 K i+1 : K i K i+1 : Then: the conic intersection is: where is control parameter.

2) Cubic Spline: Cubic spline represents a curve piecewise by 3 rd - order polynomials joined smoothly at knots of the curve. Between two knots: where There are 8 parameters and need 8 constraints to determine the 8 parameters.

Positions of first and last edge points give 4 constraints. The continuity of the curve with its neighboring curves gives another 2 constraints. Orientation of edge at knot provides one constraint. or where, tangent direction at knot introduces two equations and one additional unknown. All the parameters and can be solved.

4. Regression 1) Least Squares Regretion Using all edge point in an edge list to compute the model of curve, minimizing the distances between data points to the curve. For a straight edge: Then: call least square to solve for and.

Note: If outlier points in edge list, it can pull the solution away from the true one.

2) Least-Median-Square Regression: It claim that the algorithm can handle out 50% of outlines in edge list: Algorithm: a) Choose p points randomly from the set of n data points. b) Compute the fit model to the p points. c) Compute the median of the residual squares. d) The fitting procedure is repeated until a fit is found with sufficiently small median of residual squares, or processes reached preset steps.

5. Hough Transform --- Voting based method: a point on a curve votes several combinations of curve parameters. --- Edge point not necessary in an ordered list. Consider a straight Line in x-y space: are variables and are parameters. If given only a point, it can draw infinite number lines passing through point with different slope and intercept. The relation between and appears to be a line in space. ( are fixed)

This indicates that a point in x-y space corresponds to a line in m-c space. If all data points come from a straight line in x-y space, their corresponding lines in m-c space will intersect at a point. The corresponding values of m and c of the intersection gives the parameters of the line in x-y space. c m

In practice, we use polar form of a line to avoid the problem of vertical lines. Given a set of points Find the parameters and. Algorithm: (a) Quantize the parameters space (b) Each cell in parameter space is an accumulator. Initialize all cells to zero.

(c ) For each data point in image space, increment by 1 each of the accumulator that satisfy the equation. (d) Maximize in the accumulator array correspond to the parameters of the model (line) When several curves in images, there will be several peaks in parameter space. It may be difficult to determine which peaks are significant When the number of parameter increases, the size of parameters space will increase quickly. It will reduce computation speed.