Mais jogos no WuGames.ioPatrocinadoDescubra jogos de navegador grátis — jogue na hora, sem download nem cadastro.Jogar

Preditor de Idade e Gênero

Adivinhe a idade e o gênero a partir de uma foto com IA. Detecta vários rostos, roda 100% no navegador via face-api.js. Sua imagem nunca sai daqui.

Upload
Arraste e solte a imagem aqui
ou clique para procurar
Formatos suportados: JPG, PNG, WEBP. Melhores resultados com fotos de rosto nítidas.

Sobre o Preditor de Idade e Gênero com IA

Este Preditor de Idade e Gênero estima a idade aparente (em anos) e o gênero predito de cada rosto em uma foto que você enviar. Tudo roda inteiramente no seu dispositivo usando face-api.js, um port de código aberto para TensorFlow.js de modelos de aprendizado profundo bem estabelecidos para detecção facial e estimativa de atributos. Nenhum dado de imagem é enviado a qualquer servidor: detecção, embedding, regressão de idade e classificação de gênero executam como JavaScript no seu navegador. Após a primeira visita (~5 MB de pesos do modelo são cacheados), a ferramenta funciona offline.

Use para exploração casual — adivinhar quantos anos um rosto aparenta, demonstrar visão computacional em sala de aula, prototipar funcionalidades para um projeto pessoal, ou checar se um dataset de fotos tem demografia razoavelmente equilibrada. É uma ferramenta divertida e rápida que dá um número rapidamente. Não é um sistema de autenticação biométrica, nem verificador de identidade, nem controle de idade para conteúdo adulto, e não é evidência para decisões legais, médicas, trabalhistas ou de seguro. Trate a saída como uma estimativa probabilística de um modelo treinado em dataset finito que herda os vieses desse dataset.

A ferramenta detecta múltiplos rostos em uma única imagem e reporta cada um com bounding box, idade estimada em anos e rótulo de gênero predito (masculino / feminino) acompanhado de pontuação de confiança. Os melhores resultados exigem retratos frontais bem iluminados com o rosto ocupando parte significativa do quadro. Maquiagem pesada, barba, óculos escuros, máscaras, ângulos laterais, borrão de movimento, resolução muito baixa ou sombras fortes degradam a precisão. Bebês e crianças pequenas são sistematicamente superestimadas pela maioria dos modelos públicos porque os corpora de treinamento tendem a adultos. Idosos (70+) são frequentemente subestimados pela mesma razão.

Sobre ética e viés: face-api.js herda as limitações dos seus dados de treinamento — principalmente IMDB-WIKI para idade e gênero — que sobre-representam adultos de pele clara, norte-americanos/europeus e fotografados profissionalmente. NIST FRVT, MIT Media Lab Gender Shades e muitos estudos acadêmicos documentaram taxas de erro sistematicamente maiores para tons de pele escuros e expressão de gênero não binária. A classificação binária masculino/feminino é em si uma simplificação grosseira do gênero humano real. Oferecemos esta ferramenta para tornar a análise facial menos misteriosa, não para autorizar decisões sensíveis sobre pessoas reais. Não use a saída para permitir ou negar acesso de alguém a um serviço, instalação, conteúdo ou direito.

Privacidade é por design, não por promessa: como todo o código do modelo é entregue ao navegador e toda a inferência roda localmente, os bytes da sua imagem nunca atravessam a rede. A página é servida via HTTPS; analytics padrão registram apenas a URL visitada, não o conteúdo das fotos. Não armazenamos, registramos, vendemos ou compartilhamos as imagens analisadas. Fechar a aba apaga todos os dados em memória.

Como funciona a predição

A inferência segue três etapas. Primeiro, detecção facial: face-api.js usa um detector SSD MobileNetV1 treinado em WIDER FACE (e opcionalmente um Tiny Face Detector para dispositivos com poucos recursos). O detector emite bounding boxes com pontuações de confiança; um passo de non-maximum-suppression remove sobreposições. A biblioteca também suporta MTCNN — uma cascata de três etapas (P-Net, R-Net, O-Net) introduzida por Zhang et al. (2016) — mais precisa porém mais lenta; o modelo padrão equilibra precisão e velocidade para execução no navegador.

Segundo, alinhamento: cada rosto detectado é cortado e opcionalmente alinhado predizendo 68 landmarks faciais (olhos, ponta do nariz, cantos da boca, mandíbula) de modo que os olhos fiquem horizontais. Alinhar o rosto melhora a predição de atributos porque a rede de regressão foi treinada em recortes alinhados. O detector de landmarks é uma ConvNet pequena treinada em iBUG 300-W.

Terceiro, estimativa de atributos: o recorte alinhado passa por uma rede troncal de extração de features compartilhada (estilo ResNet) seguida de duas cabeças. A cabeça de idade é uma regressão — emite diretamente um número em anos, treinada com erro quadrático médio contra rótulos IMDB-WIKI (Rothe, Timofte & Van Gool, 2015–2018). A cabeça de gênero é um classificador binário que emite probabilidade de ser feminino; reportamos o rótulo mais provável e sua pontuação softmax como confiança. Ambas as cabeças compartilham backbone inspirado em SSR-Net (Yang et al., 2018) pequeno o suficiente para rodar suavemente em celulares.

As três redes são quantizadas para float de 32 bits para o runtime TensorFlow.js no navegador. Rodam em WebGL quando disponível (acelerado por GPU) ou caem para CPU via WebAssembly. O tamanho total dos pesos é 5–10 MB; o navegador cacheia os pesos então visitas repetidas são instantâneas. Inferência por rosto leva 50–300 ms em laptop moderno, mais em celular. Todo o pipeline — detecção, landmarks, atributos — é sequencial, mas múltiplos rostos em uma imagem são processados em loop apertado, não em paralelo.

O bounding box retornado está em coordenadas da imagem original, então desenhamos diretamente em um canvas sobreposto à imagem de entrada. O valor de regressão de idade é arredondado para o inteiro mais próximo para exibição. A confiança de gênero é reportada como porcentagem; valores próximos de 50% indicam que o modelo tem confiança muito baixa e o rótulo deve ser ignorado ou tratado como 'desconhecido'.

Precisão, limitações e uso ético

Em retratos adultos frontais bem iluminados em resolução decente, estimativas de idade ficam tipicamente dentro de ±5 a ±8 anos da idade real, e confiança de classificação de gênero acima de 90% é confiável no sentido masculino/feminino em que o modelo foi treinado. Esses números degradam consideravelmente fora desse envelope operacional. O paper de avaliação IMDB-WIKI reporta Mean Absolute Error em torno de 3,5 anos para a rede DEX (Deep EXpectation) original em seu conjunto de teste in-distribution; desempenho in-the-wild é pior. Trate qualquer predição individual como estimativa, não medida.

Criticamente, a precisão varia por demografia. Múltiplas auditorias revisadas por pares — Gender Shades de Buolamwini & Gebru (2018), NIST FRVT 1:1 (em curso), Raji et al. (2020) — mostraram que modelos de análise facial treinados em datasets ocidentais e de pele clara produzem taxas de erro significativamente maiores para mulheres, sujeitos de pele escura e pessoas cuja apresentação de gênero não corresponde à norma binária masculino/feminino. Não são diferenças menores: taxas de erro de 35% são comuns em grupos sub-representados versus 1% em grupos bem representados em alguns sistemas comerciais. face-api.js não escapa desses problemas.

Não use esta ferramenta para qualquer decisão que afete direitos, oportunidades, dinheiro ou segurança de uma pessoa. Isso inclui — mas não se limita a — verificar idade para compra de álcool, tabaco ou conteúdo adulto; controlar acesso a serviços com restrição de idade; filtrar candidatos a emprego; verificar identidade para transações financeiras ou legais; diagnóstico ou triagem médica; controle de fronteira; vigilância, perfilamento ou aplicação da lei; publicidade direcionada baseada em gênero inferido. Para qualquer caso de uso assim você precisa de um sistema calibrado, responsabilizável, auditado, não um demo gratuito. Os autores do face-api.js, os papers originais dos modelos e a WuTools renunciam explicitamente à adequação para esses usos.

  • Estimativas de idade tipicamente ±5 a ±10 anos em adultos; muito maiores em crianças e idosos sub-representados nos dados de treinamento.
  • O modelo produz rótulo binário masculino/feminino e não pode representar identidades não binárias, intersexuais, transgênero ou fluidas.
  • Precisão degrada em tons de pele escuros, ângulos não frontais, rostos ocluídos (óculos, máscaras, mãos) e imagens em baixa resolução ou mal iluminadas.
  • Maquiagem pesada, barba, hijab, cirurgia ou tratamentos antienvelhecimento podem mudar drasticamente as predições de idade e gênero.
  • Crianças com menos de 5 anos frequentemente são estimadas em 8–12; adultos com mais de 70 frequentemente subestimados em 5–15 anos.
  • Fotos com headsets VR, oclusão parcial, vistas de perfil ou expressões extremas podem não ser detectadas.
  • A ferramenta não consegue casar a mesma pessoa em fotos diferentes — para isso veja nosso Medidor de Similaridade Facial.
  • As saídas não são adequadas para verificação legal de idade, identidade biométrica, triagem de emprego, diagnóstico médico ou aplicação da lei.

