SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
!
!
RTABMAP Report
A simple investigation and things learned
!
Lihang Li
Jan.30 2015

!1RTABMAP INVESTIGATION REPORT
RTABMAP Report
A simple investigation and things learned
!
1. Papers
(1) Appearance-Based Loop Closure Detection for Online Large-Scale and Long-Term
Operation
!
!2RTABMAP INVESTIGATION REPORT
!
!
!3RTABMAP INVESTIGATION REPORT
(2) Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM
!
See paper 1.
!
(3) Memory Management for Real-Time Appearance-Based Loop Closure Detection
(4) Video Google: A Text Retrieval Approach to Object Matching in Videos
An approach to object and scene retrieval which searches for and localizes all the
occurrences of a user outlined object in a video. The object is represented by a set of
viewpoint invariant region descriptors so that recog- nition can proceed successfully
despite changes in view- point, illumination and partial occlusion.	

The analogy with text retrieval is in the implementation where matches on descriptors
are pre-computed (using vec- tor quantization), and inverted file systems and
document rankings are used. The result is that retrieval is immediate, returning a
ranked list of key frames/shots in the manner of Google.	

(5) A Fast and Incremental Method for Loop-Closure Detection Using Bags of Visual Words
!4RTABMAP INVESTIGATION REPORT
!
!
2. Methods
(1) Bag-of-words
http://people.csail.mit.edu/fergus/iccv2005/bagwords.html
!
(2) Vector Quantisation
http://www.data-compression.com/vq.html
http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Vector_quantization.html
!
(3) Recursive Bayesian Filtering
http://en.wikipedia.org/wiki/Recursive_Bayesian_estimation
!
(4) Pose Graph Optimisation
http://www2.informatik.uni-freiburg.de/~stachnis/toro/
!
(5) FLANN
http://docs.opencv.org/trunk/modules/flann/doc/
flann_fast_approximate_nearest_neighbor_search.html
http://www.cs.ubc.ca/~lowe/papers/09muja.pdf
!
3. Source Code
(1) main.cpp
The application entry.
http://qt-project.org/doc/qt-4.8/qapplication.html#exec
http://qt-project.org/doc/qt-4.8/qcoreapplication.html#processEvents
Directory Functionality
app main.cpp
corelib The RTABMAP backend
guilib The Qt frontend
utilite Utilities include logger, thread manager, event
manager,etc. Independent project at https://
code.google.com/p/utilite/.
!5RTABMAP INVESTIGATION REPORT
RtabmapThread starts as an backend here.
!
(2) Rtabmap.h/Rtabmap.cpp
The main class which hold the ‘process’ method, the core function of RTABMAP.
!
(3) CameraRGBD.h/CameraRGBD.cpp
• Image I/O, abstract for RGB and RGBD even Scanner sensors, for RGBD sensors, support
OpenNI, OpenNI2, OpenNICV, Freenect, etc.
• Store sensor data by RtabmapThread with std::list<SensorData> _dataBuffer
!
(4) UThread.h
Thread management abstraction layer.
• Posix(UThreadC.h)
• Win32(UThreadC.h & UWin32.h)
!
Specific Threads include:
• Main Thread
• RtabmapThread
• CamearThread(Triggered by actionStart, slot is startDetection)
• OdometryThread(OdometryOpticalFlow or OdometryBOW or OdometryICP)
• DBReader
• CompressionThread
• DBDriver
• qimageThread
• qimageLoopThread
• qdepthThread
• qdepthLoopThread
!
(5) UEvent*
Event management abstraction layer.
• UEvent
• UEventHandler
• UEventManager
• UEventSender
!6RTABMAP INVESTIGATION REPORT
(6) Odometry.h/Odomery.cpp
Visual Odometry.
!
(7) VMDictionary.cpp
Visual words dictionary.
!
(8) Memory.cpp
STM(Short Term Memory) & WM(Working Memory).
!
(9) BayesFilter.h/BayesFilter.cpp
Implementation of the recursive bayesian filter.
!
(10)EpipolarGeometry.cpp
Used to check loop closure hypothesis.
!
!
4. Things learned
(1) RTABMAP is a good framework to start with Graph Based SLAM which uses Qt, PCL,
OpenCV, OpenNI, etc
(2) The popular approach currently seems to build a pose graph first, then optimise after loop
closure detection, finally obtain the point cloud
(3) However, the open source implementation address the problem of loop closure detection,
not much to Mapping, so it does not fit well to do Object Reconstruction using Kinect
(4) Other investigations need to be done, like RGBDSLAM & Washington University’s
RGBD Mapping project
!7RTABMAP INVESTIGATION REPORT

