RetinaFace-mnet optimal 1600 single-scale val set составил 0,887 (Easy) / 0,87 (Medium) / 0,791 (Hard).
Модель | 1 ядро | 2 ядра | 3 ядра | 4 ядра |
---|---|---|---|---|
libfacedetection v1 | 28 | 16 | 12 | 9,7 |
Official Retinaface-Mobilenet-0.25 (Mxnet) версия-slim | 29 | 16 | 12 | 9,5 |
версия-RFB | 35 | 19,6 | 14,8 | 11 |
Модель | Задержка логического вывода (мс) |
---|---|
slim-320 | 6,33 |
RFB-320 | 7,8 |
Модель | Задержка логического вывода (мс) |
---|---|
slim-320 | 65,6 |
RFB-320 | 164,8 |
Сравнение нескольких открытых исходных облегчённых моделей обнаружения лиц:
Модель | Размер файла модели (МБ) |
---|---|
libfacedetection v1 (caffe) | 2,58 |
libfacedetection v2 (caffe) | 3,34 |
Official Retinaface-Mobilenet-0,25 (Mxnet) | 1,68 |
Версия-slim | 1,04 |
Версия-RFB | 1,11 |
Загрузите официальный веб-сайт набора данных wideface или загрузите предоставленный мной обучающий набор и распакуйте его в папку ./data: (1) Чистый пакет данных wideface после фильтрации небольших лиц размером 10px * 10px: Baidu cloud disk (код извлечения: cbiu), Google Drive; (2) Полный пакет данных сжатия wideface без фильтрации маленьких лиц: Baidu cloud disk (код извлечения: ievk), Google Drive.
(PS: если вы загрузили отфильтрованные пакеты в (1), вам не нужно выполнять этот шаг) Поскольку в wideface много маленьких и неясных лиц, что не способствует сходимости эффективных моделей, необходимо выполнить фильтрацию для обучения. По умолчанию будут отфильтрованы лица размером менее 10 пикселей на 10 пикселей. Запустите ./data/wider_face_2_voc_add_landmark.py:
python3 ./data/wider_face_2_voc_add_landmark.py
После запуска программы и её завершения в каталоге ./data будет создана папка wider_face_add_lm_10_10. Папка данных и пакет данных (1) после распаковки совпадают. Полная структура каталогов выглядит следующим образом:
data/
retinaface_labels/
test/
train/
val/
wider_face/
WIDER_test/
WIDER_train/
WIDER_val/
wider_face_add_lm_10_10/
Annotations/
ImageSets/
JPEGImages/
wider_face_2_voc_add_landmark.py
На данный момент обучающий набор VOC готов. В корневом каталоге проекта есть два скрипта: train-version-slim.sh и train-version-RFB.sh. Первый используется для обучения модели slim версии, а второй — для обучения модели RFB версии. Параметры по умолчанию уже установлены, если параметры необходимо изменить, обратитесь к описанию каждого параметра обучения в ./train.py.
Запустите train-version-slim.sh или train-version-RFB.sh:
sh train-version-slim.sh или sh train-version-RFB.sh
``` **Обнаружение эффектов изображения (разрешение ввода: 640x480)**
*Изображения не переведены.*
**PS**
- Если фактическая производственная сцена представляет собой среднее расстояние, большое лицо и небольшое количество лиц, рекомендуется использовать разрешение входного размера input_size: 320 (320x240) для обучения и использовать входной размер изображения 320x240, 160x120 или 128x96 для логического вывода, например, используя предоставленную модель предварительного обучения version-slim-320.pth или version-RFB-320.pth.
- Если фактическая производственная сцена является средней или дальней, а также средним или маленьким лицом и большим количеством лиц, рекомендуется принять:
(1) Оптимальное решение: разрешение входного размера input_size: 640 (640x480) для обучения, и использовать тот же или больший входной размер для логического вывода, например, с использованием предоставленной модели предварительного обучения version-slim-640.pth или version-RFB-640.pth для логического вывода, что снижает ложные срабатывания.
(2) Субоптимальное решение: разрешение входного размера input_size: 320 (320x240) для обучения, и использование размера входного изображения 480x360 или 640x480 для логического вывода, более чувствительное к маленьким лицам, при этом увеличится количество ложных срабатываний.
- Для каждой сцены наилучшие результаты требуют настройки разрешения ввода для достижения баланса между скоростью и точностью.
- Чрезмерное разрешение ввода улучшит коэффициент отзыва маленьких лиц, но также увеличит коэффициент ложных срабатываний больших и близких лиц, а скорость логического вывода будет увеличиваться экспоненциально.
- Слишком маленькое разрешение ввода значительно ускорит логический вывод, но значительно снизит коэффициент отзыва маленьких лиц.
- Разрешение ввода производственной сцены должно быть как можно более согласованным с разрешением ввода модели обучения, а колебания вверх и вниз не должны быть слишком большими.
**TODO LIST**
- Добавить некоторые тестовые данные.
**Завершённый список**
- Тестовый код Widerface (https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/tree/master/widerface_evaluate).
- Код вывода NCNN C++ (https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/tree/master/ncnn) ([vealocia](https://github.com/vealocia)).
- Код вывода MNN C++ (https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/tree/master/MNN), код вывода MNN Python (https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/tree/master/MNN/python).
- Модель Caffe (https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/tree/master/caffe/model) и код преобразования onnx2caffe (https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/tree/master/caffe).
- Код логического вывода Caffe Python (https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/blob/master/caffe/ultra_face_caffe_inference.py) и код логического вывода OpencvDNN (https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB/blob/master/caffe/ultra_face_opencvdnn_inference.py).
**Проекты, связанные с третьими сторонами**
- Код вывода NNCase C++ (https://github.com/kendryte/nncase/tree/master/examples/fast_facedetect).
- UltraFaceDotNet (C#) (https://github.com/takuya-takeuchi/UltraFaceDotNet).
- faceDetect-ios (https://github.com/Ian778/faceDetect-ios).
- Android-FaceDetection-UltraNet-MNN (https://github.com/jackweiwang/Android-FaceDetection-UltraNet-MNN).
- Ultra-Tensorflow-Model-Converter (https://github.com/jason9075/Ultra-Light-Fast-Generic-Face-Detector_Tensorflow-Model-Converter).
- UltraFace TNN C++ Demo (https://github.com/DefTruth/lite.ai.toolkit/blob/main/lite/tnn/cv/tnn_ultraface.cpp).
**Ссылка**
- pytorch-ssd (https://github.com/qfgaohao/pytorch-ssd).
- libfacedetection (https://github.com/ShiqiYu/libfacedetection/).
- RFBNet (https://github.com/ruinmessi/RFBNet).
- RFSong-779 (https://github.com/songwsx/RFSong-779).
- Retinaface (https://github.com/deepinsight/insightface/blob/master/RetinaFace/README.md).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )