使用高分辨率网络在热红外图像上提取人脸关键区域温度

2021-01-11 08:08徐象国尹志鑫
家电科技 2020年6期
关键词:关键点人脸红外

徐象国 尹志鑫

1.浙江大学制冷与低温研究所 浙江省制冷与低温技术重点实验室 浙江杭州 310027

2.浙江大学平衡建筑研究中心 浙江杭州 310027

1 引言

在常规的供暖通风空调(HVAC)系统中,空调的温度设定点是假设室内人员的热感觉是静态且彼此无差异的前提下得出的固定值。然而,每个室内人员的热感觉可能都不同且随着各类环境条件和自身条件而变化。所以,近年来,越来越多的学者在个体即时热舒适模型上进行了研究工作,其特点在于:

(1)从个体直接采集输入信息而不是采集空间中的整体信息(回风温度、湿度等),体现了个体即时的热舒适性。

(2)用数据驱动的方式得到模型,可以灵活测试不同的模型和输入参数。

(3)有能力不断加入新的数据进入模型。而脸部皮肤温度作为表征人体体温调节系统状态的重要特征,被众多学者所采集作为模型的输入参数[1][2][3][4]。

如图1所示,Ghahramani等[1]让实验者带上装有温度传感器的眼镜进行温度采集,Chaudhuri等[2]和Choi等[3]将传感器直接布置在实验者皮肤表面进行采集。虽然这种方式采样准确,但对人员的干扰较大,对其本身的热感觉产生影响。Li等[4]使用了Kinect相机提取脸部区域并将该区域映射至标定好的热红外相机中,这种方式虽然对实验者没有干扰,但设备布置繁琐,标定困难,后续的应用场景也较为受限。由于热红外图像中的人脸各个区域识别难度大,高精度热红外设备较为昂贵,还未有学者在热红外图像上进行人脸关键区域的识别和温度采集。近年来,深度学习技术在可见光人脸图像识别上取得了突破性的进展[5],热红外设备的价格也逐渐降低,越来越多的学者开始将关注点放在热红外图像识别任务上来。所以,对于脸部区域皮肤温度的采集,本文提出了一种新的解决方案:利用深度学习的相关技术,直接在热红外图像上进行关键点检测,以提取相应区域皮肤表面温度。

在红外光谱中,热红外图像是指那些辐射信息波长在3 μm和14 μm之间的图像[6]。其相比可见光图像的优势在于在光照条件较暗的环境下和图像信息涉及隐私保护的情况下,热红外图像往往可以提供更多的信息。由于探测设备昂贵,热红外人脸数据集数目非常有限,在热红外图像进行人脸关键点检测的工作非常少。Kopaczka等[7]使用主动外观模型(AAM)进行热红外人脸关键点检测,这是一个传统的人工构建的模型,用来计算数据集中人脸的平均形状和外观以预测关键点。然而,和其他人工构建的模型一样,其在有非正脸、夸张表情和遮挡的图片中效果不好。

近期,有学者[9][10]提出使用U-net进行热红外图像人脸关键点的检测。如图2所示,U-net网络是一个用于医学图像语义分割任务的基础网络,由于任务特征相近,学者们将其用于热红外人脸关键点检测。Chu等[9]提出使用两级训练网络在热红外图像上进行关键点检测。第一级用来识别图像中的脸部轮廓,第二级用来从轮廓图像信息中得出关键点坐标,另外,一个辅助的输出人脸表情的网络被用来增强训练结果。Keong等[10]也采用了类似的方法。这种方法的缺点在只能对正脸、无遮挡的图像进行识别,而轻微的遮挡和方向变化都会产生较大的误差。我们分析认为,这种原因在于热红外图像的人脸信息本身相比可见光图像减少了许多,而如图2所示,网络中的下采样到低分辨率图像再上采样到高分辨率图像放大了信息的损失,导致检测结果较差。其中,下采样和上采样是指通过卷积对图像的缩放操作,目的是获得图像的特征信息。

