Mapas del rostro

Un mapa dice qué es cada pieza. El otro, qué forman las piezas juntas.

Son dos documentos distintos, y confundirlos es el error más común sobre la lectura facial. El primero es el diccionario del movimiento del rostro; el segundo, la gramática que combina esos movimientos. Aquí están uno junto al otro — y junto a cada uno está lo que el motor de FROID calcula de verdad a partir de él.

Aviso de uso clínico: FROID no realiza diagnóstico automatizado y no clasifica emociones. Lo que produce la lectura facial es una señal de apoyo a la escucha clínica, para ser interpretada por el profesional responsable junto al contexto de la sesión — nunca de forma aislada.

La distinción

Dos mapas, dos preguntas distintas

Ambos muestran el mismo rostro y usan los mismos números — AU1, AU4, AU12. Pero responden preguntas que no se sustituyen entre sí.

Mapa 1 · Vocabulario

Mapa completo de las unidades de acción del rostro (FACS)

Pregunta que responde: ¿qué es, por separado, cada movimiento posible del rostro?

Cada Unidad de Acción (AU) es un músculo o grupo muscular con nombre, con un movimiento observable y nada más. AU4 es el descenso de las cejas (corrugador, prócer). AU12 es la tracción de las comisuras de los labios hacia arriba (cigomático mayor). Son entradas de diccionario: ninguna de ellas significa una emoción, del mismo modo que ninguna palabra aislada es una frase.

Ver el mapa y las 16 AU que FROID calcula →

Mapa 2 · Composición

Mapa de las expresiones faciales y matrices emocionales

Pregunta que responde: ¿qué combinaciones de AU asocia la literatura del FACS a cada emoción y a cada disonancia?

Aquí las entradas del diccionario se vuelven frases. AU6+AU12 es la sonrisa de Duchenne; AU23+AU24 es la compresión labial de la hostilidad contenida; AU1+AU2+AU5 es la firma de sobresalto del miedo. Es la gramática — y de ella sale cualquier lectura, porque la combinación carga un sentido que la pieza sola no carga.

Ver el mapa y las 6 combinaciones que FROID cruza →

Cómo encajan los dos dentro de FROID. Actúan en momentos distintos del mismo segundo. Primero el rostro se convierte en intensidades de AU — es la etapa del vocabulario. Después el motor busca, entre las AU activas, las combinaciones que sabe leer — es la etapa de la composición. Las dos etapas juntas producen, como máximo, una marca de disonancia en una de las 12 Zonas de Percepción. En ningún punto FROID emite una etiqueta de emoción — ver Lo que estos mapas no afirman.

Mapa 1 · El explicativo unitario

Qué significa cada unidad de acción

El Facial Action Coding System, de Paul Ekman y Wallace Friesen, descompone el movimiento facial en unidades anatómicas. El mapa siguiente es el catálogo completo de esas unidades — incluidas las que FROID no calcula. Haga clic para ampliar.

Mapa completo de las unidades de acción del rostro (FACS): de AU1 a AU28 localizadas sobre un rostro, con el músculo responsable y la descripción del movimiento de cada una, agrupadas por región anatómica.
Mapa completo de las unidades de acción del rostro (FACS). Catálogo de referencia del movimiento facial — 27 Unidades de Acción y las regiones anatómicas correspondientes. Es un documento del FACS, no una pantalla del producto.

Cómo una AU se convierte en número dentro de FROID

El navegador del paciente ejecuta el modelo MediaPipe FaceLandmarker (ARKit) sobre el vídeo local y produce 52 coeficientes de blendshape — valores de 0 a 1 que describen deformaciones del rostro. Solo esos 52 números viajan: ninguna imagen, ningún fotograma de vídeo y ningún punto facial sale del equipo de quien atiende.

En el servidor, cada Unidad de Acción es la media simple de los blendshapes que la componen. Cuando la AU tiene par izquierdo y derecho, ambos lados se promedian para dar la intensidad bilateral. Una AU se considera activa a partir de 0,30.

