Segmentation performances using active contours can be drastically improved if the possible shapes of the object of interest are learnt. The goal of this work is to use Kernel PCA to learn shape priors, in an unsupervised fashion. Kernel PCA allows for learning non-linear dependencies in data sets, leading to more robust shape priors than the one obtained using linear PCA, for instance.
The first step of learning using Kernel PCA consists in mapping a training set from Input Space I into Feature Space F. This mapping is possibly non-linear. PCA is then performed in Feature Space, to build the "Kenel PCA Space" (Subspace of F learnt from data). Any test point in I can then be mapped in F and projected onto the Kernel PCA Space. This is illustrated by the following schema:
The projection onto the Kernel PCA Space serves as a "shape prior" in our segmentation framework.
Some Experimental Results A training set of 4 words - "Orange", "Yellow", "Square", "Circle"- was built (to simulate inter class varitations) using 20 different fonts (to simulate intra class variations). Images involving a corrupt version of one of these 4 words were then segmented, as presented below
Original Images :
Segmented Images, with shape priors obtained using Kernel PCA:
Segmented Images, with shape priors obtained using Linear PCA (for comparison purposes):
- Georgia Tech Algorithms: Sam Dambreville, Yogesh Rathi