каждого участка прямой линией, а затем присваивания каждой линии направления, ближайшего к одному из допустимых направлений цепного кода. Важно отметить, что цепной код данной границы зависит от начальной точки. Однако можно нормировать код с помощью простой процедуры. Для создания цепного кода начальная точка на решетке выбирается произвольным образом. Рассматривая цепной код как замкнутую последовательность индексов направлений, мы вновь выбираем начальную точку таким образом, чтобы результирующая последовательность индексов была целым числом, имеющим минимальную величину. Также можно нормировать повороты, если вместо цепного кода рассматривать его первую разность. Первая разность вычисляется в результате отсчитывания (в направлении против часовой стрелки)' числа направлений, разделяющих два соседних элемента кода. Например, первая разность для цепного кода с 4 направлениями 10103322 есть 3133030. Если рассматривать код как замкнутую последовательность, тогда первый элемент разности можно вычислить, используя переход между последним и первым компонентами цепи. В данном примере результатом является 33133030. Нормирование можно осуществить путем разбиения всех границ объекта на одинаковое число равных сегментов и последующей подгонкой длин сегментов кода с целью их соответствия этому разбиению.
Изложенные методы нормирования являются точными только в том случае, когда сами границы инвариантны к повороту и изменению масштаба. Этот случай редко встречается на практике. Например, один и тот же объект, разбитый на элементы в двух различных направлениях, как правило, имеет разную форму границы, причем степень различия пропорциональна разрешающей способности изображения. Этот эффект можно уменьшить, если выбирать длины элементов цепи большими, чем расстояния между пикселами дискретного образа, или же выбирать ориентацию решетки вдоль главных осей кодируемого объекта.
Сигнатурой называется одномерное функциональное представление границы. Известно несколько способов создания сигнатур. Одним из наиболее простых является построение отрезка из центра к границе как функции угла. Очевидно, что такие сигнатуры зависят от периметра области и начальной точки. Нормирование периметра можно осуществить, пронормировав кривую r(q) максимальным значением. Проблему выбора начальной точки можно решить, определив сначала цепной код границы, а затем применив метод, изложенный в предыдущем разделе. Конечно, расстояние, зависящее от угла, не является единственным способом определения сигнатуры. Например, можно провести через границу прямую линию и определить угол между касательной к границе и этой линией как функциюположения вдоль границы. Полученная сигнатура, хотя и отличается от кривой r(q), несет информацию об основных характеристиках формы границы. Например, горизонтальные участки кривой соответствовали бы прямым линиям вдоль границы, поскольку угол касательной здесь постоянен. Один из вариантов этого метода в качестве сигнатуры использует так называемую функцию плотности наклона. Эта функция представляет собой гистограмму значений угла касательной. Поскольку гистограмма является мерой концентрации величин, функция плотности наклона строго соответствует участкам границы с постоянными углами касательной (прямые или почти прямые участкии имеет глубокие провалы для участков, соответствующих быстрому изменению углов (выступы или другие виды изгибов).
3.1.3.Аппроксимация многоугольниками.
Дискретную границу с произвольной точностью можно аппроксимировать многоугольниками. Для замкнутой кривой аппроксимация является точной, когда число сегментов в многоугольнике равно числу точек границы, так что каждая пара соседних точек определяет сегмент многоугольника. На практике целью аппроксимации многоугольниками является качественное определение формы границы с помощью минимального числа многоугольных сегментов. Хотя обычно эта проблема нетривиальна и довольно быстро сводится к итеративному поиску, требующему больших временных затрат, имеется ряд методов аппроксимации многоугольниками, относительная простота которых и требования к обработке данных делают их пригодными для приложений в области технического зрения роботов.
В задаче аппроксимации многоугольниками применяются методы объединения, основанные на ошибке или других критериях. Один из подходов состоит в соединении точек границы линией по методу наименьших квадратов. Линия проводится до тех пор, пока ошибка аппроксимации не превысит ранее заданный порог. Когда порог превышается, параметры линии заносятся в память, ошибка полагается равной нулю и процедура повторяется; новые точки границы соединяются до тех пор, пока ошибка снова не превысит порог. В конце процедуры образуются вершины многоугольника в результате пересечения соседних линий. Одна из основных трудностей, связанная с этим подходом, состоит в том, что эти вершины обычно не соответствуют изгибам границы (таким, как углы), поскольку новая линия начинается только тогда, когда ошибка превысит порог. Если, например, длинная прямая линия пересекает угол, то числом (зависящим от порога) точек, построенных после пересечения, можно пренебречь ранее, чем будет превышено значение порогового уровня. Однако для устранения этой трудности наряду с методами объединения можно использовать методы разбиения.
Один из методов разбиения сегментов границы состоит в последовательном делении сегмента на две части до тех пор, пока удовлетворяется заданный критерий. Например, можно потребовать, чтобы максимальная длина перпендикуляра, проведенного от сегмента границы к линии, соединяющей две крайние точки этого сегмента, не превышала ранее установленного значения порогового уровня. Если это имеет место, наиболее дальняя точка становится вершиной, разделяя, таким образом, исходный сегмент на два подсегмента. Этот метод обладает тем преимуществом, что он адаптирован к наиболее подходящим точкам изгиба. Для замкнутой границы наилучшей начальной парой точек обычно являются точки, наиболее удаленные от границы.
Область, представляющую интерес, можно описать формой ее границы или же путем задания ее характеристик. Важно отметить, что методы, рассмотренные выше, применяются для описания областей.
3.2.1.Некоторые простые дескрипторы.
Существующие системы технического зрения основываются на довольно простых дескрипторах области, что делает их более привлекательными с вычислительной точки зрения. Как следует ожидать, применение этих дескрипторов ограничено ситуациями, в которых представляющие интерес объекты различаются настолько, что для их идентификации достаточно несколько основных дескрипторов.
Площадь области определяется как число пикселов, содержащихся в пределах ее границы. Этот дескриптор полезен при сборе информации о взаимном расположении и форме объектов, от которых камера располагается приблизительно на одном и том же расстоянии. Типичным примером может служить распознавание системой технического зрения объектов, движущихся по конвейеру.
Большая и малая оси области полезны для определения ориентации объекта. Отношение длин этих осей, называемое эксцентриситетом области, также является важным дескриптором для описания формы области.
Периметром области называется длина ее границы. Хотя иногда периметр применяется как дескриптор, чаще он используется для определения меры компактности области, равной квадрату периметра, деленному на площадь. Отметим, что компактность является безразмерной величиной (и поэтому инвариантна к изменению масштаба) и минимальной для поверхности, имеющей форму диска.
Связной называется область, в которой любая пара точек может быть соединена кривой, полностью лежащей в этой области. Для множества связных областей (некоторые из них имеют отверстия) в качестве дескриптора полезно использовать число Эйлера, которое определяется как разность между числом связных областей и числом отверстий. Например, числа Эйлера для букв А и В соответственно равны 0 и —1. Другие дескрипторы области рассматриваются ниже.
Во многих случаях идентификацию объектов или областей образа можно осуществить, используя дескрипторы текстуры. Хотя не существует формального определения текстуры, интуитивно этот дескриптор можно рассматривать как описание свойств поверхности (однородность, шероховатость, регулярность). Двумя основными подходами для описания текстуры являются статистический и структурный. Статистические методы дают такие характеристики текстуры, как однородность, шероховатость, зернистость и т. д. Структурные методы устанавливают взаимное расположение элементарных частей образа, как, например, описание текстуры, основанной на регулярном расположении параллельных линий.
Важным подходом для описания вида структуры плоской области является ее представление в виде графа. Во многих случаях для этого определяется схема (скелет) области с помощью так называемых прореживающих (или же сокращающих) алгоритмов. Прореживающие процедуры играют основную роль в широком диапазоне задач компьютерного зрения — от автоматической проверки печатных плат до подсчета асбестовых волокон в воздушных фильтрах. Скелет области можно определить через преобразование средних осей (ПСО), предложенное в работе.ПСО областиR с границей В определяется следующим образом. Для каждой точки р из R мы определяем ближайшую к ней точку, лежащую на В. Если р имеет больше одной такой точки, тогда о ней говорится, что она располагается на средней оси (скелете) области R. Важно отметить, что понятие «ближайшая точка» зависит от определения расстояния, и поэтому на результаты операции ПСО будет влиять выбор метрики. Хотя ПСО дает довольно удовлетворительный скелет области, его прямое применение затруднительно с вычислительной точки зрения, поскольку требуется определение расстояния между каждой точкой области и границы. Был предложен ряд алгоритмов построения средних осей, обладающих большей вычислительной эффективностью. Обычно это алгоритмы прореживания, которые итеративно устраняют из рассмотрения точки контура области так, чтобы выполнялись следующие ограничения: