УДК 004.932
СОПОСТАВЛЕНИЕ СТЕРЕОИЗОБРАЖЕНИЙ КАК ЗАДАЧА О
НАЗНАЧЕНИИ
© Жук Д.В., Тузиков А.В.
Объединенный Институт Проблем Информатики НАН Беларуси ул. Сурганова, 6, г. Минск, 220012, Беларусь
e-mail: dzhuk@tut.by, tuzikov@newman.bajs-net.by
Abstract. An algorithm for calculating dense disparity map for stereo images is proposed. Stereo correspondence problem is formulated in terms of an assignment problem in this algorithm. The algorithm processes each image scan-line individually similar to a dynamic programming approach to the dense stereo correspondence problem, however unlike dynamic programming, it does not rely on ordering constraint. Ordering constraint elimination is useful for the scenes with narrow objects in front of the camera. The proposed algorithm supports occlusions detection and guaranties uniquness of found matches.
Введение
Задача сопоставления стереоизображений состоит в нахождении точек на стереопаре, которые являются проекциями одной и той же точки пространства. Такие точки называются сопряженными. Диспаратностъю называется сдвиг проекции точки на одном изображении относительно проекции той же точки на другом изображении. Множество всех диспаратностей для двух изображений называется отображением диспаратности. После того, как определены диспаратности, можно реконструировать трехмерную модель изображенной сцены, если известны параметры камер. Таким образом, задача нахождения сопряженных точек на изображениях играет значительную роль в общей задаче восстановления трехмерной модели по нескольким изображениям. Корректность отображения диспаратности является ключевой для успешного построения модели.
Из-за различных неоднозначностей, возникающих в процессе сопоставления (например, невидимость некоторых регионов на одном из изображений, зеркальные отражения, отсутствие текстуры), часто используются ограничения (например, эпипо-лярная геометрия) и предположения (например, одинаковая степень освещенности и гладкость поверхностей). Использование эпиполярной геометрии сводит область поиска соответствий для данной точки к прямой, поэтому эпиполярные ограничения часто используются в различных методах поиска сопряженных точек. Обычно считается, что входные изображения прошли предварительную обработку и являются выпрямленными, чтобы наиболее эффективно использовать эпиполярные ограничения [1].
В зависимости от используемых ограничений, методы поиска сопряженных точек можно разбить на две группы: локальные и глобальные [2]. Ограничения на небольшое количество пикселей в окрестности данного называются локальными ограничениями. Ограничения на строки изображения или изображения целиком называются глобальными ограничениями. Примерами локальных методов являются блочный
метод и методы, использующие характерные особенности изображений (углы, границы), Методы на основе динамического программирования и разрезов в графе — примеры глобальных методов. Локальные методы часто очень эффективны, но чувствительны к локально-неоднозначным областям изображений, таким как регионы с невыраженной текстурой. Глобальные методы, менее чувствительные к таким областям, как правило, более вычислительно емкие.
Блочный метод находит диспаратность в заданной точке изображения путем сравнения небольшой окрестности (шаблона) этой точки с такими же областями другого изображения, лежащими внутри ограниченной области поиска. Для сравнения двух областей часто используются следующие меры: нормированная кросс-корреляция, сумма абсолютных разностей, сумма квадратов разностей, ранговое преобразование. Ограничение данного метода состоит в том, что уникальность соответствий гарантируется только для одного изображения. Однако одна точка другого изображения может соответствовать нескольким точкам исходного изображения. Кроме того, данный метод не определяет точки видимые только на одном из изображений, таким образом находя соответствия для всех точек исходного изображения. Методы, использующие динамическое программирование, находят путь минимальной стоимости в матрице всех попарных стоимостей между двумя соответствующими стоками изображений, В [3] частично видимые области обрабатываются явным образом за счет присвоения соответствующего состояния узлам пути на основании заданной стоимости перекрытия. Данный метод также гарантирует однозначность соответствий. Для возможности применения метода динамического программирования вводится ограничение на порядок следования объектов: если объект А находится слева от объекта В на одном изображении, то А также будет слева от В и на втором изображении. Таким образом, предполагается, что порядок следования соответствующих пикселей сохраняется на обоих изображениях (рис, 1(а)), что в общем случае, например при наличии узких объектов на переднем плане, не так (рис, 1(6)),
Допустим, что пиксели двух строк изображений I (исходное изображение) и V соответствуют, как показано на рис, 2(а). Возможный результат работы блочного метода показан на рис, 2(6): все пиксели исходного изображения имеют соответствие на изображении V из-за отсутствия обработки пикселей, видимых только на одном из изображений, а некоторые пиксели изображения V имеют более одного соответствия, поскольку алгоритм не учитывает ограничения на однозначность соответствий, Огранчение на порядок следования также не позволит алгоритму динамического программирования корректно определить соответствия в рассматриваемом случае: некоторые пиксели могут быть некорректно классифицированы как не имеющие соответствия или сформируют неверное соответствие (рис, 2(в)).
Ограничение порядка используется также рядом других методов. Однако ограничение порядка сокращает круг сцен, для которых возможно применение этих методов, Избегание данного ограничения может быть полезным в некоторых приложениях, Предлагаемый подход на основе задачи о назначении работает со строками изображений и поддерживает однозначность соответствий и определение частично
В
(а) (б)
Рис. 1. Ограничение на порядок следования объектов: (а) порядок следования не меняется; (Ь) узкий объект на переднем плане изменяет порядок
Рис. 2. Сопряженные точки: (а) истинное соответствие; (Ь) блочный метод; (с) динамическое программирование
видимых пикселей, подобно методу динамического программирования. Он не использует ограничение на порядок следования объектов и может быть полезен при реконструкции сцен, нарушающих это ограничение, например, сцен с узкими объектами на переднем плане,
1, Поиск сопряженных точек как задача о назначении
В общем виде задача о назначении формулируется следующим образом. Пусть имеется некоторое количество работников и работ. Любой работник может быть назначен для выполнения любой из имеющихся работ. Стоимость выполнения работы
Таблица 1. Задача поиска сопряженных точек как задача о назначении
а\ а2 аз а4 а5 аб 1 (1т «1 4 ап-1 ап
¿1 Сц С12 С13 сц С осс
¿2 с22 С2 3 с24 С2 5 С осс
^п С'п го—1 С'пт С осс
варьируется в зависимости от рабочего и от работы. Требуется выполнить все работы, назначив в точности одного рабочего на каждую работу, таким образом, чтобы общая стоимость выполнения работ была минимальна. Эта задача может быть решена за время 0(п3) при помощи венгерского алгоритма, который был разработан Г, Куном [4],
Задача поиска сопряженных точек может быть сформулирована как задача о назначении, Пусть каждый пиксель }>; строки изображения I представляет собой работу /.,;. а каждый пиксель р^ изображения V — рабочего а^. Стоимость с^- выполнения работы рабочим а^ определим как стоимость соответствия пикселей с(р^р^):
. _ / с{рьр'з)-, если 0 < йгэ < ^тах) /1\
^ [ +оо, иначе,
где dij - значение диспаратности для }>; и />'. г/1Ш1Х - максимальное значение диспарат-ности. Для нахождения областей, видимых только на одном из изображений, можно добавить дополнительного рабочего а[ для каждой работы ti со стоимостью еосс.
Сформулированная задача может быть представлена в более удобном виде, как показано в таблице 1, В таблице через пит, обозначено количество пикселей в строке изображений / и /' соответственно. Пустые ячейки обозначают, что два пикселя не могут быть сопряженными (г,; / = +оо).
Требование, чтобы каждая работа была назначена одному из рабочих, и чтобы каждый рабочий выполнял не более одной из работ, обеспечивает выполнение однозначности назначений. Дополнительные рабочие а\ позволяют учитывать видимость пикселей только на одном из изображений.
Решение сформулированной задачи о назначении может быть преобразовано в отображение диспаратности следующим образом:
• если работа ti выполняется рабочим о^-, то пиксель соответствует пикселю р'р
• если работа ti выполняется рабочим о^, то пиксель виден только на изображении /:
• если ни одна из работ не назначена рабочему г/,. то пиксель />' виден только на изображении V.
Рис. 3. Результат вычисления изображения диепаратноети по синтезированным изображениям: (а) одно из исходных изображений; (Ь) блочный метод; (с) динамическое программирование; (с1) метод па базе задачи о назначении
2, Сравнение с другими алгоритмами
Основным преимуществом предлагаемого метода является возможность работы с изображениями, па которых присутсвуют узкие объекты вблизи объектива камеры, Для оценки качества определения отображения диепаратноети использовались синтезированные черно-белые изображения сцепы, содержащей узкие полосы па переднем плане и плоскость па заднем плане. Все объкеты сцепы обладают четко выраженной текстурой, что позволяет избежать локальных неоднозначностей, преодоление которых проблематично для таких методов, как блочный, В качестве меры сходства использовалась абсолютная разность интенсивностей по блоку 3 х 3 пикселей, Результаты представлены па рис, 3,
Как видно, блочный метод (рис, 3(6)) корректно определил полосы па переднем плане, а также области фона. Однако области, видимые только па одном из изображений, содержат некорректные значения. Из-за нарушения ограничения на следование объектов метод динамического программирования (рис, 3(в)) показал неудовлетворительные результаты. Предлагаемый метод (рис, 3(г)) показал результаты, схожие с блочным методом, однако области, видимые только па одном снимке, были корректно определены.
Результаты вычисления диепаратноети с использованием предлагаемого метода и блочного метода, а также метода динамического программирования для пары фотоснимков, показаны на рис, 4,
Значительное различие между методом динамического программирования и предлагаемым методом состоит в использовании стоимости перекрытия с0СС, Стоимость перекрытия в методе динамического программирования влияет на гладкость получающегося пути (высокая стоимость приводит к постоянным значениям диепаратноети па веем изображении). Метод па базе задачи о назначении использует стоимость перекрытия для избегания соответствий с высокой стоимостью. Использование малых значений стоимости приведет к отображению диепаратноети, практически иолиостыо состоящему из частично видимых областей.
(в) О1) (д)
Рис. 4. Результат вычисления отображения диепаратноети по фотоснимку: (а) одно из исходных изображений; (Ь) истинное значение диепаратноети; (с) блочный метод; (с1) динамическое программирование; (е) метод па базе задачи о назначении
Таблица 2. Точность определения диепаратноети
Алгоритм Р\ Р2
Блочный 48.85% 73.07%
Динамическое программирование 56.76% 74.58%)
Задача о назначении 71.28%. 84.36%.
Для сравнения точности определения диепаратноети использовались изображения с известными значениями диепаратноети. Точность определялась исходя из следующих метрик:
• Р\ - доля пикселей с точно определенной диспаратностыо;
• Р> аналогично Т\, по допускается ошибка в один пиксель.
Границы изображений не включались в вычисление метрик, поскольку многие алгоритмы не дают адекватные результаты в этой области. Во всех тестах использовались одинаковые настройки (максимальное значение диепаратноети и меры сходства). Результаты представлены в таблице 2,
Заключение
Предлагаемый метод поиска сопряженных точек на стереоизображениях на базе задачи о назначении поддерживает однозначность соответствий и определение областей, видимых только на одном из изображений. Данный метод позволяет улучшить точность определения диспаратности в локально-неоднозначных областях по сравнению с блочным методом за счет нахождения однозначных соответствий, а также имеет некоторые преимущества по сравнению с методом динамического программирования.
Тестирование на изображениях с узкими объектами на переднем плане показывает, что предлагаемый метод корректно определяет частично видимые области и диспаратность в областях с нарушением ограничения порядка. Однако, из-за отсутствия ограничения на гладкость диспаратности, ошибки определения диспаратности могут быть значительными в некоторых регионах по сравнению с методом динамического программирования,
список литературы
1. В,. Hartley, A. Zisserman Multiple View Geometry in Computer Vision, Cambridge University Press, 2001.
2. M. Brown, D. Burschka, G. Hager Advances in Computational Stereo // IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 25 (8), 2003, P. 993-1008.
3. A. Bobick, S. Intille Large Occlusion Stereo // International Journal of Computer Vision, Vol. 33 (3), 1999, P. 181-200.
4. H. Kuhn The Hungarian method for the assignment problem // Naval Research Logistics Quarterly, Vol. 2, 1955, P. 83-97.
Статья поступила в редакцию 20.04-2008