以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

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

被折叠的 条评论
为什么被折叠?



