Bryansk, Bryansk, Russian Federation
Bryansk, Bryansk, Russian Federation
Bryansk, Bryansk, Russian Federation
This article presents a method for recognizing key objects of the road infrastructure using a fully convolutional neural network. The result of the neural network is a segmented image, where the desired objects are highlighted in certain colors. At the post-processing stage, a section of the roadway along which the car moves is selected, as well as the calculation of the parameters of the bounding rectangles for each of the objects. This method allows you to localize the road, pedestrian crossing, cars, traffic signs, traffic lights, pedestrians. Testing of the developed algorithm was carried out on a model of the urban infrastructure at a scale of 1:18, where a wheeled robot acted as a car.
fully convolutional neural network, object localization, image segmentation, Pyramid Scene Parsing Network, wheeled robot.
Введение
В настоящее время ведутся активные разработки в области беспилотных транспортных средств. Некоторые компании приближаются к последнему, пятому уровню автономности, при котором становится возможным полностью автономное движение автомобиля без участия водителя. Одной из ключевых задач, без которых невозможно создание беспилотного средства в динамической среде является задача распознавания объектов дорожной сети. Существуют различные подходы для решения этой задачи: от распознавания отдельных элементов, таких как дорожные знаки или светофоры [7], до более комплексных подходов [8], позволяющих детектировать несколько элементов. Распознавание может производиться на основе информации, приходящей от разных сенсоров. Наиболее сенсорами являются камеры, возвращающее изображения и лидары, возвращающие облако точек. Использование камер является более традиционным методом, который имитирует зрение водителя. В области компьютерного зрения распознавание объектов является одной из основных задач, для решения которой используют как стандартные алгоритмы компьютерного зрения [4], так и использования различных архитектур нейронных систем [1]. Метод, описанный в данной статье основан на использовании полносверточной нейронной сети [6], выполняющей задачу сегментации изображения.
Говоря о разработке беспилотного транспортного средства отдельное внимание следует уделить этапу тестирования алгоритмов. Тестирование на реальных автомобилях может
повлечь как человеческие, так и финансовые жертвы. Поэтому одним из вариантов решения этой задачи может служить использование модели в уменьшенном масштабе, сохраняющей основные свойства реального движения. Еще одно преимущество использования макета заключается в том, что он позволяет приобретать навык людям, желающим развиваться в области беспилотных транспортных средств, без серьезных последствий. Разработанная система распознавание объектов была протестирована на макете, содержащем несколько видов светофоров, дорожные знаки, пешеходов, автомобили, дорожное полотно с разметкой.
1. Распознавание объектов
Основой детектирования объектов является полносверточная нейронная сеть, которая принимает на вход изображение с камеры и возвращает сегментированное изображение (рис. 1). Сегментирование – это процесс, при котором генерируется изображение, содержащее однородные области одинакового цвета, где каждому цвету соответствует определенный объект. Определение объектов на основе сегментированного изображения позволяет решить несколько задач, необходимых для беспилотного движения автомобиля: с одной стороны, она позволяет детектировать объекты дорожной сети, с другой решается задача распознавания дорожного полотна.
Используемая нейронная сеть базируется на архитектуре Pyramid Scene Parsing Network [3]. Основными компонентами сети являются предобученная сеть Residual Network (Resnet) [5] и Pyramid Pooling Module.
Модель Resnet является сверточной моделью, отличительной особенностью которой является, наличие остаточной структуры обучения позволяет увеличивать глубину сети без потерь точности. На выходе сверточной сети генерируется карта признаков (feature map), которая поступает на слои подвыборки (pooling layer), данная часть сети называется пирамидальной подвыборкой (Pyramid Pooling Module) потому что состоит из нескольких уровней (рис 2.):
красный: это самый крупный уровень, который выполняет глобальную подвыборку для каждой карты признаков, в результате чего генерируется одно значение на выходе;
оранжевый: это второй уровень, который делит карту признаков на 2 × 2 субрегиона, а затем выполняет среднее объединение для каждого субрегиона;
синий: это третий уровень, который делит карту объектов на 3 × 3 субрегиона, а затем выполняет среднее объединение для каждого субрегиона;
зеленый: это уровень, который делит карту объектов на 6 × 6 субрегионов, а затем выполняет объединение для каждого субрегиона.
Затем происходит операции увеличения размерности слоев (Upsample), и их
объединение.
2. Обучение
Для обучения нейронной сети был подготовлен собственный набор данных, содержащий макет, по которому передвигался колесный робот. Для каждого изображения вручную выполнялось заполнение областей, принадлежавших разным объектам. Было подготовлено более 1000 кадров, для обучения нейронной сети.
Важным этапом обучения нейронной сети является аугментация данных. Аугментация – это процесс, позволяющий расширить существующий датасет за счет применения методов обработки изображения. Важно, что аугментация данных должна так, чтобы измененные изображения не имели значительного отклонения от потенциально возможных при использовании нейронной сети. В разрабатываемой статье использовались следующие методы:
- изменение яркости изображения;
- изменение экспозиции изображения;
- отражение части изображений по горизонтали;
- добавление шумов на изображение.
Необходимость последнего пункта обоснована тем, что при тестировании алгоритма, на изображении было замечено появление шумов, связанных со способом передачи видеопотока на вычислительный узел. Искусственно создаваемые шумы позволяют уменьшить ошибки при появлении реальных помех
3. Выделение объектов
После генерации сегментированного изображения следует этап поиска объектов на изображении. Для каждого из возможных классов осуществляется поиск по цвету, привязанному к классу. После чего для изображения, содержащего только один цвет выполняется морфологическое операция замыкания, помогающая сделать контуры более однородными (рис. 3.). После поиска областей, происходит выделение их контуров. В том случае, если несколько контуров разрозненны, но расположены близко (рис. 4.) происходит их объединение. Исходя из положения контура, генерируется прямоугольник, ограничивающий объект.
Способ выделения дороги отличался от других объектов. Для дальнейшего поиска дорожной разметки необходимо определение части дороги, по которой может передвигаться автомобиль. В случае, если дорога имеет сплошную разметку, полосы дороги выделяются отдельно. Если разметка прерывистая выделяется все дорожное полотно, включая прерывистую разметку. На этапе выделения находится наибольший контур дороги на изображении, пологая, что машина едет по дороги в момент детекции. Кроме того, дорога, по которой передвигался колесный робот содержит пешеходные переходы, которые не оказывают влияния на работу дальнейших алгоритмов. В связи с этим было принято решение определять пешеходные переходы нейронной сетью и скрывать их на итоговом сегменте дороги.
4. Эксперименты
Описанный подход использовался для проезда колёсного робота по макету городской инфраструктуры (рис. 5 ). Макет имеет размер 6x4 и оборудован, дорожным полотном с разметкой, дорожными знаками, другими автомобилями, пешеходами, светофорами, в том числе светофорами с дополнительной секцией. Колесный робот изображён на рисунке 6. Особенность архитектуры заключается в том, что все вычисления происходят на удаленном узле. Благодаря этому появляется возможность работать с модулями, требующими более высокой производительности, что приближает макет к реальным транспортным средствам.
Выводы
В рамках работы был получена полносверточная нейронная сеть, локализующая основные объекты дорожной инфраструктуры, такие как дорожное полотно, пешеходные переходы, автомобили, светофоры, дорожные знаки. На основе данной нейронной и модуля визуализации были написаны два узла ROS, интегрированные в основной проект. Результаты были протестированы на макете, имитирующим городскую среду.
1. Buyval A., Lyubimov M., Gabdullin A. Road sign detection and localization based on camera and lidar data // The 11th International Conference on Machine Vision (ICMV 2018) - Munich, Germany 2018.
2. Cordts M., Omran M., Ramos S.,Rehfeld T.,Enzweiler M., Benenson R., Franke U., Roth S., Schiele B. The Cityscapes Dataset for Semantic Urban Scene Understanding / M. Coordts. 2016.
3. Hengshuang Z., Jianping S., Xiaojuan Q., Xiaogang W., Jiaya J. Pyramid Scene Parsing Network / Z. Hengshuang. CVPR 2017.
4. Hossain Md. S., Hyder Z. Traffic Road Sign Detection and Recognition for Automotive Vehicles, International Journal of Computer Applications (2015).
5. Kaiming H, Xiangyu Z,Shaoqing R,Jian S Deep Residual Learning for Image Recognition / H. Kaiming, Z. Xiangyu, R. Shaoqing, S Jian - Microsoft Research 2015.
6. Long J., Shelhamer E., Darrell T. Fully Convolutional Networks for Semantic Segmentation // CVPR 2015.
7. Møgelmose A., Trivedi M.M., Moeslund T.B. Vision based Traffic Sign Detection and Analysis for Intelligent Driver Assistance Systems: Perspectives and Surve, IEEE Transactions on Intelligent Transportation Systems, (2012).
8. Pon A.D., Andrienko O., Harakeh A., Waslander S.L. A Hierarchical Deep Architecture and MiniBatch Selection Method For Joint Traffic Sign and Light Detection IEEE 15th Conference on Computer and Robot Vision (2018).