"Kasumi es bella porque es fuerte, Kasumi es fuerte porque es bella."— Tomonobu Itagaki, creador de Dead or Alive · Principio fundacional del mod
Simetría: detectable mediante landmark facial (dlib 68-point, MediaPipe 468-point). Calcular distancias euclídeas entre pares simétricos y derivar un índice de asimetría normalizado (0–1, donde 0 = asimetría perfecta). La CNN puede aprender directamente este subtensor si se entrena con ejemplos anotados.
Proporción áurea: verificable con bounding boxes de regiones faciales. Ratio entre anchura intercantal vs anchura nasal vs anchura oral. Desviación respecto a φ = señal de entrada válida. Considera incluirlo como feature engineered junto a los embeddings de la CNN.
WHR: requiere pose estimation para cuerpo completo (MediaPipe Pose o similar). No inferible desde crop facial.
Grace desde vídeo: OpenPose / MediaPipe Pose extraen keypoints por frame. La suavidad de trayectorias (jerk mínimo — teoría de Hogan 1984) es computable: derivada tercera de posición en articulaciones clave. Alta suavidad = movimiento grácil = Grace alto. Esto es un feature temporal — requiere secuencia de frames, no imagen estática.
Porte desde imagen estática: inferible parcialmente desde pose estimation en imagen única. Ángulo de columna, posición de hombros respecto a cadera, elevación de barbilla. Combinar con face landmarks para leer expresión postural.
Propuesta de arquitectura dual: (1) CNN backbone (ResNet-50 / EfficientNet) para embedding facial global → captura gestalt y señales de bajo nivel. (2) Branch paralelo de features explícitas: bounding boxes de pómulos, mandíbula, labios, cejas extraídos con face parser (BiSeNet / FaceXZoo) → produce vector morfopsicológico explícito.
Fusión: Late fusion mediante MLP sobre la concatenación de ambos vectores. Esto permite comparar qué explica más varianza en el score: el embedding global de la CNN o las features morfológicas explícitas. También facilita interpretabilidad — puedes auditar qué rasgos están influyendo en el score.
Anotación de training data: si entrenas con labels humanos, considera recoger ratings por dimensión (ojos, pómulos, labios...) además del score global. Permitirá supervisar cada rama del modelo independientemente.