Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ……………………………………………………………………….6
ГЛАВА 1…………………………………………………………………………..9
1.1 Основные понятия…………………………………………………………9
1.1.1 SLAM……………………………………...……..…….................……9
1.1.2 Bag of Words……………………………..…………………..……….20
1.1.3 Bundle Adjustment……………………..………………..……………18
1.1.4 Вычисление оптического потока
по методу Лукаса-Канаде………………...……………………………..…20
1.2 Анализ существующих подходов к VSLAM на основе локальных
признаков…..………………………………………………………………….23
ГЛАВА 2…………………………………………………………………………27
2.1 Прослеживание пар сопоставленных точек…………………………….27
2.2 Предлагаемый алгоритм…………………………………………………31
2.2.1 Основная схема……………………………………..……….……….31
2.2.2 Выделение точек и сопоставление точек…………...……………...35
2.2.3 Критерии отсева и триангуляция……………………...……………37
2.2.4 Оптимизация позы………………………………………...…………39
2.2.5 Узнавание точек……………………………………………...………41
2.3 Критерий довыделения ключевых точек………………………………..43
2.4 Критерий перевычисления дескрипторов……...……………………….49
2.5 Оптимизация карты………………………………………………………57
ГЛАВА 3…………………………………………………………………………60
3.1 Описание экспериментов………………………………………………...60
3.2 Применяемое оборудование…………………………………………….62
5
ВВЕДЕНИЕ
ГЛАВА 1
1.1.1 SLAM
𝑃(𝑥𝑡 |𝑜1:𝑡 , 𝑚𝑡 ) = ∑ 𝑃(𝑜𝑡 |𝑥𝑡 , 𝑚𝑡 ) ∑ 𝑃(𝑥𝑡 |𝑥𝑡−1 )𝑃 (𝑥𝑡−1 |𝑚𝑡 , 𝑜1:𝑡−1 )/𝑍,
𝑚𝑡−1 𝑥𝑡−1
−1
∑ 𝐼𝑥 (𝑞𝑖 )2 ∑ 𝐼𝑥 (𝑞𝑖 ) 𝐼𝑦 (𝑞𝑖 ) − ∑ 𝐼𝑥 (𝑞𝑖 ) 𝐼𝑡 (𝑞𝑖 )
𝑉𝑥 𝑖 𝑖 𝑖
[𝑉 ] = [ ] [ ],
𝑦 2
(𝑞 ) (𝑞
∑ 𝐼𝑦 𝑖 𝐼𝑥 𝑖 ) ∑ 𝐼𝑦 𝑖 (𝑞 ) − ∑ 𝐼𝑦 (𝑞𝑖 ) 𝐼𝑡 (𝑞𝑖 )
𝑖 𝑖 𝑖
Выводы по главе:
- Существует множество уже разработанных алгоритмов, относящихся
к группе визуальных методов SLAM;
- В каждом из них процедуры выделения, описания и сопоставления
ключевых областей происходят в каждом обрабатываемом кадре;
- Столь частого выполнения этих затратных процедур можно избежать
путём отслеживания пар сопоставленных точек;
26
ГЛАВА 2
𝑥𝑙 ′ 𝑥𝑟 ′
𝑢𝑙 ′ 𝑤′ 𝑢𝑟 ′ 𝑤′
𝑃𝑙 = [ ′ ] = 𝑙′ ,
′
𝑃𝑟 = [ ′ ] = 𝑟′
′
𝑣𝑙 𝑦𝑙 𝑣𝑟 𝑦𝑟
[𝑤𝑙 ′ ] [𝑤𝑟 ′ ]
Тогда, если:
𝑥𝑙 ′ 𝑓𝑙𝑥 𝑥 + 𝑐𝑥
−
𝑉𝑙𝑥 𝑢𝑙 ′ − 𝑢𝑙 𝑤𝑙 ′ 𝑧 ∆𝑢
𝑉𝑙 = [𝑉 ] = [ ′ ]= ′ = [ 𝑙]
𝑙𝑦 𝑣𝑙 − 𝑣𝑙 𝑦𝑙 𝑓𝑙𝑥 𝑦 + 𝑐𝑦 ∆𝑣𝑙
−
[𝑤𝑙 ′ 𝑧 ]
𝑥𝑟 ′ 𝑓𝑟𝑥 𝑥 + 𝑓𝑟𝑥 𝑏 + 𝑐𝑟𝑥
−
𝑉𝑟𝑥 𝑢𝑟 ′ − 𝑢𝑟 𝑤𝑟 ′ 𝑧 ∆𝑢
𝑉𝑟 = [𝑉 ] = [ ′ ]= ′ = [ 𝑙]
𝑟𝑦 𝑣𝑟 − 𝑣𝑟 𝑦𝑟 𝑓𝑟𝑥 𝑦 + 𝑐𝑟𝑦 ∆𝑣𝑙
−
[ 𝑤𝑟 ′ 𝑤𝑟 ]
где 𝑉𝑙 и 𝑉𝑟 – вектора оптического потока между левым и правым кадрами
соответственно, то:
𝑢 + ∆𝑢𝑙 𝑢𝑙 + 𝑉𝑙𝑥
𝑃𝑙 ′ = [ 𝑙 ] = [𝑣 + 𝑉 ]
𝑣𝑙 + ∆𝑣𝑙 𝑙 𝑙𝑦
𝑢 + ∆𝑢𝑟 𝑢𝑟 + 𝑉𝑟𝑥
𝑃𝑟 ′ = [ 𝑟 ] = [𝑣 + 𝑉 ]
𝑣𝑟 + ∆𝑣𝑟 𝑟 𝑟𝑦
𝑏(𝑢 − 𝑐𝑥 )
𝐷
𝑥
𝑏𝑓𝑥 (𝑣 − 𝑐𝑦 )
𝑦
X𝑝 = [ 𝑧 ] = 𝐷𝑓𝑦
𝑤 𝑏𝑓𝑥
𝐷
[ 1 ]
1800
1700
1600
1500
1400
1300
1200
1100
1000
35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1300
1200
1100
1000
900
800
700
600
500
2.5 2.4 2.4 2.3 2.3 2.2 2.1 2.1 2.0 1.9 1.9 1.8 1.8 1.7 1.6 1.6 1.5 1.4 1.4 1.3 1.3 1.2 1.1 1.1 1.0
координаты.
Замыкание циклов – процесс поиска совпадающих ключевых точек с
ранее занесёнными в карту. При помощи BoW-вектора, вычисляемого для
текущего кадра, алгорим формирует список наблюдений-кандидатов, в
которых потенциально будут найдены точки, аналогичные текущим. При
успешном нахождении общих точек с одним из таких кандидатов,
вычисляется матрица относительного преобразования из положения камеры,
соответствующего кадру-кандидату в текущее положения камеры. После
этого происходит объединение узнанных точек, а затем полная оптимизация
карты при помощи BA. Замыкание циклов позволяет компенсировать ошибку,
накопленную в карте за время, затраченное на пролёт камеры по кругу. Стоит
заметить, что факт срабатывания такого замыкания может служить неплохим
критерием завершения построения карты, так как после нахождения нового
независимого наблюдения некоторых точек и минимизации ошибки
репроекции на всех кадрах карта находится в состоянии локального минимума
функции суммарной ошибки.
Выводы по главе:
- Предложенный алгоритм обладает преимуществом, связанным с
отсутствием необходимости выделения, описания и сопоставления ключевых
областей на каждом новом стереокадре, но требует введения двух
вспомогательных критериев: довыделения точек и перевычисления
дескрипторов;
- Среди трёх введенных и исследованных типов критериев довыделения
точек наиболее гибким оказался критерий по соотношению, именно ему было
отдано предпочтение при реализации алгоритма;
59
ГЛАВА 3
3.3.1 KITTI
3.3.2 EuRoC
Выводы по главе:
- Эксперименты, проводимые над предлагаемым алгоритмом логично
поделить на две группы: эксперименты в реальном времени и эксперименты
на стереопоследовательностях с известной истинной траекторией;
- Во время экспериментов в реальном времени следует замерять лишь
скорость работы алгоритма ввиду отсутствия объективных критериев
точности при работе в таких условиях;
- В качестве используемых в экспериментах баз
стереопоследовательностей с известной истинной траекторией подходящими
представляются две: EuRoC и KITTI ввиду их общедоступности и
применимости для оценки точности работы предлагаемого визуального
алгоритма SLAM.
68
ГЛАВА 4
150
100
50
0
667
1629
2517
1
75
149
223
297
371
445
519
593
741
815
889
963
1037
1111
1185
1259
1333
1407
1481
1555
1703
1777
1851
1925
1999
2073
2147
2221
2295
2369
2443
2591
2665
2739
2813
Рис. 26 – График зависимости времени работы алгоритма от номера итерации.
Синий – ORB-SLAM2, Рыжий – предлагаемый алгоритм.
Среднеквадратичная ошибка
траектории, м
Последовательность
Предлагаемый
ORB-SLAM2 (stereo)
алгоритм
stream_00 2,5 3,9
stream_01 13,2 11,8
stream_02 4,7 8,2
stream_04 1,7 0,4
stream_05 2,1 0,9
stream_06 1,2 1,1
4.2.2 EuRoC
Среднеквадратичная ошибка
траектории, м
Последовательность
Предлагаемый
ORB-SLAM2 (stereo)
алгоритм
V1_01 (easy) 0,129 0,088
V1_02 (medium) 0,074 0,065
V1_03 (difficult) 0,045 0,134
V2_01 (easy) 0,046 0,069
V2_02 (medium) 0,087 0,066
V2_03 (difficult) 0,214 -
MH_01 (easy) 0,148 0,036
MH_02 (easy) 0,094 0,046
MH_03 (medium) 0,152 0,043
MH_04 (difficult) 0,353 0,119
MH_05 (difficult) 0,149 0,139
Выводы по главе:
- Высокую производительность можно назвать сильной стороной
предлагаемого алгоритма, исходя из результатов сравнения скорости его
работы со скоростью работы его ближайшего аналога;
- При упомянутой высокой производительности алгоритма, его точность
соизмерима с точностью ORB-SLAM2, а на некоторых последовательностях и
вовсе опережает его;
79
ЗАКЛЮЧЕНИЕ
CПИСОК ЛИТЕРАТУРЫ
18. Bruce D. L. Generalized Image Matching by the Method of Differences: дис. д-ра. наук.
Питтсбург, 1985.
19. Triggs B., McLauchlan P., Hartley R., Fitzgibbon A. Bundle Adjustment — A Modern
Synthesis // International Workshop on Vision Algorithms. Springer-Verlag. 1999. P.
298–372.
20. Lourakis M.I.A., Argyros A.A. SBA: A Software Package for Generic Sparse Bundle
Adjustment // ACM Transactions on Mathematical Software. 2009. Vol. 36(2). P. 1–30.
21. Hartley R.I., Zisserman A. Multiple View Geometry in computer vision (2nd ed.) //
Cambridge University Press. 2004.
22. Fei-Fei L., Perona P. A Bayesian Hierarchical Model for Learning Natural Scene
Categories // IEEE Computer Society Conference on Computer Vision and Pattern
Recognition. 2005. Vol. 2. P. 524.
23. Fei-Fei L., Fergus R., Torralba A. Recognizing and Learning Object Categories, CVPR
2007 short course // The Conference on Computer Vision and Pattern Recognition. 2007.
24. Vidal-Naquet M., Ullman S. Object recognition with informative features and linear
classification // Ninth IEEE International Conference on Computer Vision. 1999.
P. 1150–1157.
25. Leung T., Malik J. Representing and recognizing the visual appearance of materials using
three-dimensional textons // International Journal of Computer Vision. 2001. Vol. 43(1).
P. 29–44.
26. Davison A.J., Reid I.D., Molton N., Stasse O. MonoSLAM: Real-Time Single Camera
SLAM // Pattern Analysis and Machine Intelligence. 2007. Vol. 29. P. 1052-1067
27. Pire T., Fischer T., Castro G., De Cristóforis P., Civera J., Jacobo B. J. S-PTAM: Stereo
Parallel Tracking and Mapping // Robotics and Autonomous Systems. 2017. Vol. 93.
28. Nistér D. An efficient solution to the five-point relative pose problem // Pattern Analysis
and Machine Intelligence. 2004. Vol. 26(6). P. 756–770.
29. Mur-Artal R., Tardós J.D. ORB-SLAM2: An Open-Source SLAM System for
Monocular, Stereo and RGB-D Cameras // IEEE Transactions on Robotics. 2016.
30. Dominik S., Mirco C., Giorgio G. ProSLAM: Graph SLAM from a Programmer's
Perspective // IEEE International Conference on Robotics and Automation. 2018.
31. Yadav G., Maheshwari S., Agarwal A. Contrast Limited Adaptive Histogram
Equalization Based Enhancement for Real Time Video System // Advances in Computing
Communications and Informatics. 2014. P. 2392-2397.
32. Geiger A., Lenz P., Urtasun R.) Are We Ready for Autonomous Driving? The KITTI
Vision Benchmark Suite // Conference on Computer Vision and Pattern Recognition.
2012.
33. Burri M., Nikolic J., Gohl P., Schneider T., Rehder J., Omari S., Achtelik M., Siegwart R.
The EuRoC Micro Aerial Vehicle Datasets // The International Journal of Robotics
Research. 2016. Vol. 35.
34. Merriaux P., Dupuis Y., Boutteau R., Vasseur P., Savatier X. A Study of Vicon System
Positioning Performance // Sensors. 2017. Vol. 17(7).