Las 16 Unidades de Acción que FROID calcula, y los blendshapes que componen cada una.
AUNombre FACSMúsculoMovimientoBlendshapes que la componen
AU1Inner Brow RaiserFrontalis (pars medialis)Elevación de la parte interna de las cejasbrowInnerUp
AU2Outer Brow RaiserFrontalis (pars lateralis)Elevación de la parte externa de las cejasbrowOuterUpLeft · browOuterUpRight
AU4Brow LowererCorrugator, Depressor supercilii, ProcerusDescenso y aproximación de las cejasbrowDownLeft · browDownRight
AU5Upper Lid RaiserLevator palpebrae superiorisElevación del párpado superior, con exposición de la escleróticaeyeWideLeft · eyeWideRight
AU6Cheek RaiserOrbicularis oculi (pars orbitalis)Elevación de las mejillas y patas de gallocheekSquintLeft · cheekSquintRight
AU7Lid TightenerOrbicularis oculi (pars palpebralis)Tensión de los párpadoseyeSquintLeft · eyeSquintRight
AU9Nose WrinklerLevator labii sup. alaeque nasiArrugamiento de la nariz y elevación de las alas nasalesnoseSneerLeft · noseSneerRight
AU10Upper Lip RaiserLevator labii superiorisElevación del labio superiormouthUpperUpLeft · mouthUpperUpRight
AU12Lip Corner PullerZygomaticus majorTracción de las comisuras de los labios hacia arriba (sonrisa)mouthSmileLeft · mouthSmileRight
AU14DimplerBuccinatorComisuras de la boca hacia dentro (hoyuelos)mouthDimpleLeft · mouthDimpleRight
AU15Lip Corner DepressorDepressor anguli orisDescenso de las comisuras de la bocamouthFrownLeft · mouthFrownRight
AU17Chin RaiserMentalisElevación de la piel del mentónmouthShrugLower · mouthShrugUpper
AU20Lip StretcherRisorius + PlatysmaEstiramiento horizontal de los labiosmouthStretchLeft · mouthStretchRight
AU23Lip TightenerOrbicularis orisEstrechamiento y tensión de los labiosmouthRollLower · mouthRollUpper
AU24Lip PressorOrbicularis orisCompresión de los labios entre símouthPressLeft · mouthPressRight
AU26Jaw DropRelajación del MasseterCaída de la mandíbulajawOpen
Donde el mapa va más allá del motor

El catálogo tiene 27 unidades. FROID calcula 16.

Las 11 restantes aparecen en el mapa y no se calculan: AU8, AU11, AU13, AU16, AU18, AU19, AU21, AU22, AU25, AU27 y AU28. Tampoco se calculan los Descriptores de Acción (AD) — dirección de la mirada, parpadeo, inclinación y rotación de la cabeza. El motivo es el mismo en todos los casos: el conjunto de 52 blendshapes de MediaPipe no expone un coeficiente que corresponda a esas unidades con fidelidad suficiente, y derivarlas por aproximación produciría número donde no hubo medida.

Cuatro de las 16 calculadas — AU9, AU17, AU20 y AU26 — se miden en cada fotograma y hoy no entran en ninguna regla de composición. Existen en el cálculo y aún no tienen lector. Queda registrado aquí porque la alternativa sería que esta página sugiriera que toda AU calculada participa de la lectura, y no participa.

Mapa 2 · El explicativo de la composición

Cómo se combinan las unidades — y qué combinaciones cruza FROID

Una AU aislada no sostiene ninguna lectura. Lo que la sostiene es la coocurrencia: qué unidades aparecen juntas, con qué intensidad, y si aparecen en ambos lados del rostro o solo en uno. Haga clic para ampliar.

Mapa de las expresiones faciales y matrices emocionales: siete emociones universales con las combinaciones de Unidades de Acción que las componen, y cuatro patrones de disonancia subconsciente.
Mapa de las expresiones faciales y matrices emocionales. Cuadro de referencia del FACS: las combinaciones de AU asociadas en la literatura a cada emoción universal y a patrones de disonancia. Es un cuadro de referencia, no la salida del motor — lo que FROID cruza hoy está en la tabla siguiente.

Qué cruza FROID durante la sesión

En cada lectura facial, el motor coteja las AU activas contra seis reglas de composición. Cada regla que se dispara marca disonancia facial en una de las 12 Zonas de Percepción y escribe, en la pantalla del profesional, qué AU la dispararon y qué describe ese patrón. Disonancia tiene aquí un sentido preciso: el rostro contradiciendo o enmascarando el afecto — la coocurrencia de unidades que no deberían estar juntas.

