Vultus

contract v3 · zip-8 · FLAME 5023

Dos caras.
Un espacio canónico.

Vultus normaliza dos retratos a UV 512 invariante a pose y expresión para apoyo visual forense. Sin identificación biométrica. Sin persistencia: todo se olvida en 60 s.

Wire v2 · hitos 0.40 / 0.75 / 0.95 / 1.0 ·GET /health → contract_version 3

Intake — 2 fotos JPG/PNG ≤ 8 MiB
Ver estudio ↓

Fotos demo: Pete Souza · A dominio público · B CC-BY 3.0

UV 512 × 512Mesh 5023 verts · 9976 trisPBR piel + ojosNo heatmap · No slider opacidad · Renders frontales 512
Método

Del retrato al canon, sin atajos.

Cada cara deforma el template FLAME con identidad foto-derivada. Expresión neutra fija. La comparación ocurre en UV, no en píxeles de pantalla.

01 — FIT

Landmarks 478 → DECA

MediaPipe + fit determinista ×2. 253 coefs + cámara 3×4. Deadline 10 s.

Ver etapa →
02 — TEXTURE

Completion foto-derivada

Cada texel deriva de la foto. Cero sentinel magenta, evidence ≥ 0.99.

Ver UV →
03 — ASSEMBLE

zip-8 canónico v3

uv_a/b · mesh_a/b · pbr_a/b · render_a/b en orden. Sin heatmap.

Ver entrega →
ESTUDIO BLANCO — PRODUCTO REAL

El visor es el producto, no una ilustración.

Dos caras PBR en paralelo bajo las mismas luces de estudio. Fondo, sondas y piel provienen del rig real.

Meshes A / B — giro lento frontal

GLB conserva SkinPBR + EyePBR embebidos. Fallback procedural si llega sin material.

CARA A mesh_a.glb
CARA B mesh_b.glb

visor 3D listo (neutro, sin resultado)

sin jobstateless

sin job — sube A + B y pulsa Comparar.

queued → fit → texture → assemble → done0%

Espacio canónico

Donde ocurre la comparación.

UV 512 × 512 × 3 · 786 432 bytes exactos. Piel total completada, ojos separados en EyePBR.

UV A canónico

Albedo con piel total · frontal normalizado

uv_a.png

pendiente de resultado

UV B canónico

Mismo atlas, misma pose neutra

uv_b.png

pendiente de resultado

Apoyo visual forense. No identificación.

La piel completada alucina plausibilidad, no es medición (ADR-008). 3/4 degrada por diseño. Incluye disclaimer + disclosure en cada entrega. El zip vive 60 s en servidor, para siempre en tu memoria local.

Ver último resultadosin resultado aún