Some fantastic news - after 9 months of trying to make an algorithm automate the generation of heads, I think I’ve finally hit the sweet spot that makes an interesting head on every single run. The solution was a to use OpenCV facial recognition assessing the output, a Genetic Algorithm, a population of 30 heads, a run of at least 8 generations, a high resolution mesh distorted with varying degrees of perlin noise (set to the right range to make peaks and troughs that could end up morphing into facial features). The GA blends DNA from successful heads (instead of the standard cut/paste approach). The successful head then undergoes further mesh refinement using one run of Catmull-Clark subdivision. This is followed by further mutation using a hill-climbing algorithm that performs some shape modification, followed by the hill-climbing task of copying the shader colours onto the mesh-face colours (giving that mosaic effect which I rather like). I intend to 3D Print some of the results soon. I guess in the end the solution wasn’t one sole algorithm but a complex sequence of algorithms that individually contributed something different to the process. I guess I should thank Ken Perlin, Edwin Catmull, Jim Clark, Frederik Vanhoutte, and all the other great minds behind the head. 

Playing around with a completely new concept to take a short break from scan/remix prints.

Playing around with a completely new concept to take a short break from scan/remix prints.

Parametric tPot(); generator. Input: 3D Scan, Output: Iterative physible. Made w/ Processing by @m_pf

Processing success with exporting color stl files, for the purpose of printing in multicolor which is on discount this month. Generative colour meshes/ objects coming soon :)

Processing success with exporting color stl files, for the purpose of printing in multicolor which is on discount this month. Generative colour meshes/ objects coming soon :)