Hacker News new | past | comments | ask | show | jobs | submit login

I don't see image kernels compared to cellular automata, but that's what they are. We just don't iterate more than once or twice with a kernel, and the long-term evolution (stability, chaos, or more interesting dynamics) is not the concern here.

That is to say, there is more to cellular automata than the GOL, and one bit per cell.




I'd be interested to learn more about this! I'm completely outside image processing/machine learning/whatever this is, but articles about it really fascinate me.


You might find this paper interesting:

http://arxiv.org/abs/1407.7626

A Survey on Two Dimensional Cellular Automata and Its Application in Image Processing

Parallel algorithms for solving any image processing task is a highly demanded approach in the modern world. Cellular Automata (CA) are the most common and simple models of parallel computation. So, CA has been successfully used in the domain of image processing for the last couple of years. This paper provides a survey of available literatures of some methodologies employed by different researchers to utilize the cellular automata for solving some important problems of image processing. The survey includes some important image processing tasks such as rotation, zooming, translation, segmentation, edge detection, compression and noise reduction of images. Finally, the experimental results of some methodologies are presented.


Golly is a free game-of-life program you can play with:

http://golly.sourceforge.net/

There's an active community searching-for/categorizing/discussing patterns in Conway's game-of-life (GOL) (and other cellular automata). Examples:

http://conwaylife.com/forums/ http://pentadecathlon.com/lifenews/


I know about GOL and other simple automata, I'm mostly curious about applications in image processing.


Here's a classic article that blurs the lines between image processing and automata. Very sad that it seems offline today.

https://web.archive.org/web/20160325174539/http://freespace....


Thanks for this. I have been playing with CAs recently[1], and doing a lot of GIF rendering based on the Game of Life rules. This water rendering algorithm seems like a great next step for me to experiment with.

[1] https://twitter.com/tweetgameoflife


One way to get into image processing / computer vision would be to pick up an OpenCV book. I liked this book: https://www.amazon.ca/Practical-Introduction-Computer-Vision....


Image kernels generalize very naturally to real values (so naturally that it hardly constitutes a generalization). CAs can be generalized but it seems less natural.

The common element you are picking up on, I think, is [comonadic computation](http://blog.sigfpe.com/2006/12/evaluating-cellular-automata-...).


CAs are already highly generalized, we are just conditioned to only think of the famous ones like the Game of Life.

All you need for a CA is a space in which to map your cells (in an arbitrary number of dimensions, with an arbitrary mapping), some state for each cell (maybe a real, this is arbitrary) and some transition function to compute the next state of each cell from its current state and that of its "neighborhood" (which again is arbitrarily defined.)


The problem is that CAs are too generalized. They don't have the kind of structure image kernels have (in particular, they aren't linear transformations).


Just wanted to add this is quoting the definition of CA as instances of dynamical systems. It is interesting to think about how a large number of filter passes would affect an image. Makes me wonder if there are very simple filters that create absolute chaos after a while (could an edge detector be one?).


It is a pretty good comparison - I implemented a fast GOL code in Python using FFT-based kernel convolution a few years back

https://github.com/thearn/game-of-life




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: