2.2.4 实验结果与分析
1.数据库和参数设置
本实验使用的数据人脸均来自CUHK数据库,其中包含188个样本,每个样本都是由一对RGB光学人脸照片和画家原素描人脸图像组成。本实验使用该数据库作为训练集和测试集。本算法对库中的样本采用伪素描生成过程得到对应的伪素描人脸图像。
本实验参数设置如下所述:实验采用188个样本,先对所有样本特征数量进行参数设置,设置特征数量为 0~70,讨论特征点数量对结果的影响;设置识别级别为1~10用以讨论不同识别级别对结果的影响;设置不同的素描风格用以讨论素描风格对结果的影响;特征设置为Surf特征、Sift特征,可以清楚比较两种特征的不同;优化过程设置为分块优化、分点优化用以观察二者的结果比较。
2.消融实验
1)特征点对的数量对结果的影响
本算法不需要复杂的训练过程,只要确定哪类伪素描作为输入,哪类伪素描作为模板即可。本实验采用188幅原素描伪素描人脸作为模板输入,其中的每一幅对应另外的 188 幅 RGB 伪素描人脸图像,并为每一幅对应伪素描进行1,2,…, N编号,这里N=188,匹配过程示意图如图2.20所示。
图2.20 匹配过程示意图
本算法主要是采用优化后的Surf特征数量来进行识别处理的,因此特征点对数量的选择对于结果的影响是无法忽视的。它所影响的方面包括识别率和所用时长两个方面,使用特征点数量越多,构建坐标邻域优化时耗时也会越长,对应的识别率也会明显提高。
实际应用中,结合实际情况进行特征点数量的正确选择往往是非常必要的,当实际系统对于即时性有较高要求时,适当降低特征点对的总体数量,有利于节约时间,提高识别效率,因此实际中权衡识别率和识别耗时显得尤为重要。这里以188幅样本输入对应到188幅伪素描模板库中进行特征点数量和识别率关系的实验,绘图如图2.21所示。
如图 2.21 所示,随着特征点数量的增加,识别率呈现出明显上升的趋势,直至特征点数量在20个以上时上升之势渐渐趋于水平,特征点数量的多少对于识别率的影响也基本可以忽略,但实时性却是不可忽略的。因此,实际应用中,根据实时性的要求来决定特征点的数量是有必要的。另外,对这188个样本设定特征数量为50个时,此时的识别率也已经逼近100%,但是这种情况下本算法仍然要比较50次特征点邻域圆,效率会逐渐降低。因此,在实际应用中,仍然要考虑到这种情况,即根据实际需要来确定特征点个数的多少。在小样本小特征数量的前提下,本算法的性能是十分优秀的。
图2.21 特征点数量和识别率关系
2)不同的识别级别对结果的影响
识别级别(Rank 值)的概念常被用来分析一个算法的性能,一般来说,算法的性能都是随着Rank值的增大而逐渐提高的。对于人脸识别来讲,一般通过三个性能指标来判断算法性能,分别是识别级别、识别率及识别精度。但是这三者又存在着一种矛盾的关系,即Rank值越小,识别精度越高,相应的识别率越低;反之,Rank 值越大,识别精度越低,相应的识别率越高。因此,鉴于上述关系,在实际应用中,充分考虑实际场景,选择合适的Rank值将有利于提高效率。
这里总结对比了各传统算法[29]在不同Rank值下的识别效果,另外也绘制了在不进行坐标一致性优化的前提下仅用Surf算法的识别曲线,如图2.22所示。
图2.22 各算法的识别效果曲线对比
从图2.22可以看出,随着Rank值的不断增大,各个算法的识别率也呈现出不断上升的趋势。另外,在不进行坐标邻域一致性优化的前提下直接使用Surf算法,效果则显得有些糟糕。
3.不同素描风格对结果的影响
研究所需要的素描人脸图像由素描画师手绘得到,然而这些素描人脸图像的质量并不相同,这是由画师的主观意志决定的。随着绘画的时间延长,画师身体疲惫等因素可能导致出现绘画效果变差等现象;另外,画师为了凸显人物性格及面部轮廓可能需要打一些较重的阴影,这可能导致图像的噪点增多,或者增加一些不必要的特征点,导致最终匹配性能变差。上述情况类似于不同的素描画师对同一副人脸展示出不同的素描手法或者风格,这对于某一特定算法的性能会产生不同的影响。图2.23展示了同一个人的不同风格素描,其中后三种均是由软件得到的。
对图2.23所示的人脸归一化并采用本节算法,先进行Surf匹配,之后进行坐标邻域一致性优化。设定两个特征点门限分别为20和40,对应的特征点设置为30和50,实验随机抽取50对样本,得到优化后的特征柱状图如图2.24所示。
图2.23 同一个人的不同风格素描
图2.24 50对样本优化后的柱状图
由图2.24可以看出,普通素描超过两个门限的图像对数量较多,画师素描次之,写生素描和古典素描的效果较差。这是因为普通素描是由原人脸直接得到的,并未添加任何纹理修饰,其余的素描风格经过纹理修饰、夸张处理等后效果变差,这对于实际应用中的法医画师选择具有重要意义。
4.Surf特征和Sift特征的比较
Surf特征是由Sift特征演变而来的,两者对于人脸识别都具有一定的鲁棒性,因此有必要进行一定的对比分析,以展现出Surf算法(20个特征点)在处理人脸识别问题上的优势,具体的对比如表2.1所示,它从向量维度、CPU时间、识别率三个方面进行表现。
表2.1 Surf特征和Sift特征的比较
由表 2.1 可以看出,在同等向量维数的情况下,Surf 特征的各项表现均优于Sift特征,而在Sift特征向量维数为128维的情况下,牺牲了大量时间,识别率才基本与Surf算法持平,这也是使用Surf算子的重要原因之一。
5.分块优化与分点优化比较
前面提到常用的图像特征点筛选优化为分块优化,这种方法优化思路清晰,优化过程简便,并提到其具有对单个图像块上有多个特征点存在时容易遗漏,对不存在特征点的图像块仍要判决两大弊端。但由于该方法使用的普遍性,这里有必要和其进行对比,并可在某些问题上解决其弊端。对于上述按照图像块进行优化的过程,简称为分块优化,按照特征点进行优化,则称为分点优化。
为了说明两者的优劣性,这里定义校查率σ。若一对图像含有N对特征点,在优化过程中校查了x个,则校查率σ表示为
漏校率ε是指一对图像的所有特征点在优化过程中遗漏了 y 个,相应地表示为
由上述定义,分块优化和分点优化所对应的平均校查率、平均漏校率,以及在相同样本数下按照20个特征点所描述的识别率对比如表2.2所示。
表2.2 分块优化与分点优化对比
6.和已有算法比较
目前关于素描人脸识别方面的研究成果较少,这里主要选用了使用AdaBoost训练人脸分块来实现素描人脸识别的方法[30],以及国外的Brendan F.Klare博士等人[31-33]的研究结论,对比信息在表2.3中列出。
表2.3 算法对比结果(CUHK数据库)
由表2.3可知,本章算法及周等算法识别率在特征数为20时,本章算法正确率高出3%,而在50个特征点的时候本章算法已达到99%。另外,实验测得周等算法在100个样本下平均用时是55.17s,而本章算法在多了近1倍的样本情况下用时44.53s,所用时间少了近11s。前两种算法在牺牲了大量时间的情况下,基于大量特征得到了高于本章算法在20个点情况下的正确率,但仍然逊于本章算法在50个特征点的情况。另外,本章算法还结合图2.22中所列的方法,得到其识别率(Rank=10),对比如表2.4所示。
表2.4 结合图2.22的算法识别率对比
事实上,通过表2.3及表2.4所列数据已经可以证明本章算法在处理素描人脸识别问题上是行之有效的。