Detecção da falta de EPI: treine o Ultralytics YOLO com o Construction-PPE
Veja como o Construction-PPE rotula a ausência de capacetes, coletes e luvas e, em seguida, treine o Ultralytics YOLO para detectar a falta de EPI nas câmeras do seu próprio local.
Paula Derrenger13 min de leitura
Para detectar a falta de EPI de forma confiável, rotule apenas o que a câmera consegue ver. No novo conjunto de dados Construction-PPE da Ultralytics, uma cabeça escondida atrás de uma viga de aço não significa que falta um capacete. Somente uma cabeça que você consegue ver e que não tem capacete recebe uma caixa no_helmet; uma cabeça ocluída ou fora do enquadramento não recebe nenhum rótulo de equipamento ausente.
Lançamos o conjunto de dados em 3 de novembro de 2026, no Ultralytics 8.4.200: 1.000 imagens, 12 classes e 14.863 caixas delimitadoras revisadas para pessoas, empilhadeiras, equipamentos de proteção e equipamentos visivelmente ausentes, com imagens e anotações licenciadas sob CC BY 4.0. Entre suas classes estão uma classe dedicada no_vest e uma classe forklift, e as anotações foram revisadas pela equipe da Ultralytics. Este guia explica o que há no conjunto de dados, como funcionam as regras de rotulagem de EPI ausente e como treinar, validar e implantar um modelo Ultralytics YOLO26 com ele.
Construction-PPE é um conjunto de dados revisado para detecção de EPI com 12 classes#
Construction-PPE é um conjunto de dados original de detecção de objetos para canteiros de obras e locais industriais, criado e disponibilizado como código aberto em novembro de 2026 pela equipe da Ultralytics. Suas imagens abrangem canteiros de obras, oficinas, armazéns, áreas de carga e trabalhos de manutenção, com diferentes pontos de vista, iluminação, disposições de trabalhadores e atividade de empilhadeiras. Ele foi criado para ensinar ao detector tanto a aparência dos equipamentos de proteção quanto a aparência de sua ausência visível.
Confira os dados importantes antes de treinar, na documentação do conjunto de dados Construction-PPE:
- Tamanho: 1.000 imagens e 14.863 caixas delimitadoras em 12 classes
- Divisão: divisão fixa de 800/200 para treino/validação, sem uma divisão separada para teste
- Formato: caixas delimitadoras no formato Ultralytics YOLO, prontas para treinamento sem conversão
- Imagens: imagens coletadas por pessoas e geradas, em composições paisagem, retrato e quadradas, com várias resoluções
- Anotação: anotação especializada feita por pessoas, combinada com anotação automática por IA, concluída em novembro de 2026 pela equipe da Ultralytics
- Licença: imagens e anotações sob Atribuição 4.0 Internacional da Creative Commons, que permite o uso comercial com atribuição
As imagens geradas não são fotografias de eventos reais; por isso, o teste final de qualquer modelo treinado aqui deve ser feito com imagens das câmeras do seu próprio local.
Você pode explorar cada imagem e anotação na Ultralytics Platform, clonar o conjunto de dados para seu espaço de trabalho ou treinar diretamente com ele.

Cada classe de EPI tem uma classe correspondente de equipamento ausente#
As 12 classes se dividem em três grupos: cinco classes de equipamentos, cinco classes de equipamentos ausentes e duas classes para as pessoas e os veículos que circulam pelo local. Os IDs abaixo correspondem às anotações e a construction-ppe.yaml:
| ID | Classe | O que recebe uma caixa |
|---|---|---|
| 0 | helmet | Capacete de proteção ou capacete de segurança |
| 1 | gloves | Luvas de trabalho |
| 2 | vest | Colete, jaqueta ou camisa de segurança de alta visibilidade |
| 3 | boots | Botas ou calçados de trabalho de proteção |
| 4 | goggles | Óculos de proteção |
| 5 | Person | Pessoa |
| 6 | no_helmet | Cabeça visível sem capacete |
| 7 | no_goggle | Região dos olhos visível sem óculos de proteção |
| 8 | no_gloves | Mão visível sem luva |
| 9 | no_boots | Pé ou calçado visível sem calçado de proteção |
| 10 | forklift | Empilhadeira |
| 11 | no_vest | Tronco visível sem vestuário de segurança de alta visibilidade |
Cada classe de equipamento tem uma classe correspondente de "ausência". Esse pareamento fornece ao modelo exemplos diretos de como é a ausência, permitindo que ele marque uma cabeça descoberta ou um tronco sem colete como uma detecção própria, em vez de deixar seu código inferir a ausência a partir de uma caixa que não aparece.

