Учёные создали алгоритм который даёт роботам более человеческое восприятие глубины

Исследователи разработали новый алгоритм машинного зрения, который позволяет гуманоидным роботам воспринимать глубину окружающего пространства более похожим на человеческий способом. Система использует две направленные вперёд камеры, способные поворачиваться и фокусироваться на одной точке, подобно глазам человека.
Разработку представила группа учёных под руководством исследователей Йоркского университета в Торонто. Новый подход получил название Convergent Binocular Stereo, или CBS — сходящееся бинокулярное стереозрение. Он может помочь роботам точнее определять расстояние до объектов, оценивать их ориентацию в пространстве и лучше ориентироваться в сложной окружающей среде.
Обычные системы стереозрения, как правило, используют две параллельно расположенные камеры. Они определяют глубину, анализируя преимущественно горизонтальные различия между изображениями, полученными левой и правой камерами. Однако человеческое зрение работает иначе: при взгляде на объект глаза поворачиваются так, чтобы оба были направлены на одну и ту же точку.
CBS разработана специально для роботизированных систем, в которых две камеры также могут сходиться на выбранном объекте. При такой конфигурации между изображениями возникают не только горизонтальные, но и вертикальные различия. Новый алгоритм учитывает оба типа смещения и использует движение камер как дополнительный источник информации о расстоянии до объекта.
Сначала система направляет обе камеры на определённую точку в трёхмерном пространстве и определяет геометрическую связь между полученными изображениями. Затем алгоритм создаёт пятиуровневую гауссову пирамиду, позволяющую анализировать изображение на нескольких уровнях детализации.
На более грубых уровнях алгоритм обнаруживает и сопоставляет характерные точки с помощью метода SIFT. При этом используются эпиполярные ограничения, позволяющие оценивать горизонтальные и вертикальные смещения между двумя изображениями.
Затем система применяет фильтры Габора для анализа текстур и границ объектов при различных ориентациях и масштабах. Это помогает определить, какие пиксели на изображениях, полученных двумя камерами, соответствуют друг другу.
После этого алгоритм постепенно уточняет полученные оценки, переходя от изображений с низким разрешением к исходному. На каждом следующем этапе область поиска сужается, что позволяет повысить точность определения смещений.
Полученные карты горизонтальных и вертикальных различий затем преобразуются в трёхмерную информацию и данные о глубине. Помимо расстояния до объектов, система может определять наклон поверхностей, ориентацию объектов и особенности восприятия масштаба и глубины.
Для проверки работы алгоритма исследователи создали специальный набор данных Convergent Binocular Stereo–BenchMark, или CBS-BM. Он включает 49 сцен, среди которых были обычные объекты на поверхности стола, повторяющиеся узоры, поверхности с небольшим количеством заметных деталей и объекты, значительная часть которых скрыта от камер.
Для каждой сцены исследователи подготовили изображения, полученные при параллельном расположении камер, а также от пяти до 12 пар изображений, снятых при различной степени их сведения на выбранной точке.
CBS продемонстрировала конкурентоспособные результаты по сравнению с существующими методами стереозрения и несколькими системами, использующими глубокое обучение. На всём наборе данных алгоритм показал меньшие средние ошибки при определении горизонтального смещения и глубины, чем протестированные системы с параллельными камерами.
Наиболее заметное преимущество проявилось в сценах с повторяющимися узорами. Такие изображения создают серьёзную проблему для традиционных систем, поскольку им сложно определить, какие одинаково выглядящие элементы на двух изображениях действительно соответствуют друг другу.
В этой категории средняя ошибка при определении глубины у CBS оказалась примерно на 0,8 метра меньше, чем у следующего по эффективности метода. Ошибка при определении горизонтального смещения также была примерно на 100 пикселей ниже.
При этом разработка пока имеет ряд ограничений. Точность системы снижается при работе с удалёнными объектами, а для её корректной работы требуется очень точная калибровка камер и позиционирование механизмов, отвечающих за их движение.
Нынешняя версия алгоритма также работает сравнительно медленно. На процессоре AMD Ryzen 7 7700X обработка данных занимает около 69 секунд, поэтому систему ещё необходимо значительно оптимизировать для использования в режиме реального времени.
Разработчики не рассматривают CBS как полную замену традиционному стереозрению с параллельными камерами. Новый подход предназначен прежде всего для гуманоидных роботов, которым необходимо объединять движение «глаз» и обработку зрительной информации, подобно тому, как это происходит у человека.
Дальнейшая оптимизация алгоритма и увеличение скорости его работы могут сделать сходящееся бинокулярное зрение основой для более совершенных гуманоидных роботов, способных активнее взаимодействовать с окружающим пространством и точнее оценивать положение объектов вокруг себя.