← 开源
NVlabs

contact_graspnet

Efficient 6-DoF Grasp Generation in Cluttered Scenes

ModelsDomain-specific modelsPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
539
Star
153
Fork
+1
本周
3
贡献者
创建于 2021-03-24 · 更新于 2026-10-13 · 今日第 17438 名
主要开发者
arsalan-mousavianabhishek47kashyapMartinSmeyer

NVlabs/contact_graspnet 排名第 17,438,有 539 个星标。

同类别比较

NVlabs/contact_graspnet 排名第 17,438,此处有 8 个同类条目;maitrix-org/Pandora 排名第 17,447。

同类别比较
名称排名指标
patrickjohncyh/fashion-clip17,374
语言:
Python
星标数:
543
分叉数:
57
简介:
FashionCLIP is a CLIP-like model fine-tuned for the fashion domain.
inclusionAI/TwinFlow17,382
语言:
Python
星标数:
542
分叉数:
28
简介:
[ICLR 2026] Taming large-scale few-step training with self-adversarial flows! 👏🏻
WildChlamydia/MiVOLO17,404
语言:
Python
星标数:
541
分叉数:
98
简介:
MiVOLO age & gender transformer neural network
Sirui-Xu/InterMimic17,422
语言:
Python
星标数:
540
分叉数:
34
简介:
[CVPR 2025 Highlight] InterMimic: Towards Universal Whole-Body Control for Physics-Based Human-Object Interactions
maitrix-org/Pandora17,447
语言:
Python
星标数:
539
分叉数:
35
简介:
Pandora: Towards General World Model with Natural Language Actions and Video States
google/tacotron17,459
语言:
HTML
星标数:
538
分叉数:
83
简介:
Audio samples accompanying publications related to Tacotron, an end-to-end speech synthesis model.
poloclub/unitable17,499
语言:
Jupyter Notebook
星标数:
536
分叉数:
38
简介:
NeurIPS'24 Workshop - UniTable: Towards a Unified Table Foundation Model
FoundationVision/UniTok17,506
语言:
Python
星标数:
535
分叉数:
16
简介:
[NeurIPS 2025 Spotlight] A Unified Tokenizer for Visual Generation and Understanding
关键参数与规格
关键参数与规格
参数值
语言Python
类别Models
子类别Domain-specific models
关键词3D, Embodied, Model architecture, Robotics
星标数539
分叉数153
贡献者3
创建日期2021-03-24
更新日期2026-10-13
1 天星标数0
7 天星标数1
排名17,438
上次排名17,223
排名变化-215
7 天星标排名11,429
上次 7 天星标排名11,491
7 天星标排名变化62
总星标排名18,256
上次总星标排名18,230
总星标排名变化-26
国家USA
README 摘录

Contact-GraspNet Contact-GraspNet: Efficient 6-DoF Grasp Generation in Cluttered Scenes Martin Sundermeyer, Arsalan Mousavian, Rudolph Triebel, Dieter Fox ICRA 2021 paper, project page, video Installation This code has been tested with python 3. 1 Create the conda env Troubleshooting Recompile pointnet2 tf_ops: Hardware Training: 1x Nvidia GPU >= 24GB VRAM, >=64GB RAM Inference: 1x Nvidia GPU >= 8GB VRAM (might work with less) Download Models and Data Model Download trained models from here and copy them into the folder

. Test data Download the test data from here and copy them them into the folder. Inference Contact-GraspNet can directly predict a 6-DoF grasp distribution from a raw scene point cloud. [1, 2] as preprocessing and then use the resulting segmentation map to crop local regions and filter grasp contacts. npz file with just a 3D point cloud (in meters), execute for example: : input . npy file(s) with 'depth', 'K' and optionally 'segmap', 'rgb' keys. For processing a Nx3

point cloud instead use 'xzy' and optionally 'xyz_color' as keys. : relative path to checkpooint directory. For very clean / noisy depth data consider / trained with no / strong noise. : Crop 3D local regions around object segments for inference. (only works with segmap) : Filter grasp contacts such that they only lie on the surface of object segments. (only works with segmap) Ignore segments touching the depth map boundary. Increase to sample more potential grasp contacts. [min, max] z values in meter used

to crop the input point cloud, e. to avoid grasps in the foreground/background(as above). Overwrite config confidence thresholds for successful grasp contacts to get more/less grasp proposals Training Download Data Download the Acronym dataset, ShapeNet meshes and make them watertight, following these steps. Download the training data consisting of 10000 table top training scenes with contact grasp information from here and extract it to the same folder: Train Contact-GraspNet When training on a headless server set

the environment variable Start training with config Generate Contact Grasps and Scenes yourself (optional) The downloaded above are generated from the Acronym dataset. To generate/visualize table-top scenes yourself, also pip install the acronym_tools) package in your conda environment as described in the acronym repository. In the first step, object-wise 6-DoF grasps are mapped to their contact points saved in From the generated you can create table-top scenes which are saved in with Takes ~3

days in a single thread. Run the command several times to process on multiple cores in parallel. You can also visualize existing table-top scenes and grasps Citation