Os rótulos de falta de EPI marcam partes visíveis do corpo, não suposições#
As classes de equipamento ausente precisam de uma definição precisa. Se os anotadores desenhassem caixas em todas as cabeças nas quais não conseguissem ver um capacete, incluindo cabeças escondidas atrás de vigas ou cortadas pela borda do enquadramento, o modelo aprenderia que a própria oclusão significa uma infração.
Construction-PPE aplica uma regra consistente às cinco classes de equipamento ausente: uma caixa de equipamento ausente marca a região visível do corpo onde o equipamento deveria estar, e uma parte do corpo ocluída ou fora do enquadramento não basta, por si só, para determinar que falta equipamento. Na prática:
- Uma caixa
no_helmeté colocada em uma cabeça visível sem capacete. - Uma caixa
no_glovesé colocada em uma mão descoberta visível, não em uma mão escondida atrás de uma caixa de ferramentas. - Uma caixa
no_vesté colocada em um tronco visível sem vestuário de alta visibilidade. - Uma caixa
no_bootsé colocada em um pé ou calçado visível que não seja calçado de proteção. - Uma caixa
no_goggleé colocada em uma região visível dos olhos sem óculos de proteção. - As classes de equipamentos recebem caixas ao redor do próprio item visível; assim, um colete recebe uma caixa e a pessoa que o veste recebe outra.

À esquerda, a cabeça do trabalhador está atrás da placa de compensado que ele carrega, então os rótulos não indicam nada sobre a presença ou ausência de capacete. À direita, uma cabeça descoberta visível e um tronco visível sem vestuário de alta visibilidade recebem caixas de equipamento ausente.
Isso também é importante para a rotulagem de dados fora deste conjunto de dados. Se você ampliar o Construction-PPE com imagens das câmeras do seu próprio local, rotule-as seguindo a mesma regra; caso contrário, o modelo receberá duas respostas conflitantes para a mesma pergunta. Nossa aula da Academy sobre boas práticas de anotação mostra como incluir esse tipo de regra em um guia de rotulagem e por que uma revisão com participação humana identifica os casos que a automação não detecta.
Empilhadeira e no_vest incluem zonas de veículos no mesmo modelo#
Muitas regras de segurança no local envolvem pessoas e veículos compartilhando o espaço, não apenas a falta de equipamentos. A classe forklift inclui veículos e trabalhadores no mesmo detector, para que um único modelo YOLO26 possa retornar uma empilhadeira, as pessoas próximas a ela e troncos visíveis sem vestuário de alta visibilidade em uma única passagem.
Com uma classe dedicada no_vest, um modelo treinado com Construction-PPE pode retornar caixas forklift, Person e no_vest para uma doca de carga em uma única passagem.

