SLAM学习笔记 - ORB_SLAM2源码运行及分析

参考资料:

DBow2的理解

单目跑TUM数据集的运行和函数调用过程

跑数据集不需要ros和相机标定,进入ORB_SLAM目录,执行以下命令:

./Examples/Monocluar/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Examples/rgbd_dataset_freiburg1_xyz

需要等一会,加载ORB词袋,然后会尝试初始化,再过一会儿就可以看到运行效果了,最后的轨迹会输出到KeyFrameTrajectory.txt

 root@song-Lenovo-G470:/home/song/ORB_SLAM2# ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Examples/rgbd_dataset_freiburg1_xyz/

 ORB-SLAM2 Copyright (C) 2014-2016 Raul Mur-Artal, University of Zaragoza.
This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it
under certain conditions. See LICENSE.txt. Input sensor was set to: Monocular Loading ORB Vocabulary. This could take a while...
Vocabulary loaded! Camera Parameters:
- fx: 517.306
- fy: 516.469
- cx: 318.643
- cy: 255.314
- k1: 0.262383
- k2: -0.953104
- k3: 1.16331
- p1: -0.005358
- p2: 0.002628
- fps: 30
- color order: RGB (ignored if grayscale) ORB Extractor Parameters:
- Number of Features: 1000
- Scale Levels: 8
- Scale Factor: 1.2
- Initial Fast Threshold: 20
- Minimum Fast Threshold: 7 -------
Start processing sequence ...
Images in the sequence: 798 (ORB-SLAM2: Current Frame:6217): GLib-GIO-CRITICAL **: g_dbus_connection_register_object: assertion 'G_IS_DBUS_CONNECTION (connection)' failed (ORB-SLAM2: Current Frame:6217): GLib-GIO-CRITICAL **: g_dbus_connection_register_object: assertion 'G_IS_DBUS_CONNECTION (connection)' failed (ORB-SLAM2: Current Frame:6217): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
New Map created with 91 points
Wrong initialization, reseting...
System Reseting
Reseting Local Mapper... done
Reseting Loop Closing... done
Reseting Database... done
New Map created with 94 points
Wrong initialization, reseting...
System Reseting
Reseting Local Mapper... done
Reseting Loop Closing... done
Reseting Database... done
New Map created with 93 points
Wrong initialization, reseting...
System Reseting
Reseting Local Mapper... done
Reseting Loop Closing... done
Reseting Database... done
New Map created with 109 points
------- median tracking time: 0.0856588
mean tracking time: 0.0895457 Saving keyframe trajectory to KeyFrameTrajectory.txt ... trajectory saved!

KeyFrameTrajectiory.txt:

 1305031108.743502 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000
1305031108.975268 0.0065185 0.0004955 -0.0036651 0.0103930 -0.0083979 0.0246982 0.9996057
1305031109.011269 0.0064620 0.0005466 -0.0046352 0.0098092 -0.0126269 0.0230228 0.9996071
1305031109.275308 -0.0469479 0.0049413 -0.0174485 -0.0103553 -0.0344164 0.0154323 0.9992348
1305031109.443302 -0.0892515 0.0153173 -0.0280266 -0.0140529 -0.0712384 0.0042990 0.9973511
1305031109.511273 -0.1050575 0.0111030 -0.0312677 -0.0181541 -0.0751181 -0.0034378 0.9970034
1305031110.743249 -0.3816364 0.0458256 -0.0677707 -0.0680546 -0.1774805 -0.1051928 0.9761167
1305031112.579252 -0.0067369 0.0014786 0.0044599 0.0209859 -0.0185699 0.0007425 0.9996070
1305031114.443345 -0.3871921 0.0313219 -0.0518793 0.0027829 -0.1356153 -0.0941897 0.9862702
1305031114.743200 -0.4173732 0.0278086 -0.0504622 -0.0148174 -0.1723966 -0.0957056 0.9802552
1305031115.011300 -0.3965517 0.0403278 -0.0476828 -0.0166974 -0.1726241 -0.1066648 0.9790530
1305031116.411333 -0.0315345 0.0211150 0.0542039 -0.0691888 0.0318968 0.0820211 0.9937143
1305031116.611261 -0.0520643 0.0176461 0.0432618 -0.0689220 0.0308578 0.0769489 0.9941712
1305031116.779298 -0.0941835 0.0238958 0.0310173 -0.0636232 0.0035438 0.0274622 0.9975898
1305031120.115232 -0.2256815 0.1646495 -0.0312103 -0.0758519 -0.1084467 -0.0297357 0.9907581
1305031121.614700 -0.2473447 -0.1002853 0.0445039 0.0032358 -0.1358825 -0.0292420 0.9902880
1305031121.947288 -0.2520018 -0.1301537 0.0538647 -0.0119936 -0.1269417 -0.0187295 0.9916608
1305031122.214959 -0.2473912 -0.0814654 0.0400963 -0.0012648 -0.1254375 -0.0465228 0.9910093
1305031123.483594 -0.2247328 0.1646738 -0.0226976 -0.0903746 -0.1040182 -0.0355113 0.9898240
1305031123.883786 -0.2164652 0.1992804 -0.0265738 -0.1179534 -0.0926862 -0.0172076 0.9885343
1305031124.011302 -0.2176097 0.1940599 -0.0240379 -0.1085390 -0.1011495 -0.0143865 0.9888281
1305031124.182694 -0.2220777 0.1754000 -0.0158519 -0.0885530 -0.1114043 -0.0177032 0.9896636
1305031125.650575 -0.2531929 -0.1005618 0.0571583 -0.0092919 -0.1137758 -0.0495259 0.9922277
1305031125.947343 -0.2492735 -0.0554180 0.0344920 -0.0047475 -0.1333339 -0.0485214 0.9898713
1305031127.047297 -0.2140729 0.1238928 0.0036196 -0.0799393 -0.1149576 -0.0228445 0.9898852
1305031127.247374 -0.2147132 0.1147137 0.0066310 -0.0767380 -0.1260436 -0.0226731 0.9887923
1305031127.811829 -0.2220709 0.0967660 0.0158834 -0.0659883 -0.1373733 -0.0272094 0.9879442
1305031128.679282 -0.2259168 0.0828904 0.0226595 -0.0682258 -0.1419439 -0.0312618 0.9870258

SLAM学习笔记 - ORB_SLAM2源码运行及分析

上述命令会调用Monocluar目录mono_tum.cc的main函数,有四个参数,argv[1]是词袋;argv[2]是参数,相机内参和ORB特征提取器参数;argv[3]是相机数据

rgbd_dataset_freiburg1_xyz事先下载好的数据集,目录结构长这样:

SLAM学习笔记 - ORB_SLAM2源码运行及分析

rgb和depth目录下分别保存彩色图和深度图,rgb.txt里保存了rgb目录下的图片名和对应的时间戳,这里使用单目,所以只使用rgb数据。

rgb.txt:

 # color images
