基于深度学习的视频中的人脸识别

本文探讨了视频中的人脸识别技术,主要基于深度学习的框架,利用OpenCV的人脸检测器,如ResNet和SSD。内容包括OpenCV的DNN组件、图像预处理、模型导入以及人脸识别的三种类别:几何特征、子空间和学习方法。同时,介绍了人脸检测的五个关键子问题:人脸表示、尺度、搜索策略、速度和精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

视频目标检测算法目前主要使用了如下的框架:

  • 将视频帧视为独立的图像,利用图像目标检测算法获取检测结果;
  • 利用视频的时序信息和上下文信息对检测结果进行修正;
  • 基于高质量检测窗口的跟踪轨迹对检测结果进一步进行修正..

 

OpenCV人脸检测器是基于深度学习的,特别是利用ResNet和SSD框架作为基础网络。使用了opencv3.4.1中的dnn的face detector的caffemodel和deploy.prototxt。

1.打开摄像头。调用opencv的CV2中videostream

2.使用caffe model的opencv中dnn组件时,需要有prototxt和caffemodel。

opencv的深度学习人脸识别是基于单帧检测器(SSD)和一个ResNet基础网络

NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。作用:

  • 数组的算数和逻辑运算。

  • 傅立叶变换和用于图形操作的例程。

  • 与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。

 

会用到的一些函数:

在dnn中从磁盘加载图片:

  • cv2.dnn.blobFromImage:从图像中创建4维的斑点。可选的从中心调整和裁剪图像,减去平均值,按比例缩放,交换蓝色和红色通道。
  • cv2.dnn.blobFromImages
  • 作用:
  • 平均减法:平均减法用于帮助我们在数据集中的输入图像中对抗光照变化。因此,我们可以把平均减法看作是一种用来帮助我们的卷积神经网络的技术。
本文的视频人脸检测识别方法的基本设计思想是,在给出一段视频文件以及这个视频文件的字幕和剧本之后,可以自动的对视频中的人物进行检测和识别,不需要任何的训练样本。视频人脸检测识别方法主要由四个部分组成:字幕剧本融合部分,人脸检测部分,样本集自动生成部分和基于深度学习人脸识别部分。本文将深度学习算法引入到了视频人脸识别中来,有两方面的重要意义,一方面,视频人脸的识别要求算法具备一定的抗干扰能力,并且能够保证一定的实时性,本文的实验与分析表明,深度学习算法具备这方面的要求;另一方面,从深度学习算法特性的角度来说,深度学习算法最大的缺点就是构造深度模型需要大量的样木,这很大程度上限制了深度学习算法的应用,然而本文所设计的基于视频的人脸检测模块可以轻松的产生数万、数十万的样本,从而满足了深度学习算法的大样本集要求。 基于深度学习模型的人脸识别部分是整个系统的重点,这一部分主要有两方面的意义:一,经历了视频人脸的检测部分之后,虽然视频人脸集合中人脸的纯度有了很大的提升,但是依然会存在一些杂质,因此必须通过识别模块来进一步的过滤掉人脸集合中的杂质;二,通过视频所得到的帧文件中,经常会出现多张人脸同时出现的情况,在这种情况下,视频人脸的检测部分是无法将说话者与人脸进行对应的,必须通过识别模块才能区分出一个帧中的多个人脸。 基于深度学习模型的人脸识别部分主要包含三个模块:数据预处理模块、深度学习模块和识别模块。数据预处理模块主要由数据整合和构造数据立方体两个部分组成。深度学习模块通过两个具体过程来实现:RBM调节和深度模型的反馈微调。RBM的调节过程是自下而上的各个层间的调节过程,以这种方式来初始化整个深度模型的系统权值,而深度模型的反馈微调,首先进行自下而上的识别模型转换,然后再进行自上而下的生成模型转换,最后通过不同层次之间的不断调节,使生成模型可以重构出具有较低误差的原样本,这样就得到了此样本的本质特征,即深度模型的最高抽象表示形式。经过深度学习模型的处理,可以得到降维之后的样本特征,在此基础上运用识别模块,本文中所采用的识别方法是人工神经网络的识别方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值