Все исследования

Детекция дефектов на сложных материалах

4 мая 2026 · 13 мин чтения · Smart Video

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

машинное зрениеконтроль качествадефектыanomaly detectionYOLO26глобальный затвордатасетMLOps

Сложная поверхность обманывает модель

Поиск дефектов на сложных материалах - одна из самых неприятных задач машинного зрения. На демо она выглядит просто: камера смотрит на поверхность, нейросеть рисует рамку вокруг дефекта, оператор получает сигнал. В реальном производстве все иначе: нормальная поверхность сама по себе неоднородна, рисунок меняется от партии к партии, часть брака почти не отличается от фактуры, редкие дефекты встречаются десятки раз, а не тысячи, линия движется, свет плывет, и ошибка в пару миллиметров может менять решение: продажа, ремонт или остановка партии.

Эта статья написана по мотивам обезличенного инженерного проекта Smart Video. Мы не раскрываем заказчика, материал, состав, технологию производства и внутренние идентификаторы. Но сама боль типовая для многих производств: рулонные, слоистые, текстурированные, волокнистые, композитные и полупрозрачные материалы плохо поддаются наивному подходу "соберем немного фотографий и обучим YOLO".

Smart Video делает такие проекты как инженерную систему контроля качества продукции, а не как отдельную модель. Модель важна, но вокруг нее есть камера, оптика, свет, ROI, энкодер метража, ПЛК, журнал дефектов, база партий, пороги критичности, интерфейс оператора и контур дообучения.

На простых задачах дефект отделяется от нормы контрастом: нет крышки, есть царапина, не хватает детали, код смазан. На сложном материале нормальное состояние уже содержит визуальный шум: полосы, перепады яркости, локальные волны, повторяющийся рисунок, микроизменения структуры. Для человека это "обычная фактура", а для модели это пространство признаков, где дефект и норма могут лежать очень близко.

Главные причины сложности

Шесть факторов, которые превращают детекцию дефектов на сложных материалах в инженерную задачу

Высокая вариативность нормы

Хороший материал не выглядит одинаково. Если в обучении была одна партия, другая партия может стать для модели "аномалией".

Низкий контраст брака

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

Мелкий размер

Часть дефектов занимает несколько десятков пикселей на кадре 1280 px. При ресайзе, смазе или неправильном ROI они исчезают.

Редкие классы

Самый важный дефект может встречаться редко. Модель видит его мало и не успевает построить устойчивое представление.

Дисбаланс разметки

Один тип брака может иметь тысячи примеров, другой - меньше сотни. Общая метрика выглядит прилично, но слабый класс остается опасным.

Смена условий съемки

Свет, загрязнение стекла, вибрация, скорость и экспозиция дают distribution shift: модель обучалась на одном мире, а работает в другом.

Текстурное смещение и новые бенчмарки

Сверточные сети по своей природе склонны опираться на текстуру, а не на форму объекта. На материале с богатой фактурой это приводит к тому, что модель "учит" случайные текстурные паттерны вместо настоящих дефектов. Современные исследования (MDANet, 2026) показывают, что раздельное моделирование текстурных и форменных признаков с динамическим взвешиванием дает прирост до 2.5% по точности детекции на текстурированных поверхностях. MVTec AD 2 - новый бенчмарк из восьми сценариев с более чем 8000 изображений - специально усложняет сценарии: текстурированные поверхности, темнопольная и задняя подсветка, прозрачные объекты, очень мелкие дефекты. Современные SOTA-методы на нем показывают меньше 60% среднего AU-PRO.

Почему одного детектора мало

В обезличенном проекте мы использовали двухступенчатую схему.

Первая ступень - быстрый классификатор кадра. Он отвечает на грубый вопрос: кадр рабочий, кадр с крупным браком или служебный/непригодный кадр. Такая модель нужна, чтобы быстро отсекать очевидные ситуации и не перегружать детектор.

Вторая ступень - детектор и локализатор дефектов. Он ищет конкретные зоны на поверхности: кромочные дефекты, пузыри, стыки, включения, заломы, локальные неоднородности и другие классы. Система не просто говорит "брак есть", а показывает, где он расположен, какой у него тип, какова уверенность модели и на каком метре он найден.

Преимущества двухступенчатой схемы:

  • Классификатор быстро отбрасывает крупные и служебные случаи.
  • Детектор работает на более чистом потоке кадров.
  • Можно раздельно настраивать чувствительность первого и второго этапа.
  • Крупный дефект и мелкая локальная аномалия не конкурируют в одной логике.
  • Оператор получает не только сигнал, но и координату, тип, размер и фотофакт.