ZonaCombinación exigidaPatrón que FROID registra
Zona 3 AU15 y AU12 Tristeza enmascarada — descenso de las comisuras labiales bajo un esfuerzo de sonrisa: afecto negativo encubierto. Zona 3 — Tristeza vs. Paz Interior
Zona 6 AU14 activa con asimetría ≥ 0,25, o AU10 activa con sonrisa (AU12) asimétrica ≥ 0,25 Desprecio — expresión facial unilateral: distanciamiento afectivo enmascarado. Es la única lectura del motor que depende de que un lado del rostro difiera del otro. Zona 6 — Amor Condicional vs. Amor Incondicional
Zona 7 AU12 y (AU23 o AU24) Supresión de aversión — sonrisa social superpuesta a compresión labial involuntaria: el rostro enmascara la hostilidad. Zona 7 — Ira vs. Aceptación del Cambio
Zona 8 AU1 y AU2 y AU5 Miedo contenido — firma de cejas y párpados de sobresalto durante habla controlada. Zona 8 — Miedo y Sobrecarga vs. Responsabilización
Zona 9 AU23 y AU24 y expresividad global < 0,20 Supresión expresiva — labios presionados y tensos con rostro aplanado: retención de lo que se diría. Zona 9 — Expresión Emocional Suprimida vs. Autoexpresión Adecuada
Zona 12 AU4 y AU7 Conflicto interno — cejas contraídas con párpados tensos: incongruencia entre discurso y estado. Zona 12 — Creencias y Acciones Conflictivas vs. Congruentes

"Activa" significa intensidad ≥ 0,30. La expresividad global de la Zona 9 es la media de las intensidades de AU1, AU2, AU5, AU6, AU12 y AU15 — las AU emocionales. AU26 (caída de la mandíbula) queda deliberadamente excluida de esa media porque la conduce el habla, no la emoción: incluirla inflaba la expresividad durante el discurso y enmascaraba la contención justo cuando más importa.

Constantes del motor facial

AU_ACTIVE_THRESHOLD = 0.30 # intensidad mínima para "activa" AU_ASYMMETRY_THRESHOLD = 0.25 # |izquierda − derecha| para unilateral expresividad global = media(AU1, AU2, AU5, AU6, AU12, AU15)

Los dos umbrales son parámetros de producto FROID, elegidos como franja conservadora de presencia sobre la escala 0–1 de los blendshapes ARKit — no son constantes publicadas en la literatura del FACS. Trátelos como heurística de ingeniería calibrable.

Intensidad de la regla y desempate

La intensidad atribuida a una disonancia es el mínimo entre las AU que la componen (la más débil limita la evidencia); en la Zona 6, el máximo entre AU14 y AU10. Cuando dos reglas se postulan para la misma zona en el mismo fotograma, prevalece la de mayor intensidad — la zona guarda un solo patrón. La intensidad es interna: sirve para esa priorización y no se publica en el payload, que expone las AU activas, el texto del patrón y la procedencia.

Solo entra lo medido

facs_source = "real_facs" si hay AU facs_source = "sem_apuracao" si no hubo rostro medido

Sin blendshapes no hay AU, sin AU no hay disonancia facial, y los campos faciales salen nulos con la procedencia declarada. No existe modo simulado: el generador fue retirado el 03/09/2026, y la ausencia de medida nunca se convierte en número.

Implementación en froid-server/froid_facs.py (conversión y reglas) y froid-dashboard/src/lib/froid-face.ts (captura en el navegador).

La cadena completa

Del rostro a la lectura, sin etapa escondida

Siete pasos separan el rostro del paciente de una marca en el panel del profesional. Ninguno de ellos inventa un valor: donde no hubo medida, la cadena se detiene y declara que se detuvo.

1 · Captura

52 coeficientes, en el navegador

El modelo se ejecuta localmente sobre el vídeo del paciente y produce los blendshapes. Solo se envían los coeficientes — imagen y vídeo nunca salen del equipo.

2 · Vocabulario

52 blendshapes → 16 AU

Media simple por AU, lados izquierdo y derecho promediados, asimetría guardada aparte para AU12 y AU14.

3 · Presencia

Qué AU están activas

Intensidad ≥ 0,30. Por debajo, la AU existe como número y no cuenta como presente — el umbral está para descartar micro-movimiento involuntario.

4 · Composición

Las seis reglas

Las AU activas se cotejan contra las seis combinaciones. Cada disparo marca disonancia facial en una Zona de Percepción.

5 · Cruce con la voz

Multiplicador de 2,5

En una zona marcada, la desviación acústica de esa zona se multiplica por 2,5. Es aquí — y solo aquí — donde rostro y voz se encuentran: el rostro no genera lectura por sí solo, pondera la lectura vocal.

6 · Confirmación temporal

2 de los últimos 3 ciclos

Un pico de un solo ciclo no se convierte en registro. La disonancia solo se da por confirmada cuando se sostiene en 2 de los últimos 3 ciclos de análisis.

7 · Lo que llega a la pantalla. Para cada zona marcada, el profesional recibe las AU que dispararon la regla y la frase del patrón ("sonrisa social superpuesta a compresión labial involuntaria"), junto con la procedencia de la medida. El vector completo de las 16 intensidades de AU no se muestra en ninguna pantalla hoy — se calcula y viaja en el payload, pero ningún componente del panel lo renderiza. Decir lo contrario sería prometer una pantalla que no existe.

