Защитная каска на стальной балке на производстве
← Все проекты

Производство и офис · Разработка · в продакшене

Видеоконтроль техники безопасности на производстве

Бригадир узнаёт о человеке без каски в опасной зоне сразу, а не после инцидента. Хватает камер, которые уже висят в цеху, а табель собирается сам по факту прохода.

0распознавания лиц по умолчанию

Задача

Нарушение требований к каске, жилету, перчаткам — частая причина травм и штрафов при проверках охраны труда. Бригадир не видит, кто сейчас в цеху без каски и кто опоздал сегодня, а учёт по бумажным журналам и отдельным СКУД не даёт оперативной картины.

Разбор инцидента постфактум — часы просмотра архива видеонаблюдения вручную.

Что сделали

Тревога только по делу

Нарушение засчитывается, если человек стоит в размеченной опасной зоне без нужной защиты дольше нескольких секунд. Прошёл насквозь за две — не нарушение, никому не нужна тревога на каждый шаг.

Один человек не превращается в пятерых

Человек ведётся между кадрами. Зашёл за стойку, вышел — тот же человек, а не новый.

Табель без сбора биометрии

Табель строится по бейджу или метке СКУД с видеоподтверждением. Узнавать людей по лицу мы не стали: это отдельный, юридически тяжёлый режим, и по умолчанию он выключен.

Ответственный узнаёт сразу

Зашёл в зону крана без сопровождения — ответственному уходит сообщение в Telegram с кадром. Раз в день и раз в неделю — отчёт на бригаду и тепловая карта, где ходят.

Почему этому можно верить

Ложные тревоги
Порог по времени в зоне убирает почти все. Остальное лечится разметкой зон под конкретный цех, а не универсальной.
Двойной счёт
Трекер держит номер при частичном перекрытии. Без этого один сварщик за смену превращается в пятерых.
Что уходит наружу
Только события в JSON и, если надо, кадр. Видео остаётся на объекте: и полосы не хватит, и незачем.
Лица
Выключены. Включать — только с согласием сотрудников и отдельным правовым основанием, и это решение заказчика, не наше.

Как устроено

Инференс
Python, YOLOv8, дообученная на своём датасете СИЗ; ByteTrack для трекинга и стабильного ID; OpenCV для препроцессинга; ONNX Runtime или TensorRT для ускорения.
Edge
NVIDIA Jetson рядом с камерами либо GPU-сервер при небольшом числе потоков. В облако уходят события в JSON и при необходимости кадр — не видеопоток.
Бэкенд
FastAPI как приёмник событий и API дашборда, PostgreSQL с TimescaleDB для временных рядов присутствия и нарушений, Redis как буфер между инференсом и API.
Дашборд
Next.js и React: живая лента нарушений по WebSocket, карточка сотрудника с историей, тепловая карта. Grafana для операционных метрик.

Похожая задача?

Опишите её — пришлём состав работ и смету за 24 часа.

Состав работ и смету пришлём за 24 часа.

Следующий проект