Введение 4
1. Постановка цели и задач 5
2. Обзор 6
2.1. Алгоритмы детекции линий 6
2.2. Алгоритмы ассоциации линий 9
2.3. Системы SLAM, использующие линии 12
2.4. Метрики 13
2.5. Наборы данных 17
2.6. Вывод 18
3. Наборы данных 19
3.1. Выбор датасетов 19
3.2. Процесс разметки линий 19
3.3. Постобработка данных 20
4. Унификация запуска алгоритмов детекции и ассоциации линий 21
5. Библиотека с метриками детекции и ассоциации линий 22
5.1. Использованные инструменты 22
5.2. Архитектура 23
5.3. Особенности реализации 23
6. Экспериментальное исследование 25
6.1. Цель и вопросы эксперимента 25
6.2. Условия эксперимента 25
6.3. Исследование детекторов 27
6.4. Исследование ассоциаторов 28
6.5. Исследование пар «детектор-ассоциатор» 29
6.6. Вывод 30
Заключение 31
Список литературы 32
Приложение А 41
Распознавание объектов, выделяющихся на изображениях (так называемых ориентиров), является важной частью различных алгоритмов компьютерного зрения. Так, ориентиры активно используются в системах одновременной локализации и построения карты (Simultaneous Localization And Mapping, SLAM) — программно-аппаратных комплексах, позволяющих автономному роботу определять свое местоположение в неизвестном окружении, при этом формируя для него карту. При помощи выявления ориентиров (задача детекции) и определения одних и тех же ориентиров на последовательных изображениях (задача ассоциации) можно оценивать траекторию движения системы и, как следствие, уточнять карту окружения и местоположение робота.
Точки являются наиболее популярными ориентирами в системах одновременной локализации и построения карты. Согласно исследованиям [65, 61], многие SLAM- технологии, основанные на точках (например, ORB-SLAM2 [57]), работают эффективно в условиях большого количества уникальных, ярко выраженных ориентиров. В то же время они часто выдают неточные результаты в окружениях с однотонными текстурами. Последние, однако, зачастую содержат большое количество структурных объектов — плоскостей и линий — использование которых может существенно улучшить распознавание геометрии сцены и, как следствие, увеличить точность и устойчивость оценки траектории движения автономной системы. Поэтому в настоящее время началось активное применение таких ориентиров в SLAM-технологиях.
На данный момент подавляющее большинство систем одновременной локализации и построения карты, использующих линии, [62, 61, 93, 65, 76, 99] применяют для детекции алгоритм LSD [94] или его модификации, а для ассоциации — LBD [94] или его вариации. Указанные алгоритмы обеспечивают требуемое быстродействие, однако за последние годы появилось множество детекторов [19, 82, 83, 47, 25, 79] и ассоциаторов [92, 50, 34, 84, 89, 67] линий, которые, согласно экспериментам авторов, имеют лучшее качество распознавания геометрии сцены при сравнимой производительности.
Выбрать оптимальные алгоритмы для использования в системе одновременной локализации и построения карты проблематично во многом из-за отсутствия универсального бенчмарка (метрик и наборов данных) для оценки качества детекции и ассоциации, включающего их тестирование на популярных SLAM-последовательностях. Наличие такого бенчмарка позволит эффективно сравнивать новые алгоритмы с уже существующими, а также выбирать подходящие SLAM-алгоритмы для конкретного окружения.
Таким образом, является актуальной проблема оценки алгоритмов детекции и ассоциации линий для использования в SLAM-системах, которая и будет исследована в рамках данной работы.
При выполнении данной работы были достигнуты следующие результаты.
1. В рамках обзора было рассмотрено более 120 алгоритмов детекции и ассоциации линий, выбраны метрики для их оценки, а также на основании собранной статистики были выявлены наиболее популярные в SLAM-системах детекторы и ассоциаторы.
2. Были подготовлены наборы данных для тестирования детекторов и ассоциаторов (с привлечением обученного специалиста и инструмента CVAT), включающие аннотации линий и основанные на популярных SLAM-последовательностях.
3. Предложен формат унифицированного запуска алгоритмов детекции и ассоциации, с его помощью поддержано 20 детекторов и 5 ассоциаторов линий1, имеющих открытую реализацию.
4. Реализована библиотека с метриками детекции и ассоциации линий (язык Python)2. Для библиотеки реализован набор модульных тестов, а также создана система непрерывной интеграции при помощи GitHub Actions.
5. Проведено экспериментальное исследование адаптированных алгоритмов детекции и ассоциации линий. Установлено, что комбинация нейросетевого ассоциатора LineTR и традиционного детектора LSD позволяет достичь наименьшего значения ошибки относительной позы (Relative Pose Error) среди прочих комбинаций детекторов и ассоциаторов.
6. Материалы работы вошли в статью для конференции 2023 IEEE/RSJ International Conference on Intelligent Robots and Systems.