Научная статья на тему 'Разработка системы стереозрения для мобильного робота'

Разработка системы стереозрения для мобильного робота Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1647
231
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПОЗНАВАНИЕ ОБРАЗОВ / СТЕРЕОЗРЕНИЕ / ROBOT OPERATING SYSTEM (ROS) / СИСТЕМЫ УПРАВЛЕНИЯ / РОБОТОТЕХНИКА / КАЛИБРОВКА КАМЕР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ульянов С. В., Решетников А. Г., Кошелев К. В.

Основным источником развития робототехнических систем и систем искусственного интеллекта является усовершенствование вычислительной техники, устройств и сенсоров, позволяющих получать информацию об окружающей среде. Этот процесс неразрывно связан с развитием ПО бортовых процессоров, которые используются при управлении автономным роботом. В данной статье приводится краткое описание модуля разрабатываемой системы распознавания образов автономного робота, базирующегося на технологии стереозрения. В настоящее время все чаще упоминаются системы, состоящие из комбинаций нескольких видеокамер, лазерных радаров, тепловизоров и других источников получения информации об окружающей среде. Широкое применение оборудование такого класса получило при создании автопилотов для транспортных средств, систем контроля безопасности, беспилотной авиаразведки, различных бытовых роботов. Применение стереозрения позволяет получать данные о глубине изображения и расстоянии до объектов, строить трехмерную картину окружающего мира. В работе также дано описание настройки используемого оборудования (пара камер, закрепленных на общем основании): описан процесс калибровки стереопары (поиск калибровочного шаблона на изображении производился с помощью фреймворка ROS). Изображения, полученные с камер, подвергаются ректификации – преобразованию, при котором оба изображения проецируются на плоскость, параллельную линии, соединяющей оптические центры камер. В статье рассмотрены основы проективных преобразований и эпиполярной геометрии, а также идея, лежащая в основе построения карт глубины и смещений. В качестве результата представлен программный модуль распознавания, разработанный с помощью языка программирования Python.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ульянов С. В., Решетников А. Г., Кошелев К. В.

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

The main development source of robotic systems and artificial intelligence systems is improvement of computer technology, devices and sensors that allow obtaining information about the environment. This process is inextricably linked with the development of software on-board processors, which are used in autonomous robot managing. The article gives a brief description of a module of a developed image recognition system for an autonomous robot, which is based on a stereo vision technology. Nowadays, more and more articles mention the systems consisting of combinations of several video cameras, laser radars, ther-mal imagers and other sources of information about the environment. Equipment of this class became widespread when creating au-topilots for vehicles, security control systems, unmanned aerial reconnaissance, various household robots. Stereo vision allows ob-taining data on image depth, the distance to objects. It also provides an opportunity to build a three-dimensional picture of the sur-rounding world. The paper describes the configuration of the equipment used (a pair of cameras fixed on a common base): a stereopair calibrating process, the calibration pattern on the image was searched using the ROS framework. Images obtained from cameras are subjected to rectification (a transformation when both images are projected onto a plane parallel to the line that connects the optical centers of the cameras). The article considers the fundamentals of projective transformations and epipolar geometry. The paper presents the idea that un-derlies the construction of depth and displacement maps. As a result, it presents a recognition software module developed using the Python programming language.

Текст научной работы на тему «Разработка системы стереозрения для мобильного робота»

УДК 004.932 Дата подачи статьи: 20.04.17

DOI: 10.15827/0236-235X.030.3.435-438 2017. Т. 30. № 3. С. 435-438

РАЗРАБОТКА СИСТЕМЫ СТЕРЕОЗРЕНИЯ ДЛЯ МОБИЛЬНОГО РОБОТА

С.В. Ульянов, д.ф.-м.н., профессор, [email protected]; А.Г. Решетников, к.т.н., доцент, [email protected]; К.В. Кошелев, студент, Mrill_ko>[email protected] (Университет «Дубна», Институт системного анализа и управления, ул. Университетская, 19, г. Дубна, 141980, Россия)

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

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

В работе также дано описание настройки используемого оборудования (пара камер, закрепленных на общем основании): описан процесс калибровки стереопары (поиск калибровочного шаблона на изображении производился с помощью фреймворка ROS). Изображения, полученные с камер, подвергаются ректификации - преобразованию, при котором оба изображения проецируются на плоскость, параллельную линии, соединяющей оптические центры камер.

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