Но двухступенчатая схема не волшебная. Если первый классификатор пропускает крупный брак как норму, второй этап может даже не получить правильный контекст. Первый этап должен проектироваться не на максимальную accuracy, а на правильную цену ошибки.

В последних работах (обзор Journal of Manufacturing Systems, 2026) набирает вес парадигма open-set defect detection: система не обязана знать все типы дефектов заранее. Вместо закрытого списка классов модель оценивает аномальность относительно нормы и сигнализирует о неизвестном типе отклонения. Это особенно важно для сложных материалов, где на производстве может всплыть дефект, не встречавшийся в датасете.

Что показал обезличенный пилот

Классификатор показал около 94% общей точности. Нормальные кадры распознавались с точностью 99%, но крупные дефекты определялись слабее - около 83%, часть ушла в норму. Детектор искал 20 типов дефектов: mAP@0.5 - 66%, mAP@0.5:0.95 - 36%, лучшая F1 - при confidence 0,32. Сильные классы: стыки, неровности, включения. Рискованные: тонкие линейные дефекты, пятна, отслоения.

Как читать метрики без самообмана

Для производственного контроля качества важны не только ML-метрики, но и их связь с решением на линии.

Precision отвечает за лишние тревоги. Если precision низкий, оператор устает и перестает верить системе. Recall отвечает за пропуски - если он низкий на критичных дефектах, брак проходит дальше. F1 полезна как баланс, но скрывает цену ошибок. mAP@0.5 показывает, насколько модель находит объекты при мягком IoU. mAP@0.5:0.95 строже к локализации. Confidence threshold - рычаг между пропусками и ложными тревогами.

Общий порог confidence 0,32 был хорошей стартовой точкой, но не финальным решением. Сильные классы можно запускать строже, слабые - мягче. Для уверенных классов допустим более высокий порог, чтобы убрать мусор. Для слабых и критичных классов порог иногда приходится снижать, но с дополнительными фильтрами: размер, повторяемость по соседним кадрам, зона ROI, правила критичности и ручная верификация.

Четыре типа проблем - порогами не все вылечить

Порог confidence помогает только если модель уже видит дефект, но уверенность плавает. Мы разделяем проблемы на четыре типа: пороговая лечится поклассовыми threshold, датасетная - сбором пограничных кадров, оптическая - камерой и светом, регламентная - правилами ОТК. Самое тяжелое - когда все четыре смешаны. Тогда команда пытается "подкрутить модель", хотя на самом деле нужно менять свет, собирать новые данные и переписывать классы.

Камера, свет, датасетный цикл и приемка

Камера, свет и глобальный затвор

Для движущегося материала камера не второстепенна. Если кадр смазан, если rolling shutter деформирует изображение, если экспозиция гуляет, модель будет учиться на нестабильной физике. Особенно это важно для тонких линий, кромок и малоконтрастных дефектов.

У нас есть свои камеры с глобальным затвором, и в таких задачах это не маркетинговая деталь. Глобальный затвор фиксирует кадр целиком в один момент времени, что снижает геометрические искажения на движении. Вместе с короткой выдержкой, стабильной подсветкой и trigger-синхронизацией это дает модели более честное изображение.

Практический минимум для линии:

  • Зафиксировать ROI, чтобы модель анализировала только рабочую область.
  • Привязать пиксели к реальным миллиметрам, иначе размер дефекта будет условным.
  • Использовать энкодер или другой источник метража для координаты дефекта по длине.
  • Отделять "пустой стол" и служебные кадры от рабочего потока.
  • Контролировать FPS модели и камеры, чтобы не было скрытых пропусков.
  • Вести архив кадров, предсказаний и действий оператора.

Промышленная система не ограничивается окном с видеопотоком. В ней нужны рабочий экран оператора, база рулонов или партий, детализация дефектов, настройки ROI, инструмент сбора датасета и мобильный ТСД для поиска рулона на складе. Это инфраструктура, без которой ML-модель не превращается в производственный инструмент.

Dataset loop: как система становится лучше после запуска

Для сложных материалов нельзя собрать датасет один раз и забыть:

1. Система находит дефекты и сохраняет кадры с координатой по метражу.

2. Оператор подтверждает, исправляет или отклоняет срабатывание.

3. Спорные случаи попадают в очередь разметки.

4. Инженер смотрит слабые классы, пропуски и ложные тревоги.

5. Датасет пополняется пограничными примерами, а не случайными красивыми кадрами.

6. Модель дообучается, но сравнивается с предыдущей версией на фиксированном тесте.

7. Новая версия выкатывается только после приемки по классам и производственным метрикам.

