Помощь в учёбе, очень быстро...
Работаем вместе до победы

Навигация на основе технического зрения

РефератПомощь в написанииУзнать стоимостьмоей работы

Навигационные алгоритмы основаны на распознавании образов. При распознавании образов координаты образа относительно точки «0» изображения в масштабе 1:1 передаются в АРМ диспетчера, где используются для определения координат маркеров на форме приложения и реальных макетов во время демонстрации относительно краёв поля, помеченных специальными метками. также специальными метками помечены сами… Читать ещё >

Навигация на основе технического зрения (реферат, курсовая, диплом, контрольная)

Навигационные алгоритмы основаны на распознавании образов. При распознавании образов координаты образа относительно точки «0» изображения в масштабе 1:1 передаются в АРМ диспетчера, где используются для определения координат маркеров на форме приложения и реальных макетов во время демонстрации относительно краёв поля, помеченных специальными метками. также специальными метками помечены сами макеты.

Программа написана на C++, с использованием открытой библиотеки OpenCV.

Основой программы является алгоритм контурного анализа (КА).

КА позволяет описывать, хранить, сравнивать и производить поиск объектов, представленных в виде своих внешних очертаний — контуров. Предполагается, что контур содержит всю необходимую информацию о форме объекта. Внутренние точки объекта во внимание не принимаются. Это ограничивает область применимости алгоритмов КА, но рассмотрение только контуров позволяет перейти от двумерного пространства изображения — к пространству контуров, и тем самым снизить вычислительную и алгоритмическую сложность. КА позволяет эффективно решать основные проблемы распознавания образов — перенос, поворот и изменение масштаба изображения объекта. Методы КА инвариантны к этим преобразованиям. Сначала определим, что такое контур объекта. Контур — это граница объекта, совокупность точек (пикселов), отделяющих объект от фона. В системах компьютерного зрения используется несколько способов кодирования контура — наиболее известны код Фримена, двумерное кодирование, полигональное кодирование. Но все эти способы кодирования не используются в КА. Вместо этого, в КА контур кодируется последовательностью, состоящей из комплексных чисел. На контуре фиксируется точка, которая называется начальной точкой. Затем, контур обходится (допустим — по часовой стрелке), и каждый вектор смещения записывается комплексным числом a+ib. Где a — смещение точки по оси X, а b — смещение по оси Y. Смещение берется относительно предыдущей точки.

Каждый вектор контура будем называть элементарным вектором (ЭВ). А саму последовательность комплекснозначных чисел — вектор-контуром (ВК).

Вектор-контуры будем обозначать большими греческими буквами, а их элементарные векторы — малыми греческими буквами. Таким образом, вектор-контур Г длины k можно обозначить как.

Навигация на основе технического зрения.

Почему в КА используется именно комплекснозначное кодирование? Потому, что операции над контуром именно как над вектором комплексных чисел обладает замечательными математическими свойствами, по сравнению с другими способами кодирования.

Свойства контуров. Сумма ЭВ замкнутого контура равна нулю. Это тривиально — поскольку элементарные векторы приводят в начальную точку, значит их сумма равна нуль-вектору.

Контур-вектор не зависит от параллельного переноса исходного изображения. Поскольку контур кодируется относительно начальной точки, то этот способ кодирования инвариантен сдвигу исходного контура. Поворот изображения на определенный угол равносилен повороту каждого ЭВ контура на тот же угол.

Изменение начальной точки ведет к циклическому сдвигу ВК. Поскольку ЭВ кодируются относительно предыдущей точки, то понятно, что при изменении начальной точки последовательность ЭВ будет та же самая, но первым ЭВ будет тот, который начинается в начальной точке.

Изменение масштаба исходного изображения можно рассматривать как умножение каждого ЭВ контура на масштабный коэффициент.

Общая последовательность действия при распознавании выглядит так:

Предварительная обработка изображения — сглаживание, фильтрация помех, повышение контраста.

Бинаризация изображения и выделение контуров объектов.

Начальная фильтрация контуров по периметру, площади, коэффициенту формы, фрактальности и так далее.

Приведение контуров к единой длине, сглаживание.

Перебор всех найденных контуров, поиск шаблона, максимально похожего на данный контур.

КА имеет две группы факторов отрицательно влияющих на результаты распознавания. Первая группа факторов связана с проблемой выделения контура на изображениях. Контур — это строго определенная дискретная структура.

Однако большое число реальных изображений имеют объекты, слабо выраженные на окружающем фоне. Объект может не иметь четкой границы, он может быть одинаков по яркости и цвету с фоном, он может быть зашумлен помехами и так далее.

Все эти факторы приводят к тому, что контур либо невозможно выделить вообще, либо он выделяется неправильно, и не соответствует границе объектов. На рисунке справа показано бинаризированное изображение. Небольшие «мостики» между изображением цифры и окружающим фоном делают контур цифры нераспознаваемым методами КА.

Такие случаи очень тяжелы для КА. Ведь КА имеет смысл, только в том случае, когда контур объекта определен однозначно правильно во всех своих точках. Вторая группа факторов, осложняющих КА, связана с принципами контурного анализа. Методы КА предполагают, что контур описывает весь объект целиком, и не допускает никаких пересечений с другими объектами или неполной видимости объекта.

На картинке справа — бинаризированное изображение. Видно, что блик фотографии, идущий горизонтальной чертой, делает буквы неразличимыми для КА.

Таким образом, КА имеет слабую устойчивость к помехам, не допускает пересечения или частичной видимости объекта.

Показать весь текст
Заполнить форму текущей работой