首页 / 专利库 / 人工智能 / 机器学习 / 强化学习 / 一种基于强化学习的人脸识别方法

一种基于强化学习人脸识别方法

阅读:57发布:2020-05-11

专利汇可以提供一种基于强化学习人脸识别方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种基于 强化学习 的 人脸识别 方法,具体步骤包括:步骤1,采集多个包含人脸视频序列做为数据集;步骤2,对数据集中的所有视频序列做预处理后分为两部分,一部分为训练集、一部分为测试集;步骤3,建立强化学习网络,包括依次连接的 输入层 、3个卷积层和2个全连接层和 输出层 ,所述输出层对应无遮挡、倾斜 角 度小的人脸图像;步骤4,采用步骤3建立的强化学习网络对训练集进行训练;步骤5,从测试集中选择一个视频序列,采用训练好的强化学习网络进行识别,输出无遮挡、倾斜角度小的人脸图像。解决了现有人脸识别技术中存在的人脸面部图像处于 运动模糊 、有遮挡、倾斜角度大、光照条件差等不利于识别的问题。,下面是一种基于强化学习人脸识别方法专利的具体信息内容。

1.一种基于强化学习人脸识别方法,其特征在于,具体步骤包括:
步骤1,采集多个包含人脸视频序列做为数据集;
步骤2,对数据集中的所有视频序列做预处理后分为两部分,一部分为训练集、一部分为测试集;所述预处理后的视频序列为去除非人脸后统一帧数,每一帧进行人脸分割并统一图像大小的视频序列;
步骤3,建立强化学习网络,所述强化学习网络包括依次连接的输入层、3个卷积层和2个全连接层和输出层,所述输入层对应整个视频序列Svideo和Sselect中的每一帧图像;所述输出层对应无遮挡、倾斜度小的人脸图像;
所述强化学习网络的损失函数为:
θ为网络参数,N为一个batch的训练样本数,m为一次训练过程执行网络的次数,sj为第n次迭代所处的状态,aj为第n次迭代所执行的动作,πθ(sj,aj)是参数为θ的网络,h为输出层节点的个数;
步骤4,采用步骤3建立的强化学习网络对训练集进行训练,得到训练好的强化学习网络;
步骤5,从测试集中选择一个视频序列,采用训练好的强化学习网络进行识别,输出无遮挡、倾斜角度小的人脸图像。
2.如权利要求1所述的一种基于强化学习的人脸识别方法,其特征在于,所述强化学习网络采用随机梯度下降法进行迭代更新。
3.如权利要求1所述的一种基于强化学习的人脸识别方法,其特征在于,所述输出层中采用Softmax函数作为输出。
4.如权利要求1所述的一种基于强化学习的人脸识别方法,其特征在于,所述强化学习网络的迭代次数与输出层节点个数的设置方法为:
设所述预处理之后的图像序列的帧数为a0,输出层节点数记为h,设置迭代次数为m,则存在
5.如权利要求1所述的一种基于强化学习的人脸识别方法,其特征在于,所述强化学习网络的状态、动作、环境和奖励定义为:
状态:强化学习的状态由整个视频序列Svideo和当前被选中的人脸面部图像Sselect组成;
动作:动作是经过强化学习网络之后去选择哪一帧人脸面部图像,定义了选择上一帧、选择当前帧、选择下一帧三种动作,对应强化学习网络的输出;
环境:已知动作是选择上一帧、选择当前帧、选择下一帧三者中的一种,环境起更新状态Sselect的作用;
奖励:对于每一次动作,状态Sselect会发生对应的更新,对不同的状态Sselect,给予不同的奖励,奖励的分配方式为:由一个已训练完成的人脸识别模型,将当前选择h个人脸面部图像的第i个(即 )输入网络进行识别,奖励的分配有以下三种方式:
若执行动作之前 识别结果为错误,执行动作之后识别结果为正确,则给予奖励r0;
若执行动作之前 识别结果为正确,执行动作之后识别结果为错误,则给予奖励-r0;
若执行动作之前 识别结果为正确,执行动作之后识别结果仍为正确,由识别结果的置信度给予奖励 其中r1是执行动作前后识别结果都正
确所给的奖励;
Pn为第n次识别的置信度,因此定义最终的奖励为:

说明书全文

一种基于强化学习人脸识别方法

技术领域

[0001] 本发明属于人脸识别技术领域,涉及一种基于强化学习的人脸识别方法。

背景技术

