一种基于角度损失神经网络的亲属识别方法技术

技术编号:20364176 阅读:30 留言:0更新日期:2019-02-16 17:06
本发明专利技术涉及一种基于角度损失神经网络的亲属识别方法,属于图像处理领域。包括如下步骤:步骤一、对数据集中的人脸图像进行预处理,得到预处理后的人脸图像;步骤二、构建人脸图像正样本对和人脸图像负样本对;步骤三、生成对应的正样本对标签和负样本对标签;步骤四、生成训练集和测试集;步骤五、将步骤四生成的训练集和测试集进行拼接;步骤七、将训练数据分批输入神经网络进行迭代训练,保存训练好的神经网络参数,输出训练好的神经网络;步骤八、将步骤五拼接好的测试数据输入步骤七训练好的神经网络进行测试。所述方法采用端对端基于任务的学习方式对特征进行驱动性学习,显著提高了亲属识别准确率。

【技术实现步骤摘要】
一种基于角度损失神经网络的亲属识别方法
本专利技术涉及一种基于角度损失神经网络的亲属识别方法,属于图像处理领域。
技术介绍
亲属关系识别作为图像处理领域的一个重要分支,主要研究基于人脸图片的两个个体之间是否具有明确的基因遗传上的亲属关系,具有非常广泛的社会理论研究意义和潜在的商业应用场景。亲属识别中最常研究的四种亲属关系包括:父子,父女,母子以及母女,由于基因的大量继承,这几类亲属关系类型也是人类关系中最亲近的具有生物特征的连接桥梁。近年来,随着移动互联网技术的发展和普及,人们越来越乐意于通过网络在各种社交媒体和各个网站上分享自己的生活状态,而电子图片、视频作为一种直观的表达方式受到越来越多用户的青睐,每天网络上就有成千上万张的海量图片流通,如何有效的组织利用、挖掘分析图片中的潜在信息和关系就成了图像处理研究领域中的重中之重。现存的模型方法可以大致分为两大类:基于特征的亲属识别模型以及基于学习的亲属识别模型。基于特征的亲属识别算法旨在设计出一个通用的低层手工特征表示以便具有亲属关系的特征可以有效的被使用,常用的特征包括局部特征和全局特征。基于学习的亲属识别方法主要通过寻找一个合适的语义转换空间以便在这个映射的子空间中,有效的增加具有亲属关系人脸图像对之间的可分性。典型的代表模型有度量学习、迁移学习、多核学习、基于图的学习、基于神经网络的学习等。影响亲属识别性能的一个棘手的挑战因素是没有亲属关系的两个个体的面部特征很相像,而具有血缘关系的两个亲属之间的面部图像之间的相似性却很低。为了有效的解决这个问题,目前主流的亲属识别算法通常的做法是在提取出的手工设计的特征描述和设计分类器进行分类判别之间加入一步,通过近邻拒绝度量学习对提取到的特征表示进行线性映射到欧式空间中,对其约束保证类间差异大于类内间距,之后再对映射后的特征进行分类。度量学习在一定的程度上缓解了影响亲属识别性能的这一因素,但是现存的度量学习的方法都旨在学习一个简单的马氏距离来保证最大化类间距离,最小化类内差异,这样不能捕捉人脸位于非线性流域上的分布规律。为了解决这一问题,我们提出一个基于角度损失神经网络的亲属识别模型来训练一个神经网络去学习一系列层级的非线性转换,将人脸图像对投影到潜在的超球体特征空间中保证正样本对之间的距离被缩小,负样本对之间的距离被放大,使得被投影之后的特征更具判别性。
技术实现思路
本专利技术的目的是利用端对端学习的优势、神经网络的优异性能以及角度损失的有效性建立有效的基于端对端角度损失神经网络的学习模型解决非限制条件下影响亲属识别准确率的因素和挑战,提出了一种基于角度损失神经网络的亲属识别方法。亲属识别问题是个典型的二分类问题,基于给定的两个个体人脸图像判别二者是否具有确定的亲属关系;本专利技术在神经网络中进行亲属识别的原理是:通过角度损失的约束能确保神经网络学习角度性的判别信息,特征向量被分类为与参数向量之间夹角最小的类,从几何上来看,角度损失可以看作在超球体流域的判别式的约束,正好符合人脸位于非线性流形域上的先验分布。本专利技术的目的是通过以下技术方案实现的:步骤一、对数据集中的人脸图像进行预处理,得到预处理后的人脸图像;其中,数据集包含X个人脸图像,X为偶数;预处理后的人脸图像数量也为X个;数据集中按顺序的两个人脸图像具有亲属关系,具体为:数据集中偶数序号对应的图像为待识别图像,奇数序号对应的图像为男性亲属图像或女性亲属图像中的一种;其中,偶数序号的待识别图像为需要进行判断是否与对应的奇数序号图像具有亲属关系的图像;人脸图像为RGB图像,即三通道的人脸图像,所述的三通道分别对应R通道、G通道和B通道;其中,预处理包括对齐、裁剪以及归一化操作;步骤一又包括如下子步骤:步骤1.1利用基于结构化SVM的人脸对齐方法对数据集中的人脸图像进行对齐,得到对齐后的人脸图像;步骤1.2将步骤1.1对齐后的人脸图像进行裁剪,得到裁剪后的人脸图像;其中,对齐后的人脸图像的数量为X个;裁剪后的人脸图像的数量为X个,每个图像的维度为64*64;步骤1.3将步骤1.2得到的人脸图像进行归一化,得到预处理后的人脸图像;其中,预处理后的人脸图像的个数为X个;步骤二、基于步骤一得到的预处理后的人脸图像构建人脸图像正样本对和人脸图像负样本对;其中,人脸图像正样本对的数量为X/2;人脸图像负样本对的数量为X/2个;步骤二又包括如下子步骤:步骤2.1构建X/2个正样本对,具体为:按顺序将数据集中的两个人脸图像组成一对;步骤2.2构建X/2个负样本对,具体为:先将偶数序号对应的待识别图像随机打乱,得到随机打乱后的图像;再按顺序将数据集中的两个人脸图像组成一对,即在数据集中随机选择没有亲属关系的两张人脸图像作为一对负样本数据对;其中,完成随机打乱操作的判断规则为:打乱前后的图像对应的序号完全不同;步骤三、基于步骤二构建的正样本对和负样本对,生成对应的正样本对标签和负样本对标签;具体为,将正样本对对应的标签设置为1,负样本对对应的标签设置为0;其中,正样本对标签为X/2个,负样本对标签为X/2个;步骤四、分别将步骤二构建的正样本对、负样本对和步骤三生成的正样本对标签、负样本对标签进行分割,生成训练集和测试集;分别将X/2个正样本对和负样本对进行分割,将其中的A%用于训练,将剩下的B%=1-A%正样本对和负样本对用于测试;分别将X/2个正样本对标签和负样本对标签进行分割,将其中的A%用于训练,将剩下的B%=1-A%正样本对和负样本对标签用于测试;其中,X/2个正样本对和负样本对的A%以及X/2个正样本对标签和负样本对标签的A%构成训练集,即训练集样本总数为(A%*X)个;X/2个正样本对和负样本对的B%以及X/2个正样本对标签和负样本对标签的B%构成测试集,即测试集样本总数为(B%*X)个;步骤五、将步骤四生成的训练集和测试集进行拼接,具体为:将训练集和测试集中每个样本对的两张三通道的图像拼接起来形成六通道的训练数据和测试数据作为神经网络的输入数据,即生成(A%*X)个六通道的训练数据和(B%*X)个六通道的测试数据;其中,神经网络包括卷积层、池化层和全连接层,卷积层的层数为C层,记为卷积层1、卷积层2....卷积层C,C大于等于2;池化层的层数为D层,记为池化层1、池化层2....池化层D,D大于等于2;全连接层的层数为M层,记为全连接层1、全连接层2....全连接层M,M大于等于2;步骤六、初始化迭代次数t为1,初始化迭代总次数T,初始化迭代份数i为1,初始化batch的值为N,初始化卷积层、池化层和全连接层权重W,初始化约束参数m;步骤七、将步骤五拼接好的(A%*X)个训练数据分批输入神经网络进行T轮迭代训练,输出训练好的神经网络,并保存训练好的神经网络参数;步骤七又包括如下子步骤:步骤7.1将步骤五得到的训练集中的(A%*X)个训练数据随机分为(A%*X)/N=I份,每份N个训练数据;步骤7.2前向传播,具体为,取步骤7.1分成的第i份数据的N个六通道的训练数据输入神经网络,输出全连接层M-1的P维特征向量;步骤7.3计算损失,具体为:将步骤7.2输出的N个P维特征向量和第i份训练数据的N个标签一起经角度损失函数计算损失;其中,角度损失函数的表达式如公式(1本文档来自技高网
...

【技术保护点】
1.一种基于角度损失神经网络的亲属识别方法,其特征在于:包括如下步骤:步骤一、对数据集中的人脸图像进行预处理,得到预处理后的人脸图像;其中,数据集包含X个人脸图像,X为偶数;预处理后的人脸图像数量也为X个;数据集中按顺序的两个人脸图像具有亲属关系,具体为:数据集中偶数序号对应的图像为待识别图像,奇数序号对应的图像为男性亲属图像或女性亲属图像中的一种;其中,偶数序号的待识别图像为需要进行判断是否与对应的奇数序号图像具有亲属关系的图像;人脸图像为RGB图像,即三通道的人脸图像,所述的三通道分别对应R通道、G通道和B通道;其中,预处理包括对齐、裁剪以及归一化操作;步骤二、基于步骤一得到的预处理后的人脸图像构建人脸图像正样本对和人脸图像负样本对;其中,人脸图像正样本对的数量为X/2;人脸图像负样本对的数量为X/2个;步骤三、基于步骤二构建的正样本对和负样本对,生成对应的正样本对标签和负样本对标签;具体为,将正样本对对应的标签设置为1,负样本对对应的标签设置为0;其中,正样本对标签为X/2个,负样本对标签为X/2个;步骤四、分别将步骤二构建的正样本对、负样本对和步骤三生成的正样本对标签、负样本对标签进行分割,生成训练集和测试集;分别将X/2个正样本对和负样本对进行分割,将其中的A%用于训练,将剩下的B%=1‑A%正样本对和负样本对用于测试;分别将X/2个正样本对标签和负样本对标签进行分割,将其中的A%用于训练,将剩下的B%=1‑A%正样本对和负样本对标签用于测试;其中,X/2个正样本对和负样本对的A%以及X/2个正样本对标签和负样本对标签的A%构成训练集,即训练集样本总数为(A%*X)个;X/2个正样本对和负样本对的B%以及X/2个正样本对标签和负样本对标签的B%构成测试集,即测试集样本总数为(B%*X)个;步骤五、将步骤四生成的训练集和测试集进行拼接,具体为:将训练集和测试集中每个样本对的两张三通道的图像拼接起来形成六通道的训练数据和测试数据作为神经网络的输入数据,即生成(A%*X)个六通道的训练数据和(B%*X)个六通道的测试数据;步骤六、初始化迭代次数t为1,初始化迭代总次数T,初始化迭代份数i为1,初始化batch的值为N,初始化卷积层、池化层和全连接层权重W,初始化约束参数m;步骤七、将步骤五拼接好的(A%*X)个训练数据分批输入神经网络进行T轮迭代训练,输出训练好的神经网络,并保存训练好的神经网络参数;步骤八、将步骤五拼接好的(B%*X)个六通道的测试数据输入步骤七训练好的神经网络进行测试,具体为:加载步骤五拼接好的六通道测试数据并输入步骤七训练好的神经网络中进行前向传播,得到全连接层M输出的K维向量,然后输入Softmax函数计算,得到K维向量,此K维向量中的每个值代表该样本属于每一类别的概率,将K维向量中概率最大的位置作为人脸图像样本对的标签;其中,K=2,且最大的位置为0或1中的一个;0表示人脸图像对不具有亲属关系,1表示人脸图像对具有亲属关系。...

【技术特征摘要】
2018.06.12 CN 20181059962481.一种基于角度损失神经网络的亲属识别方法,其特征在于:包括如下步骤:步骤一、对数据集中的人脸图像进行预处理,得到预处理后的人脸图像;其中,数据集包含X个人脸图像,X为偶数;预处理后的人脸图像数量也为X个;数据集中按顺序的两个人脸图像具有亲属关系,具体为:数据集中偶数序号对应的图像为待识别图像,奇数序号对应的图像为男性亲属图像或女性亲属图像中的一种;其中,偶数序号的待识别图像为需要进行判断是否与对应的奇数序号图像具有亲属关系的图像;人脸图像为RGB图像,即三通道的人脸图像,所述的三通道分别对应R通道、G通道和B通道;其中,预处理包括对齐、裁剪以及归一化操作;步骤二、基于步骤一得到的预处理后的人脸图像构建人脸图像正样本对和人脸图像负样本对;其中,人脸图像正样本对的数量为X/2;人脸图像负样本对的数量为X/2个;步骤三、基于步骤二构建的正样本对和负样本对,生成对应的正样本对标签和负样本对标签;具体为,将正样本对对应的标签设置为1,负样本对对应的标签设置为0;其中,正样本对标签为X/2个,负样本对标签为X/2个;步骤四、分别将步骤二构建的正样本对、负样本对和步骤三生成的正样本对标签、负样本对标签进行分割,生成训练集和测试集;分别将X/2个正样本对和负样本对进行分割,将其中的A%用于训练,将剩下的B%=1-A%正样本对和负样本对用于测试;分别将X/2个正样本对标签和负样本对标签进行分割,将其中的A%用于训练,将剩下的B%=1-A%正样本对和负样本对标签用于测试;其中,X/2个正样本对和负样本对的A%以及X/2个正样本对标签和负样本对标签的A%构成训练集,即训练集样本总数为(A%*X)个;X/2个正样本对和负样本对的B%以及X/2个正样本对标签和负样本对标签的B%构成测试集,即测试集样本总数为(B%*X)个;步骤五、将步骤四生成的训练集和测试集进行拼接,具体为:将训练集和测试集中每个样本对的两张三通道的图像拼接起来形成六通道的训练数据和测试数据作为神经网络的输入数据,即生成(A%*X)个六通道的训练数据和(B%*X)个六通道的测试数据;步骤六、初始化迭代次数t为1,初始化迭代总次数T,初始化迭代份数i为1,初始化batch的值为N,初始化卷积层、池化层和全连接层权重W,初始化约束参数m;步骤七、将步骤五拼接好的(A%*X)个训练数据分批输入神经网络进行T轮迭代训练,输出训练好的神经网络,并保存训练好的神经网络参数;步骤八、将步骤五拼接好的(B%*X)个六通道的测试数据输入步骤七训练好的神经网络进行测试,具体为:加载步骤五拼接好的六通道测试数据并输入步骤七训练好的神经网络中进行前向传播,得到全连接层M输出的K维向量,然后输入Softmax函数计算,得到K维向量,此K维向量中的每个值代表该样本属于每一类别的概率,将K维向量中概率最大的位置作为人脸图像样本对的标签;其中,K=2,且最大的位置为0或1中的一个;0表示人脸图像对不具有亲属关系,1表示人脸图像对具有亲属关系。2.根据权利要求1所述的一种基...

【专利技术属性】
技术研发人员:马波丁小莹刘珊兵
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1