Научно-образовательный журнал для студентов и преподавателей «StudNet» №10/2020
/Эк
ЁЯ
РАЗРАБОТКА СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ ДЛЯ ОПРЕДЕЛЕНИЯ ПОЗИЦИИ И ОРИЕНТАЦИИ ОБЪЕКТА НА
ОСНОВЕ 3Б-МОДЕЛИ
DEVELOPMENT OF A TECHNICAL VISION SYSTEM FOR DETERMINING THE POSITION AND ORIENTATION OF AN OBJECT BASED ON A 3D
MODEL
УДК 004.932.2
Якимчук А. В.
студент
5 курс, факультет «Специальное машиностроение» Московский государственный технический университет им. Н. Э. Баумана Россия, г. Москва
Yakimchuk A.V. [email protected]
Аннотация
Данная статья посвящена разработке алгоритма и его практическом применении для определения координат объекта на основе его трехмерной модели и дальнометрического изображения с камеры глубины. Разработанный алгоритм включает в себя комбинацию методов регистрации облаков точек для повышения стабильности и точности при вычислении позиции и ориентации объекта. Так же в данной статье, для повышения эффективности разработанного алгоритма, представлены шаги по предварительной обработке
полученных облаков точек, что позволяет использовать разработанное решение в режиме реального времени.
Annotation
This article is devoted to the development of the algorithm and its practical application for determining the coordinates of an object based on its three-dimensional model and depth image from RGBD camera. The developed algorithm includes a combination of methods for registering point clouds to increase stability and accuracy when calculating the position and orientation of an object. Also, in this article, to increase the efficiency of the developed algorithm, the steps for preprocessing the resulting point clouds are presented, which allows you to use the developed solution in real-time.
Ключевые слова: система технического зрения, позиция объекта, RANSAC, ICP, алгоритм, режим реального времени.
Keywords: computer vision, 6-DOF pose estimation, RANSAC, ICP, realtime .
Вступление
В данной работе речь пойдет о применении облаков точек, полученных с камер глубин, которые снимают изображение, в каждом пикселе которого хранится не цвет, а расстояние до объекта в этой точке. Такие камеры существуют уже больше 20 лет, однако в последние годы скорость их развития выросла многократно и уже можно говорить про революцию в данной сфере. Ранее было проведено множество сравнительных анализов различных технологий получения дальнометрических изображений и различных устройств, как например в работе [1]. С развитием данного направления все больше работ посвящено применению данных камер в индустриальной [2] и исследователькой деятельностях [3]. При этом, разработка ведется как в направлении аппаратных средств [4], так и в области обработки дальнометрических изображений [5] под различные сферы деятельности [6]. Для многих задач на различных типах производств основной целью систем технического зрения является нахождение позиции объекта для его
последующей обработки. Именно данная задача и будет рассмотрена в данной статье.
Разработка алгоритма для определения позиции объекта
Главная цель, это найти позицию объекта при совмещении облаков точек в сцене с окклюзиями и шумом. Облако точек объекта получено из CAD-модели, тогда как облако точек сцены с определенной частотой обновляется посредством приема данных из RGBD камеры Intel RealSense 435i. Существует два основных алгоритма при совмещении облаков точек: Iterative Closest Point (ICP) [7] и Random Sampling Consensus (RANSAC) [8]. Данные алгоритмы изначально применялись в задачах навигации мобильных роботов [9]. Целью данных методов является получение матрицы перехода из дальнометрического изображения полученного в момент времени t, в изображение, полученное в момент времени t+1. Для того, чтобы использовать данные методы к задаче вычисления позиции объекта, был разработан алгоритм, представленный на рисунке 1.
Рисунок 1. Алгоритм вычисления позиции объекта
Данный алгоритм был протестирован на простых объектах (Рисунок 2). Далее рассмотрим каждый из этапов более детально.
Рисунок 2 - Экспериментальная установка и CAD-модель объекта Обрезка облака точек
На первом этапе необходимо получить карту глубин с камеры. API камеры RealSense и Robotic Operation System (ROS) предоставляют инструменты для получения изображение в необходимой структуре данных. Затем данные конвертируются в облако точек (Рисунок 3).
Рисунок 3 - Начальная сцена облака точек.
Обработка сырых данных облака точек требует больших вычислительных мощностей. Именно поэтому первым шагом необходимо обрезать нужное облако, избавившись от шума и окружающих объектов, чтобы облегчить дальнейшую работу (Рисунок 4).
Рисунок 4 - Обрезанное облако точек сцены Уменьшение разрешения облака точек
Для ускорения обработки, в данной работе был использован метод VoxeЮrid для уменьшения разрешения облака точек до 10 мм. Результат показан на рисунке 5.
Рисунок 5 - Уменьшение разрешения облака точек сцены Расчет нормалей к облаку точек
Расчет нормалей необходим для дальнейшего вычисления дескрипторов облаков, которые затем используются при совмещении. На рисунке 6 представлен результат, где зелеными линиями показаны нормали, а синими точками - исходное облако сцены.
Рисунок 6 - Вычисление нормалей
Вычисление дескрипторов
На данном этапе, для каждой точки в облаке рассчитывается гистограмма особенностей, или Point Feature Histogram (PFH)1, дескрипторы, используемые для сопоставления в процессе совмещения облаков.
PFH пытается получить информацию о геометрии, окружающей каждую точку, анализируя разницу между направлениями нормалей в окрестности. (При неточном вычислении нормалей, дескрипторы будут низкого качества).
Во-первых, алгоритм объединяет все точки в окрестности (не только выбранную точку, с ее соседями, но так же и самих соседей). Затем, для каждой пары, вычисляется их фиксированная система координат, основываясь на их нормалях. При помощи данной системы координат, разность между нормалями может быть задана тремя угловыми переменными. Данные переменные, вместе с евклидовым расстоянием между точками - сохраняются, и затем привязываются к гистограмме по мере вычисления всех пар точек (Рисунок 7) (1)-(6). Последний дескриптор, это конкатенация (сцепление) гистограммы каждой переменной (в сумме 4 переменные).
1 Проект для работы с облаками точек. [Электронный ресурс]. URL: http://pointclouds.org
Рисунок 7 - Установка пар точек при вычислении PFH
u = n
v = ux
(Pt-Ps) I |Pt Ps112
v = u x v
a = v • n
t
ф = u
(Pt-Ps) d
0 = arctan(w • nt, u • nt)
(1) (2)
(3)
(4)
(5)
(6)
Рисунок 8 - Фиксированная система координат и угловые характеристик, рассчитанные для одной из пар
Point Cloud Library (PCL) использует тип данных "PFHSignature" для сохранения дескрипторов. Это означает, что размерность дескриптора 125 (размерность вектора признаков). Деление признаков в D-мерном пространстве в B-отделах требует в сумме BD элементов. В первоначальном изложении алгоритма используется расстояние между точками, но не в
имплементации PCL, так как он был расценен как не совсем отчетливым (особенно при 2.5D сканах, где расстояние между точками возрастает при отдалении объекта от сканера). Поэтому, оставшиеся элементы (где каждый одноразмерен) можно разделить на 5 отделов, что приведет к 125-мерному вектору.
Последний объект, в котором хранятся вычисленные дескрипторы, может обрабатываться как обычное облако (даже сохраняться на диске или считываться с него), и он имеет такое же количество «точек», что и исходное облако. Например, объект «PFHSignature125» в позиции 0 хранит дескриптор PFH для точки «PointXYZ» в той же позиции в облаке.
PFH дает точные результаты, но у него есть недостаток: он требует слишком много вычислительной мощности, что делает его работу невозможной в реальном времени. Для облака с n ключевыми точками и с k соседними оно имеет сложность O(nk2). Поэтому был разработан дифференцированный дескриптор под названием FPFH (Fast Point Feature Histogram).
FPFH рассматривает только прямые соединения между ключевыми точками и ее соседями, минуя соединения между соседями. Это уменьшает сложность алгоритма до O(nk). Поэтому в результате получается гистограмма под названием SPFH (Simplified Point Feature Histogram) (Рисунок 9). Система координат и угловые переменные рассчитываются как и ранее (7).
FPFH(pq) = SPFH(pq) SPFH(pk) (7)
Рисунок 9 - Пары точек, установленные при вычислении FPFH для
одной ключевой точки
Для восполнения потерь соединений между соседними точками выполняются дополнительные шаги после вычисления всех гистограмм: элементы в SPFH соседей выбранной точки «объединяются» со своими собственными, взвешеными значениями, в зависимости от дистанции. Это дает эффект предоставления точечной информации о поверхности точками, в два раза превышающий используемый радиус. В результате 3 гистограммы (дистанция не используется) образуют цепь (конкантенацию) для описания финального дескриптора.
Дополнительная реализация оценки FPFH, которая использует преимущества многопоточной оптимизации (с OpenMP API), доступна в классе "FPFHEsvaluationOMP" PCL. Его интерфейс идентичен стандартной неоптимизированной реализации. Его использование приведет к значительному увеличению производительности в многоядерных системах, что означает более быстрое время вычислений.
Использование совмещения при помощи RANSAC
Далее, после вычисления дескрипторов, перейдем к процессу совмещения. Для этого возможно воспользоваться
<pcl::SampleConsensusPrerejective>, который имеет эффективную имплементацию алгоритма RANSAC для вычисления позиции объекта.
До начала процесса совмещения возможно увидеть облака точек сцены и объекта расположенных в заданных координатах относительно камеры (Рисунок 10).
Рисунок 10 - объект и сцена до совмещения.
Далее можно начать процесс совмещения (Рисунок 11).
,v ii-.. ■ ■ . ■
W- , **1 j* f ,
fi :f' ' Vr ■ : • ИГ j . *> I 'JO: ■ :: .f
■■■- ' J
Рисунок 11 - RANSAC совмещение
Как видно, алгоритм RANSAC с правильно подобранными параметрами показывает результат - близкий к желаемому, но для точного выполнения технологических операций этого бывает недостаточно.
Именно поэтому данный результат можно использовать как первое приближение для алгоритма Iterative Closest Point.
ICP совмещение
В основе данного алгоритма лежит принцип уменьшения расстояния до ближайших соседних точек в облаке.
До ICP
После ICP
Рисунок 13- Финальные результаты совмещения.
Результатами методов регистрации облаков точек RANSAC и ICP являются матрицы перехода из систем координат (СК) полученного облака точек с камеры, в СК облака точек, полученного в результате конвертации CAD-модели искомого объекта.
Результирующая матрица перехода может быть представлена в виде (8):
rpobj _ rpcam х "pCAD ^ ^RANSAC ^ ^ICP /g\
pc pc V /
, где
Tcam - переход от мировой СК в СК камеры
TCAD - переход между СК камеры и заданной CAD моделью (может быть задана в CAD-системах как Inventor, Blender3D, SolidWorks, etc.)
переход между CAD моделью и сценой, полученный при помощи RANSAC
RANSAC Tpc
TpCP - переход между совмещенной моделью RANSAC и ICP моделью
K^^bm переход из X в Y представлен в виде (9):
Xt
yt
TY _ TX _
R
000
zt 1
(9)
, где
R -матрица поворота.
(X Уt zt)T - вектор перехода.
Заключение
Таким образом был разработан и протестирован алгоритм для нахождения позиции и ориентации объекта при совмещении его трехмерной модели и дальнометрического изображения с RGBD камеры. Дальнейшие разработки будут направлены на повышение устойчивости алгоритма путем обработки не только дальнометрического изображения, но и текстуры RGBD изображения, что повысит точность вычисления позиции более сложных и симметричных объектов.
Литература
1. L. Sabattini, A. Levratti, F. Venturi, E. Amplo, C. Fantuzzi and C. Secchi, "Experimental comparison of 3D vision sensors for mobile robot localization for industrial application: Stereo-camera and RGB-D sensor," 2012 12th International Conference on Control Automation Robotics & Vision (ICARCV), Guangzhou, 2012, pp. 823-828, doi: 10.1109/ICARCV.2012.6485264.
2. Howard Mahe, Denis Marraud, Andrew I. Comport. Real-time RGB-D semantic keyframe SLAM based on image segmentation learning from industrial CAD models. International Conference on Advanced Robotics, Dec 2019, Belo Horizonte, Brazil.
3. L. Cruz, D. Lucio and L. Velho, "Kinect and RGBD Images: Challenges and Applications," 2012 25th SIBGRAPI Conference on Graphics, Patterns and Images Tutorials, Ouro Preto, 2012, pp. 36-49, doi: 10.1109/SIBGRAPI-T.2012.13.
4. X. Ren, D. Fox and K. Konolige, "Change Their Perception: RGB-D for 3-D Modeling and Recognition," in IEEE Robotics & Automation Magazine, vol. 20, no. 4, pp. 49-59, Dec. 2013, doi: 10.1109/MRA.2013.2253409.
5. Y. Liu, Y. Gu, J. Li and X. Zhang, "Robust Stereo Visual Odometry Using Improved RANSAC-Based Methods for Mobile Robot Localization," Sensors, vol. 17, p. 2339, 2017.
6. F. Bellavia, M. Fanfani and C. Colombo, "Selective visual odometry for accurate AUV localization," Autonomous Robots, vol. 41, pp. 133-143, 2017.
7. T. Zinsser, J. Schmidt and H. Niemann, "A refined ICP algorithm for robust 3-D correspondence estimation," Proceedings 2003 International Conference on Image Processing (Cat. No.03CH37429), Barcelona, Spain, 2003, pp. II-695, doi: 10.1109/ICIP.2003.1246775.
8. P. Torr and C. Davidson. IMPSAC: A synthesis of importance sampling and random sample consensus to effect multi-scale image matching for small and wide baselines. In European Conference on Computer Vision, pages 819-833, 2000
9. Donghwa Lee, Hyongj in Kim and Hyun Myung, "GPU-based real-time RGB-D 3D SLAM," 2012 9th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI), Daejeon, 2012, pp. 46-48, doi: 10.1109/URAI.2012.6462927.