Add archive/v1/DEPRECATED.md tombstone and a loud deprecation notice atop archive/v1/README.md: DensePoseHead is architecture-only (random kaiming_normal_ init, zero committed checkpoints under archive/v1/), superseded by the v2/ workspace and the wifi-densepose 2.x / ruview pip wheel. Add a 'Model weights: what's real, what's not' three-tier table to README.md and docs/user-guide.md distinguishing real+validated (presence 82.3%, MM-Fi pose 82.69% torso-PCK@20, count_v1), real-but-weak (committed pose_v1 at PCK@20=3.0%, runtime confidence=0 stub, below ADR-079 target), and architecture-only (archive/v1). Caveat the live single-ESP32 17-keypoint cog advertisement and answer #509 SISO / #1125. Refs #509, #1125
3.0 KiB
⚠️ DEPRECATED — archive/v1 is unmaintained and superseded
Do not build new work on this tree. archive/v1 is the original pure-Python
implementation of WiFi-DensePose. It is kept only as a research archive
(per ADR-117 §1.3) and
as the host of one still-live deterministic proof (see "What still lives here" below).
Everything else in this directory is frozen and receives no fixes, reviews, or support.
Governed by ADR-187.
The one honest fact that trips people up
archive/v1/src/models/densepose_head.py defines a DensePoseHead neural-network
architecture (segmentation + UV-regression heads). It ships no trained weights. Its
_initialize_weights() uses kaiming_normal_ random initialization only — there is
no checkpoint-loading path in the class, and there are zero .pth / .onnx /
.safetensors / .pt / .ckpt / .bin files anywhere under archive/v1/.
So: the architecture is defined, but it is architecture-only. Running it produces random output, not real pose accuracy. This matches the technical review in #509 — for this tree, the "network defined, no pre-trained weights" observation is TRUE.
Real, trained, benchmarked weights do exist — just not here. They live in the
maintained v2/ workspace and on Hugging Face (see next section).
Use the maintained path instead
| You want… | Go here |
|---|---|
| The maintained implementation | The v2/ Rust workspace (repo root ../../v2/) |
| A pip install | pip install ruview or pip install wifi-densepose (2.x) — the compiled PyO3 wheel (ADR-117). The wifi-densepose 1.x line is tombstoned on PyPI: 1.99.0 raises an ImportError telling you to migrate. |
| Real trained presence/encoder weights | ruvnet/wifi-densepose-pretrained — 82.3% held-out temporal-triplet accuracy |
| A real 17-keypoint pose model | ruvnet/wifi-densepose-mmfi-pose — 82.69% torso-PCK@20 on MM-Fi random_split |
| The honest three-tier weights picture | The "Model weights: what's real, what's not" table in the root README.md and docs/user-guide.md |
What still lives here (intentionally)
Only one thing under archive/v1/ is still a live, cited signal: the deterministic
reference-pipeline proof —
python archive/v1/data/proof/verify.py # must print VERDICT: PASS
This is the ADR-028 "Trust Kill Switch": it feeds a fixed reference signal through the signal-processing pipeline and checks the SHA-256 of the output against a published hash. It is a legitimate reproducibility witness and is not deprecated. Everything else in this tree is.