论文地址:https://arxiv.org/abs/2105.04714,accepted by ICLR-2022
工程地址:https://github.com/deepinsight/insightface/tree/master/detection/scrfd
下一篇博客,如何用SCRFD训练自己的数据
文章目录
- 1、算法解读
- 2、环境安装(亲测可行)
1、算法解读
先挖个坑,待我仔细读了论文,后面再填。。。
性能对比如下:
2、环境安装(亲测可行)
首先下载scrfd源代码
git clone https://github.com/deepinsight/insightface.git
切换到detection/scrfd目录下,或者可以直接把scrfd目录单独move出来,其他剩余的删除掉。
创建conda虚拟环境:
conda create -n scrfd_py38 python=3.8
进入新建的虚拟环境并安装pytorch环境:
source activate scrfd_py38
python -m pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
安装mmcv-full
python -m pip install -U openmim
mim install mmcv-full==1.3.3
安装mmdet,根据mmdetection仓库的安装提示,有两种方式,一种方式是若需要基于mmdet二次开发,需要从源码编译安装;另一种,若只是调用mmdet作为第三方库依赖,则可以直接通过pip install mmdet
安装,而scrfd是基于mmdet开发的,所以需要编译安装。
# 进入scrfd目录进行编译安装
python -m pip install Cython==0.29.12 # 这里版本非常重要,没有这一个指定安装版本,会在build.txt中安装最新版本的Cython,最后在编译mmpycocotools包安装时报错
python -m pip install -r requirements/build.txt
python -m pip install -v -e . # 编译
最终安装成功后,通过python -m pip list
查看 mmdet 库是指向你的代码路径的:
真正训练的时候,还会报错缺少scipy和imgaug,分别安装即可
python -m pip install scipy
python -m pip install imgaug
当碰到如下错误,
是因为mmcv-full和yapf版本不兼容导致的,mmcv-full版本太低,默认安装了yapf最新版,降低yapf版本即可,参考博客:
python -m pip install yapf==0.30.0
后面又碰到numpy库报错,
很明显是现在使用的版本太高了,需要降版本
python -m pip install numpy==1.23.2
后面就能真正训练起来了:
下一篇博客,如何用SCRFD训练自己的数据