Выделение линий на изображениях с помощью преобразований Хафа

Рассмотрение базовых методов обнаружения разрывов яркости: методов обнаружения точек, прямой линии, контура объекта. Анализ алгоритмов обнаружения прямых линий с помощью преобразований Хафа. Выполнение моделирования этих алгоритмов средствами Matlab.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 23.01.2021
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Факультет «Отдел аспирантуры и магистратуры»

Поволжский государственный университет телекоммуникаций и информатики

Кафедра «Информационные системы и технологии»

Выделение линий на изображениях с помощью преобразований Хафа

Щекачева А.В., студент магистратуры

Куляс О.Л., старший научный сотрудник,

кандидат технических наук, доцент

Аннотация

В статье рассматриваются базовые методы обнаружения разрывов яркости: методы обнаружения точек, методы обнаружения прямой линии, методы обнаружения контура объекта. Подробно рассмотрены алгоритмы обнаружения прямых линий с помощью преобразований Хафа. Выполнено моделирование этих алгоритмов средствами Matlab.

Ключевые слова: Сегментация изображений, детекторы контуров, преобразование Хафа, компьютерное моделирование, Matlab.

Abstract

The article discusses the basic methods for detecting brightness gaps: methods for detecting points, methods for detecting a straight line, methods for detecting the contour of an object. Algorithms for detecting straight lines using Hough transformations are considered in detail. These algorithms were simulated using Matlab.

Key words: Image segmentation, edge detectors, Hough transform, computer simulation, Matlab.

Введение

Задача автоматизированной обработки данных стояла перед человечеством ещё со времён появления самих данных. Но только с появлением цифровых форматов хранения этот процесс значительно продвинулся вперёд.

Со временем распространение цифровых форматов изображений дало ещё больший толчок к освоению области автоматической обработки изображений. И к преобразованию Хафа стали обращаться всё чаще.

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

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

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

Обнаружение точек

Наиболее общий способ поиска разрывов заключается в обработке изображения скользящей маской. Для маски размерами 3х3 эта процедура использует вычисление линейной комбинации коэффициентов маски со значениями яркости элементов изображения, накрываемых маской. Отклик Я такой процедуры в каждой точке изображения задаётся выражением:

где гі - это значение яркости пиксела, соответствующего коэффициенту маски w^. Отклик маски присваивается элементу, над которым расположен центр маски [1].

выделение линия изображение хаф

-1

-1

-1

-1

8

-1

-1

-1

-1

Рисунок 1. Маска для обнаружения точек Обнаружение прямой линии

Обнаружение изолированных точек на изображении не представляет большой сложности. Используя маску, представленную на рис. 1, будем считать, что в пикселе под центром маски обнаружена точка, если |Д | >Т, где Т- это неотрицательное пороговое значение.

Следующий уровень сложности заключается в обнаружении линий.

Рисунок 2. Маски для обнаружения линий

Если первую маску перемещать по изображению, то наибольший отклик будет наблюдаться на горизонтальных линиях толщиной в один пиксел. Причем, если яркость фона одинакова, то отклик будет максимальным, когда линия проходит горизонтально через центр маски. Аналогично вторая маска на рис. 2 даст наибольший отклик на линиях, имеющих наклон +45°, третья маска - на вертикальных линиях, а четвёртая - на линиях, имеющих наклон - 45°. Эти направления выделены на масках коэффициентами с наибольшим весом (в данном случае равным 2). Сумма коэффициентов каждой маски равна нулю, что даёт нулевой отклик на областях постоянной яркости.

Обозначим через Я1, Я2, R3 и Я4 отклики масок, показанных на рис. 2 (слева направо). Пусть изображение обрабатывается независимо каждой маской. Если для некоторой точки изображения |^| > |Rj| при всех у Ф і, то эта точка, по-видимому, лежит на линии, которое имеет направление маски і. Например, если в какой-то точке |^1| > |Rj| для у = 2, 3, 4, то эта точка, скорее всего, принадлежит горизонтальной линии [5]. Альтернативная задача заключается в поиске линий, идущих в заданном направлении. В этом случае можно обработать всё изображение соответствующей маской, применяя пороговое преобразование. Другими словами, если необходимо обнаружить все линии на изображении, идущие в заданном направлении, достаточно пройтись этой маской по всему изображению, сравнивая абсолютные значения откликов с заданным порогом. Выделенные таким способом точки, отвечающие наибольшим откликам, будут ближе всего примыкать к линиям (толщиной в один пиксел), направление которых задано выбранной маской.

