Visual Communication Unit / Retina and Related Reading
In the past two weeks, I’ve focused on building a digital twin of the human retina. In particular, I’m replicating the cone and rod distribution in the human eye and spent a majority of that time in understanding prior attempts of rebuilding the retina. My thoughts on the reading are below -
Development Activity - https://github.com/akhil-reddy/beads/graphs/commit-activity
Please note that some code (class templates, function comments, etc) is AI generated, so that I spend more of my productive time thinking and designing. However, I cross-verify each block of generated code with its corresponding design choice before moving ahead.
Algorithms / Development
Push implementation and transportation
- Initialize the parameters of the retina
- Initialize the rods and cones submodules
- Build concentric rings of rods and cones, while maintaining consistency with its biological counterpart
- Scan through the retinal surface and stitch photoreceptors together if gaps exist
Next Steps
Push implementation and transportation
- Refining the model / algorithm of the artificial retina
- Overlaying stimulus onto the retina
Reading
https://en.wikipedia.org/wiki/Soar_(cognitive_architecture)#Symbolic_input_and_output - This section piqued my interest as communication units are essentially I/O structures for Beads. However, the underlying principle for I/O and spatial visualization is more symbolic in Soar than in Beads.
https://pmc.ncbi.nlm.nih.gov/articles/PMC5043029/#:~:text=One%20hundred%20and%20fifty%20years,bright%20light%20and%20colour%20detection - Inspired by the evolutionary distribution of cones and rods in the human eye (for different light settings in the day and night), I want to incorporate their advantages into the Beads’ stimuli. So, the artificial senses will mirror the natural ones as much as possible.
https://en.wikipedia.org/wiki/Carver_Mead#Neural_models_of_computing - Some of Dr. Mead’s ideas (like the two dimensional resistive network) are interesting approximations of the human retina. They inspire me to think in similar directions for the retinal modeling in Push implementation.
https://en.wikipedia.org/wiki/Event_camera#Algorithms - They highlight the advantages of asynchronous stimulus capture when compared to conventional cameras. This would be useful later on, to improve the implementation of vision CMUs.
https://en.wikipedia.org/wiki/Neuromorphic_computing - A broad area of research that primarily brings brain concepts back to the physical computer system. However, software-based implementations like spiking neural networks attempt to model the electrical signaling in the brain. These alternate models to Beads would be good benchmarks for performance comparison.
https://www.google.com/books/edition/Art_and_Visual_Perception_Second_Edition/y1DhEAAAQBAJ?hl=en&gbpv=1&pg=PA2&printsec=frontcover - A great read on what it “means” to perceive. It definitely helped me in comparing the meaning of perception across multiple Beads modules.