yun01.du
commited on
Commit
Β·
f09bb0e
1
Parent(s):
a9e7fb1
[update] update finegrasp_pipeline_sim and README
Browse files- README.md +54 -6
- {finegrasp_wo_sim_pipeline β finegrasp_pipeline}/inference.config.json +0 -0
- {finegrasp_wo_sim_pipeline β finegrasp_pipeline}/model.config.json +0 -0
- {finegrasp_wo_sim_pipeline β finegrasp_pipeline}/model.safetensors +0 -0
- finegrasp_pipeline_sim/inference.config.json +17 -0
- model.config.json β finegrasp_pipeline_sim/model.config.json +1 -1
- model.safetensors β finegrasp_pipeline_sim/model.safetensors +2 -2
- finegrasp_processor.json +0 -10
- finegrasp_sim.pth +0 -3
- finegrasp_wo_sim.pth +0 -3
README.md
CHANGED
|
@@ -35,19 +35,67 @@ license: apache-2.0
|
|
| 35 |
</div>
|
| 36 |
|
| 37 |
|
| 38 |
-
|
| 39 |
|
| 40 |
| Method | ckpt | Camera | Seen (AP) | Similar (AP) | Novel (AP) | Average (AP) |
|
| 41 |
| --------- | ---- | --------- | --------- | ------------ | ---------- | ---------- |
|
| 42 |
-
| FineGrasp |
|
| 43 |
-
| FineGrasp + CD |
|
| 44 |
-
| FineGrasp + Simulation Data |
|
| 45 |
|
| 46 |
|
| 47 |
We also provide a grasp-based baseline for [Challenge Cup](https://developer.d-robotics.cc/tiaozhanbei-2025), please refer to this [code](https://github.com/HorizonRobotics/robo_orchard_lab/tree/master/projects/pick_place_agent)
|
| 48 |
-
> Notice:
|
| 49 |
|
| 50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
```
|
| 52 |
@misc{du2025finegrasp,
|
| 53 |
title={FineGrasp: Towards Robust Grasping for Delicate Objects},
|
|
|
|
| 35 |
</div>
|
| 36 |
|
| 37 |
|
| 38 |
+
## 1. Grasp performance in GraspNet-1Billion dataset.
|
| 39 |
|
| 40 |
| Method | ckpt | Camera | Seen (AP) | Similar (AP) | Novel (AP) | Average (AP) |
|
| 41 |
| --------- | ---- | --------- | --------- | ------------ | ---------- | ---------- |
|
| 42 |
+
| FineGrasp | finegrasp_pipeline/model.safetensors | Realsense | 71.67 | 62.83 | 27.40 | 53.97 |
|
| 43 |
+
| FineGrasp + CD | finegrasp_pipeline/model.safetensors | Realsense | 73.71 | 64.56 | 28.14 | 55.47 |
|
| 44 |
+
| FineGrasp + Simulation Data | finegrasp_pipeline_sim/model.safetensors | Realsense | 70.21 | 61.98 | 26.18 | 52.79 |
|
| 45 |
|
| 46 |
|
| 47 |
We also provide a grasp-based baseline for [Challenge Cup](https://developer.d-robotics.cc/tiaozhanbei-2025), please refer to this [code](https://github.com/HorizonRobotics/robo_orchard_lab/tree/master/projects/pick_place_agent)
|
| 48 |
+
> Notice: finegrasp_pipeline_sim/model.safetensors is trained for [Challenge Cup](https://developer.d-robotics.cc/tiaozhanbei-2025) RoboTwin simulation benchmark.
|
| 49 |
|
| 50 |
+
|
| 51 |
+
## 2. Example Infer Code
|
| 52 |
+
```Python
|
| 53 |
+
import os
|
| 54 |
+
import numpy as np
|
| 55 |
+
import scipy.io as scio
|
| 56 |
+
from PIL import Image
|
| 57 |
+
from robo_orchard_lab.models.finegrasp.processor import GraspInput
|
| 58 |
+
from huggingface_hub import snapshot_download
|
| 59 |
+
from robo_orchard_lab.inference import InferencePipelineMixin
|
| 60 |
+
|
| 61 |
+
file_path = snapshot_download(
|
| 62 |
+
repo_id="HorizonRobotics/FineGrasp",
|
| 63 |
+
allow_patterns=[
|
| 64 |
+
"finegrasp_pipeline/**",
|
| 65 |
+
"data_example/**"
|
| 66 |
+
],
|
| 67 |
+
)
|
| 68 |
+
|
| 69 |
+
loaded_pipeline = InferencePipelineMixin.load(
|
| 70 |
+
os.path.join(file_path, "finegrasp_pipeline")
|
| 71 |
+
)
|
| 72 |
+
|
| 73 |
+
rgb_image_path = os.path.join(file_path, "data_example/0000_rgb.png")
|
| 74 |
+
depth_image_path = os.path.join(file_path, "data_example/0000_depth.png")
|
| 75 |
+
intrinsic_file = os.path.join(file_path, "data_example/0000.mat")
|
| 76 |
+
|
| 77 |
+
depth_image = np.array(Image.open(depth_image_path), dtype=np.float32)
|
| 78 |
+
rgb_image = np.array(Image.open(rgb_image_path), dtype=np.float32) / 255.0
|
| 79 |
+
intrinsic_matrix = scio.loadmat(intrinsic_file)["intrinsic_matrix"]
|
| 80 |
+
workspace = [-1, 1, -1, 1, 0.0, 2.0]
|
| 81 |
+
depth_scale = 1000.0
|
| 82 |
+
|
| 83 |
+
input_data = GraspInput(
|
| 84 |
+
rgb_image=rgb_image,
|
| 85 |
+
depth_image=depth_image,
|
| 86 |
+
depth_scale=depth_scale,
|
| 87 |
+
intrinsic_matrix=intrinsic_matrix,
|
| 88 |
+
workspace=workspace,
|
| 89 |
+
)
|
| 90 |
+
|
| 91 |
+
loaded_pipeline.to("cuda")
|
| 92 |
+
loaded_pipeline.model.eval()
|
| 93 |
+
output = loaded_pipeline(input_data)
|
| 94 |
+
print(f"Best grasp pose: {output.grasp_poses[0]}")
|
| 95 |
+
|
| 96 |
+
```
|
| 97 |
+
|
| 98 |
+
## Citation
|
| 99 |
```
|
| 100 |
@misc{du2025finegrasp,
|
| 101 |
title={FineGrasp: Towards Robust Grasping for Delicate Objects},
|
{finegrasp_wo_sim_pipeline β finegrasp_pipeline}/inference.config.json
RENAMED
|
File without changes
|
{finegrasp_wo_sim_pipeline β finegrasp_pipeline}/model.config.json
RENAMED
|
File without changes
|
{finegrasp_wo_sim_pipeline β finegrasp_pipeline}/model.safetensors
RENAMED
|
File without changes
|
finegrasp_pipeline_sim/inference.config.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"__config_type__": "robo_orchard_lab.inference.basic:InferencePipelineCfg",
|
| 3 |
+
"class_type": "robo_orchard_lab.inference.basic:InferencePipeline",
|
| 4 |
+
"model": null,
|
| 5 |
+
"processor": {
|
| 6 |
+
"__config_type__": "robo_orchard_lab.models.finegrasp.processor:FineGraspProcessorCfg",
|
| 7 |
+
"class_type": "robo_orchard_lab.models.finegrasp.processor:FineGraspProcessor",
|
| 8 |
+
"voxel_size": 0.005,
|
| 9 |
+
"grasp_max_width": 0.1,
|
| 10 |
+
"num_seed_points": 1024,
|
| 11 |
+
"max_gripper_width": 0.1,
|
| 12 |
+
"collision_thresh": 0.01,
|
| 13 |
+
"voxel_size_cd": 0.01
|
| 14 |
+
},
|
| 15 |
+
"collate_fn": null,
|
| 16 |
+
"batch_size": 1
|
| 17 |
+
}
|
model.config.json β finegrasp_pipeline_sim/model.config.json
RENAMED
|
@@ -17,6 +17,6 @@
|
|
| 17 |
0.75,
|
| 18 |
1.0
|
| 19 |
],
|
| 20 |
-
"use_normal":
|
| 21 |
"loss": null
|
| 22 |
}
|
|
|
|
| 17 |
0.75,
|
| 18 |
1.0
|
| 19 |
],
|
| 20 |
+
"use_normal": false,
|
| 21 |
"loss": null
|
| 22 |
}
|
model.safetensors β finegrasp_pipeline_sim/model.safetensors
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8b27b2f0a3a3b40e66fa7a631c7a53c2e56bf4cb928f1cce1360bb6203a6b368
|
| 3 |
+
size 76646428
|
finegrasp_processor.json
DELETED
|
@@ -1,10 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"__config_type__": "robo_orchard_lab.models.finegrasp.processor:FineGraspProcessorCfg",
|
| 3 |
-
"class_type": "robo_orchard_lab.models.finegrasp.processor:FineGraspProcessor",
|
| 4 |
-
"voxel_size": 0.005,
|
| 5 |
-
"grasp_max_width": 0.1,
|
| 6 |
-
"num_seed_points": 1024,
|
| 7 |
-
"max_gripper_width": 0.1,
|
| 8 |
-
"collision_thresh": 0.01,
|
| 9 |
-
"voxel_size_cd": 0.01
|
| 10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
finegrasp_sim.pth
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:eaf19a16a214dc319f396d278fd95a71b096e723f1000d43d14095486463014a
|
| 3 |
-
size 230029850
|
|
|
|
|
|
|
|
|
|
|
|
finegrasp_wo_sim.pth
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:ae8720cec5ea820487f84ae2631ded0c965ee1399d2d51828471f7ec834daca5
|
| 3 |
-
size 230173914
|
|
|
|
|
|
|
|
|
|
|
|