Мы уже знаем, что роботы производят автомобили, но могут ли они сформировать команду футбольных игроков?

Этот вопрос кажется спелым выбором для фильма-магната, учитывая давнее увлечение Голливуда роботами. Некоторые фильмы изображают утопическую картину будущего, где роботы и люди живут в идеальном симбиозе; роботы самоотверженно выполняют мирные задачи, требуемые их человеческими хозяевами, оставляя общество свободным заниматься более полезной деятельностью. Другие изображают совсем наоборот.

Но в реальном мире нельзя отрицать, что мы находимся в середине революции робототехники.

Футбольные роботы?

Если вы не слышали об этом, RoboCup – это международный конкурс робототехники, созданный в 1997 году, с официальной целью:

к середине 21-го века команда полностью автономных игроков-гуманоидов выиграет футбольный матч, соблюдая официальное правило ФИФА, против победителя последнего чемпионата мира.

Хотя эта цель остается неизменной, RoboCup теперь включает в себя более широкий спектр задач робототехники, а именно:

RoboCupSoccer
RoboCupRescue
RoboCup @ Home
RoboCupJunior

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

Некоторые соревнования RoboCup устраняют ограничения на физическое оборудование (например, камеры, датчики и двигатели), позволяя разрабатывать и тестировать сложные командные стратегии с помощью моделирования (это в центре внимания моих текущих исследований с Центром ICT CSIRO).

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

Футбольные игры RoboCup работают во многом так же, как и обычная киботка, за исключением того, что человеческие игроки заменены роботами. Команды из четырех человек из разных стран мира соревнуются, чтобы достичь финала и стать чемпионом.

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

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

Но за три года работы в команде Newcastle’NUbots RoboCup я сосредоточился на чем-то другом – на разработке систем и алгоритмов компьютерного зрения.

Компьютерное зрение

Система компьютерного зрения (по крайней мере, в контексте RoboCup) включает в себя два основных этапа: обнаружение объектов и размещение объекта, находящегося в среде. Примером может быть робот, видящий футбольный мяч (обнаружение объекта), а затем точно определяя, где он существует относительно поля игры (локализация объекта).

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

В типичном сценарии RoboCup эти основные функции могут включать в себя: мяч, ворота, знаковые маяки, полевые линии, штрафные знаки, круг центра, другие роботы (как товарищи по команде, так и соревнования) и любые другие препятствия (такие как ноги судья).

Затем робот знает, что вокруг него находится множество объектов – в частности, их координаты пикселей и любая информация, указывающая их ориентацию и размер.
Как робот видит мир. Правильно обнаруженные шары обозначены синим кругом, как для простого беспрепятственного случая (слева), так и для скрытого случая – что-то впереди шара (справа). Кредит: Дэвид Будден

Что касается «локализации объекта», «для робота может быть хорошо и полезно знать пиксельные координаты объекта, но, к сожалению, робот на самом деле не находится в плоскости 2D-изображения.

Чтобы взаимодействовать со своей средой, система видения должна поэтому содержать методы локализации объекта – способность проецировать пиксельные координаты, заданные «ботом», определяющим объект в координатах поля, – где объект существует в трехмерном пространстве.

На этом этапе робот изучает физическое положение и ориентацию набора объектов относительно робота. С помощью этой информации робот может выбрать правильное действие – будь то удар мяча, погружение или занятие защитной позиции.

Эти два шага могут показаться простыми, но есть много осложнений.

Одной из проблем является вычислительная эффективность. Одно изображение может содержать до двух миллионов пикселей и должно выполняться поиск любого возможного объекта менее чем за 30 миллисекунд (для поддержания частоты кадров 30 кадров в секунду, позволяя роботу оставаться в курсе событий быстрого футбола).

Еще одна проблема заключается в том, как написать алгоритмы для обработки понятия цвета. Как люди, мы привыкли иметь дело с понятиями высокого уровня, такими как «красный» или «зеленый» в нашей повседневной жизни.

Робот просто видит пиксель как набор чисел, причем каждый пиксель принимает один из 16,8 миллионов возможных значений цвета. Как мы можем легко (и эффективно) конвертировать между этими двумя моделями? Это особенно важный вопрос в RoboCup, где функции традиционно имеют цветную кодировку.

Робототехника доставит вас. Университет команды Ньюкасла в мире RoboCup – NUbots – в Теотиуакане, Мексика. Дэвид Будден

Сделаем шаг назад

В моей недавней статье (удостоенной «лучшей студенческой работы» на недавней 25-й австралийской совместной конференции по искусственному интеллекту) я рассматриваю ряд этих вопросов – в частности, в контексте определения шара.

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

Это имеет смысл концептуально, но при условии, что шар будет круговым в изображении, подвержен ошибкам при столкновении с шумом с сигналом, получаемым роботом (например, искажением объектива или размытием движения). Подобные алгоритмы также относительно неэффективны.

Вместо этого знание домена (или известные функции среды, в которой робот будет работать – в этом случае, такие вещи, как цвет мяча и целей) интегрированы в простые последовательности шагов: применение алгоритмов машинного обучения для найти кандидатов на шары, а затем уточнить с помощью основных тригонометрических операций. Другими словами, если объектом поля является размер и цвет шара, он должен быть шаром, не зависящим от формы.

Как эта система работает? Довольно хорошо! В дополнение к тому, что большая часть мяча скрыта за другими объектами, алгоритм в два раза точнее обнаруживает мяч (даже если он частично скрыт) и дает 300-кратное уменьшение времени выполнения по сравнению с методами сравнения.

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

По-своему, достижения в робототехнике способствуют совершенствованию прекрасной игры.