El multiplicador facial (M_fac), en la forma que corre en producción

desviacion_zona = (energia_vocal − baseline) / baseline M_fac = 2.5 si hay disonancia facial en la zona, si no 1.0 score_zona = desviacion_zona × M_fac

Forma binaria — no hay forma continua implementada. El valor 2,5 es un parámetro de producto FROID, no derivado de un estudio publicado.

Por qué la desviación vocal pura se guarda aparte

El motor de disonancia recibe la desviación sin M_fac. Sin esa separación, un único evento facial dispararía a la vez el marcador facial y el marcador de zona extrema — doble conteo de una sola señal, correlacionada por construcción, inflando la confianza de la alerta.

Cadencia de la captura

La lectura facial corre a cerca de 3 fotogramas por segundo por defecto (intervalo mínimo de 150 ms). Es una cadencia elegida para no competir con el procesamiento de audio ni con la videollamada, y delimita lo que es observable: ver Lo que estos mapas no afirman.

Multiplicador en froid-server/froid_core.py → calculate_multimodal_deviation(). Confirmación temporal en froid-server/froid_dissonance.py. El montaje del IDM y del IPM está en Tecnología, Etapa 5.

La frontera

Lo que estos mapas no afirman

Un mapa de referencia muestra lo que el FACS describe. No es un inventario de lo que este software hace. Donde ambos divergen, vale lo que está aquí.

No hace

No clasifica emoción

El mapa de la composición lista siete emociones universales. FROID no emite ninguna de ellas como resultado. No existe una salida "felicidad", "sorpresa" o "asco" en ningún lugar del producto. Lo que sale es una marca de disonancia por zona, con las AU que la produjeron. Las matrices de felicidad, sorpresa y asco están en el cuadro como referencia del FACS y no tienen regla correspondiente en el motor.

No hace

No modela onset, apex y offset

Las tres fases temporales de una expresión — inicio, pico y término — son metodología madura en visión por computadora, y FROID no las implementa. No hay modelo de Markov, no hay confianza de apex, no hay duración de AU. Cada fotograma se evalúa aisladamente; la única memoria temporal del sistema es la confirmación de disonancia en 2 de los últimos 3 ciclos.

No hace

No detecta microexpresiones

Una microexpresión dura entre 1/25 y 1/5 de segundo. La captura facial de FROID corre a cerca de 3 fotogramas por segundo — la mayor parte de una microexpresión cabe entre dos fotogramas. La cadencia es una elección de ingeniería, y su consecuencia es esta: la microexpresión no es objeto de medida de este sistema.

No hace

No detecta mentira

La disonancia es la coocurrencia de unidades faciales que rara vez van juntas, cruzada con la desviación acústica de la misma zona. Es una señal para que el profesional mire, no un veredicto sobre la sinceridad. La hipótesis clásica de la sonrisa de Duchenne (AU6 ausente = sonrisa forzada) está contestada por investigación reciente — ver Ciencia, Pilar 4.

Lectura honesta del cuadro

Las cuatro disonancias del mapa, y lo que existe en el motor

El mapa de la composición destaca cuatro patrones de disonancia subconsciente. Confrontados con las seis reglas implementadas:

  • Sonrisa falsa / falsa calma (AU12 sin AU6) — no implementado. El motor no comprueba la ausencia de AU6.
  • Ira contenida (AU23 + AU24) — implementado en la Zona 9, con una condición más que el mapa no muestra: el rostro debe estar globalmente aplanado (expresividad < 0,20).
  • Tristeza enmascarada (AU1 + AU4 + AU15) — implementado en la Zona 3 con composición distinta: AU15 con AU12, es decir, comisuras caídas bajo esfuerzo de sonrisa.
  • Riesgo clínico absoluto (AU15 + AU20) — no implementado. AU20 se calcula y ninguna regla la lee.

La divergencia se publica en vez de corregirse en la figura porque el cuadro es un documento del FACS, con valor propio como referencia. Lo que no puede ocurrir es que el lector salga de aquí creyendo que cada casilla del mapa corresponde a un comportamiento del software.

Sin rostro no hay lectura facial — y se dice. Si la cámara está apagada, el modelo no carga o el navegador no lo soporta, la captura no se inicia y el sistema declara sin apuración: los campos faciales quedan nulos, y la pantalla y el informe dicen que no hubo medida. La ausencia de medida nunca se convierte en cero, y el cero nunca se presenta como medida. Ver Ética y Límites y Seguridad.
Ver el motor completo en Tecnología Glosario de términos