人脸识别技术的算法优化和流程修改研究

2021-03-08 09:41巩震陈丹红
软件工程 2021年1期
关键词:卷积神经网络人脸识别深度学习

巩震 陈丹红

摘  要:目前,在普通手机解锁、面部锁定、面部扫描支付和安全防卫等领域,人脸识别信息技术都有着非常广泛的应用。传统的机器学习算法是基于人的脸部特征的,由于每类样本的不均衡性严重和场景效果的欠缺等因素,算法实现的效果常常不是很理想。本文将针对目前人脸识别技术领域的高语义特征及深度特征提取的缺陷,以及人工提取存在的误差,运用深度学习算法和类比中心等算法,提高人脸识别在特征提取领域的技术能力。利用卷积神经网络减少人工干预,提高特征提取的算法精度,从而提高损失函数的精确值。

关键词:人脸识别;算法优化;深度学习;卷积神经网络

中图分类号:TP312     文献标识码:A

文章编号:2096-1472(2021)-01-10-03

Abstract: Face recognition technology is widely used in ordinary mobile phone unlocking, face locking, face scanning payment, and security protection. Traditional machine learning algorithms are based on human facial features, and the effect is often not ideal due to serious imbalance of each type of sample and lack of scene effect. This paper aims to use deep learning algorithm and analog center algorithm to improve technical capability of face recognition with respect to feature extraction. Thus, defects of high semantic features and deep feature extraction, as well as errors in manual extraction will be greatly reduced. Convolutional neural network is used to reduce manual intervention, improve accuracy of feature extraction algorithm, so to improve the performance of loss function.

Keywords: face recognition; algorithm optimization; deep learning; convolutional neural network

1   引言(Introduction)

人脸识别始于20世纪60年代,随着计算机技术和光学成像技术在最近几年的兴起和神经网络技术的发展,特别是神经卷积网络的巨大成功,人脸识别系统在人的图像识别和检测脸型的效果方面有了很大的提高。但是,传统的人脸识别系统下算法分析技术的发展仍然存在巨大的不足,这也是本文想要探讨和改善的。对此,本文将利用人脸面部检测、局部二值模式、线性鉴别分析和深度学习网络来对传统的人脸识别流程做相关的优化和修改,促使计算机能够在最大程度上深入图像的高语义,进一步挖掘其深度特征。同时,针对对比损失算法、采样算法、类比中心损失算法、深度学习下Heatmap算法和轨迹追踪算法做进一步的修改,不断提高其精准度,减小其具体的误差。最后,利用卷积神经网络来处理人脸问题,降低人工干预,减小人为误差,提高机器自动化率。

2   传统人脸识别的过程(The process of traditional face recognition)

无论是基于传统的机器学习技术进行图像处理,还是采用深度学习的信息技术进行图像处理,过程都是一样的。面部识别系统有四个基本组件:人脸检测、对齐、匹配和编码组成。因此,应该对基于传统图像数据处理技术和机器学习算法的人脸识别信息系统进行整体的研究和概述,以求得到传统人脸识别的处理过程,如图1所示。

3  经典的人脸识别机器学习算法(Classical face recognition machine learning)

经典的人脸识别机器学习算法主要是借助计算机随机生成的一个建议框,然后再利用它做相关目标的检测工作,这个过程主要分为两步。

(1)第一步,生成一个建议框。这个步骤最简单的思想是在图像中裁剪出一堆要检测的帧,然后检测帧中是否有目标。如果有目标,那么建议框在原始图像中的位置就会检测到目标的位置。因此,此步骤中目标的覆盖率越高,生成建议框的策略就越好。常用的建议框生成策略有滑动窗口、选择性搜索、随机prim候选框等。人脸识别候选框如图2所示。

(2)第二步,在得到特征向量后,可以使用传统的机器学习分类器对特征进行分类,如AdaBoost、CASCADE、SVM、随机森林等。经过中国传统的分类器分类,可以得到人脸识别区域、特征向量和分类置信度。通过这些信息,可以完成人脸的对齐、特征的表示以及匹配识别等工作。

