Научная статья на тему 'Фильтрация данных полученных трёхмерной реконструкцией по ряду изображений'

Фильтрация данных полученных трёхмерной реконструкцией по ряду изображений Текст научной статьи по специальности «Математика»

CC BY
172
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФИЛЬТРАЦИЯ ТРЁХМЕРНЫХ ТОЧЕК / ВЫЧИСЛЕНИЕ ТОЧЕК ФОНА / 3D POINTS FILTERING / FILTERING BACKGROUND

Аннотация научной статьи по математике, автор научной работы — Никитенков В.Л., Ануфриев А.Е.

В данной статье описаны методы фильтрации данных, полученных трёхмерной реконструкцией по ряду изображений. При получении трёхмерных точек по ряду изображений часто вместе с точками интересующего нас объекта попадают точки фона и точки, которые были ошибочно распознаны как похожие (например, точки неба за объектом), поэтому необходимо делать фильтрацию точек фона и объекта до самой трёхмерной реконструкции. Кроме удаления лишних данных для обработки, удаление точек фона до этапа реконструкции приводит к тому, что в алгоритм вычисления трёхмерных точек и параметров камеры не попадают точки с большим соотношением ст/ргх, что приводит к более быстрой сходимости и лучшему решению систем уравнений, описывающих положения камер.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Filtering data obtained by 3D reconstruction from multiple images

In the given article the problem of filtering data obtained by 3D reconstruction from multiple images is considered and methods for solving this problem are represented. For the problem of data clustering from points cloud obtained by 3D reconstruction the noise removal in all steps of reconstruction algorithm is very important.

Текст научной работы на тему «Фильтрация данных полученных трёхмерной реконструкцией по ряду изображений»

Вестник Сыктывкарского университета.

Сер.1. Вып. 1(19). 20Ц

УДК 004.93

ФИЛЬТРАЦИЯ ДАННЫХ, ПОЛУЧЕННЫХ ТРЁХМЕРНОЙ РЕКОНСТРУКЦИЕЙ

ПО РЯДУ ИЗОБРАЖЕНИЙ В. Л. Никитенков, А. Е. Ануфриев

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

1. Введение

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

1. Поиск особых точек на изображениях [7, с. 209-222].

2. Поиск соответствующих точек на соседних изображениях [7, с. 222-234].

© Никитенков В. Л., Ануфриев А. Е., 2014.

3. Вычисление внутренних и внешних параметров камеры [6, с. 155157].

4. Вычисление точек в трёхмерном пространстве с точностью до масштаба.

5. Нахождение масштаба по шаблонному объекту на изображениях.

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

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

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

2. Удаления точек фона на изображении

Будем считать, что объект, который интересует нас на изображении, находится в центре изображения и занимает большую его часть. Выделим из центра изображения его часть 1С размером N х N, где N подбирается эмпирически и в рассматриваемом нами случае окно должно вмещать в себя несколько торцов. Для множества пикселей X = {х\,х2,...,xn},xi = (Ti,gi,bi), где п = N х N, принадлежащих 1С, рассчитаем центры цветовых кластеров и пороги, по которым будем определять, принадлежит ли пиксель цветовому кластеру, методами k-means [3, с. 424-430] или Mixtures of Gaussian [3, 3, с. 430-439]. Обозначим через к — число кластеров, на которое разделим множество X. После применения метода Mixture of Gaussian получим множество центров кластеров М = /Л2, ■ ■ ■, Цк] и ковариационные матрицы для каждого центра Е = {£i, £2> • • • > ^к}> по которым можно оценить достоверность принадлежности пикселя к каждому кластеру. Так как в алгоритме k-means рассчитываются только центры кластеров, то пороги будем рассчитывать по следующей формуле: пусть Х[ = Х21,..., хП[}

подмножество пикселей из X, для которых минимум евклидова расстояния до центров кластеров достигается на центре < I < к, тогда

=

<л{1) 0 О о <тг(2) О О 0 <тг(3)

где ог = — Щ

£

xeXi

))2

(^(З)-х(З))2 (^(З)-х(З))2

Таким образом подобран критерий, по которому можно отнести каждый пиксель изображения либо к фону, либо к объекту. Экспериментально для задачи реконструкции торцов оптимальным числом кластеров было к, равное четырём.

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

Рис. 1. Слева: исходное изображение; справа: отфильтрованное изображение с к, равным 3

3. Фильтрация точек при построении карты глубины