Обнаружение контура объекта

Наиболее актуальной и востребованной является задача выделения контуров. Протяженный перепад яркости называется контуром. На интуитивном уровне, перепад - это связное множество пикселов, лежащих на границе между двумя областями с разной яркостью.

При поиске контуров используются производные первого и второго порядка. Градиентом двумерной функции/(х,у) называется вектор:

Модуль вектора градиента равен:

Для упрощения вычислений эту функцию иногда приближают следующей формулой:

Эта величина ведёт себя примерно как производные, т.е. она равна нулю в областях с постоянной яркостью и её амплитуда пропорциональна скорости изменения яркости там, где яркость пикселов непостоянна. Часто на практике эту приближенную величину называют «градиентом», что не вполне строго.

Основное свойство вектора градиента заключается в том, что он указывает в сторону максимального роста изменения функции / в точке (х, у). Угол наклона этого вектора равен:

Важно уметь приближать производные Gx и Gy численно.

Вторые производные при обработке изображений работают при вычислении оператора Лапласа. Лапласиан двумерной функции f(x, у) равен [2]:

Основная идея обнаружения контуров базируется на поиске мест изображения, где яркость меняется быстро, с помощью следующих двух общих критериев:

Найти места, где первая производная яркости превосходит по модулю некоторый заранее заданный порог.

Найти места, где вторые производные яркости имеют пересечения нулевого уровня.

В Matlab, с помощью функции IPT edge, можно реализовать несколько оценок производных для использования в приведённых выше критериях. Для некоторых из этих оценок имеется возможность указать, к каким именно перепадам чувствительна данная оценка: к горизонтальным, вертикальным или к перепадам обоих типов. Общий синтаксис этой функции выглядит следующим образом:

где f - это входное изображение, method - одна из оценок, перечисленных в таблице 1, а parameters - дополнительные параметры. Выходом функции служит логический массив g, в котором стоят 1 там, где обнаружены точки перепада на f, и 0 там, где перепады не обнаружены. Аргумент t является необязательным, в него записывается значение порога, которое функция edge использовала для сравнения с градиентами точек изображения. На рис. 3 представлены маски детекторов и реализуемые ими формулы приближения.

Таблица 1

Детектор контура

Основные свойства

Собела

Обнаруживает края с помощью приближений Собела первых производных, заданных на рис. 3.

Превитт

Обнаруживает края с помощью приближений Превитт первых производных, заданных на рис. 3.

Робертса

Обнаруживает края с помощью приближений Робертса первых производных, заданных на рис. 3.

Лапласиан гауссиана

Обнаруживает края, выполняя поиск пересечений нулевого уровня после фильтрации/(х, у) гауссианом.

Пересечения нулевого уровня

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

Канни

Обнаруживает края, выполняя поиск локальных максимумов градиента /(х, у). Градиент вычисляется от гауссиана. Метод использует два порога для нахождения сильных и слабых краёв. Следовательно, этот метод с большей вероятностью обнаруживает настоящие слабые края.

Рисунок 3. Маски детекторов и реализуемые ими формулы приближения для первых производных

Пример обнаружения контуров разными методами приведён на рис. 4.

Рисунок 4. Результаты работы детекторов с параметрами по умолчанию

Обнаружение линий с помощью преобразования Хафа

Рассмотренные ранее методы должны обнаруживать только пикселы, принадлежащие краям и перепадам яркости. Но на практике выделенные пикселы редко относятся только к этой категории в силу многих причин: воздействия шума, разрыва краёв из-за неравномерного освещения и других факторов, которые вносят ложные перепады яркости в изображения. Поэтому за алгоритмом обнаружения краёв обычно следует процедура компоновки выделенных пикселов краёв в настоящие, осмысленные линии и краевые сегменты. Один из подходов к выполнению подобных действий основан на преобразовании Хафа.

