С целью классификации методов и подходов, используемых в системах технического зрения, зрение разбито на три основных подкласса: зрение низкого, среднего и высокого уровней. Системы технического зрения низкого уровня предназначены для обработки информации с датчиков очувствления.
Эти системы можно отнести к классу «интеллектуальных» машин, если они обладают следующими признаками (признаками интеллектуального поведения):
1) возможностью выделения существенной информации из множества независимых признаков;
2) способностью к обучению на примерах и обобщению этих знаний с целью их применения в новых ситуациях;
3) возможностью восстановления событий по неполной информации;
4) способностью определять цели и формулировать планы для достижения этих целей.
Создание систем технического зрения с такими свойствами для ограниченных видов рабочего пространства в принципе возможно, но характеристики таких систем далеки от возможностей человеческого зрения. В основе технического зрения лежит аналитическая формализация, направленная на решение конкретных задач. Машины с сенсорными характеристиками, близкими к возможностям человека, по-видимому, появятся еще не скоро. Однако отметим, что копирование природы не является единственным решением этой проблемы. Читателю наверняка известны ранние экспериментальные образцы аэропланов с машущими крыльями и другими особенностями полета птиц. Современное решение задачи о полете в пространстве в корне отличается от решений, подсказанных природой. По скорости и достижимой высоте самолеты намного превосходят возможности птиц.
Системы технического зрения среднего уровня связаны с задачами сегментации, описания и распознавания отдельных объектов. Эти задачи охватывают множество подходов, основанных на аналитических представлениях. Системы технического зрения высокого уровня решают проблемы, рассмотренные выше. Для более ясного понимания проблем технического зрения высокого уровня и его связи с техническим зрением низкого и среднего уровней введем ряд ограничений и упростим решаемую задачу.
Сегментацией называется процесс подразделения сцены на составляющие части или объекты. Сегментация является одним из основных элементов работы автоматизированной системы технического зрения, так как именно на этой стадии обработки объекты выделяются из сцены для дальнейшего распознавания и анализа. Алгоритмы сегментации, как правило, основываются на двух фундаментальных принципах: разрывности и подобии. В первом случае основной подход основывается на определении контуров, а во втором — на определении порогового уровня и расширении области. Эти понятия применимы как к статическим, так и к динамическим (зависящим от времени) сценам. В последнем случае движение может служить мощным средством для улучшения работы алгоритмов сегментации.
2.1.Проведение контуров и определение границы
Методы - вычисление градиента, пороговое разделение - определяют разрывы в интенсивности представления образа объекта. В идеальном случае эти методы определяют пикселы, лежащие на границе между объектом и фоном. На практике данный ряд пикселов редко полностью характеризует границу из-за шума, разрывов на границе вследствие неравномерной освещенности и других эффектов, приводящих к размытию изображения. Таким образом, алгоритмы обнаружения контуров сопровождаются процедурами построения границ объектов из соответствующих последовательностей пикселов. Ниже рассмотрено несколько методик, пригодных для этой цели.
Одним из наиболее простых подходов соединения точек контура является анализ характеристик пикселов в небольшой окрестности (например, в окрестности размером 3 X 3 или 5 X 5) каждой точки (х, у) образа, который уже подвергся процедуре обнаружения контура. Все точки, являющиеся подобными (определение критерия подобия дано ниже), соединяются, образуя границу из пикселов, обладающих некоторыми общими свойствами.
При таком анализе для установления подобия пикселов контура необходимо определить:
1 )величину градиента, требуемого для построения контурного пиксела,
2) направление градиента.
Первая характеристика обозначается величинойG{f(x, у)].
Таким образом, пиксел контура с координатами (х', у') подобен по величине в определенной ранее окрестности (х, у) пикселу с координатами (х, у), если справедливо неравенство
где Т—пороговое значение.
Направление градиента устанавливается по углу вектора градиента, определенного в уравнении
где q—угол (относительно оси х), вдоль которого скорость изменения имеет наибольшее значение. Тогда можно сказать, что угол пиксела контура с координатами {х', у') в некоторой окрестности (х, у) подобен углу пиксела с координатами {х, у) при выполнении следующего неравенства:
где А—пороговое значение угла. Необходимо отметить, что направление контура в точке {х, у) в действительности перпендикулярно направлению вектора градиента в этой точке. Однако для сравнения направлений неравенство дает эквивалентные результаты.
Основываясь на этих предположениях, мы соединяем точку в некоторой окрестности (х, у) с пикселом, имеющим координаты (х, у), если удовлетворяются критерии по величине и направлению. Двигаясь от пиксела к пикселу и представляя каждую присоединяемую точку как центр окрестности, процесс повторяется для каждой точки образа. Для установления соответствия между уровнями интенсивности освещения и последовательностями пикселов контура применяется стандартная библиотечная процедура.
Цель состоит в определении размеров прямоугольников, с помощью которых можно построить качественное изображение. Построение таких прямоугольников осуществляется в результате определения строго горизонтальных и вертикальных контуров. Дальнейший процесс состоял в соединении сегментов контура, разделенных небольшими промежутками, и в объединении отдельных коротких сегментов.
2.1.2.Глобальный анализ с помощью преобразования Хоуга.
Рассмотрим метод соединения граничных точек путем определения их расположения на кривой специального вида. Первоначально предполагая, что на плоскости ху образа дано п точек, требуется найти подпоследовательности точек, лежащих на прямых линиях. Одно из возможных решений состоит в построении всех линий, проходящих через каждую пару точек, а затем в нахождении всех подпоследовательностей точек, близких к определенным линиям. Задача, связанная с этой процедурой, заключается в нахождении п(п— 1)/2 ~п2 линий и затем в осуществлении п[п(п—1)]/2 ~п3 сравнений каждой точки со всеми линиями. Этот процесс трудоемок с вычислительной точки зрения за исключением самых простых приложений.
Данную задачу можно решить по-другому, применяя подход, предложенный Хоугом и называемый преобразованием Хоуга. Рассмотрим точку (хiyi) и общее уравнение прямой линии у:= аxi+bi. Имеется бесконечное число линий, проходящихчерез точку(хi yi), но все они удовлетворяют уравнению у:= аxi +biпри различных значениях а и b. Однако, если мы запишем это уравнение в виде b =-хiа+yi и рассмотрим плоскость аb (пространство параметров), тогда мы имеем уравнение одной линии для фиксированной пары чисел (хi yi). Более того, вторая точка (хj, уj) также имеет в пространстве параметров связанную с ней линию, которая пересекает другую линию, связанную с точкой (хi yi) в точке (а', b’), где значения а' и b’—параметры линии, на которой расположены точки(хi yi)и (хj,уj) в плоскости ху. Фактически все точки, расположенные на этой линии, в пространстве параметров будут иметь линии пересечения в точке (а',b’).
Вычислительная привлекательность преобразования Хоуга заключается в разделении пространства параметров на так называемые собирающие элементы , где (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, соответствующих К возможным значениям а. Поскольку имеется п точек образа, процесс состоит из пК вычислительных операций. Поэтому приведенная выше процедура линейна относительно п и имеет меньшее число вычислительных операций, чем процедура, описанная выше, если К<=п.