ubuntu22.04.yolov5和orbslam2结合代码复现

最近想学习slam结合深度学习的内容,我用了一位博主的代码在ubuntu22.04上进行复现,原帖如下

yolov5和orbslam2结合的实现方法 [使用UNIX域socket实现python和c++通信]_orbslam yolo-CSDN博客

遇到的问题:

1.根据运行命令要修改路径,在  detect_speedup_send.py 文件(rgbd_tum.cc,可能还有别的地方,文件未找到都是路径有问题,多找一找)

2.编译问题

参考我之前发的orbslam2博客ubuntu22.04运行orbslam2遇到的问题以及解决方法-CSDN博客进行修改,主要改动是

在cmakelists文件中将c++11改为c++14以及:

#find_package(Eigen3 3.1.0 REQUIRED)改为如下 
find_package(Eigen3 3.1.0 REQUIRED NO_MODULE)

在LoopClosing.h中加入

#include <unistd.h>

问题3:error: static assertion failed: std::map must have the same value_type as its allocator

解决方法:在LoopCloseing.h中修改

typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
        Eigen::aligned_allocator<std::pair<const KeyFrame*, g2o::Sim3> > > KeyFrameAndPose;

3.运行过程提示核心已转储

在frame.cc中第1162行 const float d = imDepth.at<float>(v,u);修改为如下

//        const float d = imDepth.at<float>(v,u);
        if(v<0 || u<0)
            continue;
        const float d = imDepth.at<float>(v,u);

删除-march=native

接下来运行就没有问题了

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
麦田怪圈是指在麦田或其它田地上,通过某种未知力量(大多数怪圈是人类所为)把农作物压平而产生出来的几何图案。[1]而麦田怪圈的形成有三个说法,人为说、自然说与磁场说。人为说一般认为,麦田圈是用木板压成的。木板两头系上绳子形成圈套,在制作时,一脚踩在木板上拖动木板压倒麦子,并拉着细绳与圆心保持固定的距离, 逐渐就可以形成一个圆圈。为了便于制造,主要形状所有圆圈的直径都可以被6除尽。[2]自然形成说认为麦田怪 圈的成因还未被人类发现。就像雷电,古时候人类也是以为是雷神电母做的,对于麦田圈中经常出现人文信息的现象,他们认为这只是人们“先入为主”造成的错觉。[3]磁场说认为,磁场中有一种神奇的移动力,可产生一股电流,使农作物“平躺”在地面上。[4] 关于yolov5orbslam2的结合实现方法,根据引用[1]和引用[2]的内容,可以了解到作者在毕业设计中使用了yolov5orbslam2来实现动态场景下的语义SLAM。具体实现路径是先使用yolov5检测出动态物体和静态物体,然后将物体框数据传递到orbslam2中。在orbslam2中,作者剔除了动态物体中的特征点,以提高orbslam2在高动态环境下的性能表现。[1] 如果你对yolov5orbslam2的结合实现方法有更详细的了解需求,可以参考引用[2]中提供的链接,该链接是深蓝学院的一个课程,可以帮助你深入学习语义SLAM的路线。[2]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值