Skip to content

mahaoxiang822/Scale-Balanced-Grasp

Repository files navigation

Scale-Balanced-Grasp

Towards Scale Balanced 6-DoF Grasp Detection in Cluttered Scenes

Haoxiang Ma, Di Huang
In CoRL'2022

Introduction

This repository is official PyTorch implementation for our CoRL2022 paper. The code is based on GraspNet-baseline

Environments

  • Anaconda3
  • Python == 3.7.9
  • PyTorch == 1.6.0
  • Open3D >= 0.8

Installation

Follow the installation of graspnet-baseline.

Get the code.

git clone https://github.com/mahaoxiang822/Scale-Balanced-Grasp.git
cd graspnet-baseline

Install packages via Pip.

pip install -r requirements.txt

Compile and install pointnet2 operators (code adapted from votenet).

cd pointnet2
python setup.py install

Compile and install knn operator (code adapted from pytorch_knn_cuda).

cd knn
python setup.py install

Install graspnetAPI for evaluation.

git clone https://github.com/graspnet/graspnetAPI.git
cd graspnetAPI
pip install .

Prepare Datasets

For GraspNet dataset, you can download from GraspNet

Clean scene data generation

You can generate clean data for Noisy-clean Mix by yourself.

cd dataset
sh command_generate_clean_data.sh

Tolerance Label Generation(Follow graspnet-baseline)

Tolerance labels are not included in the original dataset, and need additional generation. Make sure you have downloaded the orginal dataset from GraspNet. The generation code is in dataset/generate_tolerance_label.py. You can simply generate tolerance label by running the script: (--dataset_root and --num_workers should be specified according to your settings)

cd dataset
sh command_generate_tolerance_label.sh

Or you can download the tolerance labels from Google Drive/Baidu Pan and run:

mv tolerance.tar dataset/
cd dataset
tar -xvf tolerance.tar

Train&Test

Train

sh command_train.sh

Test

  • We offer our checkpoints for inference and evaluation, you can download from Google Drive
sh command_test.sh

If you want to inference with Object Balanced Sampling, download the pretrained segmentation model and run

sh command_test_obs.sh

Evaluation

Evaluation in small-, medium- and large-scale:

python evaluate_scale.py

Top50 evaluation like Graspnet:

python evaluate.py

Citation

If any part of our paper and repository is helpful to your work, please generously cite with:

@InProceedings{Ma_2022_CoRL,
    author    = {Haoxiang, Ma and Huang, Di},
    title     = {Towards Scale Balanced 6-DoF Grasp Detection in Cluttered Scenes},
    booktitle = {Conference on Robot Learning (CoRL)},
    year      = {2022}

About

Code for CoRL2022 paper "Towards Scale Balanced 6-DoF Grasp Detection in Cluttered Scenes"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published