赞
踩
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
最终:
_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
每个子目录下都有README,一般哪里报错装哪里。
以及论文https://arxiv.org/pdf/1812.01936.pdf
关于比赛的。
需要先pip install insightface,还需要模型文件。
其中test.py 用的是最新的人脸检测算法scrfd(比RetinaFace检测器更厉害)。但遇到的问题是无法加载到GPU执行,CPU一张图用时1秒钟检测出来。
原图:
output:
这是很有用的文件,但是我无法正常运行。insightface用onnx当通用后端,加载模型都是靠加载onnx文件来加载模型。但github上都是提供的mxnet格式的预训练模型权重。
三个检测器。
RetinaFace需要make后使用。
RetinaFaceAntiCov需要把RetinaFace的编译文件加载进来后make后使用。
scrfd需要python setup.py install。
跑test.py后,模型认为:
time cost 0.00120697
gender is 1
age is 30
就是insightface的pypi包。
只看了arcface_torch文件夹,可以提取图片的特征,512维。
发现宝藏级好用的:
https://github.com/serengil/deepface
1 人脸检测 2 人脸识别 3 人脸搜索1:N 4 人脸性别年龄情感种族 5 视频流实时分析 6 WEB API
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。