The demo renders a sampled SMPL-X motion inside the corresponding ScanNet scene, highlights the target object, exposes all six surface-contact records, and compares Grounder-authoritative with geometry-authoritative Qwen answers. It uses the immutable M25 cached predictions and does not rerun or tune a model. Composite HIS-GPT identifiers are resolved through the verified M6 SMPL-X mapping manifest before loading the licensed HUMANISE motion file.
The presentation is bilingual: controls, metrics, evidence-table fields, contact states and explanations are shown in English and Chinese. The original English QA and structured JSON remain visible for benchmark reproducibility.
The viewport now keeps two time scopes visually separate:
- Current frame recomputes exact point-to-triangle surface distance for all six SMPL-X regions and updates as the frame slider moves.
- Sequence level preserves the frozen benchmark mask, minimum/final distances and sampled-frame contact fraction used by the reported results.
The frozen sequence rule (distance <= 5 cm and sampled-frame fraction
>= 10%) is displayed explicitly. It is a benchmark definition and does not
claim that the selected frame is touching or that contact is continuous across
the entire motion.
The interface therefore translates the benchmark wording persistent contact
as sequence-level thresholded contact / 序列级阈值接触 instead of presenting
it as uninterrupted contact. The original English question remains visible for
dataset traceability.
For the 24 frames displayed by the console, the demo now computes and shows:
- an exact six-row contact timeline (
distance <= 5 cm); - contact-frame count for every body region;
- first and last contacting source frame;
- longest contiguous run in displayed sampled frames;
- number of separate contact segments.
Run length is deliberately reported in sampled frames, not seconds, because source FPS is not part of the frozen demo contract. The timing analysis is a display/audit aid and does not replace the frozen sequence label used by the reported benchmark.
Each sample and selected frame also produces a downloadable JSON audit under
artifacts/demo_m25_cache/audits/. It records the operational definition,
current/geometry/Grounder/selected masks, per-region measurements, temporal
runs, Qwen structured output and explicit limitations. It contains no raw
ScanNet mesh, SMPL-X vertices or licensed motion parameters.
The Qwen panel states its responsibility directly: Qwen serializes the selected evidence as JSON and provides the cached English explanation; it does not measure surface distance. Geometry and Grounder remain separately visible.
cd /root/autodl-tmp/physhis
.venv/bin/pip install -e '.[demo]'
.venv/bin/python demo/app.py --device cuda --port 7860Open the AutoDL port proxy for 7860. The first access to a sample reconstructs
24 SMPL-X frames and writes a compressed render cache under
artifacts/demo_m25_cache. It also computes and caches exact six-part surface
distances for the 24 displayed frames; subsequent frame changes and visits reuse
that evidence cache.
The top-strip M26 values are scene-cross-validation development metrics. The sealed M25 value remains visible separately so the interface does not confuse a pipeline-consistency result with a one-shot final learned-Grounder result.