Сначала данные, затем камера с «умным» ответом
Небольшой производственный участок хочет находить дефекты на фотографиях деталей. Кажется, что первый шаг — выбрать модель. На практике раньше надо договориться, что считать дефектом, как его видно на снимке и кто подтвердит спорный случай. Иначе даже аккуратный детектор будет воспроизводить противоречия в разметке: одна смена помечает царапину, другая считает её допустимой.
CVAT — инструмент для разметки изображений и видео. Его Community-редакция доступна для самостоятельного размещения. В ней можно создавать задания и размечать объекты; автоматическая предварительная разметка возможна, если к экземпляру подключена подходящая модель. Документация CVAT отдельно указывает: для Community доступны функции на основе Nuclio, тогда как сторонние и native-функции имеют другую доступность по редакциям. Это не «готовый контроль качества цеха», а рабочее место для подготовки и проверки данных.
Ниже — редакционная схема пилота для малого производства, не история о достигнутой экономии конкретной компании. Показанный на обложке экран — официальный снимок настройки автоматической разметки CVAT: в нём видны сопоставление классов, порог и область интереса. Снимок взят из документации проекта, опубликованной в репозитории под MIT License; изображение обрезано не было, помещено на квадрат поверх размытого продолжения самого себя.
Как сформулировать задачу без лишней модели
Выберите одну операцию: например, обнаружение отсутствующего отверстия, крупной царапины или смещения этикетки. Требование «найти любой брак» слишком широко для первого набора данных. Для каждого класса нужен пример, контрпример и правило для пограничной ситуации. В инструкции разметчику зафиксируйте, отмечается ли весь объект или только зона дефекта, минимальный размер, способ работы с бликом и случаи, где качество фотографии недостаточно для решения.
Снимки должны отражать реальные условия: разные партии, смены, фон, освещение, ракурсы и камеры. Несколько почти одинаковых кадров одного изделия не заменяют разнообразия. Не берите только очевидные дефекты: полезнее заранее включить сложные «нормальные» изделия, которые похожи на брак. Иначе на демонстрации всё работает, а на линии оператор получает поток ложных тревог.
Зафиксируйте процесс принятия решения: модель предлагает метку, сотрудник подтверждает или отклоняет её. На первом этапе результат модели не должен автоматически браковать изделие. Для дорогой или опасной ошибки человека оставляют последней инстанцией до отдельной проверки безопасности и экономического эффекта.
Что делать в CVAT
Создайте проект с коротким списком классов и заданиями для фотографий. Часть снимков размечают вручную как эталон; спорные случаи рассматривают с технологом. Внутри редактора доступны прямоугольники, полигоны и другие типы объектов, но выбирать нужно самое простое представление, которое достаточно для решения задачи. Если надо только ответить «есть дефект или нет», детальная обводка каждого пикселя может увеличить затраты без пользы.
Документация CVAT описывает режим Review для ручного поиска и исправления проблем с разметкой. Важное различие: автоматизированная оценка качества через Ground Truth и Honeypots на странице CVAT помечена как функция CVAT Online и Enterprise. Её нельзя обещать владельцу локальной Community-инсталляции. Для Community можно организовать ручную двойную проверку выбранной подвыборки и фиксировать расхождения отдельно.
Если есть подходящий детектор, предварительная разметка может ускорить рутинную часть. Официальная инструкция CVAT требует, чтобы модель была реально подключена к экземпляру; затем пользователь сопоставляет её метки с метками проекта, задаёт порог и при необходимости область интереса. Для Community развёртывание функций Nuclio — отдельная техническая работа, а не переключатель «включить ИИ». Даже после автоматической разметки человек должен проверить пропущенные дефекты и лишние рамки.
На скриншоте показаны классы `person` и `car` как пример интерфейса, не как предложенная модель для контроля деталей. Для своей задачи придётся обеспечить подходящие классы и проверить права на веса модели отдельно от лицензии CVAT. Свободная лицензия программы не означает автоматически свободную коммерческую лицензию каждого подключённого детектора.
Разделите данные так, чтобы тест был честным
Разделять снимки случайно по отдельным файлам рискованно: соседние кадры одной детали могут попасть и в обучение, и в тест. Тогда результат измеряет узнавание той же сцены, а не работу на новой партии. Разделите по партии, времени или объекту так, чтобы изображения одного изделия не пересекались между выборками. Сохраните отдельный набор снимков после изменения освещения или камеры.
Проверяйте минимум два вида ошибок. Ложный пропуск — брак прошёл без тревоги; ложная тревога — нормальное изделие отправлено на дополнительную проверку. Их цена может различаться на порядок, поэтому одного общего процента точности недостаточно. Для малого бизнеса полезнее простая таблица: сколько изделий в потоке, сколько реально дефектных, сколько модель пропускает, сколько лишних остановок создаёт и сколько минут тратит контролёр.
NIST в рекомендациях по измерению рисков ИИ отдельно подчёркивает качество и репрезентативность данных и проверку работы в условиях реального применения. Для пилота это означает испытание не только на «красивых» снимках из набора разметки, но и на новых партиях, слабом освещении и загрязнённой камере. Метрика должна быть привязана к конкретному процессу, а не к универсальному бенчмарку.
Инфраструктура и данные
Для начального цикла достаточно камеры с фиксированной геометрией, стабильного света, каталога изображений и ответственного за разметку. CVAT Community размещают в своём контуре, если фотографии изделий нельзя отправлять во внешний сервис. Потребуются администрирование, резервное копирование, обновления и разграничение доступа к исходным снимкам. Сами фотографии могут раскрывать конструкцию изделия, серийные номера или рабочее место, поэтому условия хранения и передачи согласуют до загрузки.
Экспортировать данные из CVAT можно в несколько форматов, но выбранный формат следует проверить на небольшом задании до массовой разметки: разметка масками, прямоугольниками и атрибутами переносится по-разному. Копия заданий и исходных фотографий должна быть отдельно от обучающего архива. Замена категории дефекта в середине проекта — повод версионировать схему меток и пересмотреть уже размеченные кадры.
Локальный запуск детектора на линии — следующий этап, независимый от работы CVAT. Его требования к видеокарте, задержке и интеграции с контроллером определяются выбранной моделью и скоростью конвейера. Не стоит закупать GPU по размеру аннотационного проекта: сначала нужен тест на реальном потоке, включая время передачи кадра и действия оператора.
Экономика и двухнедельный пилот
Модельный пример, не показатель CVAT: участок фотографирует 2 000 изделий за смену, брак встречается у 1% — это 20 дефектных изделий. Если детектор пропускает 10% брака, два дефекта остаются незамеченными. Если он ошибочно помечает 5% нормальных изделий, около 99 изделий за смену уходят на ручную перепроверку. При 30 секундах на проверку это почти 50 минут дополнительной работы. Экономику меняют стоимость пропуска, цена ложной тревоги и фактическая доля брака; все цифры здесь — допущения для проверки формулы.
На две недели выберите одну деталь и один наблюдаемый дефект. В первую неделю соберите фотографии из нескольких партий, согласуйте правила разметки и вручную проверьте спорные примеры. Во вторую — испытайте простой базовый метод или уже доступную модель на отложенной партии, не влияя на решение контролёра. Запишите ложные пропуски, ложные тревоги, время проверки и причины ошибок. Если данные не позволяют надёжно отличить дефект, улучшайте свет и ракурс до усложнения модели.
Руководителю нужен не процент «точности ИИ» сам по себе, а решение о следующем шаге: продолжать разметку, поправить съёмку или отказаться от автоматизации этого дефекта. CVAT помогает сделать эти данные управляемыми; решение о качестве изделия и инвестиции остаётся у людей.
Источник изображения: CVAT.ai Corporation, официальный репозиторий CVAT, MIT License.
