Определение усталости водителя

Модель MobileViT v2 для классификации состояния водителя: сонный или бодрый. Точность 98.18% на независимой тестовой выборке. Применяется в системах безопасности транспортных средств.

0/5
0 скачиваний
0 отзывов
Определение усталости водителя
Подходит для задач:
Image Classification
Сферы:
Транспорт и логистика
Библиотеки:
PyTorch
Языки:
Английский
Тэги:
#mobilevit
#drowsiness-detection
#computer-vision
#image-classification
Ключевые слова:
#усталость
#водитель
#сонливость
#безопасность
#транспорт
#классификация

Описание

MobileViT v2 — Определение усталости водителя

Данный репозиторий содержит модель классификации MobileViT v2, дообученную для определения сонливости водителя по изображениям. Это современная лёгкая гибридная архитектура, сочетающая свёрточные сети с Vision Transformers. Модель классифицирует входные изображения на два класса: Drowsy (сонный) и Non Drowsy (бодрый).

Обучена в PyTorch с использованием библиотеки timm и демонстрирует высокую производительность на независимой тестовой выборке.

Сведения о модели

  • Архитектура: mobilevitv2_200
  • Дообучена на: Объединённый датасет для определения сонливости водителей (>40 000 изображений)
  • Классы: Drowsy, Non Drowsy
  • Фреймворки: PyTorch, timm

Начало работы

import torch
import timm
from PIL import Image
from torchvision import transforms

val_test_transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])

class_names = ['Drowsy', 'Non Drowsy']

model = timm.create_model('mobilevitv2_200', pretrained=False, num_classes=2)
model.load_state_dict(torch.load('best_model.pt', map_location='cpu'))
model.eval()

image = Image.open('path/to/image.jpg').convert('RGB')
input_tensor = val_test_transform(image).unsqueeze(0)

with torch.no_grad():
    output = model(input_tensor)
    probabilities = torch.nn.functional.softmax(output[0], dim=0)
    top_prob, top_class_index = torch.topk(probabilities, 1)

print(f"Prediction: {class_names[top_class_index.item()]} ({top_prob.item():.4f})")

Обучение

Модель дообучена на датасете >40 000 изображений водителей с применением:
- Аугментации: RandomResizedCrop, RandomHorizontalFlip, ColorJitter, RandomErasing
- Transfer Learning: инициализация весами ImageNet
- Early Stopping: остановка после 30 эпох без улучшения на валидации

Гиперпараметры

Параметр Значение
Размер изображения 224×224
Размер батча 64
Оптимизатор AdamW (lr=1e-4)
Планировщик ExponentialLR (gamma=0.90)
Функция потерь CrossEntropyLoss

Оценка качества

Модель оценивалась на полностью независимой тестовой выборке (из другого датасета) для честной проверки обобщающей способности.

Метрика Значение Описание
Accuracy 98.18% Общая точность на тестовой выборке
APCER 3.57% Доля пропущенных сонных водителей (ложные отрицания)
BPCER 0.00% Доля ложных срабатываний на бодрых водителях
ACER 1.78% Среднее APCER и BPCER

APCER — наиболее критичная метрика безопасности: измеряет частоту пропуска сонного водителя.

Ограничения

Модель предназначена как прототип для систем безопасности водителей и академических исследований. Не следует использовать её как единственный механизм предотвращения аварий без дополнительного тестирования.

Производительность может варьироваться в зависимости от:
- Условий освещения (особенно ночью)
- Угла и расстояния камеры
- Перекрытий (очки, шляпы, руки на лице)
- Индивидуальных особенностей, не представленных в обучающих данных

Предпросмотр файлов

В этой модели нет файлов для предпросмотра.

Просмотры

Скачивания

Похожие модели

Кейсы внедрения

Обсудите модель
с топами рынка в бизнес чате
Есть вопросы по модели?
Написать автору

Оценка

Детали модели

Автор: Qubu Team
Объем: 66.76 МБ
Комментарии: 0
Просмотры: 10
Скачивания: 0
Лицензия: MIT
Дата добавления: 26.02.2026

Автор

Qubu Team

Qubu Team

Команда

Профиль команды
Загрузка...
Загрузка комментариев...