mpkuse / cerebro Goto Github PK
View Code? Open in Web Editor NEWIntelligent place recognition module for vins-fusion
Intelligent place recognition module for vins-fusion
let me say, visual global localization evey 1 second initiatively through DBOW2 or vocabulary tree,or NetVLAD. And then fusion global localization pose with Vio through EKF or vins-fusion.
this can also always know global localization enven at kidnap.
Hi,
Thanks for your great job again, but Im still confusing about how to get validation metric...
More specifically, I cannot understand above sentence in your paper.
For our evaluation, we use the total number of positive matches as the length of the sequence,
since every image in the live sequence has a correspondence in the memory-sequence.
What is the defination of "positive matches"? Is it the correct matches?
What is the defination of "length of the sequence", and how is it used in finall P-R curve?
Currently I know the PR curve is defined to adjusting a threshold of matching score to get specific precision and recall metrices and record their value to form a curve.
To get a PR curve, two sequence should be the input, one (LABEL) is the labels and the other is score of every element (SCORE, what algorithms estimated). In CARL, matches whose index is within six indices of itself is labeled as 1 and others are labeld as 0, and the matching scores become second input (SCORE). Could you please explain if there is any difference between your paper and CALC?
Your reply will be higly appreciated!
Hello, I installed tensorflow and your various dependencies in virtualenv, but I didn't use GPU, because I want to deploy the program on NUC. Now I have this problem, I hope you can help me solve it
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
roslaunch cerebro mynteye_vinsfusion.launch
... logging to /home/zc/.ros/log/2b2b8fd4-26fb-11ea-bfcc-54271ed95d7d/roslaunch-zc-N551JM-26672.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://zc-N551JM:40151/
PARAMETERS
NODES
/
cerebro_node (cerebro/cerebro_node)
keyframe_pose_graph_slam_node (solve_keyframe_pose_graph/keyframe_pose_graph_slam)
my_desc_server (cerebro/whole_image_desc_compute_server.py)
rosbag (rosbag/play)
vins_estimator (vins/vins_node)
auto-starting new master
process[master]: started with pid [26682]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 2b2b8fd4-26fb-11ea-bfcc-54271ed95d7d
process[rosout-1]: started with pid [26695]
started core service [/rosout]
process[rosbag-2]: started with pid [26702]
process[vins_estimator-3]: started with pid [26724]
process[cerebro_node-4]: started with pid [26725]
process[my_desc_server-5]: started with pid [26726]
process[keyframe_pose_graph_slam_node-6]: started with pid [26730]
[ WARN] [1577267080.347463776]: [cerebro_node] loadStateFromDisk cmdline parameter was not found, so I will not loadStateFromDisk()
[ WARN] [1577267080.348508341]: [cerebro_node] saveStateToDisk cmdline parameter was not found, so I will not saveStateToDisk()
[ WARN] [1577267080.349461016]: Config File Name : /home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye/mynteye_stereo_imu_config.yaml
[ INFO] [1577267080.350065193]: cam0_calib : camera_left.yaml
cam0_fullpath=/home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye//camera_left.yaml
Load file : /home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye//camera_left.yaml
Constructor for ImageDataManager
--- Abstract CameraParams(cam_id=0) from DataManager ---
Camera Parameters:
model_type KANNALA_BRANDT
camera_name camera_left
image_width 752
image_height 480
Projection Parameters
k2 -0.0193721
k3 -0.00981409
k4 0.0052091
k5 -0.00253848
mu 367.798
mv 367.357
u0 371.509
v0 239.944
--- END
[ INFO] [1577267080.350685089]: Subscribe to camera_pose_topic: /vins_estimator/camera_pose
[ INFO] [1577267080.357411833]: Subscribe to raw_image_topic: /mynteye/left/image_raw
[ INFO] [1577267080.365296311]: Subscribe to image_topic_1: /mynteye/right/image_raw
[ INFO] [1577267080.369634375]: ******
Subscribe to depth_image_topic: /camera/depth/image_rect_raw
[ INFO] [1577267080.373364599]: cam1_calib : camera_right.yaml
camera_yaml_1_fullpath=/home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye//camera_right.yaml
Load file : /home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye//camera_right.yaml
--- Abstract CameraParams(cam_id=1) from DataManager ---
Camera Parameters:
model_type KANNALA_BRANDT
camera_name camera_right
image_width 752
image_height 480
Projection Parameters
k2 -0.0168777
k3 -0.0221253
k4 0.0256298
k5 -0.0133527
mu 367.465
mv 367.031
u0 362.009
v0 249.197
--- END
[ INFO] [1577267080.376090713]: in config_file=/home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye/mynteye_stereo_imu_config.yaml; extrinsic_1_T_0 : extrinsics.yaml
___extrinsic_1_T_0_fullpath=/home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye//extrinsics.yaml
opencv yaml reading: open file: /home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye//extrinsics.yaml
successfully opened file /home/zc/catkin_zc/src/cerebro/config/vinsfusion/mynteye//extrinsics.yaml
--values from file--
q_xyzw:
-0.000709551
-0.00157756
-0.00127326
0.999998
tr_xyz:
-120.07
0.339563
-0.167841
translation divided by 1000 to convert from mm (in file) to meters (as needed)
_1_T_0: :YPR(deg)=(-0.146,-0.181,-0.081) :TxTyTz=(-0.120,0.000,-0.000)
_1_T_0:
0.999992 0.00254876 -0.0031533 -0.12007
-0.00254428 0.999996 0.00142312 0.000339563
0.00315692 -0.00141508 0.999994 -0.000167841
0 0 0 1
---DataManager::setCameraRelPose---
setting 1_T_0 :::> :YPR(deg)=(-0.146,-0.181,-0.081) :TxTyTz=(-0.120,0.000,-0.000)
---DONE---
[ INFO] [1577267080.380586313]: Subscribe to extrinsic_cam_imu_topic: /vins_estimator/extrinsic
[ INFO] [1577267080.385169447]: Subscribe to ptcld_topic: /vins_estimator/keyframe_point
[ImageDataManager::initStashDir] rm -rf /tmp/cerebro_stash/
rm -rf /tmp/cerebro_stash/
[ImageDataManager::initStashDir] mkdir -p /tmp/cerebro_stash/
mkdir -p /tmp/cerebro_stash/
[ImageDataManager::initStashDir] rm -rf /tmp/cerebro_stash/
rm -rf /tmp/cerebro_stash/
[ImageDataManager::initStashDir] mkdir -p /tmp/cerebro_stash/
mkdir -p /tmp/cerebro_stash/
[ INFO] [1577267080.412362429]: [Cerebro::setPublishers] Publish cerebro::LoopEdge /cerebro/loopedge
[DataManager::clean_up_useless_images_thread] Start thread
Start DataManager::trial_thread
[ INFO] [1577267080.414701124]: main : Publisher pub_topic_test: /feature_tracker/rcvd_flag
END DataManager::trial_thread
[DataManager::data_association_thread] Start thread
[ INFO] [1577267080.415905529]: main : Publisher pub_topic_header: /feature_tracker/rcvd_flag_header
[ INFO] [1577267080.417253983]: Subscribe to kidnap_bool_topic: /feature_tracker/rcvd_flag
[ INFO] [1577267080.422101283]: Subscribe to kidnap_header_topic: /feature_tracker/rcvd_flag_header
[ INFO] [1577267080.426902792]: Visualization Publisher pub_topic_test: /cerebro_node/viz//chatter
[Cerebro::loopcandiate_consumer_thread] Start thread
Start Cerebro::kipnaped_thead
[ INFO] [1577267080.428554163]: Visualization Publisher framedata_pub_topic: /cerebro_node/viz//framedata
[Cerebro::descrip_N__dot__descrip_0_N] Start thread
[ INFO] [1577267080.429772833]: Visualization Publisher imagepair_pub_topic: /cerebro_node/viz//imagepaire
[Cerebro::descriptor_computer_thread]Attempt connecting to ros-service for 71 sec (will give up after that)
[ INFO] [1577267080.451396199]: waitForService: Service [/whole_image_descriptor_compute] has not been advertised, waiting...
Using TensorFlow backend.
2019-12-25 17:44:41.604172: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
File "/home/zc/catkin_zc/src/cerebro/scripts/whole_image_desc_compute_server.py", line 734, in
gpu_netvlad = HDF5ModelImageDescriptor( kerasmodel_file=kerasmodel_file, im_rows=fs_image_height, im_cols=fs_image_width, im_chnls=fs_image_chnls )
File "/home/zc/catkin_zc/src/cerebro/scripts/whole_image_desc_compute_server.py", line 533, in init
assert os.path.isdir( LOG_DIR ), "The LOG_DIR doesnot exist, or there is a permission issue. LOG_DIR="+LOG_DIR
AssertionError: The LOG_DIR doesnot exist, or there is a permission issue. LOG_DIR=/models.keras/June2019/centeredinput-m1to1-240x320x1__mobilenetv2-block_9_add__K16__allpairloss
[my_desc_server-5] process has died [pid 26726, exit code 1, cmd /home/zc/catkin_zc/src/cerebro/scripts/whole_image_desc_compute_server.py __name:=my_desc_server __log:=/home/zc/.ros/log/2b2b8fd4-26fb-11ea-bfcc-54271ed95d7d/my_desc_server-5.log].
log file: /home/zc/.ros/log/2b2b8fd4-26fb-11ea-bfcc-54271ed95d7d/my_desc_server-5*.log
[clean_up_useless_images_thread] no nodes
[clean_up_useless_images_thread] no nodes
[ImageDataManager::rmImage] FATAL-ERROR you requested to remove ns=depth_image, t=1547461553.249318600; However it was not found on the map. FATAL ERRR
[ImageDataManager::rmImage]No action taken for now.....
[ImageDataManager::rmImage] FATAL-ERROR you requested to remove ns=depth_image, t=1547461553.282628536; However it was not found on the map. FATAL ERRR
hello,
Thanks for your great work again! Recently I noticed that you updated a new branch of robust-pose-computation,I am curious about it's use and some performance improvements.Do you have a simple description of this later?
thanks!
It is really exciting to see this code released! Amazing!
Dose this code support the map reuse? map save? map load? relocalization?
Kind Regards!
Hi,
I found that your provided models take input image of fixed size of 480x752x3 or 240x320x3 or 240x320x1, but datasets(Euroc, mynt_bags) associate to this project contains images of size of 480x752x1, so I failed to run whole_image_descriptor_compute node.
Could you please help me to fix this?
Hi,everyone!
I can save the trajectories to file,but when i load the file for relocalization, I got a error.
[ INFO] [1565945296.388419850]: [Composer::setup_200hz_publishers] Publish to hz200/pose
[ INFO] [1565945296.388831153]: [Composer::setup_200hz_publishers] Publish to hz200/posestamped
[ INFO] [1565945296.389227159]: Subscribe to imu_worldpose_topic: /vins_estimator/imu_propagate
Start `periodic_publish_odoms`
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
Start reinit_ceres_problem_onnewloopedge_optimize6DOF()
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
---node_len=(0 to 402) loopedge_len=(0 to 0)
No new loop edge, sleep again!
[ERROR] [1565945296.487689565]: [NodeDataManager::get_imu_T_cam] posegraph solver, you requested imu_T_cam aka imu-cam extrinsic calib, but currently it is not available. FATAL ERROR.
[keyframe_pose_graph_slam_node-3] process has died [pid 1268, exit code 1, cmd /home/tmirobot/VSlam/Cerebro/devel/lib/solve_keyframe_pose_graph/keyframe_pose_graph_slam __name:=keyframe_pose_graph_slam_node __log:=/home/tmirobot/.ros/log/9375a8f0-c002-11e9-bd98-d0c6374d89b5/keyframe_pose_graph_slam_node-3.log].
log file: /home/tmirobot/.ros/log/9375a8f0-c002-11e9-bd98-d0c6374d89b5/keyframe_pose_graph_slam_node-3*.log
[ERROR] [1565945367.594421986]: [Cerebro::descriptor_computer_thread]Connection to server NOT successful. I tried waiting for 71 sec, still couldnt establish connection. Quiting the thread.
How can I solve this problem?
Hi @mpkuse !
I have tasted the code for some weeks,i find some problem about this project!
First: what(): std::bad_alloc
[ INFO] [1567006054.174485223]: Subscribe to imu_worldpose_topic: /vins_estimator/imu_propagate
Start `periodic_publish_odoms`
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
Start reinit_ceres_problem_onnewloopedge_optimize6DOF()
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
---node_len=(0 to 5072) loopedge_len=(0 to 0)
No new loop edge, sleep again!
[NodeDataManager::camera_pose_callback] 1st pose creating at t=1567006055.340228319
looks like you loaded from file
[NodeDataManager::mark_as_unkidnapped_and_signal_start_of_world] _t_begin=1567006055.340228319
[NodeDataManager::nodeidx_of_world_i_started] ERROR no such world 1 exists
[periodic_publish_odoms] sleep() for 100milis. This is done just as a precaution because next world may not be immediately available after unkidnap. It takes usually upto 500milisec for vins to reinitialize. This warning is not very critial.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
[cerebro_node-2] process has died [pid 2320, exit code -6, cmd /home/tmirobot/TmiRobot/VSLAM_V2/devel/lib/cerebro/cerebro_node __name:=cerebro_node __log:=/home/tmirobot/.ros/log/863f0118-c999-11e9-8312-94c691a91e1a/cerebro_node-2.log].
log file: /home/tmirobot/.ros/log/863f0118-c999-11e9-8312-94c691a91e1a/cerebro_node-2*.log
Startup sequence: realsense node >> cerebro Cause this problem
Startup sequence: cerebro >> realsense node it's good! no problem.
Second:
It’s often impossible to locate in the map.I don't know if this question is related to the deletion of the following code?
Matrix4d NodeDataManager::get_imu_T_cam() const
{
std::lock_guard<std::mutex> lk(imu_cam_mx);
// Remove this if, once i am confident everythinbg is ok!
// if( imu_T_cam_available == false )
// {
// ROS_ERROR( "[NodeDataManager::get_imu_T_cam] posegraph solver, you requested imu_T_cam aka imu-cam extrinsic calib, but currently it is not available. FATAL ERROR.\n");
// exit(1);
// }
assert( imu_T_cam_available );
return imu_T_cam;
}
But if I don't delete this code i will got a bug!
[ERROR] [1567006503.628649348]: [NodeDataManager::get_imu_T_cam] posegraph solver, you requested imu_T_cam aka imu-cam extrinsic calib, but currently it is not available. FATAL ERROR.
[keyframe_pose_graph_slam_node-3] process has died [pid 3712, exit code 1, cmd /home/tmirobot/TmiRobot/VSLAM_V2/devel/lib/solve_keyframe_pose_graph/keyframe_pose_graph_slam __name:=keyframe_pose_graph_slam_node __log:=/home/tmirobot/.ros/log/863f0118-c999-11e9-8312-94c691a91e1a/keyframe_pose_graph_slam_node-3.log].
log file: /home/tmirobot/.ros/log/863f0118-c999-11e9-8312-94c691a91e1a/keyframe_pose_graph_slam_node-3*.log
Thank you for much!!!
why@why-desktop:~/SLAM_WS/Kidnap$ roslaunch cerebro mynteye_vinsfusion.launch
... logging to /home/why/.ros/log/338daad0-ea89-11e9-b4a5-7085c2882345/roslaunch-why-desktop-26401.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://why-desktop:45089/
PARAMETERS
NODES
/
cerebro_node (cerebro/cerebro_node)
keyframe_pose_graph_slam_node (solve_keyframe_pose_graph/keyframe_pose_graph_slam)
my_desc_server (cerebro/whole_image_desc_compute_server.py)
rosbag (rosbag/play)
vins_estimator (vins/vins_node)
auto-starting new master
process[master]: started with pid [26413]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 338daad0-ea89-11e9-b4a5-7085c2882345
process[rosout-1]: started with pid [26428]
started core service [/rosout]
process[rosbag-2]: started with pid [26432]
process[vins_estimator-3]: started with pid [26440]
process[cerebro_node-4]: started with pid [26454]
process[my_desc_server-5]: started with pid [26459]
process[keyframe_pose_graph_slam_node-6]: started with pid [26464]
[ WARN] [1570621061.983622030]: [cerebro_node] loadStateFromDisk cmdline parameter was not found, so I will not loadStateFromDisk()
[ WARN] [1570621061.988763392]: [cerebro_node] saveStateToDisk cmdline parameter was not found, so I will not saveStateToDisk()
[ WARN] [1570621061.999904135]: Config File Name : /home/why/SLAM_WS/Kidnap/src/cerebro/config/vinsfusion/mynteye/mynteye_stereo_imu_config.yaml
Using TensorFlow backend.
[cerebro_node-4] process has died [pid 26454, exit code -11, cmd /home/why/SLAM_WS/Kidnap/devel/lib/cerebro/cerebro_node __name:=cerebro_node __log:=/home/why/.ros/log/338daad0-ea89-11e9-b4a5-7085c2882345/cerebro_node-4.log].
log file: /home/why/.ros/log/338daad0-ea89-11e9-b4a5-7085c2882345/cerebro_node-4*.log
2019-10-09 19:37:43.230471: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-10-09 19:37:43.302617: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-10-09 19:37:43.303406: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x5ecd360 executing computations on platform CUDA. Devices:
2019-10-09 19:37:43.303423: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): GeForce GTX 1050, Compute Capability 6.1
2019-10-09 19:37:43.322800: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3600000000 Hz
2019-10-09 19:37:43.323171: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x5f34f00 executing computations on platform Host. Devices:
2019-10-09 19:37:43.323191: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): ,
2019-10-09 19:37:43.323420: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
name: GeForce GTX 1050 major: 6 minor: 1 memoryClockRate(GHz): 1.493
pciBusID: 0000:01:00.0
totalMemory: 1.95GiB freeMemory: 544.44MiB
2019-10-09 19:37:43.323439: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-10-09 19:37:43.324262: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-10-09 19:37:43.324279: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990] 0
2019-10-09 19:37:43.324286: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0: N
2019-10-09 19:37:43.324389: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 398 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1050, pci bus id: 0000:01:00.0, compute capability: 6.1)
Traceback (most recent call last):
File "/home/why/SLAM_WS/Kidnap/src/cerebro/scripts/whole_image_desc_compute_server.py", line 733, in
gpu_netvlad = JSONModelImageDescriptor( kerasmodel_file=kerasmodel_file, im_rows=fs_image_height, im_cols=fs_image_width, im_chnls=fs_image_chnls )
File "/home/why/SLAM_WS/Kidnap/src/cerebro/scripts/whole_image_desc_compute_server.py", line 372, in init
assert os.path.isdir( LOG_DIR ), "The LOG_DIR doesnot exist, or there is a permission issue. LOG_DIR="+LOG_DIR
AssertionError: The LOG_DIR doesnot exist, or there is a permission issue. LOG_DIR=/models.keras/June2019/centeredinput-m1to1-240x320x1__mobilenetv2-block_9_add__K16__allpairloss
[my_desc_server-5] process has died [pid 26459, exit code 1, cmd /home/why/SLAM_WS/Kidnap/src/cerebro/scripts/whole_image_desc_compute_server.py __name:=my_desc_server __log:=/home/why/.ros/log/338daad0-ea89-11e9-b4a5-7085c2882345/my_desc_server-5.log].
log file: /home/why/.ros/log/338daad0-ea89-11e9-b4a5-7085c2882345/my_desc_server-5*.log
^C[keyframe_pose_graph_slam_node-6] killing on exit
[vins_estimator-3] killing on exit
[rosbag-2] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
Hi. I pulled down your latest docker image (tag: ros-kinetic-vins-tf-faiss) and cloned your latest cerebro code (6562264) into the docker. During runtime, it gave the error like this:
Regardless of the whole image descriptor compute out of range error, the std::bad_alloc
memory issue also existed on my native machine (with cerebro commit 3f2418f). I was wondering it was my config or dependency problem, so I tried your docker image, yet this issue still exists.
My gcc version is also 5.4 with ROS kinetic and cuda 9.0. May I ask what code you are using now? Because your latest cerebro code still has tiny mistake which I had to correct to compile. In the CMakeLists.txt, line 106 (also 119) you shall remove that INCLUDE_DIRS include
because you don't have include
folder in the code. That will cause cmake error. Thanks anyway!
CMake Error at cerebro/CMakeLists.txt:27 (find_package):
By not providing "FindTheia.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Theia", but
CMake did not find one.
Could not find a package configuration file provided by "Theia" with any of
the following names:
TheiaConfig.cmake
theia-config.cmake
Add the installation prefix of "Theia" to CMAKE_PREFIX_PATH or set
"Theia_DIR" to a directory containing one of the above files. If "Theia"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
See also "/home/gaotao/data/catkin_ws_vins_fusion/build/CMakeFiles/CMakeOutput.log".
See also "/home/gaotao/data/catkin_ws_vins_fusion/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
Hi. Thank you for your work. However, it takes quite some effort to make your code work.
It seems your documentation can be improved. The dependency Theia-sfm requires oiio and RocksDB which are not mentioned, and oiio requires OpenExr and all these dependencies are quite heavy.
Could you also provide the version of TF and keras you have used? Is it 1.08? Thank you again!
Hi,
I ran from docker and every time it display this message and after 71 sec it fails
[Cerebro::wait_until__connectedToDescServer_and_descSizeAvailable] waiting for descriptor_size_available
to be true. timeout_in_sec=71
if you could help me, I'll be glad
As of May2019 dependence on theia-sfm has been eliminated. The code is able to compile even when you do not have Theia-sfm installed. The pose estimation PNP/P3P has been implemented from scratch using ceres. *
State here, for some reason i cannot install Theia-sfm in my machine. Can i compile this without theia -sfm?
Hi.
Thanks for your excellent work firstly.
I have tried to modify "#if 1" to "#if 0" at this part below to change to ceres instead of Theia sfm. But I got different results comparing to using Theia sfm with the same ros bag. It can pass the makeLoopEdgeMsgWithConsistencyCheck with Theia, but not with ceres. I'm confused whether I was wrong to switch the dependence.
#if 1
//--
float pnp_goodness = StaticTheiaPoseCompute::PNP( world_point_uv, feature_position_uv_d, op1__b_T_a, pnp__msg );
//--END
#else
//--
op1__b_T_a = odom_b_T_a; // setting initial guess as odometry rel pose with translation as zero
// op1__b_T_a(0,3) = 0.0; op1__b_T_a(1,3) = 0.0; op1__b_T_a(2,3) = 0.0;
float pnp_goodness = StaticCeresPoseCompute::PNP( world_point_uv, feature_position_uv_d, op1__b_T_a, pnp__msg );
//--END
#endif
Would you please help me with this issue? Thanks again.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.