Associar essas caixas a um evento é uma questão de lógica da aplicação: combinar cada caixa no_vest com a pessoa certa, decidir o que conta como "perto" da empilhadeira e definir por quanto tempo uma condição precisa persistir. Se você precisar medir a proximidade, o guia de cálculo de distância calcula a distância em pixels entre os centros das caixas selecionadas; para obter distâncias no mundo real, é necessária a calibração da câmera.
Treine YOLO26 com Construction-PPE em poucas linhas#
Comece com o pacote Python da Ultralytics. Na primeira utilização, o YOLO baixa e extrai o arquivo do conjunto de dados.
from ultralytics import YOLO
# Comece com um modelo YOLO26 nano pré-treinado no COCO
model = YOLO("yolo26n.pt")
# Treine com o arquivo Construction-PPE
model.train(
data="https://github.com/ultralytics/assets/releases/download/v0.0.0/construction-ppe.zip",
epochs=100,
imgsz=640,
)O equivalente na CLI é uma linha:
yolo detect train model=yolo26n.pt data=https://github.com/ultralytics/assets/releases/download/v0.0.0/construction-ppe.zip epochs=100 imgsz=640O modelo YOLO26n é uma boa opção para a primeira execução e para verificar o pipeline. Luvas, óculos e botas são objetos pequenos nas distâncias típicas das câmeras do local; por isso, compare com um tamanho maior, como YOLO26s ou YOLO26m, antes de se comprometer. A documentação de treinamento aborda o tamanho da imagem, o tamanho do lote e todos os outros argumentos. A Ultralytics também publica um notebook Colab para Construction-PPE se você preferir usar uma GPU gratuita no navegador.
Prefere não escrever código? Treine na Ultralytics Platform#
Na Ultralytics Platform, abra o conjunto de dados Construction-PPE e inicie o treinamento na nuvem com um modelo YOLO26, escolhendo as épocas, o tamanho da imagem e a GPU no navegador. A Platform acompanha as curvas de perda, a precisão, a revocação e o mAP por época, além de permitir comparar execuções lado a lado. Para adicionar imagens das câmeras do seu próprio local, clone o conjunto de dados em Explorar (consulte o guia Explorar da Ultralytics Platform), carregue as imagens e rotule-as no editor de anotações, onde a Anotação Inteligente pode sugerir caixas para você revisar.
Avalie o modelo por classe, não com uma única média#
Um único número de mAP não revela as informações de que uma equipe de segurança precisa. Um modelo pode obter uma boa pontuação geral porque detecta pessoas, capacetes e coletes de forma confiável, mas deixar passar a maioria dos casos de no_gloves ou no_goggle. Valide usando métricas por classe:
from ultralytics import YOLO
model = YOLO("runs/detect/train/weights/best.pt")
metrics = model.val() # uses the dataset's 200-image validation split
print(f"mAP50: {metrics.box.map50:.3f} mAP50-95: {metrics.box.map:.3f}")
for c in metrics.box.ap_class_index:
print(f"{model.names[c]:>10} mAP50-95: {metrics.box.maps[c]:.3f}")Leia primeiro as linhas de equipamento ausente e abra a matriz de confusão salva durante a validação. Se helmet e no_helmet forem confundidos, ou se uma classe de ausência raramente for detectada, examine as imagens que não foram detectadas e verifique quantas instâncias dessa classe há na divisão de treinamento antes de alterar qualquer outra coisa. O guia de métricas de desempenho do YOLO explica como interpretar cada gráfico.
As 200 imagens de validação vêm da mesma coleção que o conjunto de treinamento. Antes de implantar, reúna um conjunto independente das câmeras que você realmente usará e valide também com esse conjunto; use-o para medir o desempenho no seu local.
Transforme detecções de falta de EPI em eventos que possam ser revisados#
Como a falta de equipamento é uma classe própria, a primeira versão de uma regra de revisão pode ser simples: sinalize qualquer quadro que contenha uma caixa de falta de EPI acima de um limiar de confiança.
from ultralytics import YOLO
MISSING = {"no_helmet", "no_goggle", "no_gloves", "no_boots", "no_vest"}
model = YOLO("runs/detect/train/weights/best.pt")
for r in model.predict("site_camera_frame.jpg", conf=0.4):
for cls, conf in zip(r.boxes.cls.int().tolist(), r.boxes.conf.tolist()):
if r.names[cls] in MISSING:
print(f"Review: {r.names[cls]} ({conf:.2f})")Para vídeo, substitua predict por track. O rastreamento de objetos atribui IDs às detecções entre quadros. Em seguida, sua aplicação associa cada caixa de falta de EPI a um rastreamento de pessoa, por exemplo, verificando qual caixa Person a contém, e aplica regras de persistência e de eventos para que os revisores vejam um único evento em vez de uma sequência de quadros:
Desde o Ultralytics 8.4.202, as previsões salvas de streams RTSP e webcams usam a taxa de quadros de cada stream, para que os clipes gravados sejam reproduzidos na velocidade correta. Quando o modelo estiver pronto, exporte o modelo para ONNX, TensorRT, OpenVINO ou outro formato compatível com seu dispositivo de borda, ou implante-o pela Platform em um endpoint dedicado.
Um detector informa o que a câmera consegue ver. Ele não pode determinar se um capacete é certificado ou se um colete está danificado; por isso, encaminhe os eventos a uma pessoa que possa fazer essa avaliação.
Quem deve usar Construction-PPE#
Use Construction-PPE como ponto de partida para detectar seus cinco tipos de EPI e a ausência deles em canteiros de obras, oficinas, armazéns ou áreas de carga. É uma boa opção se você precisa de:
- Detecção de equipamento ausente, não apenas de equipamento. Cinco classes dedicadas de ausência, rotuladas segundo uma regra consistente baseada nas partes visíveis do corpo, fornecem ao modelo exemplos diretos de equipamentos ausentes.
- Percepção de veículos e pedestres em um único modelo.
forklift,Personeno_vest, em conjunto, abrangem o caso da doca de carga. - Licenciamento claro do conjunto de dados e rótulos prontos para treinamento. As imagens e anotações estão sob CC BY 4.0, que permite o uso comercial com atribuição, e os rótulos no formato YOLO podem ser usados para treinar YOLO26 sem conversão. Os modelos YOLO que você treinar com ele têm licenças separadas; consulte a pergunta sobre licenciamento abaixo.
Se o seu projeto precisa apenas detectar capacetes de segurança e coletes em grande escala, a Ultralytics Platform também hospeda o conjunto Safety Helmet and Reflective Jacket, com 10.138 imagens e 2 classes. Para projetos que envolvem apenas capacetes, o conjunto Safety Helmet Detection contém 5.000 imagens rotuladas como head, helmet e person. Para um fluxo de trabalho completo no local, desde a definição da primeira regra até o monitoramento de uma implantação, leia nosso guia sobre detecção de EPI e segurança no local de trabalho com a Ultralytics.
Perguntas frequentes
Treine com classes dedicadas de equipamento ausente, como
no_helmeteno_vest, rotule-as apenas quando a parte do corpo estiver visível e verifique as métricas por classe em imagens das câmeras do seu próprio local antes de confiar nos alertas. O Construction-PPE inclui cinco dessas classes, todas com uma regra de visibilidade consistente.Depende das classes de que você precisa. O Ultralytics Construction-PPE abrange 12 classes, incluindo cinco classes de equipamento ausente,
forkliftePerson, em 1.000 imagens revisadas sob CC BY 4.0. Para capacetes e coletes, o Safety Helmet and Reflective Jacket na Ultralytics Platform oferece mais imagens, e o Safety Helmet Detection abrange apenas capacetes; para implantação no local, adicione imagens das câmeras do seu próprio local em qualquer um dos casos.A versão lançada em novembro de 2026 tem 1.000 imagens, 14.863 caixas delimitadoras e 12 classes, com uma divisão de 800/200 para treino/validação. As classes são helmet, gloves, vest, boots, goggles, Person, no_helmet, no_goggle, no_gloves, no_boots, forklift e no_vest.
Instale ou atualize o pacote
ultralytics, carregueyolo26n.pte chamemodel.train()com o URL do arquivo Construction-PPE comodata, por exemplo, usandoepochs=100eimgsz=640. Você também pode treinar sem escrever código usando o treinamento na nuvem da Ultralytics Platform.As classes dedicadas de equipamento ausente dão ao modelo exemplos diretos de como é a ausência, permitindo que ele detecte uma cabeça descoberta visível como um objeto próprio. Uma regra simples como "nenhuma caixa de capacete dentro da caixa da pessoa" pode confundir uma cabeça escondida com uma cabeça descoberta, a menos que também verifique a visibilidade. O Construction-PPE rotula equipamentos ausentes apenas onde a parte do corpo está visível, o que favorece a primeira abordagem.
Sim. As imagens e anotações são disponibilizadas sob a licença Atribuição 4.0 Internacional da Creative Commons, que permite compartilhar e adaptar o material, inclusive para uso comercial, com atribuição. Dê crédito à equipe da Ultralytics, inclua links para o conjunto de dados e a licença e indique quaisquer alterações. Isso se aplica apenas ao conjunto de dados: os modelos Ultralytics YOLO que você treinar com ele têm licenças separadas (consulte a próxima pergunta).
Todos os modelos Ultralytics YOLO treinados são regidos por padrão pela AGPL-3.0, inclusive os modelos treinados com Construction-PPE. Para usar o código ou os modelos Ultralytics YOLO, você precisa disponibilizar todo o seu projeto sob a AGPL-3.0 ou obter uma Licença Empresarial Ultralytics. Isso também se aplica ao uso interno e à P&D. Se quiser manter seu projeto privado, você precisa de uma Licença Empresarial.
Escrito por
Comentários
Faça uma pergunta, compartilhe seus resultados ou ajude alguém.










