Skip to content

Bitmap generation from a single example with convolutions and MCMC.

License

Notifications You must be signed in to change notification settings

dottersthomas/ConvChain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ConvChain passes a sample image through a 1-layer lattice of small overlapping receptive fields. It then runs an MCMC simulation with obtained weights as coefficients in the energy functional.

In the language of cellular automata, ConvChain takes an input image and builds a probabilistic cellular automaton that is most likely to generate that image.

Besides universality, an important advantage of ConvChain is that it can "fill the gaps", i.e. organically continue pre-placed content created by humans or other algorithms. Example.

  • ConvChain.cs — basic program.
  • ConvChainFast.cs — equivalent faster program (~100 times faster on a 4-core CPU), but in a less human-readable form.
Web ports:
  • Kevin Chapelier made a vanilla JavaScript port of the faster version.
  • Amit Patel made a web port of the older slower version, with the main algorithm ported to TypeScript.

About

Bitmap generation from a single example with convolutions and MCMC.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%