The document describes research done at IIT Madras on texture analysis and image segmentation. It discusses using techniques like discrete wavelet transform, Gabor filtering, fuzzy c-means clustering, and constraint satisfaction neural networks to perform region-based texture segmentation and edge detection. The proposed methodology integrates region and edge information using a constraint satisfaction neural network to perform texture segmentation.
Water Industry Process Automation & Control Monthly - April 2024
fdocuments.in_image-texture-analysis.ppt
1. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Image Texture Analysis
Lalit Gupta,
Scientist, Philips Research
2. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Texture Analysis
Region based texture
segmentation
+
Texture Edge Detection
Textured image
3. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Region Based Texture
Segmentation
4. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Image histograms
R1 R2
R3 R4
R1 R2
R3 R4
5. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Classification using Proposed
Methodology
A1
V1
H1
D1
1ST level
Decomposition
DWT (Daubechies)
Dj
Dj
Filtering
FCM
Unsupervised
classification
Image
DCT
(9 masks)
DCT
(9 masks)
.
.
Gaussian
filtering
Gj
Gj
Smoothing
.
.
Fj
Fj
Feature
extraction
.
.
DWT: Discrete wavelet transform
DCT: Discrete cosine transform Ref: [Randen99]
6. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Input Image
Steps of Processing
DWT
A1 V1 H1 D1
FCM
.. .. ..
DCT
. . .
.. .. ..
Smoothing
. . .
.. .. ..
Mean
36 Feature images
. . .
7. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
(a) Input Image (b) DWT (c) Gabor filter (b) DWT+Gabor
(d) GMRF (e) DWT + MRF (f) DCT (f) DWT+DCT
Results using various Filtering Techniques
Ref: [Ng92], [Rao2004], [Cesmeli2001]
8. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Results (Cont.)
I1 I2 I3 I4 I5
Input images
I6 I7 I8 I9 I10
9. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Results (Cont.)
0
5
10
15
20
25
30
35
40
1 2 3 4 5 6 7 8 9 10
Image Index
Error
in
classification
(%)
DWT+Gabor DWT+MRF DCT DWT+DCT
Number of pixels incorrectly classified
Error in classification =
Total number of pixels
10. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Texture Edge Detection
11. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Proposed
Methodology
Filtering using 1-D Discrete Wavelet
Transform and 1-D Gabor filter bank
16 dimensional feature
vector is mapped onto one
dimensional feature map
Self-Organizing feature Map (SOM)
Smoothed image
Smoothing using 2-D symmetric
Gaussian filter
Edge map
Edge detection using Canny operator
Final edge map
Edge Linking
Input image
Smoothed images
Smoothing using 2-D asymmetric
Gaussian filter
. . .
16 filtered images, 8 each
along horizontal and vertical
parallel lines of image
. . .
Ref: [Liu99], [Canny86],
[Yegnanarayana98]
12. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Steps of
Processing
Input image
Filtered
images
...
...
Smoothed
images
Feature
map
Smoothed images
Edge
map
13. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Results
Input image Edge map Input image Edge map Input image Edge map
14. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Integrating Region and Edge
Information for Texture
Segmentation
We have used a modified constraint satisfaction neural networks
termed as Constraint Satisfaction Neural Network for Complementary
Information Integration (CSNN-CII), which integrates the region and
edge based approaches.
+
15. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Dynamic Window
Image Window
16. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Constraint Satisfaction Neural
Networks For Image Segmentation
1 < i < n
1 < j < n
1 < k < m
i
j
k
Size of image: n x n
No. of labels/classes: m
Ref: [Lin92]
17. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Constraint Satisfaction Neural Network
for Complementary Information
Integration (CSNN-CII)
Each neuron in CSNN-CII contains two fields:
Probability and Rank.
Probability: probability that the pixel belongs to the
segment represented by the corresponding layer.
Rank: Rank field stores the rank of the
probability in a decreasing order, for
that neuron.
0.1
0.5
0.4
Probabilities
3
1
2
Rank
18. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
The weight between kth layer’s (i, j)th, Uijk, neuron and
lth layer’s (q, r)th, Uqrl, neuron is computed as:
, , ,
2
1
1
ijk qrl
ij qr k l
R R
W
p m
Weights in the CSNN can be interpreted as constraints.
Weights are determined based on the heuristic that a neuron
excites other neurons representing the labels of similar
intensities and inhibits other neurons representing labels of
quite different intensities.
Where,
p: number of neurons in 2D neighborhood (dynamic window).
m: number of layers (classes).
Uijk: represents kth layer’s (i, j)th neuron.
Rijk: Rank for (i, j)th neuron in kth layer or Uijk neuron.
Ref: [Lin 92]
Uijk
Uqrl
Wij,qr,k,l
19. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Algorithm
• Phase 1:
– Initialize the CSNN neurons using fuzzy c-means results.
• The probability values obtained from FCM are assigned to
the nodes of CSNN. Ranks for each neuron are also
computed on the basis of initial class probabilities.
0.2 0.2 0.8
0.3 0.6 0.2
0.6 0.3 0.6
0.8 0.8 0.2
0.7 0.4 0.8
0.4 0.7 0.4
0.2, 2 0.2, 2 0.8, 1
0.3, 2 0.6, 1 0.2, 2
0.6, 1 0.3, 2 0.6, 1
0.8, 1 0.8, 1 0.2, 2
0.7, 1 0.4, 2 0.8, 1
0.4, 2 0.7, 1 0.4, 2 Rank
Probability
CSNN-CII
Layer-1
Layer-2
FCM output
20. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
S Uijk
Hijk
1
, , ,1 1
qr ij
ij qr k qr
U N
W O
, , ,
qrm ij
ij qr k m qrm
U N
W O
1
t
ijk
O
t
ijk
O
Hijk: sum of inputs from all neighboring neurons.
Oijk: the probability of (i,j)th pixel having a label k (Probability value assigned
to the Uijk neuron).
Nij: a set of neurons in the 3D neighborhood of (i,j)th neuron (considering
Dynamic window).
, , ,
qrl ij
t t
ijk ij qr k l qrl
U N
H W O
i
j
k
– Iterate and update the probabilities, edge map
and determine the winner label
Algorithm (Cont.)
21. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
0.2, 2 0.2, 2 0.8, 1
0.3, 2 0.6, 1 0.2, 2
0.6, 1 0.3, 2 0.6, 1
0.8, 1 0.8, 1 0.2, 2
0.7, 1 0.4, 2 0.8, 1
0.4, 2 0.7, 1 0.4, 2
CSNN-CII
Layer-1
Layer-2
1 2|1 1| 1
1
5 2 5
W
For neurons with rank=1
1 2|1 2|
1 0
5 2
W
For neurons with rank=2
, , ,
qrl ij
t t
ijk ij qr k l qrl
U N
H W O
1 1
5 5
0*0.2 *0.8 ... *0.8 ...
a
H
0.74
a
H
, , ,
2
1
1
ijk qrl
ij qr k l
R R
W
p m
0.26
b
H
Algorithm (Cont.)
1 0 0
1 0 0
1 0 0
Edge information
22. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
1
1
( )
( )
t t
ijk ijk
t
ijk m
t t
ijl ijl
l
Pos O O
O
Pos O O
if 0
( )
0 otherwise
X X
Pos X
if max
otherwise
t t
ijk ijl
t l
ijk
H H
O
0.74
a
H
0.26
b
H
0.6
a
O
0.4
b
O
a b
H H
Algorithm (Cont.)
0.2, 2 0.2, 2 0.8, 1
0.3, 2 0.6, 1 0.2, 2
0.6, 1 0.3, 2 0.6, 1
0.8, 1 0.8, 1 0.2, 2
0.7, 1 0.4, 2 0.8, 1
0.4, 2 0.7, 1 0.4, 2
CSNN-CII
Layer-1
Layer-2
23. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
1
ij
argmax O ( )
t t
ij
l
Y l
Labels to each pixel of an image are
assigned as:
Where,
l l m
0.1
a
O
0.1
b
O
Updated probability values:
0.7
a
O
0.3
b
O
0.2, 2 0.2, 2 0.8, 1
0.3, 2 0.6, 1 0.2, 2
0.6, 1 0.3, 2 0.6, 1
0.8, 1 0.8, 1 0.2, 2
0.7, 1 0.4, 2 0.8, 1
0.4, 2 0.7, 1 0.4, 2
2 2 1
2 1 2
1 2 1
Layer-1
Layer-2
Y
Where, 0.1
Algorithm (Cont.)
24. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Updating Edge Map:
B : Edge map obtained using lower threshold.
E : Edge map obtained using higher threshold.
Mij : the set of pixels in the neighborhood of pixel (i, j) in the
output image Y of size 2v+1, excluding edge pixels in E.
0
t
ij qr
t
qr
q v q q v
M Y r v r r v
E
Algorithm (Cont.)
Y
min( ) max( )
ij ij
M M
E
1
1 1
1 1 and min( ) max( )
0 otherwise
t
ij
t
ij ij ij ij
E
E B M M
Edge map at each iteration is computed as:
25. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
1
1 1
1 1 and min( ) max( )
0 otherwise
t
ij
t
ij ij ij ij
E
E B M M
Edge map at each iteration is computed as:
– Check the convergence condition, i.e., the number of
pixels updated in Y, at each iteration. If there is any
update go to second step.
B Y Updated edge map (E)
E
M
Algorithm (Cont.)
26. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
• Phase 2
– Iterate, and update edge map E, by removing extra
edge pixels and by adding new edge pixels.
1 1
1 1
0
ij qr
t
qr
q q q
L Y r r r
E
Lij is considered as:
0 1 and min( ) max( )
otherwise
ij ij ij
ij
ij
E L L
E
E
Edge map E is updated as:
Algorithm (Cont.)
Y
min( ) max( )
ij ij
L L
27. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
– Merge Edge map and Segmented map to get final
output.
Finally, new edge pixels are added where Eij = 0 and
min(Lij) max(Lij)
0 1 and min( ) max( )
otherwise
ij ij ij
ij
ij
E L L
E
E
E Y Updated edge map (E)
E Y Updated edge map (E)
Algorithm (Cont.)
28. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Final Output
Segmented map Edge map
– Merge Edge map and Segmented map to get final
output.
29. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Input Image
Segmented map
before integration
(Ref: [Rao2004])
Edge map before
integration
(Ref: [Lalit2006])
Segmented map
and Edge map
after integration
Results
30. "All truths are easy to understand once they are discovered; the point is to discover them." - Galileo
Work done in IIT Madras
Results
Input Image
Segmented map
before integration
(Ref: [Rao2004])
Edge map before
integration
(Ref: [Lalit2006])
Segmented map
and Edge map
after integration