Binary image segmentation is a technique to identify various segments in a digital image. The main goal of segmentation is to enhance the information content of the image and to provide a standardized representation of the reconstructed segments. Image segmentation can be used in various ways, its applications range from low-level vision like 3D-reconstruction and motion estimation to high-level problems like image understanding and scene parsing. This demonstrator shows the applicability of this method for different raw image types to illustrate the possibly large range of application areas.
The main focus of this work was not to reach good performance in terms of e.g. pixel accuracy. Instead, we focus on usability, computational efficiency and generalization.
Usability: unlike many of the existing systems, here, the training data may be incomplete, like e.g. in GrabCut binary segmentation, where a user provides only scribbles or bounding boxes marking some pixel as the background or foreground. In doing so, usually, most of image pixels remain non-marked. Actually, we only have ground truth information for the pictures of one use-case. This ground truth information is however not used for learning but only to check the results afterwards. To summarize, we employ semi-supervised learning using a quite incomplete user information.
Computational efficiency: most of the system is implemented for processing on a GPU. For the use-cases below, the full pipeline (computing features, learning, inference etc.) takes about a couple of minutes depending on the image's size.
Generalization: for each use-case, we learn only relatively few unknown parameters. In particular, we do not learn image features. We use a pre-trained Convolutional Neural Network to do this. The default values work quite stable and sufficient for most cases.
Further Information can be found here.