ФPAГMEHT КНИГИ (...) СИСТЕМА ТЕХНИЧЕСКОГО ЗРЕНИЯ С РАЗДЕЛЕНИЕМ СБОРА И ОБРАБОТКИ ИНФОРМАЦИИ
В статье описывается интеллектуальная система бинарного технического зрения F-1000, выпускаемая фирмой Контрол Отомейшн. Система построена с использованием нового принципа иерархического управления, что позволило разделить функции сбора и обработки визуальной информации. Система пригодна для совместного использования с широко распространенными ЭВМ и имеет высокое значение показателя производительность/стоимость. Введение. Рассматриваемые в статье традиционный сборочный робот и интеллектуальный визуальный терминал представляют собой первые образцы продукции фирмы Контрол Отомейшн. Они впервые были продемонстрированы на четвертой выставке роботов в Детройте в марте 1982 г. Применение новой архитектуры, методов распределенной обработки данных и современной электроники обеспечило конкурентоспособность обоих устройств: стоимость зрительной системы составляет 19700 долларов, стоимость сборочного робота с одним манипулятором равна 69000 долларов, каждый дополнительный манипулятор стоит 13000 долларов. Стоимость системы, в состав которой входит робот с двумя манипуляторами и встроенной зрительной подсистемой, составляет менее 100000 долларов. При конструировании устройств использовались принципы распределенной обработки данных и иерархического управления. Система технического зрения имеет два уровня управления. Собственно визуальный процессор (F-1000) выполняет сбор визуальной информации, обработку образов, распознавание деталей и определение параметров их положения. Процессор V-1000 управляется внешней ЭВМ, обычно системным контроллером SC4000, но можно использовать практически любую другую ЭВМ. В функции внешней ЭВМ входят выдача команд F-1000 на сбор информации, запись полученной визуальной информации и принятие на ее основе необходимых решений. Система технического зрения пригодна как для автономного использования, так и для работы в качестве периферийного устройства робототехнической системы. Функции системы. Визуальный процессор С-1000 выполняет распознавание деталей и определение параметров их положения, а также технический контроль неперекрывающихся объектов, контрастно выделяющихся на окружающем фоне. Для этого используется алгоритм, разработанный в Стэнфордском исследовательском институте. В основании алгоритма лежит сегментирование изображения, считанного телевизионной камерой, на отдельные неперекрывающиеся объекты. Для каждого из объектов вычисляется несколько значение — признаков, не зависящих от положения объекта. Такими признаками служат площадь, периметр, момент площади второго порядка относительно центроида и т.д. Устройство С-1000 измеряет и использует в качестве признаков девять различных значений. На этапе обучения системе предъявляются эталонные объекты в различных положениях. С-1000 собирает информацию о этих объектах и запоминает ее под тем именем, которым пользователь идентифицировал объект. В дальнейшем эта информация используется при распознавании объектов. На рис. 1 приведена структурная схема устройства С-1000. В его состав могут входить от одной до четырех телекамер с полупроводниковыми матрицами в интегральном исполнении. Камеры имеют фоточувствитель-ные матрицы размером 128 X 128 элементов и аналоговые интерфейсные платы. Визуальная информация переводится в цифровую форму. Цифровое представление переводится в бинарный образ с помощью операции порогового ограничения, выполняемой сравнением с заданным уровнем яркости изображения.Уровень порогового ограничения может выбираться программно или задаваться зависимостью с гистерезисом. После порогового ограничения информация подвергается сжатию, вся несущественная информация удаляется. Полученное представление анализируется процессором, построенным на базе микропроцессора Интел 8086 с тактовой частотой 8 МГц. Некоторые программные компоненты написаны на языке ассемблера, что обеспечивает высокую скорость работы. Структура управления. Устройство Г-1000 построено как периферийное устройство ЭВМ и подключается к ней, как все остальные периферийные устройства. Связь визуального процессора Г-1000 и пользователя осуществляется по стандартной последовательной линии связи RS-232C (или RS-422). Этот протокол связи был использован потому, что он применяется в качестве стандартного практически во всех ЭВМ и для связи с ними не требуется никаких дополнительных устройств. При пропускной способности линии связи 9,600 бод время, затрачиваемое на связь ЭВМ и Г-1000, не превышает нескольких миллисекунд и ненамного увеличивает длительность рабочего цикла системы. По выполняемым функциям Г-1000 также представляет собой периферийное устройство: в нем не выполняется никаких оценок полученных величин и не принимается никаких решений. Устройство Г-1000 только выполняет сбор визуальной информации по запросу внешней ЭВМ, в которую передаются все разультаты. Эта же ЭВМ управляет всеми внешними процессами. Описанное разделение функций сильно повышает гибкость системы, поскольку у пользователя имеется возможность подобрать упрвляющую ЭВМ, наиболее подходящую для решения конкретных задач. Для простых задач может использоваться недорогая мини-ЭВМ. Использование мощной ЭВМ позволяет работать одновременно с несколькими системами технического зрения. Наиболее пригодна для совместного использования Г-1000 недорогая, но достаточно мощная настольная ЭВМ НР85 фирмы ’’Хьюпетт Паккард” (Hewlett Packard) . Эта ЭВМ в промышленном исполнении 9915 встроена в устройство управления АС-1000. Устройство АС-1000 входит в полный комплект поставки системы технического зрения. Команды. Устройство Г-1000 отрабатывает около 20 различных команд, некоторые из которых перечислены в таблице. Команды передаются в устройство по последовательной линии свцзи из АС-1000 или другой ЭВМ в виде строк в коде ASCII. Эти строки можно вывести на дисплей или напечатать. Например, команда PICTURE, 2 означает: считать изображение телекамеры 2, обработать его и запомнить результаты. Команды WHEREIS, WIDGET требуют проанализировать запомненный результат и определить параметры положения объекта, известного системе под именем ’’WIDGET”. Мощное средство исследования визуальных образов предоставляет команда MEASURE. Вместе с этой командой системе передаются две пары координат, соответствующих двум точкам, лежащим в поле зрения. В результате выполнения команды система возвращает в ЭВМ три числа: длину светлой части отрезка, соединяющего заданные точки, длину его темной части и количество переходов уровня яркости вдоль отрезка. Так как параметры положения объектов определены, координаты нужных точек вычисляются достаточно просто. С помощью описанной команды можно выполнить измерения любой части объекта, находящегося в произвольном положении. Использование вычислительных ресурсов упраляющей ЭВМ позволяет проводить детальный анализ визуальной информации. Могут выполняться как простые функции обработки визуальной информации (подсчет количества однотипных объектов), так и довольно сложные (измерение отверстий определенного типа и статистическая обработка полученных результатов). Программирование устройства SC-1000 выполняется на промышленном диалекте языка БЭИСИК, несколько расширенном по сравнению со стандартном. Использование БЭЙСИКа позволяет не привязывать систему к одному из многочисленных проблемно-ориентированных языков. Предполагается, что любой инженер, знающий основы программирования, сможет без затруднения пользоваться этим языком. Так как в задачу SC-1000 входит только сбор и передача в линию связи команд системе технического зрения, относительно невысокое быстродействие интерпретатора языка БЭЙСИК ни в коей мере не сужает возможности системы в целом. Поскольку вместо SC-1000 можно использовать любую другую ЭВМ, для сбора и обработки результатов визуального анализа могут применяться практически все языки программирования. Например, на предприятии, интенсивно использующем аппаратуру фирмы ’’Диджитал Экуипмент”, программисты, привыкшие к ФОРТРАНу, могут воспользоваться этим языком. На работу устройства F-1000 используемый язык программирования влияния не оказывает. На рис. 2 приведен внешний вид комплекта поставки системы, й который входят устройства F-1000, SC-1000 и телевизионная камера. Производительность. При разработке устройства F-1000 особое внимание уделялось повышению его быстродействия. Система технического зрения, требующая для обработки изображения более одной секунды, мало пригодна для работы в реальном масштабе времени, поэтому предельным временем обработки несложного изображения было принято 0,5 с. Время, затрачиваемое на визуальный анализ, зависит от сложности изображения: чем сложнее изображение, тем анализ его продолжительней. В устройстве F-1000 удалось достигнуть среднего времени обработки изображения от 0,5 до 0,75 с. Точность системы — не ниже 1% размера поля зрения. Это означает, что объект диаметром 10 см может быть измерен с точностью до 0,1 см. При измерениях повышенной точности можно воспользоваться двумя камерами, каждая из которых может ’’рассматривать” разные части объекта в крупном масштабе. Расстояние между камерами известно, поэтому по полученным от телекамер данным управляющая ЭВМ может вычислить нужные значения с большой точностью. Разделение функций сбора и обработки визуальной информации дает большие преимущества, проявляющиеся при автономной работе системы технического зрения. При необходимости ее совместной работы с другими системами , в особенности с роботами, эти преимущества многократно возрастают. На рис. 3 приведена схема системы, в которой одна ЭВМ используется для управления роботами и системой технического зрения. Использование интерфейса по протоколу RS-232 позволяет построить такую систему простым соединением кабелей. Когда требуется узнать параметры положения объекта, подлежащего захвату роботом, устройство управления выдает в процессор обработки визуальной информации команды на считывание изображения и его обработку. Полученные значения по линии связи возвращаются в устройство управления. Преобразование их в систему координат робота сводится к простому масштабированию, выполняемому устройством управления робота. Если устройство управления робота не может выполнять эту операцию, преобразование координат из системы телекамеры в систему робота может выполняться в управляющей ЭВМ. СИСТЕМА ПОЛУТОНОВОГО ТЕХНИЧЕСКОГО ЗРЕНИЯ ФИРМЫ "ВЕСТИНГАУЗ", ПРЕДНАЗНАЧЕННАЯ ДЛЯ УПРАВЛЕНИЯ И КОНТРОЛЯ В РЕАЛЬНОМ МАСШТАБЕ ВРЕМЕНИ Описывается система технического зрения, различающая 64 уровня яркости по шкале серого цвета, предназначенная для управления роботом в реальном маштабе времени и выполнения контроля. Система может обрабатывать до 12 телевизионных кадров в секунду, что на порядок выше быстродействия любой серийно выпускаемой системы полутонового технического зрения. В состав системы входит программируемый аппаратный препроцессор, построенный по принципу конвейерной обработки. Он предназначен для формирования и фильтрации образов, прослеживания границ и сегментирования отдельных силуэтов в образе с последующим определением параметров их положения. Это же устройство преобразует данные визуального анализа для передачи их роботу или во внешнюю систему связи и управления. В статье описывается использование системы для организации визуального управления операций сборки электромеханического реле. Представлены результаты экспериментов. Введение. Современные системы технического зрения роботов по большей части работают с бинарными образами: сигнал, получаемый с телекамеры, подвергается операции порогового ограничения, формирующей двухградационный образ. В таком образе хорошо освещенному объекту соответствует силуэт, выделяющийся на однородном фоне. Для решения несложных задач использование бинарных образов оправдано простотой измерений и определения параметров положения объектов. Используемые алгоритмы не перегружают вычислительное устройство. Однако для решения более сложных задач бинарные образы малопригодны в силу нескольких причин. Близко расположенные объекты в бинарном образе могут сливаться. Окрашивание объектов и фона не позволяет выполнить операцию порогового ограничения достаточно успешно. Условия освещения обычно не позволяют четко отделить объект от окружающего его фона. Вследствие указанных причин весьма желательно использовать информацию о величине яркости изображения, считываемого телекамерой. Возможность работы с многоградационными изображениями наряду с операциями прослеживания границ и выделения пятен делает возможным анализ сложных сцен при переменных условиях освещения. Система полутонового технического зрения фирмы Вестингауз предоставляет возможность обрабатывать полутоновые изображения в реальном масштабе времени. Аппаратура и ее функционирование. Обычно на выходе телекамеры, используемой в системе управления или контроля, имеется двухмерный массив значений яркости различных элементов изображения. Содержательную информацию (например, геометрические характеристики объектов) приходится получать в результате вычислений, проводимых над элементами массива (при этом учитываются как значения яркости, так и взаимное расположение элементов). После выполнения этих вычислений получение нужной информации по образу существенно упрощается, объем вычислений снижается на порядок или более. После предварительной обработки образа желательно иметь набор его элементарных составляющих, каждая из которых представлена совокупностью дескрипторов и параметрами положения в исходном образе. Такие составляющие должны легко выделяться из образа, обладать помехоустойчивостью и небольшим диапазоном изменения значений. Более того, их использование должно упрощать решение прикладных задач. Элементарные составляющие или примитивы представляют собой структурные единицы информации, извлеченной из начального образа. Все последующие операции должны выполняться над примитивами. Описываемые в настоящей статье операции работают с геометрическими примитивами только двух типов. Первый из них называется ’’граница” и представляет собой замкнутую ломаную, соответствующую заранее заданному значению градиента яркости. Границы задаются совокупностью точек излома и ориентацией (расположением темной и светлой сторон относительно линии границы). Второй тип примитивов называется ’’пятно” и соответствует небольшому участку образа, который светлее или темнее окружающего его фона. Пятна задаются параметрами положения, высотой и шириной, а также относительной яркостью по отношению к окружающему пятно фону. Поскольку выделение примитивов необходимо для решения многих задач и позволяет уменьшить объем хранимой информации, целесообразно разработать специальное устройство, в котором эта функция выполнялась бы аппаратно. При решении многих задач предварительное сжатие визуальной информации с помощью специального препроцессора позволяет выполнять последующую обработку на универсальном программируемом процессоре. В состав системы технического зрения фирмы’’Вестингауз” (рис. 1) входит препроцессор обработки изображений и программируемый постпроцессор обработки изображений. В препроцессоре, в архитектуре которого используется принцип конвейерной обработки, последовательности операций выполняются над 4-5 соседними элементами изображений. Для того чтобы обработка образа могла выполняться по обеим осям, строки изображения хранятся в сдвигающих регистрах. Выполняемые операции включают вычисление градиента яркости, фильтрацию значений градиента и прослеживание значений градиента по всем элементам с выделением границ и пятен. На рис. 2 представлена подробная блок-схема системы обработки полутоновых изображений. Слева показаны внешние устройства системы: телекамера, дисплей, робот. После синхронизации и аналого-цифрового преобразования входного видеосигнала он записывается в буферное запоминающее устройство кадра, из которого строка за строкой считывается препроцессором обработки изображений. Препроцессор обработки изображений считывает входной сигнал, соответствующий телевизионному стандарту RS-170. Настройка препроцессора обработки изображений выполняется программно и индивидуально для каждого кадра. Возможно использование одного из нескольких вариантов обработки группы смежных элементов изображения: усреднение, фильтрация по медиане, разделение по уровню и сжатию по значению. Разделение по уровню позволяет одновременно выделять освещенные и затемненные области. Для этого используется динамическое задание уровня порогового ограничения. Сжатие по значению предоставляет возможность снизить интенсивность потока визуальной информации, обрабатывая не все, а только некоторые элементы изображения. Постпроцессор обработки образов на базе микропроцессора ИНТЕЛ 8066 Рис. 2. Блок-схема полутоновой системы технического зрения фирмы "Вестингауз" После обработки совокупностей элементов изображения определяются амплитуда и направление градиента на двухмерном массиве элементов. Если перед этой операцией выполнялась усредняющая фильтрация, результат получается сглаженным, но менее точным. При определении градиента визуальная информация подвергается дифференцированию. Все элементы, значения градиентов в которых превышают адаптивно выбираемое значение порогового ограничения по амплитуде, обрабатываются функцией максимизации. Детектор пятен определяет появление вершин потенциальных пятен. После того, как вершина обнаружена, построчно прослеживаются правая и левая ветви контура пятна. Определяется вертикальная ось пятна и отклонения or нее обеих ветвей контура. Когда левая и правая ветви контура смыкаются, фиксируется факт обнаружения пятна. Далее визуальная информация вновь дифференцируется. В результате дифференцирования значений градиента обрабатываемое изображение преобразуется в штриховое, в котором присутствуют только тонкие линии, соответствующие контурам объектов и их внутренних особенностей. При дифференцировании сравниваются значения градиентов в элементах изображения, соседних как по оси х, так и по оси у. В ходе этой операции увеличивается ’’острота” выделенных ранее границ. Прослеживатель сегментов объединяет элементы с совпадающими признаками, определяя точки излома и градиентные направления выделенных в изображении границ. Операция выполняется для линий контуров и отделяет объекты от фона. Формирователь групп объединяет все данные, касающиеся каждого из объектов, тем самым уменьшая нагрузку на вычислительное устройство постпроцессора. Одновременно с выполнением группировки формируются дескрипторы границ и пятен. С выхода формирователя групп информации поступает в постпроцессор. Эта информация представляет собой группы описаний объектов и границ, отделяющих их от фона. Операции, выполняющиеся в постпроцессоре, выбираются программно. В их состав могут входить: вычисления, выполняемые при смене кадра; вычисления значений признаков; принятие решений на основе статистической информации; сравнение значений признаков при распознавании объектов; анализ сцен; определение приоритетов объектов; формирование выходной информации; процедуры управления работой системы в целом. На рис. 3 показаны результаты выполнения операций препроцессора. Сверху показано исходное изображение, состоящее из 50 X 50 элементов, задающих значения яркости. Для простоты использованы только 16 градаций яркости. Элементы, в которых значения яркости превышает 9, помечены при выводе надпечатыванием символа Направления градиента также приведены к 16 различным значениям, причем значение 1 соответствует переходу от светлового элемента к элементу с яркостью, превышающей уровень порогового отсечения (уровень чувствительности системы) . Элементы, в которых направления градиента имеют значение 1, помечены точками. Результат выполнения операции преобразования изображения в штриховое представление приведен слева. По нему видно, что некоторые из показанных на предыдущей распечатке элементов удалены. К ним относятся элементы, соседствующие с элементами, градиент в которых имеет то же направление, но болыную амплитуду. Участие таких элементов в формировании границы не требуется. Границы выделяются прослеживанием по штриховому представлению образа с записью начальной точки и точек излома. Изображение границ приведено на рис. 3 снизу. Справа показаны значения накопленных углов направлений градиента, вычисляемых при прослеживании пятна. На графическом изображении (внизу) оси обнаруженного пятна показаны в виде креста. По размаху этих осей определяются ширина и высота пятна. Программное обеспечение СТЗ. Большая часть программного обеспечения системы написана на языке программирования ПЛ/М с использованием концепций структурного программирования. Программы построены по возможности системно-независимо, за исключением модулей обмена с диском и терминалом, в качестве которых использованы подпрограммы операционной системы. Основные подпрограммы взаимодействия препроцессора и постпроцессора обработки изображений написаны на языке ассемблера ИНТЕЛ. Структура программного обеспечения показана на рис. 4. Программы разрабатывались на универсальной ЭВМ, построенной на базе микропроцессора ИНТЕЛ 8086, с операционной системой RMX-86 с гибким диском в качестве системного устройства. Интерпретатор командных строк (VISCS1). Этот модуль организует взаимодействие с оператором и управляет работой других модулей. Интерпретатор командных строк вызывает программы ядра системы (SYSNUC), управляющего взаимодействием с препроцессором обработки изображений. Ядро системы (SYSNUC). Программы ядра системы передают в препроцессор обработки изображений следующие команды. 1. Считать изображение с телекамеры и записать предварительно обработанное изображение в буферную память. 2. Считать изображение и скопировать буфер в память постпроцессора. 3. Скопировать буфер в память постпроцессора. 4. Считать изображение, скопировать буфер в память постпроцессора и вычислить значения основных признаков. 5. Вычислить значения основных признаков по заданному буферу. 6. То же, что и 4, но с определением главного объекта. Модуль выбора признаков (VISFEA). С помощью этого модуля оператор выбирает из библиотеки программ модули, с помощью которых выполняются вычисления значений признаков объектов. Этот модуль также распределяет рабочую память для хранения вычисленных значений признаков. Модуль обучения распознаванию объектов (V1SREC). Этот модуль вызывается при создании набора статистической информации о значениях конкретных признаков. Один и тот же объект предъявляется системе несколько раз с накапливанием вычисленных значений признаков и их статистической обработкой. При распознавании объектов соответствующие им значения признаков сравниваются с теми, которые записаны в статистическом наборе. На дисплей выдается сообщение о том, распознан объект или нет. Модуль обучения действиям по производственной обработке объекта (V1STRA). С помощью этого модуля пользователь составляет программу обработки распознанного объекта робототехнической системой. Он функционирует в режиме обучения и вызывает как подпрограммы системы технического зрения, так и подпрограммы, непосредственно управляющие работой внешний устройств. Этот модуль отличается от модуля обработки только тем, что выполняет моделирование обмена данными с роботом на экране дисплея. Модуль разрабатывается программистом, ответственным за программное обеспечение прикладной задачи. Модуль производственной обработки объекта (V1SPRO). Этот модуль, так же как предыдущий и последующий, разрабатывается прог-раммистом-прикладником. Эти три модуля составляют часть программного обеспечения, зависимую от решаемой прикладной задачи. С их помощью система технического зрения приспосабливается для решения различных задач. Модуль обработки получает команды через интерфейс системы технического зрения и робота ROBV1S. Утилиты пользователя (APPUTL). В этот программный модуль выделены общие подпрограммы модулей обучения распознавания объектов и их обработки. Интерфейс системы технического зрения и робота (ROBVIS). Передача управления этому модулю переводит систему технического зрения в режим ожидания команды от устройства управления роботом. По получении такой команды она расшифровывается и передается в модуль обработки для выполнения и подготовки ответа. Модуль ROBVIS имеет доступ ко всем подпрограммам модуля обработки, ядра системы и утилитам системы. В случае возникновения ошибки, обнаруженной СТЗ, которая не может быть соответствующим образом обработана, управление передается интерпретатору командных строк. Частным случаем такой ’’ошибки” может быть специальный код, передаваемый управляющим устройством робота в систему технического зрения для перевода ее в автономный режим. Для каждой робототехнической системы модуль ROBVIS составляется заново. Утилиты системы (SYSUTL). Этот программный модуль состоит из подпрограмм, используемых в режимах обучения и работы практически всеми модулями СТЗ системы технического зрения. Выполнение сборочной операции под управлением СТЗ. На рис. 5 показан внешний вид устройства, выполняющего сборку электромеханического реле под управлением СТЗ. Для сборки реле из четырех деталей используется промышленный робот ПУМА 250. Первоначально все четыре детали находятся в поле зрения телекамеры системы, не касаясь друг друга. Связь робота и системы выполняется по последовательной линии передачи RS-232. На рис. 6 представлены сборочная программа робота ПУМА и протокол связи робота и системы технического зрения. Сборочная программа ASSEMBLY написана на языке программирования роботов ВАЛ. Устройство управления робота соединено с постпроцессором обработки изображений через порт подключения дисплея, так что команды на языке ВАЛ поступают в постпроцессор так же, как если бы они были набраны оператором на клавиатуре дисплея. Вначале система технического зрения выдает в устройство управления робота команду на выполнение программы сборки (EXECUTE ASSEMBLY). Выполнение этой программы приостанавливается на шаге 2. В этот момент устройство управления робота просит задать параметры точки А (некоторое произвольное положение детали в поле зрения) . СТЗ анализирует образ рабочей зоны и определяет точные параметры положения детали (X, Y, Z) и (О, А, Т). После определения значений параметров положения они посылаются в устройство управления робота. Манипулятор робота перемещается в указанную точку, захватывает деталь и переносит ее в заранее определенную позицию сборки В. Управление передается на шаг2 программы сборки и ее выполнение продолжается со следующей деталью. Рис. 6. Протокол связи робота с системой технического зрения и сборочная программа робота ПУМА Использование полутоновой СТЗ фирмы Вестингауз позволяет выполнять сборочные операции при слабом освещении. Ее можно использовать также в тех случаях, когда необходимо выполнять технический контроль деталей сложной конфигурации в реальном масштабе времени при слабом освещении. |
☭ Борис Карлов 2001—3001 гг. ☭ |