Регистрация / Вход
Прислать материал

Виртуальная система стерео-зрения и реконструкции пространства

Сведения об участнике
ФИО
Зарипов Бикбулат Фоатович
Вуз
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Казанский национальный исследовательский технический университет им. А.Н.Туполева-КАИ»
Тезисы (информация о проекте)
Область наук
Информационные технологии и вычислительные системы
Раздел области наук
Информационные технологии
Тема
Виртуальная система стерео-зрения и реконструкции пространства
Резюме
В данной работе представлена виртуальная система калибровки камер стерео-пары для автоматизации работы промышленных манипуляторов. Система создана на базе игрового движка Unity3D с использованием библиотек компьютерного зрения OpenCV. Предложен новый алгоритм фильтрации карты глубины для снижения уровня шумов. Программа работает в реальном времени и позволяет вычислять глубину пространства по изображениям с левой и правой виртуальных камер, восстанавливая трехмерный образ окружающего пространства. Особое внимание уделено оригинальному алгоритму пост-фильтрации карты глубины, который позволяет сгладить неровности и удалить шумы на карте, тем самым повысив точность.
Ключевые слова
стереозрение, компьютерное зрение, робототехника, аддитивные технологии
Цели и задачи
Разработка системы машинного зрения для любого роботизированного манипулятора для эффективной ориентации робота в пространстве и максимальной автоматизации его работы
Введение

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

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

   Существует множество различных способов нахождения объектов в поле зрения с помощью стерео-камер. Объекты вырисовываются на карте несоответствий и само получение этой карты имеет множество методов. Сумма абсолютных разностей (Sum of Absolute Differences (SAD)) один из самых простых способов вычисления карты несоответствий, который вычисляется вычитанием значений пикселей в заданном квадрате из из изображений между левой и правой камерами, и последующим аггрегированием абсолютных разностей, а также оптимизацией результата. Если оба изображения с камер идентичны, то результат будет равен нулю. Формула SAD представлена ниже.

\(\displaystyle\sum_{i, j}^{} |I_1 (i, j) - I_2 (x + i,y+j)|\)

Формула суммы абсолютных разностей (SAD). Где: I1 I2 левое и правое изображения соответственно, (i, j) координаты пикселей, x y коэффициенты.

Находящася, таким образом, карта глубины руководствуется таким правилом: чем больше сдвиг объекта по горизонтали то тем ближе он находится к камерам (Рис. 1)

Рис. 1. Несоответствие в стерео-парах. Чем ближе объект по отношению к камерам, тем сильнее несоответствие.

 

Для имплементации, тестирования и отладки метода суммы абсолютных разностей используются библиотеки компьютерного зрения OpenCV (opencv.org) , а также инструментарий для создания приложений и игр Unity (unity3d.com).

 

Описание и обсуждение результатов

На данном этапе работы результатом проделанного труда является приложение, в котором имеется трёхмерное пространство в виде гостинной комнаты, а также три камеры: левая, правая, центральная, изображения которых можно видеть в углу экрана. Все три камеры закреплены на так называемой базисной линии (Рис.1). Пользователь в состоянии перемещать и вращать камеры меняя тем самым угол обзора и точку наблюдения. Центральная камера являет собой перспективу смотрящего на всю сцену целиком и не участвует ни в каких вычислениях и операциях со стерео-зрением. "Полёт" камеры в трёхмерном пространстве осуществляется клавишами WASD и левой кнопкой мыши, где удерживание ЛКМ и передвижение мыши регулирует угол обзора, а клавиши отвечают за передвижение вперёд-назад и боковые перемещения (стрейф) относительно угла обзора.

Рис.1. Камеры приложения.

 

Главная же часть программы состоит в отображении карты несоответствий (Disparity Map), которая вычисляется из изображений правой и левой камер. Disparity Map отображается возле изображений с камер и изменяется в зависимости от настроек и точки наблюдения (Рис.2).

Рис.2. Изображения с левой и правой камер, а также карта несоответствий.

 

По мимо простого отображения карты несоответствий, в программе имеется возможность оптимизировать и настраивать карту. Делается это ползунками, регулирующими настройки коэффициентов и всевозможные параметры, которые участвуют в вычислениях. В добавок в программе имеются кнопки, регулирующие угол поворота камер относительно базисной линии (прямой, на которой лежат камеры), позволяя тем самым "косить" боковые камеры между собой для фокусировки (Рис.3).

Рис.3. Ползунки настроек и кнопки регулировки углов боковых камер.

 

Далее в программу имплементирован алгоритм собственной разработки, который работает по следующему принципу:

  1. Чтение всех точек на карте глубины с последующей группировкой пикселей по значениям  ~10%.
  2. Постройка гистограммы: число точек в зависимости от заложенной в них глубины.
  3. Определение шумов: это точки с самой редко встречающейся глубиной.
  4. Замена глубины пикселей средними значениями глубины 50% самых часто встречающихся точек.
  5. Дополнительная коррекция глубины «шумовой» точки путем усреднения глубин от близлежащих пикселей.

В итоге программа снижает показатель шума на картах глубины на 14-19% (Рис. 4, 5). Как результат точность увеличивается в разы, снижая производительность программы всего лишь на 15%.

 

Рис. 4. Показатель шума на карте глубины до фильтрации

Рис. 4. Показатель шума на карте глубины после фильтрации

Используемые источники
1. Anders, O. Modern Stereo Correspondence Algorithms: Investigation and evaluation /
O. Anders // 2010. – 102р.
2. Depth estimation from stereo cameras / http://www.cs.tut.fi/kurssit/SGN-1656/assignments/DepthEstimation/stereo_instructions.pdf. Дата обращения: 15.06.2016.
3. Richardson, E. H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia / E. Richardson // 2003. – 306р.
4. John, L. Computer Architecture: A Quantitative Approach / L. John, D. Hennessy, D. Patter-son // Computer Architecture, 5th Edition –2011. – 856p.
5. Документация по Unity3D / http://docs.unity3d.com/current/Manual/index.html. Дата об-ращения: 05.04.16
6. Zhu, S. A New Diamond Search Algorithm for Fast Block-Matching Motion Estimation / S. Zhu, K. Ma // Transactions on Image Processing, Volume 9, Issue 2 – 2000. – 290p.

Information about the project
Surname Name
Zaripov Bikbulat
Project title
A virtual system for stereo vision and space reconstruction
Summary of the project
Robotics are the essential part of the additive and laser technologies since this field of duty requires a very high accuracy, being eather a simple laser etching or a high accuracy copy of a 3D virtual model embodied in life via 3D printer. For further perfection of robot-manipulator usage the decision was made to develop the computer vision systemwhich uses two cameras simultaniously. As a result there will be an ability for the robot to destinguish objects and distance to them. The developement is based on the open source computer vision library - OpenCV.
Keywords
Stereo vision, computer vision, robotics, additive technologies