4  傳统人脸识别过程存在的问题分析(Analysis of existing problems in the process of traditional face recognition)

传统的机器学习算法是基于人的脸部特征的,需要通过算法工程师大量的专家工作经验来进行数据特征信息工程和参数的调整,对于一个庞大的人脸类别,由于每类样本的不均衡性严重、场景效果不是很好等因素,算法实现效果有时会不是很理想。

比如,传统的人脸识别算法生成和使用的特征依然是浅层特征,无法从原始数据图像中获得更深入的高语义特征及其深度特征;为了获得良好的识别效果,这些传统的人脸识别算法必须结合人脸部位的特征,但在特征提取和识别过程中,人工的提取特征往往会出现意想不到的人为误差;同时传统的人脸识别算法在进行识别时,在没有人工干预的情况下,无法从原始图像中自动提取出有用的系统特征,而且在面对大数据时,传统人脸捕捉方法更表现出其自身的巨大缺陷和困难。

5  人脸识别技术的优化和修改(Optimization and modification of face recognition technology)

5.1   克服高语义特征及深度特征进行的人脸识别的算法流程修改

针对高语义特征及深度特征的缺陷进行相关人脸识别算法流程的分析与修改如下。

5.1.1   直方图均衡

使用OpenCV功能实现。OpenCV提供了直方图均衡功能——CV::equalizeHist(),我们通过修改下面的main函数,并且采用直方图均衡化功能来实现这一点,效果如图3所示。

int main()

{

Mat image = imread("Fig3.15(a)1top.BMP", 0);

Histogram1D h;

Mat histo = h.getHistogram(image);

for (int i = 0; i < 256; i++)

{

if (histo.at(i) != 0)

cout << "Value " << i << " = " << histo.at(i) << endl;

}

namedWindow("Histogram");

imshow("Histogram", h.getHistogramImage(image));

/*namedWindow("Cell");

imshow("Cell", image);

equalizeHist(image, image);

namedWindow("CellequalizeHist");

imshow("CellequalizeHist", image);

namedWindow("Histogram2");

imshow("Histogram2", h.getHistogramImage

(image));*/

waitKey(0);

return 0;

}

5.1.2   视网膜图像增强

基于Retinex的图像增强的目的是从原始图像中估计出光亮度L,然后对r进行分解以消除光照不均匀的影响,从而改善图像的视觉效果,就像人类的视觉系统一样。Retinex算法分为三类,即从SSR(单尺度Retinex)到MSR(多尺度Retinex)再到最常用的Msrcr(多尺度Retinex带颜色进行恢复)[1]。Msrcr算法使用颜色恢复因子C来调整三个颜色通道在原始图像中的比例[2],以突出较暗区域的信息,从而消除图像颜色失真的缺陷。

5.2   减少人工误差问题的算法分析与修改

针对人工设定的特征通常在特征提取和识别过程中存在着不可预期的人工误差问题的算法,分析与修改如下。

5.2.1   利用深度学习网络进行人脸的识别

虽然卷积神经网络是一个黑箱模型,但它可以选择通过分析数据进行训练来表示图像和对象的特征。因此,人脸识别算法可以通过卷积网络提取大量的人脸特征向量,然后根据相似性判断与数据库进行比较,完成人脸识别的过程。针对这一问题第一用到的就是对比损失法,对比损失法不仅考虑到同一类中的距离最小化,还考虑到使用不同类中的距离最大化,充分利用深度学习网络来训练样品的图片数据信息,提高脸部识别的精度。本质上,损失函数是利用同一人的照片在特征空间中距离足够近,而同一人在特征空间中的距离足够远的特征来进行判断的,直到距离超过特定的阈值。

5.2.2   对比损失的不足

由于对比度损失需要准备大量正负样本,不可能长时间遍历所有可能的样本组合;没有相应的数学理论支持,优化的性能也非常有限,算法不易解释,因此使用性价比不高。

5.2.3   对比损失的修改

