发明内容
为了解决上述问题,本文结合图像处理和模式识别技术提供一种大规模人脸模式分析样本库的构建方法和装置,通过构建自动样本收集和处理的流程框架,将样本库建立过程中大部分的工作量交由计算机自动处理,从而最大程度上避免科研人员花费大量的时间和精力在繁琐的重复性工作上。
本发明采用的技术方案为:一种大规模人脸模式分析样本库的构建方法,包括如下步骤:A、通过本地和/或远程网络批量获取图片;B、采用基于Harr-like特征的Viola-Jones人脸检测算法对获取的图片进行人脸检测并进行筛选,保留包含人脸的图片;C、基于人脸比例对包含人脸的图片进行自适应图片分辨率的剪裁,并使包含人脸的图片归一化到预设的尺寸;D、采用主成分分析法和线性判别分析方法融合的算法对裁剪的图片进行性别分类以得到不同性别的人脸图片库;E、分别在不同性别的人脸图片库中,对图片进行灰度直方图的相似度比对以确定重复的图片,然后删除重复的图片,并且输出建立好的人脸样本库;F、根据需要对建立好的人脸样本库进行二次筛选和人工标记,然后储存适用的人脸样本库至本地存储器。
进一步,所述步骤A包括:利用网络爬虫脚本从本地和/或远程网络批量获取图片,其中基于广度优先策略使网络爬虫执行路径检索,在预设的网络路径抓取所有与统一资源定位符(URL)所对应的图片,从而控制抓取效率和图片的来源。
进一步,所述步骤C包括:在包含人脸的图片上会生成矩形标定框;根据图片中的人脸尺寸和位置来设置标定框的位置、宽度和高度;根据标定框裁剪图片。
优选地,所述步骤C还包括:在预设数量的人脸图片中计算眉毛到下嘴唇间的垂直距离与眉毛到头顶距离的垂直距离的比值以及眉毛到下嘴唇的垂直距离与下嘴唇到下巴的垂直距离的比值;经过统计分析得出适用的比值数据,用于确定所述矩形标定框的裁剪系数以实现标定框的缩放。
进一步,所述步骤D包括:在采用主成分分析法进行数据降维处理过程中,维数是由的已知性别图片的训练样本集的协方差矩阵的97%以上的矩阵特征值的个数来确定。
进一步,所述步骤E包括:分别计算基准图片和待比对图片的灰度直方图;分别在基准图片和待比对图片的灰度直方图中获取对应的灰度级像素的频率值,并且计算基准图片和待比对图片的灰度级像素的频率值之间的巴氏系数;如果计算的巴氏系数值超过预设的阀值,则认定基准图片和待比对图片为重复图片。
优选地,所述的大规模人脸模式分析样本库的构建方法,其特征在于所述方法还包括:在采用主成分分析法和线性判别分析方法融合的算法对裁剪的图片进行性别分类以得到不同性别的人脸图片库之后,对人脸进行校准使人脸处于规范化的位置和姿态。
优选地,对人脸进行校准使图像中的人脸处于规范化的位置和姿态的步骤还包括:采用已获取到的包含人脸的图片作为训练集并利用无监督联合校准算法对人脸进行校准。
进一步,采用已获取到的包含人脸的图片作为训练样本并利用无监督联合校准算法对人脸进行校准包括:提取训练集的每张图片中每个像素点的SURF特征;对应提取的SURF特征点依次对分布域中每个元素的概率、分布域的熵、似然函数和整体熵进行计算;重复上述步骤并实施迭代计算,从而计算出使得计算的整体熵的值最小的仿射变换矩阵,其中所述仿射变换矩阵包含对训练集的x轴平移、y轴平移、旋转变换、x轴尺度变换以及y轴尺度变换。本发明另一方面还提供一种用于构建大规模人脸模式分析样本库的装置,包括:用于获取图片的网络通信接口;用于显示图片的显示设备;用于图片筛选的输入设备;用于储存计算机程序指令和储存图片的存储器;至少一个处理器,其中当所述处理器执行所述指令时,所述计算机程序指令触发处理器执行前述的根据本发明方案的大规模人脸模式分析样本库的构建方法。
本发明的有益效果为:整合和改进现有算法,通过简单易实现且较高效率的方式实现了自动获取大规模的人脸样本并且构建了人脸模式分析样本库;减少了构建人脸模式分析样本库的过程中实验人员的主观介入,使样本库的构建更客观更科学;最大程度利用计算机来自动获取和处理样本,大大降低了人工操作的强度,提升样本素材的获取速度和规模,具体实现80%以上的工作量都交于计算机自动完成,且自动构建样本库的效率为人工操作的10倍以上;根据科研和工程实践中需求的不同,在整个人脸模式分析样本库的构建框架下部分模块是可定制的,比如预处理模块中的人脸校准以及图像分析模块中的性别分类等,通过修改框架中的部分模块,本发明亦可用于年龄分析、情绪识别等其它人脸相关的模式识别课题,甚至调整相关模块后可以用于车牌识别、场景识别等课题。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。应注意到,根据合法使用和公开人像的协定,需要对附图中涉及的人脸进行局部模糊或遮盖处理,对附图中的人脸进行模糊或遮盖不作为对本发明实施例及其技术效果的限制。
参照图1,在一个实施例中,根据本发明的大规模人脸模式分析样本库的构建方法包括如下步骤:
A、通过网络,比如通过本地网络或者远程互联网,自动地获取批量的有可能包含人脸的图片。具体地,可以利用网络爬虫脚本从本地和/或远程网络批量获取图片。网络爬虫(又被称为网页蜘蛛,网络机器人)是一种按照一定的规则自动抓取网络信息的程序或者脚本。网络爬虫的抓取策略可以分为深度优先、广度优先和最佳优先三种。其中广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。在本实施例中,优选地采用基于广度优先策略使网络爬虫执行路径检索,在预设的网络路径抓取所有与统一资源定位符(URL)所对应的图片,从而控制抓取效率和图片的来源。可以预设特定的地址或者站点,使用所述策略可以使爬虫尽可能多地尝试下载该特定地址或站点的资源,例如,给定一个种子地址“/ab/abc/abcd/”,网络爬虫也会尝试检索“/ab/abc/”、“/ab/”和根目录“/”。
B、利用的Viola-Jones人脸检测算法对获取的图片进行人脸检测,然后对图片进行筛选,保留包含人脸的图片。Viola-Jones人脸检测算法是本领域公知的成熟的人脸检测算法之一,该算法利用积分图像来提取图像特征值,所以速度非常快,而且还利用Adaboost分类器的特征筛选特性,保留最有用特征,这也减少了检测时的运算复杂度。优选地,在本实施例中采用的Viola-Jones人脸检测算法是基于Harr-like特征。
C、基于人脸比例对包含人脸的图片进行剪裁并使包含人脸的图片归一化到预设的尺寸。该方法是在Viola-Jones人脸检测算法基础上的一种改进,能够针对不同分辨率的图片进行自适应的裁剪人脸区域。该方法涉及的比值系数可以在预设数量的人脸图片中,计算眉毛到下嘴唇间的垂直距离与眉毛到头顶距离的垂直距离的比值以及眉毛到下嘴唇的垂直距离与下嘴唇到下巴的垂直距离的比值,然后进行数据分析得出适用的比值数据。
D、采用主成分分析法(PCA)和线性判别分析方法(LDA)融合的算法对裁剪的图片进行性别分类以得到不同性别的人脸图片库。性别分类是一个典型的二类鉴别问题,一般是在图片的预处理后,进行主元分析提取特征,获得特征子空间,最后利用分离器(可以通过人脸样本训练获得)进行分类。其中,主成分分析法的目的在于在数据空间中找到一组向量以尽可能地解释数据的方差,从而用降维后的低维向量保存原数据中的主要信息,使数据更易于处理,换句话说,PCA方法的主要原理就是基于对原始数据进行统计分析,利用线性变换,对高维数据进行分析与压缩。LDA方法主要选择与类内散布的正交的矢量作为特征脸空间,从而能够压制图像之间的与识别信息无关的差异,对光照及人脸表情变化都不太敏感,这种方法的最终目的就是找到一些特征使得类间离散度和类内离散度的比值最大。
E、分别在不同性别的人脸图片库中,对图片进行灰度直方图的相似度比对以确定重复的图片,然后删除重复的图片,并且输出建立好的人脸样本库。其中,灰度直方图是灰度级的函数,描述图像中该灰度级的像素个数(或该灰度级像素出现的频率):其横坐标是灰度级,纵坐标表示图像中该灰度级出现的个数(频率)。在本实施例中,优选地分别在基准图片和待比对图片的灰度直方图中获取对应的灰度级像素的频率值,并且计算基准图片和待比对图片的灰度级像素的频率值之间的巴氏系数(也称为巴氏距离)。如果计算的巴氏系数值超过预设的阀值,则认定基准图片和待比对图片为重复图片。
F、根据需要对建立好的人脸样本库进行二次筛选和人工标记,然后储存适用的人脸样本库至本地存储器。
为了更具体地描述根据本发明的大规模人脸模式分析样本库的构建方法,下面从另一个优选的实施例中描述构建大规模人脸模式分析样本库的流程。
参照图2所示的根据本发明实施例的构建大规模人脸模式分析样本库的流程框图。该流程包括:图像获取与过滤、图像预处理和图像分析,三个计算机自动处理步骤;以及人工筛选步骤。
在图像获取与过滤步骤中,首先,基于广度优先策略和路径检索策略,使用网络爬虫脚本通过网络收集图片,优选地设置图片来源为互联网上的大型公开的社交网站并通过合法协议收集图片,因为其中多为正面人脸图片且更适用于建立人脸样本;然后利用Viola-Jones人脸检测算法对获取的图片进行人脸检测,如果检测到包含人脸的图片则自动保留,其余图片可以自动删除以节约存储空间。
在图像预处理步骤中,对筛选得到的图片基于人脸比例进行剪裁,具体操作如下:在检测出的人脸范围内Viola-Jones人脸器会生成一个矩形标定框(参照图4),定义该标定框为原始标定框,且定义其左上角坐标为(x,y)其坐标向量形式为高为lh,宽为lw并组合成向量形式θ=(lw,lh)T,同理,定义调整后的检测框的相应参数分别为θ'=(lw',lh')T
则调整后的检测框的参数计算公式为:
上式λXY和λf为裁剪系数,其取值小于0则对原始标定框进行缩减,取值大于0则对原始标定框进行扩张,如图5所示。可以通过统计一定数量人脸图片,计算眉毛到下嘴唇间的垂直距离/眉毛到头顶距离的垂直距离、眉毛到下嘴唇距离/下嘴唇到下巴距离这两个比例,然后进行数据分析,例如通过本领域公知的数值计算法列出上述两个比例和头像尺寸比例关系的方程求解裁剪系数,进一步根据头像的高度和宽度设定合适的矩形框的高度和宽度,从而计算出矩形框的位置。然后,可以通过所述标定框对图片进行截取,再对截取的图片的尺寸、分辨率、亮度、对比度等参数进行归一化调整,效果如图3所示。在另一个优选的实施例中,可以在人脸检测过程中创建或者输出标定框,使得在图像预处理步骤中可以直接利用该标定框进行平移和缩放调整,然后设置该标定框的区域为感兴趣区(ROI)并裁剪得到人脸图片。
优选地,图像获取与过滤步骤和图像预处理步骤可以同步执行,即是说,可以在Viola-Jones人脸检测算法对每一张待检测图片检测到人脸后立即进行裁剪和尺寸归一化。
在图像预处理步骤之后,需要利用PCA+LDA性别分类算法对归一化的图片进行性别分类。具体实施步骤如下:
1)对输入图像灰度化,然后根据离散表达式
对其进行直方图均衡化,减少光照变化对图像的影响;
2)对训练样本集{x1,x2,…xn}求取协方差矩阵,然后对其进行奇异值分解(SVD),保留前d个主元,并将其相应的特征向量组成映射矩阵Wp,d的值由保留97%以上能量的主元个数确定;
3)将已有的训练样本集投影到d维空间即:
yi=Wp Txi i=1,2,...n
得到{y1,y2,…yn},
根据LDA类内离散度:
y=wTx+w0
类间离散度:
对于两分类问题:
对求特征向量可以得到投影向量w;
4)对于未知的输入样本,即是要进行性别分析的图片中抽取的样本,首先用PCA投影到d维空间,然后根据式
y=wTx+w0
将输入样本的识别特征和已知性别的训练样本的识别特征进行比较,依据邻近准则得到最小距离所属样本的属性(性别),从而判断与输入样本对应的人脸的性别。
在性别识别的步骤中用PCA降维后的维数d的确定方式为:对样本集的协方差矩阵求取特征值{λ1,λ2,…λn}和对应特征向量组成的集合后,按特征值从大到小的顺序排列特征向量,保留前d个特征值以及对应的特征向量,由特征向量组合可得到映射矩阵W,其中d为保留97%以上能量的特征值个数,换句话说,d取使得下式成立的最小整数值
在性别分类后,需要进行图片去重处理,具体实施步骤如下:
1)计算基准图片x的灰度直方图Cx和待比对的图片y的灰度直方图Cy;
2)根据下式计算巴氏系数
其中n为灰度直方图的bins数,Px,Py分别为当前bins所占像素总数的比例;
3)根据实验分析当Bxy>μ时可以认定比对的两张图片为重复图片,其中μ为相似度阈值,且0≤μ≤1。
在根据本发明的大规模人脸模式分析样本库的构建方法的另一个实施例中,可选地,在上述的图片预处理步骤中还包括利用无监督联合校准算法对人脸进行校准,使得人脸处于规范化的位置。算法的具体实施步骤如下:
1)对数据集S中的每一张图片的每一个像素提取SURF特征,并使用Kmeans算法对其进行聚类,这里聚类中心为12;
2)统计每一个特征点的像素栈,如附图6所示,
及分布域中每个元素的概率
计算所有分布域的整体熵,并使其最小化
其中为某个像素点处分布域的熵;
3)对训练集中的图片用下式进行仿射变换得到新的训练集Sj,其中Uj为仿射矩阵
4)重复至步骤2)直至整体熵收敛。
在本实施例中,实际上使用了SURF算法,并且优选地使用8x8的窗口对特征点产生特征描述子。其中,窗口过小不能得到有用的描述信息,窗口过大则容易产生相同的特征描述子。此外,像素栈的构造并不是针对训练集中的每个图片相同位置的像素点进行统计,原始像素可以用于该人脸校准算法,但对于复杂背景和光照变化较大图片的校准效果并不明显,且需要大量的数据才能得到有效的分布域。因此使用SURF算法对每一个像素点提取特征描述子,然后使用Kmeans算法对齐进行聚类得到12个簇,用每一个簇代表原始像素的取值,然后计算其分布域。
在本实施例中,可以利用仿射矩阵Uj将人脸进行三维校准,即是将原始的人脸进行x轴平移、y轴平移、旋转变换、x轴尺度变换以及y轴尺度变换。
此外,在根据本发明的大规模人脸模式分析样本库的构建装置的另一个实施例中,该装置包括网络通信接口、显示设备、输入设备、存储器和处理器。其中网络通信接口可以实施为公知的用于连接本地或者远程资源的数据通信接口,例如以太网通信接口,用于获取图片资源。显示设备可以具体实施为显示器,用于显示图片。输入设备可以具体实施为键盘、鼠标,用于提供人工筛选图片的输入操作。存储器可以实施为任何公知的存储介质,例如硬盘驱动器、随机存取存储器等,用于储存收集的图片和储存建立的人脸模式分析样本库。处理器包括图像获取与过滤模块、图像预处理模块和图像分析模块,这些模块对应运行上述的图像获取与过滤、图像预处理和图像分析步骤。而且处理器还包括人工筛选模块,用于根据输入设备的操作指令,实现对储存在存储器中的图片样本库中的图片进行筛选、标记或者任何其它需要的人工处理。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。