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:
- 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).
- Métricas publicadas: metade dos líderes nem informa número de validação. A gente publica — inclusive onde o modelo falha.
- 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