Multi-Scale Label-Map Extraction for Texture Synthesis

Source code now online!


Texture synthesis is a well-established area, with many important applications in computer graphics and vision. However, despite their success, synthesis techniques are not used widely in practice because the creation of good exemplars remains challenging and extremely tedious. In this paper, we introduce an unsupervised method for analyzing texture content across multiple scales that  automatically extracts good exemplars from natural images. Unlike existing methods, which require extensive manual tuning, our method is fully automatic. This allows the user to focus on using texture palettes derived from their own images, rather than on manual interactions dictated by the needs of an underlying algorithm.

Most natural textures exhibit patterns at multiple scales that may vary according to the location (non-stationarity).  To handle such textures many synthesis algorithms rely on an analysis of the input and a guidance of the synthesis. Our new analysis is based on a labeling of texture patterns that is both (i) multi-scale and (ii) unsupervised that is, patterns are labeled at multiple scales, and the scales and the number of labeled clusters are selected automatically. 

Our method works in two stages: the first builds a hierarchical extension of superpixels; the second labels the superpixels based on random walk in a graph of similarity between superpixels and a nonnegative matrix factorization.

Our label-maps provide descriptors for pixels and regions that benefit state-of-the-art texture synthesis algorithms. We show several applications including guidance of non-stationary synthesis, content selection and texture painting. Our method is designed to treat large inputs and can scale to many megapixels. 

In addition to traditional exemplar inputs, our method can also handle natural images containing different textured regions.