Допустим, что имея ряд изображений {Д, Д,... , 1П} и соответствующие точки между несколькими соседними изображениями, мы оценили внутренние и внешние параметры камер алгоритмами Incremental SFM или Global SFM и с точностью до масштаба знаем координаты центров камер и их повороты в пространстве {[-Ri|ii], [^2^2], • • •, [Rn\tn], гДе Ri е R3x3 и be R3xl.

Зная внешние параметры камер изображений, можно оценить фундаментальную матрицу [1, 241-247] между соседними изображениями и ректифицировать пары изображений, то есть, используя эпиполярные ограничения, преобразовать исходные изображения (рис. 2) так, чтобы соответствующие точки лежали на одинаковых строках изображения (рис. 3).

Рис. 3. Ректифицированные изображения

После выполненного преобразования для каждой точки левого изображения необходимо найти соответствующую точку на правом изображении, но из-за погрешности вычисления фундаментальной матрицы лучше искать соответствия не только на одной строке, но и несколькими строками выше и ниже. В программе, написанной для вычисления плотного облака точек круглых лесоматериалов по карте глубины, был выбран порог для поиска на одну строчку выше и ниже, что дало вполне приемлемый результат. Пусть для некоторых точек из левого изображения мы нашли соответствущие точки на правом изображении, обозначим это множество точек символом Ь = {(х[, у[), (х12, у12),..., (х1п, у1п)}, а соответствующие им точки правого изображения — символом Я = {(хг1,у[), (х^у^), (хп^Уп)}^ тогда, если представить карту глубины как двумерный массив из целых чисел размером 1г х ги, где /г и го — высота и ширина исходных изображений, значения в данном массиве можно представить как

гл ,7 л г / \ Г —2-ъи,(х,у)&С

^^ " | 4 - *{.<*.»> - И.*) е С '

Сама задача построения карты глубины является весьма сложной и ресурсоёмкой, так как требует сравнения большого числа дескрипторов пикселей на соседних изображениях. Простейший способ построения карты глубины — метод normalized cross correlation (NCC) [2], a более точным методом является применение дескрипторов DAISY [1], но применение DAISY требует больших расходов оперативной памяти. Стоит также заметить, что хорошим улучшением в построении карты глубины является предварительное вычисление границ объектов на изображении с помощью краевого фильтра Canny [4] и выделение этих точек в множестве L как устойчивых, так как наиболее вероятно, что в окрестности краевых точек карта глубины вычислена с хорошей точностью.

Допустим, что одним из указанных выше методом мы получили карту глубины, выделили на ней устойчивые краевые точки и применили к карте глубины фильтр Гаусса, или медианный фильтр (рис. 4). На карте глубины, приведенной в примере видно, что поверхность торцов состоит из крупных однородный частей, а фоновые объекты состоят из множества разнородных по глубине частей, чем и можно воспользоваться для дальнейшей фильтрации. Выделим на карте глубины области связности по критерию близости значения глубины для соседних пикселей и отсечём области, меньшие по площади, чем заранее заданный или вычисленный порог. После предыдущего шага добавим к карте глубины ранее выделенные краевые точки (рис. 5), если они были удалены, а затем восстановим соответствующие точки и применим к ним операцию, обратную операции ректификации.

Рис. 4. Исходная карта глубины

Рис. 5. Отфильтрованная карта глубины

4. Фильтрация данных на этапе обработки трёхмерных точек

После вычисления соотвествуюгцих точек на соседних парах изображений внутренних и внешних параметров камер можно применить метод триангуляции и вычислить трёхмерное облако точек Р = {xi,yi,z1),(x2,y2,z2),...,{xn,yn,zn) (рис. 6). Даже после фильтрации на этапах ректификации и построения карты глубины остаются точки фона, которые при дальнейшей кластеризации будут увеличивать время работы алгоритмов, поэтому полезно сделать удаление фоновых объектов до этапа кластеризации. Рассмотрим эту задачу на примере облака точек торцевой стороны круглых лесоматериалов. Основным инструментом на данном этапе будет построение гистограмм плотности точек по осям координат, но данные гистограммы будут зависеть от того, какие повороты были применены к облаку точек в пространстве, поэтому нужно применить к облаку точек повороты так, чтобы ось Y была примерно перпендикулярна плоскости, на которой стоит штабель с лесоматериалами, ось X проходила через плоскость, образованную торцами, и была перпендикулярна оси У, а ось Z была перпендикулярна плоскости OXY.

Первым шагом данного метода будет оценка плоскости, проходящей через поверхности торцов. Для того чтобы устойчиво оценить параметры, воспользуемся методом RANSAC(Random Sample Consensus). Уравнение искомой плоскости выглядит следующим образом:А ■ х + В ■ у+ +С • z + D = 0, тогда оценку параметров А, В, С, D можно описать следующими шагами:

1. Ввести переменные: Ьез1(^иаН1у = 0 — для оценки плоскости, пКега^опв — число итераций для алгоритма, пРоп^в — число точек для оценки параметров плоскости.

2. Пока пКегайош > 0, выполнить следующие действия:

(a) Сделать случайную выборку Р' С Р размером пРснг^в.

(b) Оценить параметры плоскости А>, В>,С>, И/ по выборке Р .

(c) Вычислить количество точек, лежащих близко к плоскости, и записать результат в переменную 1;тр(^иаШу.

(<1) Если 1;тр(^иаШу > Ье81(^иаШу: ЪезК^иаШу = ЬтрЦиаШу\ А = А,;В = В,,С = С>,Б = В,

(е) пКега^опв = пКегаиопв - 1.

Оценка числа итераций и сам метод БА^АС описаны в статье [5]. После применения данного алгоритма получим оценку плоскости, проходящей через торцы. Обозначим полученную плоскость через Ьоху. Далее для оценки необходимых поворотов воспользуемся координатами центров камер 1 ^ г ^ п. Будем считать, что несколько снимков из ряда были сделаны приблизительно на одном уровне от земли, что вполне реализуемо в современных цифровых фотоаппаратах с акселерометром. Тогда из полученных координат камер можно сделать выборку так, чтобы они лежали на одной прямой, методом КАХЭАС. Обозначим эту выборку символом Т. Построим плоскость через выбранные точки, перпендикулярную плоскости Ьоху, и обозначим эту плоскость через Ьохг. За центр координат возьмём точку проекции щ ^ £ на плоскость

Ьоху. За ось У примем перпендикуляр к плоскости Ьохг, так чтобы проекция точек, лежащих в положительной части оси V, лежали в верней части изображения, а точки в отрицательной части лежали в нижней части изображения (имея все параметры камеры, легко найти проекцию трёхмерных точек на плоскость изображений). За ось X возьмём перпендикуляр к плоскости Ьоху, а ось X вычислим как векторное произведение направлющих векторов осей У и Z. Теперь применим к облаку точек смещение и поворот так, чтобы новая система координат совместилась со старой, и получим множество точек, по которому можно строить гистограмму распределения точек и отсекать точки, которые лежат в хвостах распределений (рис. 6, 7).

> - »

Рис. 7. Облако точек с применённым смещением, поворотом и фильтрацией

5. Вывод

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

Список литературы

1. Engin Tola, Vincent Lepetit, Pascal Fua. A Fast Local Descriptor for Dense Matching // Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference, 23-28 June 2008. Pp 1-8. DOI: 10.1109/CVPR.2008.4587673.

2. Charles Loop, Zhengyou Zhang. Computing Rectifying Homographies for Stereo Vision. // Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Vol.1, pages 125—131, June 23-25, 1999. Fort Collins, Colorado, USA.

3. Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006. 738 p.

4. John Canny, A Computational Approach to Edge Detection. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. PAMI-8, NO. 6, NOVEMBER 1986. Pp. 679698.

5. Martin A. Fischler, Robert C. Bolles. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography // Comm. Of the ACM 24: 381—395. DOI: 10.1145/358669.358692

6. Richard Hartley, Andrew Zisserman. Multiple View Geometry in Computer Vision. Cambridge: University Press, 2003. 655 p.

7. Richard Szeliski. Computer Vision: Algorithms and Applications. Springer, 2011. 812 p.

Summary

Nikitenkov V. L., Anufriev A. E. Filtering data obtained by 3D reconstruction from multiple images

In the given article the problem of filtering data obtained by 3D reconstruction from multiple images is considered and methods for solving this problem are represented. For the problem of data clustering from points cloud obtained by 3D reconstruction the noise removal in all steps of reconstruction algorithm is very important. Keywords: 3D points filtering, filtering background.

СыктГУ, ООО "Си Тех"

Поступила 01.11.2014

i Надоели баннеры? Вы всегда можете отключить рекламу.