ApdowJN / Stereo-NEC

The official repository of our ICRA 2024 paper "Stereo-NEC: Enhancing Stereo Visual-Inertial SLAM Initialization with Normal Epipolar Constraints".
120 stars 11 forks source link

EuRoC MH_01_easy #9

Closed liliang2655 closed 4 months ago

liliang2655 commented 5 months ago

大佬您好,感谢您的分享。

我在学习您的工作的时候,用的是您源码里的配置文件,不知道为什么出现这种情况。

同样配置用ORB3源码是没问题的。

我是用opencv4.4.0编译您的工作。

liliang2655 commented 5 months ago

./Examples/Stereo-Inertial/stereo_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo-Inertial/EuRoC.yaml /media/ll/dataset/EuRoC/MH_01_easy /media/ll/dataset/EuRoC/MH_01_easy/time.txt num_seq = 1 Loading images for sequence 0...LOADED! Loading IMU for sequence 0...LOADED!


ORB-SLAM3 Copyright (C) 2017-2020 Carlos Campos, Richard Elvira, Juan J. Gómez, José M.M. Montiel and Juan D. Tardós, University of Zaragoza. ORB-SLAM2 Copyright (C) 2014-2016 Raúl Mur-Artal, José M.M. Montiel and Juan D. Tardós, 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: Stereo-Inertial Loading settings from ./Examples/Stereo-Inertial/EuRoC.yaml Camera1.k3 optional parameter does not exist... -Loaded camera 1 Camera2.k3 optional parameter does not exist... -Loaded camera 2 Camera.newHeight optional parameter does not exist... Camera.newWidth optional parameter does not exist... -Loaded image info IMU.InsertKFsWhenLost optional parameter does not exist... -Loaded IMU calibration -Loaded ORB settings -Loaded viewer settings System.LoadAtlasFromFile optional parameter does not exist... System.SaveAtlasToFile optional parameter does not exist... -Loaded Atlas settings System.thFarPoints optional parameter does not exist... -Loaded misc parameters -Computed rectification maps

