r硬核科普:人脸特征提取 读懂独一无二的你 - 知乎
人脸检测:
GitHub - derronqi/yolov7-face: yolov7 face detection with landmark
人脸识别工具:
https://github.com/JDAI-CV/FaceX-Zoo
评价指标:
1、深度解析|人脸识别中的人脸监测、定位校准和对比等技术-今日头条 (toutiao.com)
一个简单的人脸识别系统的设计和实现 - 知乎 (zhihu.com)
2、
insightface/recognition at master · deepinsight/insightface · GitHub
3、人脸矫正方案收集_yuanlulu的博客-CSDN博客_人脸识别人脸矫正
YOLOv5-Face | 原理超精细讲解、训练步骤还原、C++边缘部署(就要这么学!!!)
6、实战
Version:0.9 StartHTML:0000000105 EndHTML:0000021287 StartFragment:0000000141 EndFragment:0000021247
7、partial_fc人脸识别算法
数据集:
glint100k
webface42m数据集
CVPR 2021 | WebFace260M:百万级人脸识别数据集和基准 - 知乎
Thank you for your attention to WebFace260M dataset. The GoogleDrive link below is the download address of the WebFace260M dataset, including aligned faces (WebFace42M) and the urls of raw images before cleaning.
The reason why we provide the urls of WebFace260M is that the total size of raw images of WebFace260M is huge, about 50T.
Link:https://drive.google.com/drive/folders/1O5pG6cPgK3myibx9gwEiW5RXifq4LwhL?usp=sharing
Unzip code: 4spbbix6s9DvWXt
8.
在人脸识别中,深度学习模型可以提取多种特征,这些特征包括但不限于以下几类:
面部特征:深度学习模型能够学习到人脸的整体形状、轮廓和基本特征,如眼睛、鼻子、嘴巴的位置和形状,以及面部的整体结构。
纹理特征:模型可以学习到人脸的皮肤纹理、斑点、皱纹等细节特征,这些特征可以用于识别和验证。
眼睛特征:深度学习模型可以提取眼睛的特征,包括瞳孔大小、眼球位置、眼睛的形状和轮廓等。
嘴巴特征:模型能够学习到嘴巴的特征,包括嘴唇的形状、嘴角的位置和嘴唇的开合程度。
鼻子特征:深度学习模型可以提取鼻子的形状、大小和位置等特征。
脸部表情特征:模型可以检测和分析脸部的表情,如微笑、愤怒、惊讶等,这些特征对于情感分析和情感识别非常重要。
光照和阴影特征:模型可以学习到光照条件下的面部特征,包括阴影、高光和光线变化等。
深层特征:深度学习模型的多层卷积和全连接层可以提取更高级别的抽象特征,如脸部的整体表示、面部的对称性等。
姿态特征:模型可以检测头部的姿态,包括头部的旋转和倾斜角度,这有助于提高人脸识别的鲁棒性。
嵌入向量:深度学习模型通常会将人脸图像映射到嵌入向量空间,这些向量捕捉了人脸的高级特征,可以用于比较和识别。
总之,深度学习模型可以从人脸图像中提取多种特征,从低级的几何特征到高级的抽象特征,这些特征有助于区分不同人脸之间的差异,从而实现人脸识别、验证和相关任务。这些特征的组合使得深度学习模型在处理复杂的人脸数据时表现出色。
9.
在ArcFace损失函数中,有一个被称为 scale
的参数,通常表示为 �s。这个参数是用来调整余弦相似度的缩放的,对模型的训练和性能有一定的影响。ArcFace损失函数的一般形式如下:
ArcFace loss=−1�∑�=1�log(��⋅cos(���,�)��⋅cos(���,�)+∑�≠����⋅cos(��,�))ArcFace loss=−N1∑i=1Nlog(es⋅cos(θyi,i)+∑j=yies⋅cos(θj,i)es⋅cos(θyi,i))
其中:
scale
参数 �s 在这个损失函数中的作用是调整余弦相似度的范围,使得在特征空间中更好地优化相似性。通过调整 �s 的值,可以影响损失函数对同一类别样本的相似性的敏感性。
通常,通过调整 scale
参数,可以实现以下效果:
增加 scale
的值:
scale
值可能导致梯度爆炸或训练不稳定。减小 scale
的值:
scale
值可能导致相似性不够明显。选择适当的 scale
参数通常需要根据具体的任务和数据集进行调整,以平衡同一类别样本的相似性和不同类别样本的差异性,从而提高人脸识别模型的性能。在实践中,这个参数可能需要通过交叉验证或调试来确定最佳值。
10.arcface
思路:
1.基于softmax衍生而来,x,w归一化,最终是求余弦相似度,角度越小,余弦相似度越大。再在角度上加m,为了得到更小的角度,再减去m,类内角度会更小,从而类间距角度更大。scal是放大相似度的倍数,使类间距更大,类内聚拢。
代码思路:
1.x,w归一化 2.全连接相当于计算余弦相似度 3.计算正弦值 4.phi=cos(角度+m)= cos角度cosm-sin角度sinm 5.将label生成one-hot 6.将正样本one-hot*phi+负样本余弦相似度(1-one-hot)*cosine 7.放大scale倍 8.作为输出,计算loss
11.
12.人脸角度
13.人脸关键点
GitHub - AnthonyF333/PFLD_GhostOne
14.人脸质量 模型
https://github.com/LSIbabnikz/FaceQAN
https://modelscope.cn/models/iic/cv_manual_face-quality-assessment_fqa