pip下载了evo工具,需要先安装numpy
此时用systemback创建了一个刚跑出来的还原点
evo突然找不到命令、重启即可
ORB-SLAM2 的安装运行
一次成功 Ubuntu20.04配置ORBSLAM2并运行(保姆级教程)_在ubuntu20.04上面配置orb-slam2并运行(保姆级)_9527风先生的博客-CSDN博客
轨迹跟踪
效果很好,之前是没有装好词袋库
精度在三厘米左右
ORB-SLAM2在两厘米左右
二者的对比图,几乎重合,定位精度符合要求
计算效率对比
?
图像匹配对比
只作了定性的稳定性分析
能不能作匹配点准确个数、平均分布来对比??
来自文章python RF-Net An End-to-End Image Matching Network based on Receptive Field
定性匹配结果,正确匹配用绿线表示,失败匹配用红线表示。这些列是SIFT、FAST检测器与硬网描述符集成、LF-Net和RF-Net。上面两行图片来自EF Dataset[34],下面两行图片来自HPatches[1]。我们使用最近邻距离比(0.7)作为匹配策略,K = 1024个关键点来匹配两幅图像。如图所示,绿线越多,红线越少,匹配效果越好
来自:python AdaLAM Revisiting Handcrafted Outlier Detection
图2。我们实验的成功案例。符合地面真极几何的匹配用绿色表示,其他匹配用红色表示。例子包括非常稀疏对应,局部重复结构,弱纹理,强旋转和透视变形的情况
看不明白但感觉有用
来自:python Matching Features without Descriptors:
Implicitly Matched Interest Points
我们提出了一个CNN兴趣点检测器,它提供隐式匹配的兴趣点:不需要描述符进行匹配。这张图片说明了网络的输出。色相表示哪个通道对给定像素有最强的响应,亮度表示响应。圆圈表示兴趣点,这是每个通道的全局最大值。线条表示P3P定位后的内部匹配
来自:python Key.Net Keypoint Detection by Handcrafted and Learned CNN Filters
表3:最佳检测器与HardNet和最先进的检测器/描述符的匹配分数(%)。HPatches序列,视点和光照的结果。关键。Net架构对视点匹配得分最高,而LF-Net+HardNet对光照序列匹配得分最高
来自python GMS Grid-Based Motion Statistics for Fast, Ultra-robust Feature Correspondence2019
运行时间:GMS在单个CPU线程中的运行时。GMS- s和GMS- r分别使用不同的设置重复基本GMS 5次和8次,因此运行时间是线性增加的。GMS- sr所消耗的计算成本是基本GMS的40倍,该图未显示。注意,多尺度和多旋转解可以通过使用多阈值编程来加速,因为在不同的重复中不存在数据依赖
用本文方法测特征点:
【精选】GCNv2_SLAM结果复现_dna葡萄糖的博客-CSDN博客
1.增加test1.cc之后 在cmakelist添加
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR})
add_executable(test1 src/test1.cc)
target_link_libraries(test1 ${PROJECT_NAME})
2. 报错,前两行改动
ORB_SLAM2::GCNextractor* mpleftGCNextractor = new ORB_SLAM2::GCNextractor(1000,1.2,8,20,7);
ORB_SLAM2::GCNextractor* mprightGCNextractor = new ORB_SLAM2::GCNextractor(1000,1.2,8,20,7);
3.报opencv的错,是图片位置不对,没有读进去
4.成功编译但报libtorch的错,之前的解决办法是下载1.10版本,不想改
换了1.11.0 好一些(但是只有1.10.0才能跑通GCN2),但是报错,把下面这句注释掉了
const char *net_fn = getenv("GCN_PATH");
// net_fn = (net_fn == nullptr) ? "gcn2.pt" : net_fn;
module = torch::jit::load(net_fn);
5.结果报这个错
./test1
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
已放弃 (核心已转储)
到这里没办法了。。。也不给具体错误
发现一个增加了单双目的程序 尝试运行
package opencv改成3
添加环境变量 /opt/...setup.bash export....
刷新
rosbuild我注释掉了 又说找不到torch