Weitere ähnliche Inhalte

Was ist angesagt?

stitching presentation
stitching presentationstitching presentation
stitching presentationNicholas Eu
 
MajorProjects16-2
MajorProjects16-2MajorProjects16-2
MajorProjects16-2Gromit Park
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
20110220 computer vision_eruhimov_lecture02
20110220 computer vision_eruhimov_lecture0220110220 computer vision_eruhimov_lecture02
20110220 computer vision_eruhimov_lecture02Computer Science Club
 
LTTng (EclipseCon 2010)
LTTng (EclipseCon 2010)LTTng (EclipseCon 2010)
LTTng (EclipseCon 2010)Fchouinard
 
III EEE-CS2363-Computer-Networks-model-question-paper-set-2-for-may-june-2014
III EEE-CS2363-Computer-Networks-model-question-paper-set-2-for-may-june-2014III EEE-CS2363-Computer-Networks-model-question-paper-set-2-for-may-june-2014
III EEE-CS2363-Computer-Networks-model-question-paper-set-2-for-may-june-2014Selva Kumar
 
Petri Nets: Properties, Analysis and Applications
Petri Nets: Properties, Analysis and ApplicationsPetri Nets: Properties, Analysis and Applications
Petri Nets: Properties, Analysis and ApplicationsDr. Mohamed Torky
 
Kernel Recipes 2014 - kGraft: Live Patching of the Linux Kernel
Kernel Recipes 2014 - kGraft: Live Patching of the Linux KernelKernel Recipes 2014 - kGraft: Live Patching of the Linux Kernel
Kernel Recipes 2014 - kGraft: Live Patching of the Linux KernelAnne Nicolas
 

Was ist angesagt? (11)

Gc in android
Gc in androidGc in android
Gc in android
 
stitching presentation
stitching presentationstitching presentation
stitching presentation
 
MajorProjects16-2
MajorProjects16-2MajorProjects16-2
MajorProjects16-2
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
20110220 computer vision_eruhimov_lecture02
20110220 computer vision_eruhimov_lecture0220110220 computer vision_eruhimov_lecture02
20110220 computer vision_eruhimov_lecture02
 
LTTng (EclipseCon 2010)
LTTng (EclipseCon 2010)LTTng (EclipseCon 2010)
LTTng (EclipseCon 2010)
 
Detection
DetectionDetection
Detection
 
III EEE-CS2363-Computer-Networks-model-question-paper-set-2-for-may-june-2014
III EEE-CS2363-Computer-Networks-model-question-paper-set-2-for-may-june-2014III EEE-CS2363-Computer-Networks-model-question-paper-set-2-for-may-june-2014
III EEE-CS2363-Computer-Networks-model-question-paper-set-2-for-may-june-2014
 
Petri Nets: Properties, Analysis and Applications
Petri Nets: Properties, Analysis and ApplicationsPetri Nets: Properties, Analysis and Applications
Petri Nets: Properties, Analysis and Applications
 
Benchmarking on JVM
Benchmarking on JVMBenchmarking on JVM
Benchmarking on JVM
 