近年来,高分辨率特征学习网络(HRNet)在许多人脸视觉任务上都取得了不错的成果。高分辨率特征学习网络(HRNet)是由微软亚洲研究院和中科大在2019年提出[11]的,随后又更新发展了HRNetv2,如图3所示。其网络架构相比U-net的优势在于保持了高分辨率特征图的信息,并与低分辨率图像信息加以融合,大大降低了信息的损失程度。所以,我们提出在热红外图像处理上也使用HRNet作为基础网络训练人脸关键点检测模型,以减少信息缺失。另外,我们将人脸属性(性别、表情、脸部朝向)等作为权重增加至损失函数中,以减少类别间的不平衡,增强网络对于较难情况下(遮挡、侧脸)等图像的识别,以增强网络的泛化能力。

图1 Ghahramani等[1]和Choi[3]采用的传感器采集温度方式

图2 U-net网络结构[10]

图3 HRNet_v2网络结构图[11]

本文将按照如下结构进行论述:第一节是引言部分。第二节是我们使用的USTC-NVIE数据库的介绍以及对数据库中的图像和关键点的处理。第三节展示了我们训练的过程和细节。第四节是结果与评价部分。第五节得出结论。

2 数据库介绍和数据预处理

2.1 数据库介绍

图4 标注好的可见光27点人脸关键点

图5 标注好的红外13点人脸关键点

图6 关键点转换前后对比图

表1 人脸属性表格

USTC-NVIE(自然可见和红外面部表情)数据库是安徽省计算与通信软件重点实验室(CCSL)在863项目的赞助下建立的面部表情数据库[12][13]。数据库中含有100多个实验者的可见光和热红外面部数据,红外图像的空间分辨率为320×256像素。Wang等[12][13]分别为可见光面部图像和热红外面部图像标注了27点和13点人脸关键点数据,是关键点识别中较好的数据来源。另外,NVIE数据库中含有已经分好类的人脸属性,例如带或不带眼镜、人脸朝向和表情。现在,数据库可以通过https://nvie.ustc.edu.cn/公开免费获得。

2.2 数据预处理

2.2.1 红外数据点的透视变换

USTC-NVIE数据库中含有两个数据集,一个数据集为自然采集表情的数据集,含有200余位实验者的约20000余张可见光和热红外照片,另一个为让实验者摆出表情的数据集(以下称为posed database),含有109位实验者的3023张可见光和热红外照片。由于后者的可见光照片和热红外照片是一一对应关系,方便进行关键点的映射和互相比较,所以本研究采用posed database作为研究数据集。在进行处理之前,我们对数据集中的误标、错标进行了筛查和纠正。在USTC-NVIE数据集中,如图4、图5所示,可见光的人脸图片被标注了27点关键点,热红外的人脸图片被标注了13点关键点,为了后续研究的相互比较,我们利用标注好的关键点使用opencv中的透视变换将可见光图像中的27点关键点映射到对应的热红外图像中[14]。

具体方法如下:

(1)找到可见光数据集中的27点关键点和热红外数据集中的13点的共同关键点,分别为左眼睛左眼角、左眼睛右眼角、右眼睛左眼角、右眼睛右眼角、鼻子左下角、鼻子右下角、嘴巴左边角和嘴巴右边角。

(2)利用opencv中的findHomography函数[15]得到可见光关键点和热红外关键点的映射矩阵,其中method参数选取RANSAC方法以减小标注点之间的误差影响。

(3)利用得到的映射矩阵将可见光中的关键点映射到热红外图像中,得到热红外图像中相对应的27点关键点坐标。

如图6 a)、b)所示,效果如下。

2.2.2 人脸属性标注和转换

除了标注关键点,我们还对图像的属性做了标注和转换。如2.1介绍,在USTC-NVIE数据库中,Wang等[12][13]已经在带或不带眼镜、人脸朝向、表情上对图片做了分类,我们另外对人脸的性别做了标注,由于数据库中的实验者年龄较为相仿,我们没有为年龄属性进行标注。所有的人脸属性见表1。

2.2.3 可见光图像的变换

据1.1中介绍,热红外图像在低光照条件下有其独特的优势。所以,我们后续会尝试对比热红外图像与低光照条件下的可见光图像的识别效果,如图7所示,我们对posed database中的可见光图片进行了随机的亮度和对比度的降低,以模拟低光照状态下的可见光图片。在以下章节中,我们将原始的可见光数据集称作RGB数据集,将这部分进行过处理的数据集叫做RGB_LOW数据集。

3 训练过程和细节

3.1 高分辨率特征学习网络

