APP下载

基于加权稀疏低秩组件编码的猪脸识别算法

2020-06-17成科扬孙家傲毛启容詹永照

关键词:污垢训练样本残差

成科扬,孙家傲,毛启容,詹永照

(1.江苏大学 计算机科学与通信工程学院,江苏 镇江 212013;2.江苏省大数据泛在感知与智能农业应用工程研究中心,江苏 镇江 212013)

人们对肉制品安全性的关注与日俱增,牲畜的识别对控制牲畜的健康至关重要,通过识别受感染动物可以控制疾病的蔓延,减少养殖者的损失[1].牲畜的识别方式分为传统的识别和基于生物特征的识别.传统的识别方式包括烙印、佩戴耳标、射频识别(radio frequency identification,RFID)等方法.虽然佩戴耳标成本低廉,但是它们可能会导致动物感染并且耳标长期使用会受到损坏,不断更换耳标会增加成本.使用RFID只能识别近距离的牲畜,而且农场内常见的金属也会干扰无线电波,进而影响识别结果.

人脸识别通常用于非侵入式的访问控制和监视,与养殖企业的应用场景非常相似.因此,理论上可以将人脸识别领域的相关技术迁移至动物的身份识别.LAI J.等[2]应用了类稀疏表示方法(class-wise sparse representation,CSR)进行面部识别,该方法结合了区域修复框架,可以有效解决训练样本集过少问题,但是对遮挡的鲁棒性较低.吴迪等[3]使用多尺度视网膜皮层理论(multi-scale retinex,MSR)处理受光照影响的图像,进而对图像进行增强,但多尺度MSR算法处理后的图像存在颜色失真和图像淡化的问题.由于牲畜不受控制,识别受面部污垢等影响,一些学者对牲畜口鼻进行特征提取.T.GABER等[4]对牛口鼻提取了鲁棒性的局部二值模式(local binary patterns,LBP)纹理特征,并采用线性判别分析(latent dirichlet allocation,LDA)对牛口鼻LBP特征进行降维.最后利用支持向量机(support vector machine,SVM)进行分类,该方法可以达到97.5%的识别率.然而由于获取的口鼻图像大多是非线性的,因此该方法降维方式有待改进.S.KUMAR等[5]使用深度学习对牛口鼻进行识别,识别精度提高到了98.99%,但该模型对于存在口鼻图像污损的情形识别比较困难.由于现实环境中很难获取良好的口鼻图像,因此M.F.HANSEN等[6]和YANG Z.H.等[7]使用卷积神经网络(convolutional neural networks,CNN)进行牲畜面部识别,该方法的缺点是需要大量的数据集训练网络模型,而且训练过程需要花费很长的时间.

文中提出一种基于加权稀疏低秩组件编码的猪脸识别算法,首先应用基于Retinex理论的图像增强框架,利用区域协方差滤波器估计光照,获取表示图像内在属性的反射分量;其次应用自适应伽马校正对获取的反射分量进行增强,减少光照对识别结果的影响并保留了图像的细节;然后应用低秩组件构造训练字典,有效地提取面部特征,重构残差函数降低稀疏误差.

1 相关工作

1.1 稀疏表示分类

y=Dα+z,

(1)

式中:α为稀疏因子,α∈Rn×1;z为重构误差,z∈Rm×1.α可以通过求解l1范数最小化来近似恢复:

(2)

式中:λ为折衷常数,控制重构误差的权重.现实环境中面部识别不可避免地会受光照等因素的影响,SRC算法无法对低质量的面部进行分类.CHEN Y.D.等[8]提出的低秩矩阵恢复算法 (low rank matrix recovery,LRR)可以从训练样本D中分离出低秩组件L和非低秩组件S:

D=L+S.

(3)

式中:L表示与面部结构相关的信息;S表示与稀疏误差相关的信息.为了从受损图像中提取低秩组件,可通过下式求解:

(4)

式中:φ为控制稀疏误差的权重.由于求解l0范数是NP(non-deterministic polynomial)难问题,为了方便求解,可以通过求解l1范数进行优化:

(5)

