使用 MTCNN 进行人脸识别

Posted

技术标签:

【中文标题】使用 MTCNN 进行人脸识别【英文标题】:Face Recognition using MTCNN 【发布时间】:2021-07-27 11:28:44 【问题描述】:

我在尝试运行的代码中遇到错误。 AttributeError: 模块 'facedetector_m' 没有属性 FaceDetectorClass

from facenet_pytorch import MTCNN
import facedetector_m
import os
import torch
from torchvision import models
import torch.nn as nn
import argparse
import sys

sys.argv=['']
ap = argparse.ArgumentParser()
ap.add_argument("-b", "--blur", type=bool, default=True, choices=[True,False])
args = vars(ap.parse_args())
del sys

model = models.resnet18(pretrained=True)
num_ftrs = model.fc.in_features
model.fc = nn.Sequential(nn.Linear(num_ftrs, 2), torch.nn.Sigmoid())

model.load_state_dict(torch.load('C:/Users/mayan/Downloads/Face_Detection_LiveStreaming/model-resnet18-2.pth'))
model.eval()

mtcnn = MTCNN()
fcd = facedetector_m.FaceDetectorClass(mtcnn, classifier=model)

if args["blur"] == True:
    fcd.run(blur_setting=True)
if args["blur"] == False:
    fcd.run(blur_setting=False)

【问题讨论】:

【参考方案1】:

为什么不使用 deepface?它将 mtcnn 包装为面部检测器。

#!pip install deepface
from deepface import DeepFace
DeepFace.verify("img1.jpg", "img2.jpg", model_name = 'Facenet', detector_backend = 'mtcnn')

【讨论】:

以上是关于使用 MTCNN 进行人脸识别的主要内容,如果未能解决你的问题,请参考以下文章

Apple Vision Framework 识别人脸

人脸识别人脸识别损失函数学习笔记

怎样使用OpenCV进行人脸识别

人脸识别 介绍

刷脸背后:人脸检测人脸识别人脸检索_张重生资料整理

怎样使用OpenCV进行人脸识别