- •Раздел II. Распознавание образов Введение
- •Глава 1. Общие основы теории распознавания образов
- •1.1. Основные понятия теории распознавания образов
- •1.2. Основные задачи, возникающие при разработке систем распознавания образов
- •1.3. Основные принципы построения систем распознавания
- •1. Принцип перечисления членов класса
- •2. Принцип общности свойств
- •3. Принцип кластеризации
- •1. Эвристические методы
- •2. Математические методы
- •3. Лингвистические (синтаксические) методы
- •Глава 2. Решающие функции
- •2.1. Общие понятия
- •2.2. Линейные решающие функции
- •Глава 3. Классификаторы образов с самообучением
- •3.1. Классификация образов с помощью функций расстояния
- •3.2. Классификация образов по критерию минимума расстояния
- •1. Случай единственности эталона
- •2. Множественность эталонов
- •3.3. Обобщение принципов классификации по минимуму расстояния
- •Глава 4. Распознавание образов с помощью кластеров
- •4.1. Основные понятия кластерного анализа
- •4.2. Расстояние между образами и мера близости
- •4.3. Расстояние между кластерами
- •4.4. Функционалы качества разбиения
- •4.5. Иерархические процедуры
- •4.6. Эвристические методы и алгоритмы
- •4.7. Алгоритм k – внутригрупповых средних
- •Глава 5. Обучаемые классификаторы образов. Детерминистский подход
- •5.1. Классификация образов с помощью персептронного подхода
- •5.2. Принцип подкрепления - наказания
- •5.3. Сходимость принципа подкрепления - наказания
- •5.4. Обобщение алгоритма персептрона для классификации нескольких классов
- •Глава 6. Распознавание образов на основании метода потенциальных функций
- •6.1. Получение решающих функций
- •6 .2. Выбор потенциальных функций
- •6.3. Сходимость алгоритмов обучения
- •6.4. Обобщение алгоритма метода потенциальных функций на несколько классов
- •Глава 7. Структурное распознавание образов Введение
- •7.1. Синтаксический подход к распознаванию образов
- •7.2. Система синтаксического распознавания образов
- •7.3. Методы предварительной обработки
- •1. Кодирование и аппроксимация
- •2. Фильтрация, восстановление и улучшение
- •3. Сглаживание
- •4. Сегментация
- •7.4. Языки описания образов
- •1. Выбор непроизводных элементов
- •2 Выделение непроизводных элементов на границах
- •Задание для самостоятельной работы
- •7.5. Языки и порождающие грамматики
- •7.6. Обработка изображений
- •1. Классы изображений
- •2. Ввод изображений
- •3. Преобразование изображений
- •Литература
2 Выделение непроизводных элементов на границах
Множество непроизводных элементов, которые обычно используют для описания границ и остовов, получают по схеме цепного кодирования, предложенной Фрименом [9]. На двумерное изображение накладывают прямоугольную сетку и узлы сетки, которые наиболее близки к точкам изображения, соединяют отрезками прямых. Каждому такому отрезку в соответствии с наклоном присваивают восьмеричное число. Таким образом, изображение представляется цепью (последовательностью) или цепями восьмеричных чисел.
На рис. 7.6 показано множество начальных элементов и кодовая цепочка, описывающая кривую. Эта схема обладает рядом полезных свойств. Например, поворот изображения на угол, кратный 45°, сводится к прибавлению восьмеричного числа (сложение по модулю 8) к каждому числу цепочки. Конечно, при этом изображение может исказиться. Только поворот на угол, кратный 90° , никогда не приводит к искажениям изображения. Изменяя зернистость сетки, накладываемой на изображение, можно получить любое желаемое разрешение. Этот метод не ограничен изображениями с односвязными замкнутыми границами. Его можно применять для описания произвольных двумерных фигур, составленных из прямых и кривых линий и отрезков.
Рис.7.6. Цепной код Фримена. Непроизводные элементы и кодовая цепочка кривой 7600212212
Компьютерный практикум № 5
Целью практикума является разработка алгоритма и реализация программы “Распознавание простых геометрических фигур” (квадрат, треугольник, прямоугольник, круг, эллипс) структурным методом.
Задачами практикума являются:
представление фигур осуществить в виде дерева и измерить время выполнения алгоритма;
представление фигур осуществить в виде кода Фримена и измерить время выполнения алгоритма;
cравнить результаты выполнения программы заданий 1 и 2.
Задание для самостоятельной работы
Разработать алгоритм и реализовать программу ”Распознавание сложных изображений (кораблей) структурным методом”. Представление изображений осуществить в виде кода Фримена.
7.5. Языки и порождающие грамматики
Допустим,
что рассматриваемая задача выделения
непроизводных элементов может быть
удовлетворительно решена. Следующий
шаг состоит в построении грамматики,
порождающей язык для описания исследуемых
образов. При построении структурного
описания объекта, т.е. при порождении
соответствующего языка в рамках выбранной
или заданной грамматики, исходным
элементом служит начальный символ I,
входящий в множество вспомогательных
символов W.
Правило, принадлежащее набору правил
R
данной грамматики, позволяет преобразовать
начальный символ I
в цепочку символов, например,
,
где а
,
что соответствует замене символа I
символами аА.
Некоторые символы этой цепочки могут
входить в множество вспомогательных
символов W, а другие - принадлежать
множеству непроизводных элементов V.
Вспомогательные символы, входящие в
преобразованную цепочку, могут снова
подвергнуться преобразованиям в
соответствии с правилами грамматики,
а вспомогательные символы, появляющиеся
в цепочках, полученных в результате
очередного преобразования, подвергаться
преобразованиям и т.д. Предложение
(язык) считается сформированным, если
представляющая его цепочка содержит
только непроизводные элементы.
Более строго, порождающая грамматика G есть четверка
G=(V,W,I,R),
где V - множество непроизводных элементов;
W - множество вспомогательных символов;
I
-
начальный символ (
);
R - конечное множество правил вывода или правил подстановки.
Язык, порождаемый грамматикой G, есть
.
Считается,
что порождающая грамматика неоднозначна,
если существует цепочка
,
которая может иметь более одного вывода.
Ясно, что в языках описания образов,
следует избегать неоднозначности,
поэтому интересной задачей в этой
области является поиск семейства
однозначных грамматик. Порождающие
грамматики по форме правил подстановки
разделены на четыре типа.
Грамматики типа 0 (неограниченные). Они составляют самый широкий класс и характеризуются отсутствием каких-либо ограничений на вид правил подстановки: любые цепочки могут стоять как слева, так и справа от стрелки. Однако для использования этот класс слишком широк. Языками типа 0 называют языки, порождаемые грамматиками типа 0.
Пример
1.
Эта
неограниченная грамматика порождает
предложение вида
,
где
означает длину цепочки символов.
Например, для порождения цепочки
х=bbсс
мы применим первые четыре правила и
затем последнее, т.е. S=>
аАbс => аbАс => аbВbсс => аВbbсс
=> bbсс
Последнее правило допустимо лишь в неограниченных грамматиках.
Грамматики
типа 1
(грамматики непосредственно составляющих)
характеризуются правилами вида
,
где
.
Эта грамматика допускает замещение
вспомогательного символа А
цепочкой
только в том случае, если А
появляется в контексте
,
составленном из цепочек
Пример 2
порождает
предложение вида
,
где
.
Грамматики
типа 2
(бесконтекстные грамматики) характеризуются
правилами подстановки вида
,
где
.Само
название "бесконтекстная"
указывает на то, что переменная А
может замещаться цепочкой
независимо
от контекста, в котором появляется А.
Пример
3.
Бесконтекстная грамматика
порождает
цепочки вида
,
где
.
Другим методом описания вывода в бесконтекстной грамматике является использование деревьев вывода. Дерево вывода для бесконтекстной грамматики G=(V,W,S,R) может быть построено следующим образом.
Каждая вершина дерева имеет в качестве метки символ из алфавита W и V.
Корень дерева имеет метку S.
Если вершина с меткой А имеет хотя бы одну подчиненную вершину, то .
Если вершины
прямо подчинены вершине n
(с меткой А)
и помечены (слева направо)
,
то правило
должно
.
Пример 4. N=2
Грамматики
типа 3
(автоматные или регулярные) – это
грамматики с правилом подстановок вида
или
,
где
Альтернативными допустимыми правилами
подстановки являются
и
.
Выбор одного из этих двух типов правил
исключает, однако, применение правил
другого типа.
Пример 5. Регулярная грамматика
порождает цепочки из а и b.
Из определений четырех типов грамматики ясно, что каждая автоматная грамматика является бесконтекстной, бесконтекстная грамматика - грамматика непосредственно составляющих, а грамматика непосредственно составляющих принадлежит типу 0. При описании образов цепочками используется лишь одно отношение – конкатенация. Это означает, что каждый подобраз или непроизводный элемент можно сочленять с остальными только один раз слева. Для описания двухмерных или трехмерных образов это одномерное отношение недостаточно эффективно. Естественно применить более общий формализм, включающий другие полезные отношения.
Пусть
R – множество n-арных
отношений (n>1).
Тот факт, что непроизводные элементы
удовлетворяют отношению
обозначают через
.
Например, запись ТРЕУГОЛЬНИК (а,
b ,с)
означает, что три отрезка линии а,
b,
с,
удовлетворяют тренарному отношению
ТРЕУГОЛЬНИК, а запись НАД (Х,
Y)
означает, что элемент X
находится над элементом Y.
Рассмотрим пример, иллюстрирующий
применение этого формализма к описанию
образов.
Пример 6. Математическое выражение (а+b)/с может быть описано предложением: НАД ( НАД ( СЛЕВА (а , СЛЕВА (+, b)), - ), с),
где запись СЛЕВА (Х,Y) означает, что элемент X находится слева от элемента Y .
Для описания двумерных отношений используется и другая полезная методика, основанная на древовидных структурах.
Дерево – это конечное множество, состоящее из одного или более узлов, таких что
существует один выделенный узел, называемый корнем дерева;
остальные узлы разделены на m>=0 непересекающихся множеств, каждое из которых в свою очередь является деревом.
Эти деревья называются поддеревьями корня. Представление образа в виде дерева называется деревом образа.
Использование деревьев для описания многомерных структур довольно простая процедура. В сущности, любая иерархическая упорядоченная схема ведет к представлению объекта в виде дерева. Например, пусть упорядочение состоит в группировке областей, где область b находится в области а, в свою очередь находящейся в области г (рис. 7.7). Обозначив корень дерева символом r, получаем древовидную структуру:
Рис. 7.7
Поиск непроизводных элементов, представляющих интерес для анализа двумерных объектов, может оказаться сложной задачей. Успешные исследования в этой области связаны с объектами, сводимыми к структурам типа графов. В 70-х годах прошедшего века был разработан язык описания изображений PDL (Picture Description Language) [7]. В этом языке определены следующие непроизводные элементы
Непроизводный элемент может примыкать к другим непроизводным элементам только в своей хвостовой и/или головной точке. На основании этой допустимой формы соединения, а также вследствие того, что каждый непроизводный элемент обобщается до ориентированного отрезка прямой, очевидно, что структуры языка PDL представляют собой ориентированные графы. Для обработки этих структур можно использовать формальные грамматики. Принцип действия языка PDL иллюстрирует пример 7.
Пример 7. Рассмотрим простую грамматику языка PDL.
,
где V={a
, b ,c →, d ↓}
~
Здесь (~d) означает перемену мест головной и хвостовой точек непроизводного элемента d. Применение первого правила подстановки приводит к получению непроизводного элемента d, сопровождаемого еще не определенной переменной. На этом этапе известно, что хвостовая точка структуры, представленной символом А1, будет связана с головной точкой элемента d, потому что он сопровождается оператором «+». Переменная А1 разлагается на с+А2, причем А2 разлагается на ~d*А3. Результаты применения первых трех правил подстановки приведены на рис. 7.8. а, б, в. На рис. 7.8 введены следующие обозначения: h – head (голова), t – tail (хвост).
Рис. 7.8. Шаги построения структуры в языке PDL
Из определения оператора «*» мы знаем, что при разложении элемента А3 происходит его соединение с составной структурой, показанной на рис. 7.8 в, путем присоединения хвостовых точек к хвостовым, а головных к головным. Конечный результат, полученный после применения всех правил подстановки, показан на рис. 7.8 е и имеет вид (d+(c+(~d)))*((a+b)*c).
Рассмотренная грамматика языка PDL способна порождать только одну структуру. Число структур можно расширить, если ввести в правила подстановки рекурсивность, т.е. способность переменной замещаться этой же переменной.
Пусть правила подстановки определены следующим образом:
~
Результатом применения этих правил в указанном порядке является структура, изображенная на рис. 7.8 е. Новое множество правил допускает, например, возможность за первым правилом подстановки применять третье, опуская второе. Эти правила позволяют порождать бесконечные структуры посредством многократного замещения переменной этой же переменной. Следует отметить, что увеличение порождающей способности грамматики может оказаться нежелательным. Чрезмерное многообразие приводит к уменьшению различающей мощности применяемых грамматик.
Рассмотрим грамматический разбор изображения, представленного на рис. 7.8 е, с помощью предложенной грамматики. Пусть используется второе множество правил подстановки. Грамматический анализатор, работающий по принципу «сверху вниз» начинает с начального символа I. Он пытается получить интересующий нас объект, применяя правила подстановки данной грамматики. В рассматриваемом случае I заменяется на d+A1. Непроизводный элемент d, сопровождаемый знаком «+», обнаружен, поэтому происходит грамматический разбор элемента А1. Здесь имеются две возможности, поскольку А1 может заменяться при помощи как второго, так и третьего правила. Применение второго правила приводит к успеху, так как первый плюс (+) образа сопровождается символом с. Третье правило этому условию не соответствует. Для того, чтобы разложить элемент А1, следующий за «+» после символа с, необходимо найти правило подстановки вида А1→~d, сопровождающееся «*». Этому условию отвечает третье правило. Продолжая эту процедуру, устанавливаем, что данный образ поддается грамматическому разбору. При наличии двух или более грамматик анализ производится для каждой из них до тех пор, пока образ не идентифицируется. Если исчерпаются возможности грамматики, то образ отклоняется.