# file: 'rgbd_dataset_freiburg1_xyz.bag'
# timestamp filename
1305031102.175304 rgb/1305031102.175304.png
1305031102.211214 rgb/1305031102.211214.png
1305031102.243211 rgb/1305031102.243211.png
1305031102.275326 rgb/1305031102.275326.png
1305031102.311267 rgb/1305031102.311267.png
1305031102.343233 rgb/1305031102.343233.png
1305031102.375329 rgb/1305031102.375329.png
1305031102.411258 rgb/1305031102.411258.png
1305031102.443271 rgb/1305031102.443271.png
1305031102.475318 rgb/1305031102.475318.png
1305031102.511219 rgb/1305031102.511219.png
1305031102.543220 rgb/1305031102.543220.png
1305031102.575286 rgb/1305031102.575286.png
1305031102.611233 rgb/1305031102.611233.png
1305031102.643265 rgb/1305031102.643265.png
1305031102.675285 rgb/1305031102.675285.png
1305031102.711263 rgb/1305031102.711263.png
1305031102.743234 rgb/1305031102.743234.png
1305031102.775472 rgb/1305031102.775472.png
1305031102.811232 rgb/1305031102.811232.png
1305031102.843290 rgb/1305031102.843290.png
1305031102.875363 rgb/1305031102.875363.png
1305031102.911185 rgb/1305031102.911185.png
1305031102.943229 rgb/1305031102.943229.png
1305031102.975203 rgb/1305031102.975203.png
1305031103.011215 rgb/1305031103.011215.png
1305031103.043227 rgb/1305031103.043227.png
1305031103.075319 rgb/1305031103.075319.png
1305031103.111240 rgb/1305031103.111240.png
1305031103.143318 rgb/1305031103.143318.png
1305031103.175452 rgb/1305031103.175452.png
1305031103.211220 rgb/1305031103.211220.png
1305031103.243216 rgb/1305031103.243216.png
1305031103.275370 rgb/1305031103.275370.png
1305031103.311210 rgb/1305031103.311210.png
1305031103.343223 rgb/1305031103.343223.png
1305031103.375327 rgb/1305031103.375327.png
1305031103.411260 rgb/1305031103.411260.png
1305031103.443280 rgb/1305031103.443280.png
1305031103.475274 rgb/1305031103.475274.png
1305031103.511333 rgb/1305031103.511333.png
1305031103.543444 rgb/1305031103.543444.png
1305031103.575474 rgb/1305031103.575474.png
1305031103.611223 rgb/1305031103.611223.png
1305031103.643445 rgb/1305031103.643445.png
1305031103.675523 rgb/1305031103.675523.png
1305031103.711610 rgb/1305031103.711610.png
1305031103.743326 rgb/1305031103.743326.png
1305031103.775342 rgb/1305031103.775342.png
1305031103.811242 rgb/1305031103.811242.png
1305031103.843251 rgb/1305031103.843251.png
1305031103.875361 rgb/1305031103.875361.png
1305031103.911221 rgb/1305031103.911221.png
1305031103.943211 rgb/1305031103.943211.png
1305031103.975373 rgb/1305031103.975373.png
1305031104.011232 rgb/1305031104.011232.png
1305031104.043249 rgb/1305031104.043249.png
1305031104.075425 rgb/1305031104.075425.png
1305031104.111235 rgb/1305031104.111235.png
1305031104.143230 rgb/1305031104.143230.png
1305031104.175424 rgb/1305031104.175424.png
1305031104.211283 rgb/1305031104.211283.png
1305031104.243196 rgb/1305031104.243196.png
1305031104.275546 rgb/1305031104.275546.png
1305031104.311219 rgb/1305031104.311219.png
1305031104.343342 rgb/1305031104.343342.png
1305031104.375837 rgb/1305031104.375837.png
1305031104.411509 rgb/1305031104.411509.png
1305031104.443288 rgb/1305031104.443288.png
1305031104.475456 rgb/1305031104.475456.png
1305031104.511329 rgb/1305031104.511329.png
1305031104.543368 rgb/1305031104.543368.png
1305031104.575343 rgb/1305031104.575343.png
1305031104.611336 rgb/1305031104.611336.png
1305031104.643243 rgb/1305031104.643243.png
1305031104.675525 rgb/1305031104.675525.png
1305031104.711277 rgb/1305031104.711277.png
1305031104.743280 rgb/1305031104.743280.png
1305031104.775327 rgb/1305031104.775327.png
1305031104.811465 rgb/1305031104.811465.png
1305031104.843258 rgb/1305031104.843258.png
1305031104.875350 rgb/1305031104.875350.png
1305031104.911534 rgb/1305031104.911534.png
1305031104.943262 rgb/1305031104.943262.png
1305031104.975202 rgb/1305031104.975202.png
1305031105.011290 rgb/1305031105.011290.png
1305031105.043373 rgb/1305031105.043373.png
1305031105.075320 rgb/1305031105.075320.png
1305031105.111299 rgb/1305031105.111299.png
1305031105.143106 rgb/1305031105.143106.png
1305031105.175159 rgb/1305031105.175159.png
1305031105.211268 rgb/1305031105.211268.png
1305031105.243270 rgb/1305031105.243270.png
1305031105.275288 rgb/1305031105.275288.png
1305031105.311290 rgb/1305031105.311290.png
1305031105.343302 rgb/1305031105.343302.png
1305031105.375338 rgb/1305031105.375338.png
1305031105.411286 rgb/1305031105.411286.png
1305031105.443316 rgb/1305031105.443316.png
1305031105.475280 rgb/1305031105.475280.png
1305031105.511332 rgb/1305031105.511332.png
1305031105.543282 rgb/1305031105.543282.png
1305031105.575449 rgb/1305031105.575449.png
1305031105.611378 rgb/1305031105.611378.png
1305031105.643273 rgb/1305031105.643273.png
1305031105.675166 rgb/1305031105.675166.png
1305031105.711309 rgb/1305031105.711309.png
1305031105.743312 rgb/1305031105.743312.png
1305031105.775339 rgb/1305031105.775339.png
1305031105.811283 rgb/1305031105.811283.png
1305031105.843271 rgb/1305031105.843271.png
1305031105.875337 rgb/1305031105.875337.png
1305031105.911262 rgb/1305031105.911262.png
1305031105.943272 rgb/1305031105.943272.png
1305031105.975329 rgb/1305031105.975329.png
1305031106.011285 rgb/1305031106.011285.png
1305031106.043355 rgb/1305031106.043355.png
1305031106.075330 rgb/1305031106.075330.png
1305031106.111327 rgb/1305031106.111327.png
1305031106.143355 rgb/1305031106.143355.png
1305031106.175534 rgb/1305031106.175534.png
1305031106.211275 rgb/1305031106.211275.png
1305031106.243267 rgb/1305031106.243267.png
1305031106.276385 rgb/1305031106.276385.png
1305031106.311238 rgb/1305031106.311238.png
1305031106.343258 rgb/1305031106.343258.png
1305031106.375388 rgb/1305031106.375388.png
1305031106.411320 rgb/1305031106.411320.png
1305031106.443278 rgb/1305031106.443278.png
1305031106.475345 rgb/1305031106.475345.png
1305031106.511129 rgb/1305031106.511129.png
1305031106.543302 rgb/1305031106.543302.png
1305031106.575282 rgb/1305031106.575282.png
1305031106.611151 rgb/1305031106.611151.png
1305031106.643207 rgb/1305031106.643207.png
1305031106.675279 rgb/1305031106.675279.png
1305031106.711508 rgb/1305031106.711508.png
1305031106.743341 rgb/1305031106.743341.png
1305031106.775390 rgb/1305031106.775390.png
1305031106.811289 rgb/1305031106.811289.png
1305031106.843416 rgb/1305031106.843416.png
1305031106.875905 rgb/1305031106.875905.png
1305031106.911243 rgb/1305031106.911243.png
1305031106.943439 rgb/1305031106.943439.png
1305031106.975547 rgb/1305031106.975547.png
1305031107.011576 rgb/1305031107.011576.png
1305031107.043281 rgb/1305031107.043281.png
1305031107.075432 rgb/1305031107.075432.png
1305031107.111229 rgb/1305031107.111229.png
1305031107.143260 rgb/1305031107.143260.png
1305031107.175399 rgb/1305031107.175399.png
1305031107.211358 rgb/1305031107.211358.png
1305031107.243378 rgb/1305031107.243378.png
1305031107.275398 rgb/1305031107.275398.png
1305031107.311226 rgb/1305031107.311226.png
1305031107.343509 rgb/1305031107.343509.png
1305031107.375413 rgb/1305031107.375413.png
1305031107.411271 rgb/1305031107.411271.png
1305031107.443419 rgb/1305031107.443419.png
1305031107.475377 rgb/1305031107.475377.png
1305031107.511352 rgb/1305031107.511352.png
1305031107.543605 rgb/1305031107.543605.png
1305031107.575454 rgb/1305031107.575454.png
1305031107.611271 rgb/1305031107.611271.png
1305031107.643323 rgb/1305031107.643323.png
1305031107.675568 rgb/1305031107.675568.png
1305031107.711307 rgb/1305031107.711307.png
1305031107.743538 rgb/1305031107.743538.png
1305031107.775802 rgb/1305031107.775802.png
1305031107.811596 rgb/1305031107.811596.png
1305031107.843332 rgb/1305031107.843332.png
1305031107.875358 rgb/1305031107.875358.png
1305031107.911541 rgb/1305031107.911541.png
1305031107.943122 rgb/1305031107.943122.png
1305031107.975807 rgb/1305031107.975807.png
1305031108.011320 rgb/1305031108.011320.png
1305031108.043418 rgb/1305031108.043418.png
1305031108.075352 rgb/1305031108.075352.png
1305031108.111378 rgb/1305031108.111378.png
1305031108.143334 rgb/1305031108.143334.png
1305031108.176058 rgb/1305031108.176058.png
1305031108.211475 rgb/1305031108.211475.png
1305031108.243347 rgb/1305031108.243347.png
1305031108.275358 rgb/1305031108.275358.png
1305031108.311332 rgb/1305031108.311332.png
1305031108.343278 rgb/1305031108.343278.png
1305031108.375410 rgb/1305031108.375410.png
1305031108.411361 rgb/1305031108.411361.png
1305031108.443610 rgb/1305031108.443610.png
1305031108.475471 rgb/1305031108.475471.png
1305031108.511378 rgb/1305031108.511378.png
1305031108.543737 rgb/1305031108.543737.png
1305031108.575414 rgb/1305031108.575414.png
1305031108.611407 rgb/1305031108.611407.png
1305031108.643303 rgb/1305031108.643303.png
1305031108.675375 rgb/1305031108.675375.png
1305031108.711411 rgb/1305031108.711411.png
1305031108.743502 rgb/1305031108.743502.png
1305031108.775493 rgb/1305031108.775493.png
1305031108.811244 rgb/1305031108.811244.png
1305031108.843264 rgb/1305031108.843264.png
1305031108.876515 rgb/1305031108.876515.png
1305031108.911364 rgb/1305031108.911364.png
1305031108.943243 rgb/1305031108.943243.png
1305031108.975268 rgb/1305031108.975268.png
1305031109.011269 rgb/1305031109.011269.png
1305031109.043277 rgb/1305031109.043277.png
1305031109.075410 rgb/1305031109.075410.png
1305031109.111282 rgb/1305031109.111282.png
1305031109.143334 rgb/1305031109.143334.png
1305031109.175464 rgb/1305031109.175464.png
1305031109.211379 rgb/1305031109.211379.png
1305031109.243290 rgb/1305031109.243290.png
1305031109.275308 rgb/1305031109.275308.png
1305031109.311329 rgb/1305031109.311329.png
1305031109.343248 rgb/1305031109.343248.png
1305031109.375397 rgb/1305031109.375397.png
1305031109.411329 rgb/1305031109.411329.png
1305031109.443302 rgb/1305031109.443302.png
1305031109.475363 rgb/1305031109.475363.png
1305031109.511273 rgb/1305031109.511273.png
1305031109.543294 rgb/1305031109.543294.png
1305031109.575362 rgb/1305031109.575362.png
1305031109.611310 rgb/1305031109.611310.png
1305031109.643229 rgb/1305031109.643229.png
1305031109.675263 rgb/1305031109.675263.png
1305031109.711312 rgb/1305031109.711312.png
1305031109.743274 rgb/1305031109.743274.png
1305031109.775277 rgb/1305031109.775277.png
1305031109.811371 rgb/1305031109.811371.png
1305031109.843296 rgb/1305031109.843296.png
1305031109.875306 rgb/1305031109.875306.png
1305031109.911265 rgb/1305031109.911265.png
1305031109.943299 rgb/1305031109.943299.png
1305031109.975258 rgb/1305031109.975258.png
1305031110.011256 rgb/1305031110.011256.png
1305031110.043299 rgb/1305031110.043299.png
1305031110.075319 rgb/1305031110.075319.png
1305031110.111325 rgb/1305031110.111325.png
1305031110.143432 rgb/1305031110.143432.png
1305031110.175641 rgb/1305031110.175641.png
1305031110.211637 rgb/1305031110.211637.png
1305031110.243323 rgb/1305031110.243323.png
1305031110.279321 rgb/1305031110.279321.png
1305031110.311404 rgb/1305031110.311404.png
1305031110.343355 rgb/1305031110.343355.png
1305031110.379281 rgb/1305031110.379281.png
1305031110.411469 rgb/1305031110.411469.png
1305031110.443260 rgb/1305031110.443260.png
1305031110.479331 rgb/1305031110.479331.png
1305031110.511429 rgb/1305031110.511429.png
1305031110.543408 rgb/1305031110.543408.png
1305031110.579426 rgb/1305031110.579426.png
1305031110.611307 rgb/1305031110.611307.png
1305031110.643418 rgb/1305031110.643418.png
1305031110.679606 rgb/1305031110.679606.png
1305031110.711412 rgb/1305031110.711412.png
1305031110.743249 rgb/1305031110.743249.png
1305031110.779193 rgb/1305031110.779193.png
1305031110.811386 rgb/1305031110.811386.png
1305031110.843218 rgb/1305031110.843218.png
1305031110.879313 rgb/1305031110.879313.png
1305031110.911333 rgb/1305031110.911333.png
1305031110.943862 rgb/1305031110.943862.png
1305031110.979345 rgb/1305031110.979345.png
1305031111.011431 rgb/1305031111.011431.png
1305031111.043327 rgb/1305031111.043327.png
1305031111.079283 rgb/1305031111.079283.png
1305031111.111508 rgb/1305031111.111508.png
1305031111.143257 rgb/1305031111.143257.png
1305031111.179326 rgb/1305031111.179326.png
1305031111.211433 rgb/1305031111.211433.png
1305031111.243236 rgb/1305031111.243236.png
1305031111.279308 rgb/1305031111.279308.png
1305031111.311547 rgb/1305031111.311547.png
1305031111.343397 rgb/1305031111.343397.png
1305031111.379134 rgb/1305031111.379134.png
1305031111.411296 rgb/1305031111.411296.png
1305031111.443386 rgb/1305031111.443386.png
1305031111.479259 rgb/1305031111.479259.png
1305031111.511264 rgb/1305031111.511264.png
1305031111.543250 rgb/1305031111.543250.png
1305031111.579237 rgb/1305031111.579237.png
1305031111.611271 rgb/1305031111.611271.png
1305031111.643395 rgb/1305031111.643395.png
1305031111.679320 rgb/1305031111.679320.png
1305031111.711760 rgb/1305031111.711760.png
1305031111.743386 rgb/1305031111.743386.png
1305031111.779423 rgb/1305031111.779423.png
1305031111.811406 rgb/1305031111.811406.png
1305031111.843299 rgb/1305031111.843299.png
1305031111.879442 rgb/1305031111.879442.png
1305031111.911354 rgb/1305031111.911354.png
1305031111.943300 rgb/1305031111.943300.png
1305031111.979449 rgb/1305031111.979449.png
1305031112.011433 rgb/1305031112.011433.png
1305031112.043270 rgb/1305031112.043270.png
1305031112.079339 rgb/1305031112.079339.png
1305031112.111423 rgb/1305031112.111423.png
1305031112.144342 rgb/1305031112.144342.png
1305031112.179390 rgb/1305031112.179390.png
1305031112.211254 rgb/1305031112.211254.png
1305031112.243369 rgb/1305031112.243369.png
1305031112.279353 rgb/1305031112.279353.png
1305031112.311312 rgb/1305031112.311312.png
1305031112.343323 rgb/1305031112.343323.png
1305031112.379360 rgb/1305031112.379360.png
1305031112.411442 rgb/1305031112.411442.png
1305031112.443391 rgb/1305031112.443391.png
1305031112.479418 rgb/1305031112.479418.png
1305031112.511504 rgb/1305031112.511504.png
1305031112.543212 rgb/1305031112.543212.png
1305031112.579252 rgb/1305031112.579252.png
1305031112.611261 rgb/1305031112.611261.png
1305031112.643246 rgb/1305031112.643246.png
1305031112.679952 rgb/1305031112.679952.png
1305031112.711251 rgb/1305031112.711251.png
1305031112.743245 rgb/1305031112.743245.png
1305031112.779310 rgb/1305031112.779310.png
1305031112.811310 rgb/1305031112.811310.png
1305031112.843286 rgb/1305031112.843286.png
1305031112.879421 rgb/1305031112.879421.png
1305031112.911411 rgb/1305031112.911411.png
1305031112.943321 rgb/1305031112.943321.png
1305031112.979278 rgb/1305031112.979278.png
1305031113.011353 rgb/1305031113.011353.png
1305031113.043231 rgb/1305031113.043231.png
1305031113.079251 rgb/1305031113.079251.png
1305031113.111316 rgb/1305031113.111316.png
1305031113.143306 rgb/1305031113.143306.png
1305031113.179343 rgb/1305031113.179343.png
1305031113.211259 rgb/1305031113.211259.png
1305031113.243227 rgb/1305031113.243227.png
1305031113.279312 rgb/1305031113.279312.png
1305031113.311452 rgb/1305031113.311452.png
1305031113.343252 rgb/1305031113.343252.png
1305031113.379312 rgb/1305031113.379312.png
1305031113.411625 rgb/1305031113.411625.png
1305031113.443266 rgb/1305031113.443266.png
1305031113.479311 rgb/1305031113.479311.png
1305031113.511523 rgb/1305031113.511523.png
1305031113.543242 rgb/1305031113.543242.png
1305031113.579301 rgb/1305031113.579301.png
1305031113.611268 rgb/1305031113.611268.png
1305031113.643222 rgb/1305031113.643222.png
1305031113.679288 rgb/1305031113.679288.png
1305031113.711931 rgb/1305031113.711931.png
1305031113.743590 rgb/1305031113.743590.png
1305031113.779320 rgb/1305031113.779320.png
1305031113.811237 rgb/1305031113.811237.png
1305031113.843295 rgb/1305031113.843295.png
1305031113.879281 rgb/1305031113.879281.png
1305031113.911290 rgb/1305031113.911290.png
1305031113.943291 rgb/1305031113.943291.png
1305031113.979293 rgb/1305031113.979293.png
1305031114.011257 rgb/1305031114.011257.png
1305031114.043301 rgb/1305031114.043301.png
1305031114.079285 rgb/1305031114.079285.png
1305031114.111263 rgb/1305031114.111263.png
1305031114.143284 rgb/1305031114.143284.png
1305031114.179337 rgb/1305031114.179337.png
1305031114.211303 rgb/1305031114.211303.png
1305031114.243337 rgb/1305031114.243337.png
1305031114.279390 rgb/1305031114.279390.png
1305031114.311429 rgb/1305031114.311429.png
1305031114.343331 rgb/1305031114.343331.png
1305031114.379320 rgb/1305031114.379320.png
1305031114.411397 rgb/1305031114.411397.png
1305031114.443345 rgb/1305031114.443345.png
1305031114.479332 rgb/1305031114.479332.png
1305031114.511266 rgb/1305031114.511266.png
1305031114.543236 rgb/1305031114.543236.png
1305031114.579237 rgb/1305031114.579237.png
1305031114.611391 rgb/1305031114.611391.png
1305031114.644136 rgb/1305031114.644136.png
1305031114.679251 rgb/1305031114.679251.png
1305031114.711306 rgb/1305031114.711306.png
1305031114.743200 rgb/1305031114.743200.png
1305031114.779289 rgb/1305031114.779289.png
1305031114.811303 rgb/1305031114.811303.png
1305031114.843208 rgb/1305031114.843208.png
1305031114.879281 rgb/1305031114.879281.png
1305031114.912879 rgb/1305031114.912879.png
1305031114.943234 rgb/1305031114.943234.png
1305031114.979280 rgb/1305031114.979280.png
1305031115.011300 rgb/1305031115.011300.png
1305031115.043508 rgb/1305031115.043508.png
1305031115.079238 rgb/1305031115.079238.png
1305031115.111230 rgb/1305031115.111230.png
1305031115.143275 rgb/1305031115.143275.png
1305031115.179440 rgb/1305031115.179440.png
1305031115.211374 rgb/1305031115.211374.png
1305031115.243297 rgb/1305031115.243297.png
1305031115.279966 rgb/1305031115.279966.png
1305031115.311704 rgb/1305031115.311704.png
1305031115.343235 rgb/1305031115.343235.png
1305031115.379166 rgb/1305031115.379166.png
1305031115.411237 rgb/1305031115.411237.png
1305031115.443159 rgb/1305031115.443159.png
1305031115.479241 rgb/1305031115.479241.png
1305031115.511253 rgb/1305031115.511253.png
1305031115.543604 rgb/1305031115.543604.png
1305031115.579315 rgb/1305031115.579315.png
1305031115.611424 rgb/1305031115.611424.png
1305031115.643254 rgb/1305031115.643254.png
1305031115.679241 rgb/1305031115.679241.png
1305031115.711320 rgb/1305031115.711320.png
1305031115.743250 rgb/1305031115.743250.png
1305031115.779425 rgb/1305031115.779425.png
1305031115.811277 rgb/1305031115.811277.png
1305031115.843224 rgb/1305031115.843224.png
1305031115.879198 rgb/1305031115.879198.png
1305031115.911118 rgb/1305031115.911118.png
1305031115.943311 rgb/1305031115.943311.png
1305031115.980740 rgb/1305031115.980740.png
1305031116.011379 rgb/1305031116.011379.png
1305031116.043164 rgb/1305031116.043164.png
1305031116.080030 rgb/1305031116.080030.png
1305031116.111300 rgb/1305031116.111300.png
1305031116.143441 rgb/1305031116.143441.png
1305031116.179572 rgb/1305031116.179572.png
1305031116.211299 rgb/1305031116.211299.png
1305031116.243320 rgb/1305031116.243320.png
1305031116.279385 rgb/1305031116.279385.png
1305031116.311336 rgb/1305031116.311336.png
1305031116.343292 rgb/1305031116.343292.png
1305031116.379384 rgb/1305031116.379384.png
1305031116.411333 rgb/1305031116.411333.png
1305031116.443369 rgb/1305031116.443369.png
1305031116.479850 rgb/1305031116.479850.png
1305031116.511205 rgb/1305031116.511205.png
1305031116.543262 rgb/1305031116.543262.png
1305031116.579313 rgb/1305031116.579313.png
1305031116.611261 rgb/1305031116.611261.png
1305031116.643355 rgb/1305031116.643355.png
1305031116.679281 rgb/1305031116.679281.png
1305031116.711634 rgb/1305031116.711634.png
1305031116.743291 rgb/1305031116.743291.png
1305031116.779298 rgb/1305031116.779298.png
1305031116.811318 rgb/1305031116.811318.png
1305031116.846089 rgb/1305031116.846089.png
1305031116.880165 rgb/1305031116.880165.png
1305031116.912044 rgb/1305031116.912044.png
1305031116.943296 rgb/1305031116.943296.png
1305031116.979351 rgb/1305031116.979351.png
1305031117.011382 rgb/1305031117.011382.png
1305031117.043261 rgb/1305031117.043261.png
1305031117.079520 rgb/1305031117.079520.png
1305031117.111238 rgb/1305031117.111238.png
1305031117.143218 rgb/1305031117.143218.png
1305031117.179264 rgb/1305031117.179264.png
1305031117.211361 rgb/1305031117.211361.png
1305031117.243277 rgb/1305031117.243277.png
1305031117.279299 rgb/1305031117.279299.png
1305031117.311200 rgb/1305031117.311200.png
1305031117.343243 rgb/1305031117.343243.png
1305031117.379454 rgb/1305031117.379454.png
1305031117.411221 rgb/1305031117.411221.png
1305031117.443274 rgb/1305031117.443274.png
1305031117.479403 rgb/1305031117.479403.png
1305031117.511325 rgb/1305031117.511325.png
1305031117.544285 rgb/1305031117.544285.png
1305031117.579155 rgb/1305031117.579155.png
1305031117.611159 rgb/1305031117.611159.png
1305031117.643252 rgb/1305031117.643252.png
1305031117.679262 rgb/1305031117.679262.png
1305031117.711184 rgb/1305031117.711184.png
1305031117.743184 rgb/1305031117.743184.png
1305031117.779467 rgb/1305031117.779467.png
1305031117.811320 rgb/1305031117.811320.png
1305031117.843291 rgb/1305031117.843291.png
1305031117.879451 rgb/1305031117.879451.png
1305031117.911407 rgb/1305031117.911407.png
1305031117.943253 rgb/1305031117.943253.png
1305031117.979228 rgb/1305031117.979228.png
1305031118.011228 rgb/1305031118.011228.png
1305031118.043521 rgb/1305031118.043521.png
1305031118.079334 rgb/1305031118.079334.png
1305031118.111217 rgb/1305031118.111217.png
1305031118.143256 rgb/1305031118.143256.png
1305031118.179323 rgb/1305031118.179323.png
1305031118.211202 rgb/1305031118.211202.png
1305031118.243173 rgb/1305031118.243173.png
1305031118.279194 rgb/1305031118.279194.png
1305031118.311299 rgb/1305031118.311299.png
1305031118.343324 rgb/1305031118.343324.png
1305031118.379208 rgb/1305031118.379208.png
1305031118.411296 rgb/1305031118.411296.png
1305031118.445692 rgb/1305031118.445692.png
1305031118.479285 rgb/1305031118.479285.png
1305031118.511255 rgb/1305031118.511255.png
1305031118.544414 rgb/1305031118.544414.png
1305031118.579285 rgb/1305031118.579285.png
1305031118.616142 rgb/1305031118.616142.png
1305031118.645325 rgb/1305031118.645325.png
1305031118.679295 rgb/1305031118.679295.png
1305031118.711421 rgb/1305031118.711421.png
1305031118.746770 rgb/1305031118.746770.png
1305031118.779277 rgb/1305031118.779277.png
1305031118.811221 rgb/1305031118.811221.png
1305031118.846753 rgb/1305031118.846753.png
1305031118.879208 rgb/1305031118.879208.png
1305031118.911177 rgb/1305031118.911177.png
1305031118.946974 rgb/1305031118.946974.png
1305031118.979374 rgb/1305031118.979374.png
1305031119.011363 rgb/1305031119.011363.png
1305031119.047172 rgb/1305031119.047172.png
1305031119.079223 rgb/1305031119.079223.png
1305031119.111328 rgb/1305031119.111328.png
1305031119.147616 rgb/1305031119.147616.png
1305031119.179226 rgb/1305031119.179226.png
1305031119.211364 rgb/1305031119.211364.png
1305031119.247399 rgb/1305031119.247399.png
1305031119.279212 rgb/1305031119.279212.png
1305031119.311212 rgb/1305031119.311212.png
1305031119.347741 rgb/1305031119.347741.png
1305031119.379239 rgb/1305031119.379239.png
1305031119.411484 rgb/1305031119.411484.png
1305031119.447706 rgb/1305031119.447706.png
1305031119.479267 rgb/1305031119.479267.png
1305031119.511240 rgb/1305031119.511240.png
1305031119.547382 rgb/1305031119.547382.png
1305031119.579559 rgb/1305031119.579559.png
1305031119.615017 rgb/1305031119.615017.png
1305031119.647903 rgb/1305031119.647903.png
1305031119.679208 rgb/1305031119.679208.png
1305031119.715232 rgb/1305031119.715232.png
1305031119.747193 rgb/1305031119.747193.png
1305031119.779169 rgb/1305031119.779169.png
1305031119.814537 rgb/1305031119.814537.png
1305031119.847429 rgb/1305031119.847429.png
1305031119.879214 rgb/1305031119.879214.png
1305031119.911401 rgb/1305031119.911401.png
1305031119.947392 rgb/1305031119.947392.png
1305031119.979537 rgb/1305031119.979537.png
1305031120.015264 rgb/1305031120.015264.png
1305031120.047290 rgb/1305031120.047290.png
1305031120.079418 rgb/1305031120.079418.png
1305031120.115232 rgb/1305031120.115232.png
1305031120.148157 rgb/1305031120.148157.png
1305031120.179246 rgb/1305031120.179246.png
1305031120.215249 rgb/1305031120.215249.png
1305031120.248003 rgb/1305031120.248003.png
1305031120.279430 rgb/1305031120.279430.png
1305031120.315196 rgb/1305031120.315196.png
1305031120.347787 rgb/1305031120.347787.png
1305031120.379437 rgb/1305031120.379437.png
1305031120.415445 rgb/1305031120.415445.png
1305031120.447417 rgb/1305031120.447417.png
1305031120.479432 rgb/1305031120.479432.png
1305031120.514819 rgb/1305031120.514819.png
1305031120.547736 rgb/1305031120.547736.png
1305031120.579551 rgb/1305031120.579551.png
1305031120.615236 rgb/1305031120.615236.png
1305031120.647354 rgb/1305031120.647354.png
1305031120.679318 rgb/1305031120.679318.png
1305031120.714522 rgb/1305031120.714522.png
1305031120.747369 rgb/1305031120.747369.png
1305031120.779894 rgb/1305031120.779894.png
1305031120.814944 rgb/1305031120.814944.png
1305031120.847921 rgb/1305031120.847921.png
1305031120.883435 rgb/1305031120.883435.png
1305031120.915444 rgb/1305031120.915444.png
1305031120.947488 rgb/1305031120.947488.png
1305031120.983366 rgb/1305031120.983366.png
1305031121.015019 rgb/1305031121.015019.png
1305031121.047498 rgb/1305031121.047498.png
1305031121.083099 rgb/1305031121.083099.png
1305031121.114696 rgb/1305031121.114696.png
1305031121.147331 rgb/1305031121.147331.png
1305031121.183271 rgb/1305031121.183271.png
1305031121.211420 rgb/1305031121.211420.png
1305031121.247194 rgb/1305031121.247194.png
1305031121.282876 rgb/1305031121.282876.png
1305031121.313568 rgb/1305031121.313568.png
1305031121.347517 rgb/1305031121.347517.png
1305031121.383226 rgb/1305031121.383226.png
1305031121.414318 rgb/1305031121.414318.png
1305031121.447319 rgb/1305031121.447319.png
1305031121.482964 rgb/1305031121.482964.png
1305031121.514107 rgb/1305031121.514107.png
1305031121.547270 rgb/1305031121.547270.png
1305031121.583204 rgb/1305031121.583204.png
1305031121.614700 rgb/1305031121.614700.png
1305031121.647183 rgb/1305031121.647183.png
1305031121.683200 rgb/1305031121.683200.png
1305031121.714520 rgb/1305031121.714520.png
1305031121.747145 rgb/1305031121.747145.png
1305031121.782835 rgb/1305031121.782835.png
1305031121.811540 rgb/1305031121.811540.png
1305031121.847335 rgb/1305031121.847335.png
1305031121.882060 rgb/1305031121.882060.png
1305031121.914931 rgb/1305031121.914931.png
1305031121.947288 rgb/1305031121.947288.png
1305031121.982926 rgb/1305031121.982926.png
1305031122.014256 rgb/1305031122.014256.png
1305031122.047306 rgb/1305031122.047306.png
1305031122.082959 rgb/1305031122.082959.png
1305031122.114672 rgb/1305031122.114672.png
1305031122.150725 rgb/1305031122.150725.png
1305031122.183042 rgb/1305031122.183042.png
1305031122.214959 rgb/1305031122.214959.png
1305031122.251319 rgb/1305031122.251319.png
1305031122.283560 rgb/1305031122.283560.png
1305031122.314289 rgb/1305031122.314289.png
1305031122.351327 rgb/1305031122.351327.png
1305031122.382630 rgb/1305031122.382630.png
1305031122.414997 rgb/1305031122.414997.png
1305031122.451257 rgb/1305031122.451257.png
1305031122.483360 rgb/1305031122.483360.png
1305031122.515097 rgb/1305031122.515097.png
1305031122.551490 rgb/1305031122.551490.png
1305031122.583208 rgb/1305031122.583208.png
1305031122.614980 rgb/1305031122.614980.png
1305031122.648788 rgb/1305031122.648788.png
1305031122.683402 rgb/1305031122.683402.png
1305031122.715208 rgb/1305031122.715208.png
1305031122.751298 rgb/1305031122.751298.png
1305031122.783423 rgb/1305031122.783423.png
1305031122.812555 rgb/1305031122.812555.png
1305031122.851418 rgb/1305031122.851418.png
1305031122.883754 rgb/1305031122.883754.png
1305031122.914571 rgb/1305031122.914571.png
1305031122.951341 rgb/1305031122.951341.png
1305031122.982815 rgb/1305031122.982815.png
1305031123.015450 rgb/1305031123.015450.png
1305031123.051827 rgb/1305031123.051827.png
1305031123.082975 rgb/1305031123.082975.png
1305031123.113873 rgb/1305031123.113873.png
1305031123.150822 rgb/1305031123.150822.png
1305031123.182155 rgb/1305031123.182155.png
1305031123.214704 rgb/1305031123.214704.png
1305031123.250618 rgb/1305031123.250618.png
1305031123.282347 rgb/1305031123.282347.png
1305031123.311327 rgb/1305031123.311327.png
1305031123.350481 rgb/1305031123.350481.png
1305031123.382255 rgb/1305031123.382255.png
1305031123.411363 rgb/1305031123.411363.png
1305031123.451255 rgb/1305031123.451255.png
1305031123.483594 rgb/1305031123.483594.png
1305031123.511360 rgb/1305031123.511360.png
1305031123.551513 rgb/1305031123.551513.png
1305031123.579583 rgb/1305031123.579583.png
1305031123.611335 rgb/1305031123.611335.png
1305031123.652411 rgb/1305031123.652411.png
1305031123.683753 rgb/1305031123.683753.png
1305031123.711323 rgb/1305031123.711323.png
1305031123.751723 rgb/1305031123.751723.png
1305031123.783858 rgb/1305031123.783858.png
1305031123.811608 rgb/1305031123.811608.png
1305031123.851444 rgb/1305031123.851444.png
1305031123.883786 rgb/1305031123.883786.png
1305031123.911243 rgb/1305031123.911243.png
1305031123.951442 rgb/1305031123.951442.png
1305031123.983415 rgb/1305031123.983415.png
1305031124.011302 rgb/1305031124.011302.png
1305031124.051505 rgb/1305031124.051505.png
1305031124.083837 rgb/1305031124.083837.png
1305031124.111331 rgb/1305031124.111331.png
1305031124.147446 rgb/1305031124.147446.png
1305031124.182694 rgb/1305031124.182694.png
1305031124.211396 rgb/1305031124.211396.png
1305031124.249327 rgb/1305031124.249327.png
1305031124.282545 rgb/1305031124.282545.png
1305031124.311361 rgb/1305031124.311361.png
1305031124.350354 rgb/1305031124.350354.png
1305031124.382420 rgb/1305031124.382420.png
1305031124.411439 rgb/1305031124.411439.png
1305031124.450245 rgb/1305031124.450245.png
1305031124.480099 rgb/1305031124.480099.png
1305031124.511324 rgb/1305031124.511324.png
1305031124.550437 rgb/1305031124.550437.png
1305031124.579404 rgb/1305031124.579404.png
1305031124.611358 rgb/1305031124.611358.png
1305031124.651271 rgb/1305031124.651271.png
1305031124.679362 rgb/1305031124.679362.png
1305031124.711251 rgb/1305031124.711251.png
1305031124.749890 rgb/1305031124.749890.png
1305031124.779365 rgb/1305031124.779365.png
1305031124.811360 rgb/1305031124.811360.png
1305031124.850535 rgb/1305031124.850535.png
1305031124.879355 rgb/1305031124.879355.png
1305031124.911448 rgb/1305031124.911448.png
1305031124.950730 rgb/1305031124.950730.png
1305031124.979438 rgb/1305031124.979438.png
1305031125.011454 rgb/1305031125.011454.png
1305031125.050763 rgb/1305031125.050763.png
1305031125.079364 rgb/1305031125.079364.png
1305031125.111364 rgb/1305031125.111364.png
1305031125.151013 rgb/1305031125.151013.png
1305031125.179353 rgb/1305031125.179353.png
1305031125.211320 rgb/1305031125.211320.png
1305031125.250632 rgb/1305031125.250632.png
1305031125.279467 rgb/1305031125.279467.png
1305031125.311493 rgb/1305031125.311493.png
1305031125.348880 rgb/1305031125.348880.png
1305031125.379401 rgb/1305031125.379401.png
1305031125.411335 rgb/1305031125.411335.png
1305031125.451195 rgb/1305031125.451195.png
1305031125.479424 rgb/1305031125.479424.png
1305031125.511316 rgb/1305031125.511316.png
1305031125.551020 rgb/1305031125.551020.png
1305031125.579308 rgb/1305031125.579308.png
1305031125.611533 rgb/1305031125.611533.png
1305031125.650575 rgb/1305031125.650575.png
1305031125.679328 rgb/1305031125.679328.png
1305031125.711443 rgb/1305031125.711443.png
1305031125.751260 rgb/1305031125.751260.png
1305031125.779348 rgb/1305031125.779348.png
1305031125.811573 rgb/1305031125.811573.png
1305031125.847412 rgb/1305031125.847412.png
1305031125.879318 rgb/1305031125.879318.png
1305031125.911305 rgb/1305031125.911305.png
1305031125.947343 rgb/1305031125.947343.png
1305031125.979324 rgb/1305031125.979324.png
1305031126.011333 rgb/1305031126.011333.png
1305031126.047324 rgb/1305031126.047324.png
1305031126.079356 rgb/1305031126.079356.png
1305031126.111370 rgb/1305031126.111370.png
1305031126.147432 rgb/1305031126.147432.png
1305031126.179384 rgb/1305031126.179384.png
1305031126.211319 rgb/1305031126.211319.png
1305031126.247298 rgb/1305031126.247298.png
1305031126.279363 rgb/1305031126.279363.png
1305031126.311332 rgb/1305031126.311332.png
1305031126.347363 rgb/1305031126.347363.png
1305031126.379423 rgb/1305031126.379423.png
1305031126.411465 rgb/1305031126.411465.png
1305031126.447361 rgb/1305031126.447361.png
1305031126.479533 rgb/1305031126.479533.png
1305031126.511410 rgb/1305031126.511410.png
1305031126.547374 rgb/1305031126.547374.png
1305031126.579454 rgb/1305031126.579454.png
1305031126.611528 rgb/1305031126.611528.png
1305031126.647376 rgb/1305031126.647376.png
1305031126.679479 rgb/1305031126.679479.png
1305031126.711583 rgb/1305031126.711583.png
1305031126.747316 rgb/1305031126.747316.png
1305031126.779379 rgb/1305031126.779379.png
1305031126.811602 rgb/1305031126.811602.png
1305031126.847343 rgb/1305031126.847343.png
1305031126.879357 rgb/1305031126.879357.png
1305031126.911364 rgb/1305031126.911364.png
1305031126.947437 rgb/1305031126.947437.png
1305031126.979337 rgb/1305031126.979337.png
1305031127.011371 rgb/1305031127.011371.png
1305031127.047297 rgb/1305031127.047297.png
1305031127.079299 rgb/1305031127.079299.png
1305031127.111435 rgb/1305031127.111435.png
1305031127.147307 rgb/1305031127.147307.png
1305031127.179349 rgb/1305031127.179349.png
1305031127.211700 rgb/1305031127.211700.png
1305031127.247374 rgb/1305031127.247374.png
1305031127.279465 rgb/1305031127.279465.png
1305031127.311362 rgb/1305031127.311362.png
1305031127.347356 rgb/1305031127.347356.png
1305031127.379262 rgb/1305031127.379262.png
1305031127.411371 rgb/1305031127.411371.png
1305031127.447333 rgb/1305031127.447333.png
1305031127.479362 rgb/1305031127.479362.png
1305031127.511356 rgb/1305031127.511356.png
1305031127.547348 rgb/1305031127.547348.png
1305031127.579345 rgb/1305031127.579345.png
1305031127.611271 rgb/1305031127.611271.png
1305031127.647358 rgb/1305031127.647358.png
1305031127.679298 rgb/1305031127.679298.png
1305031127.711375 rgb/1305031127.711375.png
1305031127.747304 rgb/1305031127.747304.png
1305031127.779346 rgb/1305031127.779346.png
1305031127.811829 rgb/1305031127.811829.png
1305031127.847366 rgb/1305031127.847366.png
1305031127.879380 rgb/1305031127.879380.png
1305031127.911476 rgb/1305031127.911476.png
1305031127.947366 rgb/1305031127.947366.png
1305031127.979371 rgb/1305031127.979371.png
1305031128.011427 rgb/1305031128.011427.png
1305031128.047369 rgb/1305031128.047369.png
1305031128.079334 rgb/1305031128.079334.png
1305031128.111391 rgb/1305031128.111391.png
1305031128.147418 rgb/1305031128.147418.png
1305031128.179350 rgb/1305031128.179350.png
1305031128.211447 rgb/1305031128.211447.png
1305031128.247480 rgb/1305031128.247480.png
1305031128.279336 rgb/1305031128.279336.png
1305031128.311483 rgb/1305031128.311483.png
1305031128.347423 rgb/1305031128.347423.png
1305031128.379404 rgb/1305031128.379404.png
1305031128.411337 rgb/1305031128.411337.png
1305031128.447296 rgb/1305031128.447296.png
1305031128.479296 rgb/1305031128.479296.png
1305031128.511433 rgb/1305031128.511433.png
1305031128.547399 rgb/1305031128.547399.png
1305031128.579455 rgb/1305031128.579455.png
1305031128.611395 rgb/1305031128.611395.png
1305031128.647352 rgb/1305031128.647352.png
1305031128.679282 rgb/1305031128.679282.png
1305031128.711457 rgb/1305031128.711457.png
1305031128.747363 rgb/1305031128.747363.png

