Разработка AI-системы детекции нарушений ТБ на стройке

Камеры есть на каждой стройке, но они пишут архивы, которые никто не смотрит. Инспектор приходит раз в неделю — и то не всегда. Результат: нарушения фиксируются только после инцидента. Наша система компьютерного зрения работает 24/7: детектирует отсутствие каски, жилета, нахождение в опасной зоне и

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1267
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1003

Камеры есть на каждой стройке, но они пишут архивы, которые никто не смотрит. Инспектор приходит раз в неделю — и то не всегда. Результат: нарушения фиксируются только после инцидента. Наша система компьютерного зрения работает 24/7: детектирует отсутствие каски, жилета, нахождение в опасной зоне и отправляет алерт за секунды. В отличие от человека, AI не устаёт и не отвлекается. Мы измеряли: на объекте с 12 камерами система выявляет в 5 раз больше нарушений, чем ручной обход. По данным Ростехнадзора, 80% нарушений ТБ на стройках связаны с отсутствием СИЗ. Наша технология закрывает этот разрыв между периодическими проверками и непрерывным контролем.

Какие нарушения обнаруживает система?

Система детектирует до 7 типов нарушений в реальном времени:

Нарушение Метод Точность
Нет каски Детекция головного убора 92–96%
Нет жилета Детекция/сегментация жилета 88–93%
Нет перчаток Детекция рук + атрибутов 78–85%
Нет очков/маски Детекция лица + аксессуаров 82–90%
Нахождение в зоне запрета Геозона + трекинг 94–98%
Работа на высоте без страховки Поза + харнесс детекция 75–83%
Несанкционированный доступ Геозона + time-of-day 95–99%

Как мы строим детектор СИЗ?

import cv2 import numpy as np from ultralytics import YOLO from dataclasses import dataclass @dataclass class SafetyViolation: violation_type: str worker_id: int bbox: list confidence: float zone: str severity: str # 'warning', 'critical' class ConstructionSafetyMonitor: def __init__(self, model_path: str, config: dict): # YOLOv8l дообученный на Safety Helmet Dataset + custom PPE data # Классы: person, hard_hat, safety_vest, no_hard_hat, no_vest, # safety_glasses, gloves, harness self.model = YOLO(model_path) self.danger_zones = config['danger_zones'] self.required_ppe = config.get('required_ppe', ['hard_hat', 'safety_vest']) self.violation_history = {} # worker_track_id -> violations # Дополнительный pose estimator для проверки страховки на высоте self.pose_estimator = YOLO('yolov8l-pose.pt') def _worker_has_ppe(self, worker_bbox: list, ppe_detections: list, ppe_class: str) -> tuple[bool, float]: """Проверяем, есть ли у конкретного рабочего нужный СИЗ""" wx1, wy1, wx2, wy2 = worker_bbox worker_upper_half = [wx1, wy1, wx2, wy1 + (wy2 - wy1) * 0.6] best_iou = 0.0 for ppe in ppe_detections: if ppe['class'] == ppe_class: iou = self._iou(worker_upper_half, ppe['bbox']) best_iou = max(best_iou, iou) # IoU > 0.1 = СИЗ находится в области тела рабочего return best_iou > 0.1, best_iou def detect_violations(self, frame: np.ndarray) -> list[SafetyViolation]: results = self.model.track(frame, persist=True, conf=0.4) violations = [] persons = [] ppe_items = [] for box in results[0].boxes: cls = self.model.names[int(box.cls)] bbox = list(map(int, box.xyxy[0])) conf = float(box.conf) track_id = int(box.id) if box.id is not None else -1 if cls == 'person': persons.append({'bbox': bbox, 'track_id': track_id}) elif cls in ['hard_hat', 'safety_vest', 'safety_glasses', 'gloves', 'harness']: ppe_items.append({'class': cls, 'bbox': bbox, 'conf': conf}) # Для каждого рабочего проверяем наличие СИЗ for worker in persons: zone = self._get_zone(worker['bbox']) for required in self.required_ppe: has_ppe, iou_score = self._worker_has_ppe( worker['bbox'], ppe_items, required ) if not has_ppe: vtype = f'no_{required}' violations.append(SafetyViolation( violation_type=vtype, worker_id=worker['track_id'], bbox=worker['bbox'], confidence=1.0 - iou_score, zone=zone, severity='critical' if required == 'hard_hat' else 'warning' )) # Проверка нахождения в запретной зоне if zone in self.danger_zones: cx = (worker['bbox'][0] + worker['bbox'][2]) // 2 cy = (worker['bbox'][1] + worker['bbox'][3]) // 2 if self._in_polygon(cx, cy, self.danger_zones[zone]['polygon']): violations.append(SafetyViolation( violation_type='unauthorized_zone_entry', worker_id=worker['track_id'], bbox=worker['bbox'], confidence=0.95, zone=zone, severity='critical' )) return violations def _iou(self, box1: list, box2: list) -> float: x1 = max(box1[0], box2[0]) y1 = max(box1[1], box2[1]) x2 = min(box1[2], box2[2]) y2 = min(box1[3], box2[3]) inter = max(0, x2-x1) * max(0, y2-y1) area1 = (box1[2]-box1[0]) * (box1[3]-box1[1]) area2 = (box2[2]-box2[0]) * (box2[3]-box2[1]) union = area1 + area2 - inter return inter / max(union, 1e-6) 

