⚠ SIMULATED SHOWCASE — every number, trace and image on this page is a scripted illustration. The real system runs as a Flask app (arranged live screen-share for judges). Sample site photos are AI-generated.

SiteSentry

Agentic Vision Safety Inspector for Construction Sites — OpenCV 5 watches the site, an agent loop turns what it sees into auditable action, AWS carries the cloud.

OpenCV 5 · new DNN engine, native ONNX AWS · EC2 Graviton + S3 + DynamoDB + SNS + Rekognition Agentic · perceive → plan → act, human-in-the-loop OpenCV AI Competition 2026 · solo entry

01 · Try the inspection loop (simulated)

Pick a site photo. The scripted walkthrough shows what the real pipeline produces: person boxes, helmet/vest badges, per-frame latency, and the agent trace that turns vision evidence into a decision. In the live system this runs on real OpenCV 5 inference.

inspection frame
detect —track —ppe —total —engine ENGINE_NEW · FP16

AGENT TRACE · perceive → plan → act

02 · Why it matters

PPE non-compliance is the leading preventable factor in construction-site incidents. A clipboard walkthrough covers a site for minutes a day; SiteSentry watches every frame.

13

PPE classes detected

Hardhat, NO-Hardhat, Safety Vest, NO-Safety Vest, Fall-Detected, Person and more — one YOLOv8s forward pass, natively in OpenCV 5's DNN engine.

0.937

Hardhat mAP@0.5

Published held-out test metric of the SafetyVision YOLOv8s model (overall 0.766). We report the model's own numbers — including its weak spots.

4

Escalation tiers

Log → archive → alert → human-approved stoppage. Repeat offenders escalate automatically; consequential actions never fire without a supervisor.

03 · The agentic loop

This is what qualifies as agentic vision: the image result visibly changes what the system does next. A chatbot explaining a fixed result would not count — ours replans.

👁 PERCEIVE

OpenCV 5 pipeline: detect → Kalman-track → PPE per track → zones → annotate + face blur

→

🧠 PLAN

Auditable policy table: (event × offense count) → action, severity, approval requirement

→

⚡ ACT

DynamoDB log · S3 evidence · SNS alert · Rekognition 2nd opinion · approval request

→

🧑 HUMAN

Supervisor approves/rejects stoppages in one click; decision written back to the log

Example policy rows

EventOffenseActionSeverityApproval
NO_HELMET1stLog + archive evidencemedium—
NO_HELMET2ndSNS alert to supervisorhigh—
NO_HELMET3rd+Recommend work stoppagecriticalrequired
FALL_SUSPECTEDanyImmediate SNS + stoppage recommendationcriticalrequired
ZONE_INTRUSIONanySNS alert + archivehigh—

04 · Architecture

Flask on EC2 t4g.micro (Graviton2, ap-south-1). Every boto3 client auto-degrades to a labeled local store when credentials are absent — the full loop runs with zero spend.

SiteSentry architecture diagram
EC2 t4g.micro · GravitonS3 evidence (30-day lifecycle)DynamoDB incident logSNS email alertsRekognition 2nd opinionCloudWatch latencyIAM least-privilege

05 · OpenCV 5, substantively

New DNN engine

Both models run natively in cv2.dnn — no ONNX Runtime. Runtime detection handles ENGINE_NEW (5.0.0) vs ENGINE_OPENCV (later 5.x); FP16 blob path with FP32 fallback.

Tracking + geometry

Kalman-filter multi-object tracking, BackgroundSubtractorMOG2 zone motion, pointPolygonTest intrusion, 30-frame fall heuristic.

HarfBuzz annotation

Boxes, badges and per-frame ms render through OpenCV 5's HarfBuzz text stack; Haar-cascade face blur is on by default.

06 · Failure cases, honestly

Required evidence, not fine print. The system is designed around these limits: conservative thresholds plus mandatory human approval where it matters.

07 · Responsible use

🔒 Face blur by default

All annotated output blurs faces. No face recognition or identity tracking exists anywhere in the code — tracks are anonymous numbers.

🧑 Human in the loop

Consequential actions (work stoppage, fall escalation) require explicit supervisor approval, written back to the log.

🗑 30-day retention

S3 lifecycle expires evidence after 30 days. The system is an assistive pre-screening aid — never automated discipline.

08 · Links

📦 Code

github.com → sitesentry — pinned requirements, one-command AWS deploy, offline test suite. (Link added at submission time.)

📄 Technical report

TECHNICAL_REPORT.md in the repo — problem, users, architecture, OpenCV 5 detail, AWS deployment, evaluation, limitations, responsible use.

🎬 Live demo

Arranged live screen-share of the real Flask app for judges (explicitly allowed by the rules). This page is the pitch surface; the screen-share is the proof.