mono_tum.cc里的main函数:

int main(int argc, char **argv)
{
// Retrieve paths to images
vector<string> vstrImageFilenames;
vector<double> vTimestamps;
string strFile = string(argv[])+"/rgb.txt";
LoadImages(strFile, vstrImageFilenames, vTimestamps);
//以上根据参数读入图片目录和时间戳(数据帧信息)
int nImages = vstrImageFilenames.size();

//在这里调用src/system.cc里定义的system构造函数,进行初始化
// Create SLAM system. It initializes all system threads and gets ready to process frames.
ORB_SLAM2::System SLAM(argv[],argv[],ORB_SLAM2::System::MONOCULAR,true);
// Vector for tracking time statistics
vector<float> vTimesTrack;
vTimesTrack.resize(nImages);// 根据图片个数,逐帧计算
cv::Mat im;
for(int ni=; ni<nImages; ni++)
{
// Read image from file
im = cv::imread(string(argv[])+"/"+vstrImageFilenames[ni],CV_LOAD_IMAGE_UNCHANGED);
double tframe = vTimestamps[ni];
// Pass the image to the SLAM system
SLAM.TrackMonocular(im,tframe); //system类成员函数,用来追踪单目图像(system还有用来追踪双目或rgbd的成员函数),返回当前帧相机位姿(Tcw)
usleep();// 为了抓主线,这里前前后后删掉了很多代码,总之就是如果计算时间比帧率快就sleep一会儿
} // Stop all threads
SLAM.Shutdown(); SLAM.SaveKeyFrameTrajectoryTUM("KeyFrameTrajectory.txt");
return ;
}

