Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ptam assertion failure #8

Open
Nicolas-Imperial opened this issue Apr 12, 2018 · 1 comment
Open

ptam assertion failure #8

Nicolas-Imperial opened this issue Apr 12, 2018 · 1 comment

Comments

@Nicolas-Imperial
Copy link

algorithm: libptam-original_mp-library
platform: x86_64, ubuntu 16.04
build: Thursday, April 12, 12:50

Assertion failure and return non-zero

Parameter input assigned value /slambench2/datasets/ICL_NUIM/living_room_traj2_loop.slam
Parameter load-library assigned value /slambench2/build/lib/libptam-original_mp-library.so
new library name: /slambench2/build/lib/libptam-original_mp-library.so
Configuration consumed 0 bytes
library loaded: /slambench2/build/lib/libptam-original_mp-library.so
Process every frame mode enabled
SLAMBench Report run started:	2018-04-12 12:01:14

Properties:
=================

frame-limit: 0
log-file: 
input: /slambench2/datasets/ICL_NUIM/living_room_traj2_loop.slam
load-library: /slambench2/build/lib/libptam-original_mp-library.so
dse: false
help: false
realtime-mode: false
realtime-multiplier: 1
file-output: 
RGB-intrinsics-parameters: 0.751875,1,0.4992185,0.4989583
Depth-intrinsics-parameters: 0.751875,1,0.4992185,0.4989583
Depth-disparity-params: 0.001,0
Grey-intrinsics-parameters: 0.751875,1,0.4992185,0.4989583
distortion_parameter: 0.1
candidate_minshitomasi_score: 70
rotation_estimator_blur: 0.75
coarse_min_velocity: 0.006
good_quality_threshold: 0.3
lost_quality_threshold: 0.13
min_tukey_sigma: 0.4
use_rotation_estimator: 1
disable_coarse: 0
max_patch_per_frame: 1000
mini_patch_max_ssd: 100000
coarse_min: 20
coarse_max: 60
coarse_range: 30
coarse_sub_pix_it: 8
first_space_bar: 1
second_space_bar: 3
tracker_estimator: Tukey
bundle_estimator: Tukey
*** Start memory tracking
*** Test XU3 Monitoring.
*** XU3 Monitoring failed.
*** There is no available power monitoring techniques on this system.
? GV3::Register:  TooN::Vector<5>; std::__cxx11::string = std::__cxx11::basic_string<char>] Camera.Parameters undefined. Defaults to [ 6.95283e-310 5.43472e-323 3.59483e+252 6.90285e-310 6.95283e-310 ]
? GV3::Register:  double; std::__cxx11::string = std::__cxx11::basic_string<char>] MapMaker.CandidateMinShiTomasiScore undefined. Defaults to 0
? GV3::Register:  double; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.RotationEstimatorBlur undefined. Defaults to 0
? GV3::Register:  double; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.CoarseMinVelocity undefined. Defaults to 0
? GV3::Register:  double; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.TrackingQualityGood undefined. Defaults to 0
? GV3::Register:  double; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.TrackingQualityLost undefined. Defaults to 0
? GV3::Register:  double; std::__cxx11::string = std::__cxx11::basic_string<char>] Bundle.MinTukeySigma undefined. Defaults to 0
? GV3::Register:  int; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.UseRotationEstimator undefined. Defaults to 0
? GV3::Register:  int; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.DisableCoarse undefined. Defaults to 0
? GV3::Register:  int; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.MaxPatchesPerFrame undefined. Defaults to 0
? GV3::Register:  int; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.MiniPatchMaxSSD undefined. Defaults to 0
? GV3::Register:  unsigned int; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.CoarseMin undefined. Defaults to 0
? GV3::Register:  unsigned int; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.CoarseMax undefined. Defaults to 0
? GV3::Register:  unsigned int; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.CoarseRange undefined. Defaults to 0
? GV3::Register:  int; std::__cxx11::string = std::__cxx11::basic_string<char>] Tracker.CoarseSubPixIts undefined. Defaults to 0
? GV3::Register: string TrackerMEstimator undefined. Defaults to ""
? GV3::Register: string BundleMEstimator undefined. Defaults to ""
Create camera
Create map
Create mpMapMaker
Create mpTracker

Statistics:
=================

Frame Number	Timestamp	AbsoluteError	MeanATE	MaxATE	RPE_RMSE	Duration_Frame	CPU_Memory	GPU_Memory	CUDA_Memory	X	Y	Z
Point camera at planar scene and press spacebar to start tracking for initial map.

