Inspiration

Jesse: computer vision class, love for old computers Veronika: remote sensing class, desire to build and program a time of flight sensor Alex: show off his kick-ass 3D printer

What it does

Computer vision on an 8 bit computer

How we built it

The software we created takes 5 principal components and then scales it up to the size of our images. This was accomplished by first taking our dataset of faces and then finding the top 5 principal components. We then trained a dense neural network to decode the 5 values and turn it into a 50 by 44 image that we can display. This training was done on a separate computer and then we moved the trained weights to the C64. Click here for the training data. The C64 then takes in the 5 values selected by the user through an ultrasonic distance sensor. The C64 then runs the trained neural network and displays the final image. Building the controller included wiring up the sensor, calibrating it, constraining and mapping the read values to a specific range, testing the analog output with a multimeter, and finally plugging the sensor into the paddle controller of the C64. As a bonus, we put the hardware components into a 3d printed casing to stabilize the reader and prevent mishaps with the wires.

Challenges we ran into

The biggest challenge was when we learned that we were limited to 16 bit variables and could only do integer math. We were also constricted by the 64kb RAM, which meant that we had to be careful about how we use the limited memory. Finally, the speed of the C64 was very slow which meant the images couldn’t be generated immediately like we’d hoped.

Accomplishments that we're proud of

doing machine learning without floating point calibrated sensor that outputs analog how fast the 3d printer made the casing for the chips and wiring

What we learned

we are grateful for how far technology has come. also Veronika learned to sauder and how to directly program computer chips

What's next for Grandpa Vision

Expand the RAM (via the computer's ram expansion unit) in order to speed up computation to a point where changes in the ‘face’ can be seen real time by waving hand over the sensor.

Built With

Share this project:

Updates