Solid Texture Synthesis from 2D Exemplars - Johannes Kopf

 Figure 1. Synthesizability (in [0, 1]) of texture examples detected by our method.

Final Project: Texture Transfer | CMU 15-463

For our first step we implemented Efros and Leung's texture synthesis algorithm. Basically, this algorithm generates texture by looking through the original image and finding regions that match the pixel about to be generated. It does this by comparing a "window" of pixels around the new pixel to every possible window in the original texture and measuring the distance with a gaussian version of sum of square distances weighted toward central pixels in the window. Then, to ensure randomness, it picks a random pixel from those that match within a given error bound. For more details, we recommend reading their paper at Additionally, the code base is online at: . However, if you are interested in exploring the texture-picture blending described below, we found that this version of the code would not handle the changes we needed and ended up coding our own version from scratch. You will probably want to do the same thing.

Like most algorithms, texture synthesis should be efficient in computation time and in memory use.

The Synthesizability of Texture Examples - ETH Z

In order to generate a pixel, Efros and Leung's algorithm searches for the pixel's neighborhood (or "window") in the sample texture. Their algorithm compares the pixel's window to EVERY window in the sample - this can take a long time (hours) because the search space is so large. However, since textures by nature have the property of repeating themselves, many of the windows in the image will look similar and we can cut down the search space by an order of magnitude by grouping them. In their paper on texture synthesis, Wei and Levoy take advantage of these savings by using tree-structured vector quantization. () We implemented this suggestion from the paper and sped the algorithm up until it could generate 10,000 pixels of texture in just seconds or minutes. The algorithm stores the windows around all possible pixels in the texture-sample in a VQ tree. When generating new pixels in the result image, we can query the tree and it will return the nearest neighbors (i.e. the most similar sample windows) to our result-window.

The following methods and algorithms have been researched or developed for texture synthesis:

Fusion planters are a synthesis of traditional shapes and contemporary horizontal and vertical lines. The result is a collection that is understated but profound in it's uncluttered orderly imagery. New planter ideas of imagination, designed for durability and produced by a patented process. Medium weight for non-strenuous relocation. U.V. and frost resistant. Matte textured earth tones distinguish this collection.

Our method draws upon texture synthesis methods that use imagepyramids, and we use a mesh hierarchy to serve in place of such pyramids.


Texture Synthesis on Surfaces - Home | College of …

The final goal of my project is to generate interesting animations of texture transfer at work. That is, to simulate how texture transfer develops over time. To reach this goal, I broke the project up into three parts.

Texture synthesis: Genesis – One year in Osaka

We can augment the texture synthesis approach above to get a texture transfer algorithm. That is re-rendering an image with the texture samples of a different image. Each sample patch that we add to our synthesized image must now respect two different constraints: (a) it should have some agreement with the already synthesized parts (this is the constraint we used in texture synthesis), and (b) it should have some correspondance with the image we want re-render. We will use a parameter α to determine the tradeoff between these two constraints. To come up with a term for part (b) we need some measurement of how much a patch agrees with the underlying image. We can do this by calculating the SSD of a patch and the image on some corresponding quantity. One such quantity could be image intensity or the blurred image intensity.

The paper suggest to run multiple iterations of this while decreasing the tile size and adjusting α each time to get the best results. If we run multiple iterations we will need to incorporate the agreement of a patch with the already synthesized image and not just with the overlap region. So the error term will end up being something like this

Posts about Texture synthesis: Genesis written by Jason Plawinski

Bricks'n'Tiles is designed to create photorealistic textures for high quality 3d content by using advanced texture synthesis algorithms. If you have a picture of a brick wall you can now make your own perfectly seamless brick wall texture in a couple of minutes.

Reaction-Diffusion Texture Synthesis

Texture transfer has two inputs: the sample texture and the target image. The texture synthesis algorithm is then modified to account for the target image. This is done by considering how well a block corresponds to the target image. In terms of the Markov model, this means adding more information to each state (location in the synthetic image). In addition to finding blocks that matches well in the region of overlap, blocks must also have high correspondence with the target image.