Code Monkey home page Code Monkey logo

orb_slam2_ssd_semantic's Introduction

修改

1.0
 添加一个点云建图线程,接收来自 Tracking线程的关键帧。
 使用 彩色图和深度图 生成点云
 对关键帧 的 彩色图 使用 mobilenetv2-ssd-lite 进行目标检测。
 对每个目标区域 的点云计算 点云中心 3D包围框信息 ( 会使用深度均值进行滤波)。(方案2,点云分割聚类后和2d框计算交并比)
 加入到 语义目标数据库中。
 当 是相同的类别且位置中心没有太大的变化,则认为是同一个物体,融合相关信息。
 
2.0
 对关键点使用 动点检测算法进行过滤
 在原地图构建类中 加入 octomap地图构建部分
 其次对关键帧使用新的 目标检测线程进行 检测
 在构建octomap地图的同时构建语义目标数据库
 保存和载入 orb-slam2地图和octomap地图
 
3.0
 想法:  使用语义分割/实例分割 构建更精细的 语义目标数据库
       使用 目标检测结果和 动点检测算法对 关键点进行 过滤
       建图时 除去 动点 和 检测结果中的先验动点

参考

mobilenetv2-ssd-lite 目标检测

图漾相机

oRB_SLAM2

Octomap建图参考

OctoMap/octomap_mapping 官方建图参考 2D导航等

OctomapBuilder.cc

DynamicSemanticMapping 动态场景建图

orb-slam2地图保存

地图保存2

[ORB-SLAM2] ORB-SLAM中的ORB特征(提取)

动态环境处理

dynslam 光流运动 语义分割

DynaSLAM 多视角几何 语义分割

光流运动一致性检测,投影点距离基线距离阈值 语义分割 DS-SLAM 代码

相机运动 与 像素点运动比较 阈值

语义信息融合

Towards Semantic SLAM using a Monocular Camera

Probabilistic Data Association for Semantic SLAM

VSO: Visual Semantic Odometry

感谢支持

改进点

1. 考虑动态环境(语义信息、多视角几何、光流、运动一致性检测)
2. 动态更新 语义地图 (语义信息 加入到 数据关联 损失函数中、octo-map语义地图概率更新语义和动态特性)
3. orbslam2地图 与 octomap地图的 保存与载入

改进

将 语义数据库信息 加入到 octo-map 中
使用  octo-map的概率信息 更新语义数据库

最终效果图

octomap地图:

ORB-SLAM2地图切换

语义pcl点云图

2d 融合3d效果图

方案1:

方案2:

动态点检测

方案1:

方案2:

数据库:

系统整体框架:

相机定位轨迹对比, tum ft3 walking数据集上

flow:
compared_pose_pairs 826 pairs
absolute_translational_error.rmse 0.387510 m
absolute_translational_error.mean 0.316048 m
absolute_translational_error.median 0.203472 m
absolute_translational_error.std 0.224227 m
absolute_translational_error.min 0.070175 m
absolute_translational_error.max 1.052806 m

geom:
compared_pose_pairs 826 pairs
absolute_translational_error.rmse 0.151517 m
absolute_translational_error.mean 0.070537 m
absolute_translational_error.median 0.041738 m
absolute_translational_error.std 0.134097 m
absolute_translational_error.min 0.002700 m
absolute_translational_error.max 0.889107 m


src:
compared_pose_pairs 826 pairs
absolute_translational_error.rmse 0.702233 m
absolute_translational_error.mean 0.582247 m
absolute_translational_error.median 0.520550 m
absolute_translational_error.std 0.392580 m
absolute_translational_error.min 0.077351 m
absolute_translational_error.max 1.476973 m

遗留问题

目标检出率低(更好的目标检测/实例分割模型、地图点和语义信息化挂钩,将语义信息加入到数据关联目标函数中)
octomap的动态地图更新效果不太理想(octomap 概率更新探索,建图时直接剔除动态点)
地图大了之后,系统 响应变慢 (地图维护)

地图导航、路径规划

Planning.cc

智能导航

数据关联

路标点集合        L = {Lm} m=[1:M]   
传感器姿态序列    X = {xt} t=[1:T]
传感器测量值      Z = {zk} k=[1:K]

数据关联        D = {(ak, bk)} k=[1:K]
              意义是 地zk次测量下 姿态 x_ak 和 路标点 L_bk 相关联
              
