TransFace模型介绍
人脸识别模型TransFace,论文被ICCV23录取。本文提出了一种基于ViT的人脸识别新框架。我们并没有为ViT引入任何较大的结构改进,而是从data-centric角度提出了两个学习策略:DPAP和EHSM,这确保了两个策略的通用性和灵活性。一系列在popular face benchmarks上的实验结果表明了我们TransFace模型的优越性。论文链接。
模型结构
模型使用方式和使用范围
本模型可以检测输入图片中人脸的特征。
代码范例
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.outputs import OutputKeys
import numpy as np
face_mask_recognition_func = pipeline(Tasks.face_recognition, 'damo/cv_vit_face-recognition')
img1 = 'https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/face_recognition_1.png'
img2 = 'https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/face_recognition_2.png'
emb1 = face_mask_recognition_func(img1)[OutputKeys.IMG_EMBEDDING]
emb2 = face_mask_recognition_func(img2)[OutputKeys.IMG_EMBEDDING]
sim = np.dot(emb1[0], emb2[0])
print(f'Face cosine similarity={sim:.3f}, img1:{img1} img2:{img2}')
使用方式
- 推理:输入经过对齐的人脸图片(112x112),返回人脸特征向量(512维),为便于体验,集成了人脸检测和关键点模型RetinaFace,输入两张图片,各自进行人脸检测选择最大脸并对齐后提取特征,然后返回相似度比分
目标场景
- 人脸识别应用广泛,如考勤,通行,人身核验,智慧安防等场景
模型局限性及可能偏差
- 由于模型较大,目前仅支持GPU推理。
- 当前版本在python 3.7环境测试通过,其他环境下可用性待测试
模型性能指标
Method | IJBC(1e-5) | IJBC(1e-4) | IJBC(1e-3) |
---|---|---|---|
TransFace | 96.18 | 97.45 | 98.17 |
来源说明
本模型及代码来自达摩院自研技术。
评论