Исследование систем управления манипулятором MR-999Е
Цепные коды применяются для представления границы в виде последовательности отрезков прямых линий определенной длины и направления. Обычно в основе этого представления лежит 4- или 8-связная прямоугольная решетка. Длина каждого отрезка определяется разрешением решетки, а направления задаются выбранным кодом. Отметим что для представления всех направлений в 4-направленном цепном коде достаточно 2… Читать ещё >
Исследование систем управления манипулятором MR-999Е (реферат, курсовая, диплом, контрольная)
Міністерство освіти і науки України Харківський національний університет радіоелектроніки Факультет Комп’ютерної інженерії та управління Кафедра Технології та автоматизація виробництва РЕЗ та ЕОЗ МАГІСТЕРСЬКА АТЕСТАЦІЙНА РОБОТА ПОЯСНЮВАЛЬНА ЗАПИСКА Дослідження систем керування маніпулятором MR-999E
Студент Козирєв Є.А.
Керівник проекту проф. Омаров М.А.
РЕФЕРАТ Мета роботи — дослідження методів ідентифікації об'єктів у робочій зоні робота.
Об'єкт дослідження — система технічного зору промислового робота.
Розглянуто методи розпізнавання та ідентифікації об'єктів роботизованого виробництва, проаналізовано методи обробки інформації у системах технічного зору роботів, побудована теоретико-множинна модель розпізнавання та ідентифікації, розглянута практична реалізація методів обробки інформації в робототехнічних системах, розроблено програмне забезпечення, що реалізує методи розпізнавання та ідентифікації об'єктів роботизованого виробництва.
Основними методами обробки інформації є сегментація (процес розділу сцени на складові частини або об'єкти), визначення порогового рівня, обласними-орієнтована сегментація, дескриптори країв і областей зображень, опис тривимірних сцен і структур, обробка візуальної інформації.
До числа перспективних напрямків досліджень слід віднести подальший розвиток методів розпізнавання та ідентифікації, їх програмну реалізацію для промислових операційних систем реального часу. У комбінації з системою прийняття рішень такі розробки істотно прискорять реалізацію систем управління інтелектуальними роботами.
- Перечень условных обозначений, символов, единиц, сокращений и терминов
- ВВЕДЕНИЕ
- 1. МЕТОДЫ ОБРАБОТКИ ИНФОРМАЦИИ В СИСТЕМАХ ТЕХНИЧЕСКОГО ЗРЕНИЯ РОБОТОВ
- 1.1 Классификация методов обработки информации в СТЗ
- 1.2 Методы предварительной обработки изображений
- 1.3 Сегментация объектов
- 1.3.1 Проведение контуров и определение границ
- 1.3.2 Локальный анализ
- 1.3.3 Глобальный анализ с помощью преобразования Хоуга
- 1.4 Определение порогового уровня изображений
- 1.5 Областно-ориентированная сегментация
- 1.5.1 Основные определения
- 1.5.2 Расширение области за счет объединения пикселей
- 1.5.3 Разбиение и объединение области
- 1.5.4 Анализ движения объектов
- 1.6 Проблема описания объектов
- 1.7 Дескрипторы границы
- 1.8 Дескрипторы областей изображений
- 1.8.1 Некоторые простые дескрипторы
- 1.8.2 Текстура
- 1.8.3 Схема области
- 1.9 Сегментация и описание трехмерных структур
- 1.10 Описание трехмерной сцены плоскими участками
- 1.11 Техника обработки визуальной информации
- 2. МЕТОДЫ ИДЕНТИФИКАЦИИ ОБЪЕКТОВ В РОБОТИЗИРОВАННЫХ СИСТЕМАХ
- 2.1 Метод сравнения с эталоном
- 2.2 Методы теории графов и распознавание
- 2.3 Корреляционный метод
- 2.4 Распознавание через связь шаблонов
- 2.4.1 Поиск объектов указанием связей между шаблонами
- 2.4.2 Описание фрагментов изображения
- 2.4.3 Указание признаков и простая порождающая модель
- 2.4.4 Вероятностные модели для указания
- 2.4.5 Доработка порождающей модели
- 2.4.6 Указание связей
- 2.4.7 Указание на трехмерные объекты
- 2.5 Искусственные нейронные сети и их использование при идентификации изображений
- 2.6 Распознавание объектов и их интерпретация
- 2.7 Теоретико-множественная модель распознавания и идентификации
- 3. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ МЕТОДОВ ОБРАБОТКИ ИНФОРМАЦИИ В СИСТЕМАХ ТЕХНИЧЕСКОГО ЗРЕНИЯ
- 3.1 Основные подходы к практической реализации методов обработки информации
- 3.1.1 Методы пространственной области
- 3.1.2 Методы частотной области
- 3.2 Библиотека Integrated Performance Primitives (IPP)
- 3.3 Библиотека AviCap
- 3.4 Библиотека OpenCV
- 3.4.1Операторы для определения изображений при помощи библиотеки OpenCV
- 4. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ ОБЪЕКТОВ РОБОТИЗИРОВАННОГО ПРОИЗВОДСТВА С ПОМОЩЬЮ СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ
- 4.1 Основные особенности разработанного программного обеспечения
- 4.2Реализация функции обработки изображений
- 4.3 Реализация функций распознавания и идентификации
- 5. БЕЗОПАСНОСТЬ ЖИЗНИ И ДЕЯТЕЛЬНОСТИ ЧЕЛОВЕКА
- 5.1 Анализ условий труда в помещении лаборатории исследовательского бюро кафедры ТАПР
- 5.2 Техника безопасности в лаборатории исследовательского бюро
- 5.3 Производственная санитария и гигиена труда в лаборатории исследовательского бюро
- 5.4 Пожарная профилактика лаборатории исследовательского бюро
- ВЫВОДЫ
- ПЕРЕЧЕНЬ ССЫЛОК
- Приложение
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ
СТЗСистема технического зрения
OpenCV-Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом
IPPIntegrated Performance Primitives, библиотека компьютерного зрения
MLLMachine Learning Library
AviCapAvi Capture
ЭВМЭлектронно-вычислительная машина
ПСОПреобразование средних осей
ИНСИскусственные нейронные сети
MLLMachine Learning Library
Зрительные возможности робота, как и людей, обеспечиваются сложным чувствительным механизмом, который позволяет гибко реагировать на изменения внешней среды. Использование технического зрения и других методов очувствления диктуется постоянной необходимостью повышать гибкость и расширять области применения робототехнических систем. Хотя датчики расстояния, тактильные датчики и датчики силы играют большую роль в совершенствовании функционирования робота, техническое зрение является наиболее мощным источником информации для робота. В силу сказанного, исследования в области систем технического зрения роботов продолжают оставаться одним из наиболее перспективных направлений современной робототехники, что и подтверждает актуальность данной работы.
Зрение робота можно определить как процесс выделения, идентификации и преобразования информации, полученной из трехмерных изображений. Этот процесс, называемый также техническим или машинным зрением, разделяется на шесть основных этапов: а) снятие информации, б) предварительная обработка информации, в) сегментация, г) описание, д) распознавание, е) интерпретация. Снятие информации представляет собой, процесс получения визуального изображения. Предварительная обработка информации заключается в использовании таких методов как понижение шума или улучшение изображения отдельных деталей. Сегментация — процесс выделения на изображении интересующих объектов. При описании определяются характерные параметры (например, размеры или форма), необходимые для выделения требуемого объекта на фоне других. Распознавание представляет собой процесс идентификации объектов (например, гаечного ключа, болта, блока двигателя). Наконец, интерпретация выявляет принадлежность к группе распознаваемых объектов.
Названные этапы удобно сгруппировать в соответствии со сложностью их реализации. Выделим три уровня технического зрения: низкий, средний и высокий. Хотя четких границ между этими уровнями не существует, их выделение целесообразно для классификации различных процессов, характерных для систем технического зрения.
Под низким уровнем технического зрения понимаются такие процессы, которые являются простыми с точки зрения осуществления автоматических действий, не требующих наличия искусственного интеллекта. К низкому уровню технического зрения мы будем также относить снятие и предварительную обработку информации.
Под средним уровнем технического зрения понимаются процессы выделения, идентификации и разметки элементов изображения, полученного на нижнем уровне. С учетом принятого подразделения технического зрения к среднему уровню относятся сегментация, описание и распознавание отдельных объектов.
Под высоким уровнем технического зрения понимаются процессы, относящиеся к искусственному интеллекту. В то время как алгоритмы, используемые на нижнем и среднем уровнях технического зрения, разработаны достаточно хорошо, знание и понимание процессов высокого уровня пока еще недостаточны.
Целью данной магистерской аттестационной работы является исследование методов идентификации объектов в рабочей зоне робота.
Объектом исследования является система технического зрения робота.
1. МЕТОДЫ ОБРАБОТКИ ИНФОРМАЦИИ В СИСТЕМАХ ТЕХНИЧЕСКОГО ЗРЕНИЯ РОБОТОВ
1.1 Классификация методов обработки информации в СТЗ
Одним из важнейших направлений развития робототехнических систем всегда была организация взаимодействия манипулятора и сенсорных анализаторов. Использование сенсоров придает системе гибкость, расширяет ее функциональные возможности и увеличивает круг решаемых ею задач. Большинство ныне существующих систем, использующих взаимодействие манипулятора и сенсоров, построены путем связывания автономных сенсорной и робототехнической подсистем. Эти системы продемонстрировали состоятельность концепции взаимодействия системы управления роботом с сенсорной подсистемой, на основе которой разработана концепция визуального управления роботами. Схема обработки информации в СТЗ робота показана на рис. 1.1.
Рисунок 1.1 — Обработка информации в СТЗ робота
С целью классификации методов и подходов, используемых в системах технического зрения, зрение разбито на три основных подкласса: зрение низкого, среднего и высокого уровней. Системы технического зрения низкого уровня предназначены для обработки информации с датчиков очувствления.
Эти системы можно отнести к классу «интеллектуальных» машин, если они обладают следующими признаками (признаками интеллектуального поведения):
а)возможностью выделения существенной информации из множества независимых признаков;
б)способностью к обучению на примерах и обобщению этих знаний с целью их применения в новых ситуациях;
в)возможностью восстановления событий по неполной информации;
г)способностью определять цели и формулировать планы для достижения этих целей.
Создание систем технического зрения с такими свойствами для ограниченных видов рабочего пространства в принципе возможно, но характеристики таких систем далеки от возможностей человеческого зрения. В основе технического зрения лежит аналитическая формализация, направленная на решение конкретных задач. Машины с сенсорными характеристиками, близкими к возможностям человека, по-видимому, появятся еще не скоро. Однако отметим, что копирование природы не является единственным решением этой проблемы. Современное решение задачи о полете в пространстве в корне отличается от решений, подсказанных природой. По скорости и достижимой высоте самолеты намного превосходят возможности птиц.
Системы технического зрения среднего уровня связаны с задачами сегментации, описания и распознавания отдельных объектов. Эти задачи охватывают множество подходов, основанных на аналитических представлениях. Системы технического зрения высокого уровня решают проблемы, рассмотренные выше. Для более ясного понимания проблем технического зрения высокого уровня и его связи с техническим зрением низкого и среднего уровней обычно вводят ряд ограничений и упрощают решаемую задачу.
1.2 Методы предварительной обработки изображений
Процесс идентификации объектов, находящихся в рабочей зоне робота, обычно включает два этапа: выделение характерных признаков объектов; собственно распознавание объектов по найденной совокупности характерных признаков. В соответствии с такой структурой процесса идентификации алгоритмы обработки информации в СТЗ принято делить на алгоритмы предварительной обработки и алгоритмы распознавания, что носит в известной степени условный характер, так как в некоторых практических приложениях одни и те же по математической сути алгоритмы могут быть использованы на обоих этапах рассматриваемого процесса.
В соответствии со спектральным диапазоном преобразователей свет — сигнал и принципом действия СТЗ датчик формирует изображение рабочей зоны робота. Формально получение изображения заключается в определении функциональной зависимости интенсивности излучений рабочей зоны от координат точек изображения х и у:
J = f (x, y). (1.1)
В дальнейшем под «изображением» будем понимать именно функциональную зависимость f (x, у). С учетом принятой терминологии задачей предварительной обработки является поиск каких-либо особенностей функции f (x, у), которые могли бы указать на тип объекта, находящегося в рабочего зоне.
1.3 Сегментация объектов
1.3.1 Проведение контуров и определение границ
Сегментацией называется процесс подразделения сцены на составляющие части или объекты. Сегментация является одним из основных элементов работы автоматизированной системы технического зрения, так как именно на этой стадии обработки объекты выделяются из сцены для дальнейшего распознавания и анализа. Алгоритмы сегментации, как правило, основываются на двух фундаментальных принципах: разрывности и подобии. В первом случае основной подход основывается на определении контуров, а во втором — на определении порогового уровня и расширении области. Эти понятия применимы как к статическим, так и к динамическим (зависящим от времени) сценам. В последнем случае движение может служить мощным средством для улучшения работы алгоритмов сегментации.
Методы — вычисление градиента, пороговое разделение — определяют разрывы в интенсивности представления образа объекта. В идеальном случае эти методы определяют пиксели, лежащие на границе между объектом и фоном. На практике данный ряд пикселов редко полностью характеризует границу из-за шума, разрывов на границе вследствие неравномерной освещенности и других эффектов, приводящих к размытию изображения. Таким образом, алгоритмы обнаружения контуров сопровождаются процедурами построения границ объектов из соответствующих последовательностей пикселов. Ниже рассмотрено несколько методик, пригодных для этой цели.
1.3.2 Локальный анализ
Одним из наиболее простых подходов соединения точек контура является анализ характеристик пикселов в небольшой окрестности (например, в окрестности размером 3 X 3 или 5 X 5) каждой точки (х, у) образа, который уже подвергся процедуре обнаружения контура. Все точки, являющиеся подобными (определение критерия подобия дано ниже), соединяются, образуя границу из пикселов, обладающих некоторыми общими свойствами.
При таком анализе для установления подобия пикселов контура необходимо определить:
а) величину градиента, требуемого для построения контурного пикселя; б) направление градиента.
Первая характеристика обозначается величиной G{f (x, у)}.
(1.2)
Таким образом, пиксель контура с координатами (х', у') подобен по величине в определенной ранее окрестности (х, у) пикселя с координатами (х, у), если справедливо неравенство
(1.3)
где Т—пороговое значение.
Направление градиента устанавливается по углу вектора градиента, определенного в уравнении
(1.4)
(1.5)
где —угол (относительно оси х), вдоль которого скорость изменения имеет наибольшее значение. Тогда можно сказать, что угол пикселя контура с координатами {х', у') в некоторой окрестности (х, у) подобен углу пикселя с координатами {х, у) при выполнении следующего неравенства:
(1.6)
где А—пороговое значение угла. Необходимо отметить, что направление контура в точке {х, у) в действительности перпендикулярно направлению вектора градиента в этой точке. Однако для сравнения направлений неравенство дает эквивалентные результаты.
Основываясь на этих предположениях, мы соединяем точку в некоторой окрестности (х, у) с пикселем, имеющим координаты (х, у), если удовлетворяются критерии по величине и направлению. Двигаясь от пикселя к пикселю и представляя каждую присоединяемую точку как центр окрестности, процесс повторяется для каждой точки образа. Для установления соответствия между уровнями интенсивности освещения и последовательностями пикселов контура применяется стандартная библиотечная процедура.
Цель состоит в определении размеров прямоугольников, с помощью которых можно построить качественное изображение. Построение таких прямоугольников осуществляется в результате определения строго горизонтальных и вертикальных контуров. Дальнейший процесс состоял в соединении сегментов контура, разделенных небольшими промежутками, и в объединении отдельных коротких сегментов.
1.3.3 Глобальный анализ с помощью преобразования Хоуга
Рассмотрим метод соединения граничных точек путем определения их расположения на кривой специального вида. Первоначально предполагая, что на плоскости ху образа дано п точек, требуется найти подпоследовательности точек, лежащих на прямых линиях. Одно из возможных решений состоит в построении всех линий, проходящих через каждую пару точек, а затем в нахождении всех подпоследовательностей точек, близких к определенным линиям. Задача, связанная с этой процедурой, заключается в нахождении п (п— 1)/2 ~ п2 линий и затем в осуществлении п[п (п—1)]/2 ~ п3 сравнений каждой точки со всеми линиями. Этот процесс трудоемок с вычислительной точки зрения за исключением самых простых приложений.
Данную задачу можно решить по-другому, применяя подход, предложенный Хоугом и называемый преобразованием Хоуга. Вычислительная привлекательность преобразования Хоуга заключается в разделении пространства параметров на так называемые собирающие элементы, где (aмакс, амин) и (bмакс, bмин)—допустимые величины параметров линий. Собирающий элемент A (i, j) соответствует площади, связанной с координатами пространства параметров (аi, bj). Вначале эти элементы считаются равными нулю. Тогда для каждой точки (xk, уk) в плоскости образа мы полагаем параметр, а равным каждому из допустимых значений на оси, а и вычисляем соответствующее b, используя уравнение b = -хk + yk Полученное значение b затем округляется до ближайшего допустимого значения на оси b. Если выбор aр приводит к вычислению bq, мы полагаем А (р, q) ==А (р, q) + 1. После завершения этой процедуры значение М в элементе A (i, j) соответствует М точкам в плоскости xy, лежащим на линии y=aix+b. Точность расположения этих точек на одной прямой зависит от числа разбиений плоскости аb. Если мы разбиваем ось, а на К частей, тогда для каждой точки (xk, уk) мы получаем К значений b, соответствующих К возможным значениям а. Поскольку имеется п точек образа, процесс состоит из пК вычислительных операций.
робот технический нейронный изображение
1.4 Определение порогового уровня изображений Понятие порогового уровня (порога) тест вида Т = Т [х, у, р (х, у), f (х, у)], (1.7)
где f (x, у) —интенсивность в точке (х, у), р (х, у)—некоторое локальное свойство, определяемое в окрестности этой точки. Пороговое изображение дается следующим выражением:
(1.8)
так что пиксели в g (x, у), имеющие значение 1, соответствуют объектам, а пиксели, имеющие значение 0, соответствуют фону. В уравнении предполагается, что интенсивность объектов больше интенсивности фона. Противоположное условие получается путем изменения знаков в неравенствах.
1.5 Областно-ориентированная сегментация
1.5.1 Основные определения
Целью сегментации является разделение образа на области. Рассмотрим методы сегментации, основанные на прямом нахождении областей.
Пусть R — область образа. Рассмотрим сегментацию как процесс разбиения R на n подобластей R1, R2, …, Rn, так что:
a);
б)Pi—связная область, i= 1, 2, …, п;
в)Ri = для всех i и j, i j;
г)P (Ri) есть ИСТИНА для i= 1, 2, …, n;
д)P (Ri U Ri) есть ЛОЖЬ для i j, где P (Ri) — логический предикат, определенный на точках из множества Ri, и — пустое множество.
Условие 1 означает, что сегментация должна быть полной, т. е. каждый пиксель должен находиться в образе. Второе условие требует, чтобы точки в области были связными. Условие 3 указывает на то, что области не должны пересекаться. Условие 4 определяет свойства, которым должны удовлетворять пиксели в сегментированной области. Простой пример: Р (Ri) = ИСТИНА, если все пиксели в Ri имеют одинаковую интенсивность. Условие 5 означает, что области Ri и Ri различаются по предикату Р.
1.5.2 Расширение области за счет объединения пикселей
Расширение области сводится к процедуре группирования пикселов или подобластей в большие объединения. Простейшей из них является агрегирование пикселов. Процесс начинается с выбора множества узловых точек, с которых происходит расширение области в результате присоединения к узловым точкам соседних пикселов с похожими характеристиками (интенсивность, текстура или цвет). Двумя очевидными проблемами являются: выбор начальных узлов для правильного представления областей, представляющих интерес, и определение подходящих свойств для включения точек в различные области в процессе расширения. Выбор множества, состоящего из одной или нескольких начальных точек, следует из постановки задачи. Например, в военных приложениях объекты, представляющие интерес, имеют более высокую температуру, чем фон, и поэтому проявляются более ярко. Выбор наиболее ярких пикселов является естественным начальным шагом в алгоритме процесса расширения области. При отсутствии априорной информации можно начать с вычисления для каждого пикселя набора свойств, который наверняка будет использован при установлении соответствия пикселя той или иной области в процессе расширения. Если результатом вычислений являются группы точек (кластеры), тогда в качестве узловых берутся те пиксели, свойства которых близки к свойствам центроидов этих групп. Так, в примере, приведенном выше, гистограмма интенсивностей показала бы, что точки с интенсивностью от одного до семи являются доминирующими. Выбор критерия подобия зависит не только от задачи, но также от вида имеющихся данных об образе. Например, анализ информации, полученной со спутников, существенно зависит от использования цвета. Задача анализа значительно усложнится при использовании только монохроматических образов. К сожалению, в промышленном техническом зрении возможность получения мультиспектральных и других дополнительных данных об образе является скорее исключением, чем правилом. Обычно анализ области должен осуществляться с помощью набора дескрипторов, включающих интенсивность и пространственные характеристики (моменты, текстуру) одного источника изображения. Отметим, что применение только одних дескрипторов может приводить к неправильным результатам, если не используется информация об условиях связи в процессе расширения области. Это легко продемонстрировать при рассмотрении случайного расположения пикселов с тремя различными значениями интенсивности. Объединение пикселов в «область» на основе признака одинаковой интенсивности без учета условий связи приведет к бессмысленному результату при сегментации.
Другой важной проблемой при расширении области является формулировка условия окончания процесса. Обычно процесс расширения области заканчивается, если больше не существует пикселов, удовлетворяющих критерию принадлежности к той или иной области. Выше упоминались такие критерии, как интенсивность, текстура и цвет, которые являются локальными по своей природе и не учитывают «историю» процесса расширения области. Дополнительный критерий, повышающий мощность алгоритма расширения области, включает понятие размера, схожести между пикселем-кандидатом и только что созданными пикселями (сравнение интенсивности кандидата и средней интенсивности области), а также формы области, подлежащей расширению. Использование этих типов дескрипторов основано на предположении, что имеется неполная информация об ожидаемых результатах.
1.5.3 Разбиение и объединение области
Изложенная выше процедура расширения области начинает работу с заданного множества узловых точек. Однако можно сначала разбить образ на ряд произвольных непересекающихся областей и затем объединять и/или разбивать эти области с целью удовлетворения условий. Итеративные алгоритмы разбиения и объединения, работа которых направлена на выполнение этих ограничений, могут быть изложены следующим образом.
На каждом шаге выполняются следующие операции:
а)разбиение области Ri, для которой Р {Ri) = ЛОЖЬ, на четыре непересекающихся квадранта;
б)объединение соседних областей Ri и Rk, для которых Р (Ri U Rk) = ИСТИНА;
в)выход на останов, когда дальнейшее объединение или разбиение невозможно.
1.5.4 Анализ движения объектов
Движение представляет собой мощное средство, которое используется человеком и животными для выделения интересующих их объектов из фона. В системах технического зрения роботов движение используется при выполне1нии различных операций на конвейере, при перемещении руки, оснащенной датчиком, более редко при перемещении всей робототехнической системы.
Один из наиболее простых подходов для определения изменений между двумя кадрами изображения (образами) f (x, у, ti) и f (x, у, tj), взятыми соответственно в моменты времени ti и tj, основывается на сравнении соответствующих пикселов этих двух образов. Для этого применяется процедура, заключающаяся в формировании так называемой разности образов.
Предположим, что мы имеем эталонный образ, имеющий только стационарные компоненты. Если сравним этот образ с таким же образом, имеющим движущиеся объекты, то разность двух образов получается в результате вычеркивания стационарных компонент (т. е. оставляются только ненулевые записи, которые соответствуют нестационарным компонентам изображения).
1.6 Проблема описания объектов
В системах технического зрения проблемой описания называется выделение свойств (деталей) объекта с целью распознавания. В идеальном случае дескрипторы не должны зависеть от размеров, расположения и ориентации объекта, но должны содержать достаточное количество информации для надежной идентификации объектов. Описание является основным результатом при конструировании систем технического зрения в том смысле, что дескрипторы должны влиять не только на сложность алгоритмов распознавания, но также и на их работу. Рассмотрим три основные категории дескрипторов: дескрипторы границы, дескрипторы области и дескрипторы для описания трехмерных структур.
1.7 Дескрипторы границы
Цепные коды применяются для представления границы в виде последовательности отрезков прямых линий определенной длины и направления. Обычно в основе этого представления лежит 4- или 8-связная прямоугольная решетка. Длина каждого отрезка определяется разрешением решетки, а направления задаются выбранным кодом. Отметим что для представления всех направлений в 4-направленном цепном коде достаточно 2 бит, а для 8-направленного цепного кода требуется 3 бит. Для порождения цепного кода заданной границы сначала выбирается решетка. Тогда, если площадь ячейки, расположенной внутри границы, больше определенного числа (обычно 50%), ей присваивается значение 1; в противном случае этой ячейке присваивается значение 0. Окончательно мы кодируем границу между двумя областями, используя направления. Результат кодирования в направлении по часовой стрелке с началом в месте, помеченном точкой. Альтернативная процедура состоит в разбиении границы на участки равной длины (каждый участок имеет одно и то же число пикселов) и соединении граничных точек каждого участка прямой линией, а затем присваивания каждой линии направления, ближайшего к одному из допустимых направлений цепного кода. Важно отметить, что цепной код данной границы зависит от начальной точки. Однако можно нормировать код с помощью простой процедуры. Для создания цепного кода начальная точка на решетке выбирается произвольным образом. Рассматривая цепной код как замкнутую последовательность индексов направлений, мы вновь выбираем начальную точку таким образом, чтобы результирующая последовательность индексов была целым числом, имеющим минимальную величину. Также можно нормировать повороты, если вместо цепного кода рассматривать его первую разность. Первая разность вычисляется в результате отсчитывания (в направлении против часовой стрелки)' числа направлений, разделяющих два соседних элемента кода. Нормирование можно осуществить путем разбиения всех границ объекта на одинаковое число равных сегментов и последующей подгонкой длин сегментов кода с целью их соответствия этому разбиению.
Сигнатурой называется одномерное функциональное представление границы. Известно несколько способов создания сигнатур. Одним из наиболее простых является построение отрезка из центра к границе как функции угла. Очевидно, что такие сигнатуры зависят от периметра области и начальной точки. Нормирование периметра можно осуществить, пронормировав кривую r () максимальным значением. Проблему выбора начальной точки можно решить, определив сначала цепной код границы, а затем применив метод, изложенный в предыдущем разделе. Конечно, расстояние, зависящее от угла, не является единственным способом определения сигнатуры. Например, можно провести через границу прямую линию и определить угол между касательной к границе и этой линией как функцию положения вдоль границы. Полученная сигнатура, хотя и отличается от кривой r (), несет информацию об основных характеристиках формы границы. Например, горизонтальные участки кривой соответствовали бы прямым линиям вдоль границы, поскольку угол касательной здесь постоянен. Один из вариантов этого метода в качестве сигнатуры использует так называемую функцию плотности наклона. Эта функция представляет собой гистограмму значений угла касательной. Поскольку гистограмма является мерой концентрации величин, функция плотности наклона строго соответствует участкам границы с постоянными углами касательной (прямые или почти прямые участки и имеет глубокие провалы для участков, соответствующих быстрому изменению углов (выступы или другие виды изгибов).
В задаче аппроксимации многоугольниками применяются методы объединения, основанные на ошибке или других критериях. Один из подходов состоит в соединении точек границы линией по методу наименьших квадратов. Линия проводится до тех пор, пока ошибка аппроксимации не превысит ранее заданный порог. Когда порог превышается, параметры линии заносятся в память, ошибка полагается равной нулю и процедура повторяется; новые точки границы соединяются до тех пор, пока ошибка снова не превысит порог. В конце процедуры образуются вершины многоугольника в результате пересечения соседних линий. Одна из основных трудностей, связанная с этим подходом, состоит в том, что эти вершины обычно не соответствуют изгибам границы (таким, как углы), поскольку новая линия начинается только тогда, когда ошибка превысит порог. Если, например, длинная прямая линия пересекает угол, то числом (зависящим от порога) точек, построенных после пересечения, можно пренебречь ранее, чем будет превышено значение порогового уровня. Однако для устранения этой трудности наряду с методами объединения можно использовать методы разбиения.
Один из методов разбиения сегментов границы состоит в последовательном делении сегмента на две части до тех пор, пока удовлетворяется заданный критерий.
1.8 Дескрипторы областей изображений
1.8.1 Некоторые простые дескрипторы
Существующие системы технического зрения основываются на довольно простых дескрипторах области, что делает их более привлекательными с вычислительной точки зрения. Как следует ожидать, применение этих дескрипторов ограничено ситуациями, в которых представляющие интерес объекты различаются настолько, что для их идентификации достаточно несколько основных дескрипторов.
Площадь области определяется как число пикселов, содержащихся в пределах ее границы. Этот дескриптор полезен при сборе информации о взаимном расположении и форме объектов, от которых камера располагается приблизительно на одном и том же расстоянии. Типичным примером может служить распознавание системой технического зрения объектов, движущихся по конвейеру.
Большая и малая оси области полезны для определения ориентации объекта. Отношение длин этих осей, называемое эксцентриситетом области, также является важным дескриптором для описания формы области.
Периметром области называется длина ее границы. Хотя иногда периметр применяется как дескриптор, чаще он используется для определения меры компактности области, равной квадрату периметра, деленному на площадь. Отметим, что компактность является безразмерной величиной (и поэтому инвариантна к изменению масштаба) и минимальной для поверхности, имеющей форму диска.
Связной называется область, в которой любая пара точек может быть соединена кривой, полностью лежащей в этой области. Для множества связных областей (некоторые из них имеют отверстия) в качестве дескриптора полезно использовать число Эйлера, которое определяется как разность между числом связных областей и числом отверстий. Например, числа Эйлера для букв, А и В соответственно равны 0 и -1. Другие дескрипторы области рассматриваются ниже.
1.8.2 Текстура
Во многих случаях идентификацию объектов или областей образа можно осуществить, используя дескрипторы текстуры. Хотя не существует формального определения текстуры, интуитивно этот дескриптор можно рассматривать как описание свойств поверхности (однородность, шероховатость, регулярность). Двумя основными подходами для описания текстуры являются статистический и структурный. Статистические методы дают такие характеристики текстуры, как однородность, шероховатость, зернистость и т. д. Структурные методы устанавливают взаимное расположение элементарных частей образа, как, например, описание текстуры, основанной на регулярном расположении параллельных линий.
1.8.3 Схема области Важным подходом для описания вида структуры плоской области является ее представление в виде графа. Во многих случаях для этого определяется схема (скелет) области с помощью так называемых прореживающих (или же сокращающих) алгоритмов. Прореживающие процедуры играют основную роль в широком диапазоне задач компьютерного зрения — от автоматической проверки печатных плат до подсчета асбестовых волокон в воздушных фильтрах. Скелет области можно определить через преобразование средних осей (ПСО), предложенное в работе. Хотя ПСО дает довольно удовлетворительный скелет области, его прямое применение затруднительно с вычислительной точки зрения, поскольку требуется определение расстояния между каждой точкой области и границы. Был предложен ряд алгоритмов построения средних осей, обладающих большей вычислительной эффективностью. Обычно это алгоритмы прореживания, которые итеративно устраняют из рассмотрения точки контура области так, чтобы выполнялись следующие ограничения:
а)не устранять крайние точки;
б)не приводить к нарушению связности;
в)не вызывать чрезмерного размывания области.
1.9 Сегментация и описание трехмерных структур
По существу зрение является трехмерной проблемой, поэтому в основе разработки многофункциональных систем технического зрения, пригодных для работы в различных средах, лежит процесс обработки информации о трехмерных сценах. Хотя исследования в этой области имеют более чем 10-летнюю историю, такие факторы, как стоимость, скорость и сложность, тормозят внедрение обработки трехмерной зрительной информации в промышленных приложениях.
Возможны три основные формы представления информации о трехмерной сцене. Если применяются датчики, измеряющие расстояние, то мы получаем координаты (х, у, z) точек поверхностей объектов. Применение устройств, создающих стереоизображение, дает трехмерные координаты, а также информацию об освещенности в каждой точке. В этом случае каждая точка представляется функцией f (х, у, z), где значения последней в точке с координатами (х, у, z) дают значения интенсивности в этой точке (для обозначения точки в трехмерном пространстве и ее интенсивности часто применяется термин воксель). Наконец, можно установить трехмерные связи на основе одного двумерного образа сцены, т. е. можно выводить связи между объектами, такие, как «над», «за», «перед». Поскольку точное трехмерное расположение точек сцены обычно не может быть вычислено на основе одного изображения, связи, полученные с помощью этого вида анализа, иногда относятся к так называемой 2,5-мерной информации.
1.10 Описание трехмерной сцены плоскими участками
Один из наиболее простых подходов для сегментации и описания трехмерных структур с помощью координат точек (х, у, z) состоит в разбиении сцены на небольшие плоские «участки» с последующим их объединением в более крупные элементы поверхности в соответствии с некоторым критерием. Этот метод особенно удобен для идентификации многогранных объектов, поверхности которых достаточно гладкие относительно разрешающей способности.
Когда сцена задана вокселями, ее можно описать плоскими участками с помощью трехмерного градиента. В этом случае дескрипторы поверхности также получаются в результате объединения этих плоских участков. Вектор градиента указывает направление максимальной скорости изменения функции, а его величина соответствует величине этого изменения. Эти понятия применимы для трехмерного случая и также могут быть использованы для разбиения на сегменты трехмерных структур тем же способом, который применялся для двумерных данных.
1.11 Техника обработки визуальной информации
Форма и размер. Будем считать все объекты, представленные в системе автоматической сборки, точными проекциями соответствующих реальных объектов. Объекты могут быть любой формы, число различных объектов неограниченно. Любое обнаруженное анализирующей системой отклонение от формы или размера, которое может повлечь за собой ошибки сборки, служит основанием для отбраковки детали (это не означает, что предполагается проверка 100% деталей). Поэтому полученное в результате анализа описание объекта должно содержать всю присутствовавшую в образе информацию о размерах и форме этого объекта. Напротив, система распознавания символов в общем случае должна допускать значительные отклонения (различное начертание) в распознаваемых символах. В наиболее сложном случае распознаются рукописные символы. Однако число типов распознаваемых символов всегда ограничено. Наибольшая достоверность распознавания достигается при использовании шаблона при анализе печатных шрифтов, специально предназначенных для оптического считывания, например ОКР-А и ОКР-Б (OCR-A и OCR-B).
Параметры положения. Детали, с которыми работает робот-сборщик, могут располагаться в любой точке в пределах поля зрения и иметь произвольную ориентацию. Хотя для распознавания детали требуется ее описание, инвариантное к параметрам положения, определение значений этих параметров также является важной функцией анализатора визуальной информации. Значения параметров положения используются при выполнении последующих операций. Задача распознавания символов упрощается тем, что, хотя строчки символов могут быть наклонными, отдельные символы обычно попадают в поле зрения распознающей системы в довольно жестко фиксированном положении, измерять параметры которого нет необходимости.
Число объектов. Естественно требовать от визуального анализатора робота-сборщика умения работать с несколькими одновременно находящимися в поле зрения и расположенными случайным образом деталями. Решение задачи разделения объектов при распознавании символов облегчается тем, что заранее известны размеры и курсив символа (в случае распознавания печатных символов). Такая информация позволила создать приемы разделения соприкасающихся символов. В настоящей работе не ставится задача различить соприкасающиеся объекты. Их совокупный силуэт будет восприниматься как единый, предположительно неизвестный объект.
Отсутствие ограничения на количество типоразмеров объектов, с которыми приходится работать распознающей системе, приводит к необходимости создавать полное описание формы для каждого образа. Впрочем, существует несколько основных параметров, которые однозначно определяются для контура любой конфигурации. Используя их, можно получить ценную информацию о типе и положении объекта.
В число этих параметров входят: площадь, периметр, минимальный охватывающий прямоугольник (размеры), центр площади (центроид), радиус-вектор минимальной длины (длина и направление), радиус-вектор максимальной длины (длина и направление), характеристики отверстий (количество, размер, расположение).
Значения площади и периметра — простейшие инвариантные к ориентации и расположению характеристики. При решении задачи распознавания объекта использовался безразмерный «коэффициент формы» — (площадь)/(периметр). Координаты вершин минимального охватывающего прямоугольника дают некоторую информацию о форме и величине объекта, но их значение зависит от его ориентации. Центр площади это точка, которая легко определяется для любого объекта независимо от его ориентации, вследствие чего центр площади играет важную роль при обнаружении и распознавании объекта. Он же задает начало радиус-вектора, соединяющего центр площади с точкой, лежащей на границе объекта. В принципе, радиус-векторы максимальной и минимальной длины могут быть полезны при распознавании и определении параметров положения объекта.
Обычно в промышленных деталях имеются отверстия. Их количество — тоже полезная характеристика. Отверстия могут распознаваться как объекты некоторой формы и размера, определенным образом ориентированные относительно основного объекта, в котором они обнаружены.
Наиболее удобный способ получения подробного описания произвольного геометрического объекта и установления связности образа — это прослеживание границы. Прослеживание начинается с выбора произвольной точки, лежащей на черно-белой границе проекции объекта. Затем выполняется алгоритм, последовательно определяющий смежные точки, лежащие на границе, до тех пор, пока не будет совершен полный обход контура. Последовательно записывая направления движения вдоль границы от каждой текущей точки к последующей, получаем одномерное описание проекции объекта, содержащее информацию о его форме. Такие цепочки направлений всесторонне изучались Фрименом. Когда граница прослежена, легко определить площадь, периметр, центр площади и охватывающий прямоугольник. Описание границы также удобно и для определения радиус-векторов.
Прослеживание границы устанавливает связность анализируемого объекта. Продолжая просмотр в поисках следующих объектов, можно повторно обнаружить уже отслеженную границу.
Чтобы избежать этого, Розенфельд предлагает во всех точках, просмотренных программой отслеживания границы, заменять единицы на двойки для первого обрабатываемого объекта, на тройки — для второго объекта и т. д. (единица соответствует объекту или «черному» элементу растра в исходном образе, а ноль соответствует фону или «белому» элементу). Но такой подход требует более одного бита для представления каждой точки исходного образа, и из-за этого не годится для систем с малым размером памяти.
Авторы предлагают для решения этой задачи использовать оператор поточечного дифференцирования или выделения границы, применяя его сразу же после считывания образа телекамерой. Этот оператор заменяет все единицы в образе на нули, за исключением точек, лежащих на границе черного и белого полей. Полученные с помощью ЭВМ контуры квадрата и круга, расположенных в поле зрения камеры, приведены на рис. 1.2 показан результат применения к этому изображению оператора выделения границы. Процедура прослеживания границы EDGETRACE может работать с промежуточным изображением точно так же, как с исходными объектами. Она построена так, что просматриваемые ею элементы растра «обнуляются», т. е. прослеживание границы объекта удаляет его из изображения, делая невозможным повторное обнаружение.
Сглаживание. Метод обработки изображений объектов, основанный на прослеживании границ, может оказаться неработоспособным, если на границе объекта будут обнаружены резкие скачки контрастности. В системах распознавания символов прослеживание границ обычно предваряется операцией сглаживания (локального усреднения), которая пытается уничтожить просветы (белые точки, которые должны были быть черными) и ложные черные точки, а также соединить небольшие разрывы. В операции сглаживания по Дайнину на каждый элемент растра по очереди накладывается окно размером пХп элементов и подсчитывается количество черных элементов, попавших в окно. Создается новое растровое представление, в котором каждый элемент соответствует отдельной позиции окна. В этом растровом представлении элемент будет черным только в том случае, когда количество черных элементов, попавших в соответствующее ему окно, превышает некоторое заранее заданное число. Наименьший применяемый на практике размер окна 3X3 элемента. Унгер предложил процедуру сглаживания, в которой вместо усреднения содержимого окна размером 3X3 элемента к нему применяются некоторые логические операции, определяющие значение элемента нового образа. Недостаток обоих методов — довольно большой объем операций с памятью: и в том и в другом случае все определения значения элемента нового образа приходится выполнить около 100 машинных операций.
Рисунок 1.2 — Содержимое растра после процедуры INPUT—FRAME и содержимое растра после выделения границ [8]
Объекты, с которыми имеет дело робот-сборщик, отличаются от печатных символов тем, что любые просветы в соответствующих им образах означают наличие дефектов и служат достаточным основанием для отбраковывания такого объекта. Изредка возникающие изолированные шумовые точки в общем случае не оказывают влияния на работу алгоритма прослеживания границы. Поэтому специальные сглаживающие операции не используются, хотя в процедуре прослеживания предпринимаются меры для уменьшения влияния шумовых точек.
Выделение границы — процедура OUTLINEFRAME. Оператор выделения границы должен создавать непрерывную последовательность граничных точек, обеспечивая возможность прослеживания границы. Для минимизации времени вычисления при создании каждого элемента нового образа следует использовать доступ к минимально возможному количеству элементов исходного образа.
Варианты определения контура объекта: Розенфельд различает понятия «край» и «граница». Край — это совокупность внешних элементов растрового представления объекта, граница же проходит посередине между горизонтально или вертикально смежными точками, одна из которых принадлежит объекту, а другая — фону. Для наших целей будем использовать концепцию границы, так как она более точно представляет линию, реально разделяющую черные и белые области растра.
Эта концепция обеспечивает однозначность решения в случае линии толщиной в одну точку. Использование концепции края приведет к получению результата, непригодного для последующей работы алгоритма прослеживания, так как два края линии будут совпадать.
Недостаток определения границы по Розенфельду заключается в том, что итоговый массив имеет вдвое большую точечную плотность, чем исходный, при сохранении взаимно однозначного соответствия двух массивов. Новый массив граничных точек создается с таким же расстоянием между точками, как исходный, но при этом каждая точка сдвигается по координатам х и у наполовину этого расстояния. Каждая точка нового массива лежит в центре квадрата, в вершинах которого находятся точки исходного массива, а ее состояние (черное или белое, граница или не граница) определяется по состоянию этих четырех точек.
Шесть основных (из числа шестнадцати возможных) сочетаний состояний четырех смежных элементов исходного образа показаны на рис. 4. Там же приведены интуитивные определенные значения соответствующих элементов массива, содержащего описание границы. Значение для конфигурации d выбрано нулевым для обеспечения однозначности в случае линии толщиной в одну точку.
Прослеживание границы — процедура EDGETRACE. Параметры. EDGETRACE — процедура, определяющая, принадлежит ли границе объекта точка, обнаруженная в дифференцированном образе. Координаты начальной точки вводятся в глобальные переменные целого типа STARTX, STARTY. Процедура EDGETRACE вызывается как логическая процедура — функция, например, в операторе
IF EDGETRACE THEN … ELSE
Значение «истина» вырабатывается процедурой тогда, когда найдена замкнутая граница, включающая в себя больше заранее определенного числа точек.
Процедура EDGETRACE определяет значения совокупности параметров, относящихся к контуру, а также создает описание самого контура в форме списка векторов, представленных глобальными переменными.
Определение значений ХМ АХ, XMIN, YMAX, YMIN сделано необязательным. Если оно желательно, следует установить признак слова EDGEF-LAG (т.е. сделать значение соответствующего слова ненулевым). Точно так же с помощью признака CHAINFLAG можно включать и выключать запись значений в счетчик CHAINCOUNT и массив CHAIN.
Цепная запись и основной алгоритм. В настоящей работе точка матрицы, соответствующей образу, считается связанной с другой точкой, если последняя находится в одной из восьми позиций, непосредственно смежных с первой точкой.
Таблица 1.1 — Параметры, определяемые процедурой EDGETRACE
Переменная | Значение | |
PERIMETER | Длина прослеженного контура, положительное целое число | |
AREA | Площадь, ограниченная контуром, положительное целое число | |
ХМАХ XMIN YMAX YMIN | Максимальное и минимальное значения координат точек, принадлежащих контуру, отрицательные целые числа | |
XCENTROID YCENTROID | Координаты центра площади, ограниченной контуром, отрицательные целые числа | |
CHA1NCOUNT | Количество элементарных векторов, составляющих контур, совпадающее с количеством просмотренных граничных точек, отрицательное целое число | |
CHAIN | Упорядоченный массив значений, задающих направления элементарных векторов, составляющих контур. Массив состоит из элементов CHA1NCOUNT | |
Соединение любой пары связанных точек может быть представлено одним из восьми элементарных векторов (рис 1.3), направления которых помечены значениями от —8 до -1 (отрицательные значения взяты для совмещения со схемой индексации ЭВМ PL-516).
Рисунок 1.3 — Определение элементарных векторов [8]
Алгоритм прослеживания границы «обнуляет» значение найденной точки, принадлежащей контуру, до перехода к следующей точке. Таким образом, из матрицы FRAME удаляются прослеженные очерки. Базовая точка поиска перемещается по контуру против часовой стрелки, что при поиске контуров с помощью развертки обеспечивает первое вхождение в контур извне. Войти в контур изнутри можно только в том случае, если он пересекает границу матрицы. При этом процедура EDGETRACE выдаст сообщение об ошибке.
Нет необходимости проверять в каждой точке контура объекта все восемь соседних точек — некоторые из них уже были проверены на предыдущем шаге, когда базовой точкой поиска была предыдущая. До начала локального поиска в зависимости от направления предыдущего вектора устанавливаются переменные SEARCHDIRN (первое проверяемое направление) и ENDDIRN (последнее проверяемое направление).