Glossário

Detecção facial
Localizar onde rostos aparecem em uma imagem, tipicamente reportado como bounding boxes alinhados aos eixos com pontuações de confiança. Distinto de reconhecimento facial, que identificaria de quem é o rosto.
Bounding box
Retângulo dado como (x, y, largura, altura) que cerca um rosto detectado em coordenadas de pixel da imagem.
Landmark facial
Ponto anatômico específico no rosto — canto externo do olho, ponta do nariz, canto da boca, ponto da mandíbula. Esta ferramenta usa o esquema iBUG de 68 pontos para alinhar rostos antes da predição de atributos.
Modelo de regressão
Rede neural que emite um número contínuo (aqui, idade em anos) em vez de rótulo de classe. Treinada minimizando erro quadrático médio contra idades ground-truth.
Modelo de classificação
Rede neural que emite probabilidade sobre conjunto fixo de categorias (aqui duas: masculino e feminino). Confiança é a pontuação softmax na classe predita.
Inferência de modelo
Rodar uma rede neural treinada em entrada nova para produzir predições. Distinto de treinamento, que é a fase de aprendizado offline. Esta ferramenta só faz inferência; o modelo foi treinado em outro lugar com IMDB-WIKI.
ONNX / TensorFlow.js
Runtimes para executar redes neurais. ONNX é formato de troca aberto; TensorFlow.js roda modelos em JavaScript, opcionalmente acelerado por GPU via WebGL ou WebGPU. face-api.js usa TensorFlow.js.
MTCNN
Multi-task Cascaded Convolutional Network. Algoritmo de detecção facial de Zhang et al. (2016) que roda três redes pequenas em sequência (P-Net, R-Net, O-Net) e prediz conjuntamente bounding boxes e cinco landmarks faciais.

Perguntas Frequentes

Como a IA estima minha idade?

Roda face-api.js (port TensorFlow.js) no seu navegador. Após localizar seu rosto com detector SSD-MobileNet, alinha o recorte usando 68 landmarks faciais e o passa por uma rede de regressão treinada em IMDB-WIKI para emitir um único número — idade aparente em anos. Todo o pipeline roda offline em JavaScript; nada é enviado.

Quão precisa é a estimativa de idade?

Em retratos adultos frontais bem iluminados, o Mean Absolute Error publicado de DEX/IMDB-WIKI fica em torno de 3,5 anos em conjuntos de benchmark, e ±5 a ±10 anos é realista in-the-wild. Crianças, idosos, ângulos laterais, baixa resolução, maquiagem pesada e pessoas com tons de pele mais escuros tendem a ter erros maiores por viés nos dados de treinamento.

Detecta múltiplos rostos?

Sim. O detector retorna todos os rostos acima de um limiar de confiança configurável; cada um é processado independentemente e recebe seu próprio bounding box, estimativa de idade e rótulo de gênero. Não há limite duro, mas rostos muito pequenos podem ser perdidos.

Minhas fotos são privadas?

Sim. Toda inferência ocorre no seu navegador via TensorFlow.js. Os pesos da rede são baixados uma vez (~5 MB, cacheados) e a inferência roda localmente no JPEG selecionado. Os bytes da sua imagem nunca saem do dispositivo. Não armazenamos, registramos ou compartilhamos fotos.

Por que o modelo só emite 'masculino' ou 'feminino'?

Porque foi assim que ele foi treinado — IMDB-WIKI rotula gênero como atributo binário. Reconhecemos que isso é uma simplificação grosseira da identidade de gênero humana real e não conseguimos detectar com precisão expressão de gênero não binária, transgênero ou fluida. Trate a saída binária como o palpite do modelo baseado em estatísticas do conjunto de treinamento, não como fato sobre a pessoa.

É seguro para verificação de idade?

Não. Não use esta ferramenta para controlar acesso a álcool, tabaco, jogos ou conteúdo adulto. Mesmo no melhor caso o modelo fica ±5–10 anos fora, e verificação legal de idade tipicamente requer um sistema calibrado, auditado, aprovado por reguladores. NIST FRVT, ICO/UK e orientações do EU AI Act alertam contra usar análise facial off-the-shelf para conformidade.

Por que o modelo erra na minha foto?

