Описание проекта
Этот проект посвящен разработке и обучению моделей для детекции масок на лицах с использованием методов глубокого обучения. Мы сравниваем одноуровневые и двухуровневые детекторы, такие как YOLOv5 и Faster R-CNN, применяя метрики Intersection over Union (IoU) и Average Precision (AP) для оценки производительности моделей. Основная цель проекта — достичь точности выше 85% на валидационной выборке. Структура проекта
data/ — Датасеты, используемые для обучения и валидации модели.
models/ — Сохраненные модели и веса, полученные в процессе обучения.
notebooks/ — Jupyter ноутбуки с кодом для обучения, валидации и визуализации.
src/ — Исходный код, включая определения моделей и функции для обучения.
results/ — Визуализация результатов, включая графики и примеры предсказаний модели.
Чтобы запустить проект локально, выполните следующие шаги:
Клонируйте репозиторий:
bash
git clone https://github.com/USERNAME/REPOSITORY_NAME.git cd REPOSITORY_NAME
Создайте и активируйте виртуальное окружение:
bash
python -m venv myenv source myenv/bin/activate # Для Windows используйте myenv\Scripts\activate
Установите необходимые зависимости:
bash
pip install -r requirements.txt
Запустите Jupyter Notebook для воспроизведения экспериментов:
bash
jupyter notebook
Для обучения модели запустите ноутбук train_model.ipynb, который содержит шаги по загрузке данных, обучению и оценке модели. Результаты
На текущий момент модель достигла точности выше 85% на валидационной выборке. В процессе обучения было замечено следующее:
Эффективность потерь: Визуализация потерь показала стабильное снижение, что свидетельствует о хорошем процессе обучения.
Average Precision: Значения AP колебались, но в целом увеличивались, достигая максимума на уровне 0.8451. Это подтверждает стабильность и надежность модели.
Примеры предсказаний модели и графики метрик можно найти в папке results/. Лицензия
Этот проект лицензирован под MIT License — подробности см. в файле LICENSE. Датасет
Датасет содержит изображения с лицами в трех категориях:
С маской
Без маски
Маска надета неправильно
Контакты
Для вопросов и предложений вы можете связаться со мной через GitHub.