Использование инструментария обработки изображений Matlab для промышленной инспекции
В современном производстве предел погрешности сократился почти до нуля. Один дефектный компонент может каскадировать в дорогостоящие отзывы, риски безопасности и повреждения бренда. Промышленный осмотр - систематический процесс проверки качества продукции - поэтому стал необоротной частью производства. Тем не менее, традиционный ручной осмотр изо всех сил пытается идти в ногу с высокоскоростными линиями и микроскопическими размерами дефектов. Именно здесь входит машинное зрение, и в основе многих успешных систем зрения лежит Инструментарий обработки изображений MATLAB. Благодаря богатой библиотеке алгоритмов и бесшовной аппаратной интеграции, инструментарий позволяет инженерам создавать автоматизированные системы контроля, которые являются надежными и адаптируемыми. Эта статья обеспечивает глубокий, практический взгляд на то, как использовать инструментарий для промышленного осмотра, от базовых операций с пикселями до продвинутых классификаторов машинного обучения.
Промышленная инспекция и машинное зрение
Промышленный осмотр охватывает широкий спектр задач: проверка отделки поверхности, проверка размеров, обнаружение загрязнений, обеспечение правильной сборки и считывание кодов или этикеток. Системы машинного зрения автоматизируют эти задачи с помощью камер и программного обеспечения для обработки изображений. Преимущества перед инспекторами-людьми очевидны - более высокая скорость, согласованная точность и способность работать в суровых условиях. Инструментарий обработки изображений MATLAB обеспечивает всеобъемлющую среду для проектирования, тестирования и развертывания алгоритмов видения. Он поддерживает полный конвейер: получение изображений, предварительная обработка, сегментация, извлечение функций, классификация и интеграция с заводской автоматизацией.
Инструментарий не остров; он интегрируется с более широкой экосистемой MATLAB, включая Computer Vision Toolbox для 3D-видения, Deep Learning Toolbox для нейронных сетей и Automated Driving Toolbox для специализированных приложений. Для промышленного контроля, Image Processing Toolbox является рабочей лошадкой, предлагая сотни функций для фильтрации, морфологии, обнаружения краев и распознавания образов. Его сила заключается в скорости прототипирования - инженеры могут попробовать различные алгоритмы интерактивно, прежде чем приступить к реализации на встроенном оборудовании.
Ключевые возможности инструментария обработки изображений для проверки
Приобретение изображений и I/O
Перед тем, как любой алгоритм может работать, изображения должны быть надежно захвачены. Инструментарий обеспечивает прямые интерфейсы для широкого спектра камер через Инструментарий приобретения изображений (компаньонный продукт). Он поддерживает GigE Vision, USB3 Vision, Camera Link и многие семейства запатентованных камер. Для проверки критически важно срабатывание. Инструментарий позволяет программные триггеры или аппаратные триггеры через платы ввода-вывода, позволяя синхронный захват с конвейерными лентами или руками роботов. Данные изображения могут быть импортированы из стандартных форматов (TIFF, JPEG, PNG, BMP) и специализированных форматов, таких как DICOM для медицинских задач проверки. Нативная поддержка изображений с высокой глубиной бита (12-битное, 16-битное) имеет важное значение для таких приложений, как рентгеновский осмотр или тепловизионное изображение, где важны тонкие различия интенсивности.
Предварительная обработка и улучшение
Промышленные изображения в реальном мире редко бывают чистыми. Пыль, неравномерное освещение, блики объектива и шум датчиков ухудшают качество изображения. В наборе инструментов предлагается полный набор операций фильтрации для подготовки изображений к анализу:
- Снижение шума: Медианная фильтрация, гауссовское размытие, двусторонняя фильтрация и нелокальная денотация. Медианная фильтрация особенно эффективна для удаления шума соли и перца, обычного в высокоскоростных камерах.
- Контрастная регулировка: Уравнение гистограммы, уравнение адаптивной гистограммы (CLAHE) и гамма-коррекция. CLAHE ценен для изображений с драматическими градиентами освещения, например, взятых под углом освещения для обнаружения дефектов.
- Затвердевание и размывание:] Неострая маскировка, деконволюция Винера и слепая деконволюция. Они могут восстанавливать мелкие края, размытые движением в высокоскоростных линиях.
- Морфологические операции: Морфологические операции: Дилатация, эрозия, открытие, закрытие и преобразования верхней шляпы. Морфологическая обработка является основой многих процедур обнаружения дефектов — например, использование фильтра верхней шляпы для выделения небольших ярких дефектов на темном фоне.
Выбор правильных этапов предварительной обработки зависит от типа дефекта и настройки изображения. Инженеры обычно создают скрипт MATLAB, который загружает образы образцов, применяет партию фильтров и визуализирует результаты для схода на оптимальном конвейере.
Сегментация: поиск регионов, представляющих интерес
Сегментация разделяет изображение на значимые области. При проверке мы хотим выделить потенциальные дефекты, измерить границы деталей или определить особенности. В наборе инструментов предусмотрены несколько подходов к сегментации:
- Пороговое значение: Глобальное (метод Otsu), локальное (адаптивное пороговое значение) и многоуровневое пороговое значение. Метод Otsu является основным для бимодальных гистограмм, в то время как адаптивное пороговое значение обрабатывает неравномерное освещение путем вычисления порогов для каждого соседства пикселей.
- Краевая сегментация: Канни, Собел, Превитт, Робертс и Лаплациан гауссовских краевых детекторов. Детектор краёв Канни широко используется благодаря хорошей локализации и низкой ложноположительной скорости. Постобработка с краевым связыванием и очисткой уточняет границы.
- Региональная сегментация: Преобразование водораздела, активные контуры (змеи) и алгоритмы разделения и слияния. Преобразование водораздела мощно для разделения перекрывающихся объектов, но часто требует морфологического контроля маркеров, чтобы избежать чрезмерной сегментации.
- Цветовая сегментация: Использование цветовых пространств (RGB, HSV, L*a*b*) для выделения конкретных цветовых диапазонов. Это имеет решающее значение для таких задач, как проверка печатных плат (PCB) на правильный цвет маски припоя или обнаружение чужеродных цветных загрязнителей в пищевых продуктах.
- Глубокая сегментация обучения: Хотя сети семантической и экземплярной сегментации не являются родными для Инструментальной коробки обработки изображений, они могут быть импортированы из Инструментальной коробки глубокого обучения. В Инструментальной коробке обработки изображений предусмотрены «семантикег» и «пиксель ЛабельДатамагазин» для оценки этих сетей и пост-обработки их выходов.
Особенности экстракции и измерения
После сегментации объектов мы их количественно оцениваем. В набор инструментов входит функция «регионалов» золотого стандарта, которая вычисляет десятки свойств: площадь, периметр, ограничивающий ящик, центроид, эксцентриситет, длина большой и меньшей оси, ориентация, число Эйлера и многое другое. Для промышленного осмотра типичные измерения включают:
- Геометрия: Проверка того, что отверстия центрированы, диаметры находятся в пределах допуска, а углы не проколоты.
- Текстура: Использование характеристик матрицы совместного появления серого уровня (GLCM) — контрастность, корреляция, энергия, однородность — для обнаружения поверхностных аномалий, таких как царапины или пятна.
- Особенности интенсивности: Средний, стандартное отклонение и искажённость гистограммы значений серого масштаба внутри области. Например, трещина в металлическом литье появляется как темная, узкая область, интенсивность которой значительно отличается от окружающего материала.
- Моментные инварианты: Мгновения Ху и Зернике, инвариантные к переводу, вращению и масштабированию. Они используются для распознавания логотипов, этикеток или частичной ориентации.
В наборе инструментов также поддерживаются расширенные детекторы признаков (SURF, MSER, BRISK), как правило, под Computer Vision Toolbox, но базовое обнаружение точечных признаков (уголок Харриса, Fast) доступно в обработке изображений. Для проверки мы часто комбинируем геометрические и текстурные функции в вектор признаков, подаваемый в классификатор.
Признание и классификация шаблонов
Простая пороговая установка не может решить каждую проблему проверки. Для сложных дефектных моделей необходимо машинное обучение или глубокое обучение. Инструментарий обработки изображений интегрируется с статистическим и машинным обучением и инструментарий глубокого обучения. Типичный рабочий процесс:
- Извлеките признаки из меченых обучающих изображений (хороший против дефектного).
- Обучите классификатор (машина вектора поддержки, случайный лес, k-ближайший сосед или сверточная нейронная сеть).
- Проверить с выдержкой и настройками параметров.
- Развернуть обученную модель в системе контроля.
В наборе инструментов предусмотрено приложение визуального «imageLabeler» для интерактивной маркировки дефектов «земной правды». Для глубокого обучения функция «trainNetwork» может использоваться непосредственно на массивах изображений или хранилищах данных. Многие промышленные инспекционные группы считают, что классический классификатор по хорошо подобранным функциям превосходит глубокое обучение, когда помеченные данные скудны, и инструментарий обработки изображений позволяет легко тестировать оба подхода.
Создание полной системы инспекции: поэтапный подход
Шаг 1: Спецификация системы
Начните с определения типов дефектов, диапазонов размеров, требуемой пропускной способности и точности (скорость ложного принятия / отклонения). Например: «Обнаружение царапин длиной более 2 мм на плоской металлической поверхности, движущейся со скоростью 1 м / с, с максимальной частотой ложного отклонения 0,1%». Это приводит к разрешению камеры, выбору объектива, освещению и сложности алгоритма.
Шаг 2: Настройка для приобретения изображений
Выберите камеру с достаточным разрешением и частотой кадров. Используйте «imaqtool» MATLAB для настройки режима камеры, настройки экспозиции, усиления и запуска. В производстве триггерные сигналы от PLC или кодера синхронизируют захват с положением детали. Инструментарий Image Acquisition может записывать изображения в видеофайл или непосредственно в память для обработки в режиме реального времени. Типичная настройка захватывает изображения в несжатом формате (например, сырой Bayer) для сохранения деталей дефекта.
Шаг 3: Калибровка и ссылка
Для измерения размеров необходима калибровка камеры. В компьютерном Vision Toolbox используется приложение «камера-калибратор» с использованием шаблона шахматной доски для вычисления внутренних параметров (fx, fy, cx, cy) и коэффициентов искажения линз. Затем в панели инструментов обработки изображений применяется «недисторт-изображение» для коррекции изображений перед измерением. Кроме того, эталонная часть известных размеров может использоваться для калибровки преобразования пикселей в миллиметр.
Шаг 4: Разработка алгоритма прототипа
Используя репрезентативный набор изображений (как без дефектов, так и с различными дефектами), разработайте алгоритм интерактивно в приложениях Сегментатор изображений и Цветной держатель . Эти приложения позволяют вам попробовать различные методы сегментации и экспортировать код в качестве функции MATLAB. Например, приложение Image Segmenter автоматически генерирует код, который использует активные контуры или сокращения графов. Подход, управляемый приложением, резко сокращает время разработки — инженеры могут оценивать десять стратегий сегментации за час вместо дня.
Шаг 5: Обработка и оптимизация пакетов
После кодирования алгоритма-кандидата запустите его на большой партии меченых изображений. Используйте «parfor» (параллельный вычислительный инструментарий) для ускорения оценки по нескольким ядрам ЦП или графическим процессорам. Вычислите матрицу путаницы и кривые ROC для количественной оценки производительности. Слабые пороги и морфологические параметры. Этот итеративный процесс продолжается до тех пор, пока не будут выполнены желаемые показатели.
Шаг 6: Реализация и интеграция в режиме реального времени
Для развертывания на производственной линии алгоритм должен работать в течение выделенного времени цикла. MATLAB-код может быть преобразован в C/C++ с использованием MATLAB Coder, который позволяет выполнять на встроенных устройствах (например, NVIDIA Jetson, Intel Processors или ARM Cortex). Инструментарий обработки изображений поддерживает генерацию кода для многих функций ('imfilter', 'im2bw', 'regionprops' и т. Д. Для систем, требующих интерфейса PLC, код может обмениваться данными через OPC UA, Modbus или через цифровой I/O. MathWorks также предлагает Vision HDL Toolbox для реализаций на основе FPGA, где задержка должна быть в микросекундах.
Шаг 7: Обслуживание и обновление
Условия производства меняются: новые конструкции деталей, разное освещение, старение камеры. Модульный характер скриптов MATLAB позволяет легко переучивать классификаторы, корректировать пороги или менять этапы предварительной обработки без переписывания всей системы. Результаты проверки регистрации и периодические переподготовки моделей являются лучшей практикой. Встроенный процессор обработки изображений и возможности живого сценария в наборе инструментов облегчают эту постоянную настройку.
Реальные приложения и тематические исследования
Автомобиль: проверка сварного шва
В автомобилестроении сварные швы на компонентах шасси должны быть непрерывными и свободными от пористости. С помощью структурированной световой камеры система на основе MATLAB захватывает профиль шва. Предварительная обработка удаляет отражения от дуги сварки. Сегментация изолирует область сварки, а морфологическая обработка выявляет пробелы. Такие особенности, как ширина шва, глубина подреза и площадь профиля извлекаются и сравниваются с порогами пропуска/неисправности. Одно из сообщений о развертывании на линии производства рамы грузовика, уменьшило ложные негативы на 30% по сравнению с ручным осмотром.
Электроника: проверка компонентов PCB
Печатные платы могут иметь недостающие конденсаторы, вращающиеся ИС или паяльные мосты. Система видения с использованием MATLAB берет изображение каждой платы, регистрирует его на золотом эталонном изображении (с использованием сопоставления признаков или корреляции фаз) и вычитает два изображения. Остаточное изображение пороговое для определения местоположения компонентов, которые отличаются. Функции «имрегистрации» и «имварпа» в инструментальной коробке обеспечивают точное выравнивание, несмотря на деформацию платы. Цветовая сегментация в пространстве L*a*b* отличает дефекты припоя от отсутствующих частей. Пропускная способность 10 плат в секунду достижима с оптимизированным кодом.
Фармацевтическая: присутствие таблеток Blisters
Блистерные упаковки должны содержать правильное количество таблеток без трещин или отсутствующих таблеток. Каждую блистерную подсветку освещает высококонтрастная подсветка. В «ImFindCircles» (Hough Transform) Image Processing Toolbox быстро обнаруживают круговые таблетки. Для более надежного обнаружения при различном освещении может использоваться классификатор машинного обучения, обученный гистограмме ориентированных градиентов (HOG) функции. Система может проверять 150 упаковок в минуту, помечая любую упаковку с меньшим количеством таблеток или с нерегулярной круговой стрелкой.
Сравнение MATLAB с OpenCV и другими инструментами
OpenCV - популярная библиотека с открытым исходным кодом для компьютерного зрения, и у нее есть свои достоинства - знакомство, стоимость и большое сообщество. Однако для промышленного осмотра MATLAB предлагает явные преимущества:
- Интегрированная среда разработки: IDE MATLAB с живыми скриптами и приложениями ускоряет прототипирование. OpenCV обычно требует большего ручного кодирования и настройки сборки.
- Передовая визуализация: Интерактивное построение графики, монтаж изображений и создание пользовательского интерфейса (App Designer) позволяют инженерам быстро создавать прототипы графических интерфейсов для операторов заводов.
- Поддержка аппаратного обеспечения: MATLAB легко подключается ко многим промышленным камерам и устройствам DAQ без необходимости использования специальных оберток.
- Поколение кода: MATLAB Coder может создавать высоко оптимизированный код C/C++, который часто работает быстрее, чем написанный от руки OpenCV для определенных операций, особенно при использовании встроенных библиотек, специфичных для целей.
- Поддержка и документация: MathWorks предлагает обширную документацию, вебинары и техническую поддержку, которые могут быть оценены при снижении производственной линии.
Тем не менее, OpenCV по-прежнему широко используется и предлагает такие функции, как «findContours», которые MATLAB аппроксимирует с «bwboundaries». Выбор зависит от опыта команды разработчиков и бюджета проекта. Многие организации используют оба: MATLAB для НИОКР и OpenCV для окончательного развертывания на чувствительных к затратам встроенных системах. Для всестороннего сравнения посетите страницу компьютерного зрения MathWorks .
Обычные подводные камни и как их избежать
- Более чем доверенность одному методу сегментации: Ни один метод не работает для всех изображений. Проверить несколько методов (пороговая, водоразделительная, активные контуры) и рассмотреть возможность использования каскадного подхода (например, грубая сегментация с последующим точным анализом).
- Игнорирование освещения: Даже лучший алгоритм не работает при плохой освещенности. Инвестируйте в правильное освещение — рассеянное, подсветка, структурированное — и обеспечивайте согласованность в производственном цикле.
- Недостаточные данные обучения: Для классификаторов машинного обучения собирайте изображения с нескольких производственных линий в различных условиях, чтобы избежать переобучения. Используйте увеличение данных (вращения, масштабирования, шума) реализовано с помощью «imageDataAugmenter» в MATLAB.
- Пренебрежение задержкой системы: При проверке в режиме реального времени важна каждая миллисекунда. Профилируйте свой код с помощью профиля MATLAB и замените медленные циклы векторизованными операциями. Используйте «coder.extrinsic» для управления компромиссами производительности.
- Плохая калибровка: Без точного отображения пикселей в мире измерения размеров бессмысленны. Регулярно калибруйте камеры и используйте эталонные цели для проверки калибровки.
Преимущества принятия MATLAB для проверки
- Быстрая разработка: Быстрая разработка: Рабочий процесс, управляемый приложением, и большая библиотека функций означают, что прототип может быть построен за несколько дней, а не недель.
- Точность: Точный контроль над каждым шагом минимизирует ложные срабатывания и отрицательные эффекты, экономя затраты и улучшая качественную репутацию.
- Гибкость: Одна и та же кодовая база может быть адаптирована к различным продуктам и типам дефектов с минимальными изменениями, часто просто корректируя несколько параметров.
- Интеграция: MATLAB легко взаимодействует с системами автоматизации производства, базами данных (для прослеживаемости) и корпоративным программным обеспечением для аналитики.
- Масштабируемость: Код, работающий на испытательном стенде, может быть скомпилирован для выделенной машины или развернут на нескольких станциях с использованием MATLAB Production Server.
Вывод: будущее автоматизированной инспекции с помощью MATLAB
По мере того, как производство продвигается к Индустрии 4.0 и производству с нулевым дефектом, спрос на автоматизированную инспекцию будет только расти. Инструментарий обработки изображений MATLAB предоставляет всеобъемлющую, протестированную платформу для создания таких систем. Независимо от того, реализуете ли вы простую проверку присутствия / отсутствия или сложный классер на основе нейронной сети, глубина и удобство использования инструмента снижают риск и время развертывания. Инвестируя в методический подход - укажите, прототип, тестируйте, развертывайте и обслуживайте - вы можете создавать системы проверки, которые не только соответствуют сегодняшним стандартам качества, но и достаточно гибки, чтобы адаптироваться к завтрашним задачам. Для более технических деталей и загружаемых примеров обратитесь к документации для обработки изображений и изучите тематические исследования на странице промышленного инспекционного решения MathWorks .