统计学方法,已知数据 Z,求出现Z的最大概率对应的系统参数 L,X,D========        
普通硬决策方法:(特征点法====)
              先求得一个准确的 关联D'    D' <---arg max  log  p(D|X0,L0,Z)
              
              使用先验的 位姿X0(orb-slam2中运动模型得到) 和 
              已经存在的地图点L0 以及传感器观测信息Z
              求解一个最大概率的 2D-3D点数据关联 / 3D-3D点数据关联
               
              取对数,仍然是正相关,[0,1] ---->映射到 [-无穷大,0]
              在使用这个关联D  来最大化 模型(X,L,D)出现数据Z的概率,
              得到最优 的 X,L
              X,L <------ arg max p(Z|X,L,D')
              
              通过最小化 数据关联误差(即最大化观测成立概率),优化位姿X 和 地图点L
              
软决策,考虑不确定性:(类似直接法,不需要准确的数据关联)
              关联D 是由多种状态 叠加而成,是一个叠加状态,薛定鄂的猫===^===^===
              首先考虑所有 可能的 数据关联 D 
                     计算其数据分布 获得每一种关联zk (Xak, Lbk) 对应的概率 wij
                     位姿Xak下,测量值 zk 关联 地图点 Lbk
              在多种数据关联下 最大化
                      X,L <------ arg max sum(sum( wij * log p(zk|ak, bk)))

地图点属于每种类类别的概率分布

语义误差计入到目标函数

常规 损失函数: 光度误差(photometric error, 直接法,光度不变,数据关联点,灰度误差)
              几何误差(geometric error,   特征点法,重投影位置误差)
语义误差:
              语义分割观测 Sk
              地图点 P 3d坐标、属于每种类别的概率(Wic),主要用于误差加权
              p(Sk| 相机位姿Tk, 地图点位置Xi, 对应2d投影点类别)
              
              
              一个语义分割Sk ----> n 个 不同类别的 0-1 mask
                                  属于 当前类的为1,其它类为0
              
              2D像素点 -----> 1D 具体类别 距离函数

ORB-SLAM2

Authors: Raul Mur-Artal, Juan D. Tardos, J. M. M. Montiel and Dorian Galvez-Lopez (DBoW2)

13 Jan 2017: OpenCV 3 and Eigen 3.3 are now supported.

22 Dec 2016: Added AR demo (see section 7).

ORB-SLAM2 is a real-time SLAM library for Monocular, Stereo and RGB-D cameras that computes the camera trajectory and a sparse 3D reconstruction (in the stereo and RGB-D case with true scale). It is able to detect loops and relocalize the camera in real time. We provide examples to run the SLAM system in the KITTI dataset as stereo or monocular, in the TUM dataset as RGB-D or monocular, and in the EuRoC dataset as stereo or monocular. We also provide a ROS node to process live monocular, stereo or RGB-D streams. The library can be compiled without ROS. ORB-SLAM2 provides a GUI to change between a SLAM Mode and Localization Mode, see section 9 of this document.

ORB-SLAM2 ORB-SLAM2 ORB-SLAM2

Related Publications:

[Monocular] Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, 2015. (2015 IEEE Transactions on Robotics Best Paper Award). PDF.

[Stereo and RGB-D] Raúl Mur-Artal and Juan D. Tardós. ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras. IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255-1262, 2017. PDF.

[DBoW2 Place Recognizer] Dorian Gálvez-López and Juan D. Tardós. Bags of Binary Words for Fast Place Recognition in Image Sequences. IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188-1197, 2012. PDF

1. License

ORB-SLAM2 is released under a GPLv3 license. For a list of all code/library dependencies (and associated licenses), please see Dependencies.md.

For a closed-source version of ORB-SLAM2 for commercial purposes, please contact the authors: orbslam (at) unizar (dot) es.

If you use ORB-SLAM2 (Monocular) in an academic work, please cite:

@article{murTRO2015,
  title={{ORB-SLAM}: a Versatile and Accurate Monocular {SLAM} System},
  author={Mur-Artal, Ra\'ul, Montiel, J. M. M. and Tard\'os, Juan D.},
  journal={IEEE Transactions on Robotics},
  volume={31},
  number={5},
  pages={1147--1163},
  doi = {10.1109/TRO.2015.2463671},
  year={2015}
 }

if you use ORB-SLAM2 (Stereo or RGB-D) in an academic work, please cite:

@article{murORB2,
  title={{ORB-SLAM2}: an Open-Source {SLAM} System for Monocular, Stereo and {RGB-D} Cameras},
  author={Mur-Artal, Ra\'ul and Tard\'os, Juan D.},
  journal={IEEE Transactions on Robotics},
  volume={33},
  number={5},
  pages={1255--1262},
  doi = {10.1109/TRO.2017.2705103},
  year={2017}
 }

2. Prerequisites

We have tested the library in Ubuntu 12.04, 14.04 and 16.04, but it should be easy to compile in other platforms. A powerful computer (e.g. i7) will ensure real-time performance and provide more stable and accurate results.

C++11 or C++0x Compiler

We use the new thread and chrono functionalities of C++11.

Pangolin

We use Pangolin for visualization and user interface. Dowload and install instructions can be found at: https://github.com/stevenlovegrove/Pangolin.

OpenCV

We use OpenCV to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. Required at leat 2.4.3. Tested with OpenCV 2.4.11 and OpenCV 3.2.

Eigen3

Required by g2o (see below). Download and install instructions can be found at: http://eigen.tuxfamily.org. Required at least 3.1.0.

DBoW2 and g2o (Included in Thirdparty folder)

We use modified versions of the DBoW2 library to perform place recognition and g2o library to perform non-linear optimizations. Both modified libraries (which are BSD) are included in the Thirdparty folder.

ROS (optional)

We provide some examples to process the live input of a monocular, stereo or RGB-D camera using ROS. Building these examples is optional. In case you want to use ROS, a version Hydro or newer is needed.

3. Building ORB-SLAM2 library and examples

Clone the repository:

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

We provide a script build.sh to build the Thirdparty libraries and ORB-SLAM2. Please make sure you have installed all required dependencies (see section 2). Execute:

cd ORB_SLAM2
chmod +x build.sh
./build.sh

This will create libORB_SLAM2.so at lib folder and the executables mono_tum, mono_kitti, rgbd_tum, stereo_kitti, mono_euroc and stereo_euroc in Examples folder.

4. Monocular Examples

TUM Dataset

  1. Download a sequence from http://vision.in.tum.de/data/datasets/rgbd-dataset/download and uncompress it.

  2. Execute the following command. Change TUMX.yaml to TUM1.yaml,TUM2.yaml or TUM3.yaml for freiburg1, freiburg2 and freiburg3 sequences respectively. Change PATH_TO_SEQUENCE_FOLDERto the uncompressed sequence folder.

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
ewenwan@ewenwan-Lenovo-G480:~/ewenwan/project/ORB_SLAM2-master/Examples/RGB-D$ ./rgbd_tum ../../Vocabulary/ORBvoc.txt ./TUM3.yaml ../../../../data/f3_walking_xyz/ ../../../../data/f3_walking_xyz/associate.txt

KITTI Dataset

  1. Download the dataset (grayscale images) from http://www.cvlibs.net/datasets/kitti/eval_odometry.php

  2. Execute the following command. Change KITTIX.yamlby KITTI00-02.yaml, KITTI03.yaml or KITTI04-12.yaml for sequence 0 to 2, 3, and 4 to 12 respectively. Change PATH_TO_DATASET_FOLDER to the uncompressed dataset folder. Change SEQUENCE_NUMBER to 00, 01, 02,.., 11.

./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER

EuRoC Dataset

  1. Download a sequence (ASL format) from http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

  2. Execute the following first command for V1 and V2 sequences, or the second command for MH sequences. Change PATH_TO_SEQUENCE_FOLDER and SEQUENCE according to the sequence you want to run.

./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml PATH_TO_SEQUENCE_FOLDER/mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/SEQUENCE.txt 
./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml PATH_TO_SEQUENCE/cam0/data Examples/Monocular/EuRoC_TimeStamps/SEQUENCE.txt 

5. Stereo Examples

KITTI Dataset

  1. Download the dataset (grayscale images) from http://www.cvlibs.net/datasets/kitti/eval_odometry.php

  2. Execute the following command. Change KITTIX.yamlto KITTI00-02.yaml, KITTI03.yaml or KITTI04-12.yaml for sequence 0 to 2, 3, and 4 to 12 respectively. Change PATH_TO_DATASET_FOLDER to the uncompressed dataset folder. Change SEQUENCE_NUMBER to 00, 01, 02,.., 11.

./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER

EuRoC Dataset

  1. Download a sequence (ASL format) from http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

  2. Execute the following first command for V1 and V2 sequences, or the second command for MH sequences. Change PATH_TO_SEQUENCE_FOLDER and SEQUENCE according to the sequence you want to run.

./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml PATH_TO_SEQUENCE/mav0/cam0/data PATH_TO_SEQUENCE/mav0/cam1/data Examples/Stereo/EuRoC_TimeStamps/SEQUENCE.txt
./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml PATH_TO_SEQUENCE/cam0/data PATH_TO_SEQUENCE/cam1/data Examples/Stereo/EuRoC_TimeStamps/SEQUENCE.txt

6. RGB-D Example

TUM Dataset

  1. Download a sequence from http://vision.in.tum.de/data/datasets/rgbd-dataset/download and uncompress it.

    下载 https://www.mrpt.org/Collection_of_Kinect_RGBD_datasets_with_ground_truth_CVPR_TUM_2011

  2. Associate RGB images and depth images using the python script associate.py. We already provide associations for some of the sequences in Examples/RGB-D/associations/. You can generate your own associations file executing:

python associate.py PATH_TO_SEQUENCE/rgb.txt PATH_TO_SEQUENCE/depth.txt > associations.txt
  1. Execute the following command. Change TUMX.yaml to TUM1.yaml,TUM2.yaml or TUM3.yaml for freiburg1, freiburg2 and freiburg3 sequences respectively. Change PATH_TO_SEQUENCE_FOLDERto the uncompressed sequence folder. Change ASSOCIATIONS_FILE to the path to the corresponding associations file.
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE

7. ROS Examples

Building the nodes for mono, monoAR, stereo and RGB-D

  1. Add the path including Examples/ROS/ORB_SLAM2 to the ROS_PACKAGE_PATH environment variable. Open .bashrc file and add at the end the following line. Replace PATH by the folder where you cloned ORB_SLAM2:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS
  1. Execute build_ros.sh script:
chmod +x build_ros.sh
./build_ros.sh

Running Monocular Node

For a monocular input from topic /camera/image_raw run node ORB_SLAM2/Mono. You will need to provide the vocabulary file and a settings file. See the monocular examples above.

rosrun ORB_SLAM2 Mono PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE

Running Monocular Augmented Reality Demo

This is a demo of augmented reality where you can use an interface to insert virtual cubes in planar regions of the scene. The node reads images from topic /camera/image_raw.

rosrun ORB_SLAM2 MonoAR PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE

Running Stereo Node

For a stereo input from topic /camera/left/image_raw and /camera/right/image_raw run node ORB_SLAM2/Stereo. You will need to provide the vocabulary file and a settings file. If you provide rectification matrices (see Examples/Stereo/EuRoC.yaml example), the node will recitify the images online, otherwise images must be pre-rectified.

rosrun ORB_SLAM2 Stereo PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE ONLINE_RECTIFICATION

Example: Download a rosbag (e.g. V1_01_easy.bag) from the EuRoC dataset (http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets). Open 3 tabs on the terminal and run the following command at each tab:

roscore
rosrun ORB_SLAM2 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml true
rosbag play --pause V1_01_easy.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw

Once ORB-SLAM2 has loaded the vocabulary, press space in the rosbag tab. Enjoy!. Note: a powerful computer is required to run the most exigent sequences of this dataset.

Running RGB_D Node

For an RGB-D input from topics /camera/rgb/image_raw and /camera/depth_registered/image_raw, run node ORB_SLAM2/RGBD. You will need to provide the vocabulary file and a settings file. See the RGB-D example above.

rosrun ORB_SLAM2 RGBD PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE

8. Processing your own sequences

You will need to create a settings file with the calibration of your camera. See the settings file provided for the TUM and KITTI datasets for monocular, stereo and RGB-D cameras. We use the calibration model of OpenCV. See the examples to learn how to create a program that makes use of the ORB-SLAM2 library and how to pass images to the SLAM system. Stereo input must be synchronized and rectified. RGB-D input must be synchronized and depth registered.

9. SLAM and Localization Modes

You can change between the SLAM and Localization mode using the GUI of the map viewer.

SLAM Mode

This is the default mode. The system runs in parallal three threads: Tracking, Local Mapping and Loop Closing. The system localizes the camera, builds new map and tries to close loops.

Localization Mode

This mode can be used when you have a good map of your working area. In this mode the Local Mapping and Loop Closing are deactivated. The system localizes the camera in the map (which is no longer updated), using relocalization if needed.

orb_slam2_ssd_semantic's People

Contributors

ewenwan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orb_slam2_ssd_semantic's Issues

运行1.0版本pcl显示错误

您好,我再尝试复现你的1.0版本时,一开始可以显示pcl点云,但是只显示第一次识别后就无法继续运行。我是pcl 1.8.1版本。
image
我调试问题是在这里只能循环两次,然后线程就死了好像。请问您知道为什么吗。或者请问如何在2.0版本中显示pcl点云信息,谢谢

bug

image
The file in the picture is not stored in the repository. Where should I download it?

运行时无法显示八叉树地图

您好!您的这个工程十分优秀!从中我学习到了很多知识。但我在运行这个程序时遇到了一些问题,希望能得到您的帮助。在程序开始启动时,终端显示为第一张图片;当点击按钮切换到八叉树地图时,图像和地图窗口都卡住,不能切换到八叉树地图,终端报错如第二张图片所示。想问一下如何解决这个问题呢?十分感谢!
深度截图_选择区域_20200715100641
深度截图_选择区域_20200715100829

运行过程中追踪部分出现段错误

`ORB特征提取参数 ORB Extractor Parameters:
-- 每幅图像特征点数量 Number of Features: 1000
-- 金字塔层数Scale Levels: 8
-- 金字塔尺度Scale Factor: 1.2
-- 初始快速角点法阈值 Initial Fast Threshold: 20
-- 最小阈值 Minimum Fast Threshold: 7

深度图阈值 Depth Threshold (Close/Far Points): 2.98842


Start processing sequence ...
Images in the sequence: 827

Light Tracking homo not working because Tracking is not initialized...
新地图创建成功 new map ,具有 地图点数 : 718 地图点 points
Tracking homo faild...
receive a keyframe, id = 1
段错误 (核心已转储)
`
can anyone please help me with this problem about tracking? Thanks!!

使用自己的数据集和目标检测模型运行代码

大家好,请问各位有没有尝试过使用自己的数据集训练出的目标检测模型来运行这套代码呢,大致的修改思路能否讨论一下,如果有做类似工作的也欢迎微信交流(vx: MonsyC),感谢!

make编译出现的问题“CMakeFiles/rgbd_tum.dir/build.make:404: recipe for target '../Examples/RGB-D/rgbd_tum' failed”求大神帮忙看一眼问题出在哪里

../lib/libORB_SLAM2_pc.so:对‘vkFreeCommandBuffers’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkBindBufferMemory’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdCopyBuffer’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkGetImageMemoryRequirements’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyInstance’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateSampler’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::setSourceEntryPoint(char const*)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkFreeMemory’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘ncnn::Extractor::extract(char const*, ncnn::Mat&)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateDescriptorSetLayout’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyCommandPool’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkEnumerateInstanceExtensionProperties’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkWaitForFences’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkGetPhysicalDeviceMemoryProperties’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkGetInstanceProcAddr’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroySemaphore’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateImageView’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdBindDescriptorSets’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkBeginCommandBuffer’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyDevice’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreatePipelineLayout’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateComputePipelines’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::getInfoLog()’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkAllocateMemory’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateInstance’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkResetCommandBuffer’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyPipelineLayout’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::parse(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, glslang::TShader::Includer&)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyFence’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyDescriptorPool’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdCopyImage’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkGetBufferMemoryRequirements’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkAllocateDescriptorSets’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyPipeline’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyImageView’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkEnumeratePhysicalDevices’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::addProcesses(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdCopyImageToBuffer’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdPipelineBarrier’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkGetPhysicalDeviceQueueFamilyProperties’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::TShader(EShLanguage)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkUnmapMemory’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkGetDeviceQueue’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateImage’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdCopyBufferToImage’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkGetDeviceProcAddr’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkMapMemory’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkResetFences’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::GlslangToSpv(glslang::TIntermediate const&, std::vector<unsigned int, std::allocator >&, glslang::SpvOptions*)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroySampler’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateDevice’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateDescriptorPool’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyShaderModule’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::getInfoDebugLog()’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkEnumerateDeviceExtensionProperties’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyDescriptorSetLayout’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::setStringsWithLengths(char const* const*, int const*, int)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdDispatch’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyBuffer’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkBindImageMemory’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkQueueSubmit’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkInvalidateMappedMemoryRanges’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::setEntryPoint(char const*)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateFence’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateShaderModule’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkGetPhysicalDeviceProperties’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdPushConstants’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::TShader::~TShader()’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkFlushMappedMemoryRanges’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkAllocateCommandBuffers’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkDestroyImage’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::FinalizeProcess()’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkEndCommandBuffer’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkFreeDescriptorSets’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateCommandPool’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘glslang::InitializeProcess()’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkUpdateDescriptorSets’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateBuffer’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCreateSemaphore’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘vkCmdBindPipeline’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/rgbd_tum.dir/build.make:404: recipe for target '../Examples/RGB-D/rgbd_tum' failed
make[2]: *** [../Examples/RGB-D/rgbd_tum] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/rgbd_tum.dir/all' failed
make[1]: *** [CMakeFiles/rgbd_tum.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

编译出现的问题

编译已经快完成了,但是出现:
CMakeFiles/rgbd_ty.dir/Examples/RGB-D/my_rgbd.cc.o:在函数‘frameHandler(TY_FRAME_DATA*, void*)’中:
my_rgbd.cc:(.text+0x1086):对‘TYRegisterWorldToColor2’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘ncnn::Extractor::extract(char const*, ncnn::Mat&)’未定义的引用
../lib/libORB_SLAM2_pc.so:对‘ncnn::Net::register_custom_layer(char const*, ncnn::Layer* (*)())’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/rgbd_ty.dir/build.make:361: recipe for target '../Examples/RGB-D/rgbd_ty' failed
make[2]: *** [../Examples/RGB-D/rgbd_ty] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/rgbd_ty.dir/all' failed
make[1]: *** [CMakeFiles/rgbd_ty.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
这样的问题,请问怎么解决
我还尝试把不使用图漾相机的编译,但是后面两个对ncnn的未定义引用还是存在,能请大神帮忙看下吗

关于semantic的数据关联

很棒的工作! 有semantic mapping的内容 但是semantic localization好像还没有融入
看到作者给出了数据关联的思路

编译过程中的错误

[ 70%] Building CXX object CMakeFiles/ORB_SLAM2_pc.dir/src/Geometry.cc.o
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc: In member function ‘void DynaSLAM::Geometry::GeometricModelUpdateDB(const ORB_SLAM2::Frame&)’:
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:75:22: error: ‘const class ORB_SLAM2::Frame’ has no member named ‘mIsKeyFrame’
if (currentFrame.mIsKeyFrame)// 是关键帧才更新
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc: In member function ‘std::vectorDynaSLAM::Geometry::DynKeyPoint DynaSLAM::Geometry::ExtractDynPoints(const std::vector<ORB_SLAM2::Frame>&, const ORB_SLAM2::Frame&)’:
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:170:38: error: ‘class ORB_SLAM2::Frame’ has no member named ‘mImDepth’
const float d = refFrame.mImDepth.at(v,u);// 深度值
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:170:50: error: expected primary-expression before ‘float’
const float d = refFrame.mImDepth.at(v,u);// 深度值
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:168:26: warning: unused variable ‘v’ [-Wunused-variable]
const float &v = kp.pt.y;
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:169:26: warning: unused variable ‘u’ [-Wunused-variable]
const float &u = kp.pt.x;
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:354:46: error: ‘const class ORB_SLAM2::Frame’ has no member named ‘mImDepth’
const float d = currentFrame.mImDepth.at(y,x);// 当前�
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:354:58: error: expected primary-expression before ‘float’
const float d = currentFrame.mImDepth.at(y,x);// 当前�
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:404:41: error: ‘const class ORB_SLAM2::Frame’ has no member named ‘mImDepth’
float _d = currentFrame.mImDepth.at(y,x);// 对应的深
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:404:53: error: expected primary-expression before ‘float’
float _d = currentFrame.mImDepth.at(y,x);// 对应的深
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:402:21: warning: unused variable ‘x’ [-Wunused-variable]
int x = (int)matCurrentFrame.at(i,0) + (int)u1.at
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:403:21: warning: unused variable ‘y’ [-Wunused-variable]
int y = (int)matCurrentFrame.at(i,1) + (int)u1.at
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:420:21: warning: unused variable ‘xIndex’ [-Wunused-variable]
int xIndex = minIdx.x;// 在关键点前方,靠的较近,��
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:448:46: error: ‘const class ORB_SLAM2::Frame’ has no member named ‘mImDepth’
cv::Mat patch = currentFrame.mImDepth.rowRange(yIni,yEnd).colRa
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc: In member function ‘bool DynaSLAM::Geometry::IsInFrame(const float&, const float&, const ORB_SLAM2::Frame&)’:
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:592:43: error: ‘const class ORB_SLAM2::Frame’ has no member named ‘mImDepth’
return (x > (mDmax + 1) && x < (Frame.mImDepth.cols - mDmax - 1) && y > (mD
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:592:103: error: ‘const class ORB_SLAM2::Frame’ has no member named ‘mImDepth’
(Frame.mImDepth.cols - mDmax - 1) && y > (mDmax + 1) && y < (Frame.mImDepth.ro
^
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc: In member function ‘cv::Mat DynaSLAM::Geometry::RegionGrowing(const cv::Mat&, int&, int&, const float&)’:
/home/y/ORB_SLAM2_SSD_Semantic-master/ORB_SLAM2_SSD_Semantic-master/perfect/src/Geometry.cc:636:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(pixdist < reg_maxdist && reg_size < im.total())
^
CMakeFiles/ORB_SLAM2_pc.dir/build.make:542: recipe for target 'CMakeFiles/ORB_SLAM2_pc.dir/src/Geometry.cc.o' failed
make[2]: *** [CMakeFiles/ORB_SLAM2_pc.dir/src/Geometry.cc.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/ORB_SLAM2_pc.dir/all' failed
make[1]: *** [CMakeFiles/ORB_SLAM2_pc.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

编译过程中的一些问题

你好,你的工作看起来非常棒!但是我在编译过程中遇到了一些问题,好像 VTK,ORBVocabulary和PCL好像都出现了问题,能帮我看一下吗?谢谢你哟~

from /home/jin/ORB_SLAM2_SSD_Semantic/perfect/src/pointcloudmapping.cc:8:
/usr/include/vtk-6.2/vtkAtomicInt.h:307:28: error: reference to ‘detail’ is ambiguous
 class vtkAtomicInt: public detail::vtkAtomicIntImpl<T>
from /home/jin/ORB_SLAM2_SSD_Semantic/perfect/src/pointcloudmapping.cc:8:
/usr/include/vtk-6.2/vtkAtomicInt.h:307:36: error: expected ‘{’ before ‘vtkAtomicIntImpl’
 class vtkAtomicInt: public detail::vtkAtomicIntImpl<T>
                                    ^
/usr/include/vtk-6.2/vtkAtomicInt.h:307:52: error: expected initializer before ‘<’ token
 class vtkAtomicInt: public detail::vtkAtomicIntImpl<T>
from /home/jin/ORB_SLAM2_SSD_Semantic/perfect/src/pointcloudmapping.cc:8:
/usr/include/vtk-6.2/vtkObjectBase.h:165:30: error: field ‘ReferenceCount’ has incomplete type ‘vtkAtomicInt<int>’
   vtkAtomicInt<vtkTypeInt32> ReferenceCount;
/home/jin/ORB_SLAM2_SSD_Semantic/perfect/src/System.cc: In constructor ‘ORB_SLAM2::System::System(const string&, const string&, ORB_SLAM2::System::eSensor, bool)’:
/home/jin/ORB_SLAM2_SSD_Semantic/perfect/src/System.cc:129:32: error: ‘ORB_SLAM2::ORBVocabulary {aka class DBoW2::TemplatedVocabulary<cv::Mat, DBoW2::FORB>}’ has no member named ‘loadFromBinaryFile’
       bVocLoad = mpVocabulary->loadFromBinaryFile(strVocFile);//bin格式打开
from /home/jin/ORB_SLAM2_SSD_Semantic/perfect/src/MergeSG.cc:14:
/usr/local/include/pcl-1.8/pcl/segmentation/euclidean_cluster_comparator.h:266:13: error: cannot bind ‘uint32_t {aka unsigned int}’ lvalue to ‘std::set<unsigned int>::value_type&& {aka unsigned int&&}’
             exclude_labels_->insert (i);

hidden symbol

/usr/bin/ld: ../Examples/RGB-D/rgbd_tum: hidden symbol `__cpu_indicator_init' in /usr/lib/gcc/x86_64-linux-gnu/5/libgcc.a(cpuinfo.o) is referenced by DSO
/usr/bin/ld: final link failed: Bad value

cmakelist里面把和图漾相机的注释了,最后一步出现这个问题

some mistakes

Hello, when i compile the project, there is an error of " *** No rule to make target '/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so', needed by '../lib/libORB_SLAM2_pc.so'。STOP ", and what should i do? Thanks very much

/usr/bin/ld: 找不到....

/usr/bin/ld: 找不到 -lvtkxdmf2
/usr/bin/ld: 找不到 -lvtkGUISupportQt
/usr/bin/ld: 找不到 -lvtkCommonExecutionModel
/usr/bin/ld: 找不到 -lvtkCommonDataModel
/usr/bin/ld: 找不到 -lvtkCommonMath
/usr/bin/ld: 找不到 -lvtkCommonCore
/usr/bin/ld: 找不到 -lvtkCommonMisc
/usr/bin/ld: 找不到 -lvtkCommonSystem
/usr/bin/ld: 找不到 -lvtkCommonTransforms
/usr/bin/ld: 找不到 -lvtkFiltersExtraction
/usr/bin/ld: 找不到 -lvtkFiltersCore
/usr/bin/ld: 找不到 -lvtkFiltersGeneral
/usr/bin/ld: 找不到 -lvtkCommonComputationalGeometry
/usr/bin/ld: 找不到 -lvtkFiltersStatistics
/usr/bin/ld: 找不到 -lvtkImagingFourier
/usr/bin/ld: 找不到 -lvtkImagingCore
/usr/bin/ld: 找不到 -lvtkInteractionStyle
/usr/bin/ld: 找不到 -lvtkFiltersSources
/usr/bin/ld: 找不到 -lvtkRenderingCore
/usr/bin/ld: 找不到 -lvtkCommonColor
/usr/bin/ld: 找不到 -lvtkFiltersGeometry
/usr/bin/ld: 找不到 -lvtkRenderingOpenGL
/usr/bin/ld: 找不到 -lvtkImagingHybrid
/usr/bin/ld: 找不到 -lvtkIOImage
/usr/bin/ld: 找不到 -lvtkIOCore
/usr/bin/ld: 找不到 -lvtkFiltersParallelGeometry
/usr/bin/ld: 找不到 -lvtkParallelMPI
/usr/bin/ld: 找不到 -lvtkParallelCore
/usr/bin/ld: 找不到 -lvtkIOLegacy
/usr/bin/ld: 找不到 -lvtkImagingColor
/usr/bin/ld: 找不到 -lvtkIOGeoJSON
/usr/bin/ld: 找不到 -lvtkFiltersParallelImaging
/usr/bin/ld: 找不到 -lvtkFiltersImaging
/usr/bin/ld: 找不到 -lvtkImagingGeneral
/usr/bin/ld: 找不到 -lvtkImagingSources
/usr/bin/ld: 找不到 -lvtkFiltersParallel
/usr/bin/ld: 找不到 -lvtkFiltersModeling
/usr/bin/ld: 找不到 -lvtkRenderingFreeType
/usr/bin/ld: 找不到 -lvtkIOParallelNetCDF
/usr/bin/ld: 找不到 -lvtkWrappingTools
/usr/bin/ld: 找不到 -lvtkIOInfovis
/usr/bin/ld: 找不到 -lvtkIOXML
/usr/bin/ld: 找不到 -lvtkIOGeometry
/usr/bin/ld: 找不到 -lvtkIOXMLParser
/usr/bin/ld: 找不到 -lvtkInfovisCore
/usr/bin/ld: 找不到 -lvtkIOXdmf2
/usr/bin/ld: 找不到 -lvtkIOParallel
/usr/bin/ld: 找不到 -lvtkIONetCDF
/usr/bin/ld: 找不到 -lvtkFiltersParallelMPI
/usr/bin/ld: 找不到 -lvtkFiltersGeneric
/usr/bin/ld: 找不到 -lvtkInfovisBoostGraphAlgorithms
/usr/bin/ld: 找不到 -lverdict
/usr/bin/ld: 找不到 -lvtkIOLSDyna
/usr/bin/ld: 找不到 -lvtkRenderingLOD
/usr/bin/ld: 找不到 -lvtkFiltersTextu

perfect运行Monocular段错误

lenovo@R9000-3:/opt/c_project/ORB_SLAM2_SSD_Semantic$ ./Examples/Monocular/mono_euroc /opt/oRB_SLAM2/Vocabulary/ORBvoc.bin ./Examples/Monocular/EuRoC.yaml /opt/slam_video/V1_01_easy/mav0/cam0/data/ ./Examples/Monocular/EuRoC_TimeStamps/V101.txt

ORB-SLAM2 单目双目深度相机 SLAM
under certain conditions. See LICENSE.txt.

输入相机为: Monocular

加载 ORB词典. This could take a while...
数据库载入时间 Vocabulary loaded in 0.23s

相机参数 Camera Parameters:
-- fx: 458.654
-- fy: 457.296
-- cx: 367.215
-- cy: 248.375
-- k1: -0.283408
-- k2: 0.0739591
-- p1: 0.00019359
-- p2: 1.76187e-05
-- fps: 20
-- 彩色图通道顺序color order: RGB (ignored if grayscale)

ORB特征提取参数 ORB Extractor Parameters:
-- 每幅图像特征点数量 Number of Features: 1000
-- 金字塔层数Scale Levels: 8
-- 金字塔尺度Scale Factor: 1.2
-- 初始快速角点法阈值 Initial Fast Threshold: 20
-- 最小阈值 Minimum Fast Threshold: 7


Start processing sequence ...
Images in the sequence: 2912

新地图 New Map created with 85 points
初始化错误 重置 Wrong initialization, reseting...
系统重置 System Reseting
重置局部建图 Reseting Local Mapper... done
重置回环检测 Reseting Loop Closing... done
重置数据库 Reseting Database... done
新地图 New Map created with 111 points
receive a keyframe, id = 2
段错误 (核心已转储)

/mobilenetv2_ssdlite_voc.param failed

我的显示如下:

加载 ORB词典. This could take a while...
empty line at 1082073
数据库载入时间 Vocabulary loaded in 6.48s
fopen /home/ewenwan/ewenwan/project/ORB_SLAM2-src-flow--geom-sem-octo/Thirdparty/ncnn/model/mobilenetv2_ssdlite_voc.param failed
fopen /home/ewenwan/ewenwan/project/ORB_SLAM2-src-flow--geom-sem-octo/Thirdparty/ncnn/model/mobilenetv2_ssdlite_voc.bin failed

ncnn已经安装了啊,请问怎么解决?

my_rgbd.cc:(.text+0x4ca5):对‘TYRegisterWorldToColor2’未定义的引用

CMakeFiles/rgbd_ty.dir/Examples/RGB-D/my_rgbd.cc.o:在函数‘frameHandler(TY_FRAME_DATA*, void*)’中:
my_rgbd.cc:(.text+0x4ca5):对‘TYRegisterWorldToColor2’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/rgbd_ty.dir/build.make:391: recipe for target '../Examples/RGB-D/rgbd_ty' failed
make[2]: *** [../Examples/RGB-D/rgbd_ty] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/rgbd_ty.dir/all' failed
make[1]: *** [CMakeFiles/rgbd_ty.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

运行中遇到一些问题

你好,我在复现了你的代码之后,尝试了自己的版本,但是在利用ROS运行时,整个轨迹相对于grid()绘制的网格,是斜向下的,没有和地面平行,请问你遇到过吗? @Ewenwan

运行过程中的一些问题

在我按照大家的一些建议下终于编译好了 这个文件,但是在运行的时候却出现了以下的问题,非常希望您可以给出解答。
第一个错误:
image

在我运行的时候缺少了libopencv_core_3.so.3.2 ,我在我的OPENCV安装包里面也没有找到这个文件。我看网上说适合ROS相关的?那么应该应该如何改正

第二个错误:
image
程序执行到System.cc 第153行的时候:
mpRunDetect = make_shared();// 目标检测 智能指针对象====
出现了 malloc(): memory corruption 错误。 也不知道怎么改正,谢谢!

perfect文件怎么编译?

我按照您给的编译方法,在make这一步出现了这个问题:
CMakeFiles/ORB_SLAM2_pc.dir/build.make:518: recipe for target 'CMakeFiles/ORB_SLAM2_pc.dir/src/pointcloudmapping.cc.o' failed
make[2]: *** [CMakeFiles/ORB_SLAM2_pc.dir/src/pointcloudmapping.cc.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/ORB_SLAM2_pc.dir/all' failed
make[1]: *** [CMakeFiles/ORB_SLAM2_pc.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
后来我去看,发现CMakeFiles/ORB_SLAM2_pc.dir/src文件夹中并没有pointcloudmapping.cc.o这个文件,网上的方法都试过了,但是还是没能解决。我在我的电脑上已经编译通过ORB SLAM2。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.