IIT Bombay Project
Transcript of IIT Bombay Project
-
8/10/2019 IIT Bombay Project
1/24
Indian Academy of Sciences, Bangalore
Summer Research Fellowship Programme 2010
ame of SRF! SEJAL CHAUHAN
Regis"ra"ion o#! ENGS628
Ins"i"u"ion where wor$ing! IIT, BOMBAY
%a"e of &oining "he pro&ec"! 10thMAY,2010
%a"e of comple"ion of "he pro&ec"! 10thJULY,2010
ame of "he 'uide! Prof.SUBHASIS CHAUDHAI
Pro&ec" (i"le! !IDEO COMPOSTING UNDE !AYING
ILLUMINATION
1
-
8/10/2019 IIT Bombay Project
2/24
A"#$o%&'()'*'$t
I am extremely grateful to Prof. Subhasis Chaudhuri, Department of Electrical Engineering, Indian Institute
of Technology, Bombay, for being the prime source of guidance and inspiration in completion of the
project. I extend my heartfelt gratitude to Mr. R. Shanmuganathan for guiding me and helping me
overcome all the problems during the course of the project. He has been a perennial source of motivationand help behind my work. I thank Mr. Vishal Kumar for consistently channelizing my knowledge and
helping me overcome the initial hurdles in the project. I am thankful to Mr. Ranjith A. Ram with whose
cooperation I was able to do the desired project. I am thankful to Mr. Deven Patel and Mrs. Renu M. R. for
providing the necessary support and help in the lab. I thank Mr. Ronak Shah for his inspiration and help in
completion of the work. I am thankful to my colleagues and friends for motivating me for research and
providing constant support in difficult times.It has indeed been a great privilege for me to work in their
project group. I am indebted to Indian Institute of Technology, Bombay especially Vision and Image
Processing Lab for providing me with the necessary and imperative infrastructure and system support
towards the completion of my work. I am beholden to Indian Academy of Sciences, Indian National
Science Academy & the National Academy of Sciences, India for providing me with the opportunity and
financial support to undertake this project work.
2
-
8/10/2019 IIT Bombay Project
3/24
C'rt+f+"t'
This is to certify that the project titled, Video Compositing Under Varying Illumination, was
undertaken by Sejal Chauan2nd year B.Tech, Department of Electronics and Communication Engineering,
National Institute of Technology, Warangal as a part of Summer Research Fellowship Programme offered
by Indian Academy of Sciences, Indian National Science Academy & The National Academy of Sciences.
The work was completed under the guidance of Prof. Subhasis Chauduri, Department of Electrical
Engineering, IIT,Bombay during the time span of 8 weeks between 10 May 2010- 10 July 2010 and a
report on the same was submitted to Prof. Subhasis Chauduri, Department of Electrical Engineering, Indian
Institute of Technology, Bombay.
Prof. Subhasis Chauduri
Department of Electrical Engineering
Indian Institute of Technology, Bombay
3
-
8/10/2019 IIT Bombay Project
4/24
A-tr"t
Digital Computational Photography aims at replicating the real world scenes faithfully. But there exist
some short comings which have to be improved upon regarding the clarity of the video. One such being the
varying illumination causing the camera to self adjust the intensity of the overall image and hence, causing
distortions in clarity of desired image of the extracted object. This usually happens because of the automatic
gain control (AGC) of the camera. Tracking the moving object and self illuminating it helps us resolve the
problem. The algorithm being used here to extract the exact object is Chan-Vese active contour with
Stauffer Grimsons algorithm which helps in background subtraction using mixture of Gaussians. Chan-
Vese active contour without edges uses geometrical models and variational level set methods to find the
fitting energy functional which is then minimised and the parameters updated to extract the moving object.
The contours evolve depending on the kind of input image given to them and a mask which helps it decideits starting position. The input image has an influence of the light falling on the object which even distorts
the foreground obtained. So for bettering the images, we use k-means clustering method to obtain the best
possible masks which segment the original images and are used in the active contour model of Chan-Vese.
The masks can then be used to re-illuminate the object in the video.
4
-
8/10/2019 IIT Bombay Project
5/24
Co$t'$t
!+('o Co*/o+t+$) U$('r !r+$) I&&*+$t+o$
Acknowledgements
Certificate
Abstract
1 Introduction....61.1 Algorithm Used... 7
1.2 Required Knowledge.......7
2 Background.... 8
2.1 Existing Work .....8
2.2 AGC Estimator .......9
2.3 Chan-Vese model... 10
3 Present Work.. 11
3.1 K-means cluster method .. .12
3.2 Convex Hull....... 134. Experimentation and Results..... ..13
4.1 Application of various algorithms used. 13
4.2 Sample Problem ... 18
5 Conclusions and future work.22
6 Bibliography..... 23
5
-
8/10/2019 IIT Bombay Project
6/24
!+('o Co*/ot+$) U$('r !r+$)
I&&*+$t+o$1 I$tro("t+o$
Digital image processing is any form of signal processing for which the input is an image, such as a
photograph or video frame; the output of image processing may be either an image or, a set of
characteristics or parameters related to the image. Most image-processing techniques involve treating the
image as a two-dimensional signal and applying standard signal-processing techniques to it. There are
many applications to this field such as Computer vision, Face detection, Remote sensing, Morphological
Image Processing. The various fields where this is applied are Biological data visualization,Chemical
imaging,Crime mapping, Data visualization,Educational visualization,Geovisualisation, Information
visualization, Mathematical visualization,Medical imaging,Product visualization, Volume visualization.
In this project, we deal with background subtraction which is a process to detect a movement or significant
differences inside of the video frame, when compared to a reference, and to remove all the non-significant
components (background). The basic requirement from background subtraction algorithm is the ability to
detect motion elements accurately and to adjust to any background illumination.
Background subtraction is applied in many areas, such as surveillance system (to effectively segment the
only moving object), pose or gesture recognition. For instance while inspecting an ATM robbery. Theproblem that we are dealing with is the clarity of the object, in this case a robber. It is very important to
view his/her image with the best luminance which the present digital camera fails to capture due to limited
dynamic ranging.
In the past, some work has been done in the field of motion tracking in videos where the foreground is
separated from the background and any moving object is tracked. The main aim is to segment and extract
the object in such a way that all its features are visible and minimal noise is present. Many algorithms
involving spatial homogeneity, Kalman et al. [5] filter application, Watershed algorithm, Bayesian
technique have been used. The main reason for the failure of background subtraction methods in certain
cases is the lack of exploitation of spatial correlation in image intensity, whereas camera AGC affects the
intensity at a global level.
The next step would be to make sure the object is obtained properly via active contour evolution around the
object. These contours take up the video frame and the previous mask obtained as the input. The goal is to
evolve the contour in such a way that it stops on the boundaries of the foreground region. There are various
ways to define the evolution equation; for example, the contour might move with a velocity that depends on
the local curvature at a given point or the image gradient at that point. After extraction of the object, we use
the mask to brighten up the present object in the video which is only possible if the object is extracted
6
-
8/10/2019 IIT Bombay Project
7/24
perfectly. The artificial illumination is done by the Bhat et al.[10] algorithm.
The report is organized in such a manner that section 1 deals with the introduction of the problem and
various concepts involved. Section 2 deals with the previous existing work and section 3 revolves around
my work. Section 4 gives us the observations and results for different cases followed by conclusions and
references.
1.1 ALGORITHM USED
The Stauffer-Grimsons et al.[1] mulitimodal algorithm which uses the adaptive mixture of Gaussian
variables along with poisson solver et al.[9] and Kalman filter[5] to processes the image in gradient field.
The masks obtained from this algorithm have a lot of noise owing to automatic gain control of the digital
camera. So a robust algorithm which estimates the AGC while tracking is build so that this can be
eliminated and the masks hence obtained are freed from noise.
We then take these improved masks and with the help of active contours evolving around the object and
using level set method extract a finer outline. A function )(i, j , t) (the level-set function) is defined, where
(i, j) are coordinates in the image plane and t is an artificial time. At any given time, the level set function
simultaneously defines an edge contour and a segmentation of the image. The edge contour is taken to be
the zero level set {(i, j) such that)(i, j , t)= 0}, and the segmentation is given by the two regions {)> =0}
and {)< 0}. The level set function will be evolved according to some partial differential equation, and
hopefully will reach a steady state lim t->?)that gives a useful segmentation of the image.
Whenever we take a video which has various texture in the background, this algorithm fails while using
Chan Vese et al.[3] active contours as they even take the input image into consideration. So there is a need
to improve the input image such that the final mask obtained is the exact silhouette of the object. The k-
means clustering method is used.
This method of cluster analysis which aims to partition nobservations into kclusters in which eachobservation belongs to the cluster with the nearest mean. Euclidean distance is used as a metric and
variance is used as a measure of cluster scatter. A weighted distance measure utilizing pixel coordinates,
RGB pixel color and/or intensity, and image texture is commonly used.
1.2 REQUIRED KNOWLEDGE
Stauffer Grimson Model
The algorithm discusses modeling each pixel as a mixture of Gaussians and using an on-line approximation
to update the model. Ridder et al. [5] modeled each pixel with a Kalman Filter which made their system
more robust to lighting changes in the scene. For a pixel (x0,y0) at a time t, where I is the image, its history
is given by:
(1)
The probability of observing the current pixel value is given as follows,
(2)
where K is the number of distributions, i,tis an estimate of the weight (what portion of the data is
accounted for by this Gaussian) of the ith Gaussian in the mixture at time t, i,tis the mean value of the ith
7
-
8/10/2019 IIT Bombay Project
8/24
Gaussian in the mixture at time t, *i,tis the covariance matrix of the ith Gaussian in the mixture at time t,
and where is a Gaussian probability density function.
(3)
If none of the K distributions match the current pixel value, the least probable distribution is replacedwith a distribution with the current value as its mean value, an initially high variance, and low prior weight.
The prior weights of the K distributions at time t, k, t, are adjusted as follows
(4)
The and parameters for unmatched distributions remain the same. The parameters of the distribution
which matches the new observation are updated as follows
First, the Gaussians are ordered by the value of / . This value increases both as a distribution gains
more evidence and as the variance decreases. Then the first B distributions are chosen as the
background model, where
Pre processing of GradientsThis way the saturation is reduced in under- or over-exposed images. This is done by carefully modifying
their corresponding gradient fields. The following is the illumination change function.
++ ffv = (9)
This operationg is dependent on the values of and -which are the parameters involved, whereas fiis the image.
.,/...,//+2#0/.,/ ./
yxfyxfyxg iiii =
In the above equation, i is "he mean gradien" magni"ude of "he i"h image# 12#0,2#0 where "he image
3righ"ens up when "he 4alue is nega"i4e and is e5posed "o low illumina"ion when - is posi"i4e#
(his is "he 3asic e6ua"ion re6uired "o change "he illumina"ion of an o3&ec" in a 4ideo which is done in "he
o"her pro&ec" using "he mas$s o3"ained from "his e5perimen"#
2. BACKGROUND
8
(6)
(5)
(7)
(10)
(8)
-
8/10/2019 IIT Bombay Project
9/24
2.1 EXISTING WORK
Stauffer and Grimson [1] modelled each pixel as a mixture of Gaussians and an online EM Algorithm was
proposed by P. KaewTraKulPong et al. [8] to update the model. Even though 3 to 5 Gaussian distributions
are able to model a multi-modal background with difficult situations like shaking branches of tree, clutter
and so forth, there is a fact that this kind of pixel-based background modelling is sensitive to noise andillumination change. A lot of people presented a number of important problems when using background
subtraction algorithms, they proposed a solution using pixel, region and frame level processing, their
algorithm is capable of dealing with quick illumination changes, but their technique is based on a complex
gradient based algorithm.Foreground was analyzed as moving objects, shadow and ghost by combiningthe motion information. Whereas these works are effective to solve all the problems they mentioned, the
computation cost is relatively expensive for real-time video surveillance systems because of the
computation of optical flow.
The following formulae have been used in the past so far to extract the foreground from the background.
[11]
The variation in illumination is done in the gradient field which is non-conservative after processing. To
retrieve the images back from the processed gradients, possion equation solver et al.[9] has been used.
2.2 AGC ESTIMATOR
9
(11)
(17)
(15)
(18)
(16)
(12)
(13)
(14)
-
8/10/2019 IIT Bombay Project
10/24
When the effect of camera AGC is significant over a short span of time then Stauffer Grimson method fails
to update the background pixels correctly. AGC is positive when the object is darker than the background
and the whole scene is exposed to more light. While when the object is brighter than its surroundings then
AGC is negative. The AGC and exposure time affect the video frame at a global level so the temporal
intensity variation of the non-motion pixels can be expected to vary in an abrupt fashion but it is possible to
parameterize the intensity variation. To decrease the computational overhead we consider a few uniformly
spaced pixels for the purpose. A scatter plot is made which samples points in the best background imageand the current frame. All the points that lie beyond a certain threshold bandwidth at y=x line are
eliminated(outliers).
Transfer function graph
Background frame
C
U
R
R
E
N
T
F
R
A
M
E
10
-
8/10/2019 IIT Bombay Project
11/24
Fig 1In figure 1 we can see there is a lot of deviation from the band threshold which means AGC has a major role in
changing the image. So the parameters are updated accordingly. The best fit curves for red, green, blue colors are also
depicted.
Outliers= number of points lying outside the thin band of the scatter plot
Total number of points
If the outliers exceed a certain threshold then AGC is present and a best fit curve is obtained. Then the
background pixels mean and variance are updated so as to compensate for the AGC. The transfer function
fb,tfives us a good estimate of the intensity transfer characteristics between the best background estimate
and the current frame. So pre-processing of the mean of Gaussians is done before matching it with the
intensity of the current pixel intensity.
./.1/ 1,,1,7
1, += tktbtktk f
Where -lies between 0.5 and 0.7
The variance undergoes a weighted update
1,,
7
,
7
1, .1/.1/ += tktktbtk f
When the video is too noisy then the parameters are updated as follows
..//,ma5 2
1,
7
,1,
2
1,
27
1, = tktbtktktk f
2.3 CHAN VESE MODEL
Depending on implementation, active contours have been classified as geometric or parametric active
contours. Parametric contours, irrespective of representation, are known to suffer from the problem of
irregular bunching and spacing out of curve points during the curve evolution. In a spline-based
implementation of active contours, this leads to occasional formation of loops locally, and subsequently the
curve blows up due to instabilities. Initialization is problem which is overcome in this experiment as the
masks that are obtained from tracker algorithm is given to the active contour algorithm.
Chan-Vese[3] algorithm uses variational calculus methods to evolve the level set function. Variational
methods work by seeking a level set function that minimizes some functional. In this context, by functional
we mean a mapping that takes a level set function as input, and returns a real number.
Euclidean curve shortening equation
Energy of snakes is given by
WhereEint represents the internal energy of the curve, position vector v(s) = (x(s),y(s)), and -are
parameters that are set by the user with subscripts being the derivatives.
consider the contour with the position vector w = v1, v2,., vn, vi= (xi,yi).
11
(24)
(23)
(19
(20)
(21
(22
-
8/10/2019 IIT Bombay Project
12/24
The fitting energy where the minimizing level set function will define the segmentation, is given by
Where H is a Heaviside function, ,8,91,92and p are parameters selected by the user to fit a particular
class of images.
The Euler-Lagrange equations and the gradient-descent method are used to derive the following evolution
equation for the level set function that will minimize the fitting energy
The equation to reinitializing the energy for the snakes to keep evolving is given by
Where :t(0)=
at t=0
Flow Chart
12
(25)
(26)
(27)
(28)
-
8/10/2019 IIT Bombay Project
13/24
3PRESENT WORK
The experiment aims at achieving robustness and being able to apply to any scene. The masks presently
obtained from various algorithms give us an idea only about the position of the object and somewhat the
shape. We have tried to approach the exact extraction of the silhouette of the moving object by theapplication of k means cluster segmentation to the appropriate active contour model such that the best mask
is approached. We have even included all those situations in which a particular algorithm would work. In
case of a video wherein the background is plain, the algorithm almost achieves the perfect mask. But in
case of a more natural background, there are extra artifacts included in the masks which distorts them. So
we even try to overcome it by morphological operations before they are inputted to the final active
contours.
3.1 K-MEANS CLUSTER SEGMENTATION
This is used to segment the original image in such a manner that two of the clusters combine to complete
the object which needs to be extracted. The processed image can then be properly used as an input to the
active contour model without the final mask being distorted. Clustering is a way to separate groups of
objects. K-means clustering treats each object as having a location in space. It finds partitions such that
objects within each cluster are as close to each other as possible, and as far from objects in other clusters as
possible. The rgb images are first converted to l*a*b and the approach is to choose a small sample region
for each color and to calculate each sample region's average color in 'a*b*' space. We use these color
markers to classify each pixel.
13
-
8/10/2019 IIT Bombay Project
14/24
3.2 CONVEX HULL
In mathematics, and computational geometry, a Delaunay triangulation for a set P of points in the plane is
a triangulation DT(P) such that no point in P is inside the circumcircle of any triangle in DT(P). Delaunay
triangulations maximize the minimum angle of all the angles of the triangles in the triangulation; they tend
to avoid skinny triangles. Convex hull gives us the non-ambiguous and efficient representation of the
required convex shape constructed.
(25)
Though this was a method which will help us find the exact outline of the object in a frame but it only gave
us the points which fell on the outline and it did not help much to achieve the exact mask.
4 EXPERIMENTS AND RESULTS
4.1 APPLICATION OF VARIOUS ALGORITHMS USED
4.1.1 ACTIVE CONTOUR
Fig 1.1 fig 1.2
In the fig 1.1, an image is take whose object needs to be extracted. In fig 1.2 the man walking is grasped by the
contour along with his shadow.
Fig 1.3 fig 1.4 fig 1.5 fig 1.6
Fig 1.3 is the object obtained after 180 iterations with =0.8, fig 1.4 is the object extracted after 180iterations when =0.2. Fig 1.5 is the image of the object extracted after 1800 iterations with=0.8, fig 1. is after 1800 iterations with =0.2 in the !han "ese mode# of acti$e contours.
14
-
8/10/2019 IIT Bombay Project
15/24
We observe the higher the value of alpha, the lower its chances of the object boundary being distorted.
Also we notice that the number of iterations also actively contribute in extracting the object. This is due to
the energy function being minimized and evolved a large number of times such that they distort the output.
Then the surrounding background pixels also start involving in the robust algorithm.
Fig 1.7 fig 1.8
Fig 1.7 is the mask given to the Chan Vese model of active contour and fig 1.8 is the output obtained.
If we notice carefully, the contour has grabbed only those parts of the mask which are not very illuminated
in the actual image.
Fig 1.9 fig 1.10 fig 1.11
Fig 1.12 fig 1.13
Figure 1.9 is the mask obtained from Stauffer Grimson[1] , fig1.10,fig 1.11,fig 1.12,fig 1.13 are the outputs of active
contours run at different iterations.
Here the original mask is better in those areas which are well illuminated. But the contour is covering up all
the holes in the darker region of the actual region. This shows us that active contour will fail if the input
image has different illuminations on the object. So the k cluster method should be adopted to segment the
objects image and combine those in which the object becomes complete regardless the illumination
without including the background.
15
-
8/10/2019 IIT Bombay Project
16/24
4.1.2 CONVEX HULL
Fig 2.1 fig 2.2
Fig 2.3 fig 2.4
Fig 2.5 fig 2.6
Figure 2 shows us the implementation of convex hull. Fig 2.1 shows us the original input image, fig2.2 gives us the
mask from the tracker code, fig 2.3 is the morphologically improved image mask, fig 2.4 is the foreground extracted
when fig 2.1 and fig 2.3 are fed to the active contours, fig 2.5 is the close up version of the object, fig 2.6 is the
convex hull obtained of the object.Note: fig 2.6 can not be used to retrieve the best possible mask.
4.1.3 K-means Cluster Segmentation
With fig 2.1 being the input, we apply k-means cluster segmentation and obtain the following results.
16
-
8/10/2019 IIT Bombay Project
17/24
Fig 3.1 fig 3.2
Fig 3.3 fig 3.4 fig 3.5Fig 3.1 gives us the first segmented image cluster where the object is lowly exposed, fig 3.2 gives the second
segmented image cluster where the object is highly exposed, fig 3.3 gives us the third image cluster which comprises
of the background, fig 3.4 is the combination of cluster 1 and 2 which is given as the input to active contours, fig 3.5
is the almost perfect mask obtained from the image.Note: The drawback here is missing hair in the final mask
obtained.
4.1.4 ILLUMINATION VARIATION IN A GIVEN IMAGE
Fig 4.1 fig 4.2
17
-
8/10/2019 IIT Bombay Project
18/24
Fig 4.3 fig 4.4 fig 4.5In these figures, illumination variation has been applied. Fig 4.1 is the input image1, fig 4.2 is the image obtained by
processing image1 and setting the -value as negative for brighter exposure; fig4.3, fig 4.4,fig 4.5 are images
obtained while the values of - were posi"i4e#
.1.3 $$+$) of th' Stff'r Gr+*o$ "o(' %+th th' AGC 't+*tor
Fig ;
In fig ;, "he "op lef" corner has a grid which is di4ided in"o four par"s where "he "op lef" grid shows "he curren" frame
3eing processed, "op righ" shows "he image o3"ained af"er "rac$er algori"hm was applied, 3o""om righ" shows "he
ou"pu" af"er "he A'< es"ima"or has rec"ified "he mas$ 3y reducing "he noise dras"ically and 3o""om lef" shows "he 3es"3ac$ground image= whereas "he righ" image shows "he "ransfer func"ion graph of "he curren" frame#
18
-
8/10/2019 IIT Bombay Project
19/24
-
8/10/2019 IIT Bombay Project
20/24
which is due "o "he num3er of ou"liers e5ceeding "he 3and "hreshold in "he "ransfer func"ion and "he A'< more "han i"
can 3e compensa"ed#
A//&+"t+o$ of 5*'$ C&t'r S')*'$tt+o$
Fig ;#2#@ fig ;#2#
Fig ;#2#
C
Fig ;#2#D fig ;#2#10Fig 4.2.6 is the frame evaluated; fig 4.2.7 is the k-means cluster segmented image where two of the clusters have
been combined to make sure the dark and the light parts of the object are included; fig 4.2.8 is the mask obtainedfrom the tracker code with AGC estimator; fig 4.2.9 is the final mask obtained by using the original frame and
previous mask in active contour model; fig 4.2.10 is the final mask obtained by using the k-means clustered image
and tracker code mask
20
-
8/10/2019 IIT Bombay Project
21/24
Co*/r+o$ -'t%''$ -"#tr"#+$) $( tr"#'r "o(' *#
Fig 4.2.11 fig 4.2.12In fig 4.2.11 is the mask obtained by feeding the previous better masks in the active contour along with the current
frame which is segmented by k-means cluster. Fig 4.2.12 is the mask obtained by the tracker code with AGC
estimator.
Backtracking
Fig 4.2.13 fig 4.2.14Fig 4.2.13 is the original frame and fig 4.2.14 is the output obtained by applying backtracking which turns out to be
more accurate. The last mask is first given as the input to active contour along with their corresponding frame and the
mask obtained is iteratively fed to the active contour model with the previous frame. This makes sure that the noise
level remains in control.
B"#tr"#+$) $( 5*'$ C&t'r+$)
Fig 4.2.15 fig 4.2.16 fig 4.2.17Fig ;#2#1? is "he segmen"ed image, fig ;#2#1@ is "he mas$ o3"ained 4ia 3ac$"rac$ing and fig ;#2#1 is "he image mas$
o3"ained when "he algori"hm is carried ou" se6uen"ially from "he 3eginning#Note: We can see the improvement in the
backtracking algorithm.
21
-
8/10/2019 IIT Bombay Project
22/24
Shortcoming of the algorithm
Fig 4.2.18 fig 4.2.19Fig ;#2#1 is "he mas$ o3"ained from "he algori"hm "ill where "he noise is "olera3le, fig ;#2#1D is "he mas$ o3"ained
"owards "he end when A'< is "oo high#
Ee will no"ice "ha" when a lo" of pi5els e5ceed "he 3andwid"h of "he "ransfer func"ion graph, "he algori"hm
is no" a3le "o compensa"e for "he gain and a dis"or"ed mas$ is o3"ained which e4en segmen"a"ion is no" a3le"o o4ercome#
Fig ;#2#20 fig ;#2#21
Fig 4.2.20 is the mask obtained when the segmented clusters are not chosen and any two random ones combines togive the input image to active contour model, fig 4.2.21 is the mask obtained after selecting the clusters.
22
-
8/10/2019 IIT Bombay Project
23/24
CONCLUSIONS AND FUTURE WORK
We have approached towards developing a novel technique for extracting the best possible mask from the
frames of a video. The k cluster method used has given better results than the previous methods existing.
But the shortcoming is that it requires user input for selecting any two clusters completing the object. The
k-means cluster segmentation takes O(n) time and can be used in real time programs. Further work can bedone on this field so as to make it more robust and less dependent on the user inputs. We notice that the
noise is intolerable when the AGC is very high, failing the segmentation with contour method in such cases.
We also noticed that convex hull would not be able to help us in regaining the masks as they only give
some points lying on the outline of the object making it more vulnerable to distortions. Another
shortcoming of the k-means cluster segmentation is that if the color of the object matches with some of the
background components then the active contour will also grasp other artifacts distorting the final mask
obtained. We also infer that there is a need for morphological operations in case the background is more
natural with a lot of other objects.
We have shown that we are able to produce significant improvements in the masks by applying active
contours to the cluster segmented images. Moreover, the computational complexity is taken only by the
active contour algorithm. In future, we can build up an algorithm which will cluster the image in such a
way that the shadow along with other static objects can be detected and eliminated from the final masks.
23
-
8/10/2019 IIT Bombay Project
24/24
BIBLIOGRAPHY
[1] Grimson, W., & Stauffer, C. (1999). Adaptive background mixture models for real-time tracking.IEEE
Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'99).
[2] Agrawal, A., & Raskar, R. (2007). Gradient Domain Manipulation Techniques in Vision and Graphics.
International Conference on Computer Vision 2007 course.
[3] T. Chan and L. Vese,Active contours without edges, IEEE transactions on image processing
10(2) (2001), pp. 266-277
[4] S. Nandagopalan, Dr. B. S. Adiga, C. Dhanalakshmi, RDCS(USA) FIAE, FASE, N. Deepa: Automatic
Segmentation and Ventricular Border Detection of 2D Echocardiographic Images Combining K-MeansClustering and Active Contour Model. In: IEEE Second International Conference on Computer and
Network Technology, 2010. (447-451)
[5] Christof Ridder, Olaf Munkelt, and Harald Kirchner. Adaptive Background Estimation and Foreground
Detection using Kalman-Filtering, Proceedings of International Conference on recent Advances in
Mechatronics, ICRAM95, UNESCO Chair on Mechatronics, 193-199,
1995.
[6] Perez, P., Gangnet, M., & Blake, A. (2003). Poisson image editing. SIGGRAPH 2003, (pp. 313318)
[7] Tianci Huang, JingBang Qiu, Takeshi Ikenaga, "A Foreground Extraction Algorithm Based onAdaptively Adjusted Gaussian Mixture Models," ncm, pp.1662-1667, 2009 Fifth International Joint
Conference on INC, IMS and IDC, 2009
[8] P. KaewTraKulPong and R. Bowden, An Improved Adaptive Background Mixture Model for Real-
time Tracking with Shadow Detection, Proc.2nd European Workshop on Advanced Video Based
Surveillance Systems, AVBS01, 2001.
[9] Khabou MA, Hermi L, Rhouma MBH (2007) Shape recognition using eigenvalues of the Dirichlet
Laplacian. Pattern Recognit 40: 141153
[10] Bhat, P., Curless, B., Cohen, M., And Zitnick, L., 2008. Gradientshop - image and video processing.
http:/www.GradientShop.com, May 2008
[11] S. Chandran and A.K. Potty , Energy minimization of contours using boundary conditions.IEEE
Trans. Pattern Anal. Machine Intell.20 5 (1998), pp. 546549.