Определение усталости водителя
Модель MobileViT v2 для классификации состояния водителя: сонный или бодрый. Точность 98.18% на независимой тестовой выборке. Применяется в системах безопасности транспортных средств.
О сервисе
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 — наиболее критичная метрика безопасности: измеряет частоту пропуска сонного водителя. Ограничения Модель предназначена как прототип для систем безопасности водителей и академических исследований. Не следует использовать её как единственный механизм предотвращения аварий без дополнительного тестирования. Производительность может варьироваться в зависимости от: - Условий освещения (особенно ночью) - Угла и расстояния камеры - Перекрытий (очки, шляпы, руки на лице) - Индивидуальных особенностей, не представленных в обучающих данных Источник: https://qubu.ai/models/ml-opredelenie-ustalosti-voditelya License: MIT





