Построение систем технического зрения на базе компьютерных технологий National Instruments
Введение
Оптико-электронные системы (ОЭС) технического зрения (ТЗ) широко используются в различных отраслях промышленности, предоставляя большой объем быстро собираемой информации. Конечной целью является получение информации о свойствах наблюдаемых объектов, к которым в первую очередь относятся геометрические параметры их формы и перемещение. Не менее важной является и структура объектов [1], определяемая их оптическими свойствами.
Выбор схемных решений оптической системы и технических средств регистрации зависит от поставленной задачи [2, 3]. Характеристики ОЭС определяют поля зрения, разрешающую способность, возможность контроля объекта по глубине пространства и быстродействие системы. С другой стороны, необходимо обеспечить масштабируемость и технологичность решения. Для этого требуется подобрать правильные средства коммуникаций и многофункциональную программную платформу, предусматривающую единое программное поле для получения данных с ОЭС, анализа данных и проведения вычислений. Сейчас имеется достаточное количество способов оценки качества изображений и извлечения интересующей информации, основанных на современных математических методах обработки информации. При этом требуется программная поддержка средств получения и обработки изображений, технологичность создания и сопровождения систем контроля.
Программные средства компании National Instruments
Указанным требованиям удовлетворяют решения компании National Instruments (NI), основанные на графической среде разработки приложений — NI LabVIEW [4], которая позволяет использовать большинство известных математических методов обработки данных. Дополнительный модуль технического зрения NI IMAQ Vision дает возможность загружать изображения с аналоговых и цифровых источников, имеет множество функций анализа и обработки изображений [5]. Помимо собственных аппаратных средств получения изображений, NI может собирать данные от источников сторонних производителей [6], включая цифровые камеры (ЦК) высокого разрешения [7]. Среда разработки NI LabVIEW модульная и иерархичная, что позволяет использовать функции математических методов, представленных в дополнительных модулях NI. Например, модуль NI Advanced Signal Processing Toolkit включает все функции частотно-временного и вейвлет-анализа, а NI Robotics Module — средства управления и позиционирования ОЭС.
Среда разработки приложений NI имеет высокую вычислительную эффективность [8] и может быть использована как на обычной вычислительной платформе, так и на целевой, обеспечивая контролируемую синхронизацию обработки потоков данных [9]. Также технологии NI позволяют создавать распределенные контрольно-измерительные системы [10]. При этом необходимо учитывать структуру среды разработки NI LabVIEW (рис. 1а) и модель состояния и управления вычислительной задачей (рис. 1б), зависящую от возможности доступа к ресурсам системы. Повысить эффективность системы можно за счет программного управления моделью состояния задачи, которое позволит справиться с последствиями от возможных конфликтных ситуаций в ресурсах системы.
Функционирование аппаратных средств и инициализация операций по получению данных LabVIEW обеспечиваются драйверами. Между собой драйвер и среду LabVIEW связывает программа анализа измерений и автоматизации (Measurements and Automation Explorer, MAX). Она является программным интерфейсом и дает доступ ко всем физическим и сетевым ресурсам (рис. 1а). В качестве промежуточного места для хранения поступающих данных используются управляемый буфер устройства и буферы оперативной памяти компьютера. Помимо программного обеспечения (ПО), инициализацию ввода-вывода может обеспечивать внешняя часть оборудования.
Модель состояния задачи используется драйвером для управления распределением ресурсов и потоками выполнения задачи. Такая модель состоит из пяти состояний: «Непроверенного», «Проверенного», «Зарезервированного», «Назначенного» и «Выполнения» (рис. 1б). Она позволяет выбрать необходимую степень взаимодействия с задачей. Из одного состояния в другое задачу переводит вызов виртуальных приборов DAQmx Start, DAQmx Stop и DAQmx Control Task. Можно выполнять явный переход состояний, используя виртуальный прибор DAQmx Control Task, или совершать переход между состояниями неявно.
Разработку и отладку алгоритмов обработки изображений обеспечивает приложение NI Vision Assistant [11], работающее со всеми функциями драйвера IMAQ-Vision и включающее средства визуализации этапов работы алгоритма. Это упрощает и ускоряет процесс разработки и отладки алгоритма решаемой задачи для конкретной ситуации. Кроме того, приложение NI Vision Assistant дает возможность интерактивно контролировать обработку изображения. После тестирования созданного скрипта он может быть преобразован в автономное приложение среды LabVIEW — виртуальный прибор (ВП).
Аппаратные средства компании National Instruments
Модуль технического зрения NI IMAQ Vision предоставляет широкие возможности по реализации захвата и обработки изображения [5] с различных источников (рис. 2). При этом необходимо заранее решить вопросы выделения и запоминания кадров изображений, учитывая, что экраны для видеоизображений модуля IMAQ Vision не позволяют работать с несколькими видеопотоками одновременно.
Для получения изображений доступен целый ряд аппаратных средств NI: платы видеозахвата для ЦК с различным интерфейсом, RT-системы, смарт-камеры NI (рис. 3). В случае использования плат видеозахвата появляется возможность применять широкий ассортимент ЦК сторонних производителей. Устройство видеозахвата изображения (рис. 3а) обеспечивает совместимость ЦК с различными интерфейсами, включая IEEE 1394, GigE Vision и USB3 Vision. Компактная система технического зрения (рис. 3б) также сопрягается с несколькими видами ЦК. Это обеспечивает гибкость, интеграцию и надежность, необходимые для большинства задач ТЗ. Данная система содержит четырехъядерные процессоры Intel Atom и совместима с камерами GigE Vision или USB3 Vision, что подходит даже для сложных заданий. Кроме того, система работает с интерактивным приложением Vision Builder for Automated Inspection.
Смарт-камеры NI (рис. 3в) также многофункциональны, в их состав входят встроенные процессоры и формирователи изображений. Линии ввода-вывода включают оптоизолированные цифровые линии, последовательный порт RS-232 и порты Gigabit Ethernet. Кроме того, смарт-камеры содержат программируемые логические контроллеры (ПЛК), человеко-машинные интерфейсы (ЧМИ), робототехнику и датчики. Конфигурацию камер можно изменить c помощью ПО Vision Builder for Automated Inspection — или запрограммировать камеру с помощью модулей LabVIEW RealTime Module и Vision Development. В дополнение смарт-камеры могут включать встроенную систему цифрового ввода-вывода и системы промышленной связи для взаимодействия в реальном времени и интеграции с промышленными устройствами автоматизации.
Основные характеристики смарт-камер NI представлены в табл. 1.
Модель |
Цвет |
Процессор |
Память, Мбайт |
Частота, кадров/с |
Разрешение |
Матрица |
NI 1722 |
ч/б |
400 МГц PowerPC |
128 |
60 |
640×480 |
1/3 дюйма, Sony ICX424AL CCD |
NI 1742 |
ч/б |
533 МГц PowerPC |
128 |
60 |
640×480 |
1/3 дюйма, Sony ICX424AL |
NI 1744 |
ч/б |
533 МГц PowerPC |
128 |
13 |
1280×1024 |
1/2 дюйма, Sony ICX205AL |
NI 1762 |
ч/б |
533 МГц PowerPC и 720 МГц DSP |
128 |
60 |
640×480 |
1/3 дюйма, Sony ICX424AL |
NI 1764 |
ч/б |
533 МГц PowerPC |
128 |
13 |
1280×1024 |
1/2 дюйма, Sony ICX205AL |
Встраиваемые системы ТЗ компании NI служат контроллерами автоматизации сложных, высокоскоростных приложений ТЗ, которые объединяют несколько доступных ЦК (рис. 4). Такие системы предназначены для получения и обработки снимков с камер с интерфейсом IEEE 1394, GigE Vision, Base-конфигурации Camera Link и DirectShow-совместимых USB-камер. Стоит отметить, что возможности Camera Link подходят для визуализации линии сканирования при осмотре пространства с помощью оптической системы [12].
Алгоритмы систем ТЗ: методика построения
В основе получения и обработки временных последовательностей изображений в ОЭС лежат механизмы синхронизации, которые можно реализовать как на аппаратном, так и на программном уровне. Архитектура программной реализации получения последовательности изображений с программным тактированием аналогична архитектуре сбора данных с внешних устройств. При этом число собираемых данных может быть конечным (рис. 5а) или непрерывным (рис. 5б). Операция непрерывного буферизированного сбора данных более сложная (рис. 5б), поскольку компьютер использует один буфер, а количество получаемых данных больше, чем он может вместить.
Наряду с низкоуровневыми функциями драйвер NI-IMAQ имеет конфигурируемый виртуальный подприбор (ВПП) Vision Acquisition, который позволяет быстро настроить устройство ввода изображения. Первая структура данного ВПП — получения одиночного изображения (рис. 6а) — изначально не привязана к моменту времени и может в общем алгоритме программно обеспечивать получение изображений или их последовательностей в любые заданные моменты времени. Чтобы это реализовать, можно использовать формируемый программой логический признак (Case Structure), структуру одного события или набора событий (Event Structure), что удобно при ручном управлении моментом получения изображений. Временную привязку обеспечивают соответствующие функции. Как правило, такую конструкцию целесообразно использовать для длительных интервалов времени, гарантирующих обработку изображений. Точность временного параметра определяется операционной системой [13].
При конфигурации непрерывного получения изображений со встроенной обработкой (рис. 6б) для исключения пропуска изображений необходимо установить опцию «Получение каждого изображения» и указать количество изображений в буфере. Чтобы избежать ситуации отсутствия изображений, среднее время их обработки должно быть меньше, чем время получения изображения. Структура получения фиксированного числа изображений со встроенной обработкой показана на рис. 6в. В таком случае после появления каждого изображения оно становится доступно для обработки.
Для ОЭС с системой позиционирования имеется необходимость получения изображения по некоторому временному событию (триггеру), причем как по внешнему — появление интересуещего объекта в поле зрения ОС, импульсная подсветка объекта, отработка системы позиционирования ОЭС, — так и по признакам собственного состояния объекта. Средства NI позволяют это реализовать.
Построение измерительных алгоритмов
После получения той или иной совокупности изображений возникает задача их обработки. Для этого можно использовать программное заполнение буфера появляющимися изображениями, обеспечивая их доступность для последующей обработки. Такая структура системы показана на рис. 7. Путем временного тактирования во время получения изображений и с помощью необходимого триггерного события (P) формируется серия изображений. Затем она заполняется в буфер (3), который используется для совместной предварительной обработки: повышения качества и разрешения (4), попарного корреляционного анализа изображений (5). В результате из полученных изображений (6–8) извлекаются информационные составляющие об объекте наблюдения.
Статические информационные составляющие определяются формой, структурой объекта и его ориентацией, а динамические — скоростью его перемещения и параметрами изменения ориентации (вращения) относительно оси визирования ОЭС. Параметры формы объекта соответствуют геометрии контуров внешних и внутренних границ. В свою очередь, повышение контраста и выделение контуров границ обеспечиваются функциями фильтрации и морфологических преобразований, реализуемых с помощью драйвера NI IMAQ-Vision (табл. 2).
Вид |
Название |
Описание |
Filters |
Подготавливает изображение для обработки, чтобы затем извлекать из него только необходимую информацию |
|
Gray Morphology |
Изменяет форму объектов в изображении |
|
Gray Morphology Reconstruction |
Восстанавливает изображение в градациях серого |
|
FFT Filter |
Применяет частотный фильтр к изображению |
Задача создания компактного информационного облика исследуемого объекта достаточно актуальна, поскольку позволяет, с одной стороны, производить быстрое выделение и анализ индивидуальных особенностей, а с другой — моментально определять временную динамику объекта. Дальнейшая оцифровка выделенных границ контрастов (контуров) [14] определяет возможность их представления аналитическими моделями с последующей реконструкцией и сравнительным анализом [15]. С описанием указанных функций и их применения можно ознакомиться в документации [16, 17]. Пример обработки исходного изображения спутника и построения границ контраста с применением указанных функций показан на рис. 8. На фрагменте исходного изображения, обработанного с помощью функции фильтрации, видны дефекты солнечной батареи спутника.
Чтобы определить структуру и параметры внутренних элементов в изображении сложных объектов, можно применить заданные шаблоны к поиску в изображениях: геометрические, цветовые и др. Такие функции анализа изображений представлены в табл. 3 и 4.
Вид |
Название |
Описание |
Pattern Matching |
Проверяет наличие шаблона во всем изображении или в интересующей области, выбор которой основан на интенсивности шаблона |
|
Geometric Matching |
Проверяет наличие в шаблоне всего изображения или в области интереса на основе геометрического подобия |
|
Contour Analysis |
Анализирует контур объектов на наличие дефектов |
|
Shape Detection |
Находит геометрические фигуры в изображении |
|
Golden Template Comparison |
Сравнивает области изображения для учебного шаблона и возвращает найденную разницу в изображении |
Вид |
Название |
Описание |
Color Operations |
Выполняет арифметические и логические операции с изображениями |
|
Color Plane Extractions |
Извлекает из изображения три цветные плоскости (RGB, HSV или HSL) |
|
Color Threshold |
Применяет порог компарирования к трем плоскостям цветного изображения и помещает результат в 8-битное изображение градации серого |
|
Color Classification |
Классифицирует цвета в цветном изображении |
|
Color Segmentation |
Сегментирует цветное изображение |
|
Color Matching |
Исследует цветовое содержание одной области изображения и сравнивает его с цветовым содержимым другой области |
|
Color Location: |
Распознает цвета в цветном изображении |
|
Color Pattern Matching: |
Проверяет наличие шаблона во всем цветном изображении или в заданной области |
Для бинарных изображений доступен новый класс измерительных функций: анализ формы частиц бинарных кластеров, поиск заданных геометрических форм в изображении, выявление вписанных в кластер окружностей заданного диапазона радиусов. Набор указанных функций представлен в табл. 5. Все они могут быть использованы для предварительного обнаружения, идентификации и оценки фрагментов изображения [18].
Вид |
Название |
Описание |
Binary Image Inversion |
Изменяет динамику изображения, содержащего два разных оттенка серого |
|
Particle Analysis |
Отображает результаты измерений параметров отдельных частиц в изображении |
|
Shape Matching |
Находит объекты в изображении, которые имеют форму, указанную в шаблоне |
|
Circle Detection |
Находит в изображении центры и радиусы вписанных окружностей |
Переход к бинарным изображениям, с одной стороны, приводит к потере значительной части информации, однако с другой — к направленному выделению информационной составляющей структуры изображения или его фрагментов. Это дает возможность локального восстановления части информации. Выбор подхода к анализу изображения и определению его информационных составляющих обусловливается факторами отображаемой прозрачности и стабильности результатов в широком диапазоне качества изображений.
Большую роль в получении более точной размерной информации об исследуемом объекте играют функции измерения линейных размеров между границами фрагментов изображений. Более совершенные измерительные алгоритмы линейных размеров могут быть созданы на основе выделения и анализа распределения освещенности в заданных линиях профиля с последующим анализом функции распределения освещенности различными математическими методами [19], что обеспечивает полный контроль над процессом измерения. В то же время в драйвере NI IMAQ-Vision представлен целый ряд функций (ВПП) измерительных алгоритмов в изображении (табл. 6). Данные функции позволяют изменять параметры работы алгоритмов. С помощью сравнительного анализа измерений, используя различные методы и параметры, можно оценить точность и достоверность полученных результатов [20].
Вид |
Название |
Описание |
Edge Detector |
Обнаруживает границы черно-белого изображения |
|
Find Straight Edge |
Находит прямой край изображения |
|
Adv. Straight Edge |
Находит прямой край изображения |
|
Find Circular Edge |
Находит круговую границу в интересующей области |
|
Max Clamp |
Измеряет максимальное, разделенное границами объекта расстояние |
|
Clamp (Rake) |
Измеряет расстояние, разделяющее границы объекта |
|
Caliper |
Отображает результаты измерения, проведенного на выбранных точках |
Комбинация функций обработки изображения и измерительных функций обеспечивает проведение измерений заданных геометрических размеров не только в структурах с протяженными границами, но и в рамках объектов практически любой формы. Пример определения геометрии внешних границ спутника (при малом разрешении и сильном размытии) в полярных координатах с применением функции Find Circular Edge представлен на рис. 9. В результате получаем пространственные координаты и размер спутника, а по степени отклонения границ от найденной окружности — характерные черты (облик).
Особенности устройства многопозиционных ОЭС
Многопозиционные системы наблюдения, основанные на применении нескольких ОЭС, активно используются в качестве высокоточных источников информации об объектах съемки. Поступающая информация от разнесенных позиций ОЭС объединяется и обрабатывается совместно, что позволяет реализовать ряд преимуществ перед однопозиционной ОЭС.
Среди этих преимуществ можно отметить: возможность формирования сложных пространственных зон обзора, повышение точности измерения координат, а также увеличение надежности выполнения общей задачи. При этом возникает необходимость синхронизации работы позиций ОЭС и организации передачи данных, а также возрастает сложность обработки информации. Структура получения и обработки изображений
в многопозиционных ОЭС представлена на рис. 10.
Важным моментом многопозиционных систем является сопоставление качественных параметров изображений, полученных с различных ОЭС. Описание ряда функций анализа и изменения качества изображения приведено в табл. 7.
Вид |
Название |
Описание |
Histogram |
Подсчитывает общее количество пикселей в каждом оттенке серого и строит график |
|
Line Profile |
Отображает распределение оттенков серого вдоль выделенной линии пикселей в изображении |
|
Measure |
Вычисляет статистику измерений, связанную с заданной областью в изображении |
|
3D View |
Отображает интенсивность света в трехмерной системе координат |
|
Brightness |
Изменяет яркость, контрастность и цветовую гамму изображения |
Поскольку в многопозиционных ОЭС всегда встает вопрос приведения нескольких изображений к единой системе координат и учета погрешностей таких преобразований [21], в модуле NI IMAQ-Vision для этого имеются вспомогательные средства, представленные также в приложении NI Vision Assistant. Функции, обеспечивающие работу одиночной и многопозиционной ОЭС (установка и привязка к системе координат, калибровки измерительной ОЭС), приведены в табл. 8.
Вид |
Название |
Описание |
Set Coordinate System |
Создает систему координат, основанную на местоположении и ориентации эталонной особенности |
|
Image Mask |
Создает маску из всего изображения |
|
Geometry |
Изменяет геометрическое представление изображения |
|
Image Buffer |
Сохраняет изображение в буферах памяти |
|
Get Image |
Открывает новое изображение из файла |
|
Image Calibration |
Калибрует изображение для выполнения измерений в реальных единицах |
|
Image Correction |
Преобразует искаженное изображение в исправленное согласно калибровочной настройке |
|
Overlay |
Наложение контуров, растровых изображений |
|
Run LabVIEW VI |
Запускает указанный ВП — LabVIEW VI |
Таким образом, можно видеть, что набор представленных функций модуля IMAQ-Vision обеспечивает широкие возможности для решения большинства задач ТЗ, таких как анализ качества изображения, определение параметров формы и ориентации исследуемых объектов при настройке параметров их применения и т. д. Недостающие параметры обработки можно восполнить за счет создания и подключения к алгоритму собственных функций (узлов обработки данных, ВПП) Run LabVIEW VI, которые могут быть использованы как ВПП, так и приложениями верхнего уровня.
Имеется также набор готовых функций, реализующих математические и логические операции с несколькими изображениями (табл. 9). Его можно применить для серии изображений одной или нескольких ОЭС. В то же время непосредственно обработку данных можно выполнять уже после преобразования изображений в массив данных.
Вид |
Название |
Описание |
Operators |
Выполняет арифметические и логические операции с изображением |
|
Conversion |
Преобразует текущее изображение в указанный тип |
|
Quantify |
Количественно определяет содержимое изображения или выбранной области |
|
Centroid |
Вычисляет энергетический центр изображения |
|
Detect Texture Defects |
Обнаруживает дефекты в текстурированном изображении |
Заключение
Компьютерные технологии NI имеют широкие возможности для построения контрольно-измерительных систем технического зрения с последующей интеграцией в промышленную систему. NI предоставляет сочетание производительного программного обеспечения, высококачественных драйверов и оборудования, которое помогает создавать специализированные решения. Применение подходов и инструментов NI позволяет ускорить процесс разработки: благодаря открытой платформе на базе программного обеспечения можно использовать модульное оборудование и обширную систему. При этом для разработки алгоритмов обработки и выделения информационных параметров изображения доступно приложение NI Vision Assistant. Реализация систем видеоконтроля на базе решений NI позволяет получать устойчивые результаты в условиях неконтролируемых параметров получения изображений, поэтому программная среда NI хорошо подходит для проведения научных исследований различных объектов. Однако следует отметить, что в ряде более простых задач использовать аппаратные и программные средства NI будет невыгодно.