Cloud of Science. 2019. T. 6. № 3 http://cloudofscience.ru
Алгоритм семантической сегментации трехмерных сцен1
С. Я. Каздорф, Ж. С. Першина
Новосибирский государственный технический университет 630070, Новосибирск, просп. К. Маркса, 20
e-mail: pershina@tiger.cs. nstu. ru
Аннотация. В работе предлагается алгоритм сегментации трехмерных сцен, основанный на семантической сегментации последовательности изображений на основе сверточных нейронных сетей, с последующей проекцией результатов на реконструированную трехмерную модель наблюдаемой сцены, представленную облаком 3D-точек. Работоспособность и оценка точности алгоритма подтверждается результатами экспериментов.
Ключевые слова: сверточные нейронные сети, семантическая сегментация, облако 3D-точек.
1. Введение
В области распознавания образов на изображении сформировался новый подход, называемый семантической сегментацией, который основывается на глубоких сверточных нейронных сетях (от англ. convolutional neural network, CNN) [1-4]. Реализация данного подхода обеспечивает попиксельную локализацию и классификацию объектов на изображении наблюдаемой сцены. Ключевыми факторами для развития этого подхода являются наличие большого количества аннотированных наборов данных [5-7] для обучения алгоритмов 2D-семантической сегментации объектов на изображении и реализация сверточных нейронных сетей на графических процессорах.
Распространение доступных высокотехнологичных датчиков, на основе данных от которых выполняется трехмерная реконструкция сцены, таких как лазерные дальномеры, стереокамеры или RGB-D-камеры, позволяет перейти к семантической сегментации объектов в трехмерном пространстве. Это особенно актуально при решении задач визуальной навигации в робототехнике, поскольку робот сможет полагаться не только на информацию о том, какие объекты находятся в сцене, но также где эти объекты расположены.
Несмотря на широкий спектр решений в области 2D-семантической сегментации, семантическая сегментация объектов в трехмерном пространстве по-прежнему
1 Исследование выполнено при финансовой поддержке РФФИ, проект № 18-58-76003.
представляет собой сложную проблему. Существующие решения, основанные на 3Б-архитектурах сверточных нейронных сетей (3D-CNN) [8-15], на сегодняшний день обладают рядом ограничений. Такие методы, как правило, основываются на воксельной модели представления окружающего пространства. Основным элементом данной модели является воксель (от англ. volume element, voxel). Однако вок-сельные модели трудно применять при картографировании больших сред из-за высокой пространственной сложности и вычислительной стоимости при достаточной детализации. Это связано с тем, что разрешение должно быть достаточно хорошим, чтобы захватывать важные элементы окружающего пространства. Также данное ограничение не позволяет применить данные методы в режиме реального времени. Меньшей пространственной сложностью обладает модель в виде облака 3D-точек, представляющее собой набор вершин в трехмерной системе координат. Эти вершины определяются координатами X, Г и Z и, как правило, предназначены для представления внешних поверхностей объектов. Другим существенным ограничением применения 3D-CNN для решения задачи семантической сегментации объектов в трехмерном пространстве является отсутствие достаточного количества качественно аннотированных данных трехмерных сцен, в то время как для 2D-семантической сегментации на сегодняшний день имеется множество наборов данных для обучения, размещенных в открытом доступе. Поэтому в рамках данной работы рассмотрен подход, основанный на сегментации последовательности изображений, с последующей проекцией результатов семантической сегментации на реконструированную трехмерную модель наблюдаемой сцены, представленную облаком точек. Алгоритмическая реализация данного подхода предполагает решение следующих задач:
1. Семантическая сегментация объектов на последовательности изображений.
2. 3Б-реконструкция сцены.
3. Проекция результатов семантической сегментации на реконструированную 3Б-модель сцены.
Целью вычислительного эксперимента является оценка точности и производительности предложенного алгоритма.
2. Семантическая сегментация объектов на изображении
Семантическая сегментация объектов на изображениях реализуется на основе свер-точной нейронной сети. В процессе обучения сверточной нейронной сети происходит извлечение обобщенных признаков объектов в виде набора весов фильтров. Результатом обработки изображения сверточной нейронной сетью является матрица вероятности принадлежности к определенному классу каждого пикселя обрабатываемого изображения.
В рамках исследования в качестве модели сверточной нейронной сети, предназначенной для семантической сегментации, использована модель DeepLab v3+, которая на сегодняшний день обладает лучшими показателями точности [4].
Программная реализация модели семантической сегментации объектов на изображении, процедуры ее обучения и логический вывод осуществляется с использованием нейросетевой библиотеки Keras. Для этого требуется описание архитектуры сверточной нейронной сети в терминах последовательности связанных слоев и их параметров, а также описание параметров алгоритма обучения.
Для процедуры семантической сегментации изображений применены веса модели DeepLab v3+, обученной на наборе данных Pascal VOC [5]. С целью улучшения результатов сегментации была применена постобработка методом CRF (от англ. Conditional Random Field, CRF), который корректирует значения вероятности принадлежности к одному из классов, присвоенные пикселям, на основании геометрической близости и цветовой схожести последних (1).
E(x) = (x,) + (x,, xjX
i i<j
где (x ) — унарный потенциал; у (xi, x.) — парный потенциал.
Применительно к результатам обработки сверточной нейронной сети в качестве унарного потенциала выступает отрицательный логарифм распределения принадлежности пикселя к определенному классу. В данной работе парный потенциал был составлен из комбинации двух функций (2), первая из которых зависела от расстояния между пикселями и их различием в цвете, вторая — только от расстояния между пикселями.
( fl „ „ |2l IT- 7 fl „ „ |2
Уp(X,X) = xi, X)
(!) Ji Р, - Р3 I2 I I I, - Ij
ш( )exp 1-— J--j
1 26^ J 262
■o(2'expJ, (2)
где 9а, В — параметры близости; 9р — параметры близости по цвету; ц,(х1, х.) —
функция равенства метки класса; ш() — веса.
Получение семантической разметки двумерного изображения происходит за счет выбора класса с наибольшей вероятностью для каждого пикселя обрабатываемого изображения, примеры результатов семантической сегментации приведены на рис. 1.
Рисунок 1. Примеры семантической сегментации объектов на изображении
3. Реконструкция трехмерной сцены
Трехмерная модель сцены представляет собой облако точек в виде набора вершин, которые определены координатами X, Y, Z и предназначены для представления внешней поверхности объектов сцены.
Облако SD-точек может быть получено на основе данных лазерных дальномеров, стереокамеры или RGB-D-камеры. В рамках представленного исследования используются данные RGB-D-камеры.
Данные, получаемые от RGB-D-камеры, представляют собой цветное (RGB) изображение (рис. 2а), карту глубины (рис. 2б), а также данные о повороте и смещении камеры относительно начальной точки в виде матрицы поворота и смещения камеры (RT-матрица).
ЯЬл
a) 6)
Рисунок 2. Изображения RGB-D камеры: а) цветное (RGB) изображение; б) карта глубины
Формирование облака SD-точек (рис. 3) выполняется с помощью алгоритма ICP (от англ. Iterative Closest Point — итеративный алгоритм ближайших точек) [16]. Данный алгоритм позволяет итерационно совместить по два облака SD-точек, основываясь на минимизации среднего расстояния между двумя облаками точек (3). Для двух заданных трехмерных облаков точек S1 и S2 алгоритм находит наилучшее преобразование (трансформацию), переводящее S в S •
Пусть {(s1, 5f)}^ — множество пар ближайших точек для S и S2. В процессе работы алгоритма минимизируется среднее расстояние между облаками точек S и
S2.
1 "
E = 77Z d ( s1, s2 mi^
где d(•, •) — евклидово расстояние между двумя точками.
(3)
Рисунок 3. Трехмерная модель наблюдаемой сцены в виде облака 3D-точек, полученного с использованием алгоритма ICP
4. Семантическая разметка облака точек
Разметка трехмерной модели внешней среды выполняется на основе обратного преобразования перспективной проекции (4) с использованием данных семантической сегментации объектов на изображениях:
меры; и, V, ^ — однородные пиксельные координаты; [X7Z1 ]Т — мировые координаты.
В результате обратной проекции каждого пикселя сегментированного изображения на соответствующую ему точку в трехмерном пространстве данной 3D-точке присваивается вектор вероятности принадлежности классам.
В случае, когда на одну и ту же 3D-точку приходятся результаты семантической сегментации нескольких пикселей, точке присваивается сумма векторов вероятностей данных пикселей. Впоследствии для каждой точки выбирается один класс с максимальным значением вероятности принадлежности:
где р =[p, p2,..., pn]; n — число классов; m — число пикселей, спроецированных
на точку; c — метка класса.
Таким образом, становится возможным выделение объектов отдельных классов на размеченной 3D=модели.
5. Экспериментальные исследования
Оценка точности предложенного алгоритма семантической сегментации трехмерных сцен выполнена на наборе данных ScanNet v2 [8]. ScanNet v2 состоит из RGB-D последовательностей 1513 сцен, облаков 3D-точек, имеющих семантическую разметку по 20 классов объектов. В данном исследование рассмотрено 8 сцен, которые наиболее репрезентативно отражают выбранные классы объектов: стол, стул, диван. Перечисленные классы представлены как в обучающем наборе данных Pascal VOC, так и в тестовом наборе ScanNet v2. В качестве оценки качества трехмерной семантической сегментации использована метрика IoU (от англ. Intersection over Union) (6).
u
(5)
TP
IoU =-, (6)
TP + FP + FN
где TP (от англ. — True Positive) — верно принятое; FP (от англ. — False Positive) — неверно принятое (ошибка первого рода); FN (от англ. — False Negative) — неверно отвергнутое (ошибка второго рода).
Результаты оценки качества семантической сегментации для отдельных сцен, а также их названия в наборе данных ScanNet v2 представлены в таблице (отсутствие значения IoU связано с отсутствием требуемого класса объектов в сцене). Примеры семантической сегментации облаков 3D-точек приведены на рис. 4.
Наилучший результат точности алгоритма с использованием метрики IoU получен на объекте диван и составляет 0.5148.
Таблица. Результаты оценки качества семантической сегментации для отдельных сцен
ID сцены IoU
стул стол диван
scene0022 00 0.3265 0.4295 0.3790
scene0027 00 0.3523 - 0.7602
scene0087 01 0.3620 0.2026 0.4529
scene0089 00 0.6066 - -
scene0248 00 0.6100 0.4160 -
scene0288 00 0.0774 0.2039 0.4670
scene0324 01 - 0.5886 -
scene0628 01 0.5438 - -
mean 0.4112 0.4601 0.5148
Оценка производительности алгоритма выполнена на видеокарте NVIDIA GTX 1050 и составляет 0.717 с.
6. Заключение
В рамках данного исследования предложен алгоритм семантической сегментации трехмерных сцен, основанный на семантической сегментации последовательности изображений на основе сверточных нейронных сетей, с последующей проекцией результатов семантической сегментации на реконструированную трехмерную модель наблюдаемой сцены, представленную облаком SD-точек. Представлены результаты экспериментального исследования на тестовом наборе ScanNet v2. Достигнутая точность алгоритма с использованием метрики IoU составила 0.5148, это обусловлено как возможными ограничениями предложенного решения, так и качеством разметки обучающего набора данных Pascal VOC и тестового набора данных ScanNet v2, а также возможными ошибками в данных о положении камер.
Ю сцены
8сепе0022 00
8сепе0027 00
,^сепе0087 01
,^сепе0089 00
,^сепе0248 00
,^сепе0288 00
,^сепе0324 01
Исходное облако 3D точек
Исходная семантическая разметка
Результат
Рисунок 4. Результат семантической сегментации трехмерных сцен
Необходимость проведения исследований в этом направлении с целью увеличения точности семантической сегментации трехмерных сцен остается актуальной.
Дальнейшее развитие подхода семантической сегментации объектов в трехмерном пространстве и формирование на его основе когнитивных карт окружающего пространства позволит обеспечить большую автономность и надежность управления в неполнозаданных или априорно неопределенных условиях, что, в свою очередь, позволит повысить безопасность и эффективность выполнения сложных операций в робототехнике, а также при разработке систем навигации слепых и слабовидящих людей. Другим перспективным направлением применения семантической сегментации объектов в трехмерном пространстве является возможность расширения функциональных возможностей программного обеспечения в области создания, обработки и анализа трехмерной графики.
Литература
[1] Long J., Shelhamer E., Darrell T. Fully convolutional networks for semantic segmentation // Proceedings of the IEEE conference on computer vision and pattern recognition. — IEEE, 2015. P. 3431-3440.
[2] Badrinarayanan V., Kendall A., Cipolla R. Segnet: A deep convolutional encoder-decoder architecture for image segmentation // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2017. Vol. 39. No. 12. P. 2481-2495.
[3] Chen L. C., Papandreou G., Kokkinos I., Murphy K., Yuille A. L. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs //
IEEE Transactions оп Pattern Analysis And Machine Intelligence. 2018. Vol. 40. No. 4. P. 834-848.
[4] Chen L. C., Zhu Y., Papandreou G., Schroff F., Adam H. Encoder-decoder with atrous separable convolution for semantic image segmentation // Proceedings of the European Conference on Computer Vision (ECCV). — 2018. P. 801-818.
[5] The PASCAL Visual Object Classes Homepage [Электронный ресурс] Режим доступа: http://host.robots.ox.ac.uk/pascal/VOC/
[6] Deng J., Dong W., Socher R., Li L. J., Li K., Fei-Fei L. Imagenet: A large-scale hierarchical image database // 2009 IEEE conference on computer vision and pattern recognition. — IEEE, 2009. P. 248-255.
[7] Lin T. Y., Maire M., Belongie S. et al. Microsoft COCO: Common objects in context // European Conference on Computer Vision. — Springer : Cham, 2014. P. 740-755.
[8] Dai A., Chang A. X., Savva M, Halber M., Funkhouser T., Niefiner M. ScanNet: Richly-Annotated 3D Reconstructions of Indoor Scenes // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. — 2017. P. 5828-5839.
[9] Dai A., Niefiner M. Joint 3d-multi-view prediction for 3d semantic scene segmentation // Proceedings of the European Conference on Computer Vision (ECCV). — 2018. P. 452-468.
[10] Cherabier I., Schönberger J. L., Oswald M. R., Pollefeys M., Geiger A. Learning priors for semantic 3d reconstruction // Proceedings of the European Conference on Computer Vision (ECCV). — 2018. P. 314-330.
[11]McCormac J., Handa A., Davison A., Leutenegger S. Semanticfusion: Dense 3d semantic mapping with convolutional neural networks // 2017 IEEE International Conference on Robotics and Automation (ICRA). — IEEE, 2017. P. 4628-4635.
[12] Qi C. R., Su H., Mo K., Guibas L. J. Pointnet: Deep learning on point sets for 3d classification and segmentation // Proc. Computer Vision and Pattern Recognition (CVPR), — IEEE, 2017. P. 652-660.
[13] Hua B. S., Tran M. K., Yeung S. K. Pointwise convolutional neural networks // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. — 2018. P. 984-993.
[14] Qi C. R., Yi L., Su H., Guibas L. J. Pointnet++: Deep hierarchical feature learning on point sets in a metric space // Advances in Neural Information Processing Systems. — 2017. P. 5099-5108.
[15] Pham Q. H., Hua B. S., Nguyen T., Yeung S. K. Real-time Progressive 3D Semantic Segmentation for Indoor Scene // 2019 IEEE Winter Conference on Applications of Computer Vision (WACV). — IEEE, 2019. P. 1089-1098.
[16] Besl P. J., McKay N. D. Method for registration of 3-D shapes // Sensor Fusion IV: Control Paradigms and Data Structures. Vol. 1611. — International Society for Optics and Photonics, 1992. P. 586-607.
Авторы:
Сергей Яковлевич Каздорф — магистрант кафедры автоматики факультета автоматики и вычислительной техники, Новосибирский государственный технический университет
Жанна Сергеевна Першина — ассистент кафедры систем сбора обработки данных факультета автоматики и вычислительной техники, Новосибирский государственный технический университет
Algorithm of semantic segmentation of three-dimensional scenes
S. Kazdorf., Zh. Pershina Novosibirsk State Technical University 20, Prospekt K. Marksa, Novosibirsk, 630073, Russia e-mail: pershina@tiger.cs.nstu.ru
Abstract. This paper proposes an algorithm for semantic segmentation of three-dimensional scenes based on semantic segmentation of an image sequence with using a convolutional neural network, followed by projection of the results of semantic segmentation onto a reconstructed three-dimensional model of the observed scene represented by a point cloud. The accuracy of the algorithm is confirmed by the results of experiments. Keywords: convolutional neural network, semantic segmentation, point cloud.
References
[1] Long J., Shelhamer E. & Darrell T. (2015) Fully convolutional networks for semantic segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition. P. 3431-3440.
[2] Badrinarayanan V., Kendall A. & Cipolla R. (2017) IEEE transactions on pattern analysis and machine intelligence, 39(12):2481 -2495.
[3] Chen L. C., Papandreou G., Kokkinos I., Murphy K. & Yuille A. L. (2018) IEEE Transactions on Pattern Analysis And Machine Intelligence, 40(4):834-848.
[4] Chen L. C., Zhu Y., Papandreou, G., Schroff F., & Adam H. (2018) Encoder-decoder with atrous separable convolution for semantic image segmentation. In Proceedings of the European conference on computer vision (ECCV). P. 801-818.
[5] The PASCAL Visual Object Classes Homepage http://host.robots.ox.ac.uk/pascal/VOC/
[6] Deng J., Dong W., Socher R., Li L. J., Li K., & Fei-Fei L. (2009) Imagenet: A large-scale hierarchical
image database. In 2009 IEEE conference on computer vision and pattern recognition. P. 248-255.
[7] Lin T. Y., Maire M., Belongie S., Hays J., ... & Zitnick C. L. (2014) Microsoft coco: Common objects in
context. In European conference on computer vision. P. 740-755. Springer, Cham.
[8] Dai A., Chang A. X., Savva M., Halber M, Funkhäuser T., & Nießner M. (2017) Scannet: Richly-
annotated 3d reconstructions of indoor scenes. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. P. 5828-5839.
[9] Dai A., & Nießner M. (2018) 3dmv: Joint 3d-multi-view prediction for 3d semantic scene segmentation.
In Proceedings of the European Conference on Computer Vision (ECCV). P. 452-468.
[10] Cherabier I., Schonberger J. L., Oswald M. R., Pollefeys M. & Geiger A. (2018) Learning priors for semantic 3d reconstruction. In Proceedings of the European conference on computer vision (ECCV). P. 314-330.
[11] McCormac J., Handa A., Davison A. & Leutenegger S. (2017) Semanticfusion: Dense 3d semantic mapping with convolutional neural networks. In 2017 IEEE International Conference on Robotics and automation (ICRA). P. 4628-4635.
[12] Qi C. R., Su H., Mo K. & Guibas L. J. (2017) Pointnet: Deep learning on point sets for 3d classification and segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. P. 652-660.
[13] Hua B. S., Tran M. K., Yeung S. K. Pointwise convolutional neural networks // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018. P. 984-993.
[14] Qi C. R., Yi L., Su H., & Guibas L. J. (2017). Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In Advances in neural information processing systems. P. 5099-5108.
[15] Pham Q. H., Hua B. S., Nguyen T. & Yeung S. K. (2019) Real-time progressive 3D semantic segmentation for indoor scenes. In 2019 IEEE Winter Conference on Applications of Computer Vision (WACV). P. 1089-1098.
[16] Besl P. J., McKay N. D. (1992) Method for registration of 3-D shapes. In Sensor fusion IV: control paradigms and data structures. Vol. 1611. P. 586-606. International Society for Optics and Photonics.