Ключевые слова: распознавание образов, стереозрение, Robot Operating System (ROS), системы управления, робототехника, калибровка камер.

В большинстве случаев для машинного зрения и распознавания достаточно использовать одну камеру [1-3]. Стереозрение, в определенной степени повторяя особенности развития природного зрения, позволяет бортовой системе получать информацию не только о цвете и яркости объекта, но и о расстоянии до него, о его геометрической форме, о препятствиях на пути к объекту. В технологии стереозрения используются, как правило, две камеры, работающие синхронно, что позволяет восстанавливать форму и расположение наблюдаемых объектов в трехмерном пространстве. При этом создается трехмерная полигональная модель какого-либо объекта, формируемая на основе анализа изображений этого объекта, полученных разнесенными в пространстве камерами.

Для операционной системы робота Robot Operating System (далее ROS) был разработан программный модуль распознавания объектов [4]. Фреймворк ROS представляет собой набор библиотек, утилит и соглашений. Система ROS предоставляет разработчику большое количество вспомогательного кода, позволяя ему сконцентрироваться на важнейших частях создаваемого ПО. Создание программного модуля распознавания объектов состоит из следующих этапов: настройка стереопары из двух камер, построение карты смещений, использование карты смещений для получения облака точек с помощью 3D-визуализатора Rviz, создание программного модуля распознавания объектов на языке программирования Python.

Настройка стереопары из двух камер

Данная настройка является первым этапом при проектировании системы стереозрения в ROS. Для выполнения поставленной задачи была использована пара камер, соединенных общим основанием. Для обеспечения возможности обмена данными между ROS и камерами необходимо создать в рабочем каталоге, который связан с ROS, пакет с файлом инициализации. В файле содержатся параметры для работы с изображением, а именно разрешение, имена видеоустройств. Каждая камера по сути становится узлом с определенным именем, а узлы, в свою очередь, взаимодействуют с ROS [4].

Калибровка камер позволяет исправлять дис-торсию (аберрацию оптических систем), при которой коэффициент линейного увеличения изменяется по полю зрения объектива. При этом нарушается геометрическое подобие между объектом и его изображением. Калибровка стереопары проводится с помощью фреймворка ROS методом шахматной доски. Калибровка камер обычно выполняется за счет многократной съемки калибровочного шаблона, на изображении можно легко выделить ключевые точки (рис. 1), для которых известны их относительные положения в пространстве.

Затем находятся коэффициенты, связывающие координаты проекций, матрицы камер и положения точек шаблона в пространстве [4, 5].

о

scale

Ключевые точки

Рис. 1. Процесс калибровки (выделение ключевых точек) Fig. 1. The calibration process (selection of key points)

Построение карты смещений

Для построения трехмерного изображения с помощью 3D-визуализатора Rviz используются карты глубины и карты смещений. Рассмотрим такое понятие, как карта глубины [6]. Карта глубины -это способ представления объемных 3D-изображе-ний в виде изображения, в котором каждому пикселю присваивается дополнительный параметр -глубина. Этот параметр показывает, на каком расстоянии от плоскости изображения расположен данный пиксель. Карта глубины может быть получена с помощью специальной камеры глубины (например, сенсор КтеС является своего рода такой камерой), а также может быть построена по изображениям, полученным со стереопары.

При построении карты смещений для каждой точки на одном изображении выполняется поиск парной ей точки на другом изображении. По паре соответствующих точек можно выполнить триангуляцию и определить координаты их прообраза в трехмерном пространстве. При известных трехмерных координатах прообраза глубина вычисляется как расстояние до плоскости камеры (рис. 2). Для каждой точки на изображении с первой камеры соответствующую ей парную точку нужно искать в той же строчке на изображении со второй камеры. Для каждого пикселя левого изображения с координатами (х0, у0) выполняется поиск соответствующего пикселя на правом изображении. При этом предполагается, что пиксель на правом изображении должен иметь координаты (х0 - ё, у0), где ё -величина, называемая смещением (рис. 2) [7, 8]. Поиск соответствующего пикселя выполняется путем вычисления максимума функции отклика, в качестве которой может выступать, например, корреляция окрестностей пикселей. В результате получается карта смещений (рис. 3).

Получение облака точек с помощью 3Б-визуализатора Rviz

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

Левая камера Правая камера

Рис. 2. Поиск соответствующих пар точек Fig. 2. Search for matching pairs ofpoints

Рис. 3. Полученная карта смещений Fig. 3. A displacement map

¿3 Interact -it' Move Camera

