Поиск дефектов на сложных материалах - одна из самых неприятных задач машинного зрения. На демо она выглядит просто: камера смотрит на поверхность, нейросеть рисует рамку вокруг дефекта, оператор получает сигнал. В реальном производстве все иначе: нормальная поверхность сама по себе неоднородна, рисунок меняется от партии к партии, часть брака почти не отличается от фактуры, редкие дефекты встречаются десятки раз, а не тысячи, линия движется, свет плывет, и ошибка в пару миллиметров может менять решение: продажа, ремонт или остановка партии.
Эта статья написана по мотивам обезличенного инженерного проекта Smart Video. Мы не раскрываем заказчика, материал, состав, технологию производства и внутренние идентификаторы. Но сама боль типовая для многих производств: рулонные, слоистые, текстурированные, волокнистые, композитные и полупрозрачные материалы плохо поддаются наивному подходу "соберем немного фотографий и обучим YOLO".
Smart Video делает такие проекты как инженерную систему контроля качества продукции, а не как отдельную модель. Модель важна, но вокруг нее есть камера, оптика, свет, ROI, энкодер метража, ПЛК, журнал дефектов, база партий, пороги критичности, интерфейс оператора и контур дообучения.
На простых задачах дефект отделяется от нормы контрастом: нет крышки, есть царапина, не хватает детали, код смазан. На сложном материале нормальное состояние уже содержит визуальный шум: полосы, перепады яркости, локальные волны, повторяющийся рисунок, микроизменения структуры. Для человека это "обычная фактура", а для модели это пространство признаков, где дефект и норма могут лежать очень близко.