Рассмотрим любую точку (х^у;) и все проходящие через неё прямые. Все такие прямые удовлетворяют уравнению у* = а%1 + Ь для произвольных значений а и Ь. Однако если переписать это уравнение в виде Ь = --ах^ + у^ и рассмотреть соответствующую аЬ-плоскость (называемую пространством параметров), то оно задаст единственную прямую для каждой фиксированной координатной пары (х^у^). Более того, другой точке (Х],У]) соответствует своя прямая в пространстве параметров, и эти две прямые пересекаются в некоторой точке (а', Ь'), где а' - это угловой коэффициент, а Ь' - точка пересечения с осью у прямой, проходящей через точки (Х1УУ1) и (Xj,Уj') на ху- плоскости. На самом деле, у каждой точки этой прямой имеется прямая в пространстве параметров, причем все такие прямые пересекаются в точке (а ', Ь').

Рисунок 5. Основные понятия преобразований Хафа

а) Плоскость ху; б) Пространство параметров аЬ

Первый шаг использования преобразования Хафа для обнаружения линий и связывания состоит в нахождении локальных максимумов преобразования. Поиск множества максимумов преобразованием Хафа может быть вполне перспективным. В силу квантования пространства цифрового изображения и пространства параметров, а также по причине того, что края и перепады на типичных изображениях не являются совершенно прямыми, максимумы преобразования Хафа могут достигать более чем в одной ячейке накопления [3]. Эту сложность можно преодолеть с помощью следующей стратегии:

1) Найти ячейку преобразования Хафа, в которой лежит наибольшая величина, и записать её местоположение.

2) Обнулить ячейки в ближайшей окрестности положения, найденного на шаге

3) Повторять шаги 1 и 2 до тех пор, пока желаемое число максимумов не будет найдено, или после достижения заданного порога.

Функция houghpeaks реализует эту стратегию.

После обнаружения множества локальных максимумов преобразования Хафа остаётся определить, есть ли сегменты краёв, проходящие по соответствующим линиям, а также где они начинаются и заканчиваются. Для каждого максимума сначала следует найти положения всех ненулевых пикселов изображения, которые лежат на соответствующих прямых. Для этих целей существует функция houghpixels.

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

1) Повернуть пикселы на угол 90° - 0 так, чтобы они легли примерно вдоль вертикальной прямой.

2) Упорядочить пикселы в порядке возрастания величин их повернутых х- координат.

3) Использовать функцию для определения зазоров (щелей). Заполнить малые зазоры. Это даёт эффект слияния примыкающих сегментов линий, которые разделены малыми промежутками.

4) Возвратить информацию о сегментах линий, которые длиннее некоторой минимальной пороговой длины.

Проведём моделирование с целью выделения объекта интереса, которым является номерная пластина регистрационного знака автомобиля.

Загрузим исходное изображение автомобиля в рабочее пространство МаЙаЬ, рис. 6, а). Полученное на рис. 6, б) бинарное изображение используем для нахождения контуров методом Собела, результат показан на рис 6, в). К контурному изображению применим преобразование Хафа, используя функцию МаЙаЬ. На рис. 6, г) представлен результат преобразований Хафа с максимумами. На рис. 6, д) и 6, е) показаны результаты выделения прямых линий на исходном изображении и на контурном.

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

Рисунок 6. Пример работы программного кода а) Исходное изображение; б) Бинарное изображение; в) Найденные контура на изображении; г) Преобразование Хафа с локальными максимумами; д) Сегменты линий, соответствующие максимумам преобразования Хафа; е) Сегменты линий, соответствующие максимумам преобразования Хафа на контурном изображении

Использованные источники

1. Запрягаев С.А. Программная оболочка для поиска примитивов на изображении - Воронеж, 2008. - № 2. - С. 37-47.

2. Сойфер В.А. Методы компьютерной обработки изображений - М., Физматлит, 2003. - 784 с.

3. Гонсалес Р. Цифровая обработка изображений в среде МАТЬАВ - М., Техносфера, 2006. - 616 с.

4. Форсайт, Д. Компьютерное зрение. Современный подход - М., Издательский дом "Вильямс", 2004. - 928 с.

Размещено на Allbest.ru

...

