Научная статья на тему 'Повышение быстродействия алгоритма полуглобального стереосопоставления'

Повышение быстродействия алгоритма полуглобального стереосопоставления Текст научной статьи по специальности «Математика»

CC BY
486
62
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СТЕРЕОЗРЕНИЕ / ПОЛУГЛОБАЛЬНОЕ СОПОСТАВЛЕНИЕ / ОПТИМИЗАЦИЯ / АЛГОРИТМЫ РЕАЛЬНОГО ВРЕМЕНИ / STEREO-VISION / SEMI-GLOBAL MATCHING / OPTIMIZATION / REAL-TIME ALGORITHMS

Аннотация научной статьи по математике, автор научной работы — Аргутин Александр Вячеславович

Рассматриваются аспекты и параметры алгоритма полуглобального стереосопоставления, к которым возможно применение оптимизации с целью уменьшения количества выполняемых операций и увеличения количества кадров карты диспаратностей, генерируемых алгоритмом в единицу времени. Приводятся два возможных способа увеличения производительности, их недостатки и достоинства, результаты выполнения стереоалгоритма с применением данных способов на тестовых данных, а также сравнительный анализ величин ошибочно вычисленных диспаратностей.

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

INCREASING PERFORMANCE OF THE SEMI-GLOBAL MATCHING STEREO ALGORITHM

The article describes aspects and parameters of the semi-global matching stereo algorithm applicable for optimization towards decreasing the amount of calculations to perform and increasing the number of disparity image frames generated by the algorithm per unit time. Two approaches are proposed, their pros and cons explained, results of their implementation applied to the test data are displayed, and comparative analysis of bad pixels is presented.

Текст научной работы на тему «Повышение быстродействия алгоритма полуглобального стереосопоставления»

УДК 004.021

ПОВЫШЕНИЕ БЫСТРОДЕЙСТВИЯ АЛГОРИТМА ПОЛУГЛОБАЛЬНОГО СТЕРЕОСОПОСТАВЛЕНИЯ

А.В. Аргутин

Рассматриваются аспекты и параметры алгоритма полуглобального стереосопоставления, к которым возможно применение оптимизации с целью уменьшения количества выполняемых операций и увеличения количества кадров карты диспаратностей, генерируемых алгоритмом в единицу времени. Приводятся два возможных способа увеличения производительности, их недостатки и достоинства, результаты выполнения стереоалгоритма с применением данных способов на тестовых данных, а также сравнительный анализ величин ошибочно вычисленных диспаратностей.

Ключевые слова: стереозрение, полуглобальное сопоставление, оптимизация, алгоритмы реального времени.

Введение

Основной объем вычислений, производимых алгоритмом SGM [1], связан с расчетом величины цены сопоставления Еааиг и выбором наиболее подходящего предшествующего пикселя, величина Е6.тШІ1 для которого минимизирует стоимость пути распространения для каждого значения диспаратности, рассчитываемого в данной точке:

Большой объем вычислений объясняется тем, что операции расчета цен сопоставления и выбора предыдущего пикселя для вычисления стоимости кратчайшего пути выполняются для каждого направления распространения R, для каждого пикселя pi,j, где i £ W, j 6 H и для каждого значения диспаратности D, то есть R- WH D раз.

Снизить объем необходимых вычислений и тем самым уменьшить время работы алгоритма возможно при уменьшении количества производимых итераций, другими словами, уменьшив или, в идеальном случае, сократив до 1, один из параметров R, W, H, D. Поскольку уменьшение высоты H или ширины W кадра приводит к неминуемой и разительной потере качества результирующей карты глубины [2], далее будут рассматриваться лишь возможности минимизации параметров R и D из перечисленных четырех параметров.

Алгоритм SGM производит R [3] (от 8 до 16) проходов по исходному изображению, выполняя операции расчета цен сопоставления для всех возможных значений диспаратности в анализируемой точке. Время работы алгоритма прямо пропорционально числу R, поскольку оно отражает количество цен сопоставления, агрегируемых для каждого значения диспаратности (рис. 1).

С точки зрения результирующей карты глубины, величина R влияет на количество ошибок в карте диспаратностей, а также на размер и количество артефактов искажений в ней (рис. 2).

Результаты работы алгоритма свидетельствуют о том, что снижение количества направлений распространения неминуемо ведет к снижению качества результирующей карты глубины (увеличение количества ошибок от 15,4 до 18,2 %). Однако, наряду с этим, значительно снижается и время работы алгоритма: вычисление карты глубины на рис. 2, а занимает 0,61 с, карты глубины на рис. 2, б - 1,24 с. При постановке вычислительного эксперимента использовалось следующее оборудование:

1) процессор: Intel Core i7-3770 3.40 GHz;

2) оперативная память: 8GB DDR3.

E ( P,, d ) Edata ( Pi, d ) + Esmooth (p,-u d);

E ( p-ъ d);

(l)

(2)

min [ E ( Pi-i, d )] + P2.

Е| Ет Е| Еб Е4 Ез Е; Е*

Ег ГП Ш |_1 Е4 Е5 Ее Е?

+-

©

+ е! Ее

Е^ Е^

ГП Ш |_и е:

Е| ГП Ш 44

ГП ш ш Е2

Е| Ч *

Рис. 1. Пример агрегирования цен для 4 различных направлений распространения R

а) б)

Рис. 2. Сравнение результирующих карт глубин для 3 (а) и 8 (б) направлений распространения

