Введение 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.
[1] Akinlar Cuneyt, Topal Cihan. EDLines: A real-time line segment detector with a false detection control // Pattern Recognition Letters.— 2011.— Vol. 32, no. 13.— P. 1633-1642.
[2] Are we ready for service robots? the openloris-scene datasets for lifelong slam / Xuesong Shi, Dongjiang Li, Pengpeng Zhao et al. // 2020 IEEE international conference on robotics and automation (ICRA) / IEEE. — 2020. — P. 3139-3145.
[3] Atiquzzaman Mohammed, Akhtar Mohammed W. Complete line segment description using the Hough transform // Image and Vision computing. — 1994. — Vol. 12, no. 5. — P. 267-273.
[4] Automatic line matching and 3D reconstruction of buildings from multiple views / Caroline Baillard, Cordelia Schmid, Andrew Zisserman, Andrew Fitzgibbon // IS- PRS Conference on Automatic Extraction of GIS Objects from Digital Imagery. — Vol. 32. — 1999. — P. 69-80.
[5] Bay Herbert, Ferraris Vittorio, Van Gool Luc. Wide-baseline stereo matching with line segments // 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05) / IEEE. - Vol. 1. - 2005. - P. 329-336.
[6] Boldt Michael, Weiss Richard, Riseman Edward. Token-based extraction of straight lines // IEEE Transactions on Systems, Man, and Cybernetics. — 1989. — Vol. 19, no. 6. — P. 1581-1594.
[7] Bonci Andrea, Leo Tommaso, Longhi Sauro. A Bayesian approach to the Hough transform for line detection // IEEE Transactions on Systems, Man, and CyberneticsPart A: Systems and Humans. -- 2005. -- Vol. 35, no. 6. -- P. 945-955.
[8] Building a 3-D line-based map using stereo SLAM / Guoxuan Zhang, Jin Han Lee, Jongwoo Lim, Il Hong Suh // IEEE Transactions on Robotics.-- 2015.-- Vol. 31, no. 6. — P. 1364-1377.
[9] Burns J Brian, Hanson Allen R, Riseman Edward M. Extracting straight lines // IEEE transactions on pattern analysis and machine intelligence. -- 1986. -- no. 4. -P. 425-455.
[10] Cho Nam-Gyu, Yuille Alan, Lee Seong-Whan. A novel linelet-based representation for line segment detection // IEEE transactions on pattern analysis and machine intelligence. — 2017. — Vol. 40, no. 5. — P. 1195-1208.
[11] Deep residual learning for image recognition / Kaiming He, Xiangyu Zhang, Shao- qing Ren, Jian Sun // Proceedings of the IEEE conference on computer vision and pattern recognition. — 2016. — P. 770-778.
[12] Denis Patrick, Elder James H, Estrada Francisco J. Efficient edge-based methods for estimating manhattan frames in urban imagery // European conference on computer vision / Springer. — 2008. — P. 197-210.
[13] Duda Richard O, Hart Peter E. Use of the Hough transformation to detect lines and curves in pictures // Communications of the ACM.— 1972.— Vol. 15, no. 1.— P. 11-15.
[14] The EuRoC micro aerial vehicle datasets / Michael Burri, Janosch Nikolic, Pascal Gohl et al. // The International Journal of Robotics Research. — 2016. — Vol. 35, no. 10. — P. 1157-1163.
[15] FSG: A statistical approach to line detection via fast segments grouping / Iago Suarez, Enrique Munoz, Jose M Buenaposada, Luis Baumela // 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) / IEEE. — 2018. — P. 97-102.
... всего 99 источников