当前位置:   article > 正文

insightface 使用记录 arcface 人脸识别

insightface

目标

1 能进行人脸检测,检测一张图里的各张人脸图。
2 能进行人脸特征提取,每一张人脸对应一个512维特征。进行人脸识别可以借助arcface损失距离看两张人脸相似度。
3 能进行性别估计,年龄估计。
4 能判断有没有戴口罩,人脸的左右眼、鼻子、左右嘴角检测点。

源码

https://github.com/deepinsight/insightface

环境

用python 3.8,过程大概是:

# CUDA 10.1
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
pip install mxnet-cu101=1.7
pip install easydict
pip install opencv-python
pip install onnx
pip install scikit-learn
pip install protobuf
pip install insightface
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

最终:

_libgcc_mutex             0.1                        main    defaults
_openmp_mutex             4.5                       1_gnu    defaults
addict                    2.4.0                    pypi_0    pypi
blas                      1.0                         mkl    defaults
brotlipy                  0.7.0           py38h27cfd23_1003    defaults
ca-certificates           2021.5.25            h06a4308_1    defaults
cartopy                   0.18.0           py38h0d9ca2b_1    defaults
certifi                   2021.5.30        py38h06a4308_0    defaults
cffi                      1.14.5           py38h261ae71_0    defaults
chardet                   4.0.0           py38h06a4308_1003    defaults
click                     7.1.2                    pypi_0    pypi
colorama                  0.4.4                    pypi_0    pypi
cryptography              3.4.7            py38hd23ed53_0    defaults
cudatoolkit               10.1.243             h6bb024c_0    defaults
cycler                    0.10.0                   py38_0    defaults
cython                    0.29.23          py38h2531618_0    defaults
decorator                 4.4.2                    pypi_0    pypi
dlib                      19.22.0                  pypi_0    pypi
easydict                  1.9                      pypi_0    pypi
face-recognition          1.3.0                    pypi_0    pypi
face-recognition-models   0.3.0                    pypi_0    pypi
flask                     1.1.2              pyhd3eb1b0_0    defaults
flatbuffers               2.0                      pypi_0    pypi
freetype                  2.10.4               h5ab3b9f_0    defaults
geos                      3.8.0                he6710b0_0    defaults
gmp                       6.2.1                h2531618_2    defaults
gmpy2                     2.0.8            py38hd5f6e3b_3    defaults
idna                      2.10               pyhd3eb1b0_0    defaults
imageio                   2.9.0                    pypi_0    pypi
importlib-metadata        3.10.0           py38h06a4308_0    defaults
insightface               0.2.1                    pypi_0    pypi
intel-openmp              2021.2.0           h06a4308_610    defaults
itsdangerous              2.0.1              pyhd3eb1b0_0    defaults
jinja2                    3.0.0              pyhd3eb1b0_0    defaults
joblib                    1.0.1              pyhd8ed1ab_0    conda-forge
jpeg                      9b                   h024ee3a_2    defaults
kiwisolver                1.3.1            py38h2531618_0    defaults
lcms2                     2.12                 h3be6417_0    defaults
ld_impl_linux-64          2.35.1               h7274673_9    defaults
libblas                   3.9.0                     9_mkl    conda-forge
libcblas                  3.9.0                     9_mkl    conda-forge
libffi                    3.3                  he6710b0_2    defaults
libgcc-ng                 9.3.0               h5101ec6_17    defaults
libgfortran-ng            7.5.0               ha8ba4b0_17    defaults
libgfortran4              7.5.0               ha8ba4b0_17    defaults
libgomp                   9.3.0               h5101ec6_17    defaults
libpng                    1.6.37               hbc83047_0    defaults
libprotobuf               3.12.4               hd408876_0    defaults
libstdcxx-ng              9.3.0               hd4cf53a_17    defaults
libtiff                   4.2.0                h85742a9_0    defaults
libuv                     1.40.0               h7b6447c_0    defaults
libwebp-base              1.2.0                h27cfd23_0    defaults
lz4-c                     1.9.3                h2531618_0    defaults
markdown                  3.3.4                    pypi_0    pypi
markupsafe                2.0.1            py38h27cfd23_0    defaults
matplotlib-base           3.3.4            py38h62a2d02_0    defaults
mkl                       2021.2.0           h06a4308_296    defaults
mkl-service               2.3.0            py38h27cfd23_1    defaults
mkl_fft                   1.3.0            py38h42c9631_2    defaults
mkl_random                1.2.1            py38ha9443f7_2    defaults
mmcv-full                 1.3.6                    pypi_0    pypi
mmdet                     2.13.0                   pypi_0    pypi
model-index               0.1.11                   pypi_0    pypi
mpc                       1.1.0                h10f8cd9_1    defaults
mpfr                      4.0.2                hb69a4c5_1    defaults
mpmath                    1.2.1            py38h06a4308_0    defaults
mxnet-cu101               1.7.0                    pypi_0    pypi
ncurses                   6.2                  he6710b0_1    defaults
networkx                  2.5.1                    pypi_0    pypi
ninja                     1.10.2               hff7bd54_1    defaults
numpy                     1.20.3                   pypi_0    pypi
numpy-base                1.20.2           py38hfae3a4d_0    defaults
olefile                   0.46                       py_0    defaults
onnx                      1.9.0                    pypi_0    pypi
onnxruntime               1.8.0                    pypi_0    pypi
opencv-python             4.5.2.54                 pypi_0    pypi
openmim                   0.1.1                    pypi_0    pypi
openssl                   1.1.1k               h27cfd23_0    defaults
ordered-set               4.0.2                    pypi_0    pypi
pandas                    1.2.4            py38h2531618_0    defaults
pillow                    8.2.0            py38he98fc37_0    defaults
pip                       21.1.2           py38h06a4308_0    defaults
plotly                    4.14.3             pyhd3eb1b0_0    defaults
proj                      6.2.1                haa6030c_0    defaults
protobuf                  3.12.0                   pypi_0    pypi
pycocotools               2.0.2                    pypi_0    pypi
pycparser                 2.20                       py_2    defaults
pyopenssl                 20.0.1             pyhd3eb1b0_1    defaults
pyparsing                 2.4.7              pyhd3eb1b0_0    defaults
pyshp                     2.1.3              pyhd3eb1b0_0    defaults
pysocks                   1.7.1            py38h06a4308_0    defaults
python                    3.8.10               h12debd9_8    defaults
python-dateutil           2.8.1              pyhd3eb1b0_0    defaults
python-graphviz           0.8.4                    pypi_0    pypi
python_abi                3.8                      1_cp38    conda-forge
pytorch                   1.7.1           py3.8_cuda10.1.243_cudnn7.6.3_0    pytorch
pytz                      2021.1             pyhd3eb1b0_0    defaults
pywavelets                1.1.1                    pypi_0    pypi
pyyaml                    5.4.1                    pypi_0    pypi
readline                  8.1                  h27cfd23_0    defaults
requests                  2.25.1             pyhd3eb1b0_0    defaults
retrying                  1.3.3                      py_2    defaults
scikit-image              0.18.1                   pypi_0    pypi
scikit-learn              0.24.2           py38hdc147b9_0    conda-forge
scipy                     1.6.2            py38had2a1c9_1    defaults
setuptools                52.0.0           py38h06a4308_0    defaults
shapely                   1.7.1            py38h98ec03d_0    defaults
six                       1.15.0           py38h06a4308_0    defaults
sqlite                    3.35.4               hdfb4753_0    defaults
sympy                     1.8              py38h06a4308_0    defaults
tabulate                  0.8.9                    pypi_0    pypi
terminaltables            3.1.0                    pypi_0    pypi
threadpoolctl             2.1.0              pyh5ca1d4c_0    conda-forge
tifffile                  2021.6.6                 pypi_0    pypi
tk                        8.6.10               hbc83047_0    defaults
torchaudio                0.7.2                      py38    pytorch
torchvision               0.8.2                py38_cu101    pytorch
tornado                   6.1              py38h27cfd23_0    defaults
tqdm                      4.61.1                   pypi_0    pypi
typing                    3.7.4.3                  pypi_0    pypi
typing_extensions         3.7.4.3            pyha847dfd_0    defaults
urllib3                   1.26.5                   pypi_0    pypi
werkzeug                  1.0.1              pyhd3eb1b0_0    defaults
wheel                     0.36.2             pyhd3eb1b0_0    defaults
xarray                    0.18.0             pyhd3eb1b0_1    defaults
xz                        5.2.5                h7b6447c_0    defaults
yapf                      0.31.0                   pypi_0    pypi
zipp                      3.4.1              pyhd3eb1b0_0    defaults
zlib                      1.2.11               h7b6447c_3    defaults
zstd                      1.4.9                haebb681_0    defaults

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131