[0002] 人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。目前的人脸识别算法流程包含图像采集人脸检测、人脸特征提取、人脸识别等。目前DeepFace、DeepID、FaceNet、Face++、SphereFace、CosFace等方法是深度人脸识别领域的主要方法。DeepFace、DeepID将人脸识别过程看作一个分类过程,只能识别固定类别的人脸。FaceNet、SphereFace、CosFace等通过网络学习两个人脸面部图像的相似度度量。后期人脸识别技术的研究重心就转向了损失函数的改进。
[0003] 上述人脸识别方法均是对视频序列的每一中的人脸面部图像进行识别,在人脸面部图像处于运动模糊、有遮挡、倾斜度大、光照条件差等不利于识别的情况时,不能对其进行充分的避免。

发明内容

[0004] 本发明的目的是提供一种基于强化学习的人脸识别方法,解决了现有人脸识别技术中存在的人脸面部图像处于运动模糊、有遮挡、倾斜角度大、光照条件差等不利于识别的问题。
[0005] 本发明所采用的技术方案是,
[0006] 一种基于强化学习的人脸识别方法,具体步骤包括:
[0007] 步骤1,采集多个包含人脸视频序列做为数据集;
[0008] 步骤2,对数据集中的所有视频序列做预处理后分为两部分,一部分为训练集、一部分为测试集;预处理后的视频序列为去除非人脸帧后统一帧数,每一帧进行人脸分割并统一图像大小的视频序列;
[0009] 步骤3,建立强化学习网络,强化学习网络包括依次连接的输入层、3个卷积层和2个全连接层和输出层,输入层对应整个视频序列Svideo和Sselect中的每一帧图像;输出层对应无遮挡、倾斜角度小的人脸图像;
[0010] 强化学习网络的损失函数为:
[0011]
[0012] θ为网络参数,N为一个batch的训练样本数,m为一次训练过程执行网络的次数,sj为第n次迭代所处的状态,aj为第n次迭代所执行的动作,πθ(sj,aj)是参数为θ的网络,输入是观察到的状态,输出执行动作的概率,h为输出层节点的个数;
[0013] 步骤4,采用步骤3建立的强化学习网络对训练集进行训练,得到训练好的强化学习网络;
[0014] 步骤5,从测试集中选择一个视频序列,采用训练好的强化学习网络进行识别,输出无遮挡、倾斜角度小的人脸图像。
[0015] 本发明的特点还在于,
[0016] 强化学习网络采用随机梯度下降法进行迭代更新;
[0017] 输出层中采用Softmax函数作为输出;
[0018] 强化学习网络的迭代次数与输出层节点个数的设置方法为:
[0019] 设预处理之后的图像序列的帧数为a0,输出层节点数记为h,设置迭代次数为m,则存在
[0020] 强化学习网络的状态、动作、环境和奖励定义为:
[0021] 状态:强化学习的状态由整个视频序列Svideo和当前被选中的人脸面部图像Sselect组成;
[0022] 动作:动作是经过强化学习网络之后去选择哪一帧人脸面部图像,定义了选择上一帧、选择当前帧、选择下一帧三种动作,对应强化学习网络的输出;
[0023] 环境:已知动作是选择上一帧、选择当前帧、选择下一帧三者中的一种,环境起更新状态Sselect的作用;
[0024] 奖励:对于每一次动作,状态Sselect会发生对应的更新,对不同的状态Sselect,给予不同的奖励,奖励的分配方式为:由一个已训练完成的人脸识别模型,将当前选择h个人脸面部图像的第i个(即 )输入网络进行识别,奖励的分配有以下三种方式:
[0025] 若执行动作之前 识别结果为错误,执行动作之后识别结果为正确,则给予奖励r0;
[0026] 若执行动作之前 识别结果为正确,执行动作之后识别结果为错误,则给予奖励-r0;
[0027] 若执行动作之前 识别结果为正确,执行动作之后识别结果仍为正确,由识别结果的置信度给予奖励
[0028] Pn为第n次识别的置信度,因此定义最终的奖励为:
[0029]
[0030] 本发明的有益效果是
[0031] 本发明通过强化学习算法去除掉视频序列中不利于进行识别的人脸面部图像,保留人脸面部图像清晰度高、无遮挡、倾斜角度小、光照条件好等若干帧用于人脸识别,以提高人脸识别准确率。附图说明
[0032] 图1是本发明一种基于强化学习的人脸识别方法的系统流程图
[0033] 图2是本发明一种基于强化学习的人脸识别方法中强化学习模型框架图;
[0034] 图3是本发明一种基于强化学习的人脸识别方法的实施例一的过程示意图。

