Январь. Минус пятнадцать. PTZ-камера на мачте освещения покрыта ледяной коркой и цементной пылью. Она смотрит на котлован, где экскаватор грузит породу, а в опасной зоне под стрелой крана курят стропальщики без касок. Камера пытается протолкнуть 4K-поток через 4G-модем, который отваливается каждые три минуты. На другом конце страны, в уютном дашборде московского офиса девелопера, этот поток должен анализироваться нейросетью. Но дашборд показывает серый экран. В Morana Labs мы делаем индастриал-ИИ, edge-вычисления и high-load инференс строго на железе клиента, поэтому я регулярно вижу кладбища подобных «инноваций». ИИ на стройке часто продается как волшебная таблетка. Считается, что достаточно повесить десяток камер, подключить их к облаку — и у вас появится идеальный цифровой надсмотрщик.
Это полная чушь.
Главный миф стройки — вера в стабильный канал связи и универсальные предобученные модели. Вендоры обещают распознавание касок, жилетов, страховочных привязей и контроль хода работ из коробки. Реальность бьет по лицу арматурой. Облако на стройплощадке мертво изначально. Вы не прокинете гигабитный оптический канал на нулевом цикле. А когда на объекте работают десятки единиц техники и сотни людей, видеопоток с двадцати камер просто убивает любой мобильный роутер. Попытка жестко жать видео на лету приводит к каше из пикселей и артефактам, на которых облачная нейросеть принимает кусок рубероида за человека без жилета.
Видеоаналитика на стройплощадке: контроль СИЗ, техники и хода работ в условиях хаоса
Единственный рабочий паттерн здесь — это жесткий edge. Edge-CV-комплексы ставятся прямо в бытовке или в защищенном термошкафу на мачте. Данные никуда не улетают. Камера гонит сырой RTSP-поток по локальной витой паре в вычислитель на базе промышленного Jetson или компактного x86-сервера с дискретным GPU. Там, на ребре, крутится легковесный YOLO-подобный детектор и трекер. Наружу уходят только метаданные. Не гигабайты видео, а пара килобайт JSON: таймстемп, ID камеры, тип события, координаты рамки и кроп нарушения. Такой объем мгновенно пролетает даже через умирающий 3G.
Сценарии применения тоже приходится очищать от маркетинговой шелухи. Настоящий контроль начинается с банальной физической безопасности. Детекция отсутствия каски или сигнального жилета — классика жанра. Гораздо сложнее со страховкой при высотных работах. Стандартные открытые модели не видят тонкий трос на фоне леса арматурного каркаса и строительных лесов. Здесь требуется агрессивное дообучение на синтетике или реальных датасетах с конкретной площадки.
Куда больше денег генподрядчику экономит трекинг опасных зон и учет техники. Разметка полигонов под краном позволяет генерировать аппаратный алерт, если в зоне работы стрелы появляется человек. Интеграция с системой СКУД и журналами работ мгновенно связывает эти алерты с конкретными субподрядчиками.
Метрики от таких внедрений измеримы в реальных деньгах и человеческих жизнях, а не в эфемерных «индексах безопасности». Мы видим снижение грубых нарушений охраны труда в три раза за первый месяц эксплуатации. Фиксация простоев техники дает объективную картину: бульдозер стоит на холостом ходу четыре часа, экскаватор ждет самосвалы, а арендованный кран простаивает из-за отсутствия стропальщиков. Контроль этапов работ по камерам через сравнение реальной картинки с BIM-моделью не заменяет инженеров ПТО, но жестко отрезает возможность отчитываться за залитый куб бетона, когда на площадке только вяжут арматуру.
Но видеоаналитика не заменяет прораба.
Она его вооружает.
Честный трейд-офф: запыленность, ложные алерты и право на приватность
Внедрение edge-AI на стройке — это бесконечная битва с физикой. Объектив слепнет от косого дождя, мокрого снега и бетонной пыли. Перекрытия растут с каждым днем, меняя ракурсы и наглухо перекрывая обзор камерам, которые вчера еще контролировали весь периметр котлована. Ночь добавляет жестокие засветы от галогенных прожекторов. Все это генерирует ложные срабатывания. Глупый детектор видит оранжевый конус и уверенно классифицирует его как спину рабочего в жилете. Тень от проезжающего экскаватора накрывает зону, и трекер навсегда теряет самосвал.
Это нормальный инженерный процесс. Не существует идеальной нейросети под стройку, есть грамотный пайплайн постобработки и эвристик. Чтобы отсечь ложные алерты по отсутствию каски, в проде мы замеряем не просто класс найденного объекта, а IoU (Intersection over Union) пересечения рамки головы с рамкой каски, и добавляем жесткий временной фильтр. Если рабочий снял каску почесать лоб на две секунды — алерта не будет. Если он стоит без каски десять секунд подряд — событие улетает в базу и превращается в штраф.
def process_ppe_detection(detections, tracking_history, threshold_frames=10):
alerts = []
for det in detections:
if det.class_id == PERSON:
head_box = extract_head_region(det.bbox)
helmet_iou = max([iou(head_box, h.bbox) for h in detections if h.class_id == HELMET], default=0)
if helmet_iou < 0.3:
tracking_history[det.track_id] += 1
else:
tracking_history[det.track_id] = 0
if tracking_history[det.track_id] >= threshold_frames:
alerts.append(Alert(det.track_id, "NO_HELMET", det.bbox))
return alertsЭтот простейший кусок логики экономит тонны нервов инженерам по ТБ. Интеграция таких событий с журналом работ и охраной труда происходит не через красивые дашборды, а через автоматические предписания и штрафы субподрядчикам. Подрядчик получает акт с таймстемпами и кропами. Спорить с логами бесполезно. Но ровно здесь возникает юридический и этический трейд-офф: приватность рабочих и согласования с профсоюзами.
Видеонаблюдение требует легального согласия на обработку биометрии, если вы используете распознавание лиц. Согласовать это с тысячами вахтовиков нереально. Поэтому грамотный edge-комплекс лица не распознает принципиально. Мы трекаем анонимные силуэты и привязываем их к заранее размеченным зонам ответственности. Нарушение зафиксировано в секторе подрядчика «А» — штраф выписывается подрядчику «А». Идентификация конкретного рабочего ложится исключительно на плечи его бригадира. Это снимает гигантский пласт юридических проблем и позволяет внедрять системы быстро и легально.
Отдельный уровень сопротивления начинается на местах. Рабочие поворачивают камеры арматурой, перерезают витую пару «случайно» упавшим блоком, заклеивают объективы изолентой. Техника безопасности для многих до сих пор считается неприятной рекомендацией, а не законом. Поэтому железо должно монтироваться так, чтобы до него нельзя было дотянуться с лесов, кабельные трассы прятаться в металлорукав, а на любой отвал потока от камеры должен немедленно реагировать дежурный диспетчер.
Масштабировать штат живых прорабов для контроля каждого угла площадки невозможно физически. Человеческий глаз безнадежно замыливается на второй час непрерывного наблюдения за мониторами. Компьютерное зрение не устает. Оно методично, кадр за кадром, собирает сырые данные. Эти данные не имеют никакой ценности сами по себе. Ценность возникает в ту секунду, когда аналитика жестко встраивается в управленческий цикл девелопера. Когда затяжной простой бетононасоса вызывает автоматическую корректировку графика поставок миксеров. Когда человек в опасной зоне блокирует работу крана аппаратно через реле, а не просто мигает иконкой на экране. Это сложная, грязная, сугубо инфраструктурная инженерия, где обучение нейросетей — лишь десять процентов успеха. Остальные девяносто — это способность архитектуры выжить в реальности, где минус пятнадцать, пыль и ни одного деления на индикаторе модема.