式中:‖L‖*是低秩组件L的核范数,但是在求解时,可能会受到同类样本之间的干扰,因此求解方式有待优化.针对训练样本受遮挡影响,YU Y.F.等[9]提出了判别性多尺度稀疏编码(discriminative multi-scale sparse coding,DMSC)的面部识别方法.通过模拟测试样本可能出现的遮挡情况、并用残差函数减少重构误差,提高算法对遮挡的鲁棒性.残差函数定义为

(6)

(7)

式中:zi为测试样本与第i个训练样本的重构误差,zi=y-Dα;η和θ为残差函数中的可调参数.尽管DMSC可以提高稀疏表示分类器的性能,但是对受光照影响的图像分类效果有待提高.

1.2 光照处理模块

为了避免光照对识别结果的影响,需要对训练样本和测试样本进行光照处理.Retinex理论基于人类视觉系统,因此原始图像I由照明分量L和反射分量R组成:

I=L×R,

(8)

式中:R代表物体的反射性质,即图像内在属性,应该最大程度保留.然而,在去除照明分量时,照明不均匀处的噪声会暴露出来,因此L.KARACAN等[10]提出了一个基于Retinex理论的图像增强框架,应用高斯滤波器估计光照,进而获取反射分量.照明分量计算式为

(9)

高斯核函数wx,y计算式为

(10)

式中:x为像素;N(x)为以x为中心的像素集合;σ为控制高斯滤波器平滑程度的标准差.虽然应用高斯滤波器可以降低光照对图像的影响,但是优化效果有待提高.HUANG S.C.等[11]提出的伽马校正可以对图像进一步进行处理,增强反射分量R,提高图像的对比度,增强细节.基于伽马校正的形式为

(11)

式中:l为输入灰度值;E(l)为增强后图像的灰度值.不同γ对应的增强效果如图1所示.当γ<1时,γ取值越小,增强图像越亮;当γ>1时,γ取值越大,增强图像越暗.

但是,增强后的图像可能会丢失一些细节,而且当通过伽马校正增强图像时γ取值固定,所以γ的取值有待优化.

图1 不同γ的变化曲线

2 基于加权稀疏低秩组件编码

为了解决光照和面部污垢对猪脸识别的影响,文中提出了一种基于加权稀疏低秩组件编码的猪脸识别算法,算法总体流程图如图2所示.文中算法主要由两部分组成:光照处理模块和面部污垢处理模块.

图2 算法总体流程图

在光照处理模块中,融合区域协方差滤波器改善Retinex理论对图像的增强,提出自适应伽马校正算法对获取的反射分量进行增强.通过对训练样本和测试样本进行预处理,可以减少光照对分类的影响,进而提高识别结果.

在面部污垢处理模块中,提出基于加权的稀疏低秩组件编码算法.首先应用判别性低秩分解得到的低秩组件构造训练字典可以获取与面部结构相关的信息;然后重构残差函数减小误差;最后基于残差最小完成分类.重构残差函数可以减小面部污垢对识别结果的影响.

2.1 改进的光照处理模块

针对高斯滤波器无法利用不同像素点的局部信息对光照进行准确估计的问题,利用区域协方差滤波器来估计光照.式(10)可重写为

(12)

(13)

式中:zi为特征向量,μ为这些特征向量的平均值;S为向量的总数.由于式(12)进行量纲一化处理,不同像素点x,y之间存在系数wx,y,因此该滤波器对图像中的不同像素具有自适应性,可以更准确估计出光照.式(9)可重写为

(14)

式中:N(x,r)是y的取值范围,以像素点x为中心、r为半径.反射分量R表示为

(15)

由于反射分量R可能会受噪声的影响,局部细节略显模糊,文中提出自适应伽马校正对反射图像进行增强.为了更好地校正图像,提高图像的局部对比度,式(11)重写为

(16)

为了自适应地对图像进行校正,γ取值依赖于不同像素值的概率分布.对于增强图像的每个像素值v,概率密度函数(probability density function,以Ppdf表示)定义为

(17)

式中:M为增强图像的行;N为增强图像的列;nv为像素值为v的个数总数.像素值为v的累积分布函数(cumulative distribution function,以Ccdf表示)为

(18)

