Evaluation of Randomized Minimum Cut Based Image Segmentation

Image Segmentation is one of the major challenges in computer vision, since it is challenging to perform accurate segmentation that fulfills the requirements of all users and to do that within an acceptable time; While there are many algorithms for image segmentation most of the algorithms are biased towards a certain set of images and none of them can be guaranteed to work for all images. Moreover, the interests of the users also vary since in the same image two users may be trying to segment out two different objects. One of the most popular ways to perform image segmentation is to use graph cuts. The image is first converted into a graph where each pixel is a vertex and edges are drawn from each pixel to its four neighbors, the weights of which are defined based on the similarity of the pixels. The minimumcut algorithm can be used to perform image segmentation. However, there can be many minimum cuts in an image which represent different segmentations in an image. Though the option of presenting the user with a choice of all minimum cuts seems tempting at first, it is actually not practical since there can be exponentially many minimum cuts in an image [1]. The authors of [1] have designed an algorithm for sampling through the list of minimum cuts and presenting a user with some of the samples from which he can choose the minimum cut that best matches his needs. The algorithm is run for a number of iterations and in each iteration it choses one of the minimum cuts available on a random basis. A sampled subset of the results is presented to the user as different image segmentations from which the user can choose the one that suits his interests the best. The authors of [2] A. Gomsale and Bezáková enhanced the algorithm developed by authors of [1] to improvise the results of the algorithm, where in each iteration instead of choosing one minimum cut randomly they calculated the probability of each edge being a part of maximum number of minimum cuts and then made a choice of selecting an edge. The authors claimed that in general the segmentation produced by this probabilistic approach would be better than the segmentation generated by choosing a minimum cut randomly. Evaluation is the process of critically examining a program to make judgments about the program and to improve its effectiveness [3]. The algorithm developed by authors of [1] and [2] have not been evaluated against a very wide set of images and therefore the accuracy of their implementation and the limitations of their implementation are unknown. In this paper we perform an extensive testing and evaluation of their implementation to identify what data the images the algorithm is best suited for, when does the algorithm fail? How does it perform in comparison to the other existing algorithms? We use a dataset with a labeled ground truth to evaluate the results of the experiments. We have decided to use the measures of Precision and Jaccard Index to evaluate the system. We plan to compare the results of both algorithms in [1] and [2] and also evaluate as to in what cases the algorithm performs best/fails. The report will focus on giving an overview of the implementations of previous authors, the measures of evaluation, the experiments performed, the results of these experiments and key takeaway points.