美文网首页
Infinitam/orbslam3/Yolact系统的ROS

Infinitam/orbslam3/Yolact系统的ROS

作者: 陈瓜瓜_ARPG | 来源:发表于2021-09-06 13:22 被阅读0次

    很久没有写详细的学习blog了。临近毕业变得繁忙。毕业论文涉及到动态场景下的三维重建。里面需要涉及到好几个系统互相传递位姿,图像等,自然而然地想用ROS为媒介来做这个工作。于是对当前几个还不错的系统写了可以发布/接收消息的ROS wrapper

    infinitam

    基于infinitam_v3
    Infinitam可用于静态场景下的三维重建,其重建速度即使在一般的GPU上也很快。但是当前github官网的infinitam不支持ROS,虽然infinitam3.5说是支持,(你问我资词不资词,那我当然是资词的),但是我怎么都没跑地起来,也没看到里面涉及到ROS的相关代码,看来还是不支持...所以干脆自己写了。总体做了如下改进

    1: 接收ROS图像
    2: 接收外部系统的位姿估计
    3: RGB 重建
    

    第一个是想实现的基本功能。第二个是比较出彩的功能,你可以把infinitam和任何ros驱动slam系统连接起来,有slam系统提供位姿估计而不是用inifinitam自带的位姿估计系统。原infinitam使用rgbd图像进行位姿估计,有了上面的改动意味这你可以用任何visua或者visual-inertal SLAM或者lidar slam提供位姿(但是你得知道lidar和相机之间的坐标变换,这个校准功能就没提供了) 。第三个比较扯,原infinitam不带彩色重建...修改了下源代码使其支持彩色重建
    代码链接
    https://github.com/zhaozhongch/infinitam_ros

    ORBSLAM3

    虽然本来ORBSLAM系列就是支持ROS的,但是它并不像一个传统的ROS包,放在一个ros的workspace里。导致我们用launch文件或者其他的ROS功能就显得很麻烦。这里把ORBSLAM3做成了ros package, 只需要传统的catkin_make就可以编译。也是使用rosrun等命令跑节点。
    目前输出每一帧的位姿topic /tesse/odom,这是我需要的功能了。当然如果使用的人可能还需要关键帧位姿,稀疏地图的点云等,我就没做那些功能了。自己写wrapper吧hh
    代码链接
    https://github.com/zhaozhongch/orbslam3_ros

    Yolact

    Yolact是用在做instance segmentation的工具。官网链接。相比与经典的MASK-RCNN,其MASK的质量更高,更贴近物体原本的轮廓。但是Yolact1版本的mAP稍低,第二版本的高一些。我在Yolact 的ROS wrapper里提供的功能是每接收一张图片,在进行分割之后,输出黑白图片,白色的(像素值255)是有物体被分割的地方,黑色的为无特殊物体的区域。目前可以选择分割仅仅分割人或者包含其他物体。物体的类别源于COCO 数据集。
    代码链接
    https://github.com/zhaozhongch/yolact_ros

    欢迎指出任何错误

    如果觉得哪个有帮助可以在github上点个小星星。

    相关文章

      网友评论

          本文标题:Infinitam/orbslam3/Yolact系统的ROS

          本文链接:https://www.haomeiwen.com/subject/ammewltx.html