Назад в библиотеку

Методы обработки изображения для выделения заранее определенных меток и маркеров

Автор: М. В. Лапин
Источник: Труды молодых ученых Алтайского государственного университета. – 2019. – № 16. – С. 170-173.

Аннотация

В работе представлены методы перевода изображения в градации серого, бинаризации и выделения границ на изображении. Описан процесс пространственной фильтрации. Проведено сравнение операторов Робертса, Превитта и Собеля. Описан метод Канни, алгоритм подавления не-максимумов, алгоритм двойной пороговой фильтрации и трассировки областей неоднозначности. Проведен разбор алгоритма преобразования Хаффа.

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

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

  1. представить изображение в черно-белом формате;
  2. провести бинаризацию (если требуется);
  3. провести поиск контуров на изображении;
  4. провести аппроксимацию контуров;
  5. осуществить поиск маркеров;
  6. преобразовать координаты для чтения метки.

В представленной работе рассмотрены основные алгоритмы подготовки изображения для детектирования меток.

Перевод изображения в градации серого

Для перевода изображения в градации серого воспользуемся формулой:

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

Выделение границ на изображении

С помощью пространственной фильтрации исходного изображения определенными матрицами вычисляются приближенные значения производных по вертикали и горизонтали: Gx и Gy.

Для каждого пикселя вычисляется приближенное значение величины градиента G и направление градиента θ

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

 Окрестность элемента изображения

Рисунок 1 – Окрестность элемента изображения

Для выделения границ оператором Робертса используются маски размером 2×2:

Данный оператор не имеет четко выраженного центрального элемента, что негативно отражается на результате выполнения фильтрации, но имеет высокую скорость обработки изображения [1].

Для выделения границ оператором Превитта используются маски размером 3×3 [2]:

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

Оператор Собеля в сравнении с другими операторами ярко выделяет границы, а также сглаживает шумы (рис. 2).

Сравнение операторов Собеля, Превитта и Робертса

Рисунок 2 – Сравнение операторов Собеля, Превитта и Робертса

Выделение границ Канни

Алгоритм Канни состоит из следующих пяти шагов:

  1. Сглаживание. Использование размытия для удаления шумов.
  2. Поиск градиентов. Границы отмечаются там, где градиент принимает максимальное значение (используется оператор Собеля).
  3. Подавление не-максимумов. С использованием матрицы направлений градиента и матрицы значений величины градиента толстые линии преобразуются в линии шириной в 1 пиксель
  4. Двойная пороговая фильтрация. Алгоритм Канни использует два пороговых значения фильтрации: если яркость пикселя выше верхней границы — он принимает максимальное значение (граница считается достоверной), если ниже – пиксель подавляется, точки со значением, попадающим в диапазон между порогов, принимают фиксированное среднее значение (они будут уточнены на следующем этапе).
  5. Трассировка области неоднозначности. Итоговые границы определяются путем подавления всех краев, не связанных с определенными (сильными) границами. Упрощенно задача сводится к выделению групп пикселей, получивших на предыдущем этапе промежуточное значение, и отнесению их к границе (если они соединены с одной из установленных границ) или их подавлению (в противном случае). Пиксель добавляется к группе, если он соприкасается с ней по одному из восьми направлений [4, с. 12].

Преобразование Хаффа

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

Прямую на плоскости можно задать следующим образом:

где R – длина перпендикуляра, опущенного на прямую из начала координат, θ – угол между перпендикуляром к прямой и осью Оx.

Через каждую точку (x, y) изображения можно провести несколько прямых, т.е. каждой точке (x, y) изображения соответствует набор точек в фазовом пространстве (R, θ), образующий синусоиду. По самой яркой точке можно определить уравнение прямой [5, с. 396].

Поиск меток обнаружения

После преобразования Хаффа имеются все данные для обнаружения метки на изображении. Для этого у метки имеются специальные маркеры — FP (Find Pattern). Так, например, FP QR-кода и Aztec-кода представляет собой концентрический квадрат, состоящий из трех вложенных квадратов. Соотношение вложенных квадратов всегда одинаковое и равно 3:5:7. Маркер MaxiCode представляет собой шесть вложенных окружностей. Для нахождения данных маркеров можно применить метод сканирующей прямой: сначала сканирование ведется по всем горизонтальным линиям кадра для поиска областей с правильным соотношением перемежения цвета. Затем проводится вертикальное сканирование и находятся центры FP.

Альтернативный метод обработки изображения

У представленного выше алгоритма есть существенный минус: если метка занимает не всю площадь кадра, то производится множество лишних действий, в ходе которых обрабатываются «фоновые» области изображения, что сказывается на производительности. Рассмотрим метод поиска QR-кода. Для уменьшения затрат на обработку ненужных областей необходимо после этапа перевода изображения в двуцветное состояние произвести размытие такой степени, что QR-код превращается в пятно прямоугольной формы. Для этого применим фильтр Гаусса, который дает более равномерное размытие. Элементы матрицы фильтра Гаусса заполняются по формуле:

где (x, y) – позиция элемента в матрице, σ – степень размытия. Параметр σ следует выбирать эмпирическим путем так, чтобы не было ложных срабатываний детектора границ внутри кода и в то же время код не сливался с другими элементами изображения

Затем с помощью детектора границ вырезаем из всего изображения область, содержащую только QR-код, преобразуем координаты и в дальнейшем работаем только с ней (рис. 3). Благодаря этому шагу уменьшается количество обрабатываемых пикселей и количество ложных срабатываний при поиске маркеров. Таким образом время на обработку изображения уменьшается.

Этапы альтернативного метода

Рисунок 3 – Этапы альтернативного метода

Для каждой задачи необходимо подбирать свои алгоритмы обработки изображения, исходя из параметров системы; так, например, предлагаемый альтернативный метод работает, только если вокруг метки есть область контрастного цвета. Но если метка занимает меньше 40% всего изображения, данный метод может снизить время поиска на 30-40%.

Библиографический список

  1. Оператор Робертса // Wikipedia. URL: https://ru.wikipedia.org/wiki/Оператор_Робертса.
  2. Оператор Прюитт // Wikipedia. URL: https://ru.wikipedia.org/wiki/Оператор_Прюитт
  3. Оператор Собеля // Wikipedia. URL: https://ru.wikipedia.org/wiki/Оператор_Собеля.
  4. Живрин Я.Э., Алкзир Н.Б. Методы определения объектов на изображении // Молодой ученый. 2018. №7.
  5. Кунина И.А. Слепая компенсация радиальной дисторсии на одиночном изображении с использованием быстрого преобразования Хафа // Компьютерная оптика. 2016. Т. 40, №3