所以main函数只做五件事:读入数据、调用system(初始化、开启ORB_SLAM里的三个线程)、调用system::TrackMonocular处理每帧图像、调用shutdown(关闭打开的线程)、保存路径。

再看system.cc里的system函数:

 System::System(const string &strVocFile, const string &strSettingsFile, const eSensor sensor, const bool bUseViewer) :
mSensor(sensor), mpViewer(static_cast<Viewer*>(NULL)), mbReset(false),
mbActivateLocalizationMode(false), mbDeactivateLocalizationMode(false)
{
//前边很多行用来打印信息,检查路径,删掉
//根据参数2加载ORB词袋,这里用了第三方库DBow2,也是同一个团队出品
mpVocabulary = new ORBVocabulary();
bool bVocLoad = mpVocabulary->loadFromTextFile(strVocFile); //Create KeyFrame Database
mpKeyFrameDatabase = new KeyFrameDatabase(*mpVocabulary); //Create the Map
mpMap = new Map(); //Create Drawers. These are used by the Viewer
mpFrameDrawer = new FrameDrawer(mpMap);
mpMapDrawer = new MapDrawer(mpMap, strSettingsFile); //Initialize the Tracking thread跟踪线程,会根据strSettingFile读入相机参数
//(it will live in the main thread of execution, the one that called this constructor)
mpTracker = new Tracking(this, mpVocabulary, mpFrameDrawer, mpMapDrawer,
mpMap, mpKeyFrameDatabase, strSettingsFile, mSensor); //Initialize the Local Mapping thread and launch局部优化线程(BA)
mpLocalMapper = new LocalMapping(mpMap, mSensor==MONOCULAR);
mptLocalMapping = new thread(&ORB_SLAM2::LocalMapping::Run,mpLocalMapper); //Initialize the Loop Closing thread and launch闭环线程(全局优化)
mpLoopCloser = new LoopClosing(mpMap, mpKeyFrameDatabase, mpVocabulary, mSensor!=MONOCULAR);
mptLoopClosing = new thread(&ORB_SLAM2::LoopClosing::Run, mpLoopCloser); //Set pointers between threads
mpTracker->SetLocalMapper(mpLocalMapper);
mpTracker->SetLoopClosing(mpLoopCloser); mpLocalMapper->SetTracker(mpTracker);
mpLocalMapper->SetLoopCloser(mpLoopCloser); mpLoopCloser->SetTracker(mpTracker);
mpLoopCloser->SetLocalMapper(mpLocalMapper);
}