SLAM settings: -Camera 1 parameters (Pinhole): [ 458.65399169921875 457.29598999023438 367.21499633789062 248.375 ] -Camera 1 distortion parameters: [ -0.28340810537338257 0.073959067463874817 0.00019359000725671649 1.7618711353861727e-05 ] -Camera 2 parameters (Pinhole: [ 457.58700561523438 456.13400268554688 379.99899291992188 255.23800659179688 ] -Camera 1 distortion parameters: [ -0.2836836576461792 0.074512839317321777 -0.00010473000293131918 -3.555907096597366e-05 ] -Original image size: [ 752 , 480 ] -Current image size: [ 752 , 480 ] -Camera 1 parameters after rectification: [ 456.71499633789062 456.71499633789062 364.52615356445312 257.268798828125 ] -Sequence FPS: 20 -Stereo baseline: 0.11007785052061081 -Stereo depth threshold : 60 -Gyro noise: 0.00016999999934341758 -Accelerometer noise: 0.0020000000949949026 -Gyro walk: 1.9392999092815444e-05 -Accelerometer walk: 0.0030000000260770321 -IMU frequency: 200 -Features per image: 1200 -ORB scale factor: 1.2000000476837158 -ORB number of scales: 8 -Initial FAST threshold: 20 -Min FAST threshold: 7

Loading ORB Vocabulary. This could take a while... Vocabulary loaded!

Initialization of Atlas from scratch Creation of new map with id: 0 Creation of new map with last KF id: 0 Seq. Name: There are 1 cameras in the atlas Camera 0 is pinhole 1403636579763555584has not IMU meas 1403636579813555456has not IMU meas 1403636579863555584not enough acceleration /usr/lib/x86_64-linux-gnu/libgnutls.so.30: version `GNUTLS_3_6_3' not found (required by /home/ll/snap/code/common/.cache/gio-modules/libgiognutls.so) Failed to load module: /home/ll/snap/code/common/.cache/gio-modules/libgiognutls.so /home/ll/snap/code/common/.cache/gio-modules/libgiolibproxy.so: undefined symbol: g_task_set_name Failed to load module: /home/ll/snap/code/common/.cache/gio-modules/libgiolibproxy.so /home/ll/snap/code/common/.cache/gio-modules/libgiognomeproxy.so: undefined symbol: g_task_set_name Failed to load module: /home/ll/snap/code/common/.cache/gio-modules/libgiognomeproxy.so Starting the Viewer 1403636579913555456not enough acceleration First KF:0; Map init KF:0 New Map created with 532 points [Ours] SfM takes: 14.157767 ms [Ours] SfM takes: 29.206572999999999 ms [Ours] SfM takes: 25.890474999999999 ms [Ours] SfM takes: 22.772261 ms [Ours] SfM takes: 28.759719 ms [Ours] SfM takes: 29.537393000000002 ms [Ours] SfM takes: 27.010584999999999 ms [Ours] SfM takes: 37.886494999999996 ms [Ours] SfM takes: 26.381948000000001 ms [Ours] SfM takes: 40.119680000000002 ms mTinit: 2.25 (WWH) +++ Current id: 9 and name:1403636582213555456+++ [Ours] Estimate gyroscope bias takes: 176.42271500000001 ms isUpdate: 1 [Ours] Estimate bias, g, vecl takes: 0.76707499999999995 ms [Ours] Integrate rotation and optimize translation only takes: 5.227061 ms Estimated bg (BA): -0.0031866137869656086 0.021899973973631859 0.07936076819896698 TRACK: Reset map because local mapper set the bad imu flag LM: Active map reset recieved LM: Active map reset, waiting... LM: Reseting current map in Local Mapping... LM: End reseting Local Mapping... LM: Reset free the mutex LM: Active map reset, Done!!! mnFirstFrameId = 4 mnInitialFrameId = 0 50 Frames set to lost 1403636582513555456has not IMU meas First KF:10; Map init KF:0 New Map created with 481 points [Ours] SfM takes: 15.533348999999999 ms [Ours] SfM takes: 29.232870999999999 ms [Ours] SfM takes: 29.784565000000001 ms [Ours] SfM takes: 38.233583000000003 ms [Ours] SfM takes: 27.972538 ms [Ours] SfM takes: 29.885093999999999 ms [Ours] SfM takes: 24.489391999999999 ms [Ours] SfM takes: 38.804670999999999 ms [Ours] SfM takes: 30.999860999999999 ms mTinit: 2.25 (WWH) +++ Current id: 19 and name:1403636584813555456+++ [Ours] Estimate gyroscope bias takes: 171.19436099999999 ms isUpdate: 1 [Ours] Estimate bias, g, vecl takes: 0.83147700000000002 ms [Ours] Integrate rotation and optimize translation only takes: 5.8115969999999999 ms Estimated bg (BA): -0.0037268516607582569 0.022000616416335106 0.079449877142906189 TRACK: Reset map because local mapper set the bad imu flag LM: Active map reset recieved LM: Active map reset, waiting... LM: Reseting current map in Local Mapping... LM: End reseting Local Mapping... LM: Reset free the mutex LM: Active map reset, Done!!! mnFirstFrameId = 56 mnInitialFrameId = 54 100 Frames set to lost 1403636585113555456has not IMU meas First KF:20; Map init KF:10 New Map created with 687 points [Ours] SfM takes: 14.819317 ms [Ours] SfM takes: 22.824038999999999 ms [Ours] SfM takes: 27.490884000000001 ms [Ours] SfM takes: 25.474872000000001 ms [Ours] SfM takes: 23.934135000000001 ms [Ours] SfM takes: 30.637802000000001 ms [Ours] SfM takes: 33.135696000000003 ms [Ours] SfM takes: 27.722856 ms [Ours] SfM takes: 37.298994 ms [Ours] SfM takes: 25.798843000000002 ms mTinit: 2.2999999523162842 (WWH) +++ Current id: 29 and name:1403636587463555584+++ [Ours] Estimate gyroscope bias takes: 173.203889 ms isUpdate: 1 [Ours] Estimate bias, g, vecl takes: 0.59191000000000005 ms [Ours] Integrate rotation and optimize translation only takes: 8.0558969999999999 ms Estimated bg (BA): -0.0031731287017464638 0.021060843020677567 0.078461058437824249 TRACK: Reset map because local mapper set the bad imu flag LM: Active map reset recieved LM: Active map reset, waiting... LM: Reseting current map in Local Mapping... LM: End reseting Local Mapping... LM: Reset free the mutex LM: Active map reset, Done!!! mnFirstFrameId = 108 mnInitialFrameId = 106 151 Frames set to lost 1403636587763555584has not IMU meas 1403636587813555456not enough acceleration 1403636587863555584not enough acceleration 1403636587913555456not enough acceleration 1403636587963555584not enough acceleration 1403636588013555456not enough acceleration 1403636588063555584not enough acceleration 1403636588113555456not enough acceleration 1403636588163555584not enough acceleration 1403636588213555456not enough acceleration 1403636588263555584not enough acceleration 1403636588313555456not enough acceleration 1403636588363555584not enough acceleration 1403636588413555456not enough acceleration 1403636588463555584not enough acceleration 1403636588513555456not enough acceleration 1403636588563555584not enough acceleration 1403636588613555456not enough acceleration

liliang2655 commented 5 months ago

运行后一直在重复初始化,我也没有修改您源码的其他参数。请问您之前有遇到过这种情况吗

HJMGARMIN commented 4 months ago

注释掉LocalMapping.cc里面InitializeIMU函数最后面的 { unique_lock<mutex> lock(mMutexReset); mbBadImu = true; }

liliang2655 commented 4 months ago

注释掉LocalMapping.cc里面InitializeIMU函数最后面的 { unique_lock<mutex> lock(mMutexReset); mbBadImu = true; }

可以了!感谢大佬!祝您学术道路一帆风顺!飞龙在天!

ApdowJN commented 4 months ago

不好意思回复晚了,因为paper是测试初始化的性能的所以代码是一直不断的trigger 初始化的过程。只需要注释掉LocalMapping.cc里面InitializeIMU函数最后面的 { unique_lock lock(mMutexReset); mbBadImu = true; } 就行。