7
$\begingroup$

I'm reading this paper: http://arxiv.org/abs/1310.2053 (The role of RGB-D benchmark datasets: an overview) and see the following words:

Thanks to accurate depth data, currently published papers could present a broad range of RGB-D setups addressing well-known problems in computer vision in which the Microsoft Kinect ranging from SLAM [10, 12, 19, 17, 35, 11] over 3d reconstruction [2, 33, 38, 32, 1] over realtime face [18] and hand [30] tracking to motion capturing and gait analysis [34, 41, 8, 7, 4]

I thought of the term SLAM and 3D Reconstruction being the same thing, while the paper says the opposite with a bunch of citations (which still haven't tell the two apart).

In my opinion, Mapping in SLAM is the same term as 3D Reconstruction, while Localization is the essential part for Mapping. So I don't find a difference between SLAM and 3D Reconstruction, am I wrong (or is the author misclassfying)?

$\endgroup$

3 Answers 3

5
$\begingroup$

You are right about the sameness of SLAM and 3D reconstruction. At the same time I don't think the author is misclassifying.

The english is a little non-standard. The author could have better said it as:

...ranging from SLAM to 3D reconstruction to realtime face and hand tracking to ...

I think the paper lists both separately to better organize their references more than to highlight the differences.

The differences depend on what your viewpoint is. If you consider navigating an archeological site with a vehicle versus recording data about the site for historical preservation, they are different. Differences in sensors and real-time vs offline processing, and what algorithms work best in each situation.

Perhaps the main difference to consider is that in 3D reconstruction, the path of the sensors is not part of the goal and is discarded (or not estimated) at will. Meanwhile, in SLAM, the actual geometry and content of the environment is not as important as it's topology and your ability to localize within it.

The algorithms you mention, Kinfu, ElasticFusion, etc, call themselves SLAM, dense maps of the environment, and perhaps represent an evolution in the technology where the processing power and sensing available means that one need not optimize towards one goal (reconstruction) or the other (navigation). So you can look at it as the two categories, SLAM and 3D reconstruction, converging.

$\endgroup$
4
  • $\begingroup$ Thx~ Is your point mostly on realtime vs. offline? I'm particularly curious about RGB-D SLAM algorithms(Kinfu, Kintinuous, RGBDMapping, ElasticFusion, DynamicFusion etc.) which are all aim to reconstruct the dense map of the scene with camera trajectory meanwhile. SLAM or 3D-recon, which class do you prefer them being categorized? $\endgroup$ Aug 8, 2016 at 14:11
  • 1
    $\begingroup$ In my opinion the category is not important. You just need to be aware that there are two groups of people (those that do SLAM and those that do 3D reconstruction) whose problem domains overlap a lot. If you are navigating the scene with a robot, SLAM, if you are storing the scene for science, history, or film, 3D reconstruction. $\endgroup$
    – hauptmech
    Aug 8, 2016 at 22:09
  • $\begingroup$ I refined my answer based on your comment. $\endgroup$
    – hauptmech
    Aug 9, 2016 at 1:24
  • $\begingroup$ thx again for your kindly explanation ;) $\endgroup$ Aug 9, 2016 at 3:13
2
$\begingroup$

The difference is largely intent. SLAM is largely used to describe the mapping procedure used when navigating an unknown environment. This is done online so the most recent state estimates are available to the navigator. 3D reconstruction is often a post processing procedure to create a 3D map of some environment.

Or put another way: slam is an iterative process that creates an updated map with each new estimates while 3D reconstruction is a batch process that is run after all measurements have been collected.

$\endgroup$
3
  • $\begingroup$ Thx~ By pointing batch process you emphasize offline process, right? I'm particularly curious about RGB-D SLAM algorithms(Kinfu, Kintinuous, RGBDMapping, ElasticFusion, DynamicFusion etc.) which are all aim to reconstruct the dense map of the scene with camera trajectory meanwhile. SLAM or 3D-recon, which class do you prefer them being categorized? $\endgroup$ Aug 8, 2016 at 14:13
  • $\begingroup$ im not sure what you're asking. Could you rephrase the question? Also, I am far from being an expert on SLAM and 3D reconstruction. $\endgroup$
    – holmeski
    Aug 8, 2016 at 15:30
  • $\begingroup$ I mean I reckon the KinectFusion etc. algorithms being SLAM as well as 3D-reconstruction task. What you highlighted **iterative vs. batch process**(I understand it as realtme vs. offline process) as a main difference confuses me a bit... $\endgroup$ Aug 8, 2016 at 16:49
2
$\begingroup$

SLAM is jointly estimating the sensor pose and a map, based on a sensor model and sometimes a model for the pose change. The map can be represented in many different ways (e.g. landmark positions, occupancy grids, pointclouds).

3D reconstruction is used to estimate a 3D representation of the environment based on sensor data. There are many different ways to do this. SLAM can be part of the processing chain, but does not have to be.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.