Increased version 0.20.4. Added parameter Kp/ByteToFloat (default true to use less memory with kdtree and binary descriptors). Memory/Sqlite3: Setting weight to -9 for invalid nodes (to make sure they are not reloaded from database, to fix a graph reduced issue). Added 12-SURF/FREAK detector approach. rtabmap-info: added number of nodes in each sessions.

This commit is contained in:
matlabbe
2020-09-28 10:29:14 -04:00
parent c5158cade5
commit 933ac736f1
13 changed files with 257 additions and 82 deletions

View File

@@ -33,6 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <rtabmap/core/DBDriver.h>
#include <rtabmap/utilite/UDirectory.h>
#include "rtabmap/utilite/UFile.h"
#include "rtabmap/utilite/UStl.h"
using namespace rtabmap;
@@ -229,7 +230,7 @@ int main(int argc, char * argv[])
driver->getAllNodeIds(ids);
Transform lastLocalization;
std::map<int, Transform> optimizedPoses = driver->loadOptimizedPoses(&lastLocalization);
std::set<int> mapsLinkedToLastGraph;
std::multimap<int, int> mapIdsLinkedToLastGraph;
int lastMapId=0;
double previousStamp = 0.0f;
Transform previousPose;
@@ -265,7 +266,7 @@ int main(int argc, char * argv[])
}
if(optimizedPoses.find(id) != optimizedPoses.end())
{
mapsLinkedToLastGraph.insert(mapId);
mapIdsLinkedToLastGraph.insert(std::make_pair(mapId, id));
}
if(iter!=ids.begin())
{
@@ -318,13 +319,14 @@ int main(int argc, char * argv[])
}
std::stringstream sessionsInOptGraphStr;
for(std::set<int>::iterator iter=mapsLinkedToLastGraph.begin(); iter!=mapsLinkedToLastGraph.end(); ++iter)
std::list<int> mapsLinkedToLastGraph = uUniqueKeys(mapIdsLinkedToLastGraph);
for(std::list<int>::iterator iter=mapsLinkedToLastGraph.begin(); iter!=mapsLinkedToLastGraph.end(); ++iter)
{
if(iter!=mapsLinkedToLastGraph.begin())
{
sessionsInOptGraphStr << ", ";
}
sessionsInOptGraphStr << *iter;
sessionsInOptGraphStr << *iter << "(" << mapIdsLinkedToLastGraph.count(*iter) << ")";
}
std::cout << (uFormat("%s%fs\n", pad("Total time:").c_str(), infoTotalTime));