benchmark_loader: /slambench2/framework/shared/src/outputs/Output.cpp:56: void slambench::outputs::Output::AddPoint(slambench::outputs::BaseOutput::timestamp_t, const slambench::values::Value*): Assertion `value->GetType() == GetType()' failed.
return value: 139
mihaibujanca added a commit to mihaibujanca/slambench2 that referenced this issue Oct 13, 2020
* Comment out CUDA monitoring

* Add BundleFusion branch code

* Fix Makefile missing \ in OpenLORIS

* README: remove quick start for IROS challenge

The information of lifelong_loader and the new relocalize API is
added into proper places.

Also corrected the definition of other APIs.

Signed-off-by: Xuesong Shi <[email protected]>

* add PCL to framework/shared/CMakeLists to fix compiling issue

Signed-off-by: Xuesong Shi <[email protected]>

* remove unused code introduced by this PR

Signed-off-by: Xuesong Shi <[email protected]>

* fix depth scaling factors of TUM/BONN/ICL-NUIM

The [TUM file formats]
(https://vision.in.tum.de/data/datasets/rgbd-dataset/file_formats)
states that depth images are scaled by a factor of 5000. However,
the factor had been set to 1000 in slambench2 (disparity_params=0.001)
because there was a hardcoded dividing by 5 in SLAMFrame.cpp.

Now that we had removed the dividing by 5, we are fixing the scaling
factors for TUM and other TUM-format datasets.

Signed-off-by: Xuesong Shi <[email protected]>

* fix depth scaling factor of ICL

Following last commit

Signed-off-by: Xuesong Shi <[email protected]>

* lifelong_loader: align traj only with gt of the first input

For lifelong SLAM evaluation, the estimated poses should be aligned
with groundtruth of the first data input. This commit implements this
feature by introducing AlignmentOutput::SetFreeze(), which will be
called by SLAMBenchConfigurationLifelong at the end of the first
input. Then, AlignmentOutput will stop updating the transformation
matrix.

Also added the alignment-technique (-a) param to lifelong_loader.
And fixed param explanation in benchmark_loader.

Signed-off-by: Xuesong Shi <[email protected]>

* support dataset-generator options for OpenLORIS in Makefile

Signed-off-by: Xuesong Shi <[email protected]>

* remove SLAMBenchLibraryHelperLifelong

This was introduced to keep minimal change to SLAMBenchLibraryHelper.
But as libraries should be re-compiled anyway, it is unnecessary to
maintain a 'lifelong' lib helper other than the 'normal' one, which
would be another historical strangeness.

BTW, the getSensorUpdate() API is no longer needed by the libraries.
(since the workaround of reusing input interface in
 SLAMBenchConfigurationLifelong::AddInputInterface)

Signed-off-by: Xuesong Shi <[email protected]>

* some minor code improvements

Signed-off-by: Xuesong Shi <[email protected]>

* Add OpenLORIS targets to .PRECIOUS

* Set the default alignment method to "new" on all loaders

* Remove unused headers in OpenLORIS.cpp

* fix association and implement interpolation

The previous implementation of associate() made an assumption that gt traj
is 'denser' than the estimated traj. When it is violated, e.g. with the
OpenLORIS home1 data, runtime error will occur.

This commit refactored the associate() function to remove the assumption.
It also implements interpolation between two closest gt poses.

Signed-off-by: Xuesong Shi <[email protected]>

* fix groundtruth mismatching in SLAMBenchConfiguration

This is a quick workaround and I'm expecting more elegent fixings.

The implementation of GTBufferingFrameStream looks over-complicated
and confusing to me. I think it made an assumption that gt should
come first from the deserialiser, and the buffer works only once
at initilization (perhaps should call fastForward in GetNextFrame?).
And it may be possible to make a more straightforward implementation
of GetGTFrames.

Signed-off-by: Xuesong Shi <[email protected]>

* fix crash when groundtruth ends earlier than other frames

Keep calm, print nan, and carry on.

Signed-off-by: Xuesong Shi <[email protected]>

* change raw ptr to smart ptr for Metrics and refine cw management

Signed-off-by: Xuesong Shi <[email protected]>

* refactor result saving and move it out from SLAMBenchConfigurationLifelong

So that other loaders could re-use it.

Also added saving groundtruth, to faciliate post analysis.

Signed-off-by: Xuesong Shi <[email protected]>

* OpenLORIS builder: transform gt target to d400_color

And changed sensor poses accordingly. Though nobody cares.

Require to re-build all .slam file in OpenLORIS.

Signed-off-by: Xuesong Shi <[email protected]>

* add absolute orientation error into ATEMetric

Signed-off-by: Xuesong Shi <[email protected]>

* SLAMBenchConfiguration(Lifelong): consistent member naming

This does not change any program behavior.

Signed-off-by: Xuesong Shi <[email protected]>

* OpenLORIS.h/.cpp: format code

This does not change any program behaviors.

Signed-off-by: Xuesong Shi <[email protected]>

* copy evaluate scripts from openloris_tools

Signed-off-by: Xuesong Shi <[email protected]>

* Minor code improvements

Use auto when possible, change pass by value to const reference

* process gt pose properly in post analysis

Signed-off-by: Xuesong Shi <[email protected]>

* Fix unused parameter error

* Remove open_vins directory

Co-authored-by: Mihai Bujanca <[email protected]>
Co-authored-by: Xuesong Shi <[email protected]>
@schmidtp1
Copy link

schmidtp1 commented Oct 21, 2022

seeing the same issue (ubuntu 20.04)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants