/GrainGrasp

Primary LanguagePython

GrainGrasp

Requirements:

The Python version for this project is 3.9.18.
These packages we used:

numpy==1.23.0
pytorch==2.0.1+cu118
open3d==0.17.0
trimesh==4.1.7
attrdict==2.0.1
mano
pytorch3d==0.7.5

mano: The version of MANO slightly different from the one provided by Omid Taheri, please use the version we provide. You should download the MANO model files from MANO website. Then put MANO_RIGHT.pkl into mano/models/ in this project directory. This path is customized in here.

pytorch3d: The installation of pytorch3d can be found in pytorch3d.

Run Example

python run_complete.py -i=3 -s=1234

Maybe you will see the following results:

completecomplete

python run_only_opt.py -i=2 -s=134

Maybe you will see the following results:

completecomplete

Note: Due to the randomness, different results may be generated. The images are for reference only.

Training Code

If you intend to retrain the model, please download the obman dataset and ShapeNetCore.v2, and then set their paths in the code.

Place the obman directory after decompression and the compressed ShapeNetCore.v2.zip file in the Data directory (You need create it manually). These paths are customized in here.

The data processing part can be found in dataprocess.py. We recommend incorporating the point cloud sampling steps into the training process rather than setting them before training, better training methods will generate better results.

Configurations

The configurations for the experiments can be found and modified in config.json.

Citation

@misc{zhao2024graingrasp,
      title={GrainGrasp: Dexterous Grasp Generation with Fine-grained Contact Guidance}, 
      author={Fuqiang Zhao and Dzmitry Tsetserukou and Qian Liu},
      year={2024},
      eprint={2405.09310},
      archivePrefix={arXiv},
      primaryClass={cs.RO}
}