Spaces:
Running
Running
File size: 5,766 Bytes
7dbd0e8 c3bf349 7dbd0e8 cf0a8d5 7dbd0e8 cf0a8d5 c3bf349 7dbd0e8 c3bf349 cf0a8d5 c3bf349 cf0a8d5 c3bf349 cf0a8d5 c3bf349 cf0a8d5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | ---
title: HandNet Dataset Visualization
emoji: 🔬
colorFrom: blue
colorTo: gray
sdk: static
app_file: index.html
pinned: false
license: mit
short_description: Depth, sensor annotations, and oracle DeROT.
---
# HandNet Dataset Visualization & Supplementary Material
Interactive supplementary material for [HandNet](https://huggingface.co/datasets/twerdster/HandNet), based on Aaron Wetzler, Ron Slossberg, and Ron Kimmel's BMVC 2015 paper, [*Rule of Thumb: Deep Derotation for Improved Fingertip Detection*](https://arxiv.org/abs/1507.05726), and the [original HandNet code](https://github.com/twerdster/HandNet).
This static application runs entirely in the browser. It contains real samples extracted from the original MAT archives, not generated examples. No model inference runs in this Space.
## Explore
- Orbit a calibrated depth point cloud, with six measured magnetic sensor locations.
- Inspect depth, infrared, original sparse part labels, and available original heatmap channels.
- Inspect recorded camera-frame XYZ millimetres and source annotation pixels for all six sensors in a measurement table.
- Inspect the original archive member, session, indices, source MAT SHA-256, and camera calibration.
- Compare paired original and perturbed/ground-truth-derotated frames.
- Rotate a sample geometrically or apply an oracle in-plane normalization from measured palm orientation.
- Download all seven original archives from the linked dataset repository.
Keyboard shortcuts: **← / →** previous/next sample, **Space** play/pause, **R** reset the 3D camera. Drag the cloud to orbit and scroll to zoom.
## Academic presentation
The interface presents the paper title, authors, affiliation and venue, an overview, numbered interactive figures, methods, calibration, archive/split tables, provenance, and a copyable citation. Its neutral typography and restrained white/navy palette are intended for research and teaching.
Sample count and selectors come from `data/samples.json`; the same application supports the full 96-frame preview or a smaller stored subset without changing its code. All runtime scripts and data are relative local assets. External paper, code, dataset and license links open only on user navigation.
For a same-origin page embed, use `index.html?embed=1`. This presents the complete dataset visualization, measurement/provenance panels, and calibration details while hiding the duplicate publication header, methods, downloads and footer. The embedded child sends `{type: "handnet-explorer-height", height}` to its same-origin parent when its intrinsic content height changes. Parent listeners should verify event origin and source, set the exact reported height without adding padding, and ignore insignificant differences. The app does not use a viewport-derived minimum height in embedded mode.
## Scientific conventions
The source camera frame is **+X right, +Y down, +Z away**, in millimetres. Point clouds use the calibrated reconstruction `X=(u-cx)Z/fx`, `Y=(v-cy)Z/fy` with zero-based pixel indices and intrinsics from the original `Parameters.mat`. Rendering flips Y and Z together so the presentation is upright while preserving handedness. Sensor readouts retain source camera coordinates.
Depth points are a display subset: foreground `segmap > 0`, nonzero depth, every second pixel along each image axis. Six tracked locations are five fingertips and the back of the palm. No intermediate joints or inferred bones are fabricated. The displayed coordinate triads use the measured sensor orientation matrices.
Two-dimensional markers use the source annotation heatmap peaks. These can differ slightly from the geometric projection of the measured sensor centers, especially in transformed archives. The 3D sensor positions use the measured centers. Depth color and IR contrast are normalized per frame for visibility; values and preprocessing are recorded in `data/samples.json`.
The ground-truth derotation control is a clean JavaScript reimplementation of the geometric convention described by the paper and original `derotate.m`; it uses the actual measured palm orientation. It is an oracle visualization, **not a prediction from the paper's trained neural network**. The slider rotates the actual geometry and image in-plane; it does not create a new recorded capture.
The paper reports 212,928 unique poses. The released standard archives contain 214,971 MAT frames: 202,198 training, 10,000 test, and 2,773 validation. This Space reports the released counts without claiming to reconcile this historical discrepancy.
## Reproduce the Space locally
Serve this directory as a static website, for example with `python3 -m http.server 8000`, then open `http://localhost:8000`. The app vendors Three.js 0.172.0 and OrbitControls, so no CDN or external JavaScript service is needed at runtime.
The manifest records archive member names, source session/frame indices, and MAT SHA-256 hashes. The dataset repository preserves the original archive bytes and publishes checksums.
## Licensing
The newly written explorer HTML, CSS, and JavaScript are MIT licensed; see [LICENSE](LICENSE). Three.js and OrbitControls are MIT licensed, with their upstream notice in `vendor/THREE-LICENSE.txt`. The included original dataset samples and linked full dataset are **CC BY 4.0**; see the dataset repository for its dataset card and license. The historical MATLAB code is linked for provenance and is not relicensed or included as explorer source.
## Citation
```bibtex
@inproceedings{wetzler2015rule,
title={Rule of Thumb: Deep Derotation for Improved Fingertip Detection},
author={Wetzler, Aaron and Slossberg, Ron and Kimmel, Ron},
booktitle={British Machine Vision Conference},
year={2015}
}
```
|