Glass

Breaking News: You Can Count On Us
Moderator: Byron Jacobs
Matthews Sejeso
Micheal Olusanya
Jordan Masakuna
Thato Mashigo
Nkosi Nathi
Industry Representative: Dario Punucchi
1 / 26
Introduction
Problem Statement: Cracking the mystery
To design an image processing tool that can localize and count cells
in a fracture pattern.
To better understand the mechanics of how such fracture patterns
form, partially in order to aid the tool in the point above, but also to
develop new insights that may lead to new quality control procedures.
2 / 26
Methods
Methods: It’s not all black and white
Segmentation of the image is the main goal of the work.
Watershed is a commonly used segmentation algorithm that is
modelled on distributing water across the image and segmenting the
image according to the pools that form at local minima.
Binarization is desirable to obtain a schematic representation of the
image.
However, the image cells may not be ‘sealed’ entirely making
segmentation algorithms perform poorly.
3 / 26
Methods
Binarization Technique
This byrinization technique combines a diffusion equation, to smooth noise
and outliers, with a cubic source term with a binarizing effect. The model
is given by
∂u
= cd ∇2 u + cs u(1 − u)(u − a)
(1)
∂t
where a is a threshold parameter calculated based on local statistical
properties of the image. The coefficients of diffusion and the source term
can be balanced to show preference to each of the processes. The model is
subjected to Neumann boundary conditions along the edges and the initial
state is given by the input image, u(x, y , 0) = Image(x, y ). This is then
discretized using an explicit finite difference scheme and implemented on a
massively parallel GPU architecture.
4 / 26
Numerical Experiments and Results
Binarization
Figure : Input image of shattered glass.
5 / 26
Numerical Experiments and Results
Binarization
Figure : Binarized image of shattered glass.
6 / 26
Numerical Experiments and Results
Binarization
Figure : Input image of shattered glass.
7 / 26
Numerical Experiments and Results
Binarization
Figure : Binarized image of shattered glass.
8 / 26
Numerical Experiments and Results
Delauny Mesh Generation
The shattered glass is very similar to Voronoi diagrams.
We can use a corner detection to isolate the intersections between the
cells and then fit a Delauny Mesh to these points, since Delauny
meshes are the duality of the Voronoi diagram.
9 / 26
Numerical Experiments and Results
Binarization
Figure : Delauny Mesh Connected to Corners.
10 / 26
Numerical Experiments and Results
A Morphological Approach
This approach uses a morphological opening on the binarized image.
Then the connected morphological components are computed and
their centres are found.
Each component is taken to be a glass cell.
11 / 26
Numerical Experiments and Results
Binarization
Figure : Morphological Components.
12 / 26
Numerical Experiments and Results
Delauny Mesh overestimates 410 cells, where length times breadth
estimates is 240. Potential upper and lower bound.
Morphological components count 168 cells in agreement with results
obtained later.
13 / 26
Numerical Experiments and Results
Filtering
Gaussian Filter
Gaussian filter smooths an image by computing the weighted averages
in a filter box.
g (x, y ) =
x2 + y2
1
exp
−
where (x, y ) is position of each pixel.
2πσ 2
2σ 2
Median Filter
Median filter replaces each entry by the median of neighboring entries.
14 / 26
Numerical Experiments and Results
Seperation of Background and Foreground
Otsu’s algorithm
If g (x, y ) is a thresholded version of f (x, y ) of a threshold t then :
(
1 if f (x, y ) ≥ t
g (x, y ) =
0 otherwise
Minimize intraclass variance.
Maximize interclass variance.
t−1
n−1
X
X
wb (t) =
p(i) and wa (t) =
p(i)
i=0
2
σin
(t)
=
wb (t)σb2 (t)
i=t
+ wa (t)σa2 (t)
2
σout
(t) = wa (t)[µb (t) − µ]2 + wa (t)[µa (t) − µ]2
15 / 26
Numerical Experiments and Results
Otsu’s Threshold Algorithm
Compute histogram and probabilities of each intensity level (pixel)
Initialize wi (0) and µi (0)
Step through all possible threshold t = 1, · · · , maximum intensity.
2 (t) and σ 2 (t).
Then update wi and µi and compute σin
out
2 (t) and to the
Desired threshold corresponds to the maximum of σout
2
minimum of σin (t)
Compute two different optimal thresholds a, b
desired threshold is d = a+b
2
16 / 26
Numerical Experiments and Results
Segmentation: The Random Walker Algorithm
This algorithm computes the probability that each node sends a random
walker to the seeds. The image is represented by a graph G = (V , E ),
where vi ∈ V (set of the pixels) and eij = (vi , vj ) ∈ E .
The edge Gaussian weighting function is given by :
(gi − gj )2
wij = exp −
σ
where gi is the image intensity at node vi and σ is the standard deviation
With xi real-valued variable associated with each node in G , the Laplacian
matrix L which is formed by V , E and wij , the random walker tries to
optimize the following energy :
Q(x) = x t Lx =
X
wij (xi − xj )2 and L = D − A = (`i,j )n×n
eij
17 / 26
Numerical Experiments and Results
Segmentation: Ambling Arbitrarily
Where
`i,j


deg(vi ) if i = j
:= −1
if i 6= j and vi is adjacent to vj


0
otherwise
where deg (vi ) is degree of the vertex i. with F and B the sets of
foreground and background seeds, the optimization is constrained by
xi = 1 for vi ∈ F and xi = 0 for vi ∈ B.
18 / 26
Numerical Experiments and Results
Counting: What’s on the tally?
Since our image is already labelled (segmented), it is easy to count the
number of labels (cells). To get the centroid of each region. Given a
sequence of masses and points like mi and (xi , yi ) for i = 1, · · · , p
mx =
p
X
mi × xi and my =
i=1
p
X
mi × yi
i=1
m=
p
X
mi
i=1
And then the centroid will be :
(x̂, ŷ ) =
mx my
,
m m
19 / 26
Numerical Experiments and Results
Figure : Image Processing : Tempered Glass
20 / 26
Numerical Experiments and Results
Supperpixels approach
What is superpixel? ...
Superpixels is a group of pixels which have similar characteristics.
Graph based algorithms - Each pixels is treated as a node in the
graph and the edges represent the similarity between the pixels.
Gradient-ascent based algorithms - Iteratively uses the gradient ascent
methods to refine the clusters until convergence.
21 / 26
Numerical Experiments and Results
Superpixels
SLIC Algorithm...
SLIC is a simple and efficient method to decompose an image into visually
homogeneous regions.
1
SLIC performs a local clustering of pixels in 5-D space defined by the
L, a, b values of the CIELAB colorspace and x, y coordinates of the
pixels.
2
It has a different distance measurement which enables compactness
and regularity in the superpixel shapes,
Ds = dlab +
3
m
dxy .
S
SLIC generates superpixels by clustering pixels based on their color
similarity and proximity in the image plane.
22 / 26
Numerical Experiments and Results
Superpixel
Results
The segmentation traces edges of a shattered glass.
23 / 26
Numerical Experiments and Results
Superpixel approach
Further work...
Merge superpixels which are positioned within the region of the
shattered glass.
Heuristic Approach
Bayesian Approach
24 / 26
Conclusion
Conclusion and Further Suggestions: We cracked it!
Physical models: Learning algorithm to learn the initial stress tensor
that minimizes final result when compared with binary image.
Segmentation by weighted aggregation: A multiscale segmentation
approach that coarsens a fine set of segments abiding by the image
edges.
Superpixels: Adaptive merging of cells to fit the glass cells.
Image guided fracture generation: Using the binary image as an
underlying guide on which to generate fracture.
25 / 26
Conclusion
Thank you!!
Questions? and Comments...
26 / 26
References
S. S. Gleason, K. W. Tobin, Directional dilation for the connection of
piece-wise objects: A semiconductor manufacturing case study, in:
Image Processing, 1996. Proceedings., International Conference on,
Vol. 3, IEEE, 1996, pp. 9–12.
Rashmi, Mukesh, Kumar and Rohini Saxena . Algorithm and technique
on various edge detection : A survey. Signal and Image Processing :
An international journal (SIPIJ) vol4, No 3, June 2013.
Leo Grady. Random walks for image segmentation. IEEE Transactions
and pattern analysis and Machine Intelligence, vol 28, No 11, Pp
1768-1783. November 2006.
Bryan S. Morse. Lecture 4 : Thresholding. Brigham Young University
1998-2000
26 / 26