SafeOps logo

AI-Powered Warehouse Safety & Attendance

SafeOps PPE Detection

Computer-vision platform that watches every camera feed, tracks PPE compliance, marks attendance with ArcFace, and ships alerts in real time.

Realtime PPE, attendance, and violation trackingArcFace powered identity with ByteTrack + ReIDShip-ready Mongo + AWS architecture

Cameras Online

4+

multi-stream inference

PPE Events Filtered

217

spam-free alerts

Attendance Accuracy

99%

ArcFace powered

Latency

< 2s

AWS GPU inference

Overview

SafeOps is a production-ready AI monitoring system for warehouses. It watches multiple live camera feeds, detects PPE violations, manages attendance via ArcFace, and pushes violation packets with annotated evidence to security in real time. Attendance is automatic: first detection marks entry, leaving all cameras for 5 minutes closes the shift.

Stack

YOLOv8OpenCVArcFacePythonFlaskMongoDBByteTrackReIDAWSRailway
Live demo
AI & algorithms

ArcFace

Pre-trained

Pre-trained facial recognition for employee identification and attendance.

YOLOv8

Custom Model

Custom-trained PPE detection model running on AWS GPU inference endpoints.

ByteTrack

Algorithm

Multi-object tracking to keep IDs stable across frames and camera angles.

ReID

Model

Person re-identification model for cross-camera tracking and location lookup.

OpenCV

Library

Core computer-vision operations and spatial math utilities.

PyTorch

Framework

GPU-accelerated inference for ReID models and embedding generation.

AI infrastructure

AWS GPU instances running the CV/AI workers

Application hosting

Railway (Next.js frontend, Flask backend, MongoDB Atlas)

Visual tour
SafeOps Admin Dashboard

Safety Command Center

Monitor camera uptime, new violations, and real-time charts that surface hotspots by location and employee.

Code highlights

python

PPE Detection with YOLOv8

Custom safety classes, confidence tuning, and violation mapping run on every frame.

# Load PPE model once during service boot
try:
    if not Path(ppe_model_path).exists():
        raise FileNotFoundError(f"PPE model not found: {ppe_model_path}")
    self.ppe_model = YOLO(ppe_model_path)
except Exception as exc:
    print(f"[ERROR] Failed to load PPE model: {exc}")
    raise

# Run detection
ppe_results = self.ppe_model(frame, conf=self.conf_threshold, verbose=False)[0]

for box in ppe_results.boxes:
    class_id = int(box.cls[0].item())
    class_name = ppe_results.names.get(class_id, f"class_{class_id}")
    confidence = float(box.conf[0].item())
    bbox = box.xyxy[0].cpu().numpy()

    violation_type = self._map_ppe_class_to_violation_type(class_name)
    if violation_type != "unknown":
        self._record_violation(
            violation_type=violation_type,
            bbox=bbox,
            confidence=confidence,
            camera_id=camera_id,
        )
  • Custom YOLOv8 model for helmets, vests, gloves, and boots
  • Frame-by-frame violation classification with confidence scoring
  • NMS-like filtering to keep the feed clean
Key outcomes
Real-time PPE detection across helmets, vests, gloves, and boots using a custom YOLOv8 model
Facial recognition attendance with ArcFace, powered by 3-angle employee photos and automatic entry/exit rules
Cross-camera tracking with ByteTrack + ReID so employees stay identified even when they move between zones
Violation dedupe engine with cool-downs and NMS-style filtering to avoid spammy alerts
Actionable violation viewer with timestamp, camera, employee, violation type, and image evidence
Live camera management that accepts HTTP or RTSP feeds and syncs new sources from AWS every 5 minutes
Click-to-locate employee map that surfaces the latest detection camera instantly

Challenges tackled

  • Keeping latency low while ingesting multiple high-resolution camera feeds on modest GPU resources
  • Maintaining identity persistence across cameras with ReID embeddings and custom track-id logic
  • Deploying and supervising several AI models (YOLOv8, ArcFace, ReID) inside one streaming pipeline
  • Balancing alert noise with accuracy using multi-layered violation filtering
  • Coordinating AWS GPU inference with a Railway-hosted web stack and MongoDB Atlas

Impact

SafeOps is running in production, pushing reliable PPE and attendance insights with high recall. Security teams now focus on the small set of verified violations instead of staring at screens all day.