Mapas da face

Um mapa diz o que cada peça é. O outro, o que as peças formam juntas.

São dois documentos diferentes, e confundi-los é o erro mais comum sobre leitura facial. O primeiro é o dicionário do movimento da face; o segundo, a gramática que combina esses movimentos. Nesta página os dois estão lado a lado — e ao lado de cada um está o que o motor do FROID de fato calcula a partir dele.

Aviso de uso clínico: o FROID não realiza diagnóstico automatizado e não classifica emoções. O que a leitura facial produz é um sinal de apoio à escuta clínica, a ser interpretado pelo profissional responsável junto ao contexto da sessão — nunca isoladamente.

A distinção

Dois mapas, duas perguntas diferentes

Os dois mostram o mesmo rosto e usam os mesmos números — AU1, AU4, AU12. Mas respondem a perguntas que não se substituem.

Mapa 1 · Vocabulário

Mapa completo das unidades de ação da face (FACS)

Pergunta que responde: o que é, isoladamente, cada movimento possível da face?

Cada Unidade de Ação (AU) é um músculo ou grupo muscular nomeado, com um movimento observável e nada além disso. AU4 é o abaixamento das sobrancelhas (corrugador, prócero). AU12 é a tração dos cantos dos lábios para cima (zigomático maior). São entradas de dicionário: nenhuma delas significa uma emoção, do mesmo modo que nenhuma palavra isolada é uma frase.

Ver o mapa e as 16 AUs que o FROID calcula →

Mapa 2 · Composição

Mapa das expressões faciais e matrizes emocionais

Pergunta que responde: quais combinações de AUs a literatura do FACS associa a cada emoção e a cada dissonância?

Aqui as entradas do dicionário viram frases. AU6+AU12 é o sorriso de Duchenne; AU23+AU24 é a compressão labial da hostilidade contida; AU1+AU2+AU5 é a assinatura de sobressalto do medo. É a gramática — e é dela que sai qualquer leitura, porque a combinação carrega sentido que a peça sozinha não carrega.

Ver o mapa e as 6 combinações que o FROID cruza →

Como os dois se encaixam no FROID. Eles agem em momentos diferentes do mesmo segundo. Primeiro o rosto é convertido em intensidades de AU — é a etapa do vocabulário. Depois o motor procura, entre as AUs ativas, as combinações que ele sabe ler — é a etapa da composição. As duas etapas juntas produzem, no máximo, uma marca de dissonância numa das 12 Zonas de Percepção. Em nenhum ponto o FROID emite um rótulo de emoção — ver O que estes mapas não afirmam.

Mapa 1 · O explicativo unitário

O que cada unidade de ação significa

O Facial Action Coding System, de Paul Ekman e Wallace Friesen, decompõe o movimento facial em unidades anatômicas. O mapa abaixo é o catálogo completo dessas unidades — inclusive as que o FROID não calcula. Clique para ampliar.

Mapa completo das unidades de ação da face (FACS): AU1 a AU28 localizadas sobre um rosto, com o músculo responsável e a descrição do movimento de cada uma, agrupadas por região anatômica.
Mapa completo das unidades de ação da face (FACS). Catálogo de referência do movimento facial — 27 Unidades de Ação e as regiões anatômicas correspondentes. É um documento do FACS, não uma tela do produto.

Como uma AU vira número dentro do FROID

O navegador do paciente executa o modelo MediaPipe FaceLandmarker (ARKit) sobre o vídeo local e produz 52 coeficientes de blendshape — valores de 0 a 1 que descrevem deformações da face. Só esses 52 números viajam: nenhuma imagem, nenhum quadro de vídeo e nenhum ponto facial sai do equipamento de quem atende.

No servidor, cada Unidade de Ação é a média simples dos blendshapes que a compõem. Quando a AU tem par esquerdo e direito, os dois lados são promediados para dar a intensidade bilateral. Uma AU é considerada ativa a partir de 0,30.

