SEGMENTATION USING
MACHINE LEARNING
TECHNIQUES
Sakib Ahmed 15.01.04.093
Shamit Ahmed 15.01.04.101
Samiur Rahman 15.01.04.092
Sarwar Saif 15.01.04.091
PRESENTED BY
MAKES SEGMENTATION EASIER
AUTOMATIC HUMAN BRAIN
06/30/2018 1
Dr. Nusrat Sharmin
Assistant Professor,
Department of CSE
SUPERVISED BY
WHAT IS MRI and
DMRI ?
Tractography is the 3d representation of
the white matter of a brain with the help
of 3d polylines.
Also known as steamlines
Done with tractography algorithms using
Defusion MRI data
defusion mri-
is a special type of mri which only deals
with white matter data
images
We often mistaken by thinking
that MRI and DMRI are
similar.
The main difference is that
MRI focuses on both white
and grey matter of the brain
whereas DMRI solely focuses
on white matter.
Through MRI we cannot
identify the neurons because
mri image can reach upto 1
cubic mm (or maybe a little
smaller), which contains 100,000
neurons.
Here where DMRI plays its role.
DMRI measures molecular
diffusion of water in the brain
tissues and the image contrast is
based on the same
MRI DMRI
1 cubic mm Microscopic level
2D representation of neurons bundle 3D representation of individual neurons
06/30/2018 2
WHAT IS MRI AND DMRI?
3
06/30/2018
DMRI Raw
Images
Whole Brain
Tractogram
DATASET
Tractography
Cordinates stored in
3D Matrix
TRACTOGRAPHY DATA
No of Streamlines
No of Points
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
3D Co-ordinates
Values
The main Problem to be solved (before jumping in we
must know)
what are tracts?
Streamlines belonging to the same anatomical
structure are called tract or bundle.
The problem of grouping or organizing streamlines of
the whole tractogram into anatomically meaningful
tracts is known as the tract segmentation problem.
example- cst image/ functioanlity/disease
06/30/2018 4
WHAT IS TRACT SEGMENTATION?
Segmented Tract
Whole
Brain
Tract Segmentation
Segmented
Airplane
Image
Segmentation
Segmentation
Tract Segmentation and
Applications
The main Problem to be solved (before jumping in we
must know)
what are tracts?
Streamlines belonging to the same anatomical
structure are called tract or bundle.
The problem of grouping or organizing streamlines of
the whole tractogram into anatomically meaningful
tracts is known as the tract segmentation problem.
example- cst image/ functioanlity/disease
Nerve affected by ALS
Stephen Hawkin’s
amyotrophic lateral
sclerosis, "ALS"CST tract which is related to brain hemorrhage
06/30/2018 5
WHY TRACT SEGMENTATION?
06/30/2018 6
Machine
Learning
Techniques
(Ex: NN)
Test Data
Training
Data
Segmented
Tract
SUPERVISED TRACT SEGMENTATION
KD-Tree Based Nearest Neighbour
One Class SVM
PROPOSED METHODS
06/30/2018 7
1
2
3
4
5
1
2
3
4325
424
7 4
5 3
64
435
61
842
123 4 5
1
2
3
4
3
4
5
1
2
3
4
NEAREST
NEIGHBOR
06/30/2018 8
NEAREST NEIGHBOUR
NEAREST NEIGHBOUR APPROACHES
06/30/2018 9
NEAREST NEIGHBOUR (SDMC)
Whole Brain Tractogram
Example Tract
06/30/2018 10
NEAREST NEIGHBOUR (FDMC)
FDMC
06/30/2018 11
Subject 161731: 1,17,354 streamlines
65 points per streamline on average
Three dimensional points (x,y,z)
Euclidean distance : 65*65 or, 4225
points
Total calculation of 1,17,354*4225 or
49,58,20,650 points
Subject 100307 brain consists of 1,17,354 tracts
Each tract consist of 65 points on average
Each point represented by three dimensions (x,y,z)
Euclidean distance calculates distance between 65*65 or, 4225 points
and then return the average value for each 117354 tracts which results in a total
calculation of
1,17,354*4225 or 49,58,20,650 points
Disadvantages
Takes a lot of time to calculate the distance matrix
Can’t run larger datasets in computers without GPU and 12gb RAM
To get faster results high end CPU and GPU are required
Let’s talk about the drawbacks of nn.
First of all it takes a lot of time to calculate the distance matrix
So, the reason is why?
Let’s take a deep look
Here’s a example of subject 161731
It has 1,17,354 streamlines.
Each streamline has 65 points on avg and each point is represented by 3 dimensions
To measure the Euclidean distance, we need a total calculation of more than 49 core
Which is huge for mid tier CPUs
To compute this huge data it required a GPU and a minimum of 8 GB ram
06/30/2018 12
Distance Matrix Calculation
DRAWBACKS OF FDMC
Subject
100307
1,17,354
streamlines
65
points 65
points
65*65 or, 4225
points
1,17,354*4225 or
49,58,20,650 points
DOWNSAMPLING + FDMC
FDMC
DS+FDMC
FDMC
06/30/2018 13
06/30/2018 14
WHY DOWNSAMPLING?
Subject
100307
1,17,354
streamlines
12
points
12
points
144
points
1,68,98,97
6 points
29 times less
than FDMC
11/27/2018 14
Distance Matrix Calculation after Downsampling
WHY TREE-BASED NN?
4*6 = 24 datapoints
Distance Matrix
Binary Tree
6 datapoints only
Less memory required
Huge memory required
Huge computation needed
Larger search time
Little search time
Less processing time
06/30/2018 15
NEAREST NEIGHBOUR (DS + KD-TREE)
DS+KD-Tree
DS+FDMC
06/30/2018 16
No
de
6
Root
Yes
No
X > 0.53
Node 1 Node 2
Yes
No
Node 3 Node 4
Y > 0.64
Yes
No
Node 5
Node 6
Y >0.61
Yes
No
Node 7 Node 8
X > 0.75
11/27/2018 17
Search
Space
Now before going to our next
proposed method
lets take a look at what is kd tree?
Here’s a 2D search space which
consists of different points
We take the median value of x
axis from all the points and make
it root node
Then on the basis of median point
we divide into two nodes which
divide the whole
Search space into two.
Then we take the median values
on the basis of Y axis then divide
the search space
into different nodes
And then we continuously repeat
1 and 2 to cover the whole search
space.
WHAT IS KD-TREE?
KD-TREE IN TRACT SEGMENTATION
0 1 2 3 . . . . 34 35
0,1,2,,34,35
0,1,2,3,…,34,35 0,1,2,3,…,34,35
0,1,2,3,………,34,35
0,1,2,3,………,34,35
0,1,2,3,………,34,35 0,1,2,3,………,34,35
0,1,2,3,………,34,35
0,1,2,3,
………,
34,35
0
1
2
3
.
.
.
.
.
1,17,354
Full brain (
117354 x 36)
Tree construction
0 1 2 3 . . . . 34 35
0
1
2
.
.
.
2000
Subject tract (
2000 x 36)
KD
Query
Down
sampling
1
2
3
06/30/2018 18
NEAREST NEIGHBOUR APPROACHES
06/30/2018 19
ONE CLASS SVM
06/30/2018 20
ONE CLASS SVM IN SEGMENTATION
06/30/2018 21
DRAWBACKS
Memory
Limit
exceed
Huge
Matrix
Huge
Matrix
06/30/2018 22
ONE CLASS SVM WITH SUBSAMPLING
With
Preprocessing
Without
Preprocessing
06/30/2018 23
ONE CLASS SVM ACCURACY COMPARISON
06/30/2018 24
ONE CLASS SVM TIME COMPARISON
06/30/2018 25
SEGMENTED TRACTS
06/30/2018 26
Tractography has become
quite prevalent in bangladesh.
Doctors seek for more
accurate and fast tract
segmentation
Supervised segmentation is
the best approach for fast
segmentation.
In future We hope to deploy
our implementation as a
website for mass usage.
Conclusion
Improve
Accuracy
Faster
One Class
SVM
Clinical
Application
Neural
Network
06/30/2018 27
FUTURE WORK
1. In this thesis, we have
investigated different
supervised tract
segmentation techniques.
2. We have implemented
the Nearest neighbor and
proposed a fasted
implementation of NN.
3. In contrast with SVM,
we have proposed here
one class SVM for tract
segmentation.
06/30/2018 28
CONCLUSION
Investigation on different supervised tract segmentation
techniques.
Fastest Nearest Neighbour approach in the literature.
Addition of One Class SVM in tract segmentation.
In our thesis, we investigate different
Supervised tract segmentation techniques.
According to our investigation, we recommend
The use of Kd tree based nearest neighbor to
Segment tracts faster in any cpu.
Furthermore, we propose the addition of
One class svm in tract segmentation for better
accuracy.
KD-TRACTSEG
06/30/2018 29
KD-TRACTSEG
06/30/2018 30
KD-TRACTSEG
06/30/2018 31
THANK YOU
06/30/2018 32
Q & A
TO POLISH OUR INVESTIGATION
06/30/2018 33
Sakib Ahmed 15.01.04.093
Shamit Ahmed 15.01.04.101
Samiur Rahman 15.01.04.092
Sarwar Saif 15.01.04.091
PRESENTED BY