常见问题

记录了多少星标和分叉?

NVlabs/contact_graspnet 有 539 个星标和 153 个分叉。

仓库排名是多少?

NVlabs/contact_graspnet 排名第 17,438。

记录的语言和类别是什么?

NVlabs/contact_graspnet 有 539 个星标,语言为 Python,类别为 Models。

哪个仓库排名最接近?

NVlabs/contact_graspnet 与 maitrix-org/Pandora 比较,后者排名第 17,447,有 539 个星标。

README

Contact-GraspNet

Contact-GraspNet: Efficient 6-DoF Grasp Generation in Cluttered Scenes

Martin Sundermeyer, Arsalan Mousavian, Rudolph Triebel, Dieter Fox
ICRA 2021

paper, project page, video

Installation

This code has been tested with python 3.7, tensorflow 2.2, CUDA 11.1

Create the conda env

conda env create -f contact_graspnet_env.yml

Troubleshooting

  • Recompile pointnet2 tf_ops:
sh compile_pointnet_tfops.sh

Hardware

Training: 1x Nvidia GPU >= 24GB VRAM, >=64GB RAM
Inference: 1x Nvidia GPU >= 8GB VRAM (might work with less)

Download Models and Data

Model

Download trained models from here and copy them into the checkpoints/ folder.

Test data

Download the test data from here and copy them them into the test_data/ folder.

Inference

Contact-GraspNet can directly predict a 6-DoF grasp distribution from a raw scene point cloud. However, to obtain object-wise grasps, remove background grasps and to achieve denser proposals it is highly recommended to use (unknown) object segmentation [e.g. 1, 2] as preprocessing and then use the resulting segmentation map to crop local regions and filter grasp contacts.

Given a .npy/.npz file with a depth map (in meters), camera matrix K and (optionally) a 2D segmentation map, execute:

python contact_graspnet/inference.py \
       --np_path=test_data/*.npy \
       --local_regions --filter_grasps

--> close the window to go to next scene

Given a .npy/.npz file with just a 3D point cloud (in meters), execute for example:

python contact_graspnet/inference.py --np_path=/path/to/your/pc.npy \
                                     --forward_passes=5 \
                                     --z_range=[0.2,1.1]

--np_path: input .npz/.npy file(s) with 'depth', 'K' and optionally 'segmap', 'rgb' keys. For processing a Nx3 point cloud instead use 'xzy' and optionally 'xyz_color' as keys.
--ckpt_dir: relative path to checkpooint directory. By default checkpoint/scene_test_2048_bs3_hor_sigma_001 is used. For very clean / noisy depth data consider scene_2048_bs3_rad2_32 / scene_test_2048_bs3_hor_sigma_0025 trained with no / strong noise.
--local_regions: Crop 3D local regions around object segments for inference. (only works with segmap)
--filter_grasps: Filter grasp contacts such that they only lie on the surface of object segments. (only works with segmap)
--skip_border_objects Ignore segments touching the depth map boundary.
--forward_passes number of (batched) forward passes. Increase to sample more potential grasp contacts.
--z_range [min, max] z values in meter used to crop the input point cloud, e.g. to avoid grasps in the foreground/background(as above).
--arg_configs TEST.second_thres:0.19 TEST.first_thres:0.23 Overwrite config confidence thresholds for successful grasp contacts to get more/less grasp proposals

Training

Download Data

Download the Acronym dataset, ShapeNet meshes and make them watertight, following these steps.

Download the training data consisting of 10000 table top training scenes with contact grasp information from here and extract it to the same folder:

acronym
├── grasps
├── meshes
├── scene_contacts
└── splits

Train Contact-GraspNet

When training on a headless server set the environment variable

export PYOPENGL_PLATFORM='egl'

Start training with config contact_graspnet/config.yaml

python contact_graspnet/train.py --ckpt_dir checkpoints/your_model_name \
                                 --data_path /path/to/acronym/data

Generate Contact Grasps and Scenes yourself (optional)

The scene_contacts downloaded above are generated from the Acronym dataset. To generate/visualize table-top scenes yourself, also pip install the acronym_tools package in your conda environment as described in the acronym repository.

In the first step, object-wise 6-DoF grasps are mapped to their contact points saved in mesh_contacts

python tools/create_contact_infos.py /path/to/acronym

From the generated mesh_contacts you can create table-top scenes which are saved in scene_contacts with

python tools/create_table_top_scenes.py /path/to/acronym

Takes ~3 days in a single thread. Run the command several times to process on multiple cores in parallel.

You can also visualize existing table-top scenes and grasps

python tools/create_table_top_scenes.py /path/to/acronym \
       --load_existing scene_contacts/000000.npz -vis

Citation

@article{sundermeyer2021contact,
  title={Contact-GraspNet: Efficient 6-DoF Grasp Generation in Cluttered Scenes},
  author={Sundermeyer, Martin and Mousavian, Arsalan and Triebel, Rudolph and Fox, Dieter},
  booktitle={2021 IEEE International Conference on Robotics and Automation (ICRA)},
  year={2021}
}
排名相邻
同类项目