Размер исходных стереоизображений - 450x375 пикселей, количество диспаратностей - 60. Вычисления выполнялись в однопоточном режиме. Следует учитывать возможность распараллеливания алгоритма на несколько процессорных ядер (4 в современных компьютерах), что позволит снизить время вычисления в 4 раза и увеличить количество кадров в секунду от 1,6 до 6,5. Однако стереоалгоритм реального времени должен вычислять 24 кадра в секунду, что означает, что время вычисления одного кадра должно занимать 0,041 с. Для сравнения, в работе [4] на вычисление карты глубины изображения размером 450x375 для 60 значений диспаратности, время вычисления равняется 0,258 мс, что позволяет добиться производительности в 3,8 кадров в секунду.

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

Диапазон значений диспаратности можно сузить при наличии грубой оценки карты диспаратностей для данной пары стереоизображений. Если допустить, что значение диспаратности в точке X равно d с погрешностью А, то для вычисления стоимости кратчайшего пути в точке X необходимо выполнить 2А + 1 операций расчета цен сопоставления и выбора предыдущего пик-

селя. Классический алгоритм SGM выполняет D операций для расчета кратчайшего пути в каждой точке [1]. При условии, что 2Д + 1 < D, такой подход снижает количество рассчитываемых цен сопоставления на D - 2Д - 1 операций для каждого пикселя. В целом, количество операций снижается на R• WH^ (D - 2Д - 1) для всего алгоритма.

Наряду с выигрышем в количестве операций появляется необходимость в расчете приближенных значений карты диспаратностей. Этот процесс, в свою очередь, требует определенного количества вычислительных операций для выполнения. Описываемый алгоритм может считаться более оптимальным, чем SGM, только в том случае, если время вычисления приближенной карты глубины в совокупности со временем ее уточнения будет меньше, чем время работы оригинального алгоритма, а также при условии, что не будет наблюдаться значительной потери качества в наблюдаемом результате.

В качестве приближенной карты глубины может быть использована карта глубины, вычисленная для уменьшенных исходных стереоизображений. Расчет масштабированной карты глубины используется в [5], однако получаемые значения диспаратности являются не промежуточным, а конечным результатом вычислений для определенных диапазонов диспаратностей. При вычислении масштабированной карты глубины количество необходимых операций составляет RHWD/K3, где K - коэффициент масштабирования, равный отношению размеров исходных стереоизображений к размерам уменьшенных стереоизображений. Таким образом, для вычисления карты глубины для стереоизображений, уменьшенных в 4 раза, требуется в 64 раза меньше вычислительных операций, чем для вычисления карты глубины исходного размера.

Реализация такого алгоритма и его выполнение на том же оборудовании дало следующие результаты: время вычисления карты глубины составляет 0,34 с, что позволяет вырабатывать 3 кадра в секунду. Наряду с приростом производительности наблюдается также и снижение качества результирующей карты глубины (увеличение количества ошибок от 18,2 до 21,6 %). Источником ошибки являются искажения на границах объектов, причиной которых является масштабированная карта глубины.

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

Литература / References

1. Hirschmuller H. Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information. Computer Vision and Pattern Recongnition, 2005, vol. 2, pp. 807-814.

2. Scharstein D., Szeliski R. Taxonomy and Evaluation of Dense Two-frame Stereo Correspondence Algorithms. International Journal of Computer Vision, 2002, vol. 47, pp. 7-42. Available at: http://vision.middlebury.edu/stereo/taxonomy-IJCV.pdf.

3. Hirshmuller H. Evaluation of Cost Functions for Stereo Matching. Computer Vision and Pattern Recognition, 2007, vol. 0, pp. 1-8. Available at: http://vision.middlebury.edu/~schar/papers/evalCosts_ cvpr07.pdf; http://www.dlr.de/rm/en/PortalData73/Resources/papers/modeler/cvpr05hh.pdf.

4. Xiang X., Zhang M., Li G., He Y., Pan Z. Real-time stereo matching based on fast belief propagation. Machine Vision and Applications, 2012, vol. 23, pp. 1219-1227. Available at: http://link.springer.com/article/10.1007%2Fs00138-011-0405-1.

5. Gehrig S.K., Rabe C. Real-time Semi-Global Matching on the CPU. Computer Vision and Pattern Recognition Workshops, 2010, vol. 17, pp. 85-92. Available at: http://ieeexplore.ieee.org/xpl/ loginjsp?tp=&arnumber=5543779&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_alljsp %3Farnumber%3D5543779.

Аргутин Александр Вячеславович, аспирант кафедры информационных систем, ЮжноУральский государственный университет (г. Челябинск); [email protected].

Поступила в редакцию 5 декабря 2013 г.

Bulletin of the South Ural State University Series “Computer Technologies, Automatic Control, Radio Electronics”

2014, vol. 14, no. 2, pp. 116-119

INCREASING PERFORMANCE OF THE SEMI-GLOBAL MATCHING STEREO ALGORITHM

Argutin A. V., South Ural State University, Chelyabinsk, Russian Federation, alex. argutin@gmail. com

The article describes aspects and parameters of the semi-global matching stereo algorithm applicable for optimization towards decreasing the amount of calculations to perform and increasing the number of disparity image frames generated by the algorithm per unit time. Two approaches are proposed, their pros and cons explained, results of their implementation applied to the test data are displayed, and comparative analysis of bad pixels is presented.

Keywords: stereo-vision, semi-global matching, optimization, real-time algorithms.

Received З December 2013

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