October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.

Slides:



Advertisements
Similar presentations
COMP 175 | COMPUTER GRAPHICS Remco Chang1/6103b – Shapes Lecture 03b: Shapes COMP 175: Computer Graphics February 3, 2015.
Advertisements

電腦視覺 Computer and Robot Vision I
Chapter 9: Vector Differential Calculus Vector Functions of One Variable -- a vector, each component of which is a function of the same variable.
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
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
Copyright © Cengage Learning. All rights reserved.
Segmentation (2): edge detection
November 4, 2014Computer Vision Lecture 15: Shape Representation II 1Signature Another popular method of representing shape is called the signature. In.
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
Computer Graphics - Class 14
Offset of curves. Alina Shaikhet (CS, Technion)
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Segmentation Divide the image into segments. Each segment:
Curves Locus of a point moving with one degree of freedom
MULTIPLE INTEGRALS MULTIPLE INTEGRALS 16.9 Change of Variables in Multiple Integrals In this section, we will learn about: The change of variables.
Information that lets you recognise a region.
Computer Vision Lecture 3: Digital Images
DEPARTMENT OF MATHEMATI CS [ YEAR OF ESTABLISHMENT – 1997 ] DEPARTMENT OF MATHEMATICS, CVRCE.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
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
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
Digital Image Processing Lecture 20: Representation & Description
V. Space Curves Types of curves Explicit Implicit Parametric.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
Edge Linking & Boundary Detection
ENT 273 Object Recognition and Feature Detection Hema C.R.
Curves.
HOUGH TRANSFORM Presentation by Sumit Tandon
Intelligent Vision Systems ENT 496 Object Shape Identification and Representation Hema C.R. Lecture 7.
Digital Image Processing CSC331
September 23, 2014Computer Vision Lecture 5: Binary Image Processing 1 Binary Images Binary images are grayscale images with only two possible levels of.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Digital Image Processing CCS331 Relationships of Pixel 1.
Generalized Hough Transform
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Chapter 10, Part II Edge Linking and Boundary Detection The methods discussed in the previous section yield pixels lying only on edges. This section.
December 9, 2014Computer Vision Lecture 23: Motion Analysis 1 Now we will talk about… Motion Analysis.
A survey of different shape analysis techniques 1 A Survey of Different Shape Analysis Techniques -- Huang Nan.
SECTION 12.8 CHANGE OF VARIABLES IN MULTIPLE INTEGRALS.
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.
Interactive Graphics Lecture 10: Slide 1 Interactive Computer Graphics Lecture 10 Introduction to Surface Construction.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
November 5, 2013Computer Vision Lecture 15: Region Detection 1 Basic Steps for Filtering in the Frequency Domain.
1 Overview representing region in 2 ways in terms of its external characteristics (its boundary)  focus on shape characteristics in terms of its internal.
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.
CIVET seminar Presentation day: Presenter : Park, GilSoon.
Materi 09 Analisis Citra dan Visi Komputer Representasi and Deskripsi 1.
Computer Graphics CC416 Lecture 04: Bresenham Line Algorithm & Mid-point circle algorithm Dr. Manal Helal – Fall 2014.
Computer Graphics Lecture 06 Circle Drawing Techniques Taqdees A. Siddiqi
April 21, 2016Introduction to Artificial Intelligence Lecture 22: Computer Vision II 1 Canny Edge Detector The Canny edge detector is a good approximation.
October 3, 2013Computer Vision Lecture 10: Contour Fitting 1 Edge Relaxation Typically, this technique works on crack edges: pixelpixelpixel pixelpixelpixelebg.
Lecture 5 Basic geometric objects
Image Representation and Description – Representation Schemes
Digital Image Processing Lecture 20: Representation & Description
Computer Vision Lecture 13: Image Segmentation III
Computer Graphics Lecture 37
Mean Shift Segmentation
Computer Vision Lecture 12: Image Segmentation II
Slope and Curvature Density Functions
Fitting Curve Models to Edges
CONTOURING By Ashish V. Deshpande Electrical Engineering Department
14.4 Arc Length and Curvature
Fourier Transform of Boundaries
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet the following criteria: Efficiency: The contour should be a simple, compact representation. Efficiency: The contour should be a simple, compact representation. Accuracy: The contour should accurately fit the image features. Accuracy: The contour should accurately fit the image features. Effectiveness: The contour should be suitable for the operations to be performed in later stages of the application. Effectiveness: The contour should be suitable for the operations to be performed in later stages of the application.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 2Contours The accuracy of a contour representation is determined by the form of the curve used to model the contour, the form of the curve used to model the contour, the performance of the curve-fitting algorithm, and the performance of the curve-fitting algorithm, and the accuracy of the estimation of edge locations. the accuracy of the estimation of edge locations. Using an ordered list of edges as the representation is simple and as precise as the edge information itself. It is not a compact representation and may be difficult to process in subsequent stages.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 3Contours Using an appropriate curve model increases the accuracy of the representation. This is because errors in the location of individual edges can be eliminated (if the correct model is used!). The result is a more compact representation that is well-suited for subsequent analysis. We will talk about the elementary differential geometry of 2D curves, the elementary differential geometry of 2D curves, techniques for calculating contour properties, and techniques for calculating contour properties, and curve models and how to fit them to contours. curve models and how to fit them to contours.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 4Definitions We will use the term edge to refer to edge points regardless of the edge orientation. Most standard algorithms do not consider the orientation of edges, but just their location. Definitions: An edge list is an ordered set of edge points or fragments. A contour is an edge list or the curve that has been used to represent the edge list. A boundary is the closed contour that surrounds a region.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 5 Geometry of Curves We usually avoid the description of curves in the x-y plane by functions of the kind y = f(x). This is because this notation only allows one y-value for a given x-value. So, for example, it cannot be used to describe a circle, rectangle, or any other closed contour. Instead, we will use the parametric form (x(u), y(u)). It uses two functions x(u) and y(u) of a parameter u to specify the points along the curve from a starting point p 1 = (x(u 1 ), y(u 1 )) to an end point p 2 = (x(u 2 ), y(u 2 )).

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 6 Geometry of Curves The length of the curve is given by the arc length: The unit tangent vector is given by: where p(u) = (x(u), y(u)) and p’(u) = (x’(u), y’(u)).

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 7 Geometry of Curves Imagine three points along our curve: p(u +  ), p(u), and p(u -  ). If these three points all differ from each other, then there is exactly one circle that passes through all three points. In the limit   0, this circle is the osculating (touching) circle of the curve at the point u. The center of this circle lies along the line containing the normal to the curve at point u. The curvature is the inverse of the radius of the osculating circle.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 8 Digital Curves When we are dealing with actual curves in digital images, the situation is slightly different. There are only eight possible angles between neighboring pixels, which makes the computation of slope and curvature difficult. The idea to overcome this problem is to also account for non-adjacent edge points. Let p n = (i n, j n ) be the coordinates of edge n in our edge list. Then the k-slope is the (angle) direction vector between points that are k edges apart.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 9 Geometry of Curves The left k-slope is the direction from p n-k to p n, and the right k-slope is the direction from p n to p n+k. The k-curvature is the difference between the left and right k-slopes. If we have N edge points (i 1, j 1 ) to (i N, j N ) in the edge list, then we can approximate the length S of the digital curve as follows:

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 10 Fitting Curve Models to Edges Most contours can be well described by combining several “round” elements (e.g., circular arcs) and “straight” elements (straight lines). First we will study a method for fitting connected straight lines to edge data. First we will study a method for fitting connected straight lines to edge data. Then we will discuss how to fit a circular arc to a given set of points. Then we will discuss how to fit a circular arc to a given set of points. Later we will apply a very general and sophisticated method (the Hough transform) for fitting straight lines to edge points. Later we will apply a very general and sophisticated method (the Hough transform) for fitting straight lines to edge points.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 11 Fitting Curve Models to Edges Assume that you found edge data that seem to belong to one contour. The shape of these data is somewhat non-linear, but you would like to use multiple connected straight lines (polylines) to describe the contour. Then you can use the technique of polyline splitting. If you have an open contour, start with a straight line connecting the two (estimated) end points. If you have a closed contour, start with an appropriate polygon (a rectangle usually works well).

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 12 Fitting Polylines to Edges Let us look at an example for an open contour: First, use a single straight line to connect the end points. Then find the edge point with the greatest distance from this straight line.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 13 Fitting Polylines to Edges Let us look at an example for an open contour: Then split the straight line in two straight lines that meet at this point. Now repeat this process with each of the two new lines.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 14 Fitting Polylines to Edges Let us look at an example for an open contour: Recursively repeat this process until the maximum distance of any point to the polyline falls below a certain threshold. The result is the fitting polyline.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 15 Fitting Circular Arcs to Edges Now we will discuss how to fit a circular arc to a set of edge points. Consider three points p 1 = (x 1, y 1 ), p 2 = (x 2, y 2 ), and p 3 = (x 3, y 3 ), which are pairwise different and do not lie on the same straight line. Then we already know that there is exactly one circle that goes through all of these points. We will now describe how to find this circle, i.e., determine its center and radius.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 16 Fitting Circular Arcs to Edges The points (x, y) of a circle centered at (x 0, y 0 ) and with radius r are given by the following equation: (x – x 0 ) 2 + (y – y 0 ) 2 = r 2. To simplify the computation, we will use a coordinate system whose origin is in point p 1 = (x 1, y 1 ). In the new coordinate system we have: x’ = x – x 1 y’ = y – y 1 (x’ – x’ 0 ) 2 + (y’ – y’ 0 ) 2 = r 2.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 17 Fitting Circular Arcs to Edges Since the equation (x’ – x’ 0 ) 2 + (y’ – y’ 0 ) 2 = r 2 is true for all points (x’, y’) on the circle, it must also apply to p 1, p 2, and p 3. Substituting (x’, y’) with p 1, p 2, and p 3 gives us: x’ y’ r 2 = 0 x’ x’ 2 x’ 0 + x’ y’ 2 2 – 2y’ 2 y’ 0 + y’ r 2 = 0 x’ x’ 3 x’ 0 + x’ y’ 3 2 – 2y’ 3 y’ 0 + y’ r 2 = 0 Subtract the first equation from the other two: 2x’ 2 x’ 0 + 2y’ 2 y’ 0 = x’ y’ 2 2 2x’ 3 x’ 0 + 2y’ 3 y’ 0 = x’ y’ 3 2

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 18 Fitting Circular Arcs to Edges This gives us two linear equations with two unknown variables x’ 0 and y’ 0. From these we can easily determine the center (x’ 0, y’ 0 ) of the circle. The radius of the circle can then be determined by: r 2 = x’ y’ 0 2. We simply add (x 1, y 1 ) to (x’ 0, y’ 0 ) to get the center (x 0, y 0 ) of the circle in the original coordinate system. Then we have completely determined the circle going through points p 1, p 2, and p 3.

October 14, 2014Computer Vision Lecture 11: Image Segmentation I 19 Fitting Circular Arcs to Edges In practice we usually have more than three edge points through which we want to fit a circular arc. One possible way to do the fitting in such a case is to take the two end points of those edges as points p 1 and p 2. Then we successively take every other edge point as point p 3 and fit a circular arc to each generated set of points p 1, p 2, and p 3. In each case, we measure the deviation of the arc from all edge points. The arc with minimum deviation is chosen as the curve model for these edges.