当前位置: 首页 > news >正文

复现 MODEST 机器人抓取透明物体 单目 ICRA 2025

MODEST 单目透明物体抓取算法,来自ICRA 2025,本文分享它的复现过程。

输入单个视角的RGB图像,模型需要同时处理深度和分割任务,输出透明物体的分割结果和场景深度预测。

论文地址:Monocular Depth Estimation and Segmentation for Transparent Object with Iterative Semantic and Geometric Fusion

代码地址:https://github.com/D-Robotics-AI-Lab/MODEST

将算法迁移到真实机器人平台,开展了透明物体抓取实验。实验平台主要由UR机械臂和深度相机组成。

在借助MODEST方法对透明物体进行分割和深度预测,生成点云数据作为输入,进而采用GraspNet生成抓取位姿。

1、创建Conda环境

使用conda创建一个虚拟环境,名字为modest,指定使用python3.8

然后进入modest环境

conda create -n modest python=3.8
conda activate modest

2、安装torch和CUDA

需要安装torch==1.10.1+cu111,执行下面命令:

pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html

然后安装其他依赖

sudo apt-get install openexr libopenexr-dev

3、安装依赖库requirements.txt

下载MODEST代码到本地,然后解压

打开requirements.txt,注释torch==1.10.1+cu111、torchvision==0.11.2+cu111,因为上面安装了

 

然后执行命令,安装依赖库

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

4、准备数据集ClearPose 

ClearPose 数据集是使用 RealSense L515 摄像头在室内环境中捕获的,捕获了 63 个透明物体。

它包含 RGB、原始深度、地面真实深度、地面真实表面法线图像以及所有物体实例6D位姿。

代码地址:https://github.com/opipari/ClearPose

下载地址:点击下载clearpose

ClearPose 被分成 9 个集合,其中 Set1 只包含化学透明物体,Set2-7 只包含家居物品,Set8-9 还包含其他对抗因素。

文件夹结构如下:

<dataset_path>
|-- set1
    |-- scene1
        |-- metadata.mat            # 
        |-- 000000-color.png        # RGB image
        |-- 000000-depth.png        # Raw depth image
        |-- 000000-depth_true.png   # Ground truth depth image
        |-- 000000-label.png        #
        |-- 000000-normal_true.png  #
        ...
|-- model
    |-- <object1>
        |-- <object1>.obj
    |-- <object2>
        |-- <object2>.obj
        ...

示例数据:

5、下载模型权重

 Syn-TODD 数据集上预先训练的模型权重:https://drive.google.com/file/d/1haxiir4PdBNE9Zr1AA4D9bVJ4KCzqa8v/view

真实世界数据集 ClearPose 的模型权重:https://drive.google.com/file/d/1798AE_u6KrMV6mpUGBxz_jaLrg_21A39/view

然后创建文件夹ckpt,放到里面:

6、进行推理

首先配置文件:config/config.json,指定预训练权重ISGNet_clearpose.p

使用CPU运行,"device":"cpu";如果使用GPU,"device":"cuda"

 

然后在推理代码inference.py中,需要修改图片路径,比如: 

image_path = "./datasets/clearpose_downsample_100/set1/scene1/000000-color.png" 

推理代码如下

import json
from models.Trainer import Trainer
from utils.visualize import *


image_path = "./datasets/clearpose_downsample_100/set1/scene1/000000-color.png"

################ load the config file ##################
with open('config/config.json', 'r') as f:
    config = json.load(f)

############### load the trainer ###############
trainer = Trainer(config)

############### start inference ##############
trainer.inference(image_path)

执行代码:

 

运行结果,在results目录保存了

原图是这样的

模型预测的深度图:

模型预测的分割效果:

MODEST对透明物体进行分割和深度预测,生成点云数据作为输入,进而采用GraspNet生成抓取位姿。

分享完成~

相关文章:

  • 【编译器】VSCODE编译C语言
  • 如是APP:AI精准匹配需求,信用体系重构信任,双轮驱动打造无套路电商
  • 将本地已有的项目上传至仓库
  • 第七章:go 切片
  • 对开源VLA sota π0的微调——如何基于各种开源数据集、以及你自己的私有数据集微调π0(含我司的微调实践)
  • 数据结构(回顾)
  • 深度学习算法实战——风格迁移(主页有源码)
  • 开发指南107-谷歌内核浏览器滚动条设置
  • 开发过程中遇到的问题记录
  • 011---UART协议的基本知识(一)
  • Tensorflow 2.0 GPU的使用与限制使用率及虚拟多GPU
  • 计算机视觉算法实战——野猪检测(主页有源码)
  • 【2025年27期免费获取股票数据API接口】实例演示五种主流语言获取股票行情api接口之沪深A股跌停股池数据获取实例演示及接口API说明文档
  • 虚函数和虚表的原理是什么?
  • Deepseek中的MoE架构的改造:动态可变参数激活的MoE混合专家架构(DVPA-MoE)的考虑
  • 【算法day5】最长回文子串——马拉车算法
  • 静态网页的爬虫(以电影天堂为例)
  • Git学习笔记(二)
  • 大白话react第十八章React 与 WebGL 项目的高级拓展与优化
  • Unity之如何实现哔哩哔哩直播弹幕游戏
  • 李强:把做强国内大循环作为推动经济行稳致远的战略之举
  • “大型翻车现场”科技满满,黄骅打造现代化港口和沿海新城典范
  • “免签圈”扩容,旅游平台:今年以来巴西等国入境游订单显著增加
  • 德国总理默茨发表首份政府声明:将提升国防能力,全力发展经济
  • 外交部:各方应为俄乌双方恢复直接对话创造条件
  • 学习教育期间违规吃喝,李献林、叶金广等人被通报