高分辨率特征学习网络(HRNet)是由中科大和微软研究院于2018年提出的。在传统的网络结构如VGGNet中,最终得到的特征图分辨率较低,对于人脸关键点检测、人体姿态检测这类任务损失了较多的空间结构。为了弥补通过卷积网络后特征图空间结构的损失,传统的解决方案如Hourglass[16]、U-net[17]都是采取先降低分辨率,后升高分辨率的方案。而HRNet则保持了特征图的高分辨率,通过在高分辨率特征图主网络逐渐并行加入低分辨率特征图子网络,不同网络实现多尺度融合与特征提取实现的[11]。这种方式保持了原有的特征图的信息,在空间上更精确,对于人脸关键点检测任务,Sun等[17]已经使用HRNet作为模型骨架在300w、wflw等数据集上取得了非常优异的成绩。热红外图像相对可见光图信息相对少,脸部特征不明显,所以我们认为一个低分辨率转高分辨的网络结构会丢失更多的特征信息,而使用HRNet则会有效保持脸部的空间信息,有利于关键点的准确识别。

3.2 含有人脸属性权重的损失函数

在原始的HRNet中,作者采用了较为常见的MSE损失函数:

其中,M代表所有的图例,N代表一个图例中回归热图中的所有像素数,‖pg-pp‖代表了像素点之间的距离,在我们的研究中使用范数。然而,该损失函数没有考虑类别间的不平衡问题,对不同类型难度(正侧脸、不同表情)的样例等都赋予了相同的权重,使得模型容易过多关注那些样例较多和较为容易的例子。如果不用其他的技巧,使用这样的训练集训练出的模型很难适用于大角度以及遮挡的问题图片。而且,我们的热红外数据集难例相对较少,这使得难例所包含的信息更容易被忽视。所以,我们提出将标注的人脸属性加入至损失函数中:

其中的Wc发挥了重要的作用,C代表该样本的总体的类别数,该样本所属类别的数量在训练集中占有的比例越少,则这部分的值越大,则损失函数会赋予该样本更大的权重值,加强该样本的训练,提升了模型的泛化性能。

图7 进行低光照处理的前后对比图

图8 人脸检测和裁剪过程

3.3 训练和测试过程

我们的训练过程遵循了类似Sun等[11]的过程。如图8,我们使用zhang[19]的方法在热红外图像中检测出人脸。而后,我们根据中心位置和人脸框大小将图像进行裁剪并缩放至256×256分辨率的图像。

另外,我们对图像进行了数据增强。我们随机将图像将图像进行了±30度的旋转、水平的翻转,0.8~1.25倍的缩放和3个像素点的中心点随机偏移。

我们使用的模型采用了HRNetV2-W18,如图9所示,HRNetV2相比HRNet的改进主要在于最后特征图的输出融合了来自低分辨率信息图的信息,这一点在关键点检测任务上会带来准确度的提升[11]。

我们将基础学习率设置为0.0001,分别在第30期和第50期的时候降低为0.00001和0.000001。模型的训练以32个批大小在NVIDIA GTX 1070上单GPU上进行训练。为了方便后续的损失函数权重计算,我们利用pandas库[20]将所有的人脸属性进行了“one-hot”编码转换,如此,所有属性值都为0或者1。损失函数在原图像特征图大小的1/4上进行优化。

图9 不同版本的HRNet输出层特征

图10 热红外关键点识别效果对应展示

图11 增加人脸属性权重系数前后的识别效果对比

我们将80%的数据作为训练数据,10%的数据作为验证数据,另外的10%数据作为测试数据。在测试过程中,每个关键点是由原始分辨率的1/4的特征图预测出来并根据Chen等[21]所描述的方法将预测点由最高点响应向第二高响应进行了1/4像素点的偏移[21]以增加关键点检测的准确率。

4 结果评价

4.1 评价指标

我们使用归一化平均误差(NME)来评价模型好坏,它表征了使用两眼之间的距离归一化后的关键点之间的距离。如式(3)所示:

在式(3)中,‖Lg-Lp‖代表了真实的关键点预测值和预测出的关键值之间的范数距离,P代表了预测的关键点数目,在我们这里是27,Di代表了两个眼睛外眼角之间的距离,N代表了图例的数量。

表2 各种方法在测试集上表现结果