Kernel Recipes 2014 - kGraft: Live Patching of the Linux Kernel
Kernel Recipes 2014 - kGraft: Live Patching of the Linux KernelKernel Recipes 2014 - kGraft: Live Patching of the Linux Kernel
Kernel Recipes 2014 - kGraft: Live Patching of the Linux Kernel
 

Ähnlich wie Rtabmap investigation report-lihang

Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaSridhar Kumar N
 
Presentation1.2.pptx
Presentation1.2.pptxPresentation1.2.pptx
Presentation1.2.pptxpranaykusuma
 
QTP Interview Questions and answers
QTP Interview Questions and answersQTP Interview Questions and answers
QTP Interview Questions and answersRita Singh
 
Interview qutions
Interview qutionsInterview qutions
Interview qutionssatyaragha
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learningpratik pratyay
 
REAL-TIME PEDESTRIAN DETECTION USING APACHE STORM IN A DISTRIBUTED ENVIRONMENT
REAL-TIME PEDESTRIAN DETECTION USING APACHE STORM IN A DISTRIBUTED ENVIRONMENTREAL-TIME PEDESTRIAN DETECTION USING APACHE STORM IN A DISTRIBUTED ENVIRONMENT
REAL-TIME PEDESTRIAN DETECTION USING APACHE STORM IN A DISTRIBUTED ENVIRONMENTcscpconf
 
Real-Time Pedestrian Detection Using Apache Storm in a Distributed Environment
Real-Time Pedestrian Detection Using Apache Storm in a Distributed Environment Real-Time Pedestrian Detection Using Apache Storm in a Distributed Environment
Real-Time Pedestrian Detection Using Apache Storm in a Distributed Environment csandit
 
Java Performance and Profiling
Java Performance and ProfilingJava Performance and Profiling
Java Performance and ProfilingWSO2
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaegerOracle Korea
 
Distributed Tracing with Jaeger
Distributed Tracing with JaegerDistributed Tracing with Jaeger
Distributed Tracing with JaegerInho Kang
 
LTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingLTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingChristian Babeux
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012Wingston
 
Distributed tracing 101
Distributed tracing 101Distributed tracing 101
Distributed tracing 101Itiel Shwartz
 
426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer ToolsMark Billinghurst
 
Development of wearable object detection system &amp; blind stick for visuall...
Development of wearable object detection system &amp; blind stick for visuall...Development of wearable object detection system &amp; blind stick for visuall...
Development of wearable object detection system &amp; blind stick for visuall...Arkadev Kundu
 
Java Performance & Profiling
Java Performance & ProfilingJava Performance & Profiling
Java Performance & ProfilingIsuru Perera
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSTulipp. Eu
 
COSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer ToolsCOSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer ToolsMark Billinghurst
 

Ähnlich wie Rtabmap investigation report-lihang (20)

Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
 
Presentation1.2.pptx
Presentation1.2.pptxPresentation1.2.pptx
Presentation1.2.pptx
 
QTP Interview Questions and answers
QTP Interview Questions and answersQTP Interview Questions and answers
QTP Interview Questions and answers
 
Interview qutions
Interview qutionsInterview qutions
Interview qutions
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learning
 
REAL-TIME PEDESTRIAN DETECTION USING APACHE STORM IN A DISTRIBUTED ENVIRONMENT
REAL-TIME PEDESTRIAN DETECTION USING APACHE STORM IN A DISTRIBUTED ENVIRONMENTREAL-TIME PEDESTRIAN DETECTION USING APACHE STORM IN A DISTRIBUTED ENVIRONMENT
REAL-TIME PEDESTRIAN DETECTION USING APACHE STORM IN A DISTRIBUTED ENVIRONMENT
 
Real-Time Pedestrian Detection Using Apache Storm in a Distributed Environment
Real-Time Pedestrian Detection Using Apache Storm in a Distributed Environment Real-Time Pedestrian Detection Using Apache Storm in a Distributed Environment
Real-Time Pedestrian Detection Using Apache Storm in a Distributed Environment
 
