1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/CV_Lab-face-labeling

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
yolov5_darkface.md 7.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 07:53 4517199

🔥 Построение модели обнаружения лиц YOLOv5 на основе DARK FACE

Автор: Цзыфэй Цэнь

💡 Подготовка набора данных DARK FACE

📌 Официальный сайт для скачивания DarkFace_Train_2021.zip.

📌 После загрузки и распаковки получаем папки image и label.

📌 Метки в наборе данных DARK FACE имеют следующий формат:

5
395 324 422 350
455 310 477 335
572 315 612 355
672 301 716 344
504 340 508 344

📌 Исходное распределение данных в наборе DARK FACE:

Набор данных Количество экземпляров Количество изображений Количество меток
image 50399 6000 6000

💡 Создание тренировочного и проверочного наборов данных YOLOv5

⚡ Распределение тренировочного и проверочного наборов

❤️ После очистки исходных данных они распределяются следующим образом:

Набор данных Количество экземпляров Количество изображений Доля экземпляров (%) Доля изображений (%)
Тренировочный набор 40200 4769 79,76 79,48
Проверочный набор 10199 1231 20,24 20,52
Всего 50399 6000 100 100

💡 Построение модели детектора лиц

📌 darkface.yaml

path: ../datasets/darkface  # каталог набора данных
train: images/train  # тренировочные изображения (относительно 'path') 128 изображений
val: images/val  # проверочные изображения (относительно 'path') 128 изображений
test:  # тестовые изображения (необязательно)

# Классы
nc: 1  # количество классов
names: ['face']  # имена классов

📌 yolov5m.yaml (частично)

# YOLOv5 🚀 by Ultralytics, лицензия GPL-3.0

# Параметры
nc: 1  # количество классов
depth_multiple: 0.67  # коэффициент глубины модели
width_multiple: 0.75  # коэффициент ширины слоя

📌 hyp.scratch-low.yaml (по умолчанию)

# YOLOv5 🚀 by Ultralytics, лицензия GPL-3.0
# Гиперпараметры для обучения COCO с низким уровнем аугментации с нуля
# python train.py --batch 64 --cfg yolov5n6.yaml --weights '' --data coco.yaml --img 640 --epochs 300 --linear
# См. руководства по эволюции гиперпараметров https://github.com/ultralytics/yolov5#tutorials

lr0: 0.01  # начальная скорость обучения (SGD=1E-2, Adam=1E-3)
lrf: 0.01  # конечная скорость обучения OneCycleLR (lr0 * lrf)
momentum: 0.937  # импульс SGD/бета1 Адама
weight_decay: 0.0005  # затухание оптимизатора 5e-4
warmup_epochs: 3.0  # эпохи прогрева (допустимы доли)
warmup_momentum: 0,8  # начальный импульс прогрева
warmup_bias_lr: 0.1  # начальная скорость прогрева смещения
box: 0.05  # усиление потерь коробки
cls: 0.5  # усиление потерь класса
cls_pw: 1.0  # положительный вес BCELoss класса
obj: 1.0  # усиление объектных потерь (масштабирование с пикселями)
obj_pw: 1.0  # положительный вес BCELoss объекта
iou_t: 0.20  # порог обучения IoU
anchor_t: 4.0  # пороговое значение якоря-множителя
# anchors: 3  # якоря на выходной слой (0 для игнорирования)
fl_gamma: 0.0  # гамма фокальных потерь (эффективный детектор по умолчанию gamma=1.5)
hsv_h: 0.015  # аугментация HSV-Hue изображения (доля)
hsv_s: 0.7  # аугментация HSV-Saturation изображения (доля)
hsv_v: 0.4  # аугментация HSV-Value изображения (доля)
degrees: 0.0  # вращение изображения (+/- град)
translate: 0.1  # перевод изображения (+/- доля)
scale: 0.5  # масштаб изображения (+/- прирост)
shear: 0.0  # сдвиг изображения (+/- град)
perspective: 0.0  # перспектива изображения (+/- доля), диапазон 0–0,001
flipud: 0.0  # переворот изображения вверх-вниз (вероятность)
fliplr: 0.5  # переворот влево-вправо (вероятность)
mosaic: 1.0  # мозаика изображения (вероятность)
mixup: 0.0  # микширование изображения (вероятность)
copy_paste: 0.0  # копирование-вставка сегмента (вероятность)

❤️ Выполнение команды обучения

python train.py --weights ./yolov5m.pt --cfg ./models/yolov5m.yaml --data ./data/darkface.yaml --epochs 200 --batch-size 32 --name darkface

📌 Переименование best.pt в darkface-m.pt

💡 Анализ результатов обучения и выводы

📌 Параметры обучения

Свойство Значение
Слой 369
Параметры 20871318
GFLOPs 48,2
Занятость GPU-памяти 13,7 Гбайт
Время выполнения 2,429 ч
Batch Size 32
Эпохи 200
Гипотезы hyp.scratch-low (по умолчанию)

❗ Примечание: другие параметры обучения — это параметры по умолчанию для YOLOv5.

📌 Показатели модели после обучения (YOLOv5 по умолчанию)

Класс AP AP50
face 0,287 0,636

📌 W&B показатели AP и AP50 после обучения

📌 W&B потери при обучении и проверке

❤️ Загрузка модели

| Модель | Адрес для скачивания | Размер модели | Область применения | Поддерживаемые устройства | |---|---|---|---|---| даркфейс-м 百度云, 提取码:mm2k 42,2 МБ реальное время, изображения, видео GPU

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/CV_Lab-face-labeling.git
git@api.gitlife.ru:oschina-mirror/CV_Lab-face-labeling.git
oschina-mirror
CV_Lab-face-labeling
CV_Lab-face-labeling
master