УДК 004.923
РЕКОНСТРУКЦИЯ 3D-СЦЕН ПО НЕРЕКТИФИЦИРОВАННЫМ СТЕРЕОИЗОБРАЖЕНИЯМ С ПРОРЕЖИВАЮЩЕЙ ФИЛЬТРАЦИЕЙ
© 2013 Е.В. Гошин 1-2
1 Самарский государственный аэрокосмический университет 2 Институт систем обработки изображений РАН, Самара
Поступила в редакцию 02.12.2013
В настоящей работе строится алгоритм реконструкции ЗО-сцены, в котором ректификация стереоизображений в явном виде не выполняется. Для этого используются фрагменты небольших размеров, которые задаются непосредственно на эпиполярных линиях. Устранение возникающих при этом ошибок сопоставления фрагментов осуществляется путем прореживающей фильтрации найденных точек. Приведены результаты экспериментов на моделях сцен, подтверждающие повышение качества восстановление ЗО-сцен за счет применения прореживающего фильтра. Ключевые слова: стереоизображения, ЗО реконструкция, сопоставление изображений.
ВВЕДЕНИЕ
Рассматривается задача реконструкции 3D-сцены по стереопаре изображений. При решении этой задачи обычно на парах стереоизображений определяют соответствующие эпиполяр-ные линии и соответствующие точки, а затем вычисляются координаты прообраза этих точек в трехмерном пространстве. Для упрощения поиска соответствующих точек, обычно, с использованием заданной или вычисленной по заданным тестовым точкам фундаментальной матрицы [1, 2] осуществляют ректификацию (rectification) стереоизображений. Используется один из двух методов ректификации: планарная (проективная) и полярная ректификация [3, 4].
При планарной ректификации осуществляют проективное преобразование изображений таким образом, чтобы соответствующие эпипо-лярные линии находились на одних и тех же горизонтальных прямых, параллельных сторонам изображения. Вопросам построения методов пла-нарной ректификации посвящены, например, работы [5], [6]. Планарная ректификация оказывается неприемлемой в случае, когда эпиполюсы расположены на изображениях, либо близки к изображениям.
Альтернативой являются методы, использующие полярную ректификацию [4]. Этот метод работоспособен даже в случае, когда эпиполюсы находятся на изображении. Например, в работе [7] метод полярной ректификации развит для случая, когда один эпиполюс находится на изображении, а другой - в бесконечности. Заметим, что при этом не вносятся искажения, связанные с проективными преобразованиями.
Гошин Егор Вячеславович, аспирант кафедры общей информатики. E-mail: [email protected].
Тем не менее, окно для поиска соответствующих точек должно быть достаточно большим, чтобы однозначно определять различия в характере распределения яркостей на фрагментах [8]. Увеличение сравниваемых фрагментов может приводить к снижению точности в определении координат соответствующих точек, т.к. становятся заметными проективные искажения самих фрагментов. При смещении соответствующих точек на стереоизображениях лучи, на пересечении которых находится искомая точка в трехмерном пространстве, также оказываются смещенными и не пересекаются. Связанные с этой проблемой трудности триангуляции рассматривались в работе [9].
В настоящей работе строится алгоритм реконструкции 3О-сцены, в котором ректификация в явном виде не выполняется. Координаты соответствующих точек определяются в ближайших к ним точках на эпиполярных линиях. Для этого используются фрагменты небольших размеров, которые задаются непосредственно на эпиполяр-ных линиях. Это позволяет повысить точность определения отдельных соответствующих точек. Для устранения возникающих при этом ошибок сопоставления фрагментов осуществляется прореживающая фильтрация найденных точек.
1. ПОСТАНОВКА ЗАДАЧА
Предполагается, что стереоизображения формируются видеокамерами с известными параметрами. В частности, известны направления их главных оптических осей и координаты С1, С2, центров камер в глобальной системе координат. Полагаем, что в этих точках расположены центры систем координат первой и второй камеры, а
1 = Г^ , I I Т, 12 = Гг2 , г2 г2 7
1 I 1,*' 1,у, 1,2 I ' 2 I 2,* 5 2,у, 2,2 I
- координаты начала глобальной системы координат в системах координат первой и второй камер соответственно, определяемые как
1 =-Н1е1, (1)
12 = -К2С2 , (2)
где К13 К2 - матрицы размерности 3 X 3 , описывающие поворот систем координат первой и второй камер относительно глобальной.
Параметры камер также известны и описываются матрицами:
" /1 0 и10
К1 = 0 /1 ^10 , (3)
0 0 1
" /2 0 и 20
К 2 = 0 /2 % , (4)
0 0 1
где /, / = 1,2 - фокусные расстояния камер, (и0, У0), / = 1,2 - координаты главных точек камер в системах координат, связанных с камерами [10].
Если для некоторой точки М сцены известны координаты соответствующих точек на изображениях первого и второго видов:
к, ял] = т1, [к ^2,1] =
(5)
■2> (6)
координаты [Х,У,1] точки М могут быть определены из соотношений:
X У1 1
2
У2 1
(
1 81
-К^
X У 7
Л
(7)
1
82
= -К 2 К 2
X У 7
(8)
Фигурирующие здесь параметры 81,82 определяются из системы уравнений:
аКХ-1
У1 1
- 8 2 К2К-1
2
У2 1
С2 - е1. (9)
Таким образом, для определения координат точки М трехмерной сцены должны быть известны координаты точек т1, т2 .
Пусть задана некоторая точка т1 на первом изображении, тогда становится известной эпипо-лярная плоскость П^) и соответствующие этой
точке эпиполярные прямые 11, 12. При точном задании матриц проекций соответствующая точка т2 на изображении второй камеры обязана лежать на прямой 12. Вследствие ошибок регистрации изображений, координаты точки т2, которая одним из известных способов [11,12] определена как соответствующая точке т1 , могут отличаться от координат точки т2, притом точка т2 может даже не лежать на прямой 12.
На эпиполярной прямой 12 будем искать точку т2, ближайшую, в заданном смысле, к точке т2. При этом лучи ( е1, т1) и ( е2, т2 ), на пересечении которых находится оценка ММ пространственных координат точки М, будут принадлежать одной эпиполярной плоскости, а реконструкция всей сцены осуществляется путем вычисления множеств точек на совокупности эпи-полярных плоскостей. Поскольку ректификация в явном виде не проводится, это позволяет избежать искажений, вносимых проективным преобразованием, а также снизить вычислительную сложность.
Соответствующие точки ищутся непосредственно вдоль эпиполярных линий исходных изображений. Поскольку различия в характере проективных искажений фрагментов малы лишь в некоторой малой окрестности соответствующих эпиполярных линий, окна для поиска соответствующих точек должны быть небольшими. При этом точность нахождения соответствий большей части точек остается высокой, однако возможны грубые ошибки вследствие похожих распределений яркости на малых фрагментах, находящихся на значительном удалении.
В настоящей работе в рамках указанного подхода исследуется алгоритм повышения надежности определения соответствующих точек путем обработки фильтром, осуществляющим прореживание точек. Это позволяет обеспечить высокую точность и надежность сопоставления стереоизображений даже при отсутствии ректификации.
2. ОПРЕДЕЛЕНИЕ СООТВЕТСТВУЮЩИХ ТОЧЕК
Проективные искажения фрагментов в разных областях изображений, не подвергшихся ректификации, могут существенно различаться. Однако, на малых фрагментах в непосредственной близости от соответствующих точек характеристики этих искажений близки к аффинным. Опираясь на это свойство, предлагается следующая процедура сопоставления [13].
Соответствующие точки будем искать с использованием множеств малых (элементарных) фрагментов, заданных с некоторым шагом на эпиполярных линиях 11 и 12. В качестве элемен-
тарных фрагментов будем задавать окрестности точек, ограниченные квадратами, вершинами которых являются четыре ближайших пикселя изображения. Будем полагать, что расстояние между ближайшими пикселями равно единице, а координаты вершин единичного квадрата заданы в связанной с ним системе отсчета и равны соответственно (0,0), (0,1), (1,0), (1,1).
Пусть (х^ у ) и (х2, у2) - координаты принадлежащих единичным квадратам соответствующих точек, лежащих на эпиполярных линиях 11,12, в системах отсчета, связанных с единичными квадратами. Обозначим / (х,,у1), / (х2,у2) - значения яркости в точках (х1, у1) и, (х2, у2), полученные путем билинейной интерполяции отсчетов в угловых точках единичных квадратов:
/1 (0,0), ¡1 (0,1), / (1,0), / (1,1) и
/2 (0,0), /2 (0,1), /2 (1,0), /2 (1,1). Эти
значения определяются как
/ (х^ У1 ) = а + Ь1Х1 + С1У + й Х1 у, (10)
/ ( Х2 , У2 ) = а2 + Ъ2 Х2 + С2 У2 + й2 Х2 У2 , (11)
где
а = /1 (0,0), а2 = /2 (0,0),
¿1 = /1 (1,0)-/1 (0,0), Ъ2 = /2(1,0)-/2(0,0),
С1 = /1 (0,1)-/1 (0,0), С2 = /2(0,1)-/2(0,0),
й = / (0,0)-/1 (1,0)-/1 (0,1)+/1 (1,1),
й2 = /2 (0,0)-/2 (1,0)-/2 (0,1) + /2 (1,1).
Поскольку эти точки соответствующие,
/(Х1,У1) /(Х2,У2). (12)
При его использования этого приближенного равенства для отыскания соответствующих точек с использованием одного тединичного квадрата возможно большое число ошибок. Поэтому выполнение условия (12) будем проверять для нескольких соседних единичных квадратов, расположенных вдоль соответствующих эпиполяр-ных линий. Такие фрагменты будем называть
составными, а интерполированные значения яркостей в точках (х1,у1), (х2,у2), принадлежащих этим единичным квадратам и лежащих на эпиполярных линиях будем обозначать
/(к) (Х1, У1), /(к) (Х2, У2), к = . Здесь N -
число единичных квадратов (вместе с центральным), включенных в составной фрагмент. На рисунке 1 приведены примеры формирования составных фрагментов на стереоизображениях для девяти заданных точек вдоль эпиполярных линий 11,12.
Наряду с условием (12) для всех точек (единичных квадратов) составного фрагмента, будем сравнивать также характеристики градиентов. В частности, для них будем строить дескрипторы, составленные из значений яркости и норм векторов градиентов:
/(к )(Х1, У), /(к )(Х2, У2 ), к = ,
(13)
/(к) ( Х1 , ) , /(к) ( х2 , У2 )
с(к),
к = 1, N, (14)
вычисленных путем билинейной интерполяции значений этих характеристик в угловых точках соответствующих единичных квадратов. В описания указанных точек будем также включать значения градиентов по направлениям х и у в точках (^у ), (Х2,У2):
%гайх/(к) (х, У1), ^гайу/(к) (Х1, У1), к = . (15)
%гайх/(к) (х2, У2), (к) (х2, У2),
к = (16) Подчеркнем, что при сравнении составных фрагментов на изображениях первого и второго изображений стереопары должен соблюдаться одинаковый порядок следования точек (единичных фрагментов). Заметим, что при этом, в зависимости от шага, возможно попадание нескольких точек на один элементарный фрагмент.
За счет включения в описания составных фрагментов информации о градиентах достига-
Рис. 1. Пример формирования составных фрагментов
ется достаточно высокое качество сопоставления точек, несмотря на малые размеры единичных фрагментов. Тем не менее, при поиске соответствий на всей длине соответствующих эпиполяр-ных линий возможны грубые ошибки. В следующем разделе рассматривается метод повышения надежности определения соответствующих точек применением, так называемого, прореживающего фильтра.
2. ПРОРЕЖИВАЮЩАЯ ФИЛЬТРАЦИЯ СООТВЕТСТВУЮЩИХ ТОЧЕК
Предположим, что на заданной паре соответствующих эпиполярных линий 11,12 заданы соответственно N и M точек. Перенумеруем эти точки в порядке возрастания в направлениях одинаковой ориентации изображений. В результате получаем две последовательности натуральных чисел: В1 - для эпиполярной линии 11 и В2 - для эпиполярной линии /2. При решении задачи нахождения соответственных точек каждому числу из последовательности В1 путем сравнения описаний (12) - (16) соответствующих составных фрагментов должно быть поставлено в соответствие некоторое число из последовательности В2. Сопоставление точек производится в три этапа.
Первый этап - предварительное сопоставление с порогом . В результате предварительного сопоставления формируется последовательность С длины N следующим образом. Пусть (I)€ В1 и (7)е В2 - соответствующие для заданного порога точки, тогда С (|) = ]. Если же при указанном пороге ^ для точки (| )€ В1 соответствующая точка не найдена, полагают С (I) = 0 . В результате реализации описанной процедуры будет сформирована последовательность С длины N неотрицательных целых чисел из интервала [1^], среди которых будут нули, означающие неопределенность сопоставления. Порог ^ задается так, чтобы минимизировать число ложных соответствующих точек. Тем не менее, ложные соответствия будут присутствовать, поскольку на данном этапе поиск осуществляется вдоль всей длины эпиполярных линий.
Второй этап - удаление ложных соответствий. Процедура этого этапа опирается на предположение, что относительное расположения объектов сцены и порядок следования принадлежащих им соответствующих точек на обоих видах стереопары совпадает. Это предположение не является ограничительным и может нарушаться лишь при больших различиях в направлениях оптических осей камер, когда поиск соответствующих точек практически невозможен. Вместе с тем, использование указанного
свойства позволяет исключить ложные соответствующие точки.
Действительно, если из последовательности С исключить нулевые значения, образованная таким образом новая последовательность С' при отсутствии ошибок в сопоставлении точек обязана быть монотонно неубывающей. Элементы последовательности С , не отвечающие этому требованию, устраняются из нее путем применения прореживающего фильтра. Прореживающий фильтр строится следующим образом. При каждом положении текущего окна проверяется: является ли текущий отрезок последовательности неубывающим вариационным рядом. Если это свойство выполняется, осуществляется переход к следующему положению окна, если нет, то элемент, занимающий позицию среднего вариационного ряда, но не являющийся таковым заменяется нулем:
с. = I
(17)
.0, с' Ф С.. '
В завершение этого этапа из последовательности С формируется последовательность С, путем замены ненулевых элементов значениями, полученными в результате фильтрации (17).
В результате реализации второго этапа обработки большая часть ложных соответствий будет устранена. Однако при этом может быть удалена и некоторая часть верных соответствий. Для восстановления потерянных и установления ранее не найденных соответствий реализуется третий этап сопоставления точек, соответствующих нулевым элементам последовательности Ё.
Для каждого нулевого элемента последовательности: с(|)€ Ё проверяются значения эле-
Л л
ментов с (| — к) и с (| + к) «слева» и «справа» на некотором расстоянии к от него. Если для некоторого £ найдены ненулевые элементы, осуществляется поиск соответствия точке (|)€ В1 среди точек (7)е В2, где ] находится в интервале с (| — к) — 7 — с (| + к). Поскольку на
данном этапе поиск соответствующих точек ограничен малыми участками эпиполярных линий, порог ¿2 устанавливается существенно ниже порога ^ без опасения появления большого числа ложных точек. Для более полного заполнения отрезков с нулями номерами соответствующих точек описанная процедура может быть повторена с разными значениями к и «снижающимся» порогом.
3. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТА
Ниже приводятся результаты экспериментов на моделях сцен, подтверждающие существенное повышение качества восстановление ЭЭ-сцен за счет применения прореживающего фильтра. В частности, приведен пример реализации описанной технологии реконструкции ЭЭ-сцены с использованием дескрипторов (12) - (16). В эксперименте использовались следующие характеристики камер.
"400 0 400
К1 = К 2 = К = 0 400 300
0 0 1
"1 0 0" "1 0 0
»1 = 0 1 0 , »2 = 0 1 0
0 0 1 0 0 1
"0" "—1.25"
С1 = 0 , С2 = 0
0 —1.25
Для этих параметров камер была рассчитана фундаментальная матрица:
Г =
—2.3547-10-6 2.7556-10-5 0.3060
—2.1150-10-5 1.7663-10-6 —6.6007-10-2
0.3060 6.1850-10 2 1
Эта матрица использовалась для формирования эпиполярных линий на изображениях.
На рис. 2 приведена исходная смоделированная сцена. На рис. 3(а,б) приведены результаты
реконструкции ЭЭ-сцены с использованием дескрипторов (10)-(14) до и после обработки прореживающим фильтром. В качестве параметров для сопоставления были выбраны следующие значения:
• исходный порог для сопоставления \ = 30.0;
• размер окна фильтрации 11 пикселов;
порог при повторном сопоставлении \ = 80.0;
параметр к для выбора границ сопоставления последовательно принимает значения 16, 8, 4, 2, 1;
ЗАКЛЮЧЕНИЕ
Предлагаемый алгоритм фильтрации соответственных точек и последующее более надежное сопоставление позволяет компенсировать неточность исходного сопоставления. Результаты экспериментов показывают, что предложенная технология позволяет получить более высокое высокое качество реконструкции сцены. В частности, происходит значительное уменьшение количества ложных сопоставлений, что влечет за собой устранение «шумовых» точек сцены. Последующее сопоставление, в свою очередь, позволяет заполнить участки сцены, которые не были сформированы при обработке с предыдущим порогом.
БЛАГОДАРНОСТИ
Автор выражает благодарность научному руководителю, д.т.н., профессору Фурсову В.А. за помощь при подготовке настоящей работы и ряд важных замечаний.
Работа выполнена при поддержке РФФИ (проекты № 12-07-00581, № 13-07-12030 офи_м, № 13-07-13166).
Рис. 2. Исходная сцена, полученная моделированием
а) б)
Рис. 3. Пример реконструкции ЗЭ-сцены: с использованием дескрипторов (12)-(16); б - то же с последующей обработкой прореживающим фильтром
а -
СПИСОК ЛИТЕРАТУРЫ
1. Fursov V., Goshin Ye. Conformed Identification of the Fundamental Matrix in the Problem of a Scene Reconstruction, using Stereo Images // Image Mining. Theory and Applications. Proceedings of IMTA-4 2013, 2013. P. 29-37.
2. Фурсов В.А., Гошин Е.В. Метод согласованной идентификации в задаче определения соответственных точек на изображениях // Компьютерная оптика. 2012. Том 36. №1. С. 131-135.
3. Hartley R.I. Theory and Practice of Projective Rectification / / International Journal of Computer Vision, 1999. Vol. 35. P. 115-127.
4. Pollefeys M. A simple and ef?cient recti?cation method for general motion // The Proceedings of the 7th IEEE International Conference on Computer Vision, 1999. Vol. 1. P. 496-501.
5. Three-step image rectification / P. Monasse, J. -M. Morel, Z. Tang // Proceedings of the British Machine Vision Conference. 2010. Vol. 19. P. 89.1-89.10.
6. Stereo recti?cation of uncalibrated and heterogeneous images / S. Kumar, C. Micheloni, C. Piciarelli, G.L. Foresti / / Pattern Recognition Letters, 2010. Vol. 31. P 1445-1452.
7. Haming, K., Peters G. Extension of the Generalized Image Rectification - Catching the Infinity Cases // 4 th International Conference on Informatics in Control, Automation, and Robotics (ICINCO 2007). 2007. P. 275-279.
8. Baha N., Larabi S. Accurate real-time disparity map computation based on variable support window / / International Journal of Artificial Intelligence & Applications (IJAIA), 2011. Vol. 2. P. 22-34.
9. Hartley R.I. Sturm P. Triangulation // Computer vision and image understanding, 1997. Vol. 68. P. 146-157.
10. Цифровая обработка изображений в информационных системах: учебное пособие / И.С. Грузман, В.С. Киричук, В.П. Косых, Г.И. Перетягин, А.А. Спектор. Новосибирск: Изд-во НГТУ, 2002. 352 c.
11. Сойфер В.А. Методы компьютерной обработки изображений. М.: ФИЗМАТЛИТ, 2003. 784 с.
12. Желтов С.Ю. и др. Обработка и анализ изображений в задачах машинного зрения. М.: Физматкнига, 2010. 672 с.
13. Реконструкция 3Э-сцен на пучках эпиполярных плоскостей стереоизображений / В.А. Фурсов, Е.В. Гошин, С .А. Бибиков // Мехатроника, автоматизация, управление, 2013. №9 (150). С. 19-24.
3D-SCENE RECONSTRUCTION FROM UNRECTIFIED STEREO IMAGES USING DECIMATION FILTER
© 2013 Ye.V. Goshin1-2
1 Samara State Aerospace University 2 Image Processing Systems Institute of RAS, Samara
In this paper, we propose the algorithm of reconstruction 3D-scene in which rectification of stereo images is not explicitly performed. For this purpose we use the small fragments which are set directly on the epipolar lines. The errors of image matching are eliminated by special filtering of the matches. The results of experiments on models scenes confirming improvement of the recovery 3D-scenes quality are given. Keywords: stereo images, 3D reconstruction, image matching
Yegor Goshin, Post-Graduate Student at the General Informatics Department. E-mail: [email protected]