实例化了mpVocabulary、mpKeyFrameDatabasempMap、mpFrameDrawer、mpMapDrawer、mpTracker、mpLocalMapper、mpLoopCloser类。

mpVocabulary: 词袋管理,这里要加载一个一百多兆的词袋;

mpKeyFrameDatabasempMap:关键帧数据管理;

mpFrameDrawer:ORBSLAM跑起来以后维护右边那个图,图下面显示关键帧信息;

mpMapDrawer:ORBSLAM跑起来以后维护左边那个点云和关键帧位置的图;

mpTracker、mpLocalMapper、mpLoopCloser:跟踪、局部图优化、闭环。

所以system只做两件事:加载词袋、建立论文里所描述的那三个线程(这才是ORB_SLAM的核心)。

三个线程分别在Tracking.cc、LocalMapping.cc、LoopClosing.cc里,关键帧数据管理在KeyFrameDatabase.cc里,以后慢慢看。

SLAM学习笔记 - ORB_SLAM2源码运行及分析

15年发的paper里有对这三个线程的详细描述。

SLAM学习笔记 - ORB_SLAM2源码运行及分析

system里调用的Tracking()并没有真正跟踪相机位姿,只是根据参数对系统进行了初始化,真正的跟踪是在Track()里,main函数的for循环里调用:

 SLAM.TrackMonocular(im,tframe); -> GrabImageMonocular(im,timestamp); -> mCurrentFrame(计算ORB特征)->   Track();

