Руководство основателя:
Как достичь точности более 90% с помощью двойного детектора лица (DSFD) в WSL2
Краткое руководство с инструкциями и скриншотами
Задний план:
Dual Shot Face Detector (DSFD) - это алгоритм обнаружения лиц с открытым исходным кодом, который обеспечивает более высокую точность по сравнению с каскадом Хаара, Dlib, MTCNN и DNN. Он обращается к трем ключевым областям обнаружения лиц, которые включают изучение функций, проектирование прогрессивных потерь и увеличение данных на основе привязки. Он также занял 1-е место в тесте WIDER FACE Face Detection Benchmark.
Сводка производительности:
Контрольная оценка проверяла каждую систему обнаружения на среднюю среднюю точность (MAP). В нем использовались лица, которые чрезвычайно трудно обнаружить из-за больших различий в масштабе, окклюзии, позе и беспорядке на фоне. Он также разделил набор данных на три отдельные категории в зависимости от уровня сложности.
Оценки проверки:
- 96,6% (mAP) на легком уровне сложности
- 95,7% (mAP) на среднем уровне сложности
- 90,4% (карта) на тяжелом уровне сложности
Результаты тестов:
- 96,0% (карта) на легком уровне сложности
- 95,3% (mAP) на среднем уровне сложности
- 90,0% (карта) на тяжелом уровне сложности
Откройте PowerShell:
- Нажмите «⊞ Windows».
- Введите «PowerShell» в строку поиска.
- Щелкните правой кнопкой мыши «Windows PowerShell».
- Нажмите «Запуск от имени администратора».
Откройте WSL2:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
wsl
Установите переменную имени пользователя:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
username=$(wslvar USERNAME)
Откройте каталог рабочего стола:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите «Возврат».
cd /mnt/c/users/$username/desktop/
Клонировать репозиторий:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
git clone https://github.com/Tencent/FaceDetection-DSFD
Откройте каталог FaceDetection-DSFD:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
cd FaceDetection-DSFD
Загрузите требование Python:
- Прочтите статью ниже этих инструкций
- Следуйте инструкциям в предоставленной статье.
- Установите Python 3.6 из исходного кода
How to Install Python From Source Code in WSL2
рис
Создайте виртуальную среду:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
python3.6 -m venv venv36
Активируйте виртуальную среду:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
source venv36/bin/activate
Установите требование к горелке:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
pip install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-linux_x86_64.whl
Установите требование TorchVision:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
pip install https://files.pythonhosted.org/packages/ca/0d/f00b2885711e08bd71242ebe7b96561e6f6d01fdb4b9dcf4d37e2e13c5e1/torchvision-0.2.1-py2.py3-none-any.whl
Установите другие требования:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
pip install matplotlib opencv-python scipy
Создайте каталог Eval_Tools:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
mkdir eval_tools
Скачать модель:
- Посетите DSFD Google Диск
- Нажмите кнопку «Загрузить».
- Нажмите кнопку «Все равно загрузить».
Создайте каталог весов:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
mkdir weights
Переместите файл модели:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
mv /mnt/c/users/$username/downloads/WIDERFace_DSFD_RES152.pth /mnt/c/users/$username/desktop/FaceDetection-DSFD/weights/WIDERFace_DSFD_RES152.pth
Скачать аннотации:
- Посетите официальный сайт WIDER FACE
- Прокрутите до раздела «Скачать».
- Нажмите «Аннотации к лицам».
Переместите файл аннотаций:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
mv /mnt/c/users/$username/downloads/wider_face_split.zip /mnt/c/users/$username/desktop/FaceDetection-DSFD/data/wider_face_split.zip
Установите Unzip:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
sudo apt install unzip
Разархивируйте файл аннотаций:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
unzip data/wider_face_split.zip -d data
Исправьте ошибки:
Следующие решения были собраны вместе путем чтения открытых и закрытых проблем в репозитории DSFD на GitHub и дословного поиска сообщений об ошибках в Google. Сообщения на разных языках читались с помощью Google Translate. Номера строк были включены в качестве приблизительных оценок.
Ошибка №1:
UserWarning: volatile был удален и теперь не действует. Используйте вместо torch.no_grad (): `
Ошибка # 2
RuntimeError: CUDA не хватает памяти. Пытался выделить 44,25 МБ (GPU 0; общая емкость 11,00 ГиБ; 9,56 ГБ уже выделено; 10,25 МБ свободно; 49,26 МБ кэшировано)
Ошибка № 3:
FileNotFoundError: [Errno 2] Нет такого файла или каталога: ‘/data2/lijian/widerface/data/wider_face_split\\wider_face_val.mat’
Ошибка №4:
ImportError: невозможно импортировать имя «pa_sfd_match»
Ошибка № 5:
TypeError: mul (): аргумент «другой» (позиция 1) должен быть Tensor, а не numpy.ndarray
Ошибка №6:
demo.py: ошибка: нераспознанные аргументы: - img_root ./data/worlds-largest-selfie.jpg
Ошибка № 7:
UserWarning: Поведение повышающей дискретизации по умолчанию, когда mode = bilinear изменено на align_corners = False, начиная с 0.4.0. Укажите align_corners = True, если желательно прежнее поведение. Подробности см. В документации nn.Upsample.
«Подробности см. В документации nn.Upsample.». Format (mode))
Следующие два шага необходимы только на компьютерах без графического процессора - только на центральном процессоре.
Ошибка № 8:
RuntimeError: попытка десериализации объекта на устройстве CUDA, но torch.cuda.is_available () имеет значение False. Если вы работаете на машине с центральным процессором, используйте torch.load с map_location = ’cpu’ для сопоставления ваших хранилищ с процессором.
Ошибка № 9:
AssertionError: Torch не скомпилирован с включенным CUDA.
Параметры командной строки:
- save_folder - это место, где хранится выходное изображение.
- image_root - это место, где хранится входное изображение.
- visual_threshold - порог, используемый для обнаружения лиц.
Протестируйте демонстрацию:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
python demo.py --img_root ./data/worlds-largest-selfie.jpg --visual_threshold 0.7
Деактивировать виртуальную среду:
- Скопируйте команду ниже этих инструкций
- Вставьте команду в PowerShell
- Нажмите Ввод"
deactivate
Что дальше:
Эта статья является частью мини-серии, которая помогает читателям настроить все необходимое, чтобы начать использовать WSL2 для искусственного интеллекта, машинного обучения, глубокого обучения или анализа данных. Он включает статьи, содержащие инструкции с кодом копирования и вставки, а также снимки экрана, которые помогают читателям получить результат как можно скорее. Он также включает статьи, содержащие инструкции с пояснениями и снимками экрана, которые помогают читателям понять, что происходит.
01. Install Windows Subsystem for Linux 2 (WSL2) 02. Install the NVIDIA CUDA Driver and Toolkit in WSL2 03. Install Software From Source Code in WSL2 04. Install the Jupyter Notebook Home and Public Server in WSL2 05. Install Virtual Environments in Jupyter Notebook in WSL2 06. Install Programs With a Graphical User Interface in WSL2 07. Install Ubuntu Desktop With a Graphical User Interface in WSL2
Надеюсь, эта статья помогла всем получить приз. Если вы хотите помочь, удерживайте «👋» и нажмите «Подписаться», чтобы получить больше информации. Спасибо за внимание!