Artificial Cambrian Intelligence
Project description
Artificial Cambrian Intelligence (ACI)
Computational methods unveil intricate processes of visual system evolution by simulating environments where embodied agents simultaneously develop eye morphologies and neural processing. By exploring how task demands and environmental pressures shape vision, researchers demonstrate that different challenges trigger unique eye developments—navigation prompting compound eyes, object discrimination yielding camera-like structures—while revealing natural optical innovation emergence and systematic connections between visual acuity and neural complexity, ultimately providing a robust framework for understanding biological vision evolution and designing task-specific artificial visual systems.
Project Papers
What if Eye...? Computationally Recreating Vision Evolution
Kushagra Tiwary*, Aaron Young*, Zaid Tasneem, Tzofi Klinghoffer, Akshat Dave, Tomaso Poggio, Dan-Eric Nilsson, Brian Cheung†, Ramesh Raskar†
[Paper | Website | Code | Documentation]
A Roadmap for Generative Design of Visual Intelligence
Kushagra Tiwary, Tzofi Klinghoffer*, Aaron Young*, Siddharth Somasundaram, Nikhil Behari, Akshat Dave, Brian Cheung, Dan-Eric Nilsson, Tomaso Poggio, Ramesh Raskar
[Paper | Code | Documentation]
Installation
First, clone the repo:
git clone https://github.com/cambrian-org/ACI.git
Then you can install the cambrian package by doing the following.
pip install -e .
Usage
Test
To test the setup and verify you can visualize the environment, you can run the following:
# Setting frame_skip slows down the agent's movements to make it easier to see, the default is 10.
python cambrian/main.py --eval example=detection env.renderer.render_modes='[human]' env.frame_skip=5 env/agents@env.agents.agent=point_seeker
This command should open a window showing an agent moving towards a target. It uses a privileged policy which just tries to minimize the distance to the target.
Currently, the available examples are:
- Navigation Task: A single agent navigating a large maze.
- Detection Task: A single agent moving towards a target while avoiding an obstacle.
- Tracking Task: Similar to
detection, but the target and obstacle move. - Optics: Outlines how to use our custom imaging model
Train
To train a single agent in a detection-style task, you can run the following command. You will find the trained model and output files at log/<today's date>/exp_detection. This should take 10 to 20 minutes depending on your machine.
bash scripts/run.sh cambrian/main.py --train example=detection
After training, you can evaluate the agent using the following command. Output files will be saved in log/<today's date>/exp_detection.
python cambrian/main.py --eval example=detection trainer/model=loaded_model
Documentation
For more detailed information on how to train, evaluate, and run experiments, see the Documentation website.
Compiling the Documentation
First install the dev/doc dependencies.
pip install -e '.[doc,dev]'
Then to build the docs, run the following:
cd docs
make clean html
To view the build, go to your browser, and open the index.html file located inside build/html/ (or run open build/html/index.html).
Citation
@misc{aci,
author = {Aaron Young and Kushagra Tiwary and Zaid Tasneem and Tzofi Klinghoffer and Bhavya Agrawalla and Sanjana Duttagupta and Akshat Dave and Brian Cheung},
title = {{Artificial Cambrian Intelligence}},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/cambrian-org/ACI}},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cambrian_core-0.0.0.tar.gz.
File metadata
- Download URL: cambrian_core-0.0.0.tar.gz
- Upload date:
- Size: 17.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a5fa87ff79fa50d0be519a4b4a27c71e1af3182f2368e55833f19ebb5e77e13
|
|
| MD5 |
9b4096336da3033352118c849d7ab386
|
|
| BLAKE2b-256 |
4cf10fde5ae404c876a90ce09ad8eec61db5168d21ef150af9d669da6a1c5aa5
|
File details
Details for the file cambrian_core-0.0.0-py3-none-any.whl.
File metadata
- Download URL: cambrian_core-0.0.0-py3-none-any.whl
- Upload date:
- Size: 150.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53c19b1b29771f32ba2d53f079981bb982059b83cf11edbf4c9638863b573ec8
|
|
| MD5 |
e6d7a77191e914aeb0266d989b1979ec
|
|
| BLAKE2b-256 |
2ee03442a41cb5d3050ccf3abbe24ffe7c7ff7b0d76bbd8cc09c55c501898746
|