Track()函数中,如果没有初始化调用 MonocularInitialization();初始化相机位姿,这里会抽取ORB特征、匹配、计算单应矩阵和基本矩阵。

初始化完成以后,跟踪:

             if(mState==OK)
{
// Local Mapping might have changed some MapPoints tracked in last frame
CheckReplacedInLastFrame(); if(mVelocity.empty() || mCurrentFrame.mnId<mnLastRelocFrameId+)
{
bOK = TrackReferenceKeyFrame();
}
else
{
bOK = TrackWithMotionModel();
if(!bOK)
bOK = TrackReferenceKeyFrame();
}
}
else
{
bOK = Relocalization();
}

得到匹配(当前帧、关键帧)以后,如果有局部图优化(mbOnlyTracking=0),调用TrackLocalMap()

cv::Mat Rcw; // Current Camera Rotation
cv::Mat tcw; // Current Camera Translation
vector<bool> vbTriangulated; // Triangulated Correspondences (mvIniMatches)

LocalMapping线程:

 void LocalMapping::Run()
{
mbFinished = false; while()
{
// Tracking will see that Local Mapping is busy
SetAcceptKeyFrames(false);
if(CheckNewKeyFrames())
{
//如果有新的关键帧,处理
}
else if(Stop())  //LocalMaping类成员函数  bool Stop()
{
// Safe area to stop
while(isStopped() && !CheckFinish())
{
usleep();
}
if(CheckFinish())
break;
}
ResetIfRequested();
// Tracking will see that Local Mapping is busy
SetAcceptKeyFrames(true); if(CheckFinish())
break; usleep();
}
SetFinish();
}

