УДК 004.021
ПОСТРОЕНИЕ SIFT-ДЕСКРИПТОРОВ И НАХОЖДЕНИЕ ОСОБЫХ
ТОЧЕК НА ИЗОБРАЖЕНИЯХ
А.С. Сафонов
Рассматривается общая схема работы алгоритма SIFT.
Ключевые слова: изображение, особые точки, пирамида гауссианов, локальный экстремум.
В отличие от человека, машины не могут сравнить изображения и различить на них какие-либо объекты. Для них это всего лишь набор данных. Но есть способ, который позволяет немного наделить машины способностями распознавания.
Существуют методы, в основе которых лежит сопоставление информации об изображениях. Для каждой точки изображения определяется значение какой-то конкретной функции, а по этим значениям уже строится характеристика изображения, которую можно сравнивать с характеристиками других картин. Но есть проблема. Каждая точка изображения будет вносить свой вклад в характеристику независимо от того, полезный этот вклад или же наоборот вносящий неопределенности, связанные с наличием на изображении шумов, размытия или других дефектов. Поэтому характеристика строится не по всем точкам, а только по так называемым особым точкам (ключевым).
Таким образом, изображения сравниваются по особенным точкам, то есть по сути вместо картин сопоставляются их модели, построенные на основе этих ключевых точек. Особыми точками будут являться лишь те точки изображения, которые с наибольшей вероятностью будут найдены на другом изображении, с котором сравнивается исходное.
Метод нахождения особых точек называется детектором. Проблема заключается в том, что детектор может только определить координаты этих точек, а ведь на сравниваемых изображениях они могут быть различными. Поэтому кроме детекторов используются дескрипторы - это такие идентификаторы особых точек, которые выделяют одну ключевую точку из множества всех остальных таких же точек. То есть алгоритм сравнения изображений сводится к тому, что сначала на них выделяются особые точки и их дескрипторы, потом по этим дескрипторам находятся соответствующие друг другу особые точки, а потом по этим парам ключевых точек сравниваются изображения.
Теперь же рассмотрим то, как выделяются особые точки методом SIFT. Ключевым аспектом в их нахождении здесь является построение пирамиды гауссианов и разностей гауссианов. Гауссиан - это изображение, которое было размыто с помощью фильтра Гаусса. Оно получается следующим образом:
I (х, у, сг) = С (х, у, <т) * / (х, у) (1)
В формуле (1) Ь(х,у,о) - это значение гауссиана в точке с координатами (х,у) и радиусом размытия сг, £(х,у, сг) - гауссово ядро, /(х,у) -значение исходного изображения. Стоит отметить, что гауссово ядро не перемножается на значение исходного изображения, между ними происходит операция свертки.
Разностью гауссианов называется изображение, полученное попик-сельным вычитанием гауссиана изначального изображения из гауссиана, у которого другой радиус размытия (обозначим его как ко)\
Я (х, у, о) = 1 (х, у, ко) - I (х, у, сг) (2)
Далее строится пирамида гауссианов. Для этого все масштабируемые пространства (наборы различных вариаций исходного изображения, сглаженных каким-либо фильтром) делятся на участки, называемые октавами. Есть нюанс, заключающийся в том, что часть масштабируемого пространства, занимаемого следующей октавой, должна быть вдвое больше той части, которая занималась предыдущей. Да и при переходе от одной октавы к следующей размеры изображения в два раза уменьшаются. Понятно, что любая октава будет охватывать бесконечное количество гауссианов изображения, поэтому ограничиваются только некоторым количеством N с определенным шагом по радиусу размытия. Далее достраиваются еще два гауссиана, выходящие за пределы октавы (делается это для того, чтобы можно было проверить изображения на наличие экстремумов, но об этом более подробно будет описано ниже). Масштаб первого изображения следующей октавы равен масштабу изображения из предыдущей октавы с номером N.
Одновременно с пирамидой гауссианов будет строиться и пирамида разностей гауссианов, количество изображений в которой будет на одно меньше, чем в первой. На рис. 1 показано формирование этих пирамид.
Гауссианы
Рис. 1. Получение пирамид гауссианов и разницы гауссианов
183
После построения пирамид определяются особые точки. Точка считается особой, если она является локальным экстремумом разности гаус-сианов. Чтобы было понятно, как это происходит, обратимся к рис. 2.
Рис. 2. Определение особой точки по локальному экстремуму
Если значение разности гауссианов в точке, отмеченной крестом, либо меньше, либо больше всех значений в точках, помеченных кругом, то эта точка является точкой экстремума, то есть особой точкой. То есть каждая точка текущего изображения разницы гауссианов сравнивается со своими восемью соседними точками и с девятью соседними точками, находящимися на уровень старше и младше в пирамиде. Именно поэтому нужны были два дополнительных гауссиана, чтобы можно было провести поиск локальных экстремумов для первого и последнего изображения.
Но на этом поиск особых точек не заканчивается. Далее проводится их проверка, так как не все эти точки пригодны для дальнейшей работы в алгоритме. Для этого нужно определить координаты особой точки с повышенной точностью. Для этого используется аппроксимированние функции разностей гауссианов многочленом Тейлора второго порядка:
дОТ 1 ггд2Б
0Ш = 0 + - х + 1х*шх (3)
В формуле (3) X = (х, у, сг) - вектор смещения точки разложения. Экстремум многочлена Тейлора вычисляется с помощью приравнивания производной к нулю. В результате получится смещение точки найденного экстремума относительно истинного:
д20~1д0
х = эх (4)
Все производные будут вычислены по формулам конечных разностей. Получится система линейных алгебраических уравнений размерностью 3x3, относительно компонент вектора X. Если хотя бы одна из ком-
184
понент вектора X получится больше половины шага сетки в направлении этого вектора, то это говорит о том, что точка экстремума была получена неверно. Тогда нужно передвинуться к соседней точке в направлении указанных компонент. Если для соседней точки повторяется эта ситуация, то надо сдвинуться к следующей точке. Если же таким образом выйти за пределы октавы, то следует исключить такую точку из списка особых.
Когда положение точки экстремума определено, то проводится проверка на малость величины разницы гауссианов в этой точке по формуле (5):
1дОт
0(Х) = 0 + -- (5)
Если эта проверка точкой не будет пройдена, то она тоже исключается из списка особых.
После предыдущих двух проверок производится последняя. Если предполагаемая особая точка лежит на контуре объекта, или же эта точка плохо освещена, то ее тоже следует исключить. Делается это из-за того, что такая точка имеет большой изгиб вдоль границы и малый в перпендикулярном направлении. Большой изгиб является одной из компонент второй производной разницы гауссианов и определяется так называемой матрицей Гессе:
H =
Dxx DXy DxУ Dyy
(6)
Если обозначить через Tr(H) след матрицы, а через Det(H) ее определитель, то можно записать следующие соотношения:
7>(Я) = Dxx + Dyy = а + р (7)
DetÇH) = DxxDyy - Dxy2 = (8)
Если через г обозначить отношение большего изгиба к меньшему,
то:
a = rf] (9)
Тг(Н)2 + Ю2 = W + Ю2 + I)2 Det(H) ар г/?2 г ^ )
Точка будет рассматриваться как особая, если будет выполняться следующее условие:
Tr(H)2 (г + I)2
—< 1-L_ (И)
Det(H) г ^ J
Когда же отсеются ложные особые точки и останутся только истинные, то начинается вычисление их ориентаций. Направление одной ключевой точки определяется из направлений градиентов ее соседних точек. Вы вычисления градиентов происходят на изображении в пирамиде гауссианов. Величина градиента m и направление градиента в в точке с координатами (х, у) определяются так:
ш{х,у) = V(L(* + 1,у) - L(x - 1 ,у))2 + (L(x,y + 1) - L(x,y - l))2 (12)
Первым делом определяется окрестность особой точки, в которой будут рассмотрены градиенты. На практике это будет круглая область радиуса размытия сг, необходимая для свертки с гауссовым ядром. В этом случае радиус о должен быть равен полуторному масштабу особой точки. Для гауссова ядра действует правило «трех сигм», которое заключается в том, что значение гауссова ядра стремится к нулю на расстоянии, превышающем Зсг. Поэтому радиус окрестности особой точки будет равен 3<т.
Направление особой точки можно определить из гистограммы направлений в. Гистограмма состоит из 36 компонент, которые покрывают по 10 градусов от общего промежутка. Формируются эти компоненты так: каждая точка окрестности (х,у) вносит вклад, равный m * G(x,y,a), в ту компоненту гистограммы, которая входит в промежуток, содержащий направление градиента в (х, у).
Направление особой точки лежит в промежутке, который покрывается максимальной компонентой гистограммы. Значение максимальной компоненты и двух соседних с ней интерполируются параболой. Направление особой точки определяется вершиной этой параболы. Если в гистограмме дополнительно есть такие компоненты, которые имеют величины не менее 80% от максимума, то они тоже интерполируются. Тогда особой точке приписываются дополнительные направления.
Теперь что касается дескрипторов. Под дескриптором можно понимать любой объект, который может дать информацию об окрестности особой точки, так как на малые области меньше влияют различные искажения и изменения, а иногда не влияют вовсе.
В методе SIFT дескриптором является вектор. Как и направление особой точки, дескриптор определяется на гауссиане, максимально приближенном по масштабу к особой точке, и исходя из градиентов в некоторой области особой точки. Для начала эта область поворачивается на определенный угол направления особой точки, чем добивается инвариантность относительно операции поворота.
Для дальнейшего объяснения, обратимся к рис. 3.
На левой части рис. 3 квадратами обозначены пиксели, которые берутся из квадратной области дескриптора, которая сама поделена еще на четыре части. Стрелкой в центре каждого пикселя обозначено направление градиента. Кругом же обозначено окно свертки с гауссовым ядром. На правой части рис. 3 схематично изображен дескриптор особой точки, размерности 2x2x8. Первые две цифры говорят о размерности, третья - о количестве компонент гистограммы этих четырех частей.
(13)
Рис. 3. Схематичное представление фрагмента изображения (слева) и полученного на его основе дескриптора (справа)
Каждому градиенту в окне дескриптора можно присвоить три координаты (х,у,п), где х - расстояние до градиента по горизонтали, у - расстояние до градиента по вертикали, п - расстояние до направления градиента в гистограмме. За точку отсчета берется левый нижний угол окна дескриптора и начальное значение гистограммы. За единичные отрезки принимаются размеры частей по горизонтали и вертикали для х и у соответственно, количество градусов в компоненте гистограммы для п.
Дескриптор особой точки состоит их всех полученных гистограмм. На практике используются дескрипторы размерности 4x4x8. Они нормализуются, после чего все компоненты, у которых значение больше 0,2, округляются до 0,2.
В заключении надо сказать, что SIFT дескрипторы имеют ряд недостатков. Не все полученные таким образом точки и их дескрипторы будут отвечать необходимым требованиям. Но это не опровергает того факта, что эти дескрипторы хорошо справляются со своей работой во многих практических задачах.
Список литературы
1. David G. Lowe Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision, 2004. P. 91 -110.
Сафонов Александр Сергеевич, студент, TuaTalf(ci>yandex. ги, Россия, Тула, Тульский государственный университет
BULDING SIFT DESCRIPTORS AND FIND THE SINGULAR POINTS ON THE IMAGE
A.S. Safonov 187
This article discusses the concepts of SIFT algorithm works scheme. Key words: image, singular points, Gaussians pyramid, local extremum
Safonov Alexander Sergeevich, student, [email protected], Russia, Tula, Tula State University
УДК 004.9; 528.87
АВТОМАТИЗИРОВАННЫЙ СИНТЕЗ КАРТЫ ЭКОЛОГИЧЕСКИХ
РИСКОВ В ГИС
А.И. Таганов, А.Н. Колесенков, В.Г. Псоянц, Н.В. Акинина
Предлагается новый подход к повышению оперативности формирования и наглядности отображения картины экологических рисков в ГИС защиты окружающей среды. В основе подхода лежит структурно-символьный метод (ССМ) представления базовых графических моделей (БГМ) экологических рисков, лингвистические правила и грамматика построения БГМ на основе заданного набора контуров, граф связности БГМ и теоретико-множественные операции синтеза карты экологических рисков средствами ГИС. В число основных методов структурного построения электронной базы БГМ в статье рассмотрены: прямой ССМ представления графических моделей экологических рисков; лингвистический метод представления алфавита и моделей экологических рисков; программный и программно-лингвистический методы представления алфавита БГМ экологических рисков.
Ключевые слова: экологический мониторинг, геоинформационная система, ГИС, графический элемент, библиотека, риск, структурно-символьный метод, лингвистический метод, программный метод, программно-лингвистический метод.
Современные геоинформационные системы (ГИС) защиты окружающей среды представляют собой важную группу ГИС, которые обеспечивают сбор, хранение, обработку и анализ пространственных, временных и тематических данных для представления состояния окружающей среды в условиях ее загрязнения [1]. Для повышения оперативности формирования и наглядности отображения картины экологических рисков на компьютерном экране предлагается при проектировании программного обеспечения ГИС использовать ССМ моделирования и отображения экологических рисков [2,3]. Предлагаемый подход заключается в автоматизированном синтезе картины экологических рисков региона на основе использования электронной базы ключевых графических моделей (БГМ) и теоретико-множественных операций преобразования этих БГМ средствами машинной графики ГИС. В связи с этим в статье рассматриваются различные методы построения электронной базы БГМ с использованием ССМ моделирования [4, 5].