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

Бесплатный доступ

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

Стереозрение, полуглобальное сопоставление, оптимизация, алгоритмы реального времени

Короткий адрес: https://sciup.org/147154959

IDR: 147154959   |   УДК: 004.021

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.

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

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

E ( P i , d ) = E data ( P i , d ) + E smooth ( P i - 1 , d ) ;                                                             (1)

E ( P i - 1 , d ) ;

E smooth ( P i - 1 , d ) = min

E ( Pz .-1 , d - 1 ) + P1;

E ( Pz .-1 , d + 1 ) + P 1;

min [ E ( P i - 1 , d ) ] + P 2.

Большой объем вычислений объясняется тем, что операции расчета цен сопоставления и выбора предыдущего пикселя для вычисления стоимости кратчайшего пути выполняются для каждого направления распространения R , для каждого пикселя p i,j , где i W , j H и для каждого значения диспаратности D , то есть R · W · H · 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.

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

а)                                                               б)

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

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

Поскольку функция диспаратности не является непрерывной, для расчета значения диспаратности в точке p i,j недостаточно проанализировать ее окрестность Np i,j . Так как значение диспаратности может меняться скачкообразно, для его определения необходимо проанализировать D значений в каждом пикселе, где величина D равна количеству диспаратностей, анализируемых данной системой.

Диапазон значений диспаратности можно сузить при наличии грубой оценки карты диспаратностей для данной пары стереоизображений. Если допустить, что значение диспаратности в точке X равно d с погрешностью Δ, то для вычисления стоимости кратчайшего пути в точке X необходимо выполнить 2Δ+ 1 операций расчета цен сопоставления и выбора предыдущего пик- селя. Классический алгоритм SGM выполняет D операций для расчета кратчайшего пути в каждой точке [1]. При условии, что 2Δ+ 1 < D, такой подход снижает количество рассчитываемых цен сопоставления на D –2Δ– 1 операций для каждого пикселя. В целом, количество операций снижается на R·W·H·(D –2Δ– 1) для всего алгоритма.

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

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

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

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

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

  • 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.
  • 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.
  • 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/PortalData/3/Resources/papers/modeler/cvpr05hh.pdf.
  • 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.
  • 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/login.jsp?tp=&arnumber=5543779&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp %3Farnumber%3D5543779.
Еще