📅 · 4 мин чтения · Команда Meta Smart Factory
Большинство проектов визуального контроля качества решается до того, как написана первая строка кода, — в тот момент, когда кто-то определяет, что считать дефектом, фиксирует положение детали и выбирает, как её осветить. Модель работает только с тем изображением, которое ей дали. Это руководство адресовано тем, кто задаёт требования к системе: инженерам по качеству и технологам, специалистам по автоматизации, тем, кто потом за неё отвечает. Предполагается, что свой процесс вы знаете, а машинное зрение — нет.
До любого вопроса о железе определите, что на этой детали считается дефектом и кто это решает. Звучит тривиально — ровно до первой проверки.
Возьмите с линии сотню деталей, включая неудобные, и дайте двум опытным контролёрам независимо разложить их на годные и брак. На явных дефектах они сойдутся. На пограничной популяции — слабая царапина, недолив, читаемая, но нечёткая маркировка — часто нет.
Это расхождение и есть реальный потолок точности. Если двое, делающие эту работу годами, не могут договориться об одной и той же детали, то единственно верного ответа, которому могла бы обучиться модель, не существует, и ни один поставщик его не даст. Поэтому любая цифра точности в коммерческом предложении ничего не значит, пока определение не зафиксировано.
Лечится это не алгоритмом. Лечится письменным каталогом дефектов — каждый тип назван и показан на изображениях — и граничным набором физических образцов по каждому классу: худшая ещё годная деталь и лучшая уже бракованная. Эти образцы становятся эталоном и для разметки, и для приёмочных испытаний.
Задачу, которую никто не может определить одинаково, нельзя автоматизировать — о ней можно только быстрее спорить.
Подбор камеры — арифметика, а не вкусовщина.
Разрешение задаёт самый мелкий признак, который нужно увидеть. Разделите поле зрения — деталь плюс допуск на то, как она может лечь, — на число пикселей матрицы и получите миллиметры на пиксель. Дефект размером в один пиксель надёжно найден не будет, поэтому закладывайте несколько пикселей на минимальный признак, а при низком контрасте — больше. Разрешение сверх этого стоит полосы пропускания и глубины резкости, а контраст всё равно важнее числа пикселей.
Выдержка должна обгонять линию. Смаз — это скорость, умноженная на время экспозиции: деталь, идущая со скоростью один метр в секунду, за одну миллисекунду смазывается на один миллиметр. Если смаз больше дефекта, всё уже проиграно. Короче выдержка — больше света, поэтому освещение и камера выбираются одним решением. Для всего движущегося задавайте глобальный затвор: построчный затвор считывает изображение строка за строкой и искажает движущуюся деталь.
Матричная камера или линейная. Матричная подходит для штучных деталей, остановленных или спозиционированных на посту. Линейная собирает изображение строка за строкой — для непрерывного полотна, полосы или экструзии, а также для цилиндрической детали, прокатываемой мимо камеры, — и требует движения с постоянной скоростью либо синхронизации по энкодеру.
Монохром, если только цвет не есть сам дефект. Монохромная камера тратит каждый пиксель на детали и чувствительнее при слабом свете. Цвет выбирайте только тогда, когда информацию несёт именно цвет: компонент не того цвета, пятно, цвет печати относительно спецификации.
Интерфейс и кабельная часть. Интерфейс определяет длину кабеля, полосу пропускания и стоимость: GigE для длинных трасс, USB3 на лабораторном столе, высокоскоростные промышленные интерфейсы для быстрых линейных камер. Дальше идёт неинтересная часть, на которой чаще всего сыплется эксплуатация: кабель с допуском на работу в гибкой цепи, разъёмы с фиксацией, разгрузка натяжения, прокладка в стороне от силовых и сварочных кабелей.
Дефект, который свет делает очевидным, — простая задача; тот же дефект, который модель вынуждена выковыривать из шумного изображения, — дорогая. Большинство задач закрывает небольшой набор схем. Светлое поле, свет вдоль оси наблюдения, даёт ровное универсальное изображение для печати, цвета и наличия. Тёмное поле, под скользящим углом, заставляет царапины и гравировку светиться на тёмном фоне. Подсветка на просвет даёт силуэт детали — для габаритов контура, положения отверстий и уровня заполнения. Купольный осветитель оборачивает изогнутую или блестящую деталь равномерным светом, и это ответ для печати по отражающим поверхностям. Коаксиальный свет приходит вдоль оптической оси — для плоских зеркальных поверхностей и лазерной маркировки.
Царапина, вмятина и ошибка печати — три разные задачи по свету: скользящий свет для царапины; для вмятины, которая меняет наклон поверхности, а не цвет, — свет, отражение которого смещается вместе с этим наклоном; ровный, без бликов, свет для печати. Попытка закрыть все три одним осветителем — это и есть способ получить пост, который посредственно делает всё.
Дальше — внешняя засветка, которая тихо ломает системы, прошедшие приёмку: послеобеденное солнце через фонарь в кровле, смена, включающая другой верхний свет. Решать её надо физически: закрыть пост кожухом, поставить полосовой фильтр под длину волны LED и стробировать коротко и ярко по сигналу захвата кадра, чтобы ваш свет доминировал над цеховым.
Стабильное изображение обходится дешевле, чем более крупная модель.
Большинство задач контроля — двумерные: наличие, положение, размеры в плоскости, печать, цвет, всё, что проявляется как контраст на поверхности.
В 3D имеет смысл идти, когда признак — это высота или форма и он не даёт устойчивого контраста: высота валика клея, копланарность выводов, профиль сварного шва, коробление, вмятина на неокрашенном металле, уровень заполнения непрозрачной тары. Лазерная триангуляция требует относительного движения, структурированный свет работает по неподвижной детали; обе схемы плохо переносят зеркальные поверхности и перекрытия и дают на деталь заметно больше данных.
Практический тест: если хороший контролёр может судить о детали по фотографии, это задача 2D. Если ему нужно покрутить её на свету — это 3D или специальная схема освещения, причём освещение стоит попробовать первым.
Значительная часть того, что приходит как запрос на контроль с ИИ, — это проверка этикеток и печати, и большая её часть детерминирована: оценка качества штрихкода или Data Matrix, сравнение напечатанного текста с ожидаемой строкой, проверка того, что на нужном изделии стоит нужная ревизия.
Сложность не в чтении, а в том, откуда берётся ожидаемое значение. Если оператор набирает целевой текст прямо на посту, вы автоматизировали опечатку; код, партия, дата и ревизия должны приходить из заказа в MES или ERP. Машинное обучение оправдывает себя здесь на качестве печати — смазывание, непропечатанные точки, искажение на кривых поверхностях, — а не на сравнении.
Ваша линия выпускает подавляющим большинством годные детали, и этот дисбаланс определяет данные контроля. Из-за него общая точность бесполезна как метрика: модель, объявляющая годным всё подряд, выглядит хорошо на выборке, почти целиком состоящей из годных деталей. Судить надо по дефектам — сколько поймано и сколько годных деталей ушло в брак зря.
Дисбаланс определяет и подход. Детекция аномалий учит норму по годным деталям и отмечает отклонение; ей нужно мало изображений дефектов, она реагирует на то, чего никогда не видела, но говорит лишь, что деталь необычная, а не что с ней не так. Классификация и сегментация с учителем называют и локализуют дефект, а это то, что нужно каталогу дефектов и SPC, — но им нужны реальные примеры каждого класса, и больше, чем все ожидают. В любом случае модель знает только те дефекты, которые ей показали.
Дальше — дрейф. Модель есть снимок линии на момент обучения, а линия меняется: новый поставщик, другая партия материала, износ инструмента, сдвинутая при уборке камера, новая ревизия детали. Переобучение — работа по обслуживанию, у которой есть владелец и график, а не этап проекта, который однажды заканчивается.
Разметка заслуживает отдельного решения, потому что тот, кто размечает изображения, определяет качество для всего завода. Она принадлежит тем, кто владеет определением дефекта, и ведётся по граничным образцам; иначе расхождение контролёров, описанное выше, возвращается в виде несогласованной разметки, а она ограничивает всё, что стоит ниже по цепочке.
Синтетические и аугментированные данные помогают в конкретных местах. Аугментация — небольшие изменения поворота, положения, яркости, фокуса — обходится дёшево, пока вы остаётесь внутри того, что пост физически способен воспроизвести. Синтезированные изображения полезнее всего там, где дефект геометричен и описуем: отсутствующий компонент, неверная ориентация. Меньше всего они помогают там, где неизвестен сам внешний вид дефекта, — а этого рендер придумать не может.
На чём бы вы ни обучались, отложите тестовый набор реальных изображений, включая пограничные детали. Это единственный честный способ понять, действительно ли новая модель лучше предыдущей.
У любой системы контроля есть порог, и он разменивает две ошибки друг на друга: ужесточите — поймаете больше дефектов и забракуете больше годных деталей, ослабьте — наоборот. Ни одна настройка не убирает обе. В какую сторону смещаться, определяет экономика конкретного завода: во что обходится пропуск против того, во что обходится перебраковка в списанных деталях, доработке и времени оператора.
Асимметрию стоит закладывать в план. Перебраковка разрушает доверие быстрее, чем пропущенные дефекты. Пропуски остаются невидимыми неделями; пост, который бракует годное, виден в течение часа, и реакция предсказуема: оператор начинает переопределять вердикт, потом перестаёт смотреть, и камера превращается в дорогую лампу.
Поэтому у положения порога должен быть владелец: названный поимённо человек в службе качества, значение, записанное в план контроля, и журнал изменений. Три исхода вместо двух — годен, брак и полоса разбора, направляемая человеку, — позволяют держать детекцию жёстко, не сваливая пограничную популяцию на оператора. Приёмочные критерии задайте в заводских терминах до запуска: в пропусках на тысячу деталей и ложных отбраковках за смену.
Кадр снят, у модели есть ответ, а с деталью пока ничего не произошло. Дальше должны последовать две вещи.
Исполнение. Отбраковка должна физически исполняться — толкателем, отводным механизмом или блокировкой, которая не даёт выполнить следующую операцию над этой деталью, — через PLC, причём квитирование проектируется так, чтобы сорванный захват кадра или медленный инференс приводили к безопасному состоянию, а не к тихому «годен». Подтверждайте съём детали датчиком, который видит, что она ушла. Сбрасыватель, который промахивается и никому об этом не сообщает, хуже, чем отсутствие контроля: теперь люди уверены, что детали проверены.
Запись. Вердикт, изображение и метка времени должны лечь на производственный заказ, партию, серийный номер, пост и версию модели — в MES и QMS. Версия модели важна: после переобучения вчерашние вердикты вынес другой судья. Именно эта запись даёт контролю накопительный эффект: доля дефектов по классам становится переменной SPC, а локализация партии — запросом вместо недели бумажной работы.
Почти всегда из-за одного из этого, и редко из-за модели.
Нестабильное представление детали — деталь приходит не в то же место, не под тем углом и не на том расстоянии: вибрация, ослабший кронштейн, сбитое при уборке крепление. Оснастка — самая дешёвая точность, которую вы когда-либо купите.
Порог без владельца, уезжающий вместе с тем, кто сегодня на смене.
Ревизия детали, под которую никто не переобучил модель. Управление инженерными изменениями обязано числить контроль среди затронутых систем.
Обход без следа. Оператору нужна возможность переопределения, но она должна логироваться и разбираться.
Никто не смотрит изображения. Кто-то должен регулярно просматривать браковки и выборку годных; так дрейф ловится раньше, чем его поймает заказчик.
Условия пилота, принятые за производственные. Демонстрация шла на лабораторном столе, ночью, и деталь держал руками человек.
Модуль машинного зрения (Computer Vision) Meta Smart Factory закрывает контрольную часть всего перечисленного — камеры и освещение подбираются под тот дефект, который у вас есть, модели обучаются на ваших деталях, инференс идёт на линии — и интегрируется с нашими модулями MES и Quality (QMS), так что вердикт ложится на производственный заказ и партию и уходит в прослеживаемость и SPC, а не останавливается на лампе. Исполнение отбраковки идёт через PLC по той же связности IIoT и OPC UA.
Если вы в самом начале этого пути, полезный первый шаг — не демонстрация. Это тест на сотне деталей с двумя контролёрами и письменный каталог дефектов, и мы готовы провести его вместе с вами до того, как кто-либо начнёт выбирать камеру.
Обсудить с нашими экспертами