/ Модель

Характеристики

Библиотека
ultralytics
Опубликована
3 сен 2026

helmet-detection-yolov8

Поиск объектовИзображение → bounding_boxes3 профессии

YOLOv8n обнаруживает на изображениях мотоциклистов в шлемах и без них для автоматизированного контроля безопасности дорожного движения.

101скачиваний за 30 дней1лайквеса обновлены3 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Ganesh-Nadkarni/helmet-detection-yolov8 — модель YOLOv8n на базе Ultralytics для обнаружения мотоциклистов в шлемах и без шлемов на изображениях и видеопотоке. Она предназначена для контроля использования шлемов, в том числе как компонент систем видеонаблюдения за дорожным движением. Модель принимает изображения и выдаёт рамки объектов с классами «в шлеме» и «без шлема». Для неё указан показатель mAP50-95 0,32925; веса представлены в формате PyTorch. Модель распространяется по лицензии, указанной в метаданных Hugging Face, если она доступна.

Сценарии применения

  • обнаружение мотоциклистов без шлема на дорожных камерах
  • подсчёт мотоциклистов в шлемах и без шлемов на видео
  • проверка соблюдения требований к шлемам в системе видеонаблюдения

Ограничения

Указанный показатель mAP50-95 составляет 0,32925; качество обнаружения может зависеть от условий съёмки. В README не приведены данные о лицензии, поэтому условия использования следует сверить с карточкой репозитория.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model Information

This repository contains the YOLOv8n model used by ViolaWatch for helmet detection.

Model Details

  • Architecture: YOLOv8n
  • Task: Object Detection
  • Classes:
    • With Helmet
    • Without Helmet
  • Framework: Ultralytics
  • Model format: PyTorch (.pt)
  • Best mAP50-95: 0.32925

Using the Model

Install Ultralytics:

pip install ultralytics

# 🚦 ViolaWatch v2 — Traffic Violation Detection System

Real-time detection of **no-helmet motorcyclists** and **seatbelt violations**,  
with **license plate recognition**, MySQL storage, Desktop GUI, and web dashboard.

---

## Quick Start

### Desktop GUI (Recommended for local use)
```bash
pip install -r requirements.txt
python main.py

Web Server (Local or hosted)

pip install -r requirements.txt
python main.py --web
# Open http://localhost:5000

MySQL Setup

Option A: Local MySQL

CREATE DATABASE violawatch;
CREATE USER 'viola'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL ON violawatch.* TO 'viola'@'localhost';

Edit config/config.ini:

[database]
host = localhost
user = viola
password = your_password
database = violawatch

No MySQL? The app auto-falls back to SQLite — just run it!

Option B: Free MySQL cloud (for hosting)

Set environment variables instead of config.ini:

DB_HOST=...  DB_USER=...  DB_PASSWORD=...  DB_NAME=violawatch

Free Hosting Deployment

🚂 Railway (Easiest — recommended)

  1. Push code to GitHub
  2. Go to https://railway.app → New Project → Deploy from GitHub
  3. Add MySQL plugin → copy connection vars to environment
  4. It auto-detects Procfile and deploys

🎨 Render

  1. Push to GitHub
  2. https://render.com → New Web Service → connect repo
  3. Render reads render.yaml automatically
  4. Add MySQL env vars from Aiven/PlanetScale

🐳 Docker (anywhere)

docker build -t violawatch .
docker run -p 5000:5000 \
  -e DB_HOST=... -e DB_USER=... -e DB_PASSWORD=... \
  violawatch

☁️ Fly.io

fly launch --name violawatch
fly secrets set DB_HOST=... DB_USER=... DB_PASSWORD=...
fly deploy

Video Upload (Testing)

From the web dashboard or Desktop GUI:

  1. Click Upload Video File
  2. Select MP4/AVI/MOV file (up to 500MB)
  3. Processing runs in background — live preview updates in real-time
  4. Violations auto-saved to database with snapshots

Supported formats: mp4 avi mov mkv wmv webm


Camera Sources

TypeValue
Webcam0
2nd webcam1
CCTV RTSPrtsp://user:pass@192.168.1.100:554/stream
IP Camerahttp://192.168.1.101/video
Video file/path/to/video.mp4

Detection Accuracy

ViolationMethodExpected Accuracy
No HelmetSkin-color head analysis75–85%*
No SeatbeltDiagonal line detection70–80%*
License PlateContour + EasyOCR75–90%

*Upgrade to custom-trained YOLOv8 model for 90-95%+ accuracy:

# Download free datasets from: https://universe.roboflow.com
# Then in config/config.ini:
[models]
helmet_model = models/helmet_yolov8m.pt
seatbelt_model = models/seatbelt_yolov8m.pt

Project Structure

violawatch/
├── main.py              ← Entry point (GUI or web)
├── server.py            ← Flask web API
├── Procfile             ← Railway/Heroku deploy
├── Dockerfile           ← Docker deploy
├── render.yaml          ← Render deploy
├── railway.toml         ← Railway config
├── requirements.txt
├── config/
│   ├── config.ini       ← All settings
│   └── __init__.py      ← Config loader
├── core/
│   └── detector.py      ← Detection engine
├── utils/
│   ├── frame_processor.py  ← YOLOv8 pipeline
│   └── plate_reader.py     ← OCR
├── database/
│   └── db_manager.py    ← MySQL + SQLite
├── gui/
│   └── app.py           ← Desktop GUI (Tkinter)
└── web/
    └── index.html       ← Web dashboard

Environment Variables (for hosting)

VariableDescription
DB_HOSTMySQL host
DB_PORTMySQL port (default 3306)
DB_USERMySQL username
DB_PASSWORDMySQL password
DB_NAMEDatabase name
PORTServer port (auto-set by hosting)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · ultralytics

Нельзя запустить

Модели Ultralytics YOLO требуют отдельного рантайма.

Ревизия весов
dec7b9a

0 моделей