Подобные документы

  • Основные правила нахождения монохромных изображений. Задача преобразования Хафа. Выделение кривых, образованных точками интереса. Выделение прямых и окружностей на изображении. Модификации преобразования Хафа. Вероятностное и случайное преобразование.

    презентация [127,4 K], добавлен 26.12.2012

  • Обзор существующих алгоритмов для обнаружения лиц. Выравнивание лица с помощью разнообразных фильтров. Использование каскадного классификатора Хаара для поиска лиц на изображении. Распознавание лиц людей с использованием локальных бинарных шаблонов.

    дипломная работа [332,4 K], добавлен 30.09.2016

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

    курсовая работа [2,7 M], добавлен 20.03.2012

  • Словесный, графический, табличный, программный способы представления алгоритма. Основные конструкции в любом алгоритмическом языке. Теория обнаружения, различения и оценивания сигналов. Радиолокационные системы обнаружения. Система распознавания образов.

    презентация [4,8 M], добавлен 09.06.2015

  • Назначение и типы роботов-андроидов. Функции обнаружения объектов в робототехнике; машинное, электромагнитное зрение, датчики препятствий на ИК лучах. Разработка концептуально-функциональной модели робота типа "шагающий" с функцией обнаружения объекта.

    курсовая работа [3,0 M], добавлен 20.12.2012

  • Алгоритмы и стандарты криптографических преобразований. Криптографические преобразования на основе специального программного обеспечения. Метод криптографических преобразований на основе жесткой логики. Аналоги модуля шифрования и дешифрования данных.

    курсовая работа [971,6 K], добавлен 30.01.2018

  • Основы для проведения кластеризации. Использование Data Mining как способа "обнаружения знаний в базах данных". Выбор алгоритмов кластеризации. Получение данных из хранилища базы данных дистанционного практикума. Кластеризация студентов и задач.

    курсовая работа [728,4 K], добавлен 10.07.2017

  • Обобщенная модель процесса обнаружения атак. Обоснование и выбор контролируемых параметров и программного обеспечения для разработки системы обнаружения атак. Основные угрозы и уязвимые места. Использование системы обнаружения атак в коммутируемых сетях.

    дипломная работа [7,7 M], добавлен 21.06.2011

  • Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.

    контрольная работа [135,5 K], добавлен 30.11.2015

  • Анализ инцидентов информационной безопасности. Структура и классификация систем обнаружения вторжений. Разработка и описание сетей Петри, моделирующих СОВ. Расчет времени реакции на атакующее воздействие. Верификация динамической модели обнаружения атак.

    дипломная работа [885,3 K], добавлен 17.07.2016

  • Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.

    курсовая работа [3,9 M], добавлен 22.10.2012

  • Принципы компьютерной стеганографии. Классификация методов сокрытия информации. Популярность метода замены наименьшего значащего бита. Сущность методов расширения палитры и блочного сокрытия. Применение методов в GIF изображениях. Реализация алгоритмов.

    курсовая работа [589,7 K], добавлен 17.02.2013

  • Описание функциональных возможностей технологии Data Mining как процессов обнаружения неизвестных данных. Изучение систем вывода ассоциативных правил и механизмов нейросетевых алгоритмов. Описание алгоритмов кластеризации и сфер применения Data Mining.

    контрольная работа [208,4 K], добавлен 14.06.2013

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

    курсовая работа [1,7 M], добавлен 12.06.2016

  • Теоретико-методологические основы моделирования интеграционных экспертных систем. Направления повышения эффективности адаптивных систем обнаружения сетевых аномалий. Математическая реализация модели адаптивных систем обнаружения сетевых аномалий.

    дипломная работа [5,1 M], добавлен 03.01.2023

  • Классификация сетевых атак по уровню модели OSI, по типу, по местоположению злоумышленника и атакуемого объекта. Проблема безопасности IP-сетей. Угрозы и уязвимости беспроводных сетей. Классификация систем обнаружения атак IDS. Концепция XSpider.

    курсовая работа [508,3 K], добавлен 04.11.2014

  • Общие требования к изображению отрезка с помощью цифрового дифференциального анализатора. Сравнительный анализ обычного и несимметричного алгоритмов и алгоритма Брезенхема для генерации векторов (соединения двух точек изображения отрезком прямой).

    презентация [65,3 K], добавлен 14.08.2013

  • Факторизация натурального числа. Метод квадратичного решета. Факторизация с помощью эллиптических кривых. Реализация алгоритмов натуральных чисел и оценка их эффективности. Применение алгоритмов факторизации натуральных чисел в программной среде Maple.

    курсовая работа [851,6 K], добавлен 25.06.2013

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

    презентация [361,6 K], добавлен 14.08.2013

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

    курсовая работа [432,2 K], добавлен 16.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.