УДК 004.93 О.П. АРХИПОВ, А.И. СОРОКИН O.P/ ARKHIPOV, A.I. SOROKIN

реклама
1
УДК 004.93
О.П. АРХИПОВ, А.И. СОРОКИН
O.P/ ARKHIPOV, A.I. SOROKIN
АЛГОРИТМ ПОИСКА ИДЕНТИЧНЫХ ТОЧЕК НА
СЕГМЕНТИРОВАННЫХ СТЕРЕОСКОПИЧЕСКИХ ИЗОБРАЖЕНИЯХ
ALGORITHM TO SEARCH FOR IDENTICAL POINTS ON A SEGMENTED
STEREOSCOPIC IMAGES
В статье рассматривается один из подходов к решению задачи поиска идентичных точек на
стереоизображениях. Предлагаемый алгоритм основывается на методе минимизации энергии и, частично, на
корреляционном подходе .Представлены используемые типы данных и блок-схема алгоритма. Произведен
анализ результатов работы алгоритма поиска идентичных точек
Ключевые слова: стереоскопия; пиксель; идентичные точки.
The article discusses one of the approaches to the problem of search of identical points on the stereo images.
The proposed algorithm is based on the method of minimization of energy and, in part, on the correlation approach
Predstavleny used data types and the block diagram of the algorithm. The analysis of the results of the algorithm to
search for identical points
Keywords: stereoscopy; pixel; identical points
ВВЕДЕНИЕ
В настоящее время широкое распространение получила трехмерная графика.
Вследствие чего, одним из приоритетных направлений информационных технологий
является качественное и быстрое создание 3D анимации, основанное на использовании
принципа стереоскопии [1, 2]. Стереоскопические изображения получают при съемки сцены
с двух камер, соответствующих глазам наблюдателя [3]. Такой подход позволяет по плоским
изображениям получить трехмерные координаты объекта.Важным препятствием при
реализации данного подхода является поиск идентичных точек на стереопаре.
Проблема поиска идентичных точек заключается в том, что необходимо установить
соответствие между точками на двух стереоскопических изображениях. Сложность,
возникающая при решении данной задачи, связана с тем, что на изображении появляются
новые объекты, происходит перекрытие одних объектов другими, изменяется масштаб,
появляются шумы, изменяется положения объекта на изображении и положение камеры в
трехмерном пространстве и т.д.[4]. Данной проблеме посвящено много работ, но по причине
того, что не найден универсальный алгоритм для решения этой задачи, она остается попрежнему актуальной. Востребованность данного направления обусловлена тем, что
стереозрение используется в таких областях, как поиск изменений в последовательности
изображений, анализ движения, машинное зрение, дистанционный сбор данных.
При работе со стереопарами, происходит смещения пикселя одного изображения,
относительно соответствующего ему пикселя другого изображения [5], что и обуславливает
основные направления развития методов сопоставления изображений. Ниже приведены
основные подходы решения данной задачи.
При корреляционном подходе, происходит сравнение небольшой области вокруг
пикселя, для которого происходит поиск соответствия, с областями на другом изображении
[7]. К недостаткам данного подхода можно отнести невысокое качество результатов.
Методы минимизации энергии, основаны на поиске функции, которая показывает
какие пиксели с одного изображения, ставятся в соответствие пикселям с другого
2
изображения [8]. Данная функция минимизируется при нахождении соответствующих
пикселей. Результаты, полученные на основе методов минимизации энергии, получаются
качественнее, чем при использовании корреляционной функции, но требуют больше
времени.
Кроме, вышеизложенных, основных методов поиска соответствующих точек на
изображении есть и другие. Например, подход, когда изображение разбивается на
фрагменты, между которыми устанавливается соответствие [5], что требует большего
времени для обработки изображений.
В соответствии с НИР «Стереокристалл – П», ОФ ИПИ РАН, целью
рассматриваемого в статье исследования является разработка алгоритма поиска идентичных
точек на сегментированных стереоснимках. Представленный в работе алгоритм
осуществляет поиск идентичных точек на изображениях предварительно сегментированных.
Сегментация осуществляется на основе цветовых характеристик пикселей. Алгоритм
сегментации подробно рассмотрен в статье [6].
ОПИСАНИЕ АЛГОРИТМА ПОИСКА ИДЕНТИЧНЫХ ТОЧЕК
Алгоритм использует стереопару, над которым была произведена сегментация. В
основе алгоритма лежит корреляционный подход, но в отличие от него, в данном методе
вместо пикселей используются сегменты, что увеличивает быстродействие алгоритма.
Основной структурой данных, используемой алгоритмом, является динамические
массивы SgMatrix[0..Ns] и SgMatrix2[0..Ns], где Ns, - количество сегментов на изображении.
Каждый элемент матрицы хранит следующую информацию:
1. Поле IDSegment – представляет собой целое число и указывает на номер текущего
сегмента.
2. Поле Color – содержит цвет сегмента в формате RGB.
3. Поле Center – хранит пространственные координаты x, y центра сегмента.
4. Поле Compare – содержит целые значения, которые показывают на идентичные
сегменты на правом и левом изображениях
5. Поле NearArray – является массивом записью из восьми элементов и хранит
информацию о сегментах, которые лежат вокруг текущего. В нем содержатся теже поля, что
и в SgMatrix, плюс поле EnDistance, в котором храниться расстояние до сегмента, в
окружении которого он лежит.
Массив Palet1 и Palet2 содержаться цвета с левого и правого изображений.
Блок-схема алгоритма поиска идентичных точек представлена на рисунке 1.
3
начало
Нахождение для текущего
сегмента восьми ближайших
Просмотр сегментов из
массива SgMatrix
Поиск индекса цвета сегмента из
SgMatrix в массиве Palet
Просмотр сегментов из
массива SgMatrix2
Поиск индекса цвета сегмента из
SgMatrix2 в массиве Palet
нет
Цветовые
индексы равны
Вычислить расстояния между
центрами сегментов
да
нет
да
Просмотр сегментов из
NearArray в SgMatrix
Расстояние меньше
N пикселей
нет
Поиск индекса цвета сегмента в
массиве Palet
Цветовые
индексы равны
да
Определение в какой
четверти лежит сегмент из
окружения SgMatrix и
SgMatrix2.
Просмотр сегментов из
NearArray в SgMatrix2
Поиск индекса цвета сегмента в
массиве Palet
нет
В одинаковых
четвертях
да
Увеличить счетчик совпавших
сегментов на единицу
нет
В одинаковых
четвертях
да
Отметить сегменты в SgMatrix и
SgMatrix2 как идентичные
конец
Рисунок 1 – Блок-схема алгоритма поиска идентичных точек
4
Блок-схема процедуры
представлена на рисунке 2.
поиска
восьми
ближайших
сегментов
к
текущему
начало
Просмотр сегментов из текущего массива
сегментов
Просмотр сегментов, окружающих текущий
сегмент
Вычисление расстояния от текущего сегмента, до
текущего сегмента из окружения
нет
Расстояние меньше
чем в EnDistance
да
Занесение нового значения в EnvDistance
Заполнение информации о ближайшем сегменте к
текущему
Просмотр сегментов из текущего массива
сегментов
Просмотр сегментов, окружающих текущий
сегмент
Вычисление расстояния от текущего сегмента, до
текущего сегмента из окружения
нет
Расстояние больше чем
расстояние до ближайшего
сегмента, но меньше чем
MaxLennght
да
Занесение нового значения в EnvDistance
Заполнение информации о следующем сегменте
конец
Рисунок 2 – Блок-схема процедуры поиска восьми ближайших сегментов к
текущему
5
В начале работы алгоритма в переменную MaxLength записывается значение равное
размеру изображение по горизонтали, для задания границы поиска восьми ближайших
сегментов к текущему.
Алгоритм поиска идентичных точек на сегментированных изображениях выполняет
следующие действия:
1.
Поиск восьми ближайших сегментов относительно текущего. Перебор всех
сегментов массива SgMatrix, для нахождения ближайшего сегмента к текущему. Нахождение
оставшихся семи сегментов, которые будут располагаться в интервале от первого
найденного до значения MaxLength, Аналогично для SgMatrix2.
2.
Поиск сегментов с идентичными цветами. Просмотр для каждого сегмента
SgMatrix сегментов из SgMatrix2, на предмет цветовой близости. Механизм определения
цветовой близости сегмента рассмотрен в [4]. Если цветовые индексы равны, то шаг 3 иначе
шаг 2.
3.
Вычислить расстояние между центрами сегментов на левом и правом
изображениях и сравнит их. Первоначально происходит выделение областей, с которыми
осуществляется работа – рабочая область. На рисунке 5 она обозначена пунктирным
прямоугольником.
Рисунок 5 – Смещение точек на стереопаре
Берется начальная точка прямоугольника на левом изображении ( X s1;Ys1 ) . Из её
координат вычитаются координаты начальной точки на правом изображении ( X s 2 ;Ys 2 ) .
Таким образом, вычисляется смещение правого изображения относительно левого - ( X d ;Yd ) .
Далее высчитывается расстояние между центрами сегментов ( N X ; NY ) по формуле (1) и (2):
N X  ( X o1  X o 2 )  X d
NY  (Yo1  Yo 2 )  Yd
(1)
(2)
4.
Сравнение для выбранных сегментов, сегментов из окружения. Сравнение
цвета сегментов происходит аналогично шагу 2. Если цветовые индексы равны, то шаг 5
иначе шаг 4.
5.
Проверка, расположения сегментов из окружения. В соответствии с рисунком
6, строится вектор V1 ( V 2 ), началом которого будет центр текущего сегмента ( X N ; YN ) , а
точкой, через которую он проходит ( X K ; YK ) - центр сегмента из окружения. Также, на
рисунке 6 показаны четыре четверти, в которых может располагаться вектор. Его место
расположения определяется путем вычитания координат начала вектора из координат центра
6
сегмента из окружения. Полученные координаты ( X V ; YV ) - показывают расположение
вектора:
( X V ;YV ) - вектор расположен в первой четверти,
( X V ;YV ) - вектор расположен во второй четверти,
( X V ; YV ) - вектор расположен в третьей четверти,
( X V ; YV ) - вектор расположен в четвертой четверти
Рисунок 6 – Проверка идентичности сегментов на левом (а) и на правом (b) изображениях, с)
–вариант, когда сегменты не идентичны
6.
Если сегменты из окружения расположены в одинаковых четвертях, то
увеличиваем счетчик на единицу, иначе шаг 5.
7.
Если значение счетчика больше трех, то обозначить сегменты как идентичные.
РЕЗУЛЬТАТЫ РАБОТЫ АЛГОРИТМА
На рисунке 7 представлен результат работы алгоритма поиска идентичных точек.
Количество идентичных точек найденных на стереопаре составляет 11. Они
отмечены красными прямоугольниками – так называемый центр сегмента, и номером,
который совпадает на левом и правом изображениях и показывает, что данные точки
идентичны.
7
Рисунок 7 – Результаты работы алгоритма: a- исходная стереопара; b – стереопара с
найденными идентичными точками
Также, важно отметить, что точки были получены для сегментов, количество
пикселей в которых не более 50 и расстояние от текущего сегмента, до сегментов из
окружения не превышает 40 пикселей. При изменении данных настроек можно получить
другое количество идентичных точек, которое необходимо для решения конкретной задачи.
ЗАКЛЮЧЕНИЕ
Представленный алгоритм поиска идентичных точек на сегментированных
стереоизображениях производит поиск идентичных точек на стереопаре, представленной на
рисунке 6 a, размером 168×168 пикселей. Данный алгоритм можно использовать для
нахождения идентичных точек натурного объекта с целью создания 3D изображений.
Важно отметить, что количество идентичных точек и их расположение по объекту
зависит от программных параметров и от натурного объекта.
Возникают ситуации, когда точек недостаточно. В этом случае, увеличивая
количество рассматриваемых сегментов, за счет рассмотрения более мелких, можно
существенно повысить количество идентичных точек на стереопаре. Другим способом
увеличения точек может быть пофрагментная сегментация и сопоставление точек на левом и
правом изображениях.
СПИСОК ЛИТЕРАТУРЫ
1.
Архипов О. П., Маньяков Ю. А., Сиротинин Д. О. Метод генерации
виртуальной сетки опорных точек на цветных изображениях // Информационные технологии
в науке, образовании и производстве (ИТНОП): Материалы V Международной научнотехнической конференции (Орел, 17–18 мая 2012). – Орел: Госуниверситет-УНПК, 2012. CDRO
2.
M.Архипов О. П., Маньяков Ю. А., Сиротинин Д. О., Сорокин А. И.
Информационная модель метода пофрагментного анализа и представления изменений
натурного объекта // Информационные системы и технологии, 2012. № 1. С. 17–24.
3.
Валюс, Н. Стереоскопия [Текст]. – АН ССР, 1962. – 379 с.
4.
http://habrahabr.ru/post/106302/ Построение SIFT дескрипторов и задача сопоставления
изображений.
5.
Агарков. А.В. Построение карты диспаратности на основе сравнения графов,
Институт проблем искусственного интеллекта, г. Донецк, Украина , 2006.
6.
Сорокин, А.И. Алгоритм сегментации изображений натурных объектов
[Электронный ресурс] // Сборник докладов 3-ей Школы молодых ученых ИПИ РАН: 11
декабря 2012 г. - Москва, ИПИ РАН, -2012. -С. 55-66.
8
7.
Egnal G., Mintz M., Daniilidis K. Limiting the Search Rang of Correlation Stereo
Using Silhouettes. Proc. of 15th International Conf. on Vision Interface. – 2002. – P. 170-177.
8.
Boykov Yu., Veksler O., Zabih R. A New Algorithm for Energy Minimization with
Discontinuities. EMMCVPR. – 1999. – P. 205-220.
Архипов Олег Петрович
Орловский филиал Федерального государственного бюджетного учреждения науки Института проблем
информатики Российской академии наук, г. Орел
к.т.н., с.н.с, директор ОФ ИПИ РАН,
Тел.: +7 (4862) 33-57-41,
Е-mail: [email protected]
Сорокин Андрей Иванович
9 марта 1987
Орловский филиал Федерального государственного бюджетного учреждения науки Института проблем
информатики Российской академии наук, г. Орел
Магистр прикладной информатики
Тел.:+79103018133
Е-mail: [email protected]
Скачать