Graduation Project2025 to 2026Computer Vision

Yaqidh: AI child-safety monitoring

A real-time system that watches live CCTV, detects child falls and violence with custom YOLOv8 models, and sends instant, role-based alerts to the people responsible, wrapped in a secure, full-stack product with live analytics.

A full walkthrough of Yaqidh: live monitoring, fall detection, instant alerts, and the analytics dashboard.
Overview

Watching for the moments that matter.

Yaqidh (يقظ, "vigilant") is an end-to-end computer-vision platform built to protect children in environments like nurseries, schools, and homes. It connects to existing CCTV, continuously analyses the video for two high-risk events (falls and violence) and, the moment one is detected, pushes a targeted alert to the right person: a parent, a teacher, or a facility manager.

It's not just a model in a notebook. Yaqidh is a complete product: two trained detection models optimised for real-time inference, a secure API, a database, and role-aware dashboards that turn raw detections into something a caregiver can act on in seconds.

Problem

Cameras record everything and catch nothing.

Most child-supervision settings already have CCTV, but footage is only useful if someone happens to be watching the right screen at the right second. In practice, no one can monitor dozens of feeds around the clock, so incidents like falls or physical altercations are often discovered after the fact, from recordings, when it's already too late to intervene.

The goal was to close that gap: detect the incident as it happens and get a clear, role-appropriate notification to the person who can respond, without adding new hardware or asking anyone to stare at a monitor.

My role

From model to full-stack app.

As a core contributor, my work on Yaqidh spanned the detection model, the full-stack application, and the reporting workflow:

Fall-detection model

Developed the custom YOLOv8 fall-detection model.

ONNX conversion

Converted the fall-detection model to ONNX for optimised, real-time inference.

Backend

Developed the backend with FastAPI, PostgreSQL, and JWT/RBAC access control.

Frontend

Developed the frontend, including the React dashboards.

Report generation

Implemented the report-generation functionality.

Tech stack

What it's built with.

Vision & ML

YOLOv8PyTorchOpenCVONNX

Backend

FastAPIPostgreSQLREST APIs

Frontend

React

Security

JWTRBAC
Architecture

From a video frame to a phone buzzing.

Video flows through a vision pipeline that turns raw frames into structured incidents, then a backend that decides who needs to know and delivers the alert.

01 · VISION PIPELINE 02 · BACKEND & DELIVERY CCTV Feed Live IP camera video stream OpenCV Frame capture & pre-process YOLOv8 ×2 ONNX inference fall + violence Event Logic Incident classification FastAPI · DB PostgreSQL JWT / RBAC Dashboards React · role based alerts
End-to-end flow: capture → detect → decide → deliver.
Key features

What it does.

  • Real-time detection of child falls and violence directly from live CCTV streams.
  • Two dedicated YOLOv8 models, one specialised for falls and one for violence, for higher per-task accuracy.
  • Role-based alerts that route each incident to the right audience: parents, teachers, or managers.
  • Live analytics dashboards so caregivers can see status and history at a glance.
  • Secure access with JWT authentication and role-based access control (RBAC) across the platform.
  • ONNX-optimised inference that keeps latency low enough for a real-time response.
Challenges

The hard parts, and how I solved them.

Dataset

No dataset existed for children

There was no available dataset of children for the fall-detection task, so I collected the children's data myself and manually annotated it using Roboflow, building the foundation the model was trained on from scratch.

Accuracy

Baseline detectors weren't good enough

Off-the-shelf baselines struggled to reliably distinguish real incidents from ordinary movement. I collected, preprocessed, and augmented 3,800+ images, then trained the custom YOLOv8 fall-detection model to 0.81 mAP@50, a 2-3× improvement over the baseline.

Latency

Real-time means milliseconds count

Detection is only useful if it's fast. I converted the fall-detection model to ONNX and optimised the inference path, cutting inference latency by roughly 20% and keeping the pipeline responsive on live video.

Product

One alert doesn't fit everyone

A parent, a teacher, and a manager need different information and different permissions. I built role-based access and alerting so each stakeholder sees exactly what's relevant to them, secured end-to-end with JWT and RBAC.

Results & impact

A working system, not a prototype.

0.81
mAP@50 · fall detection
0.66
mAP@50 · violence
2-3×
gain over baselines
~20%
lower inference latency

The result is a full, secured, real-time platform that takes live video and turns it into timely, actionable alerts, demonstrating an end-to-end path from custom model training through optimisation to a deployed, multi-user application.