计算概率密度函数的最大值和最小值,可以把概率密度函数优化为加权的概率密度函数,表示为

(19)

式中:Ppdf,max,Ppdf,min分别为Ppdf的最大值、最小值,ζ=Ccdf(v).求得加权概率密度函数后,加权累积分布函数可重写为

(20)

已知像素值v的概率分布,γ取值为

γ=1-ζ.

(21)

把求得的γ代入式(16)中,可以有效增强低对比度图像.图3为光照处理示意图,应用协方差滤波器处理后的图像如图3b所示,应用自适应伽马校正增强的图像如图3c所示.

图3 光照处理示意图

2.2 稀疏低秩组件编码

在降低了光照对识别的影响后,提出利用改进的稀疏表示算法对图像进行分类.判别性低秩分解算法可以从光照处理后的训练样本Den中分离出L和S:

(22)

判别性低秩分解算法的分解效果如图4所示.

yen=Lα+Sβ+z.

(23)

通过β控制S的稀疏性,式(23)为稀疏低秩组件编码的表示形式,然后利用l1范数最小化求解稀疏因子α,即为

(24)

图4 猪脸图像分解示意图

为了进一步减小面部污垢对识别结果的影响,文中模型设置重构的残差函数以减少面部污垢的影响.文中提出通过求导优化残差函数,使得重构误差z尽可能的小,优化方式如下:

(25)

w(zi)表示误差的权重,其计算式为

(26)

(27)

W为误差权重组成的对角矩阵,通过引入W动态平衡重构误差,进而减小面部污垢对识别的影响,式(24)可优化为

(28)

然后基于最小化残差进行分类,令Ci表示训练样本D的类标签矩阵,如果D的第k类来自Ci,则Ci(k,k)=1,其他位置数据都是0,Ci定义为

(29)

对处理后的测试样本yen进行分类:

(30)

式中:I为单位矩阵.通过I与Ci作差可以优化残差,进而优化识别结果.

3 试验与结果

3.1 数据集和试验环境

为了验证文中算法光照和面部污垢情况下对猪脸识别的鲁棒性,对JDD2017大赛猪脸数据集进行处理后用于试验.从中选择了330张猪脸图像,分别构造自定义猪脸光照数据集(https:∥pan.baidu.com/s/1cJsGChDv-6i75ISPW59Q,如图5所示)和自定义猪脸污垢数据集(https:∥pan.baidu.com/s/1UDGHzt9z9t9yiI-r5it0Lw,如图6所示),每种数据集包含165张猪脸图像,共15头猪,每头猪11张图像,并剔除了连续帧的图像,避免影响识别结果.收集图像的个数和类数与最小人脸数据集(Yale_face)类似,保证了数据集的有效性.由于收集的图像大小尺寸不一,需要对图像进行预处理,统一尺寸后进行试验,处理后的图像大小为64 像素×64像素,图片为bmp格式.光照数据集中对每头猪随机选择3张图像调整光照亮度,分别调暗不程度.

文中利用MATLAB进行仿真试验,硬件环境如下:CPU为Intel(R) Core(TM) i5-3337U,主频1.80 GHz;内存为8 GB.为了验证文中所提出算法的性能,分别在光照数据集和面部污垢数据集上与传统分类方法(SRC,LR,CSR,DMSC)和深度学习方法(CNN)进行对比试验.与传统分类方法进行对比试验时,从数据集中每类随机选择3~6张图像作为训练样本,其余图像为测试样本,当每类训练样本个数分别为3,4,5,6时,训练样本总数分别为45,60,75,90,测试样本总数别为120,105,90,75.与深度学习方法进行对比试验时,由于文中选取的数据集大小有限,而深度学习需要大量数据训练模型,所以尽可能多选取训练样本,保证模型的可用性,从数据集中每类随机选择7~8张图像作为训练样本,其余图像为测试样本.所有的试验重复10次,取平均值作为最终识别结果.

图5 部分光照数据集中的猪脸图像样本

图6 部分面部污垢数据集中的猪脸图像样本

3.2 仿真试验

3.2.1光照验证试验

为了验证文中算法对光照的有效性,在光照数据集上进行两组对比试验.

