Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ba37374
Add openvino_hggd module: HGGD OpenVINO iGPU enablement
Jun 2, 2026
50d3278
Merge branch 'master' into hggd_ov
deepaks2 Jun 10, 2026
727b3ef
Merge branch 'master' into hggd_ov
allnes Jun 23, 2026
8f24be7
Merge branch 'master' into hggd_ov
deepaks2 Jun 30, 2026
b616135
Merge branch 'master' into hggd_ov
allnes Jul 21, 2026
8b00fba
Merge branch 'master' into hggd_ov
deepaks2 Jul 29, 2026
667902c
Fix FPS MAX_N truncation and add upstream license attributions
deepaks2 Jul 29, 2026
389568e
Fix masked_gather -1 index handling in GPU shim
deepaks2 Jul 29, 2026
c46855f
Make compiler flags portable
deepaks2 Jul 29, 2026
a739643
Normalize conda env name to hggd_intel
deepaks2 Jul 29, 2026
bb5ddcd
Normalize conda env name in setup.sh comments
deepaks2 Jul 29, 2026
68750d8
Adding hggd to README
deepaks2 Jul 30, 2026
fa257ee
Force FP32 for index-carrying GPU point-cloud ops
deepaks2 Jul 30, 2026
f15e408
Guard KNN K <= N2 in validate_and_infer_types
deepaks2 Jul 30, 2026
05c7ff4
Fix install file list to real kernel/config names
deepaks2 Jul 30, 2026
d22a75d
AAdd missing PyTorch3D BSD-3 attribution to ball_query_single_v2.cl
deepaks2 Aug 19, 2026
2614ebe
Fix silent wrong-index bug in fps() when lengths=None with padding
deepaks2 Aug 19, 2026
50b82e1
Replace cvxopt (GPL-3.0) with scipy (BSD-3) for QP solving
deepaks2 Aug 19, 2026
9b29951
Address reviewer comments on GPU kernels and docs
deepaks2 Aug 19, 2026
7cff039
Remove six unused multi-output ops
deepaks2 Aug 19, 2026
f996307
Merge branch 'master' into hggd_ov
deepaks2 Aug 21, 2026
8c38ccb
Added new Collision-Free AP
deepaks2 Aug 30, 2026
ea3e99f
Merge branch 'master' into hggd_ov
deepaks2 Sep 1, 2026
6a7a619
Update .gitignore, README.md, labeler.yml, labels.yml
deepaks2 Sep 2, 2026
6bff275
Merge branch 'master' into hggd_ov
allnes Oct 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@
- changed-files:
- any-glob-to-any-file: 'modules/openvino_flashocc/**/*'

'category: hggd':
- changed-files:
- any-glob-to-any-file: 'modules/openvino_hggd/**/*'

'category: custom operations':
- changed-files:
- any-glob-to-any-file: 'modules/custom_operations/**/*'
Expand Down
4 changes: 4 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
color: "#d3d3d3"
description: "OpenVINO FlashOCC module (modules/openvino_flashocc)"

- name: "category: hggd"
color: "#d3d3d3"
description: "OpenVINO HGGD module (modules/openvino_hggd)"