LocalMapping主要工作:

SLAM学习笔记 - ORB_SLAM2源码运行及分析

关于优化:

1. ORB_SLAM里的BA

SLAM学习笔记 - ORB_SLAM2源码运行及分析

ORB_SLAM里用了三种BA:

full BA - LoopClosing线程用,除了第一帧,图里所有的关键帧和所有的MapPoint共同参与;

local BA - LocalMapping线程用,局部区域内优化;

motion-only BA - Tracking线程用,只使用当前帧,用来优化相机位姿。

附:之前用ROS跑笔记本自带摄像头的安装和调试步骤,怕丢,存在这里

http://www.cnblogs.com/huicanlin/p/5265477.html
基本完全按照这个安装
只有./build.sh执行之前需要先打开编辑最后一行:
make -j改成make
-j是不限制同时执行的线程数,可能电脑比较差,没改之前每次build的时候都会死。 安装ROS
http://wiki.ros.org/indigo/Installation/Ubuntu#indigo.2BAC8-Installation.2BAC8-Sources.Setup_your_sources.list
第一步ubuntu软件中心配置不用设置,默认已经允许。
开始的时候按照ros官方安装,没成功,在apt-get update那一步时会报错说packages.ros.org无法解析域名,但在浏览器里可以打开,各种搜索,包括修改用代理下载,参考:http://www.cnblogs.com/nowornever-L/p/5743648.html,未果。
之后照这个
http://blog.exbot.net/archives/1270
包括密钥命令都输入一模一样,可以下载了 摄像头驱动安装:参考http://www.liuxiao.org/2015/10/ros-%E5%AE%89%E8%A3%85-usb-camera-%E9%A9%B1%E5%8A%A8%E5%B9%B6%E8%B0%83%E7%94%A8/
执行roscd usb_cam时总是说找不到这个文件夹
输入命令:source ~/catkin_ws/usb_cam/devel/setup.bash
执行usb_cam下的setup.bash通过。
摄像头驱动安装好以后
先打开一个控制台,执行roscore
再开一个控制台,依次执行:
source ~/catkin_ws/usb_cam/devel/setup.bash
roslaunch usb_cam usb_cam.launch
可看到笔记本摄像头采集到图像并显示
或:
先打开一个控制台,执行roscore
再开一个控制台,依次执行:
source ~/catkin_ws/usb_cam/devel/setup.bash
roscd usb_cam
rosrun usb_cam usb_cam_node
此时打印一堆信息,不管他,再打开一个控制台
rosrun image_view image_view image:=/usb_cam/image_raw
也可看到笔记本摄像头采集到事实图像并显示。
可看到笔记本摄像头采集到图像并显示 运行ros+ORB_SLAM2:
打开控制台,执行
roscore
再开控制台,执行
source ~/catkin_ws/usb_cam/devel/setup.bash
roslaunch usb_cam usb_cam-test.launch
再开控制台,执行
rosrun ORB_SLAM2 Mono /home/song/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/song/ORB_SLAM2/Examples/Monocular/TUM1.YAML
如果报错说找不到package ORB_SLAM2,需要进入/home/song/ORB_SLAM2/Example/ROS/ORB_SLAM2/build重新make一下,再重新打开控制台从新roscore,再rosrun就好了。
此时curretn frame会是黑屏,显示WAITING FOR IMAGES
参考《在ROS中使用USB摄像头跑ORB SLAM2》里,修改/ORB_SLAM2/Example/ROS/ORB_SLAM2/src/ros_mono.cc里的:
ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);
重新build一下,可以了。 上述步骤成功以后再次打开:
1. roscore
2.
另外一个控制台:
source ~/catkin_ws/usb_cam/devel/setup.bash
roslaunch usb_cam usb_cam-test.launch
ctrl+c关闭打开的图形窗口和launch界面
roscd usb_cam
rosrun usb_cam usb_cam_node
3.
再打开一个控制台
rosrun ORB_SLAM2 Mono /home/song/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/song/ORB_SLAM2/Examples/Monocular/TUM1.ymal [ERROR] [1496303422.284785359]: [registerPublisher] Failed to contact master at [localhost:11311]. Retrying...
如果出现这个错误,需要执行roscore

新电脑编译另外一个版本SLAM时报错没有boost,参考这里安装,其实就是apt-get

sudo apt-get install libboost-dev

附:对第一版ORB_SLAM的理解

初步看一下,只有一个main函数,是基于ROS调度的,也有三个线程,闭环线程LoopClosing.run()除了ROS调度部分和ORB_SLAM2里长的一样。

SLAM学习笔记 - ORB_SLAM2源码运行及分析

参考资料

ORB_SLAM2比ORB_SLAM多了三个.cc:

SLAM学习笔记 - ORB_SLAM2源码运行及分析

猜测system.cc功能类似ROS,viewer、MapDraw用于建图

附: ORB特征

这里讲的很清楚,特征点的匹配通过汉明距离计算。

SLAM学习笔记 - ORB_SLAM2源码运行及分析

SLAM学习笔记 - ORB_SLAM2源码运行及分析

SLAM学习笔记 - ORB_SLAM2源码运行及分析

上一篇:零基础如何学习Java和web前端


下一篇:Java 之 Web前端(六)