iit bombay project

Upload: sejal2301

Post on 02-Jun-2018

256 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.