As 16 Unidades de Ação que o FROID calcula, e os blendshapes que compõem cada uma.
AUNome FACSMúsculoMovimentoBlendshapes que a compõem
AU1Inner Brow RaiserFrontalis (pars medialis)Elevação da parte interna das sobrancelhasbrowInnerUp
AU2Outer Brow RaiserFrontalis (pars lateralis)Elevação da parte externa das sobrancelhasbrowOuterUpLeft · browOuterUpRight
AU4Brow LowererCorrugator, Depressor supercilii, ProcerusAbaixamento e aproximação das sobrancelhasbrowDownLeft · browDownRight
AU5Upper Lid RaiserLevator palpebrae superiorisElevação da pálpebra superior, com exposição da escleraeyeWideLeft · eyeWideRight
AU6Cheek RaiserOrbicularis oculi (pars orbitalis)Elevação das bochechas e "pés de galinha"cheekSquintLeft · cheekSquintRight
AU7Lid TightenerOrbicularis oculi (pars palpebralis)Tensionamento das pálpebraseyeSquintLeft · eyeSquintRight
AU9Nose WrinklerLevator labii sup. alaeque nasiEnrugamento do nariz e elevação das asas nasaisnoseSneerLeft · noseSneerRight
AU10Upper Lip RaiserLevator labii superiorisElevação do lábio superiormouthUpperUpLeft · mouthUpperUpRight
AU12Lip Corner PullerZygomaticus majorTração dos cantos dos lábios para cima (sorriso)mouthSmileLeft · mouthSmileRight
AU14DimplerBuccinatorCantos da boca para dentro (covinhas)mouthDimpleLeft · mouthDimpleRight
AU15Lip Corner DepressorDepressor anguli orisDepressão dos cantos da bocamouthFrownLeft · mouthFrownRight
AU17Chin RaiserMentalisElevação da pele do queixomouthShrugLower · mouthShrugUpper
AU20Lip StretcherRisorius + PlatysmaEstiramento horizontal dos lábiosmouthStretchLeft · mouthStretchRight
AU23Lip TightenerOrbicularis orisEstreitamento e tensão dos lábiosmouthRollLower · mouthRollUpper
AU24Lip PressorOrbicularis orisCompressão dos lábios entre simouthPressLeft · mouthPressRight
AU26Jaw DropRelaxamento do MasseterQueda da mandíbulajawOpen
Onde o mapa vai além do motor

O catálogo tem 27 unidades. O FROID calcula 16.

As 11 restantes aparecem no mapa e não são calculadas: AU8, AU11, AU13, AU16, AU18, AU19, AU21, AU22, AU25, AU27 e AU28. Também não são calculados os Descritores de Ação (AD) — direção do olhar, piscada, inclinação e rotação da cabeça. O motivo é o mesmo em todos os casos: o conjunto de 52 blendshapes do MediaPipe não expõe um coeficiente que corresponda a essas unidades com fidelidade suficiente, e derivá-las por aproximação produziria número onde não houve medida.

Quatro das 16 calculadas — AU9, AU17, AU20 e AU26 — são medidas a cada quadro e hoje não entram em nenhuma regra de composição. Elas existem no cálculo e ainda não têm leitor. Está registrado aqui porque a alternativa seria a página sugerir que toda AU calculada participa da leitura, e ela não participa.

Mapa 2 · O explicativo da composição

Como as unidades se combinam — e quais combinações o FROID cruza

Uma AU isolada não sustenta leitura nenhuma. O que sustenta é a co-ocorrência: quais unidades aparecem juntas, com que intensidade, e se aparecem nos dois lados do rosto ou só num. Clique para ampliar.

Mapa das expressões faciais e matrizes emocionais: sete emoções universais com as combinações de Unidades de Ação que as compõem, e quatro padrões de dissonância subconsciente.
Mapa das expressões faciais e matrizes emocionais. Quadro de referência do FACS: as combinações de AUs associadas na literatura a cada emoção universal e a padrões de dissonância. É um quadro de referência, não a saída do motor — o que o FROID cruza hoje está na tabela abaixo.

O que o FROID cruza durante a sessão

A cada leitura facial, o motor confere as AUs ativas contra seis regras de composição. Cada regra que dispara marca dissonância facial numa das 12 Zonas de Percepção e escreve, na tela do profissional, quais AUs a dispararam e o que aquele padrão descreve. Dissonância aqui tem sentido preciso: o rosto contradizendo ou mascarando o afeto — a co-ocorrência de unidades que não deveriam estar juntas.

