Overview
The goal of image segmentation is to partition image into meaningful
areas, such as distinguishing the object from its surrounding.
Image segmentation is useful for many applications. Such as Robotics,
Security, and Medical Imaging. Since there is no general solution to the
image segmentation problem, the algorithm will be choosen and optimized according to
a specific application according to the user's needs.
There are mainly two approaches used in image segmentation algorithms,
Region-based and Edge-based.
Region-based aim at partitioning the image by progressively fitting
statistical models to the features of each region – global approach.
Features vector could be the intensity (gray scale), color, motion and
etc. An image segmentation based on Bhattacharyya Gradient Flow is
an example for such an approach.
Edge-based approaches are based on energy-minimization of the local
image characteristics around the contour – local approach.
Purpose
In this project, a region-based image segmentation algorithm based on Bhattacharya [1] with Optical Flow [2] has been implemented. In simple terms: it's a global approach as in the region-based standard algorithms, while velocity is the feature utilized in the statistical formulas – not colors.
We present two models of the algorithm which are basically the same, except the features. The main model is based on two-dimensional feature vectors – one can think of velocity or low resolution RGB projected into two-dimensional space. The second model is based on one-dimensional feature vectors – gray scale intensity.
Motivation
The motivation behind our project was to find out if information regarding the object's movement –multiple frames– could help in acheiving a better results in image segmentation based on motion features , than an image segmentation of a single frame based on color features. Apparently, it approved to be true on most of the tests that we ran.
Example
In the following example, the advantage of using the information about movement is obvious. Note that in the second result below, the additional frame that has been used for calculating the optical flow is the preceeding frame of image you see.
The result of image segmentation based on color features (one frame).
The result of image segmentation based on motion features (two frames).
Example's Original Video
The frames has been captured from the following video:
References
[1] Michailovich, O. Rathi, Y. Tannenbaum, A. "Image Segmentation Using Active Contours Driven by the Bhattacharyya Gradient Flow" 2007
[2] T. Brox, J. Malik. "Large displacement optical flow: descriptor matching in variational motion estimation" 2011