Detecção automática de motociclistas utilizando e não utilizando capacete por meio de visão computacional e aprendizado profundo.
Treinado com PyTorch e Ultralytics YOLOv11, com suporte a GPU, exportação para Core ML e inferência em tempo real.
- 🏍️ Detecção de motociclistas utilizando capacete
- 🚨 Detecção de motociclistas sem capacete
- ⚡ Inferência em tempo real com suporte a GPU
- 🧠 Treinamento utilizando YOLOv11 e PyTorch
- 📦 Exportação para Core ML (.mlpackage)
- 🎯 Classificação baseada em score de confiança
- 📊 Geração de alertas de não conformidade
- 📸 Salvamento automático de evidências
- 🔍 Processamento de imagens, vídeos e diretórios completos
- 🔄 Conversão automática de anotações XML para YOLO
| Item | Detalhe |
|---|---|
| Tarefa | Object Detection |
| Modelo | YOLO11s |
| Framework | Ultralytics + PyTorch + CUDA |
| Classes | BikesHelmets / BikesNoHelmets |
| Exportação | Core ML |
| Inferência | Tempo Real |
| Hardware | CPU ou GPU NVIDIA |
Helmet_detect/
|
├── export_model.py
├── main.py
├── train_helmet_yolo.py
├── xml_to_yolo_converter.py
├── helmet_dataset.yaml
├── README.md
├── LICENSE
|
├── dataset/
│ ├── images/
│ │ ├── train/
│ │ └── val/
│ │
│ └── labels/
│ ├── xml/
│ └── yolo/
|
└── runs/
└── detect/
└── helmet_yolo11s_v2/
└── weights/
├── best.pt
└── best.mlpackage
git clone https://github.com/JonathanMar/Helmet_detect.git
cd Helmet_detectpython -m venv env
source env/bin/activateWindows:
env\Scripts\activatepip install torch torchvision torchaudio
pip install ultralyticsEstrutura esperada:
dataset/
|
├── images/
│ ├── train/
│ └── val/
|
└── labels/
├── train/
└── val/
Arquivo de configuração:
train: ./dataset/images/train
val: ./dataset/images/val
nc: 2
names:
- BikesHelmets
- BikesNoHelmets| ID | Classe |
|---|---|
| 0 | BikesHelmets |
| 1 | BikesNoHelmets |
Para converter anotações Pascal VOC XML para o formato YOLO:
python xml_to_yolo_converter.pyClasses utilizadas:
classes = [
"With Helmet",
"Without Helmet"
]Executar:
python train_helmet_yolo.pyConfiguração principal:
model.train(
data="helmet_dataset.yaml",
epochs=100,
imgsz=640,
batch=24,
name="helmet_yolo11s_v2",
patience=50,
device=0,
workers=8,
optimizer="AdamW",
lr0=0.001,
augment=True,
cos_lr=True
)| Parâmetro | Valor |
|---|---|
| Modelo | YOLO11s |
| Epochs | 100 |
| Batch Size | 24 |
| Imagem | 640x640 |
| Optimizer | AdamW |
| Learning Rate | 0.001 |
| Scheduler | Cosine LR |
| Patience | 50 |
| Augmentation | Ativado |
Executar:
python main.pyFluxo executado:
- Carrega o modelo treinado
- Detecta automaticamente GPU ou CPU
- Processa imagens do diretório configurado
- Detecta motociclistas sem capacete
- Gera alertas de não conformidade
- Salva imagens anotadas
--- RESULTADOS DA ANALISE DE CONFORMIDADE ---
⚠️ 12 Detecções de 'Sem Capacete' encontradas!
[ALERTA]
Imagem: moto_001.jpg
Confiança: 0.943
BBOX: [120, 85, 312, 410]
[ALERTA]
Imagem: moto_002.jpg
Confiança: 0.918
BBOX: [95, 74, 285, 398]
CLASSES = {
0: "BikesHelmets",
1: "BikesNoHelmets"
}Classe alvo para fiscalização:
TARGET_CLASS_ID = 1Executar:
python export_model.pyCódigo utilizado:
from ultralytics import YOLO
model = YOLO(
"runs/detect/helmet_yolo11s_v2/weights/best.pt"
)
model.export(
format="coreml",
int8=True,
simplify=True
)Resultado:
runs/detect/helmet_yolo11s_v2/weights/best.mlpackage
Compatível com:
- iOS
- iPadOS
- macOS
- Apple Silicon
- Fiscalização eletrônica
- Segurança viária
- Smart Cities
- Sistemas ITS
- Monitoramento urbano
- Rodovias inteligentes
- Edge AI
- Câmeras de trânsito
- Análise automática de conformidade
| Categoria | Tecnologia |
|---|---|
| Linguagem | Python |
| Deep Learning | PyTorch |
| Detecção de Objetos | YOLOv11 |
| Framework | Ultralytics |
| Aceleração | CUDA |
| Exportação | Core ML |
| Anotação | Pascal VOC XML |
| Dataset | YOLO Format |
| Versionamento | Git + GitHub |
@misc{marcon2026helmetdetector,
author = {Jonathan Marcon},
title = {Helmet Detector: Real-Time Motorcycle Helmet Detection Using YOLOv11},
year = {2026},
publisher = {GitHub},
url = {https://github.com/JonathanMar/Helmet_detect}
}Este projeto está licenciado sob a licença MIT.
Consulte o arquivo LICENSE para mais informações.
O Helmet Detector utiliza YOLOv11 para identificar motociclistas com e sem capacete em imagens e vídeos. O sistema oferece treinamento personalizado, inferência em tempo real, exportação para Core ML e suporte a aceleração por GPU, sendo adequado para aplicações de fiscalização automática, monitoramento urbano e sistemas inteligentes de transporte.