Inspiration
Facility alarms identify an event but often leave operators to search footage for context. Fortifiers Incident Memory treats camera history as environmental memory: retrieve a relevant pre-event state, compare it with the alarm-time frame, and seek more evidence when an observation is weak or may already exist.
What it does
The demo investigates a synthetic mechanical-room water-sensor event. It checks image quality, selects a same-camera historical baseline, aligns and compares images with OpenCV 5, highlights candidate regions, correlates sensor timing, and can retrieve older imagery to test whether a change is new. A poor image leads to a retake request. A plausible new change with a correlated synthetic sensor leads to a possible-water hypothesis and mandatory human review. Images cannot establish physical cause. All test imagery and sensor events are procedurally generated, not real-world validation.
OpenCV 5 and Agentic Vision
The Python/FastAPI app uses OpenCV 5 for validation, blur/exposure checks, ORB matching with RANSAC homography, ECC translation fallback, HSV illumination normalization, change masks, morphology, connected components, region measurements and overlays. OpenCV observations drive later actions: poor quality requests another frame; a localized region prompts ROI inspection and historical retrieval; an older match changes the novelty result; a correlated sensor leads to human review. The bounded controller has no machinery, alarm, door or emergency-dispatch controls.
AWS
The actual FastAPI/OpenCV workload runs on AWS Lambda in us-east-2 through a public Function URL. The Python 3.14 ZIP deployment uses OpenCV 5.0.0 and is pinned to commit b851290df9e99aca1a232c018e53bff48b8f559d. It exposes seven built-in synthetic scenarios, disables user uploads, writes evidence to a private S3 bucket with seven-day retention, and logs executions to CloudWatch. All seven anonymous remote scenarios returned HTTP 200 with different outcomes; a downloadable evidence ZIP was verified. The endpoint is a public unauthenticated prototype, not a production system, and current post-deployment billing has not been reconciled.
Live demo: https://bxdbra2nzvrrchyig26xr274dm0cvzol.lambda-url.us-east-2.on.aws/
Evaluation
On seven held-out synthetic scenario types the controller chose the test-authored expected action in 7/7 versus 4/7 for a one-pass baseline. Across 21 local controller runs, p50/p95 latency was 137.061/217.262 ms. Four synthetic pixel masks produced precision 0.99183, recall 0.99913, F1 0.99546 and IoU 0.99097. These scores describe generated fixtures and local runs, not leak-detection performance in real facilities. One AWS investigation used 2,922.8 ms Lambda duration and 218 MiB max memory. Details, failure cases and limitations are in EVALUATION.md and deployment-manifest.json.
Demonstration and safety
The current 3:40 silent Unlisted video shows the authentic local application and synthetic scenarios. It was recorded before AWS deployment, so its end card says AWS was not deployed; it does not show or name the solo entrant. The live AWS endpoint and remote evidence are linked separately above. This is decision support, not a certified life-safety system. Operators must review significant decisions. No physical actions are automated.
Repository: https://github.com/axfrgo/fortifiers-incident-memory Portable source archive: https://github.com/axfrgo/fortifiers-incident-memory/releases/download/demo-2026-10-27/fortifiers-incident-memory-source.zip Video: https://youtu.be/_k0J1XHyVyA Technical report: TECHNICAL_REPORT.md Architecture: submission/architecture.svg Agent workflow: submission/agent-workflow.svg
Log in or sign up for Devpost to join the conversation.