- name: "category: build"
color: "#d3d3d3"
description: "OpenVINO cmake script / infra"
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ This list gives an overview of all modules available inside the contrib reposito
* [**Ollama-OpenVINO**](./modules/ollama_openvino): OpenVINO GenAI empowered Ollama which accelerate LLM on Intel platforms(including CPU, iGPU/dGPU, NPU).
* [**ov_training_kit**](./modules/ov_training_kit): Training Kit Python library -- provides scikit-learn, PyTorch and Tensorflow wrappers for training, optimization, and deployment with OpenVINO on AI PCs.
* [**OpenVino BEVFusion**](./modules/openvino_bevfusion): OpenVino supported implementation of the BEVFusion model.
* [**OpenVINO HGGD**](./modules/openvino_hggd): OpenVINO-accelerated HGGD grasp detection using custom GPU point cloud extensions.
* [**OpenVINO FlashOCC**](./modules/openvino_flashocc): OpenVINO-supported FlashOCC export, inference, and benchmarking pipeline for 3D occupancy prediction.
* [**OpenVINO Notes**](./modules/openvino-notes): Modular Android notes application foundation with local storage, Compose UI, and adapter contracts for Google identity, Drive sync, and OpenVINO assistance.
* [**3D**](./modules/3d): A collection of 3D vision models implemented with OpenVINO. Currently, it includes the following models:
Expand Down Expand Up @@ -53,6 +54,7 @@ Additional build instructions are available for the following modules:
* [**openvino-langchain**](./modules/openvino-langchain): LangChain.js integrations for OpenVINO™
* [**OpenVINO Notes**](./modules/openvino-notes/README.md#build-and-test): Standalone Android Gradle build, prerequisites, architecture checks, and unit tests.
* [**OpenVino BEVFusion**](./modules/openvino_bevfusion): Check the [INSTRUCTIONS](./modules/openvino_bevfusion/EXPORT_AND_INFERENCE_GUIDE.md) for detailed usage and build instructions.
* [**OpenVino HGGD**](./modules/openvino_hggd): Check the [INSTRUCTIONS](./modules/openvino_hggd/README.md) for detailed usage and build instructions.
Comment thread
deepaks2 marked this conversation as resolved.
* [**OpenVINO FlashOCC**](./modules/openvino_flashocc): Check the [INSTRUCTIONS](./modules/openvino_flashocc/EXPORT_AND_INFERENCE_GUIDE.md) for detailed usage and build instructions.
* **3D**:
* [**Point Pillars**](./modules/3d/pointPillars): Check the [README](./modules/3d/pointPillars/README.md) for detailed usage and build instructions.
Expand Down
34 changes: 34 additions & 0 deletions modules/openvino_hggd/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright (C) 2018-2026 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

# OpenVINO exported models
openvino_models/

# Inference outputs
output/
*.npy

# Logs
*.log

# Compiled extensions
*.so

# Generated visualizations
viz_*.png

# Python
__pycache__/
*.pyc
*.pyo
*.pyd

# Virtual environments
.venv/
venv/
env/

# Build artifacts
build/
dist/
*.egg-info/
103 changes: 103 additions & 0 deletions modules/openvino_hggd/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<!--
Copyright (C) 2018-2026 Intel Corporation
SPDX-License-Identifier: Apache-2.0
-->

# HGGD — OpenVINO iGPU Enablement

OpenVINO inference enablement for [HGGD](https://github.com/THU-VCLab/HGGD) (Hybrid Grasp Detection and Generation) on Intel integrated GPU.

## Prerequisites: Fetch Upstream HGGD Files

The `customgraspnetAPI`, `dataset`, and `models` directories are not included in this module — they are identical to the upstream repository and should be copied directly from there:

```bash
git clone https://github.com/THU-VCLab/HGGD /tmp/HGGD_upstream
cp -r /tmp/HGGD_upstream/customgraspnetAPI path_to_openvino_hggd/

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This copies the complete customgraspnetAPI tree, including Dex-Net code whose license permits only educational, research, and not-for-profit use. That restriction is incompatible with presenting the resulting module as unrestricted Apache-2.0 software. Copy only the required permissively licensed files, or obtain and document commercial-compatible permission; pin the exact HGGD revision and retain its notices.

cp -r /tmp/HGGD_upstream/dataset path_to_openvino_hggd/
cp -r /tmp/HGGD_upstream/models path_to_openvino_hggd/
```

## Setup

```bash
cd path_to_openvino_hggd
bash setup.sh
conda activate hggd_intel
```

## Export Models

```bash
cd path_to_openvino_hggd
conda activate hggd_intel

python export_models.py \
--checkpoint-path /path/to/HGGD_realsense_checkpoint \
--output-dir openvino_models \
--ov-device GPU
```

## Run

```bash
cd path_to_openvino_hggd
conda activate hggd_intel

bash run.sh \
/path/to/HGGD_realsense_checkpoint \
/path/to/dataset/6dto2drefine_realsense \
/path/to/graspnet \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documented workflow requires GraspNet data and an HGGD checkpoint, but does not state their terms. GraspNet's official site restricts its data, labels, code, and models to non-commercial use under CC BY-NC-SA, while no explicit license was found for the referenced HGGD checkpoint. Document exact artifact URLs and terms and obtain legal approval before treating this as a generally usable Apache-2.0 module.

100 GPU
```

## Evaluation

Inference dumps per-frame grasp predictions under
`output/scene_<scene_id>/pred/`. To compute **Collision-Free AP** and
the collision rate, run the standalone evaluator:

```bash
cd path_to_openvino_hggd
conda activate hggd_intel

python evaluate.py \
--scene-path /path/to/graspnet \
--pred-dir output/scene_100/pred \
--scene-l 100 --scene-r 101
```

The evaluator runs the standard GraspNet grasp pipeline (NMS, object
assignment, gripper-box collision and empty-grasp test, AP aggregation)
and counts a grasp as a success when it does not collide with any scene
point and is not "empty" (at least 10 object points held between the
fingers). It is fully standalone (numpy + open3d + transforms3d +
grasp-nms) and only needs `--scene-path` to contain `scenes/` and
`models/%03d/nontextured.ply` (no textured models required);
`--scene-path` is the same `/path/to/graspnet` passed to `run.sh`.
Results are printed to the console and saved to `eval_result_cf.npy`
next to the prediction directory.

Useful options: `--camera realsense` (default), `--top-k 50`,
`--proc N` (worker processes), `--result-path /custom/location.npy`.

Note: CF-AP is **not comparable** to the AP / AP@0.8 / AP@0.4 reported
in the HGGD paper (it has no friction-coefficient semantics) — treat it
as a separate metric.

To reproduce the AP / AP@0.8 / AP@0.4 as reported in the HGGD paper,
use the official evaluation toolkit from `graspnetAPI==1.2.11`
(`pip install --no-deps graspnetAPI==1.2.11`), which evaluates the
same prediction dumps from this module.

## Output

Results are written under `output/scene_<scene_id>/`.

```
output/scene_100/
├── inference.log
├── eval_result_cf.npy # written by evaluate.py
├── logs/
└── pred/
```
Loading
Loading