Displays

• Global Options Fixed Frame

Background C... ■ 48; 48; 48 Frame Rate 30

• Global Status:...

9 Fixed Frame No tf data. Actual e... ■» Grid m

amera /\ /

1. Устанавливаем значение usb cam

2. Добавляем облако точек

О Timy

ROS »ne

By display type By topic

► /image.mono

► /image_raw

► /image_rect

► /image_rect_color ▼ /points2

r;: PointCloud2 » /right

► /imagej *■ /¡mage_mor

Show unvisualiiable to Description:

Display Name

3. Выбираем тип

1468929294.49 ROSEIapsed: 44.19 Wail Time: 14689292

Resit Left-Click: Rotate. MWdle-Clkk: Move X/Y. Rlght-clkk/Mouse Wheel: Zoom. SI

Рис. 4. Добавление облака точек Fig. 4. Adding a point cloud

робот под управлением ROS, используя полученные данные об объектах и препятствиях, сможет автономно перемещаться в этом помещении. Первоначально в области глобальных настроек Global Options напротив поля Fixed Frame указываем имя пакета, посредством которого ROS взаимодействует с камерами. Затем нажимаем кнопку Add и выбираем из списка PointCloud2 (рис. 4).

Сообщение sensor_msgs/PointCloud2 описывает облако точек в трехмерном пространстве [4]. На рисунке 5 показано трехмерное изображение, полученное с помощью стереопары из двух камер.

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

При выполнении задачи распознавания объектов программный код создавался на языке программирования Python. В качестве объекта был выбран шар желтого цвета. Разработанный модуль производит распознавание объекта (рис. 6).

Следует также отметить, что данный модуль позволяет осуществлять слежение за объектом. Однако программа распознает лишь те объекты, форма и цвет которых указаны непосредственно в коде, что несколько снижает ее эффективность. Решить данную проблему можно путем введения самоорганизации в процесс распознавания. Для повышения точности и качества распознавания при разработке системы будут использоваться интеллектуальные вычисления (применение нейросете-вого подхода с элементами нечеткой логики и эволюционных алгоритмов обучения) [9, 10].

Заключение

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

Рис. 5. SD-изображение, полученное с помощью

визуализатора Rviz Риа 6 Распознавание шара

Fig. 5. 3D image obtained with the Rviz visualizer Fig 6 Bal1 recognition

щих объектов. Результатом является программный модуль, с помощью которого осуществляется распознавание объектов и слежение за ними. Использование двух камер (стереопары) позволяет значительно повысить качество распознавания объектов. Изобилие систем машинного зрения не устраняет главные недостатки систем распознавания (погрешность распознавания при изменении ракурса объекта, изменение освещения, чувствительность ПО и т.д.) [10]. Использование интеллектуальных вычислений в совокупности с технологией сте-реозрения позволяет создать эффективную систему распознавания.

Литература

1. Kuznetsova A., Sigal L. Expanding object detector's Horizon: Incremental Learning Framework for object detection in videos. IEEE Conf. CVPR 2015. URL: https://www.disneyre-search.com/publication/expanding-object-detectors-horizon/ (дата обращения: 19.03.2017).

2. Распознавание образов для программистов: примеры работ. URL: http://recog.ru/ (дата обращения: 9.03.2017).

3. Яне Б. Цифровая обработка изображений. М.: Техносфера, 2007. 584 с.

4. Robot operating system (ROS): documentation, support, tutorials. URL: http://wiki.ros.org/ (дата обращения: 22.02.2017).

5. Szpytko J., Hyla P. Stereovision 3D type workspace mapping system architecture for transport devices. Jour. of KONES Powertrain and Transport, 2010, vol. 17, pp. 496-502.

6. Pentland A.P. Depth of Scene from Depth of Field. Proc. Image Understanding Workshop, 1982, pp. 253-259.

7. Bobick A.F., Intille S.S. Large occlusion stereo. Int. Jour. of Computer Vision, 1999, vol. 33, pp. 181-200.

8. Форсайт Д.А., Понс Ж. Компьютерное зрение: современный подход. М.: Вильямс, 2004. 928 с.

9. Ульянов С.В., Добрынин В.Н., Нефедов Н.Ю., Петров С.П., Полунин А.С., Решетников А.Г. Генетические и квантовые алгоритмы. Ч. 1. Инновационные модели в обучении // Системный анализ в науке и образовании. 2010. № 3. URL: http:/www.sanse.ru/archive/17 (дата обращения: 11.03.2017).

