Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

protocolo-viés

In English: A measurement protocol for demographic bias in computer vision — frozen evaluation pools, paired within-image designs, mandatory confidence intervals, and acceptance criteria registered before the experiment runs. The protocol is written in Brazilian Portuguese; a full English summary is at the bottom of this page, and the citation metadata in CITATION.cff is in English.

Como medir viés em sistemas de visão computacional sem se enganar.

Não é biblioteca. É o método — o que fica de pé quando o modelo é trocado. Usado por anatomia e por rostos, publicado separado porque não pertence a nenhum dos dois.

O que tem aqui

  • Congelamento de pools. dev calibra, teste reporta uma vez só, contraste mede diferencial entre grupos, guarda veta release. Limiar calibrado em dev nunca é reajustado depois de olhar teste. Se for, teste está queimado e vira dev.
  • Por que contraste é separado. Um acervo de uma família só não tem grupo de contraste. Diferencial demográfico é, por definição, comparação entre grupos — não se mede onde só existe um.
  • Amplificação pareada. Com n pequeno, desenho pareado dentro da mesma imagem tira poder dos pares discordantes, não do n total. McNemar pareado; bootstrap pareado para o intervalo. Nunca teste não pareado sobre variantes da mesma imagem.
  • Intervalos obrigatórios. Wilson para proporções. Regra de três para zero eventos.
  • Critério de aceitação pré-registrado. Escrito antes de rodar. Definir "bom o bastante" depois de ver o resultado é como se escolhe o número que confirma o que se queria.

Escopo, hoje

O documento deste repositório é protocolo_rostos.md, e ele cobre o eixo facial: detecção e reconhecimento, seus estratos e suas métricas.

Dois métodos que pertencem ao mesmo corpo de protocolo ainda estão escritos em outro lugar — em anatomia/EXPERIMENTO.md, onde foram usados primeiro:

  • amostragem estratificada com probabilidade de inclusão conhecida e reponderação de Horvitz-Thompson;
  • concordância consigo mesma — 10% rerrotulado em outro dia, às cegas. Se ela for 0,85, nenhuma diferença de 3 pontos entre abordagens significa coisa alguma, e é bom saber disso antes de escrever a conclusão.

Trazê-los para cá, generalizados para além do caso de conteúdo sensível, é o próximo trabalho deste repositório.

Por que isso é publicado

Quase todo relatório de viés publica um número sem intervalo, calibrado e reportado no mesmo conjunto. Este protocolo existe para não fazer isso.

Sobre a língua

O protocolo está em português porque é conhecimento situado: um acervo brasileiro, fotos escaneadas de décadas, tons de pele que os conjuntos de treino ignoram, e alguém de dentro desse contexto medindo a falha. Quem quiser medir viés com rigor hoje não encontra material denso na própria língua — está tudo em inglês, atrás de paper.

O resumo abaixo dá o alcance internacional sem que o corpo perca a voz. É como circula a literatura produzida fora do eixo anglófono.

Traduções são bem-vindas por pull request. Tradução tem que ter dono e mantenedor, e é isso que falta quando se traduz sozinha.

Licença

CC BY 4.0. Cite conforme o CITATION.cff — o botão Cite this repository no alto desta página gera APA e BibTeX prontos.


English summary

A measurement protocol for detection and recognition systems in computer vision, designed to estimate demographic differential rather than headline accuracy.

Frozen pools

Four pools with distinct, non-interchangeable roles: dev calibrates, teste reports exactly once, contraste measures between-group differential, and guarda gates releases. A threshold calibrated on dev is never readjusted after teste has been observed — if it is, teste is burned and becomes dev.

contraste is separate for a reason that is easy to miss: a single-family archive has no contrast group at all. Demographic differential is by definition a comparison between groups, and cannot be measured where only one exists. The archive provides ecological validity — scanned paper, infants, decades; the public set provides the contrast. They never collapse into one number.

Annotation strata

Age, face scale, pose, capture medium, decade, facial luminance, and skin tone on the Monk scale — not Fitzpatrick, which was built for sunburn risk in light skin and compresses precisely the range that matters here.

Stratifying by face scale is mandatory, not optional. Infant photographs are systematically close-ups; without controlling for scale, "the model fails on infants" and "the model fails on close-ups" are indistinguishable — and the wrong conclusion leads to retraining when changing the input resolution would have sufficed.

Paired amplification

Small cohorts are made tractable by a within-image paired design: each annotated image generates controlled variants across scale, gamma, JPEG quality and preprocessing. Statistical power comes from discordant pairs, not from total sample size. Significance by paired McNemar; paired bootstrap for the interval. Never an unpaired test over variants of the same image — the observations are not independent.

Metrics

Detection is reported as recall per stratum and as a protective failure rate — images containing a person where no face was detected, which is the number that predicts family photographs reaching a deletion queue.

Recognition is never reported as accuracy. It is reported as false match rate at fixed false non-match rate per stratum, as the threshold each group requires to reach a common target — the distance between two groups' thresholds is the bias, in the unit the system already adjusts — and as a differential ratio in the form used by NIST FRVT, not a difference of means. Abstention gets its own column, since folding it into either correct or incorrect inflates both.

Intervals are not optional

No rate is published without one. Wilson intervals for proportions; the rule of three for zero-event outcomes, so 0 failures in 119 is reported as up to 2.5%, never as zero; paired bootstrap for between-stratum differences.

Pre-registered acceptance criteria

What counts as "good enough" is written before the experiment runs. Defining it afterwards is how one selects the number that confirms what one wanted.

Mitigation before training

The protocol documents cohort normalisation — scoring similarity as a z-score against a frozen cohort of unrelated faces — as a bias mitigation requiring no training at all, and it treats training as the last step, taken only if a differential survives everything before it.

Method, protocol and numbers are published. Weights trained on faces are not — face data is identifiable by definition, so no training corpus of faces passes the project's data policy. That is a coherence constraint, not a cost one.

About

Measurement protocol for demographic bias in vision systems: frozen pools, paired designs, mandatory intervals, pre-registered criteria.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors