Basics of region representation and description Basics of region

Transcription

Basics of region representation and description Basics of region
Basics of region representation and description
Shape features
Topological
Geometrical
• connected components
• length and diameter of boundary
• numbers of holes
• skeleton
• Euler number
• center of the gravity
• higher order moments
• major and minor axis
• eccentricity
• others
1
Basics of region representation and description
Topological descriptors
• Topological properties are useful for global descriptions of regions in the
image. Topology is the study of properties of a figure that are unaffected
by any deformation, as long as there is no tearing or joining of the figure.
These deformation sometimes are called rubber-sheet distortions
• Number of connected components, number of holes and Euler number
are the invariant topological descriptors.
• For example, Euclidean distance is not a topological feature, since its
value is changing during stretching or shrinking the object. Similarly
perimeter or size of the area
• Topological descriptors, in addition to geometric features, are usually
additional description of the regions in the image
2
Basics of region representation and description
• Connected components C
The area contains three
connected objects C=3
C=1
• Number of holes H
H=1
H=1
H=2
• The Euler number E = C-H
E=0
E=-1
E=1
3
Basics of region representation and description
Skeleton of region
•
•
An important approach to representing the structural shape of a region is to
reduce it to a graph.This can be done by obtaining the skeleton of the region via
a thinning (skeletonizing) algorithm.
The skeleton line can be useful shape feature for character recognition,
inspections of printed circuit boards, image vectorization,etc.
bs=bwmorph(bw,'skel',inf);
4
Basics of region representation and description
• Distance measure on the image
1
– Euclidean distance
1
(x1,y1)
1
1
2
1
2
1
(x1,y1)
1
2
1
2
2
2
2
2
2
2
1
1
1
2
2
1
(x1,y1)
1
2
2
1
1
1
2
2
2
2
2
2
– 4-neighbors distance
– 8-neighbors distance
5
Basics of region representation and description
Geometrical descriptors
• Perimeter - length of the boundary
– For discrete grid, the real length of the edge is not the number of boundary points
1. Perimeter of the object equals the number of elements of the boundary (the simplest
method, but can produce a relatively large error of the estimator)
1
15 14
2
13
3
12
4
11
5
6
10
7
8
9
6
Basics of region representation and description
2. Perimeter of the object is equal to the sum of the segments length connecting
centers of contour pixels. It is assumed that the contour element is a square with
side equal to 1.
This method is more
accurate than the
method with the number
of boundary points
7
Basics of region representation and description
3. Perimeter of the object is determined based on the relationship
– the number of external sides of the contour points
– the number of vertices of the contour
This method provides a length
estimator with zero mean and a
minimum variance for segments
inclined at different angles
8
Basics of region representation and description
• Determination (tracking) of the internal boundary of the region
1.
2.
3.
4.
Search the image rows in sequence until you find the first point of region.
Mark this pixel as P0 (the starting point of the contour). Define the variable
dir storing the previous direction of movement along the boundary (from
the previous to the next point edge).
Assign
dir=3 for 4-neighborhood
dir=7 for 8-neighborhood
Search 3x3 neighborhood of the current pixel rotating counter clockwise
direction starting from
a) for 4- neighborhood:
(dir+3) mod 4
b) for 8- neighborhood:
(dir+7) mod 8 when dir is even number
(dir+6) mod 8 when dir is odd number
The first found point of the region is a new element Pn of the boundary.
Update the value of dir.
If Pn= P1 i Pn-1 =P0, then stop, else go to 2.
Internal boundary is determined by points P0,..., Pn-2
9
Basics of region representation and description
Directions for
1
2
Directions for
3
4-neighborhood
1
8-neighborhood
2
0
4
0
5
7
3
1
3
18 17
2
1
15 14
16 15
2
13
14
3
12
6
13
4
11
7
12
5
10 11
6
4
5
6
8
9
10
7
8
9
10
Basics of region representation and description
• Chain codes
1
2
3
5
3
2
2
3
1
2
4
0
6
7
4
3
1
5
2
1
6
2
0
1
6
2
3
1
7
0
6
3
3
1
4
0
2
2
3
0
0
323303300011112122
2
0
0
0
566760002222344
11
Basics of region representation and description
• Signatures
A signature is a 1-D functional representation of a boundary. Regardless of
how a signature is generated, the basic idea is to reduce the boundary
representation from 2-D to simpler form of 1-D function
– Distance versus angle signatures
[1]
12
Basics of region representation and description
• Statistical moments for digital images
– Geometrical moments of p,q order
- the number of region pixels (area of the object)
- center of gravity coordinates
(position of the object)
– Central moments
13
Basics of region representation and description
– Central moments of order up to 3 with using normal moments
These moments are the basis for determining the 7 moments
invariant to shift, rotation, and scale
14
Basics of region representation and description
• Hu moments (invariant to shift, rotation and scale transformation)
– Normalized central moments
– Hu moments
15
Basics of region representation and description
• Diameter of the boundary B (major axis)
Diameter
The ratio
describes object aspect ratio of the object
is the smallest diameter orthogonal to
• Eccentricity
Eccentricity can be defined as the ratio of the diameter of the object to the
maximum perpendicular diameter (feature invariant to the shift, rotation, and
scale)
- area of the object
16
Basics of region representation and description
• Circularity
Circularity ratio is a measure of the similarity of the shape of the area to the
circle. Circularity is a dimensionless ratio that is also independent of the linear
transformation (shift, rotation, and scale)
17
Basics of region representation and description
• The maximum and minimum radius
The radius
are respectively the longest and shortest radius derived
from the center of gravity of the figure.
The ratio
can be another measure of object aspect ratio
(elongation ratio)
18
Basics of region representation and description
• The minimum circumscribed circle
- number of pixels in the area
19
Basics of region representation and description
• The circumscribed rectangle
The circumscribed rectangle or minimum boundary rectangle - rectangle with the
smallest area that contains the given object, the direction of the longer side of
the rectangle is parallel to the direction of the axis of smallest inertia of the
object
- another ratio of elongation
20
Basics of region representation and description
• Determination of the position and orientation (direction) of objects
– Location of the object on the image can be determined by the coordinates of
the center of gravity of the area
- number of region pixels
– The orientation is defined for the slender objects. As the orientation is
assumed direction of the axis with the smallest inertia (which corresponds to
the direction of the longer side of the circumscribing or basic rectangle)
21
Basics of region representation and description
• Segmentation and counting of object in the image
Edge detection ?
With using erosion
i=imread('circles.png');
in=bwmorph(i,'erode',10);
[il,num]=bwlabel(in);
figure,imshow(in)
disp('Liczba obiektów:');num
22
Basics of region representation and description
– Counting of objects using distance transform
Distance transform is based on addition of intermediate results of the
subsequent erosion of the image
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
2
2
1
0
0
0
1
2
2
2
1
0
0
0
1
2
2
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
2
2
1
0
0
0
1
2
3
2
1
0
0
0
1
2
2
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
Example of Distance transform implementation in Matlab
s=[0 1 0; 1 1 1; 0 1 0];
in=uint8(ib);ib=uint8(ib);
for j=1:20
ib=imerode(ib,s);
in=in+uint8(ib);
end
23
Basics of region representation and description
– Example of distance transform for objects counting
Result of distance transform after
histogram stretching
Binarization
24
Basics of region representation and description
– Distance transform and watershed segmentation example
Distance
transform
Watershed
segmentation
25