DynaSLAM语义分割部分C++详解

本文介绍如何在DynaSLAM中集成Mask R-CNN进行语义分割,包括配置Python环境、初始化Mask R-CNN及膨胀操作等关键步骤。

以TUM-RGB-D数据集为例

rgbd_tum.cc中的main函数中,前面读取图片部分与ORB-SLAM2的代码基本一致。
根据传入的参数个数(argc的值),其算法的流程也会改变。
传入5个参数:就与普通的ORB-SLAM2无差别
传入6个参数:就会将MASK R-CNN得到的MASK图像存储到第6个参数的文件夹中,然后创建一个名为output的文件夹存储最后结果,其中存储Mask和去除动态物体后的depth和rgb图像。
传入7个参数:会将MASK图像存储到第6 个参数的文件夹中,将去除动态物体后的结果存到output文件夹中。

 // Initialize Mask R-CNN
 //进行Mask R-CNN初始化
    DynaSLAM::SegmentDynObject *MaskNet;
    if (argc==6 || argc==7)
    {
        cout << "Loading Mask R-CNN. This could take a while..." << endl;
        //初始化一个语义分割的类
        MaskNet = new DynaSLAM::SegmentDynObject();
        cout << "Mask R-CNN loaded!" << endl;
    }

接着看MaskNet.cc中的SegmentDynObject::SegmentDynObject()函数,这个函数的主要功能就是配置Python环境,初始化Python编译器,并将python文件中的类初始化。以便下一步使用Mask R-CNN进行语义分割。

SegmentDynObject::SegmentDynObject(){
    std::cout << "Importing Mask R-CNN Setting
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值