ZonaCombinação exigidaPadrão que o FROID registra
Zona 3 AU15 e AU12 Tristeza mascarada — depressão dos cantos labiais sob esforço de sorriso: afeto negativo encoberto. Zona 3 — Tristeza vs. Paz Interior
Zona 6 AU14 ativa com assimetria ≥ 0,25, ou AU10 ativa com sorriso (AU12) assimétrico ≥ 0,25 Desprezo — expressão facial unilateral: distanciamento afetivo mascarado. É a única leitura do motor que depende de um lado do rosto diferir do outro. Zona 6 — Amor Condicional vs. Amor Incondicional
Zona 7 AU12 e (AU23 ou AU24) Supressão de aversão — sorriso social sobreposto a compressão labial involuntária: o rosto mascara a hostilidade. Zona 7 — Raiva vs. Aceitação da Mudança
Zona 8 AU1 e AU2 e AU5 Medo contido — assinatura de sobrancelhas e pálpebras de sobressalto durante fala controlada. Zona 8 — Medo e Sobrecarga vs. Responsabilização
Zona 9 AU23 e AU24 e expressividade global < 0,20 Supressão expressiva — lábios pressionados e tensos com face aplainada: retenção do que seria dito. Zona 9 — Expressão Emocional Suprimida vs. Autoexpressão Adequada
Zona 12 AU4 e AU7 Conflito interno — sobrancelhas contraídas com pálpebras tensionadas: incongruência entre discurso e estado. Zona 12 — Crenças e Ações Conflitantes vs. Congruentes

"Ativa" significa intensidade ≥ 0,30. A expressividade global da Zona 9 é a média das intensidades de AU1, AU2, AU5, AU6, AU12 e AU15 — as AUs emocionais. AU26 (queda da mandíbula) é deliberadamente excluída dessa média porque é conduzida pela fala, não pela emoção: incluí-la inflava a expressividade durante o discurso e mascarava a contenção justamente quando ela mais importa.

Constantes do motor facial

AU_ACTIVE_THRESHOLD = 0.30 # intensidade mínima para "ativa" AU_ASYMMETRY_THRESHOLD = 0.25 # |esquerda − direita| para unilateral expressividade global = média(AU1, AU2, AU5, AU6, AU12, AU15)

Os dois limiares são parâmetros de produto FROID, escolhidos como faixa conservadora de presença sobre a escala 0–1 dos blendshapes ARKit — não são constantes publicadas na literatura do FACS. Trate-os como heurística de engenharia calibrável.

Intensidade da regra e desempate

A intensidade atribuída a uma dissonância é o mínimo entre as AUs que a compõem (a mais fraca limita a evidência); na Zona 6, o máximo entre AU14 e AU10. Quando duas regras candidatam a mesma zona no mesmo quadro, prevalece a de maior intensidade — a zona guarda um padrão só. A intensidade é interna: serve para essa priorização e não é publicada no payload, que expõe as AUs ativas, o texto do padrão e a procedência.

Só medida entra

facs_source = "real_facs" se houver AUs facs_source = "sem_apuracao" se não houver face medida

Sem blendshapes não há AU, sem AU não há dissonância facial, e os campos faciais saem nulos com a procedência declarada. Não existe modo simulado: o gerador foi removido em 03/09/2026, e a ausência de medida nunca vira número.

Implementação em froid-server/froid_facs.py (conversão e regras) e froid-dashboard/src/lib/froid-face.ts (captura no navegador).

A cadeia completa

Do rosto à leitura, sem etapa escondida

Sete passos separam o rosto do paciente de uma marca no painel do profissional. Nenhum deles inventa valor: onde não houve medida, a cadeia para e declara que parou.

1 · Captura

52 coeficientes, no navegador

O modelo roda localmente sobre o vídeo do paciente e produz os blendshapes. Só os coeficientes são enviados — imagem e vídeo nunca saem do equipamento.

2 · Vocabulário

52 blendshapes → 16 AUs

Média simples por AU, lados esquerdo e direito promediados, assimetria guardada à parte para AU12 e AU14.

3 · Presença

Quais AUs estão ativas

Intensidade ≥ 0,30. Abaixo disso a AU existe como número e não conta como presente — o limiar existe para descartar micro-movimento involuntário.

4 · Composição

As seis regras

As AUs ativas são conferidas contra as seis combinações. Cada disparo marca dissonância facial numa Zona de Percepção.

5 · Cruzamento com a voz

Multiplicador de 2,5

Numa zona marcada, o desvio acústico daquela zona é multiplicado por 2,5. É aqui — e só aqui — que face e voz se encontram: a face não gera leitura sozinha, ela pesa a leitura vocal.

6 · Confirmação temporal

2 dos últimos 3 ciclos

Um pico de um único ciclo não vira registro. A dissonância só é dada como confirmada quando se sustenta em 2 dos últimos 3 ciclos de análise.

7 · O que chega à tela. Para cada zona marcada, o profissional recebe as AUs que dispararam a regra e a frase do padrão ("sorriso social sobreposto a compressão labial involuntária"), junto da procedência da medida. O vetor completo das 16 intensidades de AU não é exibido em nenhuma tela hoje — ele é calculado e trafega no payload, mas nenhum componente do painel o renderiza. Dizer o contrário seria prometer uma tela que não existe.

