БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Халтобин В.М., Шпилевой Ю.М. Аналитический метод оценки эффективности применения иконических оптико-электронных средств. Научно-методические материалы по автоматизации сбора и обработки информации. - М.: ВВИА им. проф. Н.Е. Жуковского, 1984.
2. Коваленко В.П. Оптико-электронное разведывательное оборудование летательных аппаратов. - М.: ВВИА им. проф. Н.Е. Жуковского, 1990.
Статью рекомендовал к опубликованию д.т.н., профессор В.П. Харьков.
Сельвесюк Николай Иванович - Федеральное государственное бюджетное учреждение высшего профессионального образования «Московский государственный технический университет им. Н.Э. Баумана»; e-mail: [email protected]; 105005, г. Москва, 2-я Бауманская ул., 5, стр. 1; тел.: 84992636391; д.т.н.; доцент; кафедра информационной безопасности; профессор.
Веселов Юрий Геннадьевич - e-mail: [email protected]; кафедра информационной безопасности; к.т.н.; доцент.
Островский Александр Сергеевич - e-mail: [email protected]; кафедра информационной безопасности; ассистент.
Красавин Илья Владимирович - Федеральное государственное казенное учреждение «Главный научный метрологический центр» Министерства обороны Российской Федерации; e-mail: [email protected]; 141006, МО, г. Мытищи, ул. Комарова, 13; тел.: 84992636391; к.т.н.; начальник лаборатории.
Selvesyuk Nikolay Ivanovich - Federal State Institution of Higher Professional Education "Bauman Moscow State Technical University"; e-mail: [email protected]; 5, 2nd Bauman street, p.
1, Moscow, 105005, Russia; phone: +74992636391; dr. of eng. sc.; associate professor; the department of information security; professor.
Veselov Juriy Gennadievich - e-mail: [email protected]; the department of information security; cand. of eng. sc.; associate professor.
Ostrovskiy Aleksandr Sergeevich - e-mail: [email protected]; the department of information security; assistant.
Krasavin Ilya Vladimirovich - Federal State Government Institution «Chief scientific metrology center» Ministry of Defence; e-mail: [email protected]; 13, Komarova street, Mytishchi, 141006, Russia; тел.: +74992636391; cand. of eng. sc.; head of laboratory.
УДК 004.923
А.В. Чумаченко
ОПТИМИЗАЦИЯ ВЫЧИСЛЕНИЯ SAD ДЛЯ ЗАДАЧИ ВОССТАНОВЛЕНИЯ РЕЛЬЕФА ПО ИЗОБРАЖЕНИЯМ СТЕРЕОПАР В ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ СИСТЕМАХ СТЕРЕОЗРЕНИЯ
Представлен метод оптимизации вычисления целевой функции SAD для локальных алгоритмов установления пиксельных соответствий на стереопарах. Суть оптимизации состоит в вычислении вспомогательного двумерного массива сумм, позволяющего на основном шаге некоторого алгоритма за константное количество операций получать значения целевой функции SAD. Метод позволяет снизить ассимптотическую верхнюю границу сложности основного шага алгоритма на два порядка для прямоугольных опорных областей, и на один порядок для опорных областей непрямоугольной (адаптивной) формы. Метод может быть реализован в системах с процессорами общего назначения и не предполагает использование векторных операций.
Стереопара; пиксельное соответствие; корреляция; опорное окно; оптимизация; высокопроизводительная система стереозрения; адаптивное окно.
A.V. Chumachenko
STEREO PAIR SAD CALCULATION OPTIMIZATION FOR DEPTH MAP RECONSTRUCTION IN REAL-TIME STEREO VISION SYSTEMS
This paper presents SAD calculation optimization method for local stereo correspondence algorithms. The key point of the optimization is pre calculation of auxiliary two-dimensional sums-array, which allows getting results of SAD-queries in constant time. Method allows to decrease the computational complexity of the main step of some local stereocorrespondence algorithm by two orders of magnitude for rectangular support windows and by one order for adaptive windows. Method is applicable to rectangular and adaptive support windows, can be implemented for systems with universal CPUs and does not assume any kind of vector operations to be used.
Stereo pair; pixel correspondence; correlation; support window; optimization; real-time stereo vision system; adaptive support window.
Введение. Установление соответствия между проекциями m1 и m2 некоторой точки пространства M на изображениях стереопары является ключевой задачей автоматизированных систем бинокулярного стереозрения (рис. 1).
V М
World point
Рис. 1. Пространственная модель формирования стереопары
Методы и алгоритмы решения задачи установления пиксельных соответствий согласно наиболее распространенной классификации делятся на 2 класса: локальные и глобальные [1].
В глобальных алгоритмах итеративно подбирается такое соответствие для всей совокупности пикселов, которое минимизирует некоторую глобальную целевую функцию. Алгоритмы данного класса, как правило, более вычислительно сложные по сравнению с локальными алгоритмами, но обеспечивают более высокое качество установления соответствий [4, 5].
В локальных алгоритмах соответствие устанавливается для всех пикселов независимо друг от друга [2, 3]. Как правило, результат для некоторого пиксела p зависит только от значений интенсивности цветовых каналов в ограниченной области (в опорном "окне"). Для данного класса алгоритмов обычно применяют дополнительные шаги фильтрации, логической непротиворечивости или иной интерпретации полученных результатов с целью минимизировать ошибки. Алгоритмы этого класса чаще всего адаптируемы для параллельных вычислений и получили широкое распространение в алгоритмах для высокопроизводительных систем стереозрения [7, 8, 9, 10].
Обзор существующих высокопроизводительных систем стереозрения. Работы [2, 7, 8, 9, 10] охватывают отрезок времени от 2002 до 2011 г. С учетом приводимых в данных работах результатах можно утверждать, что автоматизированные системы стереозрения вошли в категорию систем реального времени по
признаку быстродействия и наиболее актуальная проблема в настоящее время -точность получаемых карт глубины сцены. Если в 2002 г. это были стереопары размером 320x240 (76 800 пикселов) со скоростью обработки 5 кадров/с, то в 2011 это уже 1024x768 (786 432 пикселов) со скоростью до 36 кадров/с. Однако сравнение показателей производительности без сравнения качества получаемых результатов и используемых типов вычислительных устройств - некорректно.
В работах [7, 8, 9] в основе предлагаемых алгоритмов лежит простая функция оценки соответствия опорного окна базового изображения стереопары некоторой позиции на втором изображении, а именно SAD^ra. - SumofAbsoluteDifferences, рус. - сумма абсолютных значений разности).
В работе [7] автор описывает особенности реализации конкретной системы стереозрения в общих чертах. Система включает в себя две видео камеры, два специализированных вычислительных устройства, подключаемых к устройству визуализации, в данном случае к телевизору. Вычислительные устройства основаны на DSP-процессорах, реализующих вычисление SAD по оптимизированному алгоритму. Автор называет его "Datareusealgorithm", что дословно означает "Алгоритм повторного использования данных". Деталей или псевдокода данного алгоритма автор не излагает, однако в общих чертах описывает идею, лежащую в основе оптимизации: при вычислении SAD для опорного окна некоторого пиксела базового изображения, использовать результаты вычислений соответствия предшествующих пикселов.
В работе [9] авторы решают задачу восстановления карты глубины сцены по стереопаре для последующего использования в интеллектуальной системе управления автомобилем. Авторы применяют оптимизационный алгоритм для ускорения вычисления SAD, в целом схожий с алгоритмом из работы [7]. Для обеспечения быстрого перехода от одного опорного окна к другому авторы задействуют SIMD (Singleinstructionmultipledata) инструкции процессора. С целью увеличения точности установления пиксельных соответствий авторы применяют подход использования нескольких опорных окон [8].
К недостаткам предлагаемых алгоритмов и подходов можно отнести относительно низкое качество восстановления карты глубины сцены, а также использование специализированных вычислителей и процессоро-специфичных векторных операций.
Существуют работы, в которых высокая вычислительная сложность альтернативного, по отношению к SAD, алгоритма компенсируется высокой производительностью специализированного вычислителя [2, 10]. Однако такой подход не всегда применим в силу специфики предъявляемых к системам требований, таких как массо-габаритные характеристики, энерго-эффективность, возможность применения определенных программных и аппаратных интерфейсов (CUDA). Таким образом, актуальной остается разработка алгоритмов с более совершенным соотношением "вычислительная сложность"/"качество".
В работе анализируется вычисление SAD для задачи установления пиксельных соответствий на стереопарах, существующие методы оптимизации вычислений, а также предлагается альтернативный метод оптимизации, применимый для опорных окон произвольной (непрямоугольной) формы.
Корреляционная модель на основе SAD. Рассмотрим фрагмент стереопары и точку (x,y) на базовом изображении (рис. 2) с окном размера p=(2m+1)x(2n+1), центрированном на (x,y), соотнесем вектор W(x,y) С RP, который получен путём построчного сканирования значений окна. Теперь для данной точки второго изображения (x+d,y), потенциально соответствующей точке (x,y), можно построить второй вектор W'(x + d, y) и в некотором частном случае определить функцию [11]:
/
wi - wi
S (W, d) = ^---------------. (1)
P
Базовое изображение q q Второе изображение
llllllllk Ml
Рис. 2. Корреляция двух окон вдоль соответствующих эпиполярных линий
Функция (1) является так называемой функцией суммы абсолютных значений разностей цветовой интенсивности, или SAD (SumofAbsoluteDifferencies). Вычисляя её для значений d = dmin...dmax для некоторого пиксела p базового изображения находят наиболее подходящий (соответствующий) пиксел на втором изображении. Верхняя асимптотическая граница вычислительной сложности такого подхода при очевидной реализации составляет
O(NMnmdmax),
где N - высота изображения стереопары, M - ширина изображения стереопары, n,m - размер опорного окна вокруг пиксела.
Для произвольной стереопары величины dmin, dmax изначально неизвестны и существующие алгоритмы, используют их как заведомо известные величины. В работе [3] показано, как можно вычислять оценки этих величин и использовать на основном шаге установления пиксельного соответствия с целью проверки получаемых результатов для произвольной стереопары.
Оптимизация вычисления SAD. Рассмотрим шаги вычисления функции (1) в контексте установления пиксельного соответствия более подробно и сформулируем задачу оптимизации.
Рассмотрим пример выбора опорного множества пикселов исходного изображения для некоторых пикселов p1 и p^^w. 3). Как P1 и Р2 обозначены опорные множества для пикселов p1 и p2 соответственно.
Как показано на рис. 3, опорные множества пересекаются и образуют непустое множество Р1ПР2. При наложении опорных окрестностей базового изображения на второе в позиции x+d и x+d+^ля пикселов p1 и p2 соответственно, множество Р1 П Р2 будет наложено на одну и ту же область второго изображения. Очевидно, что вычисление SAD для всех пикселов по отдельности приводит к повторному вычислению целевой функции для одних и тех же подмножеств наложений.
Таким образом, задача оптимизации вычисления значений целевой функции (1) для совокупности пикселов базового изображения заключается в исключении повторных вычислений для заведомо пересекающихся множеств, образуемых опорными областями соседствующих пикселов.
Е
Базовое изображение
Второе изображение
ЁВ
___Ул
x+d
Второе изображе
X
■
x+d+l
(Р1ПР2)
X
Рис. 3. Корреляция областей Р1 и Р2 и их общее подмножество
Используя обозначения из теории множеств, выразим наложение множества Р2 в позицию х+й+1 через Б(Р1,й).
Б (Р2, й+1) = 5 (р, й) - 5 (Р \ Р2, й) + 5 (Р2 \ Р, й+1). (2)
Очевидная реализация этого подхода приведет к экономии вычислительного времени за счет снижения верхней асимптотической границы решения с 0(И-М-п-т-йтах) до 0(И-М-п-йтах), однако у такого подхода есть два недостатка.
♦ для небольших опорных областей, например размером 5х5, вычисление Б(Р1\Р2,й) иБ(Р2\Р1,й+1) будет сопоставимо с вычислением функции для всего окна за счет большой скрытой константы в асимптотической оценке;
♦ для опорных областей произвольной (непрямоугольной) формы операция нахождения пересечений и разностей множеств может быть вычислительно сложной или приводить к разностям с мощностью большей, чем у пересечений, тем самым сводя к нулю выигрыш в производительности.
Разработаем более эффективный и универсальный метод для оптимизации вычислений. Опорные множества для всех пикселов базового изображения можно разделить на отдельные строчные последовательности, или подмножества Ш исходного множества Ш. Учитывая, что Ш = Ш1^Ш2_^Шп и 0 = Ш1^Ш2_^ЛШп справедливо равенство
(3)
Значения функции (1) для произвольной строки Щ можно вычислять за 0(1) при проведении предварительного препроцессинга не более чем за 0(И-Ы-1тах). Для пояснения сути препроцессинга рассмотрим более простую задачу. Пусть задан некоторый массив чисел А:
А = {3, 12, -1, 0, 28, 5, 7, -10, 2, 7}.
У
У
Предположим, что массив не изменяется и необходимо за 0(1) отвечать на запросы вида: какова сумма элементов массива, начиная с индекса l и заканчивая индексом г. Рассчитаем вспомогательный массив B, в котором элемент Bi равен сумме элементов B-1,B0—Bi. Для приведенного примера массив будет иметь вид:
Б = {0, 3, 15, 14, 14, 42, 47, 54, 44, 46, 53}.
Теперь, сумму элементов Sum на отрезке [l,r] можно вычислить за 0( 1):
Sum(l, r) = B[r ] - B[l -1]. (4)
Аналогично для оптимизации вычисления функции (1) всех опорных множеств для всех пикселов базового изображения для всех diEdmin—dmax необходимо рассчитать вспомогательный трехмерный массив, состоящий из (dmax - dmin) двумерных массивов, размером N на M элементов, где N - высота изображения стереопары в пикселах, M - ширина изображения стереопары в пикселах. Обозначим этот массив как D. Элемент массива D[d,i,j] будет содержать значение, равное сумме значений функции (1) для всех пикселов с координатами (x£l..j,y£i).
Верхнюю и нижнюю границы строки W по оси oX обозначим как их и lx соответственно; координата у для всех пикселов строки W одинакова. Тогда справедливо равенство:
S (W, d) = D[d, у, их] - D[d, у, lx-1]. (5)
Таким образом, значения функции (1) для произвольной строки Wi можно вычислять за 0( 1). Итоговая верхняя асимптотическая граница алгоритма установления пиксельного соответствия составит 0(NM n dmax)+0(NM dmax) = 0(N M n dmax), что в m раз меньше исходной оценки.
Помимо улучшенной асимптотической сложности к достоинствам данного метода можно отнести применимость к опорным множествам непрямоугольной (адаптивной) формы, так как произвольная связная опорная область может быть разделена на отдельные строки.
К недостаткам можно отнести дополнительное потребление памяти на вспомогательный массив D, составляющее 0(N-M-dmax). Однако от него можно отказаться, проводя вычисления соответствия последовательно для разных значений d и храня только один "срез" массива D.
Оптимизация вычисления SAD для опорных областей прямоугольной формы. Предложенный построчный метод оптимизации вычислений можно обобщить до двумерного случая. Для этого необходимо чтобы вспомогательный массив D для некоторого элемента D[d,i,j] был равен сумме значений функции (1) для всех пикселов с координатами (x£l..j,y£l..i), т.е. такой, для которого справедливо
D[d, i, j ] = 11 S (Р(х, у), d), (6)
х=1 у=1
где Р(х,у) - вырожденная опорная область из одного пиксела или просто пиксел с координатами х,у.
Вычисление значений массива D для некоторого d можно вычислять за 0( 1), используя приём динамического программирования, а именно для расчета D[d,i,j] использовать уже вычисленные значения для меньших i и j (кроме начальных граничных случаев, вычисление которых тривиально):
D[d, i, j] = D[d, i -1, j] + D[d, i, j -1] - D[d, i -1, j -1] + S(P(i, j), d). (7) Прямоугольную опорную область некоторого пиксела p обозначим как R, её границы по оси X обозначим xmin и xmax, по оси Уу^ и уmax (рис. 4). Тогда значение целевой функции для всей опорной области можно вычислить за 0(1) по формуле S(R, d) = D[d, у , х ] - D[d, у , х . -1] -
v ' L ’ .'max’ maxJ L ’.'max’ mrn J
D[d, у ■ -1,х ] + D[d, у ■ -1,х ■ -1]. (8)
L ’/mm ’ maxJ L ’ ^min ’ min J
' г
Y
Рис. 4. Опорная область R, вспомогательные области для вычисления S(R,d)
Таким образом, для опорных областей прямоугольной формы верхняя асимптотическая граница алгоритма может быть уменьшена до O(N-M-dmax) на препро-цессинг с использованием формулы (7), и O(N-M-dmax) на основной шаг алгоритма установления соответствий с использованием формулы (8). Вычислительная сложность такого алгоритма зависит от размеров изображений стереопары и величины смещения одного изображения относительно другого, и не зависит от размеров опорного окна.
Заключение. На данный момент автоматизированные системы стереозрения, обрабатывающие информацию со скоростью, сопоставимой со скоростью восприятия человека, востребованы и реализованы во многих отраслях. Однако актуальными остаются проблемы создания таких систем с лучшими показателями эффективности, такими как вычислительная сложность алгоритмов, точность восстановления рельефа, наличие или отсутствие зависимостей от определенных программно-аппаратных платформ (CUDA, SIMD).
В данной работе представлены два метода оптимизации вычисления востребованной в современных высокопроизводительных системах стереозрения целевой функции SAD. Предлагаемые методы позволяют:
♦ уменьшить вычислительную сложность корреляционных алгоритмов, в основе которых лежит SAD;
♦ на порядок уменьшить верхнюю оценку сложности алгоритмов с адаптивными опорными окнами.
Открытым остается вопрос о возможности создания системы стереозрения, обеспечивающей обработку информации со скоростью сопоставимой со скоростью восприятия человека, с применением предложенных методов оптимизации на процессоре общего назначения без использования SIMD или иных аппаратных возможностей ускорения вычислений.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Sharstein D., Szeliski R. A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms // International Journal of Computer Vision. - 2002. - Vol. 47, 1/3. - P. 7-42.
2. Xing Mei, Xun Sun, Mingcai Zhou, Shaohui Jiao, Haitao Wang, Xiaopeng Zhang. On building an accurate stereo matching system on graphics hardware // Computer Vision Workshops, 2011 IEEE International Conference on Stereo Vision, date of Conference: 6-13 Nov. 2011. - P. 467-474.
3. Гузик В.Ф., Чумаченко А.В. Статистический метод оптимизации локальных алгоритмов установления пиксельных соответствий на стереопарах // Известия высших учебных заведений Северо-Кавказский регион. Технические науки. - 2011 - № 4. - С. 20-25.
4. Boykov Y., Veksler O. and Zabih R. Fast approximate energy minimization via graph cuts // International Conference of Computer Vision (ICCV). - 1999. - P. 377-384.
5. Lei C., Selzer J., and Yang Y. Region-tree based stereo using dynamic programming optimization // Computer Vision and Pattern Recognition. - 2006. - № 2. - Р. 2378-2385.
6. HajerFradi, Jean-Luc Dugelay. Improved depth map estimation in Stereo Vision. Conference of Stereoscopic Displays and Applications XXII, San Francisco, Vol. 7863, January 2011.
7. URL: http://www.eurecom.fr/fr/publication/3341/download/mm-publi-3341.pdf (дата обращения 02.12.2012).
8. Konstantin Kramer. Real-Time Stereo Vision System. Tel-Aviv academic college of Engineering, 2006.
9. URL: http://highlearn.afeka.ac.il/users/www/9357/files/projects/StereoVision.pdf, дата обращения 02.12.2012).
10. Heiko Hirschmuller, Peter R. Innocent, Jon Garibaldi. Real-Time Correlation-Based Stereo Vision with Reduced Border Errors // International Journal of Computer Vision. - 2002.
- Vol. 47, 1/3. - P. 229-246.
11. Wannes van der Mark, Dariu M. Gavrila. Real-Time Dense Stereo for Intelligent Vehicles // IEEE Transactions on Intelligent Transportation Systems. - March 2006. - Vol. 7, №. 1.
- Р. 38-50.
12. Yong Zhao, Gabriel Taubin. Real-time stereo on GPGPU using progressive multi-resolution adaptive windows // Image and Vision Computing. - 2011. - № 29. - Р. 420-432.
13. Форсайт Девид А., Понс Жан. Компьютерное зрение, Современный подход: Пер. с англ.
- М.: Изд. дом "Вильямс", 2004. - 928 с.
Статью рекомендовал к опубликованию д.т.н., профессор Н.И. Витиска.
Чумаченко Александр Викторович - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: +79281554935; кафедра вычислительной техники; аспирант.
Chumachenko Aleksandr Victorovich - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; 44, Nekrasovsky, Taganrog, 347928, Russia; phone. +79281554935; the department of computer engineering; postgraduate student.
УДК 681.518.3
С.А. Отческий, И.Н. Бурдинский
КОРРЕКЦИЯ ТРИАНГУЛЯЦИОННОГО МЕТОДА ОПРЕДЕЛЕНИЯ ПОЗИЦИИ АВТОНОМНОГО НЕОБИТАЕМОГО ПОДВОДНОГО
АППАРАТА
Цель данной работы исследование и разработка алгоритмов коррекции триангуляционного метода, который является классическим способом определения позиции автономных необитаемых подводных аппаратов с использованием гидроакустических навигационных систем. При выполнении данной работы произведен детальный анализ триангуляции, который показал основные недостатки данного метода и причины их возникновения. Рассмотрен алгоритм коррекции на основе данных о расстоянии до ближайшего опорного маяка. Разработан алгоритм коррекции на основании анализа данных о расстоянии до всех опорных маяков. Все представленные алгоритмы были реализованы в программной модели, и проверены серией численных экспериментов.
Навигация; гидроакустическая навигационная система; автономный необитаемый подводный аппарат; позиционирование.