与传统分类方法进行对比试验.文中算法首先利用区域协方差滤波器对测试样本进行光照估计,有效提取出表示图像内在属性的反射分量;然后应用自适应伽马校正对反射分量进行增强,可以增强反射分量的细节,提高对比度.CSR算法结合了区域修复框架可以在较小数据集上减小光照的影响.当每类训练样本个数为6时,文中算法识别率平均超过CSR算法1.45%.试验结果如图7所示,可见文中算法(以OURS表示)明显优于其他对比算法.

图7 光照情况下不同算法的识别率对比

与深度学习方法(选择CNN算法)进行对比试验.CNN算法由3层卷积层、2层池化层组成.由于CNN算法需要大量数据训练网络,即便每类选择8张图像用来训练,识别率也仅达到64.17%,远远低于文中算法,试验结果如表1所示.由光照验证试验可知文中算法对光照具有良好的鲁棒性.

表1 光照情况下不同算法的识别率对比

3.2.2面部污垢验证试验

为了验证文中算法对面部污垢的有效性,在面部污垢数据集上进行两组对比试验.

与传统分类方法进行对比试验.文中算法应用低秩分解获取低秩组件,低秩组件可以描述面部信息;重构残差函数可以有效地动态平衡误差,减小面部污垢对识别的影响.虽然DMSC算法通过模拟测试样本可能出现的遮挡情况、并用残差函数减少重构误差来降低面部污垢对识别结果的影响,文中算法通过重构残差函数,提高了算法对面部污垢了鲁棒性.试验结果如图8所示,可见文中算法始终优于其他对比算法.

图8 面部污垢情况下不同算法的识别率对比

与深度学习方法(选择CNN算法)进行对比试验.CNN算法由3层卷积层、2层池化层组成.由于CNN算法需要大量数据训练网络,即便每类选择8张图像用来训练,识别率也仅达到63.89%,远远低于文中算法,试验结果如表2所示.由面部污垢验证试验可知文中算法对面部污垢具有良好的鲁棒性.

表2 面部污垢情况下不同算法的识别率对比

3.2.3耗时试验对比

为确定不同算法耗时情况,分别在光照数据集和面部污垢数据集上统计算法的运行时间.与传统分类方法相比,由于文中选取的数据集较小,当训练样本数增加时,耗时波动变化不大.试验结果如表3-4所示.试验分析可知:与CNN算法进行对比,当每类训练样本个数为8个时,CNN算法平均需要4.17 s,耗时远远高于文中算法.因此文中算法的有效性得到验证.

表3 光照污垢情况下不同算法的时间对比 s

表4 面部污垢情况下不同算法的时间对比 s

3.3 算法分析

通过光照试验可以验证区域协方差滤波器和自适应伽马校正对光照的鲁棒性:区域协方差滤波器可以对测试样本进行光照估计,提取出表示图像内在属性的反射分量;自适应伽马校正可以增强反射分量的细节,提高对比度;试验结果表明,文中算法对光照具有良好的鲁棒性.在面部污垢试验中,文中算法重构残差函数,得到优化误差的权重矩阵;因为面部污垢部分通常比正常部分有更大的误差,所以应用权重矩阵动态平衡误差,减少面部污垢对识别结果的影响;当训练样本个数大于5个时,文中算法明显优于其他对比算法,对于面部污垢问题有很好的鲁棒性.

4 结 论

文中提出了一种基于加权稀疏低秩组件编码的猪脸识别算法,减少了面部污垢和光照对猪脸识别的影响,在自定义光照数据集和面部污垢数据集上得到验证了其有效性:相比于其他传统算法,文中算法有着良好的识别结果;相比于深度学习算法,文中训练数据耗时较短.

猜你喜欢

污垢训练样本残差
基于双向GRU与残差拟合的车辆跟驰建模
基于污水换热器污垢不同生长阶段的除垢试验研究
基于残差学习的自适应无人机目标跟踪算法
空气中最后的污垢
人工智能
画与理
基于递归残差网络的图像超分辨率重建
无死角清洁的马桶刷
基于小波神经网络的网络流量预测研究
宽带光谱成像系统最优训练样本选择方法研究