Способ обработки данных и система технического зрения для роботизированного устройства
DATA PROCESSING METHOD AND VISION SYSTEM FOR A ROBOTIC DEVICE

Заявляемое техническое решение относится к области вычислительных систем, а именно к системам технического зрения транспортных средств и робототехники.
Из уровня техники известны способ и система обнаружения и сопровождения движущихся объектов на основе данных трехмерного датчика по патенту на изобретение № RU 2656711 (правообладатель – Общество с ограниченной ответственностью "РобоСиВи" (RU)).
В способе получают последовательность кадров в реальном времени от трехмерного датчика; выделяют на полученной последовательности кадров движущиеся точки; формируют кластер движущихся точек; преобразуют каждый кластер в «облако точек» движущегося объекта на текущем кадре; совмещают «облака точек» одних и тех же движущихся объектов на текущем и предыдущем кадрах последовательности кадров; формируют накопленное «облако точек» движущегося объекта посредством совмещения «облака точек», движущегося объекта текущего кадра и накопленного «облака точек»; выполняют выбраковку точек из сформированного «облака точек»; формируют статистическую модель движущегося объекта на основании накопленного «облака точек», движущегося объекта; определяют координаты, скорость и размеры движущегося объекта по сформированной статистической модели движущегося объекта и полученного смещения движущихся объектов. Система содержит по меньшей мере один трехмерный датчик, память для хранения инструкций и по меньшей мере один компонент обработки, выполненный с возможностью реализации в нем способа.
Наиболее близким аналогом заявляемому решению является мобильный робот безопасности по патенту № US 2016188977 «Mobile Security Robot» (правообладатель IROBOT CORP (US)) функционирующий в единой среде с людьми, и перемещающийся на основании построения карты по информации с различных сенсоров. Робот может быть оборудован различными сенсорами и датчиками, в частности камерой, стереокамерой, лидаром и т.п. Перемещение робота осуществляется с расчетом параметров окружающего пространства, получаемых с, по меньшей мере, оптического сенсора, для предотвращения столкновения с людьми. При этом робот выполнен с возможностью прогнозирования перемещения траектории людей для оперативного изменения маршрута движения. Оптический сенсор робота обеспечивает распознавание объектов окружающего пространства для контроля траектории перемещения робота в части распознавания препятствий на пути его следования. Объекты при этом могут идентифицироваться с помощью сегментации получаемых изображений. Получаемая с сенсоров робота информация может накапливаться для улучшения функций последующего распознавания объектов.
Недостатком вышеуказанных аналогов является невозможность применения в условиях плохой видимости (туман, плотные осадки, пыль, дым).
Заявляемое техническое решение направлено на устранение недостатков, присущих существующим аналогам.
Техническим результатом заявляемого изобретения является повышение точности обнаружения препятствий движению в любых условиях освещенности, в том числе, при наличии в среде снижающих оптическую видимость факторов (дождь, снег, туман, дым, пыль и т.п.).
Указанный технический результат достигается благодаря способу обработки данных для роботизированного устройства, в котором от источника навигационных данных и установленного на роботизированное устройство комплекта сенсоров технического зрения получают данные, а именно «облака точек» от 4D-радаров, содержащие помимо трех пространственных координат радиальные скорости каждой точки (в системе координат, связанной с радаром), а также карты глубины, рассчитанные методом технического стереозрения, семантические карты и векторы признаков, определяющих оценку уровня оптической видимости, от стереокамер. Затем осуществляют предобработку полученных данных как путем преобразования получаемых «облаков точек» из системы координат сенсора в единую статическую систему координат, связанную с накапливаемой картой проходимости, с одновременной компенсацией смещений в данных, связанных с движением роботизированного устройства в процессе их получения, на основе информации, получаемой от источника навигационных данных, так и путем преобразования карт глубины в облако точек на основании информации о параметрах калибровки стереокамеры с одновременным сопоставлением каждой точке соответствующего ей класса на основании информации из семантической карты. Причем данные от сенсоров одного типа объединяют в одно общее «облако точек» на этапе предобработки. Далее сформированные «облака точек» обрабатывают двумя параллельными конвейерами, а именно, конвейером детекции, трекинга и прогнозирования траектории динамических препятствий, а также конвейером расчета карт профильной проходимости. При этом выполняют расчет мгновенных карт профильной проходимости окружающего пространства на основе объединения и обработки данных от 4D-радара и стереокамеры. Рассчитывают накапливаемые семантические карты профильной проходимости окружающего пространства на основе комплексирования получаемых мгновенных карт профильной проходимости, построенных на основе обработки данных от комплекта сенсоров, с учетом семантической информации и данных об оптической видимости. Осуществляют кластеризацию и трекинг динамических объектов с учетом анализа координат точек, их скоростей и семантической информации об объектах. Также прогнозируют траектории перемещения динамических объектов с учетом анализа пройденной ими ранее траектории. Далее формируют массив точек прогнозной траектории объектов и передают данные внешним системам, решающим задачи автоматического управления движением, как о стационарных препятствиях в виде дискретной карты профильной проходимости, так и о подвижных препятствиях, включая идентификатор (уникальный номер) препятствия, класс препятствия, координаты вершин ограничивающего параллелепипеда, пройденную за заданный временной период траекторию, скорость движения, прогнозную траекторию.
Данные для формирования «облака точек», передаваемые в блок комплексирования каналов технического зрения, могут получать по меньшей мере от одного лидара.
На основании «облака точек» лидара могут выполнять расчет мгновенной карты профильной проходимости.
При расчете накапливаемой семантической карты профильной проходимости при комплексировании мгновенных карт профильной проходимости могут учитывать рассчитанную на основе обработки данных лидара мгновенную карту профильной проходимости.
Детекцию и классификацию динамических объектов могут выполнять с помощью искусственной нейронной сети глубокого обучения.
Для динамических объектов могут определять обрамляющие области.
Для обрамляющих областей могут определять центры объектов и их скорости.
Также технический результат достигается благодаря системе технического зрения для роботизированного устройства, которая содержит устанавливаемые на роботизированное устройство комплект сенсоров технического зрения, содержащий по меньшей мере один 4D-радар высокого разрешения, по меньшей мере одну стереокамеру, выполненную с возможностью расчета плотных карт глубины, семантических карт, определения уровня оптической видимости и загрязнения оптики, а также блок комплексирования каналов технического зрения, причем блок комплексирования каналов технического зрения выполнен с возможностью реализации способа обработки данных.
В системе 4D-радар может быть выполнен с разрешением в азимутальной плоскости не менее 3,5º и поле зрения не менее 120º.
Система может содержать по меньшей мере один лидар.
Сущность заявляемого решения поясняется схемами и изображениями, на которых:
На фиг. 1 показана схема, иллюстрирующая принцип функционирования рассматриваемой системы технического зрения для роботизированного устройства;
На фиг. 2 – архитектура нейросетевой модели, применяемой для решения задач прогнозирования траектории движения препятствий;
На фиг. 3 – пример визуализации выхода модели, применяемой для решения задач прогнозирования траектории движения препятствий (границы динамических объектов показаны обрамляющими параллелепипедами, прогнозные траектории показаны пунктирными линиями).
Рассматриваемая система технического зрения для роботизированного устройства включает в себя три основные сущности: комплект 4D-радаров 1 высокого разрешения, комплект стереокамер 2 со встроенными функциями обработки видеоизображения, блок комплексирования 3 каналов технического зрения. Количество 4D-радаров 1 и стереокамер 2, функционирующих в составе системы технического зрения для роботизированного устройства, определяется в зависимости от конструктивных особенностей и условий применения конечного объекта эксплуатации. Помимо обозначенных сенсоров, входящих в состав рассматриваемой системы, к блоку комплексирования 3 могут подключаться дополнительные внешние сенсоры, обеспечивающие выдачу дальнометрической информации, например, лидары 4, TOF-камеры и т.п.
Подразумевается, что в составе системы управления робота есть источник навигационных данных 5, обеспечивающий выдачу в блок комплексирования 3 каналов технического зрения информации о пространственном положении робота (координаты и углы/кватернион ориентации).
Выходом 4D-радаров 1 высокого разрешения является «облако точек», содержащее помимо трех пространственных координат радиальные скорости каждой точки (в системе координат, связанной с радаром).
Выходом стереокамер 2 являются: карта глубины, рассчитанная методом технического стереозрения, семантическая карта, а также вектор признаков, определяющих оценку уровня оптической видимости, полученную методом обработки видеоизображения с применением искусственной нейронной сети. Под картой глубины понимается двухмерный массив, каждый элемент которого содержит информацию о расстоянии до участка поверхности объекта, содержащегося в соответствующем ему пикселе исходного изображения. Под семантической картой понимается двухмерных массив, каждый элемент которого содержит идентификатор класса объекта, содержащегося в соответствующем ему пикселе исходного изображения (неподвижное препятствие, подстилающая поверхность, пешеход, автомобиль, небо, не валидный/загрязненный участок изображения и т.п.).
Блок комплексирования каналов 3 технического зрения осуществляет прием и обработку данных от подключенных к нему каналов (сенсоров) технического зрения.
Показанные на фиг. 1 блоки обработки данных реализованы в виде отдельных функционально-законченных узлов вычислительного графа (программных модулей, реализованных в рамках микросервисной архитектуры), условно пронумерованных от (6) до (20).
Предобработка данных от радаров (6) и других (внешних) дальнометрических сенсоров (7) заключается в преобразовании получаемых от них «облаков точек» из системы координат сенсора в единую статическую систему координат, связанную с накапливаемой картой проходимости, а также компенсации смещений в данных, связанных с движением робота в процессе их получения. Данные преобразования осуществляются на основе информации, получаемой от источника навигационных данных 5.
Предобработка данных от стереокамер (8), помимо описанных выше процедур, включает в себя преобразование буфера глубины в «облако точек» на основании информации о параметрах калибровки стереокамеры 2, и сопоставление каждой точке соответствующего ей класса на основании информации из семантической карты. Данные от сенсоров одного типа объединяются в одно общее «облако точек» на этапе предобработки.
После приема и предобработки дальнометрические данные от различных сенсоров, представленные в виде «облаков точек», обрабатываются двумя параллельными конвейерами: конвейером детекции, трекинга и прогнозирования траектории динамических препятствий (9), а также конвейером расчета карт профильной проходимости (10).
Конвейер детекции, трекинга и прогнозирования траектории динамических препятствий (9) включает в себя описанные ниже блоки. Объединенное «облако точек» от 4D-радаров 1 высокого разрешения после предобработки подается на вход блока кластеризации и трекинга (11). На первом этапе обеспечивается фильтрация стационарных точек (анализируются радиальные скорости точек, определенные 4D-радаром 1 высокого разрешения, и вектор скорости робота, полученный из источника навигационных данных 5). Нестационарные точки подаются на вход алгоритма кластеризации. Кластеризация точек осуществляется на основе анализа координат точек и их радиальных скоростей (модифицированная версия алгоритма DBSAN[1]). Выходом алгоритма кластеризации являются динамические объекты, определимые идентификатором (уникальным номером), координатами вершин параллелепипеда, обрамляющего соответствующий кластер точек, меткой класса (пешеход/транспортное средство/средство индивидуальной мобильности), определяемой на основе анализа размера обрамляющего параллелепипеда, а также значением коэффициента «уверенности классификации» (confidence). Трекинг (отслеживание) найденных объектов происходит на основе сопоставления ближайших центров объектов и их скоростей.
Кластеризация и трекинг объектов в объединенном «облаке точек» от стереокамеры 2 обеспечивается аналогичным описанному выше способом, вместо радиальных скоростей точек используются метки классов, получаемые из семантических карт на этапе предобработки. Точки, отнесенные к классам, соответствующим стационарным объектам и подстилающей поверхности фильтруются и на вход алгоритма кластеризации не подаются. Выходом алгоритма кластеризации являются динамические объекты, определимые аналогично описанному выше для блока кластеризации и трекинга (11).
При наличии в составе объекта эксплуатации сканирующих лазерных дальномеров – лидаров 4 – детекция, классификация и трекинг объектов (пешеходы, автомобили, средства индивидуальной мобильности) на основе обработки получаемых от них «облаков точек» (12) осуществляется с применением нейросетевой модели. Выходом данной модели являются динамические объекты, определимые аналогично описанному выше для блока кластеризации и трекинга (11). Трекинг (отслеживание) найденных объектов происходит на основе сопоставления ближайших центров объектов и их скоростей.
Объединение (ассоциация) обрамляющих прямоугольников препятствий, выдаваемых блоками (11) - (13), осуществляется блоком (14) на основе сопоставления ближайших центров объектов и их скоростей. Координаты вершин результирующего обрамляющего параллелепипеда объекта рассчитываются на основе взвешенных средних значений координат вершин обрамляющих параллелепипедов ассоциированных с ним объектов. В качестве весовых коэффициентов используются коэффициенты «уверенности классификации» (confidence), а также коэффициенты, определяющие уровень оптической видимости (площадь загрязненных участков изображения в процентах от общего размера изображения, вероятности наличия осадков, тумана, «смазывания» изображения).
Блок (14) также осуществляет трекинг объектов на основе сопоставления ближайших центров объединенных объектов и их скоростей. Выходом блока (14) является массив объектов, каждый элемент которого содержит в себе вектор признаков, содержащий: идентификатор объекта, класс объекта (пешеход/транспортное средство/средство индивидуальной мобильности), координаты вершин обрамляющего параллелепипеда, вектор предыдущих положений центра объекта (траекторию), коэффициент «уверенности классификации» (confidence).
Прогнозирование траектории движения препятствий (15) осуществляется нейросетевой моделью на основе информации о препятствиях и пройденных ранее траекториях их движения, получаемой от блока (14), а также накапливаемой карты профильной проходимости, получаемой от блока (16). Помимо информации о «занятости» ячейки карта профильной проходимости, поступающая на вход блока (15), содержит информацию о классе объекта, содержащегося в ячейке. Таким образом, нейросетевая модель, реализуемая блоком (15), при решении задачи прогнозировании траектории препятствия помимо информации о его классе и пройденной ранее траектории использует также семантическую информацию об окружающей его сцене (границы окружающих стационарных и подвижных препятствий, границы дорог и тротуаров и т.п.), что позволяет существенно повысить точность прогнозных траекторий.
Как видно из фиг. 2 архитектура нейросетевой модели включает в себя графовые нейронные сети, применяемые в качестве энкодеров и полносвязную нейронную сеть, применяемую в качестве декодера.
Значение метрики ADE (average displacement error [2]) для применяемой нейросетевой модели прогнозирования траектории движения препятствий составляет 1,5 м. Среднее время сходимости одного экземпляра модели для базы из 65000 сцен на GPU GeForce RTX 2080 Ti составляет 2 часа. Одна сцена обучающей выборки представляет собой 2 с истории перемещения движущихся объектов (пешеходы, транспортные средства) и 5 с будущего перемещения одного из объектов. Каждый объект сцены представлен вектором признаков, включающих в себя: уникальный идентификатор, метку класса, обрамляющий параллелепипед.
Выходом блока (15) является массив объектов, содержащий помимо признаков, формируемых блоком (14), массив точек прогнозной траектории объекта (см. фиг. 3).
Описанные данные передаются внешним системам (17) для решения задач планирования маневров робота с учетом динамических объектов препятствий и их прогнозных траекторий.
Конвейер расчета карт профильной проходимости (10) включает в себя описанные ниже блоки.
Для каждого типа сенсоров расчет мгновенной карты профильной проходимости осуществляется отдельно на основе объединенного «облака точек» от сенсоров данного типа (см. блоки (18)-(20)). Мгновенные карты проходимости рассчитываются на основе данных, полученных в рамках одного цикла сканирования (кадра). Мгновенная карта проходимости представляет собой дискретную решетку, каждая ячейка которой соответствует участку внешней среды и содержит вектор описывающих данный участок признаков: признак занятости (занятая/свободная/неизвестно), класс (опционально) и скорость (опционально) объекта, содержащегося в ячейке. Признак занятости определяется на основе анализа взаимного расположения точек, попадающих в ячейку, а также их расположения относительно плоскости подстилающей поверхности. Также при определении признака занятости ячейки анализируются признаки занятости соседних ячеек. Класс ячейки определяется взвешенным голосованием на основе данных о классах точек, содержащихся в данной ячейке (в качестве веса используется значение коэффициента «уверенности классификации»). Размеры ячеек, размеры мгновенных карт, а также значения порогов, применяемых в ходе анализа (минимальное кол-во точек в ячейках, пороговое значение перепада высот точек, максимальный угол наклона нормали аппроксимирующей поверхности и т.п.) выбираются в зависимости от типа сенсора и его технических характеристик (разрешающей способности, максимальной дальности и погрешности получения дальнометрических данных и т.п.).
Описание применяемых алгоритмов расчета мгновенных карт проходимости приведено в [3, 4].
Мгновенные карты профильной проходимости объединяются в блоке расчета накапливаемой семантической карты профильной проходимости (16). Определение признаков (занятость, класс, скорость) ячеек накапливаемой карты выполняется на основе взвешенного голосования признаков соответствующих ячеек мгновенных карт, а также истории признаков, содержавшихся в ячейке ранее. Вес признака зависит от типа сенсора, на основе обработки данных от которого построена соответствующая мгновенная карта. Также в качестве весовых коэффициентов применяются оценки уровня оптической видимости (чем ниже уровень оптической видимости, тем ниже веса признаков, полученных на основе обработки данных от оптических сенсоров). Помимо взвешенного голосования признаков при построении накапливаемой карты профильной проходимости используются эвристические правила, основывающиеся на обработке семантических данных. Например, если ячейка мгновенной карты проходимости, построенной на основе обработки данных 4D-радара 1, имеет признак «занятая» («препятствие»), а соответствующая ей ячейка мгновенной карты проходимости, построенной на основе обработки данных стереокамеры 2 имеет признак «свободная» и класс «подстилающая поверхность» или «люк», соответствующая ячейка накапливаемой карты будут иметь признак «свободная».
В целях минимизации количества ложноположительных и ложноотрицательных определений занятости ячеек карты проходимости, применяется временная фильтрация данных признаков. Параметры применяемых временных фильтров выбираются для каждой ячейки в отдельности в зависимости от класса и скорости движения содержащегося в ней объекта.
Накапливаемая карта проходимости имеет фиксированный априори заданный размер, начало отсчета карты всегда привязано к текущей позиции робота и перемещается вместе с ним. Информация об участках среды, выходящих за пределы карты в процессе перемещения робота, стирается.
Применяемый компонент расчета накапливаемой карты проходимости функционирует на базе алгоритма, изложенного в [4].
Накапливаемая семантическая карта профильной проходимости используется для прогнозирования траекторий движения препятствий в блоке комплексирования 3 каналов технического зрения, а также выдается внешним потребителям (17) для решения задач планирования траектории движения робота с учетом обнаруженных препятствий.
Предлагаемое техническое решение обеспечивает обнаружение препятствий движению в любых условиях освещенности, а также при наличии в среде факторов, снижающих оптическую видимость (дождь, снег, туман, дым, пыль и т.п.). Характеристики сенсоров, входящих в состав рассматриваемой системы, оптимизированы с учетом типовых условий и сценариев применения сервисных роботов, функционирующих в разделяемой с людьми среде.
Список источников
1. Ester M. et al. A density-based algorithm for discovering clusters in large spatial databases with noise //kdd. – 1996. – Т. 96. – №. 34. – С. 226-231.
2. Электронный ресурс https://jaimefernandezdcu.wordpress.com/2019/02/07/error-metrics-for-trajectory-prediction-accuracy/
3. Шепель И. О. Модифицированный алгоритм построения карты занятости по облаку точек от нескольких лидаров //Программные продукты и системы. – 2020. – Т. 33. – №. 2.
4. Шепель И. О. Алгоритм комплексирования нескольких источников данных в общую карту занятости //Известия ЮФУ. Технические науки. – 2021. – №. 3.