Введение
1 Постановка задачи 9
2. Известные результаты 10
3. Предлагаемые алгоритмы 15
3.1. Функции стоимости 15
3.1.1. Функция стоимости Mutual Information and Census (MIC) 15
3.1.2. Функция стоимости на основе сиамской сверточной нейронной сети (CNN) 18
3.2. Экстраполяция перекрытых регионов 21
3.2.1. Линейная экстраполяции перекрытых регионов . 21
3.2.2. Экстраполяции перекрытых регионов путем голо-сования 24
3.3. Адаптивные веса на основе градиента изображения ... 26
4. Результаты экспериментов 28
5. Применение стереометода на изображениях лиц людей 37
5.1. Применение стереометода на изображениях лиц людей с известной 3D моделью
Заключение 45
Список литературы
Нахождение расстояния до различных точек сцены относительно положения камеры - одна из важнейших задач компьютерного зрения. Самый распространенный метод для нахождения глубин точек - использовать две камеры, находящиеся друг от друга на известном расстоянии, и с помощью них получить пару изображений, левое из которых обычно называют источником, а правое - целью (типичная стереосистема приведена на рисунке 1). Описанная проблема важна во многих областях: например, автономное вождение, робототехника, спорт (генерирование промежуточных углов зрения с помощью 2 камер, см. [7]), а также реконструкция сцен и даже лиц людей, например, в целях безопасности, как в [1]. Первым этапом воссоздания полной 3D модели с помощью данного подхода является решение задачи соответствия. Для того, чтобы воспользоваться дополнительной информацией, которая имеется в виду наличия второй камеры, необходимо знать все соответствия между точками источника и цели. Следует также учитывать две основные проблемы, которые встают на этом пути - это перекрытия и перепады глубин на краях объектов. Объект, видимый с одной камеры, может быть недосягаем для другой в виду перекрытий.
Оказывается, при известных параметрах камер (обычно сами камеры идентичны) и расстоянии между ними задачу можно свести из 2Dх 2Dк 1Dх 1D.Рисунок 1 показывает, как одной точке проек¬ции на источник могут соответствовать две точки цели (на самом деле ей может соответствовать целая линия цели, называемая эпиполярной, е2 на рис. 2). Если же теперь спроецировать е2 обратно на плоскость источника - получим другую эпиполярную линию - е1. Две эти линии получены от пересечения двух проективных плоскостей камер и так называемой эпиполярной плоскости ORPOR.
Более эффективным является решение сначала ’’выпрямить” системы координат, так, чтобы эпиполярные линии были горизонтальны и соответствующие линии находились на одинаковой высоте (рис. 2). Для этого сначала необходимо ”виртуально” повернуть камеры, чтобы они смотрели перпендикулярно линии, соединяющей их оптические центры - OROR. Далее регулируется кручение вокруг оптических осей камер, чтобы соответствующие эпиполярные линии были горизонтальны и смещение для точек в бесконечности было нулевым. Последнее - перемасштабировать изображения, чтобы учесть, возможно, разные фокусы камер.
Смещение между расположениями двух соответственных точек на ”выпрямленной” (также эту форму называют стандартной) паре изображений называют смещением (d = XR— X? на рис. 3).
Главной частью стереоалгоритма является поиск соответствий. Этот процесс можно разделить на следующие этапы, согласно [16]: вычисление стоимостей для каждого пикселя, вычисление их взвешенной суммы, минимизация общей стоимости для всего изображения, уточнение полученного решения (схема приведена на рис. 4). Эффективность каждой из предложенных частей непосредственно влияет на все последующие. В последнее время популярность получили так называемые глобальные алгоритмы, которые ищут гладкое решение (в том смысле, что ’’штрафуется” наличие ’’скачков” в глубинах). Однако, глобальные алгоритмы довольно медленны, поэтому ищутся всевозможные приближения к глобальному решению - это так называемые полуглобальные алгоритмы. Учитывая, что для многих аглоритмов соотношение скорости/точности для различных датасетов очень сильно варьируется, проблема поиска наилучшего алгоритма для данного набора изображений все еще пользуется интересом.
Алгоритм Semi-global matching (SGM, алгоритм полуглобального сопоставления) - один из ведущих стереоалгоритмов, реализующий этап минимизации. Этот алгоритм использует эффективную стратегию для приблизительной минимизации энергии, которая состоит из попиксельной стоимости и попарной (между соседними пикселями) гладкости. На основе предложенной интерпретации SGM как алгоритма распространения доверия, совсем недавно был преложен новый алгоритм - Significantly More Global Matching (MGM, значительно более глобальный поиск соответствий [4]) - который позволяет в пять раз минимизировать зазор энергии невязки решения по сравнению с SGM, при этом почти не имеет накладных расходов. Однако сам алгоритм реализует этап минимизации, и авторы алгоритма оставили за пределами своего исследования использование вместе с их алгоритмом многих других популярных решений, лежащих на других этапах, например, использование более точной функции стоимости или борьбу с перекрытиями.
Эта работа посвящена дальнейшему развитию алгоритма MGM - применение вместе с ним алгоритмов, часть из которых модифицирована нами, но ранее применялась с SGM, а часть - впервые предложена
В ходе работы были выполнены следующие задачи:
1. Адаптация MGM [4] под библиотеку OpenCV
2. Разработка и реализация алгоритма оценки стоимостей на основе синтеза алгоритмов Census и Mutual Information [6], дабы добиться устойчивости к сложным радиометрическим изменениям на изображениях
3. Разработка и реализация функции стоимостей на основе сиамких сверточных нейронных сетей
4. Разработка и реализация алгоритма поиска перекрытий и устранение их проявлений (а вместе с тем и повышения точности самого алгоритма)
5. Использование адаптивных весов на основе градиента
6. Проверка полученного алгоритма на наборах изображений Middlebury, а также на наборах изображений лиц людей и анализ полученных результатов
В результате нашей работы было показано, что предложенные функции стоимости в сочетании с MGM устойчиво работают на датасете Middlebury (в метриках bad 1.0 и avgerr), представляющем трудности для всех стерео-алгоритмов, по точности превосходя стандартную для MGM функцию стоимости census. Функция стоимости на основе ССНС демонстрирует наилучшую точность, однако в следствие большого объема вычислений и отсутствия реализации на GPU, подходит лишь для датасетов, требующих высокой точности, но не требующих большой скорости вычислений. Линейная экстраполяция перекрытий продемонстрировала многократный прирост точности в перекрытых регионах, что в сочетании со сложностью ее применения O(W * Н) делает ее использование рекомендуемым.
Применение предложенных алгоритмом на изображениях лиц людей показало, что результаты, полученные при использовании различных функций стоимости на данном наборе изображений, различны для метрик avgerr и bad 1.0. Выбор той или иной функции стоимости в данном случае должен зависеть от метрики, в которой необходимо получить наилучший результат. Использование экстраполяции на данном датасете не оправдало себя. В качестве дальнейшей работы оставлено обучение и применение новой функции стоимости CNN на наборах изображений, содержащих лица людей.
[1] 3D face recognition using passive stereo vision/ N. Uchida, T. Shibahara, T. Aoki et al. // Image Processing, 2005. ICIP 2005. IEEE International Conference on.— Vol. 2.— 2005. — Sept.— P. II- 950-3.
[2] Banz C., Pirsch P., Blume H. EVALUATION OF PENALTY FUNCTIONS FOR SEMI-GLOBAL MATCHING COST AGGREGATION //ISPRS.—
2012. -- Vol. XXXIX-B3.- P. 1-6.-- URL: http://www.int-arch-photogramm-remote-sens-spatial-inf-sci.net/XXXIX-B3/1/2012/.
[3] Bleyer Michael, Gelautz Margrit. Simple but effective tree structures for dynamic programming-based stereo matching //In VISAPP. — 2008. - P. 415-422.
[4] Facciolo Gabriele, de Franchis Carlo, Meinhardt Enric. MGM: A Significantly More Global Matching for Stereovision. -- 2015. -- http://dev.ipol.im/ facciolo/mgm/.
[5] High-Quality Single-Shot Capture of Facial Geometry / Thabo Beeler, Bernd Bickel, Paul Beardsley et al. // ACM Trans. on Graphics (Proc. SIGGRAPH). 2010. - Vol. 29, no. 3. - P. 40:1-40:9.
[6] Hirschmuller Heiko. Stereo Processing by Semiglobal Matching and Mutual Information // IEEE Trans. Pattern Anal. Mach. Intell. -¬2008. -. - Vol. 30, no. 2. - P. 328-341.
[7] Inamoto Naho, Saito Hideo. Intermediate view generation of soccer scene from multiple videos // Proceedings - International Conference on Pattern Recognition. — 2 edition. — 2002. — Vol. 16. — P. 713-716.
[8] Jiang Xiaoyue, Schofield Andrew J., Wyatt Jeremy L. Computer Vision - ECCV 2010: September 5-11, 2010, Proceedings, Part IV.-- 2010.— P. 58-71.--ISBN: 978-3-642-15561-1.
[10] Li Y., Huttenlocher D. P. Learning for stereo vision using thestructured support vector machine // Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. — 2008. — June. — P. 1-8.
[11] Min D., Sohn K. Cost Aggregation and Occlusion Handling With WLS in Stereo Matching //IEEE Transactions on Image Processing. — 2008.—Aug. —Vol. 17, no. 8. —P. 1431-1442.
[12] Monasse Pascal. Quasi-Euclidean Epipolar Rectification //ImageProcessing On Line. — 2011. — Vol. 1.
[13] Pattern Recognition: 36th German Conference, GCPR 2014/ Daniel Scharstein, Heiko Hirschmuller, York Kitajima et al. / Ed. by Xiaoyi Jiang, Joachim Hornegger, Reinhard Koch. — Cham : Springer International Publishing, 2014. — P. 31-42. — ISBN:978-3-319-11752¬2.
[14] Pattern Recognition: 36th German Conference, GCPR 2014, Munster,Germany, September 2-5, 2014, Proceedings / Amnon Drory, Carsten Haubold, Shai Avidan, Fred A. Hamprecht / Ed. by Xiaoyi Jiang, Joachim Hornegger, Reinhard Koch. — Cham : Springer International Publishing, 2014. — P. 43-53.— ISBN:978-3-319-11752¬
2. — URL: http://dx.doi.org/10.1007/978-3-319-11752-2_4.
[15] Pearl Judea. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. — San Francisco, CA, USA : Morgan Kaufmann Publishers Inc., 1988. —ISBN: 0-934613-73-7.
[16] Scharstein D., Pal C. Learning Conditional Random Fields forStereo // Computer Vision and Pattern Recognition, 2007. CVPR ’07. IEEE Conference on. — 2007. — June. — P. 1-8.
[17] Suzuki Satoshi. Topological Structural Analysis of Digitized Binary Images by Border Following.— 1985.— Vol. 30 (Issue
1) of Computer Vision, Graphics, and Image Processing.— http://www.sciencedirect.com/science/article/pii/0734189X85900167.
[18] Tieleman Tijmen, Hinton Geoffrey. Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude // COURSERA: Neural Networks for Machine Learning. — 2012. — Vol. 4. — P. 2.
[19] Zbontar Jure, LeCun Yann. Stereo Matching by Training a Convolutional Neural Network to Compare Image Patches // CoRR. — 2015.— Vol. abs/1510.05970.— URL: http://arxiv.org/abs/1510.05970.
[20] Zhang L., Seitz S. M. Estimating Optimal Parameters for MRF Stereo from a Single Image Pair // IEEE Transactions on Pattern Analysisand Machine Intelligence.— 2007. — Feb.— Vol. 29, no. 2.— P. 331¬342.
[21] Zhu Ke, d’Angelo Pablo, Butenuth Matthias. EVALUATION OFSTEREO MATCHING COSTS ON CLOSE RANGE, AERIAL ANDSATELLITE IMAGES // ICPRAM 2012. - 2012. - P. 379-385.