Computer Vision Lecture 16: Region Representation

Slides:



Advertisements
Similar presentations
電腦視覺 Computer and Robot Vision I
Advertisements

November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
E.G.M. PetrakisImage Segmentation1 Segmentation is the process of partitioning an image into regions –region: group of connected pixels with similar properties.
Computer Vision Lecture 16: Texture
Lecture 07 Segmentation Lecture 07 Segmentation Mata kuliah: T Computer Vision Tahun: 2010.
電腦視覺 Computer and Robot Vision I Chapter2: Binary Machine Vision: Thresholding and Segmentation Instructor: Shih-Shinh Huang 1.
Each pixel is 0 or 1, background or foreground Image processing to
September 10, 2013Computer Vision Lecture 3: Binary Image Processing 1Thresholding Here, the right image is created from the left image by thresholding,
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
Thresholding Otsu’s Thresholding Method Threshold Detection Methods Optimal Thresholding Multi-Spectral Thresholding 6.2. Edge-based.
Data Structures For Image Analysis
Region Segmentation. Find sets of pixels, such that All pixels in region i satisfy some constraint of similarity.
Processing Digital Images. Filtering Analysis –Recognition Transmission.
Segmentation Divide the image into segments. Each segment:
Segmentation (Section 10.3 & 10.4) CS474/674 – Prof. Bebis.
Information that lets you recognise a region.
E.G.M. PetrakisBinary Image Processing1 Binary Image Analysis Segmentation produces homogenous regions –each region has uniform gray-level –each region.
Image processing Lecture 4.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Chapter 10: Image Segmentation
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
OBJECT RECOGNITION. The next step in Robot Vision is the Object Recognition. This problem is accomplished using the extracted feature information. The.
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods Chapter 11 Representation & Description Chapter 11 Representation.
Digital Image Processing Lecture 20: Representation & Description
1Ellen L. Walker Segmentation Separating “content” from background Separating image into parts corresponding to “real” objects Complete segmentation Each.
CS 6825: Binary Image Processing – binary blob metrics
ENT 273 Object Recognition and Feature Detection Hema C.R.
Texture. Texture is an innate property of all surfaces (clouds, trees, bricks, hair etc…). It refers to visual patterns of homogeneity and does not result.
Intelligent Vision Systems ENT 496 Object Shape Identification and Representation Hema C.R. Lecture 7.
December 4, 2014Computer Vision Lecture 22: Depth 1 Stereo Vision Comparing the similar triangles PMC l and p l LC l, we get: Similarly, for PNC r and.
September 23, 2014Computer Vision Lecture 5: Binary Image Processing 1 Binary Images Binary images are grayscale images with only two possible levels of.
September 5, 2013Computer Vision Lecture 2: Digital Images 1 Computer Vision A simple two-stage model of computer vision: Image processing Scene analysis.
Digital Image Processing CCS331 Relationships of Pixel 1.
EDGE DETECTION IN COMPUTER VISION SYSTEMS PRESENTATION BY : ATUL CHOPRA JUNE EE-6358 COMPUTER VISION UNIVERSITY OF TEXAS AT ARLINGTON.
November 13, 2014Computer Vision Lecture 17: Object Recognition I 1 Today we will move on to… Object Recognition.
EECS 274 Computer Vision Segmentation by Clustering II.
Data Extraction using Image Similarity CIS 601 Image Processing Ajay Kumar Yadav.
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods Representation & Description.
December 9, 2014Computer Vision Lecture 23: Motion Analysis 1 Now we will talk about… Motion Analysis.
Image Segmentation and Edge Detection Digital Image Processing Instructor: Dr. Cheng-Chien LiuCheng-Chien Liu Department of Earth Sciences National Cheng.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
1 Artificial Intelligence: Vision Stages of analysis Low level vision Surfaces and distance Object Matching.
October 7, 2014Computer Vision Lecture 9: Edge Detection II 1 Laplacian Filters Idea: Smooth the image, Smooth the image, compute the second derivative.
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.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
Digital Image Processing
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],
Machine Vision ENT 273 Regions and Segmentation in Images Hema C.R. Lecture 4.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
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.
September 26, 2013Computer Vision Lecture 8: Edge Detection II 1Gradient In the one-dimensional case, a step edge corresponds to a local peak in the first.
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.
April 21, 2016Introduction to Artificial Intelligence Lecture 22: Computer Vision II 1 Canny Edge Detector The Canny edge detector is a good approximation.
Another Example: Circle Detection
Machine Vision ENT 273 Lecture 4 Hema C.R.
Image Representation and Description – Representation Schemes
COMP 9517 Computer Vision Segmentation 7/2/2018 COMP 9517 S2, 2017.
Mean Shift Segmentation
Computer Vision Lecture 12: Image Segmentation II
Slope and Curvature Density Functions
Computer Vision Lecture 5: Binary Image Processing
Fitting Curve Models to Edges
Computer Vision Lecture 9: Edge Detection II
Computer Vision Lecture 16: Texture II
Fourier Transform of Boundaries
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

