WangYuLin-SEU/WAPR has 75 GitHub stars and 2 forks. Star changes are not measured yet. Last checked 2026-11-14 05:26 UTC. Last push 2026-11-04.
Gemessener Sternzuwachs
- in 24h
- Verlauf wird gesammelt
- in 7 days
- Verlauf wird gesammelt
- in 15 days
- Verlauf wird gesammelt
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
Über uns
[ECCV 2026] Wide-angle pose refinement for unseen objects from RGB-D, camera intrinsics, a metric mesh, and a mask or box.
Maschinelles LernenREADME.md
Original
WAPR · Wide-Angle Pose Refinement
A foundation model for unseen-object 6D pose estimation
Yulin Wang* · Mengting Hu* · Hongli Li · Jianghao Zhou · Chen Luo
* Equal contribution. Affiliations are listed on the project page.
Large-angle correction · 12 initial hypotheses by default · Batched multi-object inference
Awards
Gallery
Method
Get started
Citation & license
WAPR refines the 6D pose of an object absent from pose-model training. Provide RGB-D, camera intrinsics, a metric mesh, and a mask or box. Training covers candidate rotation errors up to 90°. The default recipe uses 12 hypotheses, three WAPR updates, two SAPR updates, and WBPS ranking. A metric mesh is still required at inference.
Capabilities
- Wide-angle pose refinement: trained with rotation perturbations up to 90°; mask and box inputs, without per-object pose-model fine-tuning.
- Batched RGB-D pose estimation: approximately 88–90 supplied instances/s on RTX 5090 with OpenGL + TensorRT FP16, 12 hypotheses per instance in the warmed pose stage; excludes 2D detection and NMS. Measurement conditions.
- Large-motion 6D pose tracking: the stride-32 mustard comparison reaches 100% ADD recall / 4.6 mm mean ADD for WAPR versus 68.2% / 36.3 mm for FoundationPose, without pose reinitialization. These are sequence-specific results. Video and protocol.
- Pose scoring and optional lost-track recovery: WBPS ranks pose candidates; the separate DINOv2 recovery example demonstrates candidate search and scoring, including failures. Tracking guide.
- Four checkpoints: masked WAPR, mask-free WAPR, SAPR and WBPS; examples cover localization, detection, tracking, reconstruction and robot simulation. A metric mesh remains required for pose inference.
2025 challenge certificates
The certificates included in this repository are shown below; click to view the certificates. BPC Best One-shot Solution / 4th Place is from WAPR, and Second Place from FRTPose-WAPR. BOP certificates name FRTPose-WAPR system submissions with different 2D detectors.
Award sources and system descriptions
Gallery
Wide-angle refinement: three objects, three methods
The TUD-L dragon starts at 100°, with all five updates shown. Below: the LM-O driller starts at 80°, and the YCB-V clamp at 120°. All three methods use the same initial rotation with translation fixed to ground truth. The 100°/120° cases exceed WAPR’s 90° training perturbation range; these individual examples are not aggregate accuracy.
| LM-O driller | YCB-V clamp |
|---|---|
![]() |
![]() |
| WAPR: 80° → 4° | WAPR: 120° → 2° |
Comparison protocol and results
6D pose estimation across seven BOP datasets
Pose localization examples on LM-O, T-LESS, TUD-L, IC-BIN, YCB-V, HB and ITODD. Colored contours and 3D bounding boxes show the predicted poses.
Explore the interactive results and ground-truth comparison
Pose tracking across larger frame intervals
Both methods initialize from the same predicted mask and update poses every 32 frames. This mustard sequence does not reinitialize poses. Tracking can lose the target; these recordings do not guarantee recovery on every sequence.
Cracker box · stride 1
Sugar box · stride 32
Supplied initial mask with independent DINOv2 recovery; each method uses its own state and scorer.
TACO: roller and wooden box
Frames 80–109: each tracking frame uses the final SAPR update. WAPR on the left and TACO motion-capture reference on the right. Image-contour overlap and 6D pose error are different metrics.
ROBI: positive and negative reflective-screw predictions
Each annotation selects its nearest saved candidate by symmetry-aware ADD from all saved predictions. Blue denotes ADD < 0.1d; red denotes failures. This is a post-hoc nearest-candidate comparison, not one-to-one recall of normal outputs. Click to inspect each instance’s error and status.
White wedges: 6D pose predictions
Open the wedge 3D viewer. HCCEPose frame 000003 shows nine saved candidates; select an object to highlight its pose. This frame has no ground-truth poses.
Reconstructed mesh for cross-scene pose estimation
Scene A image → reconstructed mesh → 2D detection in scene B → WAPR 6D pose. Blue highlights the highest-scoring prediction; gray marks the lower-scoring results.
| 2D detection | 6D pose and reconstructed mesh |
|---|---|
![]() |
![]() |
Source: the first YCBInEOAT mustard0 frame. Target: YCB-V scene 50, frame 1130. Target annotations are excluded from prediction. The reconstructed source mesh is used for pose estimation in the target frame; see the linked experiment for its configuration.
Cross-scene experiment and details
Robot simulation: table and wrist cameras
Table and wrist camera pose tracking in robot simulation
▶ Play the two-camera simulation · Website player and experiment details
Top: table camera on the left, wrist camera on the right. Bottom: their respective fields of view. Red contours show estimated poses; green shows simulator ground truth.
A saved temporal-tracking experiment; the wrist view can lose the target when visibility is limited. Blue side-grasp lines are visualizations, not new control commands at every frame.
Method overview
Region → 12 hypotheses → WAPR × 3 → SAPR × 2 → WBPS → 6D pose
WBPS selects the pose within each instance’s group; its public score is (100 - max(between_group)) / 200 over that complete group.
This is the current default estimation recipe, distinct from the five-update rotation comparison above. WAPR is trained with initial rotation perturbations up to 90°; SAPR handles smaller corrections, and WBPS ranks the candidates. Rendering and inference batch supplied instances while keeping each object's scoring group independent. Settings live in wapr/recipe.py.
A box can seed translation without segmentation. For seven-channel WAPR, the missing observed mask is zero; box depth and the network cue are separate. Choosing mask or box input.
The four SA6D-trained checkpoints are masked WAPR, unmasked WAPR, SAPR, and WBPS. Optional reconstruction examples prepare a mesh when CAD is unavailable; segmentation, mesh generation and robot planning are separate components, not outputs of the WAPR refiner itself.
Generated-mesh alignment defaults to gray geometry for WAPR/SAPR refinement and WBPS scoring. DINOv2 then ranks the retained refined views using the original mesh appearance; that appearance is also preserved for display. Reconstruction recipe.
2025 BOP/BPC awards and system results · Backend measurements and timing scope. See each comparison for its device, input configuration and timing scope.
Get started
Use Python 3.10 or newer on Linux or Windows with an NVIDIA GPU and CUDA-enabled PyTorch. OpenGL rendering requires the CUDA toolkit and a C++ compiler (MSVC on Windows). Install Git and make sure git --version works before preparing detection.
python -m pip install -U wapr
python -m wapr.bootstrap --feature core dinov2 det2d sam2
python -c "from wapr.bootstrap import export_examples; export_examples('wapr_examples')"
python wapr_examples/02_one_category_one_instance.py
This setup prepares 2D detection, segmentation and 6D pose estimation, including TensorRT and OpenGL. It retains your existing PyTorch installation and asks for confirmation before replacing other installed dependencies. NVIDIA CUDA inference requires Linux or Windows.
Add features when needed:
- Reconstruction: see the reconstruction setup for SAM3D and RoMa. Language-guided examples also use Qwen and UniPose9D.
- Robotics: follow the robot simulation setup.
- Tracking with an existing CAD model: use the standard pose and tracking examples; reconstruction is optional.
The first setup downloads model resources and builds GPU components. Set WAPR_CACHE_DIR to an absolute path on a drive with sufficient space. Weights, environments and shared samples are stored in cache/weights/, cache/environments/ and cache/samples/; visualizations are saved separately in outputs/<number_task>/. Subsequent runs reuse the cache. See the installation guide for requirements and resource locations.
Read the first-pose walkthrough alongside this script; example 01 is not a prerequisite. The example's pose overlay is enabled by default; use visualize in wapr/recipe.py to enable or disable it. Example 02 uses a supplied annotated visible mask, not automatic 2D detection.
| Your task | Start here |
|---|---|
| Pose from a supplied region | 02 · One object |
| Find objects, then estimate their poses | 04 · Known counts / 05 · Unknown counts |
| Use your own RGB-D and CADs | 06 · Custom scene |
| Track one or several objects | 08 · Single instance / 09 · TACO |
| Reconstruct a mesh and reuse it | 11 · Reconstruction / 12 · Cross-scene pose |
All 17 examples · Input conventions · BOP export · Extension setup
Practical scope: unseen objects still require a metric mesh at inference. Depth, mesh scale and region quality affect alignment; symmetry and occlusion can leave ambiguity. Scores are ranking signals, not calibrated success probabilities.
See the Docs website for complete usage and input conventions.
Windows supports pose and detection examples 01–10. Examples 11–17 and the supplied SAM3D, robot and RoMa setups require Linux. Reconstruction and robot environments are prepared separately on request. Explicit requests for these unsupported setups stop with a platform message. Preparing GroundingDINO source requires the Git command-line tool on PATH; install Git and verify git --version before preparation.
Citation and license
@InProceedings{wang2026wapr,
author = {Wang, Yulin and Hu, Mengting and Li, Hongli and Zhou, Jianghao and Luo, Chen},
title = {WAPR: A Foundation Model for Wide-Angle Refinement in Unseen Object Pose Estimation},
booktitle = {ECCV},
year = {2026},
pages = {221-239},
volume = {17016}
}
Authorship and rights · [email protected].
Code: LGPL-2.1-only. Four first-party checkpoints: CC BY-ND 4.0, allowing commercial use with its attribution and redistribution conditions; modified weights may not be publicly redistributed under this license. Third-party components retain their own terms: notices · acknowledgments.
Enterprise versions and customization: [email protected].
Ähnliche Projekte entdecken
tensorflow/tensorflow
Ein Open-Source-Framework für maschinelles Lernen für alle
201,592 Sternehuggingface/transformers
🤗 Transformers: das Framework zur Modelldefinition für State-of-the-Art-Modelle des maschinellen Lernens in Text, Vision, Audio und multimodal, für Inferenz und Training.
168,957 SterneAUTOMATIC1111/stable-diffusion-webui
Web-UI für Stable Diffusion
165,309 SterneComfy-Org/ComfyUI
Die leistungsstärkste und modularste GUI, API und das Backend für Diffusionsmodelle mit einer Oberfläche aus Graphen und Knoten. Die schnellste lokale Inferenz-Engine der Welt.
146,742 Sterne