slide-171212080528.pptx
slide-171212080528.pptxslide-171212080528.pptx
slide-171212080528.pptx
 
Java Performance and Profiling
Java Performance and ProfilingJava Performance and Profiling
Java Performance and Profiling
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaeger
 
Distributed Tracing with Jaeger
Distributed Tracing with JaegerDistributed Tracing with Jaeger
Distributed Tracing with Jaeger
 
Distributed Tracing
Distributed TracingDistributed Tracing
Distributed Tracing
 
LTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingLTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space Tracing
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012
 
Distributed tracing 101
Distributed tracing 101Distributed tracing 101
Distributed tracing 101
 
426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools
 
Development of wearable object detection system &amp; blind stick for visuall...
Development of wearable object detection system &amp; blind stick for visuall...Development of wearable object detection system &amp; blind stick for visuall...
Development of wearable object detection system &amp; blind stick for visuall...
 
Java Performance & Profiling
Java Performance & ProfilingJava Performance & Profiling
Java Performance & Profiling
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
COSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer ToolsCOSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer Tools
 

Mehr von Lihang Li

Something about SSE and beyond
Something about SSE and beyondSomething about SSE and beyond
Something about SSE and beyondLihang Li
 
Some experiences and lessons learnt from hunting a job
Some experiences and lessons learnt from hunting a jobSome experiences and lessons learnt from hunting a job
Some experiences and lessons learnt from hunting a jobLihang Li
 
Getting started with Linux and Python by Caffe
Getting started with Linux and Python by CaffeGetting started with Linux and Python by Caffe
Getting started with Linux and Python by CaffeLihang Li
 
Point cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihangPoint cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihangLihang Li
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupLihang Li
 
2013新人见面会-中科院开源软件协会介绍-hustcalm
2013新人见面会-中科院开源软件协会介绍-hustcalm2013新人见面会-中科院开源软件协会介绍-hustcalm
2013新人见面会-中科院开源软件协会介绍-hustcalmLihang Li
 
像Hackers一样写博客-hustcalm
像Hackers一样写博客-hustcalm像Hackers一样写博客-hustcalm
像Hackers一样写博客-hustcalmLihang Li
 

Mehr von Lihang Li (7)

Something about SSE and beyond
Something about SSE and beyondSomething about SSE and beyond
Something about SSE and beyond
 
Some experiences and lessons learnt from hunting a job
Some experiences and lessons learnt from hunting a jobSome experiences and lessons learnt from hunting a job
Some experiences and lessons learnt from hunting a job
 
Getting started with Linux and Python by Caffe
Getting started with Linux and Python by CaffeGetting started with Linux and Python by Caffe
Getting started with Linux and Python by Caffe
 
Point cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihangPoint cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihang
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
 
2013新人见面会-中科院开源软件协会介绍-hustcalm
2013新人见面会-中科院开源软件协会介绍-hustcalm2013新人见面会-中科院开源软件协会介绍-hustcalm
2013新人见面会-中科院开源软件协会介绍-hustcalm
 
像Hackers一样写博客-hustcalm
像Hackers一样写博客-hustcalm像Hackers一样写博客-hustcalm
像Hackers一样写博客-hustcalm
 

Kürzlich hochgeladen

Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfrs7054576148
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 

Kürzlich hochgeladen (20)

Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 

