测试时主要的预处理如下:
- Resize:图像resize到112x112
- Normalize:图像归一化,减均值除以标准差
本模型可以检测输入图片中人脸的512维特征和对应的质量分。
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.outputs import OutputKeys
import numpy as np
rts_face_recognition_func = pipeline(Tasks.face_recognition, 'damo/cv_ir_face-recognition-ood_rts')
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'
result1 = rts_face_recognition_func(img1)
result2 = rts_face_recognition_func(img2)
emb1 = result1[OutputKeys.IMG_EMBEDDING]
score1 = result1[OutputKeys.SCORES][0][0]
emb2 = result2[OutputKeys.IMG_EMBEDDING]
score2 = result2[OutputKeys.SCORES][0][0]
sim = np.dot(emb1[0], emb2[0])
print(f'Cos similarity={sim:.3f}, img1:{img1} img2:{img2}')
print(f'OOD score: img1:{score1:.3f} img2:{score2:.3f}')
输出:
Cos similarity=0.812, 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
OOD score: img1:0.763 img2:0.727