目录介绍

每个子目录下都有README,一般哪里报错装哪里。
在这里插入图片描述

1 alignment 文件夹里面的我用不到,有下面的功能:

在这里插入图片描述
以及论文https://arxiv.org/pdf/1812.01936.pdf

2 challenges

关于比赛的。

3 deploy

需要先pip install insightface,还需要模型文件。

test.py

其中test.py 用的是最新的人脸检测算法scrfd(比RetinaFace检测器更厉害)。但遇到的问题是无法加载到GPU执行,CPU一张图用时1秒钟检测出来。

原图:
在这里插入图片描述
output:
在这里插入图片描述

convert_onnx.py

这是很有用的文件,但是我无法正常运行。insightface用onnx当通用后端,加载模型都是靠加载onnx文件来加载模型。但github上都是提供的mxnet格式的预训练模型权重。

4 detection

三个检测器。
RetinaFace需要make后使用。
RetinaFaceAntiCov需要把RetinaFace的编译文件加载进来后make后使用。
scrfd需要python setup.py install。

5 gender-age

跑test.py后,模型认为:

time cost 0.00120697
gender is 1
age is 30
  • 1
  • 2
  • 3

在这里插入图片描述

6 python-package

就是insightface的pypi包。

7 recognition

只看了arcface_torch文件夹,可以提取图片的特征,512维。

发现宝藏级好用的:
https://github.com/serengil/deepface
1 人脸检测 2 人脸识别 3 人脸搜索1:N 4 人脸性别年龄情感种族 5 视频流实时分析 6 WEB API
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/289212
推荐阅读
相关标签
  

闽ICP备14008679号