Кейс из нашей практики: строительство ЖК на 200 рабочих

На объекте установили 12 IP-камер. До внедрения инспектор обходил площадку раз в день, фиксировал нарушения вручную. Среднее число нарушений СИЗ доходило до 30–40 в день, часть оставалась незамеченной.

После внедрения системы:

  • Охват: 100% зон видимости камер в реальном времени
  • Обнаружено в первую неделю: 847 нарушений (vs 40–50 вручную)
  • Через месяц эксплуатации: снижение нарушений на 73%
  • Предотвращено 2 критических инцидента (нахождение в зоне работы крана)

Точность на тестовом наборе: 91% для касок, 87% для жилетов (сложный случай — жилет надет, но расстёгнут).

Почему стоит выбрать нашу систему безопасности?

Мы используем дообученную YOLOv8 — модель с лучшим соотношением скорости и точности. Инференс на NVIDIA T4 занимает 8–10 мс на кадр, что позволяет обрабатывать поток 30 FPS без лагов. В системе применяются техники аугментации и hard negative mining для устойчивости к теням и погодным условиям. Гарантируем точность не ниже 85% по основным классам СИЗ в промышленной эксплуатации. Предотвращение одного критического инцидента может сэкономить до $45k–65k на штрафах и простое. Средняя экономия от внедрения системы на объекте с 10+ камерами составляет $20k–30k в год.

Что входит в работу под ключ

  • Аудит стройплощадки и подбор камер
  • Установка ПО на ваш сервер или облако
  • Дообучение модели под специфику объекта
  • Интеграция с NVR и системой оповещений
  • Обучение охраны работе с панелью
  • Техподдержка 2 месяца после запуска

Как система интегрируется с видеонаблюдением?

Система подключается к NVR или напрямую к камерам по RTSP. Поддерживаются популярные бренды: Hikvision, Dahua, Uniview. API позволяет передавать алерты в любую систему управления безопасностью (EAM, SCADA). Для пилотного проекта достаточно 2–4 камер с разрешением 1080p и сервера с GPU. Рекомендуемая конфигурация сервера: GPU NVIDIA T4 (16GB VRAM), 16 ГБ ОЗУ, SSD 500 ГБ. Для Edge-развёртывания — NVIDIA Jetson Orin NX. Возможно использование облачных инстансов с GPU.

Как происходит внедрение за 4–12 недель?

  1. Аналитика (1 неделя): выезд на объект, оценка зон покрытия, согласование KPI.
  2. Проектирование (1–2 недели): выбор камер, сервера, настройка RTSP-потоков.
  3. Реализация (2–4 недели): обучение модели, подготовка конвейера инференса, написание алертов.
  4. Тестирование (1 неделя): прогон на исторических записях, A/B-тест в пилотной зоне.
  5. Деплой (1 неделя): установка на продакшен, обучение персонала, передача документации.

Закажите демонстрацию на реальных данных вашей стройплощадки. Получите консультацию по подбору оборудования и метрик.

Масштаб Срок
Пилот (2–4 камеры, каска + жилет) 3–5 недель
Полная система (10+ камер, 6+ типов нарушений) 7–12 недель
Enterprise с отчётностью и интеграцией 12–18 недель

Уведомления и интеграция

  • Оповещение охраны по Telegram-боту с фото нарушения
  • Автоматическое создание акта нарушения с кадром, временем, зоной
  • Экспорт статистики нарушений в Excel/Power BI для safety-менеджера

Мы гарантируем, что система будет работать стабильно в любых погодных условиях. Обратитесь за демонстрацией на реальных данных. Наши инженеры имеют сертификаты NVIDIA Jetson и опыт внедрения на объектах с 50+ камерами.