Can Cellular Automata help explain neural networks?

Premise: How to describe complex thoughts with the simple electical signals from neurons?

Cellular Automata: Simple Rules, Complex Behavior.

current pattern 111 110 101 100 011 010 001 000
new state for center cell 0 1 1 0 1 1 1 0

This is analogous to neurons with 3 inputs, and 1 output.


3D (2D+time):
Game of Life

This is analogous to neurons with 7 inputs, and 5 outputs.

9 inputs and 2 outputs

ARToolkit tricking

I’ve been messing around with ARToolkit for use in designing a trick for Marco Tempest. Here we have an augmented reality cone.

Marco doing some iPhone magic after the jump…

Flocking Algorithms…

Ported Daniel Shiffman‘s Processing implementation of Craig Reynold‘s Boids program into openframeworks.

Vector Fields…

Vector fields are how I can get the little digital creatures in my game to avoid walls and darts more intelligently. While the gravitational algorithms I’m using are great, they are somewhat limited in terms of how I can get creatures to avoid complex objects.

Enter vector fields:

Here we have an expired patent for a video game that uses vector fields to simulate intelligence in digital opponents. Found it on this awesome blog by Christer Ericson, Director of Tools and Technology at Sony Santa Monica (the God of War team).

–via [ – the blog]

Vector fields in Openframeworks []

top image from higgs2007 via [flickr]

Computer Vision Issues

The Celestial Curling prototype was set up yesterday and was confronted with a number of Computer Vision issues. Aside from the embarrassingly long setup time, the camera image gave back a horizontally-inverted image (a quick fix with the math in Processing) and the camera had an awful lot of difficulty picking up game pieces that weren’t directly in the middle of the screen. In order to address this, I cracked open the case of the camera, and mounted it higher up, leaving room for a paper cone construction to diffuse the infrared illuminators light outwards. The paper seemed to block too much light, although the small amount of light that it put out seemed evenly distributed. Operating in these low-light conditions will likely create a lot of noise in the computer vision, so I’m going to do a few things that should help.

  • use mirrored/shiny tape on the topside of the illuminator, instead of the reflective tape currently used. This should hopefully help light up the edges of the playfield more evenly.
  • construct a taurus-shaped velum diffuser for the light that should be more translucent than the paper cone i tried.
  • make one last attempt to get Intel’s openCV library doing the computer vision for me. OpenCV contains a lot of code to track the motion of objects, regardless of color that the JMyron library I’m currently using lacks. I figure this would save me in case I’m unable to get the IR light levels sufficiently high.
  • lastly, I am going to add a bunch more IR led’s to the illuminator to pump up the light levels.

Below is a video of my object tracking code working without the acrylic playfield in place.

Illuminator Rebuild & Testing

Model and Measurements

OpenCV is hard

This stuff is no joke more later…

Tracking Tests 2

Projection and Tracking Test

This is the first attempt at building an example of the project’s core elements working together. A borrowed projector (3000 lumens) was total overkill for the project, and actually produced a very high amount of infrared light, interfering slightly with my tracking of the pucks. I am now using acrylic that is frosted on one side, which serves two purposes:

1) To act accept the visible light coming from the projector in order to create a display.

2) To diffuse the infrared light being reflected back into the camera off the empty spaces on the playfield.

I have also found acrylic half-spheres at Canal Plastics to hold some interesting properties that apply to this project.

1) They refract light that hits the bottom into a solid ring that is then reflected into the camera.

2) They transmit and magnify visible light from the projector, producing a volumetric color display.

I am going to need to find a non-greasy lubricant to apply to the acrylic to get a nice slide out of the game pieces, as right now, sliding the pieces around feels very static.