Через AI Platforms систему можно расширить локальным ИИ-слоем: поиск похожих дефектов в архиве, RAG по регламентам ОТК, сводки по сменам.

Что должно быть в приемке

Приемка должна быть поклассовой. Фиксируем: список классов, минимальный размер дефекта, критичность (продажа/ремонт/остановка), precision и recall по каждому классу, допустимое число ложных тревог, устойчивость к смене партии и освещения, задержку и FPS.

Для edge-сценариев у линии интересны легкие версии anomaly detection. PatchCore-Lite с квантованной памятью дает до 79% сокращения памяти, PaDiM-Lite с диагональной ковариацией ускоряет инференс на 31%. Это позволяет держать инспекцию на выделенном компьютере без передачи данных в центральный сервер.

Практический план внедрения

Как проект по сложным материалам превращает модель в систему контроля качества

01

Определить дефекты на языке ОТК

Что считается браком, что ремонтом, что допускается. Без этого этапа любая модель будет субъективной.

02

Настроить физику съемки

Камера, глобальный затвор, свет, объектив, ROI, синхронизация с конвейером.

03

Собрать стартовый датасет

По партиям, сменам, скоростям и режимам. Несколько тысяч кадров, покрывающих вариативность нормы.

04

Разделить задачу на этапы

Классификация кадров, детекция дефектов, правила критичности. Каждый этап - отдельная модель или алгоритм.

05

Обучить первую модель

Не влюбляться в общую accuracy. Сразу смотреть поклассовые метрики и ошибки.

06

Разобрать ошибки по классам

Что модель пропускает, что путает, где шумит. Карта работ для следующей итерации.

07

Настроить поклассовые пороги

Confidence threshold для каждого класса отдельно. Правила постобработки: размер, длина, повторяемость.

08

Запустить опытную эксплуатацию

Оператор в контуре: подтверждает спорные случаи, накапливает пограничные примеры.

09

Дособрать и дообучить

Слабые классы усиливаются новыми примерами. Датасетный цикл работает непрерывно.

10

Внедрить отчеты и интеграцию

ТСД, этикетки, архив дефектов, интеграция с ПЛК/MES/ОТК. Система становится рабочим инструментом.

Где классическая CV все еще полезна

Не все нужно решать нейросетью. Рядом с детектором часто работают простые и надежные методы: контроль яркости и наличия материала в ROI, фильтрация по размеру рамки, объединение дефектов на соседних кадрах, подавление повторов, проверка кромки геометрическими правилами, расчет длины дефекта в миллиметрах. Это не "старый подход против ИИ", а нормальная инженерия.

Про аугментацию данных. На реальных промышленных датасетах грамотная offline-аугментация часто дает больший прирост, чем переход на более тяжелую модель. В открытых бенчмарках (GC10-DET, стальной прокат) аугментация через Albumentations с oversampling редких классов дала +3.6% mAP, а увеличение модели с Nano до Small - только +2.7%. Nano с аугментацией использовал в 4 раза меньше параметров и работал со скоростью 87 FPS против 30 FPS у Small. Рецепт для сложных материалов: сначала усилить данные, потом масштабировать модель.

Вывод. На сложных материалах проблема не в том, что "нейросеть плохо работает". Дефект часто является слабым отклонением внутри изменчивой нормы. Проект должен объединять оптику, камеру, свет, датасетный цикл, поклассовые метрики и промышленную интеграцию. Честный пилот может показать не идеальные цифры - 94% у классификатора, 83% по крупному браку, 66% mAP у детектора. Это не провал, а карта работ.

Современные подходы - open-set детекция для новых типов брака, shape-texture aware модели для текстурных поверхностей, легкие версии anomaly detection для edge - дают дополнительные инструменты, но не отменяют базовой инженерной работы: камера, свет, данные, метрики, контур дообучения.

Источники: MVTec AD 2 Dataset (IJCV 2026, arXiv:2503.21622), A Comprehensive Survey for Real-World Industrial Defect Detection (arXiv:2507.13378, 2025), Efficient Visual Anomaly Detection at the Edge (arXiv:2603.20288, 2026), Shape-texture aware multi-source domain adaptation (The Visual Computer, 2026), Ultralytics YOLO26 documentation, RareCLIP (ICCV 2025), Smart Video - обезличенные отчеты по проекту, апрель 2026.

Обсудить проект

Если на вашем производстве есть сложный материал, где обычная детекция не дает нужной точности - опишите задачу, линию и типы дефектов. Мы предложим архитектуру пилота: от аудита оптики до датасетного цикла и интеграции с MES.

Все услуги