raqIA EPI-1 🦺

Detector de EPI (equipamento de proteção individual) em imagens e vídeo, treinado para o chão de fábrica brasileiro.

Classes: capacete · sem_capacete · colete

Feito pela raqIA — IA em blocos para indústria. Modelo aberto sob licença Apache-2.0: use comercialmente, modifique, redistribua.

Por que existe

Documentação de modelo em português é rara. A maioria dos detectores de EPI públicos é treinada em obra de construção americana — esse aqui foi pensado para fábrica, depósito e linha de produção, com documentação 100% em PT-BR e números honestos de onde ele funciona (e onde não).

Uso rápido

pip install -r requirements.txt
python infer.py --model epi-1.onnx --input foto.jpg --output resultado.jpg

Verde = EPI detectado · Vermelho = pessoa sem capacete.

Treinamento

python download_dataset.py   # baixa jhboyo/ppe-dataset (15.5k imagens)
python yolo_to_coco.py       # converte p/ formato COCO
python train.py --size nano --epochs 20
python export_onnx.py        # gera epi-1.onnx

Base: RF-DETR (Apache-2.0 — pode usar comercial sem dor de cabeça de copyleft). Dataset: jhboyo/ppe-dataset — 15.500 imagens, 60.991 objetos.

Métricas

Medidas por nós no split de validação do dataset (imagens que o modelo nunca viu no treino):

Métrica Valor
mAP50 0,938
mAP50:95 0,677
Precisão 0,912
Recall 0,888
Tamanho 114 MB (ONNX, FP32)
Hardware de treino RTX 3060 12GB, ~3h30, 20 épocas

Leitura honesta: em ~9 de cada 10 detecções ele acerta a classe e a caixa (precisão), e encontra ~89% dos casos que existem na imagem (recall). Os ~11% que escapam são em geral pessoas pequenas no fundo do frame ou parcialmente cobertas.

Benchmark — como se compara

Comparação com os detectores de EPI mais baixados do HuggingFace (números reportados nos próprios model cards):

Modelo mAP50 Precisão Recall Licença
Hansung-Cho/yolov8-ppe-detection (líder em downloads) 0,744 0,831 0,685 AGPL-3.0 ⚠️
killuminati1/construction-ppe-yolov8 ~0,76 ~0,81 ~0,72 AGPL-3.0 ⚠️
Hexmon/vyra-yolo-ppe-detection não publicou — — AGPL-3.0 ⚠️
melihuzunoglu/ppe-detection não publicou — — AGPL-3.0 ⚠️
raqIA EPI-1 0,938 0,912 0,888 Apache-2.0 ✅

⚠️ Comparação honesta: os números deles vêm de datasets maiores e mais difíceis (10–19 classes, incluindo luvas, botas, máscaras). O nosso dataset tem 3 classes (capacete, cabeça sem capacete, colete) — prova mais fácil, número mais alto. Não significa que o EPI-1 "ganhou"; significa que na tarefa dele — EPI básico em fábrica — ele atinge nível de produção.

Três coisas que o EPI-1 resolve e os outros não:

  1. Licença que não trava: modelos Ultralytics YOLO carregam AGPL-3.0 — usar num produto comercial obriga abrir seu código. O EPI-1 é Apache-2.0 de ponta a ponta (arquitetura RF-DETR).
  2. Métricas publicadas: metade dos líderes nem informa número de validação. A gente publica — inclusive onde o modelo falha.
  3. Documentação em PT-BR feita pra quem opera fábrica, não pra quem lê paper em inglês.

Limitações — leia antes de usar

  • Modelo de detecção visual: detecta presença de EPI na imagem, não certifica conformidade NR.
  • Foi treinado em imagens públicas de internet — valide no seu vídeo antes de confiar. Toda implantação real inclui rodada de validação nas imagens do cliente.
  • Distância máxima confiável: pessoas ocupando pelo menos ~3% da altura do frame.
  • Não detecta luvas, botas ou óculos nessa versão (v1: capacete e colete).

Como citar

raqIA EPI-1 (2026). Detector de EPI open-weights.
https://huggingface.co/Raqia32/epi-1
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support