Найти в Дзене
Научный деятель

Способность робота к распознаванию людей и объектов. Часть 2

Оглавление
https://www.pinterest.ru/pin/612208143078749263/
https://www.pinterest.ru/pin/612208143078749263/

Читать Часть 1

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

Распознавание человека 

Встроенная операционная система NAOqi обеспечивает доступ к алгоритмам для выполнения различных задач, связанных с человеческим зрением,

таких как:

  • обнаружение и отслеживание людей,
  • распознавание лиц,
  • обнаружение взглядов.

Однако некоторые задачи требуют больше деталей, чем встроенные алгоритмы (например, определение того, говорит ли человек или в каком направлении он указывает).

Ученые включают библиотеку обнаружения поз в режиме реального времени OpenPose, которая предоставляет информацию о пиксельном расположении выбранных ключевых точек тела для каждого человека на изображении. Данная архитектура состоит из главного узла ROS на Pepper и двух узлов ROS на внешнем сервере.

  • Один внешний узел обрабатывает изображения с передней камеры Pepper's через зрительный конвейер OpenPose и публикует список людей и ключевых точек тела.
  • Другой внешний узел ROS исследует точки тела каждого человека и обрабатывает данные в полезную семантическую информацию, которую робот может использовать при принятии решений.

Например, чтобы определить, подает ли человек сигнал или жест роботу, определяется направление его движения, основываясь на координатах бедер и плеч, и рассчитывается угол наклона руки и плеча, используя расположение различных частей руки, таких как плечо, локоть и запястье. Аналогичный подход используется, чтобы позволить Pepper имитировать движения руки человека в режиме реального времени. Кроме того, можно сохранить углы наклона руки для дальнейшего использования, что позволит ему научиться делать человеческие жесты в будущем.

Помимо обработки двумерной информации о позе, также составляются карты ключевых точек тела с 2D-изображения на 3D-координаты в реальном пространстве с помощью облака точек, генерируемого камерой контроля глубины Pepper. Затем извлекаются семантические 3D-функции о каждом человеке, такие как его рост и расстояние до робота. Также используют комбинацию двухмерной и трехмерной информации для определения того, находятся ли люди в каждом кадре стоя или сидят. Наконец, OpenPose обеспечивает слежение за лицом и руками, что позволяет извлекать еще больше семантических особенностей о каждом человеке. Например, можно определить, указывает ли человек на что-то, улыбается ли он, в каком направлении смотрит и открыт ли рот. Интегрируя OpenPose с Pepper, получают более подробную информацию о людях, которая расширяет интерактивные возможности Pepper. 

Распознавание объектов 

Как социальный робот, Pepper должен уметь эффективно реагировать на команды, требующие идентификации объектов, таких как "Найди мне кружку". Для этого Pepper должен уметь распознавать общие классы объектов типа "кружка". Pepper поставляется с алгоритмом обнаружения объектов на основе ключевых точек. Однако недостатки алгоритмов обнаружения объектов на основе ключевых точек и мотивируют ученых к интеграции дополнительных алгоритмов. Самое главное, алгоритмы Keypoint распознают отдельные экземпляры объектов (например, эту кружку), а не общие классы объектов. Нейронные сети, с другой стороны, обучены обнаруживать общие классы объектов. Они анализируют производительность You Only Look Once (YOLO) и Faster R-CNNN на Pepper.

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

Для эмпирического измерения эффективности сетей в различении различных произвольных повседневных объектов, они попросили Pepper сделать снимки семи объектов в 50 различных конфигурациях, и вручную пометили центральную точку каждого объекта на каждом изображении.  Сначала рассмотривают объекты, которые интуитивно относятся к классу COCO (например, кружка: "чашка"; теннисный мяч: "спортивный мяч"; мяч для гольфа: "спортивный мяч"). Для этих объектов они обнаружили, что медиана, присвоенная этим объектам, является самой высокой для соответствующих меток классов, как для YOLO, так и для Faster R-CNNN.

Далее рассматривают такие объекты, которые не имеют интуитивно понятной метки в наборе COCO. Было обнаружено, что Pepper, тем не менее, последовательно присваивает этим объектам определенные классы независимо от ориентации. Эти классы называют "прокси-классы".

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

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

Например, Pepper показывается банка и выясняется, что нейронные сети классифицируют объект "банка" как комбинацию классов "бутылка" и "чашка". Затем он ищет предметы, которые выглядят и как "бутылка", и как "чашка" и, таким образом, могут идентифицировать банки, а также отличить их от бутылок и чашек. Также отмечается надежность этих прокси-меток в различных экземплярах объектов в данной демонстрации. Объединив таким образом информацию по разным классам, любой из повседневных объектов можно было бы отличить от других.

Алгоритмы такого типа будут полезны в социальном сценарии, когда робота просят взаимодействовать с новым родовым классом объектов, на котором он ранее не обучался.