Weekly Status Report — Camera Pipeline (Image Capture)
Accomplishments (with proof):
Built out multi-peak and noisy-data robustness testing for the heatmap rendering pipeline, since prior work only validated a single clean signal. Extended the mock data generator to simulate multiple simultaneous sources and configurable noise, then ran it through the existing overlay renderer to see what broke. Found and fixed a real bug: the renderer normalizes each frame to its own loudest bin, so pure sensor noise with no real leak present was still displayed as a confident-looking red detection blob. Added an absolute detection threshold to gate this out. Quantified the remaining false-alarm rate via 200 randomized trials of a weak signal in high noise: a single-sweep check gave a 12% false-alarm rate (above our ≤10% requirement); averaging 3 consecutive sweeps before thresholding dropped it to 1.5% while improving true-detection rate to 98.5%. Implemented this as an EnergySmoother and wired it into the live demo. Proof: saved test images showing the bug (solid red blobs on pure noise) vs. the fix (clean video), plus the trial-count numbers from the false-alarm simulation.
Status: On schedule. This work also surfaced a concrete, quantified item for the Testing/Metrics section of our requirements (false-positive rate), which we didn’t have real numbers for before.
Next week:
- Build a live noisy-data demo (currently only tested via saved images, not on camera) to visually confirm the fix in real time
- Revisit the closely-spaced-sources finding (sources ~4° apart merge into one blob, consistent with the array’s ~3.2° resolution estimate) and note it as a known limitation
- Continue pushing on the data interface contract with Roshni, since all current numbers (noise floor, threshold, smoothing window) are placeholders pending real hardware measurements
