Игорь Кулиш, Глеб Соколов
В настоящее время в промышленности стремятся автоматизировать операции визуального наблюдения за процессами изготовления продукции. Подобная автоматизация призвана сократить потери и издержки, связанные с “человеческим фактором”: усталостью или невнимательностью работника. Это особенно важно при контроле качества продукции, расфасовки и упаковки, бесконтактном визуальном измерении параметров технологического процесса.
Но заменить человеческие глаза очень сложно. Сейчас широко используются системы “технического зрения”, состоящие из камеры и платы ввода изображения в компьютер. Однако в этом случае необходимо учитывать, что часть информации о предмете, которую человек получает, например, изменяя угол зрения, теряется.
Дальнейшим развитием систем технического зрения являются системы “машинного зрения”, позволяющие получать изображения и проводить их математический анализ, на основе которого затем выполняется движение (рис. 1).
Рис. 1. Место систем машинного зрения
С помощью камеры, снимающей видеоинформацию, платы ввода изображения, оцифровывающей ее, и платы управления движением можно перемещать в пространстве камеру или исследуемый объект и производить иные управляющие воздействия. Машинное зрение способно полностью заменить глаз человека в большинстве технологических операций.
Создание систем машинного зрения достаточно трудоемко и технически сложно, так как требуется объединить решение задач, связанных с извлечением информации из поступающих с необходимой скоростью и качеством изображений (задача технического зрения) и управлением движением с высокой точностью, т. е. разработать компоненты, отвечающие за техническое зрение и управление движением, и объединить их единую в систему.
До недавнего времени данная проблема осложнялась тем, что аппаратными и программными средствами занимались разные производители, не думавшие об интеграции. Поэтому, создавая систему машинного зрения, разработчик должен был выбрать камеру, плату сбора видеоданных, плату управления движением, создать библиотеку работы с изображением и управления движением, связав все компоненты в единую систему. Данный процесс отнимал много времени, что приводило к повышению себестоимости готовой системы.
Потребность в системах машинного времени неуклонно растет, и необходим качественный скачок, который позволил бы упростить и ускорить процесс создания таких систем.
Американская фирма National Instrument предложила новую методику сквозного проектирования систем машинного зрения, сократив затраты на разработку в десятки раз.
Первый этап - разработка алгоритма извлечения необходимой информации из полученного изображения. Он создается с помощью специализированной программы Vision Builder, которая позволяет трансформировать изображение, выполняя такие операции, как сглаживание, улучшение изображения, пороговое разделение и выделение кромок, морфологический анализ и фильтрация, количественный анализ и др. Затем Vision Builder визуально отражает результаты этих преобразований и позволяет разработчику составить алгоритм получения из изображения требуемых параметров, на основе которых затем производится движение.
Второй этап - преобразование алгоритма обработки из Vision Builder в готовую программу. Это делается достаточно просто. Vision Bilder создает отчет о последовательности и параметрах производственных трансформаций, который затем можно реализовать в виде программы.
В качестве интегрированной среды разработки используется среда графического программирования LabVIEW. Чтобы написать программу на LabVIEW, не нужны специальные навыки, так как программирование ведется на уровне блок-схем.
Для работы с изображением используется библиотека IMAQ. С помощью функции этой библиотеки создается программа на основе отчета из Vision Builder. Улучшение изображения производится как в ручном режиме, так и автоматически. Библиотека позволяет проводить широкий спектр трансформаций.
Аналогично пороговое разделение выполняется разработчиком, задающим пороговое значение интенсивности, или вычисляется автоматически в зависимости от распределения интенсивности в спектре. IMAQ позволяет выделять границы областей с одинаковой интенсивностью как сразу на улучшенном изображении, так и после проведения морфологического анализа и наложения фильтров на изображение.
В морфологический анализ входит: разбиение изображения на сегменты, выделение и заполнение областей с измененной интенсивностью в сегментах, морфологические трасформации и другие операции. Фильтры применяются для лучшего нанесения контуров и определения границ.
Выделив в изображении обьекты, можно получить их геометрические параметры (площадь, положение, центр масс и т. д.), контуры в виде массивов координат пикселов, чтобы затем провести отбор по нужным критериям.
Библиотека позволяет определять, например, расстояния от одной границы до другой по произвольной линии, угол наклона границы относительно прямой и другие количественные данные выделенных объектов (рис. 2). С помощью IMAQ можно работать и с цветными изображениями.
Рис. 2. При количественном анализе изображения
подсчитывается число краев проводов
В этой библиотеке предусмотрена функция поиска объектов по заданному образцу как в первичных, так и в обработанных изображениях.
В ней имеются готовые функции для распознавания символов с LCD-экрана и штрих-кодов, для работы со стрелочными индикаторами.
Третий этап - программирование движения на основе данных, полученных после обработки изображения.
В LabVIEW встроена поддержка динамически подключаемых библиотек (DLL), что позволяет работать с любой платой управления движением, поставляемой с такой библиотекой. В LabVIEW встраивается библиотека FlexMotion для работы с платами управления движением, выпускаемыми фирмой National Instruments. Это платы так называемой FlexMotion-серии, отдельные модели которых способны одновременно управлять шестью приводами (осями движения), имеют двухпроцессорную архитектуру и обладают высокой производительностью (управляющий цикл - 62 мкс на одну ось).
Библиотека FlexMotion логически разбита на группы подпрограмм, выполняющих определенные функции. Она облегчает создание программ управления движением любой сложности в графической среде программирования.
Для примера рассмотрим систему машинного зрения, используемую при автоматическом контроле качества маркировки медицинских и фармацевтических препаратов. С ее помощью осуществляется контроль правильности маркировки препаратов, распознавание символов, управление движением двух камер. Благодаря ее внедрению удалось увеличить качество и скорость выпуска продукции (рис. 3).
Рис. 3. Система контроля качества маркировки медицинских и фармацевтических препаратов
Таким образом, концепция, предложенная компанией National Instruments, позволяет создавать готовые системы машинного зрения в кратчайшие сроки. Это стало возможным за счет использования преимуществ графического программирования, реализации отдельных программных модулей в одной среде разработки и нового подхода к работе с изображением.
С авторами статьи можно связаться по телефону: (095) 921-0902 или по E-mail: insys@intccl.dol.ru.
См. уточнение в PC Week/RE №9/2001, с. 28.