DMP Web Site for Ly Phan

Home | Project | Journals | Final Report | Misc. | About me | About DMP | About Cindy | M&M Lab | WUStL


Project Overview: Automatically generating texture as sketched using Reaction-Diffusion

In Computer Graphics field, there has always been a need for more and better techniques for texture synthesis – given a texture sample, producing unlimited amount of image that looks just like the original texture. Some of the current techniques include chaos mosaic and image quilting, which are basically stitching patches of the original image together to make more of the desired texture. These techniques however do not work well for all textures, such as structured texture or semantic texture - texture that has meaning.

Another solution for generating texture is by employing procedural approach. Unlike a raster image, in which the texture is represented as a bitmap, a procedural texture is defined mathematically. Combining a noise function (for randomness) with certain mathematical expressions, as much texture can be generated as needed, and the texture's attributes can also be altered as desired. Reaction-Diffusion, suggested as a texture-generating algorithm [2], is indeed such a method. Reaction-diffusion was first described by Alan Turing [1] as a biological process in which two or more chemicals - called morphogens - diffuse over a surface and react with each other to produce certain animal coat patterns, including spots and stripes. This process is defined by two or more differential equations, each of which controls the change of one morphogen's concentration over time and in relation to the concentration of other chemicals.

The target for this summer research is to develop a methodology that will allow a user to sketch a desired pattern, then using reaction-dissusion (RD) to generate more of that pattern. RD system was chosen for this project because it can produce vast amount of texture with randomness - the outcome pattern will not repeat itself - and yet the general attributes of the pattern can be altered by changing the system's input parameters. RD systems are complicated systems with many parameters, and it is very tricky to get the right parameter settings that will produce good textures. Hence the main problem to be solved is to find out a way to set up parameters automatically such that the RD system will yield the desired pattern.

Parameters for Meinhardt spot system
Parameters for Meinhardt spot system
Meinhardt spots
Pattern produced from parameter setting using Meinhardt spot system

The whole project can be divided into five steps:
Step 1: Implement reaction-diffusion textures using three fundamental RD systems - Turing spot, Meinhardt spot, and Meinhardt stripe - as described in [3].
Step 2: Evaluate the textures' attributes: size and shape of spots or width of stripes, orientation, spacing, branching, etc.
Step 3: Use machine learning concepts to learn how the parameters of the RD systems map to the attributes of a texture and vice versa; for this purpose, the reaction-diffusion system is executed many times to generate training data.
Step 4: Implement a system that can capture the attributes of a sketched texture, map them back to parameters of the RD system by utilizing machine learning and finally regenerate textures similar to the original texture.
Step 5: Build a user interface that lets the user sketch a rough idea of the pattern they want, and at the click of a button automatically generate a texture with pattern similar to the original sketch.

Sketch window
Sketch window
Pattern produced
Pattern produced from sketch using Meinhard spots system

[1] Turing, Alan, "The Chemical Basis of Morphogenesis," Philosophical Transactions of the Royal Society B, Vol. 237, pp. 37-72 (August 14, 1952).

[2] Turk, Greg, "Generating Textures on Arbitrary Surfaces Using Reaction-Diffusion," Computer Graphics, Vol. 25, No. 4 (SIGGRAPH '91) pp. 289-298 (July 1991).

[3] Turk, Greg, "Texturing Surfaces Using Reaction-Diffusion," PhD Dissertation, The University of North Carolina at Chapel Hill, 1992.