Computer Vision Lecture 16: Region Representation Region Detection The split-and-merge algorithm is a straightforward way of finding a segmentation of an image that provides homogeneity within regions and non-homogeneity of neighboring regions. However, starting this algorithm with the entire image and cut it down hierarchically into quadrants can lead to unwanted results. It is often more appropriate to identify candidate regions in the image and use them as the units in the split-and-merge algorithm. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Region Detection Such candidate regions could be determined through variants of thresholding. We will always speak of brightness thresholding, but other features such as texture or color could be used as well. As you will see, prior knowledge about the scene can be helpful for correct region detection, such as intensity characteristics of objects, sizes of objects, fraction of the image occupied by objects, or number of different types of objects in the image. November 7, 2013 Computer Vision Lecture 16: Region Representation

P-Tile (Percentile) Method If we have a good estimate for the proportion of the image occupied by objects, we can use the very simple P-Tile method. This is possible, for example, in the case of optical character recognition, where the proportion of characters (objects) on a page does not vary a lot. To set the threshold for separating objects and background, we first compute a histogram of the intensity values in the image. Let us say that our estimate of the proportion of object pixels in the image is P%. November 7, 2013 Computer Vision Lecture 16: Region Representation

P-Tile (Percentile) Method intensity 255 count T (100 – P)% P% We set the threshold T so that P% of the pixels (area below the curve) have below-threshold intensity. These will be classified as objects, and the other pixels will be classified as background. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Mode Method If we cannot estimate the proportion of the image occupied by objects, then the P-Tile method cannot be applied. However, if we know that the objects have approximately the same brightness which is different from the background brightness, we can use the Mode method. Assuming that we have some Gaussian noise in our image, we expect our intensity histogram to be the sum of two normal distributions with parameters (1, 1) and (2, 2). November 7, 2013 Computer Vision Lecture 16: Region Representation

P-Tile (Percentile) Method intensity 255 count T 1 2 The result is the histogram shown in red. We would like to find the valley between the two peaks to set our threshold T. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Mode Method Usually, the two peaks are not separated as clearly as in the previous example. We need an appropriate algorithm to estimate the location of the valley between the two peaks. A simple but powerful algorithm based on “peakiness detection” is given on the following slide. It does not require a-priori information on any of the parameters 1, 1, 2 or 2. We just have to set a value for the expected minimum intensity difference between the two peaks. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Peakiness Detection Find two local maxima in the histogram H that are at some minimum distance apart. Suppose these occur at gray values gi and gj. Find the lowest point gk in the histogram H between gi and gj. Find the peakiness, defined as min[H(gi), H(gj)]/H(gk). Use smoothing before running the algorithm to avoid division by zero. Find the combination (gi, gj, gk) with highest peakiness. Use the value gk as the threshold value to separate the objects from the background. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Peakiness Detection This approach can easily be generalized to images with multiple objects having different intensity values. For n such objects we need to determine n different thresholds T1, …, Tn. T1 separates the background from the brightest object, T2 separates the brightest object from the second-brightest, and so on. We can adapt our peakiness detection algorithm to estimate the optimal values for these thresholds. November 7, 2013 Computer Vision Lecture 16: Region Representation

Limitations of Histogram Methods The main disadvantage of histogram methods is their disregard of spatial information. Obviously, spatial information is important: Pixels of similar brightness are even more likely to belong to the same object when they are spatially close to each other (surface coherence). Therefore, it is a good idea to use threshold methods in combination with spatial techniques such as split-and-merge. November 7, 2013 Computer Vision Lecture 16: Region Representation

Region Representation Depending on the purpose of our system, we may want to represent the regions that we detected in a specific way. There are three different basic classes of representation: array representation, hierarchical representation, and symbolic representation. We will now discuss these different approaches. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Array Representation The simplest way to represent regions is to use a two-dimensional array of the same size as the original image. Each entry indicates the label of the region to which the pixel belongs. This technique is similar to the result of component labeling in binary images. If we have overlapping regions, we can provide a mask for each region. A mask is a binary array in which 1-pixels belong to the region in question and 0-pixels do not. November 7, 2013 Computer Vision Lecture 16: Region Representation