Causas comuns: (1) tons de pele escuros sub-representados em IMDB-WIKI; (2) foto não frontal, borrada ou em baixa resolução; (3) rosto parcialmente ocluído por óculos, máscara, mãos ou cabelo; (4) maquiagem pesada, barba, cirurgia plástica; (5) crianças e muito idosos desviam sistematicamente. Tente outra foto e verifique se o bounding box está no rosto correto.

Identifica quem é a pessoa?

Não. O modelo só emite estimativa numérica de idade e rótulo masculino/feminino. Não compara o rosto com banco de dados, não busca identidade, não reconhece indivíduos específicos. Para casamento de rostos veja nosso Medidor de Similaridade Facial — também totalmente offline.

Qual arquitetura de modelo é usada?

Detecção facial: SSD MobileNetV1 (ou opcionalmente Tiny Face Detector / MTCNN). Detecção de landmarks: ConvNet de 68 pontos. Regressão de idade e classificação de gênero: backbone compartilhado da família SSR-Net, treinado em IMDB-WIKI mais UTKFace. Todos os pesos quantizados para TensorFlow.js no navegador.

Preditor de Idade e Gênero — Adivinhe a idade e o gênero a partir de uma foto com IA. Detecta vários rostos, roda 100% no navegador via face-api.js.
Preditor de Idade e Gênero

Posso usar comercialmente?

A ferramenta é gratuita, mas face-api.js é licenciado MIT e os papers originais dos modelos têm suas próprias notas de uso. Mais importante, implantar qualquer sistema de análise facial em produto quase sempre aciona LGPD (Brasil), GDPR (UE), CCPA (Califórnia) e Illinois BIPA — leis biométricas — mesmo se tudo for local. Consulte assessoria jurídica antes de lançar produto baseado nisto.

Referências e fontes acadêmicas

  1. Zhang, K., Zhang, Z., Li, Z., & Qiao, Y.. (2016). Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks (MTCNN) IEEE Signal Processing Letters.
  2. Rothe, R., Timofte, R., & Van Gool, L.. (2018). DEX: Deep EXpectation of Apparent Age from a Single Image (dataset IMDB-WIKI) International Journal of Computer Vision.
  3. Yang, T.-Y., Huang, Y.-H., Lin, Y.-Y., Hsiu, P.-C., & Chuang, Y.-Y.. (2018). SSR-Net: A Compact Soft Stagewise Regression Network for Age Estimation IJCAI.
  4. Buolamwini, J., & Gebru, T.. (2018). Gender Shades: Intersectional Accuracy Disparities in Commercial Gender Classification Proceedings of Machine Learning Research.
  5. Grother, P., Ngan, M., & Hanaoka, K.. (2024). NIST Face Recognition Vendor Test (FRVT) Instituto Nacional de Padrões e Tecnologia dos EUA.
  6. Mühler, V.. (2020). face-api.js: API JavaScript para detecção e reconhecimento facial no navegador Biblioteca open-source, licença MIT.

Last reviewed: · Reviewed by Equipe de Ética e Engenharia de IA WuTools

Perguntas Frequentes

A predição de idade e gênero roda no meu navegador ou minhas fotos são enviadas a um servidor?

Tudo roda localmente no seu navegador. A detecção facial (SSD-MobileNet), o alinhamento de 68 pontos e as cabeças de regressão de idade/gênero (face-api.js sobre TensorFlow.js) são baixadas uma vez e depois cada predição é calculada no dispositivo usando WebGL, WebGPU ou WebAssembly. Suas fotos e os rótulos de idade/gênero previstos nunca deixam o dispositivo. Isso é essencial porque demografia predita combinada com foto pode ser considerada dado pessoal sensível sob a LGPD/GDPR. Não registramos, armazenamos nem transmitimos qualquer imagem ou predição — você pode verificar com o DevTools que nenhuma requisição POST é disparada após o carregamento dos arquivos do modelo.

Quais condições de imagem dão a estimativa de idade mais precisa?

Para a melhor estimativa de idade aparente, use uma foto frontal com iluminação diurna uniforme, o rosto ocupando ao menos uma região de 200x200 pixels, sem óculos escuros, sem maquiagem pesada, sem filtros ou embelezamento, expressão neutra e cabeça não inclinada. Perfis laterais, sombras duras, máscaras, chapéus cobrindo a testa, sorrisos largos e filtros de beleza do Snapchat/Instagram podem deslocar a idade prevista em 5-15 anos. O modelo foi treinado no IMDB-WIKI, um conjunto de fotos de celebridades enviesado para adultos de 20-60 anos em iluminação posada, então crianças, idosos muito velhos e instantâneos casuais tendem a ter mais erro.

Quão precisa é a idade prevista em relação à minha idade real?