Rtabmap investigation report-lihang

  • 1. ! ! RTABMAP Report A simple investigation and things learned ! Lihang Li Jan.30 2015
 !1RTABMAP INVESTIGATION REPORT
  • 2. RTABMAP Report A simple investigation and things learned ! 1. Papers (1) Appearance-Based Loop Closure Detection for Online Large-Scale and Long-Term Operation ! !2RTABMAP INVESTIGATION REPORT
  • 4. (2) Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM ! See paper 1. ! (3) Memory Management for Real-Time Appearance-Based Loop Closure Detection (4) Video Google: A Text Retrieval Approach to Object Matching in Videos An approach to object and scene retrieval which searches for and localizes all the occurrences of a user outlined object in a video. The object is represented by a set of viewpoint invariant region descriptors so that recog- nition can proceed successfully despite changes in view- point, illumination and partial occlusion. The analogy with text retrieval is in the implementation where matches on descriptors are pre-computed (using vec- tor quantization), and inverted file systems and document rankings are used. The result is that retrieval is immediate, returning a ranked list of key frames/shots in the manner of Google. (5) A Fast and Incremental Method for Loop-Closure Detection Using Bags of Visual Words !4RTABMAP INVESTIGATION REPORT
  • 5. ! ! 2. Methods (1) Bag-of-words http://people.csail.mit.edu/fergus/iccv2005/bagwords.html ! (2) Vector Quantisation http://www.data-compression.com/vq.html http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Vector_quantization.html ! (3) Recursive Bayesian Filtering http://en.wikipedia.org/wiki/Recursive_Bayesian_estimation ! (4) Pose Graph Optimisation http://www2.informatik.uni-freiburg.de/~stachnis/toro/ ! (5) FLANN http://docs.opencv.org/trunk/modules/flann/doc/ flann_fast_approximate_nearest_neighbor_search.html http://www.cs.ubc.ca/~lowe/papers/09muja.pdf ! 3. Source Code (1) main.cpp The application entry. http://qt-project.org/doc/qt-4.8/qapplication.html#exec http://qt-project.org/doc/qt-4.8/qcoreapplication.html#processEvents Directory Functionality app main.cpp corelib The RTABMAP backend guilib The Qt frontend utilite Utilities include logger, thread manager, event manager,etc. Independent project at https:// code.google.com/p/utilite/. !5RTABMAP INVESTIGATION REPORT
  • 6. RtabmapThread starts as an backend here. ! (2) Rtabmap.h/Rtabmap.cpp The main class which hold the ‘process’ method, the core function of RTABMAP. ! (3) CameraRGBD.h/CameraRGBD.cpp • Image I/O, abstract for RGB and RGBD even Scanner sensors, for RGBD sensors, support OpenNI, OpenNI2, OpenNICV, Freenect, etc. • Store sensor data by RtabmapThread with std::list<SensorData> _dataBuffer ! (4) UThread.h Thread management abstraction layer. • Posix(UThreadC.h) • Win32(UThreadC.h & UWin32.h) ! Specific Threads include: • Main Thread • RtabmapThread • CamearThread(Triggered by actionStart, slot is startDetection) • OdometryThread(OdometryOpticalFlow or OdometryBOW or OdometryICP) • DBReader • CompressionThread • DBDriver • qimageThread • qimageLoopThread • qdepthThread • qdepthLoopThread ! (5) UEvent* Event management abstraction layer. • UEvent • UEventHandler • UEventManager • UEventSender !6RTABMAP INVESTIGATION REPORT
  • 7. (6) Odometry.h/Odomery.cpp Visual Odometry. ! (7) VMDictionary.cpp Visual words dictionary. ! (8) Memory.cpp STM(Short Term Memory) & WM(Working Memory). ! (9) BayesFilter.h/BayesFilter.cpp Implementation of the recursive bayesian filter. ! (10)EpipolarGeometry.cpp Used to check loop closure hypothesis. ! ! 4. Things learned (1) RTABMAP is a good framework to start with Graph Based SLAM which uses Qt, PCL, OpenCV, OpenNI, etc (2) The popular approach currently seems to build a pose graph first, then optimise after loop closure detection, finally obtain the point cloud (3) However, the open source implementation address the problem of loop closure detection, not much to Mapping, so it does not fit well to do Object Reconstruction using Kinect (4) Other investigations need to be done, like RGBDSLAM & Washington University’s RGBD Mapping project !7RTABMAP INVESTIGATION REPORT