Hierarchical Representation Hierarchical representation of images allows us to represent the visual information at multiple resolutions. This is useful for a variety of tasks in computer vision. For example, the presence and number of certain objects can be more efficiently detected at low resolution. Then object identification can be performed at high resolution. We will look at two techniques: pyramids and quad trees. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Pyramids A pyramid is a set of pixel arrays, each of which shows the same image at a different resolution. The level 0 image at the top of the pyramid consists of only 1 pixel. Each successive level has twice as many pixels in x and y direction as the level above it. Therefore, an n×n image is represented by levels 0 to log2n. The following slide shows the pyramid representation of a 512×512 image. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Pyramids November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Quad Trees Quad trees are a method for hierarchically representing binary images. The root of a quad tree stands for the entire image, and its 4 children represent the 4 quadrants of the image. If a quadrant is completely white or completely black, the corresponding node is marked white or black, respectively. Otherwise, the node is expanded, and its children represent the quadrants within the original quadrant. This process is repeated recursively until all pixels are represented. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Quad Trees November 7, 2013 Computer Vision Lecture 16: Region Representation

Symbolic Representation For each region, represent information such as: enclosing rectangle moments compactness mean and variance of intensity etc. In other words, symbolic representation of a region means that we describe its characteristics using a set of (typically numerical or categorical) parameters. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Data Structures How can we represent regions in computer programs? We will look at two different approaches: Region adjacency graphs, picture trees, and super grids. Region adjacency graphs are just undirected graphs, where each vertex represents a region. The edges in the graph indicate which regions are adjacent to each other. November 7, 2013 Computer Vision Lecture 16: Region Representation

Region Adjacency Graphs November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Picture Trees Picture trees are a hierarchical structure for storing regions. The rule for representation is the “is-included-in” relationship: All child regions are included in their parent region. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Super Grids If we want to represent region boundaries in an array, it is unclear to which region the pixels on the boundary belong (left: image; center: boundary). If we expand our grid (right image), the boundary can be indicated without ambiguity. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Chain Codes An interesting way of describing a contour is using chain codes. A chain code is an ordered list of local orientations (directions) of a contour. These local directions are given through the locations of neighboring pixels, so there are only eight different possibilities. We assign each of these directions a code, e.g.: 2 3 4 1 . 5 8 7 6 November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Chain Codes Then we start at the first edge in the list and go clockwise around the contour. We add the code for each edge to a list, which becomes our chain code. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Chain Codes What happens if in our chain code for a given contour we replace every code n with (n mod 8) + 1 ? The contour will be rotated clockwise by 45 degrees. We can also compute the derivative of a chain code, also referred to as difference code. Difference codes are rotation-invariant descriptors of contours. Some features of regions, such as their corners or areas, can be directly computed from chain or difference codes. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Slope Representation The slope representation of a contour (also called the -s plot) is like a chain code for continuous data. Along the contour, we plot the tangent  versus arc length s. Then horizontal line segments in the -s plot correspond to straight line segments in the contour. Straight line segments at other orientations in the -s plot correspond to circular arcs in the contour. Other segments in the -s plot correspond to other curve primitives in the contour. November 7, 2013 Computer Vision Lecture 16: Region Representation

Computer Vision Lecture 16: Region Representation Slope Representation Note that in this plot not the actual arc length is used, but its horizontal projection: November 7, 2013 Computer Vision Lecture 16: Region Representation

Slope and Curvature Density Functions The slope density function is the histogram of all slopes (tangent angles) in a contour. This function can be used for recognizing objects. We can also use the derivative of the slope representation, which we can call the curvature representation. Its histogram is the curvature density function. The curvature density function can also be used to recognize objects. Its advantage is its rotation invariance, i.e., matching two curvature density functions determines similarity even if the two objects have different orientations. November 7, 2013 Computer Vision Lecture 16: Region Representation

Examples of Slope Density Functions 0 90 180 270 0 90 180 270 360 Angle Density 0 90 180 270 360 Angle Density Square Diamond 0 90 180 270 360 Angle Density 0 90 180 270 360 Angle Density Circle Ellipse November 7, 2013 Computer Vision Lecture 16: Region Representation