O multiplicador facial (M_fac), na forma que roda em produção

desvio_da_zona = (energia_vocal − baseline) / baseline M_fac = 2.5 se dissonância facial na zona, senão 1.0 score_da_zona = desvio_da_zona × M_fac

Forma binária — não há forma contínua implementada. O valor 2,5 é parâmetro de produto FROID, não derivado de estudo publicado.

Por que o desvio vocal puro é guardado à parte

O motor de dissonância recebe o desvio sem M_fac. Sem essa separação, um único evento facial dispararia ao mesmo tempo o marcador facial e o marcador de zona extrema — dupla contagem de um sinal só, correlacionada por construção, inflando a confiança do alerta.

Cadência da captura

A leitura facial roda a cerca de 3 quadros por segundo por padrão (intervalo mínimo de 150 ms). É uma cadência escolhida para não competir com o processamento de áudio nem com a videochamada, e ela delimita o que é observável: ver O que estes mapas não afirmam.

Multiplicador em froid-server/froid_core.py → calculate_multimodal_deviation(). Confirmação temporal em froid-server/froid_dissonance.py. A montagem do IDM e do IPM está em Tecnologia, Etapa 5.

A fronteira

O que estes mapas não afirmam

Um mapa de referência mostra o que o FACS descreve. Ele não é um inventário do que este software faz. Onde os dois divergem, vale o que está aqui.

Não faz

Não classifica emoção

O mapa da composição lista sete emoções universais. O FROID não emite nenhuma delas como resultado. Não existe saída "felicidade", "surpresa" ou "nojo" em lugar algum do produto. O que sai é uma marca de dissonância por zona, com as AUs que a produziram. As matrizes de felicidade, surpresa e nojo estão no quadro como referência do FACS e não têm regra correspondente no motor.

Não faz

Não modela onset, apex e offset

As três fases temporais de uma expressão — início, pico e término — são metodologia madura em visão computacional, e o FROID não as implementa. Não há modelo de Markov, não há confiança de apex, não há duração de AU. Cada quadro é avaliado isoladamente; a única memória temporal do sistema é a confirmação de dissonância em 2 dos últimos 3 ciclos.

Não faz

Não detecta microexpressões

Uma microexpressão dura entre 1/25 e 1/5 de segundo. A captura facial do FROID roda a cerca de 3 quadros por segundo — a maior parte de uma microexpressão cabe entre dois quadros. A cadência é uma escolha de engenharia, e a consequência dela é esta: microexpressão não é objeto de medida deste sistema.

Não faz

Não detecta mentira

Dissonância é a co-ocorrência de unidades faciais que raramente andam juntas, cruzada com o desvio acústico da mesma zona. É um sinal para o profissional olhar, não um veredito sobre sinceridade. A hipótese clássica do sorriso de Duchenne (AU6 ausente = sorriso forçado) é contestada por pesquisa recente — ver Ciência, Pilar 4.

Leitura honesta do quadro

As quatro dissonâncias do mapa, e o que existe no motor

O mapa da composição destaca quatro padrões de dissonância subconsciente. Confrontados com as seis regras implementadas:

  • Sorriso falso / falsa calma (AU12 sem AU6) — não implementado. O motor não testa a ausência de AU6.
  • Raiva contida (AU23 + AU24) — implementado na Zona 9, com uma condição a mais que o mapa não mostra: a face precisa estar globalmente aplainada (expressividade < 0,20).
  • Tristeza mascarada (AU1 + AU4 + AU15) — implementado na Zona 3 com composição diferente: AU15 com AU12, isto é, cantos caídos sob esforço de sorriso.
  • Risco clínico absoluto (AU15 + AU20) — não implementado. AU20 é calculada e nenhuma regra a lê.

A divergência está publicada em vez de corrigida na figura porque o quadro é um documento do FACS, com valor próprio como referência. O que não pode acontecer é o leitor sair daqui achando que cada caixa do mapa corresponde a um comportamento do software.

Sem face, não há leitura facial — e isso é dito. Se a câmera estiver desligada, o modelo não carregar ou o navegador não suportar, a captura não inicia e o sistema declara sem apuração: os campos faciais ficam nulos, e a tela e o relatório dizem que não houve medida. Ausência de apuração nunca vira zero, e zero nunca é apresentado como medida. Ver Ética e Limites e Segurança.
Ver o motor completo em Tecnologia Glossário dos termos