Research inspiration
Stanford's Multi-Camera Array research ↗ explored using densely arranged cameras as a programmable computational imaging system. Depending on camera spacing, timing, and geometry, an array can enable synthetic-aperture imaging through partial occlusion, light-field capture, time-interleaved high-speed video, and high-resolution imaging.
I'm taking inspiration from those architectural ideas, not claiming to reproduce Stanford's custom FPGA-driven array or its research results. The long-term aim here is a smaller, affordable, modular camera array that can be measured, calibrated, and programmed.
Current software scope
- Accept raw JPEG frames from ESP32-CAM nodes, with per-camera identifiers, size checks, collision-resistant filenames, and a local capture gallery.
- Run automated server tests for image ingest, listing, readback, input rejection, and optional private-LAN API-key control.
- Generate five artificial viewpoints with a near opaque bar partially blocking a farther bright target.
- Shift and average the synthetic views at selected focus planes, showing how foreground parallax can help reveal an occluded background.
Array architecture and next steps
The target system separates capture nodes → acquisition coordination → synchronization and calibration → computational image reconstruction. The current scripts are a starting point, not a complete camera array.
- 2-camera prototype: capture a chart, solve camera intrinsics and relative pose, report reprojection error.
- 4-camera rig: design common triggering, measure timestamp jitter with independent instrumentation, and associate frames by capture time rather than network arrival.
- Imaging experiments: validate disparity-based refocusing, assess reconstruction error, then evaluate light-field and synthetic-aperture applications.
Verification priorities
The next meaningful evidence is a repeatable physical capture test: characterize camera intrinsic parameters and relative poses, measure inter-camera trigger skew, and compare refocused images against known target geometry. Until then, the reconstruction results should be treated as a synthetic demonstration.