No benchmark publicado DEX/IMDB-WIKI, as CNNs de regressão de idade alcançam um Erro Absoluto Médio em torno de 3.5-5 anos para idade aparente em adultos de 20-60 anos em fotos frontais bem iluminadas. O desempenho cai para crianças (dados de treinamento esparsos abaixo dos 15 anos) e idosos (esparsos acima de 80 anos), onde erros de 8-15 anos são comuns. O modelo prevê idade aparente — quão velho você parece — não idade biológica, então maquiagem, iluminação, penteado e qualidade da imagem importam tanto quanto sua data de nascimento real. Duas fotos da mesma pessoa tiradas com minutos de diferença em condições distintas podem facilmente diferir 5+ anos na predição.

Como funciona a predição de gênero e ela é binária?

A cabeça de gênero é um pequeno classificador softmax de duas saídas que retorna uma probabilidade para "masculino" e "feminino" baseado no mesmo embedding facial alinhado de 64 dimensões usado para idade. A saída é binária por design dos dados de treinamento (rótulos IMDB-WIKI) — não há classe não-binária ou "desconhecida". O classificador expressa incerteza via a probabilidade: um rosto sobre o qual o modelo está incerto pode retornar 0.52 masculino / 0.48 feminino. Recomendamos tratar predições abaixo de ~0.7 de confiança como ambíguas e não exibi-las como rótulos. Este modelo captura apresentação de gênero aparente na foto, não o gênero auto-identificado do sujeito.

WebGPU é mais rápido que WebAssembly para predição de idade/gênero?

Sim. O pipeline detecção + landmarks + idade + gênero envolve várias redes convolucionais. No WebGPU, o pipeline completo termina em 50-200 ms por rosto em um notebook típico; no WebAssembly com SIMD leva 300-1500 ms; no WebAssembly puro (navegadores antigos, sem SIMD) pode levar 2-5 segundos. Para processamento em lote de muitas fotos ou modo webcam ao vivo, WebGPU é essencial para manter a UI responsiva. A ferramenta autodetecta o suporte de backend ao iniciar e usa o mais rápido disponível; você pode ver o backend ativo no console do navegador.

Posso usar isso em tempo real em um fluxo de webcam?

Sim, com ressalvas. No WebGPU com entrada de detector pequena (320x240), a ferramenta sustenta 15-30 FPS em notebook típico, suave para pré-visualização ao vivo. No WebAssembly-CPU espere 2-10 FPS — usável como apresentação de slides mas travado para vídeo. Para melhorar a taxa de quadros: reduza a resolução de entrada do detector, limite predições a cada N-ésimo quadro, rode predição apenas quando o rosto se mover (detecção de movimento por diferença de quadros) ou use um detector mais leve como BlazeFace do MediaPipe. Tenha em mente que predição demográfica ao vivo levanta questões de privacidade mais fortes que predição única — mesmo que tudo rode localmente.

Qual arquitetura é usada — face-api.js, MediaPipe ou DeepFace?

O pipeline padrão é face-api.js / @vladmandic/face-api (port para TensorFlow.js), combinando um detector facial SSD-MobileNet v1, um regressor de 68 landmarks e duas pequenas cabeças de regressão sobre um backbone compartilhado de features faciais para idade e gênero. A cabeça de idade é uma rede de regressão de saída única ajustada a partir de um classificador DEX; a cabeça de gênero é um softmax com duas saídas. MediaPipe Face Mesh + classificador demográfico customizado é um caminho alternativo usado por alguns apps; DeepFace (a biblioteca Python) envelopa várias arquiteturas incluindo VGG-Face, Facenet e OpenFace — a maioria é grande demais para navegadores mas existem como referências de pesquisa. O stack face-api.js é o padrão de facto do navegador.

Por que a mesma foto dá uma idade diferente quando eu re-executo, e isso é um bug?

Para idade e gênero a predição é totalmente determinística: mesma imagem, mesmo alinhamento, mesmos pesos produzem a mesma saída toda vez, byte por byte. Se você vê um número diferente ao re-executar, a causa mais provável é que o detector facial escolheu uma caixa delimitadora ligeiramente diferente (é um processo de supressão não-máxima, e pequenas diferenças de ponto flutuante podem inverter qual detecção vence). Diferenças induzidas por recarga na compilação de tensores, recodificação com perdas (PNG vs JPEG) ou colar da área de transferência em tamanho diferente também podem deslocar a idade prevista em 1-3 anos. O modelo está fazendo a mesma matemática; a entrada é ligeiramente diferente. Para comparações estáveis, salve o rosto recortado uma vez e reutilize-o.