Использование инструментария обработки изображений 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-битное) имеет важное значение для таких приложений, как рентгеновский осмотр или тепловизионное изображение, где важны тонкие различия интенсивности.

Предварительная обработка и улучшение

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

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

Сегментация: поиск регионов, представляющих интерес

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

Особенности экстракции и измерения

После сегментации объектов мы их количественно оцениваем. В набор инструментов входит функция «регионалов» золотого стандарта, которая вычисляет десятки свойств: площадь, периметр, ограничивающий ящик, центроид, эксцентриситет, длина большой и меньшей оси, ориентация, число Эйлера и многое другое. Для промышленного осмотра типичные измерения включают:

В наборе инструментов также поддерживаются расширенные детекторы признаков (SURF, MSER, BRISK), как правило, под Computer Vision Toolbox, но базовое обнаружение точечных признаков (уголок Харриса, Fast) доступно в обработке изображений. Для проверки мы часто комбинируем геометрические и текстурные функции в вектор признаков, подаваемый в классификатор.

Признание и классификация шаблонов

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

  1. Извлеките признаки из меченых обучающих изображений (хороший против дефектного).
  2. Обучите классификатор (машина вектора поддержки, случайный лес, k-ближайший сосед или сверточная нейронная сеть).
  3. Проверить с выдержкой и настройками параметров.
  4. Развернуть обученную модель в системе контроля.

В наборе инструментов предусмотрено приложение визуального «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 предлагает явные преимущества:

Тем не менее, OpenCV по-прежнему широко используется и предлагает такие функции, как «findContours», которые MATLAB аппроксимирует с «bwboundaries». Выбор зависит от опыта команды разработчиков и бюджета проекта. Многие организации используют оба: MATLAB для НИОКР и OpenCV для окончательного развертывания на чувствительных к затратам встроенных системах. Для всестороннего сравнения посетите страницу компьютерного зрения MathWorks .

Обычные подводные камни и как их избежать

Преимущества принятия MATLAB для проверки

Вывод: будущее автоматизированной инспекции с помощью MATLAB

По мере того, как производство продвигается к Индустрии 4.0 и производству с нулевым дефектом, спрос на автоматизированную инспекцию будет только расти. Инструментарий обработки изображений MATLAB предоставляет всеобъемлющую, протестированную платформу для создания таких систем. Независимо от того, реализуете ли вы простую проверку присутствия / отсутствия или сложный классер на основе нейронной сети, глубина и удобство использования инструмента снижают риск и время развертывания. Инвестируя в методический подход - укажите, прототип, тестируйте, развертывайте и обслуживайте - вы можете создавать системы проверки, которые не только соответствуют сегодняшним стандартам качества, но и достаточно гибки, чтобы адаптироваться к завтрашним задачам. Для более технических деталей и загружаемых примеров обратитесь к документации для обработки изображений и изучите тематические исследования на странице промышленного инспекционного решения MathWorks .