具体实施方式

[0035] 下面结合附图和具体实施方式对本发明进行详细说明。
[0036] 一种基于强化学习的人脸识别方法,如图1和图2,其特征在于,具体步骤包括:
[0037] 步骤1,采集多个包含人脸视频序列做为数据集;
[0038] 步骤2,对数据集中的所有视频序列做预处理后分为两部分,一部分为训练集、一部分为测试集;预处理后的视频序列为去除非人脸帧后统一帧数,每一帧后进行人脸分割并统一图像大小的视频序列;
[0039] 步骤3,建立强化学习网络,强化学习网络包括依次连接的输入层、3个卷积层和2个全连接层和输出层,输入层对应整个视频序列Svideo和Sselect中的每一帧图像;输出层对应无遮挡、倾斜角度小的人脸图像;
[0040] 强化学习网络的损失函数为:
[0041]
[0042] θ为网络参数,N为一个batch的训练样本数,m为一次训练过程执行网络的次数,sj为第n次迭代所处的状态,aj为第n次迭代所执行的动作,πθ(sj,aj)是参数为θ的网络,输入是观察到的状态,输出执行动作的概率,h为输出层节点的个数;
[0043] 步骤4,采用步骤3建立的强化学习网络对训练集进行训练,得到训练好的强化学习网络;
[0044] 步骤5,从测试集中选择一个视频序列,采用训练好的强化学习网络进行识别,输出无遮挡、倾斜角度小的人脸图像。
[0045] 其中的强化学习网络中,采用随机梯度下降法进行迭代更新;输出层中采用Softmax函数作为输出;
[0046] 强化学习网络的迭代次数与输出层节点个数的设置方法为:
[0047] 设预处理之后的图像序列的帧数为a0,输出层节点数记为h,设置迭代次数为m,则存在
[0048] 强化学习网络的状态、动作、环境和奖励定义为:
[0049] 状态:强化学习的状态由整个视频序列Svideo和当前被选中的人脸面部图像Sselect组成;
[0050] 动作:动作是经过强化学习网络之后去选择哪一帧人脸面部图像,定义了选择上一帧、选择当前帧、选择下一帧三种动作,对应强化学习网络的输出;
[0051] 环境:已知动作是选择上一帧、选择当前帧、选择下一帧三者中的一种,环境起更新状态Sselect的作用;
[0052] 奖励:对于每一次动作,状态Sselect会发生对应的更新,对不同的状态Sselect,给予不同的奖励,奖励的分配方式为:由一个已训练完成的人脸识别模型,将当前选择h个人脸面部图像的第i个(即 )输入网络进行识别,奖励的分配有以下三种方式:
[0053] 若执行动作之前 识别结果为错误,执行动作之后识别结果为正确,则给予奖励r0;
[0054] 若执行动作之前 识别结果为正确,执行动作之后识别结果为错误,则给予奖励-r0;
[0055] 若执行动作之前 识别结果为正确,执行动作之后识别结果仍为正确,由识别结果的置信度给予奖励
[0056] r1是执行动作前后识别结果都正确所给的奖励;Pn为第n次识别的置信度,因此定义最终的奖励为:
[0057]
[0058] 实施例1,
[0059] 步骤1,采集多个包含人脸视频序列做为数据集;本实施例1的中采集的人脸数据均是从YouTube下载的;每个主题平均提供2.15个视频。剪辑持续时间最短为48帧,最长剪辑为6,070帧,视频剪辑的平均长度为181.3帧。
[0060] 步骤2,对数据集中的所有视频序列做预处理后分为两部分,一部分为训练集、一部分为测试集;预处理后的视频序列为去除非人脸帧后统一帧数,每一帧后进行人脸分割并统一图像大小的视频序列;
[0061] 其中训练集与测试集的比例为7:3,
[0062] 预处理的具体步骤为:
[0063] 步骤2.1,采用现有的人脸检测算法对视频序列进行人脸检测,去除其中不含人脸图像的帧,得到的图像仅包含人脸图像;
[0064] 步骤2.2,对步骤2.1得到的所有图像统一放缩为[160,160]大小,放缩过程为:设第i帧图像的宽高分别为[wi,hi],对图像进行放缩,放缩倍数为 在min(wi,hi)方向(左右/上下)分别填充 (列/行)黑色背景,得到[wi,hi]=[160,160]的图像;
[0065] 步骤2.3,将步骤2.2放缩后的图像组合成一个视频序列,然后将其分割成 个视频序列,即将每个射频序列统一为40帧;将其命名为其对应的人名作为训练标签。
[0066] 对数据集里的1595人,各选取一帧作为基准对比帧,选取条件为尽可能清晰度高、光照条件好、人脸倾斜角度小、处于正面。基准对比帧同样经过上述的检测、裁剪、放缩处理。
[0067] 步骤3,建立强化学习网络,强化学习网络包括依次连接的输入层、3个卷积层和2个全连接层和输出层,输入层对应整个视频序列Svideo和Sselect中的每一帧图像,Svideo是一个40*160*160*3的张量;代表整个40帧的人脸视频序列,
[0068] 输出层对应无遮挡、倾斜角度小的人脸图像,这里h取8,Sselect是一个8*160*160*3的张量,代表从40帧的人脸视频序列中选出的8帧人脸面部图像。
[0069] 强化学习网络的损失函数为:
[0070]
[0071] θ为网络参数,N为一个batch的训练样本数,m为一次训练过程执行网络的次数,sj为第n次迭代所处的状态,aj为第n次迭代所执行的动作,πθ(sj,aj)是参数为θ的网络,输入是观察到的状态,输出执行动作的概率,h为输出层节点的个数;
[0072] 其中的强化学习网络中,采用随机梯度下降法进行迭代更新;输出层中采用Softmax函数作为输出;
[0073] 强化学习网络的状态、动作、环境和奖励定义为:
[0074] 状态:强化学习的状态由整个视频序列Svideo和当前被选中的人脸面部图像Sselect组成;
[0075] 动作:动作是经过强化学习网络之后去选择哪一帧人脸面部图像,定义了选择上一帧、选择当前帧、选择下一帧三种动作,对应强化学习网络的输出;
[0076] 环境:已知动作是选择上一帧、选择当前帧、选择下一帧三者中的一种,环境起更新状态Sselect的作用;
[0077] 奖励:对于每一次动作,状态Sselect会发生对应的更新,对不同的状态Sselect,给予不同的奖励,奖励的分配方式为:由一个已训练完成的人脸识别模型,将当前选择h个人脸面部图像的第i个(即 )输入网络进行识别,奖励的分配有以下三种方式:
[0078] 若执行动作之前 识别结果为错误,执行动作之后识别结果为正确,则给予奖励r0;
[0079] 若执行动作之前 识别结果为正确,执行动作之后识别结果为错误,则给予奖励-r0;
[0080] 若执行动作之前 识别结果为正确,执行动作之后识别结果仍为正确,由识别结果的置信度给予奖励
[0081] Pn为第n次识别的置信度,因此定义最终的奖励为:
[0082]
[0083] 步骤4,采用步骤3建立的强化学习网络对训练集进行训练,得到训练好的强化学习网络;
[0084] 在训练过程中,网络的输入由状态Sselect和Svideo构成每次执行动作之后选出的8个人脸面部图像获得的奖励分别为ri(1≤i≤8),每次训练经过m步选出最终的8个人脸面部图像,则每次训练总奖励为 为了选出最利于识别的人脸面部图像,即学习到的网络参数θ应使奖励的期望值
最大化。
[0085] 本发明从40帧的视频序列中选取8帧,采用8个共享权值的智能体,对单个智能体,其获得奖励的期望值为:
[0086]
[0087] 为单个智能体活动的奖励
[0088] 网络训练采用随机梯度下降法进行迭代更新,为了最大化期望值,计算期望的梯度如下:
[0089]
[0090] 期望的梯度可由上式进行估计,其中p为概率值。
[0091] 已知当前状态,所执行的动作与之前的状态、动作无关,则此过程可看作一个尔科夫链,则
[0092]
[0093]
[0094] 上式中 与θ无关,则求解 的问题与求解问题
[0095] 等价
[0096] 定义损失函数为 这里θ为网络参数,N为一个batch的训练样本数,m为一次训练过程执行网络的次数,sj为第n次迭代所处的状态,aj为第n次迭代所执行的动作,πθ(sj,aj)是参数为θ的网络,输入是观察到的状态,输出执行动作的概率。
[0097] 因此对8个智能体总的损失函数定义如下:
[0098]
[0099] 步骤5,从测试集中选择一个视频序列,采用训练好的强化学习网络对进行识别,输出无遮挡、倾斜角度小的人脸图像。如图3的最底层即为输出的人脸图像,如图可知输出图像清晰度高、无遮挡、倾斜角度小、光照条件好,能够很好的运用与人脸面部算法中,提高识别准确率。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