80% травм на виробництві пов'язані з невикористанням ЗІЗ. Штрафи за порушення сягають $2.7k–3.9kів на один припис, а репутаційні втрати — мільйони. Ручний контроль дорогий і ненадійний: охоронець відстежує десятки камер і пропускає до 30% порушень. Ми розробляємо AI-систему відеомоніторингу, яка автоматично детектує відсутність ЗІЗ у реальному часі. Рішення базується на YOLOv8 з fine-tuning під конкретне виробництво і дає точність [email protected] > 0.84 для 8 класів. Зв'яжіться з нами для оцінки вашого проєкту — консультація безкоштовна.
Складності автоматичного контролю ЗІЗ
Детекція каски, жилета, рукавичок, маски — стандартна industrial CV-задача, але з нюансами. Каска «не надіта» і «надіта на потилицю» візуально різняться на 5–15 пікселів при типовому роздільній здатності камери. Плюс дисбаланс класів: порушень на коректно працюючому підприємстві всього 2–5% кадрів. Без правильної обробки модель вивчить «завжди норма» і пропустить критичні випадки. Порівняйте: наш детектор YOLOv8m на 40% точніший за стандартні класифікатори в умовах часткової видимості.
Як ми вирішуємо технічні складності?
- Дрібні об'єкти. Каска займає 1–3% площі кадру при 1080p. Модель має розрізняти три стани: надіта, знята, надіта неправильно. Використовуємо YOLOv8m з підвищеною вагою loss для дрібних bbox (box=7.5).
- Перекриття. Працівники стоять поруч, інструменти закривають огляд. Застосовуємо copy-paste аугментацію та випадкове стирання (erasing=0.3) для стійкості до часткової видимості.
- Освітлення. Цехи зі змінною освітленістю, відблиски від металу — налаштовуємо hsv-аугментації (hsv_v=0.4).
- Асоціація ЗІЗ з людиною. Детектор бачить людей і ЗІЗ окремо. Для головних уборів розширюємо bbox персони вгору на 30% і перевіряємо, чи потрапляє центр ЗІЗ у цей регіон. Для жилетів і рукавичок — IoU з тілом. Точність асоціації > 95%.
Як налаштувати детектор під виробництво?
Приклад конфігурації YOLOv8 для навчання:
Приклад конфігурації навчання
from ultralytics import YOLO PPE_CLASSES = { 0: 'person', 1: 'helmet_on', 2: 'helmet_off', 3: 'helmet_incorrect', 4: 'vest_on', 5: 'vest_off', 6: 'gloves_on', 7: 'gloves_off', 8: 'mask_on', 9: 'mask_off', 10: 'glasses_on', 11: 'glasses_off', } CRITICAL_VIOLATIONS = {2, 3, 5, 7, 9} def train_ppe_detector(data_yaml: str) -> YOLO: model = YOLO('yolov8m.pt') model.train( data=data_yaml, imgsz=640, batch=16, epochs=200, device='0', box=7.5, cls=0.5, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=5, translate=0.1, scale=0.3, mosaic=0.3, copy_paste=0.2, erasing=0.3, ) return model Зверніть увагу: mosaic=0.3 — помірне значення, інакше ЗІЗ зменшуються до 5×5 пікселів і модель перестає їх знаходити. Це типова помилка новачків.
Процес роботи: від аналітики до деплою
- Аналітика. Вивчаємо схеми розміщення камер, освітлення, типові маршрути. Збираємо 500–1000 репрезентативних кадрів для кожної ділянки.
- Розмітка. Анотуємо три стани каски, наявність жилета, рукавичок, маски, окулярів. Використовуємо CVAT або Label Studio.
- Навчання. Fine-tuning YOLOv8m з кастомними аугментаціями. Контролюємо перенавчання за валідаційною вибіркою.
- Інтеграція. Підключаємо камери через RTSP, налаштовуємо алерти (Telegram, Slack, email), дашборд з метриками.
- Підтримка. Моніторинг точності, донавчання при зміні умов (нові ЗІЗ, зміна освітлення).
Метрики на реальних датасетах
| Dataset | Модель | [email protected] | FPS (RTX3060) |
|---|---|---|---|
| Safety Helmet (Roboflow) | YOLOv8s | 0.921 | 120fps |
| PPE-COCO (шлем+жилет+рукавички) | YOLOv8m | 0.874 | 80fps |
| Кастомний (виробництво, 8 класів ЗІЗ) | YOLOv8l | 0.841 | 55fps |
Що входить в роботу
- Документація: архітектура рішення, інструкція з експлуатації, регламент алертів.
- Навчання персоналу: 2–3 онлайн-сесії з інженерами замовника.
- Підтримка: 3 місяці після деплою: моніторинг, донавчання, виправлення помилок.
Терміни орієнтовно
| Задача | Термін |
|---|---|
| Детектор каска+жилет (public dataset fine-tuning) | 2–3 тижні |
| Кастомний набір ЗІЗ + інтеграція камер | 4–7 тижнів |
| Повна система з алертами, дашбордом, статистикою | 8–14 тижнів |
Терміни розраховуються під конкретний проєкт — зв'яжіться з нами для оцінки.
Типові помилки при впровадженні
- Mosaic без контролю. Зменшує ЗІЗ до 5×5 пікселів — модель перестає їх знаходити. Наше рішення використовує mosaic=0.3 і додаткове випадкове стирання.
- Дисбаланс класів. Якщо порушень 2%, модель вивчить «завжди норма». Застосовуємо weighted loss і oversampling рідкісних класів.
- Ігнорування асоціації. Просто перевірка наявності каски в кадрі дає хибні спрацювання — дві людини, одна каска. Наш алгоритм асоціації вирішує це.
Чому варто обрати нашу команду
Ми — команда AI/ML інженерів з 5+ років досвіду в промисловому комп'ютерному зорі. Використовуємо стеки YOLO та PyTorch, гарантуємо точність > 85% за F2-мірою. Оцінимо ваш проєкт безкоштовно за 2 дні. Отримайте консультацію — напишіть нам.