利用现有的三重法不能充分运用小批量SGD训练批量的缺点,创造性地将成对距离向量转化为成对距离矩阵,设计了一种新的结构化数据损失函数[3],这样,训练数据就可以以较大的概率找到硬阴性的样本具体位置。随着训练的不断进行,硬样本的训练将最大化类中距离,最小化类内距离。

5.2.4   类别中心损失存在的不足

当负樣本很硬时,损失函数会很平滑,所以意味着梯度会很小。对于训练来说,这意味着很硬的样本不能得到充分的训练,网络不能获得硬样本的有效信息,因此硬样本的效果会变差,从而偏离中心值。

5.2.5   对类别中心损失算法的修改

将同一类别压缩在一起,最终得到更具区分性的特征。中心损失是指为每个类别管理提供这样一个类别信息中心,并使最小批次的和对应中心一类每批样品之间的最小距离,从而达到距离类内的距离最小的目的[4]。

5.3  从原始图像中自动提取出识别特征的算法分析与修改

针对传统的人脸识别算法在没有人工干预的情况下,无法从原始图像中自动提取出有用的识别特征问题的算法,分析与修改如下。

为了找到一种特征组合的方法,以实现最大类间离散度和最小类内离散度,建议在低维表示中,相同的类应该紧密地聚集在一起;而不同的类,也应该尽可能地远离。但是,由于这些算法都是基于特征的,这就需要算法工程师有大量的专家经验来调整特征和参数[5]。对于数据量大的人脸类别,由于每种样本的严重不平衡的特点,使得场景效果不是很好,算法效果也不是很好。因此,我们可以利用深度学习中的卷积神经系统网络解决这一问题,总的来说,就是将输入的面部图像信息转换为矢量表示[6]。

6   结论(Conclusion)

目前,对人脸识别算法的优化达到了瓶颈期,技术层面、面部結构的相似性、面部姿势、年龄的变化、复杂环境的光照变化、面部装饰物的屏蔽等方面的检测[7],也面临着很多问题,因此,基于各种算法技术的融合,解决人脸识别中的各种问题仍然拥有巨大的市场发展前景。而且由于神经元数目多、操作时间长的特点,需要多幅人脸图像进行训练,但是在训练过程中需要人为地不断调整一些参数,这就造成了巨大的不便,所以,对深度学习算法本身的研究,依然是未来发展的重点。[8]同时,运用深度学习算法和类比中心等算法可以提高人脸识别在技术领域的高语义特征的提取,利用卷积神经网络减少人工干预和误差,也应该广泛采用。

参考文献(References)

[1] 孙权,姚素英,李健,等.基于边缘检测的Retinex图像增强算法[J].电子技术应用,2013(09):50-53.

[2] 张茗芳.动态语言Python探讨与比较[J].企业科技与发展,2012(07):57-60.

[3] 钟森海,汪烈军,张莉.单训练样本条件下的人脸识别算法研究[J].激光杂志,2014(03):25-27.

[4] 徐向文,赵丽娜.人脸识别距离函数的讨论[J].中国科技博览,2011(22):81-82.

[5] 齐萌.Android环境下基于人脸识别的手机解锁技术研究与软件开发[D].江苏:东南大学,2016.

[6] 肖阳.人脸检测算法综述[J].电子技术与软件工程,2014(04):113-116.

[7] HyoJoon Kim, SangHui Jeong, JiHyeon Seo, et al. Augmented reality for botulinum toxin injection[J].Concurrency and Computation: Practice and Experience, 2020, 32(18):59-63.

[8] TaoYang, Xuran Zhao, Xun Wang, et al. Evaluating facial recognition:web services with adversarial and synthetic samples[J]. Neurocomputing, 2020, 46(13):16-19.

作者简介:

巩   震(1999-),男,本科生.研究领域:软件开发,信息研究.

陈丹红(1970-),女,硕士,教授.研究领域:项目管理,信息研究.

猜你喜欢
卷积神经网络人脸识别深度学习
人脸识别 等
揭开人脸识别的神秘面纱
基于深度卷积神经网络的物体识别算法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于卷积神经网络的树叶识别的算法的研究
基于类独立核稀疏表示的鲁棒人脸识别
基于K-L变换和平均近邻法的人脸识别