项目经历-笔记
整理项目经验涉及到相关的技术模型
目录
- 一、人脸识别
- 1 InsightFace
- 1.1 SCRFD
- 1.2 ArcFaceONNX
一、人脸识别
1 InsightFace
1.1 SCRFD
人脸检测的模型 输入是图像 输出是检测到的目标位置和相关信息(如关键点、置信度等)
加载方式
self.detector = SCRFD(os.path.join(assets_dir, 'det_10g.onnx'))
self.detector.prepare(0)
调用方式
# 检测人脸并获取关键点
bboxes, kpss = self.detector.autodetect(image, max_num=1)
bboxes的检测框结果 x1 y1 x2 y2 conf
kpss中包含每个人脸的关键点位置。每个关键点位置是一个二维坐标,表示脸部不同部位(如眼睛、鼻子、嘴巴等)的坐标
1.2 ArcFaceONNX
初始化和运行 ArcFace 模型来进行人脸特征提取
加载方式
model_path = os.path.join(assets_dir, 'w600k_r50.onnx')
self.rec = ArcFaceONNX(model_path)
self.rec.prepare(0)
调用方式
feat = self.rec.get(image, kps)
该方法接收一个图像 img 和关键点 kps,首先通过 face_align.norm_crop 进行人脸对齐处理(基于关键点),然后调用 get_feat 方法提取图像的特征嵌入(embedding),最后将特征进行扁平化并返回。