表3 可见光与热红外图像的比较

4.2 评价结果

我们分别使用AAM,U-net,HRNet和含有人脸属性权重的损失函数训练的HRNet(以下简称HRNet_attri)在posed database上进行了训练和测试,各种方法在测试集上表现结果如表2所示,其中HRNet要明显优于其他方法。NME表征了总体的关键点的误差,FR表征失败率,FR(0.08)代表测试集中NME>0.08的比率,FR(0.1)代表测试集中NME>0.1的比率,两者越小代表着模型对关键点识别的稳定性更好。从表2中可以看出,HRNET相比其他模型取得了较大的准确率(nme)的提升。而HRNet_attri则进一步提升了准确率,降低了偏差较大的比率。图10展现了使用HRNet_attri模型在热红外图像上的识别效果图和其相对应的可见光图像。

图11展现了一些对于一些难度较大的例子中HRNet和HRNet_attri分别的识别效果,从图中的眉毛、嘴巴等位置的识别效果可以看出,在增加了人脸属性作为损失函数权重后,HRNet_attri的识别效果要优于HRNET。

图12更进一步展现了HRNet_attri的效果细节。我们展示了各个类别下的模型的NME,可以看出在大多数类别下,HRNet_attri都达到了相比其他方法更优的效果。增加权重后的模型对于较难的例子(遮挡条件、大角度、夸张表情)都有着不错的提升效果,而且对于简单的例子也同样有着提升效果。

更进一步,为了对比热红外图像和低光照条件下的可见光关键点识别率,我们对RGB和RGB_LOW数据集训练了HRNET_attri模型,结果见表3。从表3中可以看出,尽管模型在热红外图像上识别关键点的准确率与正常的可见光图像上还有较大差距,但在黑暗环境下和一些隐私保护的情况下,热红外图像的识别率较高,可以代替可见光图像进行识别。

5 讨论与结论

在上面章节中,我们使用高分辨率特征学习网络在热红外图像上进行了人脸关键点的检测,在得出关键点坐标后,如图13,我们就可以按照关键点所在的区域对温度数据进行框选和提取,例如眼睛、眉毛、鼻子、嘴巴等,并将其区域内的温度数据的平均值作为该区域的代表温度作为后续舒适性模型的特征输入。

然而,我们的研究工作还存在一些局限性:(1)我们的研究中对温度的提取局限在脸部区域,这限制了后续热舒适模型的训练,未来我们会尝试在人体图像上进行关键点识别,以提取更多的表征人体代谢循环的区域(如手腕、脖子)等温度。(2)我们的研究中热红外图像的分辨率是320×256像素,这样的分辨率图像还需要较为昂贵的热红外图像采集设备,而在低分辨率热红外图像上进行准确的关键点识别是我们未来继续研究的方向。(3)我们的研究按照数据库的标注进行了27点关键点识别,但是现在较为主流的关键点识别通常为68、98点[23][24],更多的关键点识别会提取到更多和更为精确的脸部对应区域温度,相关的工作会在未来的研究中进行。

通过以上章节的讨论,我们可以得到以下的结论:

(1)针对人脸关键区域的温度提取,我们提出了一种新的解决方案:使用高分辨率特征学习网络直接在热红外图像上进行人脸关键点检测,从而提取相应关键区域温度。对比相关研究,我们的模型识别准确率更高,稳定性更好。

(2)我们将人脸属性作为权重加入至损失函数中,有效解决了类别间的不平衡问题,提高了较难(夸张表情、遮挡条件、大角度)图像的识别准确率。

图12 各个类别下模型的NME值

图13 根据人脸关键点进行脸部区域温度的提取

(3)我们对比了热红外图像与可见光、可见光低光照下的识别准确率,说明在热红外图像上进行关键点识别是可行和准确的,在一些特殊条件下(如低光照、隐私保护),热红外图像可以代替可见光图像进行准确的关键点识别。

猜你喜欢
关键点人脸红外
网红外卖
肉兔育肥抓好七个关键点
有特点的人脸
一起学画人脸
建筑设计中的防火技术关键点
闪亮的中国红外『芯』
8路红外遥控电路
TS系列红外传感器在嵌入式控制系统中的应用
三国漫——人脸解锁
机械能守恒定律应用的关键点