mtcnn结合face_recognition实现视频流中人脸实时识别

本文介绍了如何利用MTCNN和face_recognition库实现实时视频中的人脸识别。首先,讲解了相关库的安装和视频中人脸识别底库文件的生成。接着,详细阐述了通过opencv处理视频流,将每一帧作为图片进行人脸检测的步骤。此博客作为学习记录,旨在每日进步。
摘要由CSDN通过智能技术生成

一、 本文结构

1、算法相关库的安装
2、视频中人脸识别的底库文件生成
3、视频流中人脸识别
mtcnn模型同样使用上一篇文章中已经训练好的模型

二、 算法环境搭建以及相关库安装

与上文相同,不在赘述

三、 视频中人脸识别的底库文件生成

实际上是与图片中人脸识别的底库生成思路是相同的,最后生成.pickle文件
class_video.py

# coding:utf-8
import os
import face_recognition
import pickle

# 加载mtcnn模块
# 加载mtcnn模块
from training.mtcnn_model import P_Net, R_Net, O_Net
from tools.loader import TestLoader
from detection.MtcnnDetector import MtcnnDetector
from detection.detector import Detector
from detection.fcn_detector import FcnDetector
from face_recognition.face_recognition_cli import image_files_in_folder


def net(stage):
    detectors = [None, None, None]
    if stage in ['pnet', 'rnet', 'onet']:
        modelPath = "/home/alex/face_recognize/mtcnn_fance-recognize/main/tmp/model/pnet"
        a = [b[5:-6] for b in os.listdir(modelPath) if b.startswith('pnet-') and b.endswith('.index')]
        maxEpoch = max(map(int, a))  # auto match a max epoch model
        modelPath = os.path.join(modelPath, "pnet-%d" % (maxEpoch))
        print("Use PNet model: %s" % (modelPath))
        detectors[0] = FcnDetector(P_Net, modelPath)
    if stage in ['rnet', 'onet']:
        modelPath = "/home/alex/face_recognize/mtcnn_fance-recognize/main/tmp/model/rnet"
        a = [b[5:-6] for b in os.listdir(modelPath) if b.startswith('rnet-') and b.endswith('.index')]
        maxEpoch = max(map(int, a))
        modelPath = os.path.join(modelPath, "rnet-%d" % (maxEpoch))
        print("Use RNet model: %s" % (modelPath))
        detectors[1] = Detector(R_Net, 24, 1, modelPath)
    if stage in ['onet']:
        modelPath = "/home/alex/face_recognize/mtcnn_fance-recognize/main/tmp/model/onet"
        a = [b[5:-6] for b in os.listdir(modelPath) if b.startswith('onet-') and b.endswith(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值