10. Ульянов С.В., Петров С.П. Квантовое распознавание лиц и квантовая визуальная криптография: модели и алгоритмы // Системный анализ в науке и образовании. 2012. № 1. URL: http:/www.sanse.ru/archive/23 (дата обращения: 11.03.2017).

Software & Systems Received 20.04.17

DOI: 10.15827/0236-235X.030.3.435-438 2017, vol. 30, no. 3, pp. 435-438

DEVELOPMENT OF A PATTERN RECOGNITION SYSTEM FOR A MOBILE ROBOT

S.V. Ulyanov, Dr.Sc. (Physics and Mathematics), Professor, [email protected] A.G. Reshetnikov, Ph.D, Senior Lecturer, [email protected] K. V. Koshelev, Student, [email protected]

1 Dubna State University, Institute of the system analysis and management, Universitetskaya St. 19, Dubna, 141980, Russian Federation

Abstract. The main development source of robotic systems and artificial intelligence systems is improvement of computer technology, devices and sensors that allow obtaining information about the environment. This process is inextricably linked with the development of software on-board processors, which are used in autonomous robot managing. The article gives a brief description of a module of a developed image recognition system for an autonomous robot, which is based on a stereo vision technology.

Nowadays, more and more articles mention the systems consisting of combinations of several video cameras, laser radars, thermal imagers and other sources of information about the environment. Equipment of this class became widespread when creating autopilots for vehicles, security control systems, unmanned aerial reconnaissance, various household robots. Stereo vision allows obtaining data on image depth, the distance to objects. It also provides an opportunity to build a three-dimensional picture of the surrounding world.

The paper describes the configuration of the equipment used (a pair of cameras fixed on a common base): a stereopair calibrating process, the calibration pattern on the image was searched using the ROS framework. Images obtained from cameras are subjected to rectification (a transformation when both images are projected onto a plane parallel to the line that connects the optical centers of the cameras).

The article considers the fundamentals of projective transformations and epipolar geometry. The paper presents the idea that underlies the construction of depth and displacement maps. As a result, it presents a recognition software module developed using the Python programming language.

Keywords: stereovision, pattern recognition, Robot Operating System (ROS), control systems, robotics, camera calibration.

References

1. Kuznetsova A., Sigal L. Expanding object detector's horizon: incremental learning framework for object detection in videos. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) 2015. Available at: https://www.disneyresearch.com/publication/expanding-ob-ject-detectors-horizon/ (accessed March 19, 2017).

2. Raspoznavanie obrazov dlya programmistov: primery rabot [Image Recognition for Programmers: Examples]. Available at: http://recog.ru/ (accessed March 9, 2017).

3. Yane B. Tsifrovaya obrabotka izobrazheny [Digital Image Processing]. Moscow, Tekhnosfera, 2007, 584 p.

4. Ros.org. Robot Operating System (ROS): documentation, support, tutorials. Available at: http://wiki.ros.org/ (accessed February 22, 2017).

5. Szpytko J., Hyla P. Stereovision 3D type workspace mapping system architecture for transport devices. Jour. of KONES Powertrain and Transport. 2010, vol. 17, pp. 496-502.

6. Pentland A. P. Depth of scene from depth of field. Proc. Image Understanding Workshop. 1982, pp. 253-259.

7. Bobick A.F., Intille S.S. Large occlusion stereo. Int. Jour. of Computer Vision. 1999, vol. 33, pp. 181-200.

8. Forsyth D.A., Ponce J. Computer Vision: a Modern Approach. Prentice Hall Publ., 2003, 693 p. (Russ.ed.: Moscow, 2004, 928 p.).

9. Ulyanov S.V., Dobrynin V.N., Nefedov N.Yu., Petrov S.P., Polunin A.S., Reshetnikov A.G. Genetic and quantum algorithms. Pt. 1. Innovative models in training. Sistemny analiz v nauke i obrazovanii [Jour. of Systems Analysis in Science and Education]. 2010, no. 3. Available at: http:/www.sanse.ru/archive/17 (accessed March 11, 2017).

10. Ulyanov S.V., Petrov S.P. Quantum Face Recognition and Quantum Visual Cryptography: Models and Algorithms. Sistemny analiz vnauke i obrazovanii [Jour. of Systems Analysis in Science and Education]. 2012, no. 1. Available at: http:/www.sanse.ru/archive/23 (accessed March 11, 2017).

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