Download presentation
1
Recap CSC508
2
Low Level Vision Input Processing Output Image sensor data
Neighborhood operators Mathematical operators Local contextual operators Output Pixel based features CSC508
3
Mid Level Vision Input Processing Output Pixel based features
Statistical operators Mathematical operators Global contextual operators Output Objects CSC508
4
Mid-Level Vision CSC508
5
Intensity Region Segmentation
CSC508
6
Homogeneous Intensity Regions
Areas of constant intensity within the image May represent Objects Regions of interest Computed by [one method among many] Binarization Connected component analysis CSC508
7
Binarization (revisited)
Original Gray Level Image Binary Image CSC508
8
Binarization (revisited)
CSC508
9
Region Formation 1 2 3 4 Original Gray Level Image Marked Region Image
CSC508
10
Boundary Information Original Gray Level Image Region Boundary Image
CSC508
11
Finding Regions via Connected Component Analysis
In the input image the intensity of each region may be arbitrary In the binarized image the intensity of each region is 255 (maximum, or at least different from the background) The goal of connected component analysis is to “label” the pixels of each connected region with a value unique to that region CSC508
12
Connected Component Analysis
A simple recursive “flood-fill” algorithm will do the trick but… It is slow A large object will overflow the stack (memory intensive) Smarter algorithms can be found in the computer graphics, graph theory, and image processing literature CSC508
13
Connected Component Analysis
One algorithm works as follows: Pass 1: Assign labels to each object pixel Keep track of neighboring labels that belong to the same object Pass 2: Rectify associations Pass 2 is somewhat complex and comes from a language parsing algorithm – I won’t describe the details here CSC508
14
Connected Component Analysis
1 2 3 4 Original Gray Level Image Marked Region Image CSC508
15
Connected Component Analysis
Note that this image is “ideal” You might expect images as such in a manufacturing environment In less than ideal cases objects may get broken up or merged by thin lines, etc. Correction can be made through the use of Morphological operators Erosion Dilation More on Morphological operators next week CSC508
16
Boundary Extraction Once you have identified regions it is [conceptually] simple to extract their boundaries Find the upper-left most pixel of the region “Walk around” the region always keeping it to your right Keep track of the directions you step along the way (north, south, east, or west) Stop when you return back to the beginning This creates a chain-code of the region boundary From the chain-code you can compute the perimeter length and other descriptors CSC508
17
Boundary Chain-Code “*” marks the starting point (upper-left most pixel of the region) Resultant chain-code is NEEESESSSWSSWSWWWWNNNNEESENWN Resultant perimeter is 30 N E E E * S E N S N E E/W E N S N S E W S N S N W S W W W W S CSC508
18
Region Description CSC508
19
Object Description Now that we have identified objects we need a way to describe them that will facilitate recognition CSC508
20
Moments A set of descriptors for representing the shape of an object
Typically applied to an identified region but may be used with gray-level CSC508
21
Discrete Case Moment of an region (general definition) Central moments
0 if not in region 1 if in region (Object centroid) CSC508
22
Central Moments First few central moments: CSC508
23
Moment Features Centroids (average x and y locations)
Principle axis orientation CSC508
24
Convex Hull Another useful shape descriptor
The smallest convex border encasing the object Think of stretching a rubber band around the outside of the object and letting it wrap around it This will be the convex hull Input to the algorithm is a set of points These are the boundary points found previously CSC508
25
Region Descriptors Region: 1 Convex Hull Area: 27753.0 xBar: 171.26
yBar: theta: perimeter: 1098 Convex Hull Perimeter: 812 CSC508
26
Region Descriptors Region: 2 Convex Hull Area: 10390.0 xBar: 230.82
yBar: theta: 87.51 perimeter: 580 Convex Hull perimeter: 515 CSC508
27
Region Descriptors Region: 3 Convex Hull Area: 8049.0 xBar: 362.24
yBar: theta: -6.62 perimeter: 411 Convex Hull perimeter: 322 CSC508
28
Region Descriptors Region: 4 Convex Hull Area: 11203.0 xBar: 357.98
yBar: theta: perimeter: 648 Convex Hull perimeter: 520 CSC508
29
Region Descriptors Region: 5 Convex Hull Area: 14880.0 xBar: 92.5
yBar: 366.5 theta: 0.0 perimeter: 492 Convex Hull perimeter: 484 CSC508
30
Other Features Average Intensity Circularity or Compactness
p: perimeter, a: area CSC508
31
Things To Do Reading for Next (few) Week(s)
Chapter 14 – Segmentation by Clustering We’ll consider various clustering methods Chapter 15 – Segmentation by Models We’ll analyze the Hough Transform CSC508
32
Things To Do Homework Convex Hull Find an algorithm for computing the convex hull of a set of points Describe the algorithm in words Test the code Boundary Extraction Write the code to trace the boundary (chain code) of a specified region Print out the chain code symbols (start pixel row, column followed by a sequence of N E W S directions) Moments Code the μ00, μ10, μ01, μ11, μ20, μ02 moments You may write in any programming language you choose Deliverables: Zipped images in the source code to with the subject line CSC508 PROGRAM 3 Due beginning of class in two weeks (late assignments will be penalized 10%) I will post test images CSC508
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.