APP下载

面向室内环境控制的人员信息检测系统的设计与实现

2020-05-28张文利王佳琪朱清宇

北京工业大学学报 2020年5期
关键词:检测器头部图像

张文利,郭 向,杨 堃,王佳琪,朱清宇

(1.北京工业大学信息学部,北京 100124; 2.中建科技集团有限公司,北京 100070)

近年来,随着信息技术的发展与人民生活水平的提升,人们对生活环境提出了更高的要求,智慧建筑正被重视并发展. 智慧建筑通过物联网、云计算等现代信息技术,整合建筑内各项数据并对其进行分析,提供环境舒适、节能环保的建筑. 其中,室内环境舒适度控制系统是控制建筑内各项设备的中心系统,也是智慧建筑的核心. 文献[1]表明,环境的温度、湿度会影响室内人员的工作状态,一个舒适的环境不仅可以在一定程度上减缓室内人员的负面消极情绪,还可以提升将近10%的工作效率,因此控制室内环境温湿度处于舒适范围具有很大的现实意义.

国内外学者针对基于舒适度的室内环境控制系统进行了大量研究[2-5],其中使用“热舒适度”作为评价指标衡量当前室内人员对环境感受到的舒适程度. “热舒适度”与人员的个数、性别、体表温度及室内温湿度相关. 温湿度等室内环境信息通常可以通过传感器采集获得,本文着重探讨同时获取室内人员的个数、性别及体表温度信息的方法.

室内人员的个数[6-9]、性别[10-14]主要通过可见光图像检测获取,而体表温度信息通过红外热图像获取[17-19]. 在人员检测的方法中,李娟等[6]使用改进的高斯混合模型对人员进行检测;Aguilar等[7]训练得到HAAR-LBP和梯度方向直方图(histogram of oriented gradients,HOG)级联分类器,并使用该级联检测器检测人员;Dong等[8]将特殊区域提议算法与基于快速区域卷积神经网络(fast region-based convolutional neural networks,Fast R-CNN)相结合,并将其应用于行人检测;Zhao等[9]利用基于Fast R-CNN的卷积神经网络来提取人员特征,并借助上述特征来检测人员. 在人员性别检测的方法中,Ahonen等[10]表明局部二值模式(local binary patterns,LBP)特征非常适合于面部图像的分类,于是一些研究学者将LBP特征与支持向量机(support vector machine,SVM)[11-12]监督学习算法组合用于性别判断;受深度神经网络的启发,Levi等[13]和Shin等[14]使用深度神经网络对人员面部区域图像进行性别判断. 但由于可见光图像无法通过颜色、纹理信息反映温度信息,以上研究均无法得到人员的温度信息. Tanda等[15]和Quesada等[16]使用红外热成像仪拍摄人体,从而获得包含人体的红外热图像,并通过其获取人员体表温度. 部分研究学者利用红外热图像中的边缘信息检测图像中的人员[17-18]. 但由于红外热图像缺乏细节纹理信息,因此人员的性别信息难以被识别.

以上国内外研究现状表明,目前缺乏通过图像处理同时获得室内人员个数、性别以及体表温度信息的技术. 因此,本文提出了一种面向室内环境控制的人员信息检测系统,该系统融合可见光图像与红外热图像的信息,可以实现同时检测室内人员个数、性别,并获取人员的体表温度. 系统融合可见光和红外热图像时,需要解决3个关键问题:1) 现有红外热成像仪由红外相机和可见光相机组成,由于两者成像特性不同,造成图像间像素无法对应,影响后续操作;2) 传统的人员检测算法主要通过人员面部或全身特征来检测并定位人员位置,但其难以解决侧脸、背身等头部多姿态而导致的误检漏检问题,无法精确检测人员并统计人数; 3) 基于红外热图像的温度读取和计算大多依赖红外热成像仪厂家提供的配套软件,可操作性差,难以进行系统集成和功能拓展.

针对以上3个问题,本文的主要贡献有3点:1) 提出一种可见光与红外热图像的图像配准算法,利用2组相机的视场角等成像参数计算2幅图像的像素位置关系实现图像配准. 2) 提出一种基于Faster R-CNN的头部检测算法,用于检测室内环境中的人员及统计个数. 本算法采用ResNet-50替代原始VGG-16网络模型,提升特征提取能力;采用迁移学习训练头部检测模型,提升人员头部检测的准确度. 3)提出了一种基于温度标尺和颜色映射的温度计算方法,通过识别红外图像中的温度标尺,提取温度范围,并利用颜色映射关系获取红外图像中的各像素点的温度值.

1 系统总体架构

本文提出的面向室内环境控制的人员信息检测系统总体框架如图1所示. 主要功能有:1) 图像配准. 同步采集获得的可见光图像与红外热图像,并对2幅图像进行图像配准. 2) Faster R-CNN人员检测. 由于人员头部裸露在外,不易受到服装等遮挡,可以作为稳定的温度观测点,因此在可见光图像中获取人员头部区域,并进行人数统计及后续体表温度计算. 3) 性别检测. 对于每个人员头部区域,采用基于卷积神经网络(convolutional neural networks,CNN)的性别检测器判断场景中人员的性别. 4) K近邻算法(k-nearest neighbors,KNN)温度标尺识别. 从红外热图像中提取温度标尺区域并进行二值化处理,应用KNN数字识别模型识别温度标尺的上、下限值. 5) 计算人员体表温度. 将2)中可见光图像检测到的头部区域映射到与红外热图像对应的目标区域中;利用温度标尺的上、下限值与红外热图像的颜色映射转换公式,推算红外热图像中每个像素点灰度值所表示的实际温度值,从而计算上述目标区域的温度值,作为场景中该人员的体表温度. 6) 可视化人员信息. 统计并可视化室内人员的人数、性别以及对应的体表温度.

1.1 图像配准

当利用可见光和红外摄像头同时拍摄同一场景时,尽管拍摄角度和拍摄距离相同,由于视场角、分辨率等相机参数的差异,导致生成的2幅图像的像素点无法完全匹配,甚至存在较大位置偏移,因此需要利用矫正变换对2幅图像进行配准. 通常具有可见光与红外拍摄功能的热成像仪,其可见光摄像头的视场角大于红外热摄像头的视场角,导致可见光图像的成像范围大于红外热图像的成像范围, 如图2所示. 其中图2 (a)黄色框与边界红色框之间的环形区域超出图2 (b)红外热图像的成像范围,因此需要消除超出部分的冗余像素点. 本文提出的配准算法的具体步骤如下.

1) 以可见光图像中心点为中心,提取与红外热图像成像范围匹配的区域. 计算方法为

(1)

(2)

式中:W、H分别为提取后获得矩形区域的宽和高;α1、β1分别为可见光摄像头的水平视场角和垂直视场角;α2、β2分别为红外摄像头的水平视场角和垂直视场角;f1、f2分别为可见光摄像头和红外摄像头的焦距;m、n分别为可见光摄像头的水平和垂直分辨率.

2) 将W×H区域缩放至与红外热图像相同尺寸,即可得到与红外热图像精确配准的可见光图像,配准结果参见实验部分.

1.2 Faster R-CNN人员检测

通常服装等因素会影响温度测量的准确度,而裸露的头部区域可以作为较稳定的温度观测点,因此本文以检测室内场景中的人员头部作为人员检测的方法. Faster R-CNN是Ren等[19]提出的一种基于深度学习的目标检测算法,其在MS COCO以及Pascal VOC目标检测数据集上获得较高的检测精度. 本文提出一种基于Faster R-CNN的头部检测算法,用于检测室内环境中的人员头部并统计人数. 本文提出的头部检测器主要由3个部分组成:特征提取网络、区域提议网络(region proposal network,RPN)和Fast R-CNN[20]检测器,整体架构如图3所示. 在原始Faster R-CNN基础上,本文主要的改进如下:

1) 采用残差网络模型ResNet-50代替VGG-16,提取更深层图像特征,提高头部分类与头部预测框坐标回归的准确性. 原始Faster R-CNN算法采用VGG-16作为特征提取网络,但是当层数过度增加时,由于过拟合问题和网络退化,会导致训练和测试错误增加. ResNet[21]是由MSRA何凯明团队提出的一种深度残差神经网络,利用残差结构进行训练,网络的深度可以达到上百层,同时解决了网络退化和梯度消失问题,较大程度提升目标检测精度,因此本文中使用ResNet-50代替VGG-16,作为特征提取网络. 设置ResNet-50网络的前4个残差网络层(表示为Stage-1至Stage-4)为共享卷积层,以提取输入图像的深层语义特征图,实现RPN和Fast R-CNN检测器共享输入特征图;第5个残差网络层Stage-5作为特征映射层连接在RoI-Pooling层和分类回归层之间. ResNet-50中Stage-1到Stage-5的残差结构具体细节见文献[21].

2) 采用迁移学习训练头部检测模型,提升人员头部检测的准确度. 原Faster R-CNN中使用的数据集包含诸如车辆、家具和行人等多种类目标,但其中人员头部的注释样本稀少,从而影响头部检测的精度. 本文提出利用迁移学习[22]的方法,在ImageNet[23]数据集预训练得到的模型基础上,加载头部数据集,微调所有的网络层,训练基于Faster R-CNN的头部检测器,从而精准检测室内场景下的多角度人员头部.

本文利用迁移学习训练头部检测器的步骤如下:1) 以HollywoodHeads[24]头部训练集为输入,利用在ImageNet上预训练的ResNet-50作为特征提取网络提取共享特征图,将其分别输入到RPN和Fast R-CNN检测器中. 其中HollywoodHeads大型数据集包含224 940个电影帧图像,每帧通过手工注释的方式标注头部边框,并且提供正面、侧面、背面等多角度头部样本,共369 846个头部实例. 2) RPN是一个全卷积神经网络,其利用Anchors[19]以及ResNet-50特征提取网络输出的共享特征图,生成大量多尺度的头部候选区域坐标,适应室内场景下的人员头部变化,其中Anchors的设置与文献[19]中相同, 尺度分别设置为128、256、512像素,比例分别为1∶1、1∶2、2∶1,共9种Anchors尺度. 3) Fast R-CNN检测器获取RPN提议的头部候选区域坐标,将其映射到Fast R-CNN的输入特征图上,并应用RoI-pooling层为每个头部候选区域提取固定长度的特征向量,分别输入到Softmax分类层和坐标回归层,获取类别置信和坐标偏移值,其中调整Softmax分类层的输出神经元个数为2,即头部和背景类,以及调整坐标回归层的输出神经元个数为4,即头部预测边框的坐标偏移值.

1.3 性别检测

本文应用Arriaga等[25]提出的性别检测方法,作为人员信息检测系统的性别分类器. 算法采用了轻量级全卷积神经网络的架构,称为Mini-Xception,网络结构如图4所示. 在网络中嵌入了残差模块和深度可分离卷积层,并且使用全局平均池化层替代参数集中的完全连接层,相比较VGG等大型网络减少了网络的训练参数,可以应用到硬件受限的设备而不影响其性别检测的实时性. 本文首先对所有头部区域进行标准图像预处理,将像素值归一化到0~1之间,并将头部区域的尺寸统一缩放为48×48,输入到预训练性别分类模型;然后通过2个普通卷积层(Conv),在每个卷积(Conv)后经过批量归一化层(batch normalization,BN)和ReLU激活函数分别进行规范化和非线性处理;利用4个由深度可分离的卷积(separable convolution,Sep-Conv)层、最大池化层(Max-Pooling)和普通卷积层组成的残差模块,提取深层特征表示;最后通过卷积以及全局平均池化层(Global Avg-Pooling)降维后,输入到Softmax分类层输出预测每个人员的性别分类. 应用此模型在本文采集的测试数据集上获得了较好的性别检测准确率,且具有良好的检测速度.

1.4 基于图像融合的体表温度计算

通常情况下,基于红外热成像设备的温度计算是利用相机配备的热辐射计算工具获取像素点的温度值,但其可操作性和实时性差,无法有效利用场景的温度信息. 同时不具备自动识别图像中的人员个数以及计算人员体表温度等功能. 本文获取人员体表温度信息的步骤如图5所示.

1) 匹配图像间相同头部区域. 对于可见光图像,将检测到的人员头部坐标映射到红外热图像的对应区域,定位红外热图像中人员头部区域的坐标.

2) 利用KNN算法识别温度标尺. 红外热成像仪采集的热图像中,右侧固定位置会生成温度标尺信息,温度标尺的上、下限值反映了热图像中对应的温度范围,通过温度标尺的上、下限值可以计算热图像中每个像素点所表示的实际温度值. KNN是一种基本分类算法[26], 通过测量不同特征值与训练数据集样本之间的距离进行分类. KNN识别温度标尺步骤为:截取红外热图像温度标尺上、下限对应的感兴趣区域,进行灰度二值化处理,提取数字0~9和小数点的图像特征,制作训练数据集. 特征提取的流程如图6所示.

3) 计算人员体表温度. 将原始红外热图像转化为灰度图像,每个灰度值对应不同的温度值. 根据温度标尺信息与灰度值的对应关系,提出利用颜色映射计算红外热图像中任一像素点温度的方法,计算公式为

(3)

式中:T(i,j)为红外热图像中任一像素点的温度值;Tmax、Tmin分别为温度标尺上、下限值,如图6左图中温度上、下限分别为40.0、31.0 ℃;G(i,j)为红外热图像上像素点(i,j)的灰度值. 利用式(3)计算并统计人员头部区域中所有像素点的温度值,选取其中最大值作为目标的体表温度.

2 实验结果

2.1 实验环境及数据采集

本文实验使用的计算机配置为CPU i7-8700K,单NVIDIA 1080Ti GPU,32 GB内存. 系统的实验图像数据是通过FLIR E8 WIFI手持型红外热像仪采集获得. FLIR E8附带可见光摄像头和热红外摄像头,其中红外摄像头的视场角(水平×垂直)为45°×34°,分辨率为320×240,焦距为6.5 mm;可见光摄像头的视场角(水平×垂直)为55°×43°,分辨率为640×480. 由于红外热像仪厂家通常不提供可见光摄像头焦距信息,故本实验中假设可见光摄像头焦距的取值与红外摄像头相等. 本文采用手动拍摄方式模拟室内监控摄像机,捕获办公场景下的210张样本图像,共计665个人物实例,并且考虑到多拍摄角度、多拍摄距离和光照变化条件,以保证数据样本的多样性. 同时获取用于迁移学习训练头部检测模型的HollywoodHeads头部数据集.

2.2 图像配准实验结果

在图像配准实验中,将上述可见光摄像头和红外摄像头的焦距、视场角以及分辨率成像参数,代入式(1)(2), 计算获得与红外热图像成像范围匹配的可见光图像区域大小为(W,H)=(508,372). 以可见光图像中心点,截取宽为508像素、高为372像素的矩形区域,并缩小图像至(320,240), 即获得与红外热图像精准匹配后的可见光图像. 图7(a)是图像配准后的可见光图像,图7(b)展示了2幅配准图像加法获得的透视图,表明本文方法配准后的可见光图像能够与红外热图像实现精准匹配.

2.3 人员检测实验结果

在人员检测模型训练阶段,对配准后的可见光图像进行缩放,使长边小于等于1 000像素,短边小于等于600像素,并进行零均值处理;对于RPN的训练参数,设置与真实地面标记(ground truth, GT)的交并比(intersection-over-union, IoU)为0.7, 提取正负样本的anchors,每张图像的正负样本总数为256,其中正样本数量不超过128,用于训练RPN网络. 对于Faster R-CNN的训练参数,从RPN网络产生的候选框中选择128个区域提议,其中与GT边框的IoU大于0.5作为正样本,IoU小于0.1的作为负样本,正负样本比例为1∶3,用于训练Faster R-CNN. 对于RPN网络和Faster R-CNN网络的分类损失,使用交叉熵函数;对于坐标回归损失,采用Smooth L1函数,具体实现见文献[19].

应用TensorFlow为后端的Keras深度学习框架在HollywoodHeads数据集上进行迁移学习,采用近似联合训练方式,训练基于Faster R-CNN的头部检测器,迭代训练100轮,每轮1 000张图像,每个批次1张输入图像. 采用Adam优化器优化原始损失函数,学习率为0.001,同时在训练阶段应用了随机图像增强,提高模型的泛化能力. 模型在单NVIDIA 1080Ti GPU的PC机上进行了15 h的迭代训练. 对照实验应用基于SSD目标检测算法的头部检测器和本文基于Faster R-CNN的头部检测器,在采集的样本图像上验证人员检测效果. SSD是Liu等[27]提出的一种兼具准确性和实时性的学习目标检测算法,相比较Faster R-CNN算法先通过RPN网络获得候选框,然后对目标进行分类与回归,SSD可以一步到位完成检测. 在本文的实验中,在HollywoodHeads头部数据集上训练基于SSD的头部检测器,用于进行人员检测的结果对比. 人员检测效果对比如图8所示,图8(a)展示了基于SSD头部检测器的检测效果,图8(b)展示了本文采用的基于Faster R-CNN头部检测器的效果. 图中红色边框选中的区域为人员头部区域,黄色边框选中的区域表示漏检的人员目标,左上角Numbers数值表示场景中的人员计数. 根据实验结果,基于SSD的头部检测器存在较多目标漏检现象. 这主要因为在实际图像采集场景中,由于人体距离相机的远近不一,可能导致人体会呈现多姿态和不同尺度大小[28],从而影响头部的检测与定位,基于SSD的头部检测方法对于头部尺度变化的鲁棒性较差,不能够满足本系统人员检测的准确度要求. 而本文采用的基于Faster R-CNN的头部检测方法可以精确地检测并定位图像中人员的头部区域,并且在侧脸、背身等头部多姿态和相似背景下依然保持较好的检测性能,为后续人数统计和温度计算提供依据.

为了评估人员检测性能,本文采用精准率(Precision)和召回率(Recall)作为人员检测的评价指标,在测试数据集上评估测试数据集上2种头部检测算法性能. 精准率和召回率的计算公式分别为

(4)

(5)

式中:TP为真正例(true positive),代表候选区域的GT为正例且区域预测结果是正例的区域个数,即人员预测正确的区域数量;FP为假正例(false positive),代表候选区域GT为反例但预测结果是正例的区域个数,即将背景错误检测为人物的区域数量;FN为假负例(false negative),代表候选区域GT为正例但预测结果是反例的区域个数,即人员漏检的区域个数. 正例表明候选区域中存在人员,反例则表示为背景区域.

实验结果对比如表1 所示.

从表1结果可以看出,基于Faster R-CNN头部检测器的人员检测方法的精准率高达96.85%,略高于SSD人脸检测器. 于此同时模型获得了92.48%

表1 人员检测结果

的检测召回率,远高于SSD的71.81%,对比数据表明本文的头部检测方法与SSD方法相比精确率提高0.3%,召回率提高20%,在保持检测精度的基础上有效减少了头部漏检率. 表2展示人数统计的准确率对比,在全部的210张测试图像中,SSD存在较多人员漏检,统计正确的样本数为56张,准确率仅为26.67%;本文采用基于Faster R-CNN头部检测器的人员检测方法,统计正确的样本数量为162 张,准确率达77.14%,相比SSD方法提升了人数统计的准确率,可为后续通过场景人数计算获取室内舒适度,提供准确的人数信息.

表2 人数统计结果

2.4 人员性别检测实验结果

利用头部检测器提取获得人员头部区域,输入本文预训练深度学习性别检测模型中,获取该人员的性别. 性别检测模型通过在IMDB性别数据集进行迭代训练获得,该数据集是包含大量附有性别、年龄标注的人员图像,共有460 723张. 本文使用的性别检测模型在该数据集上达到了95%的性别检测准确率.

本文性别检测的结果可视化如图9所示. 红色边框表示人员性别为“man”,蓝色边框表示为“woman”,性别检测的准确率如表3所示,由表3结果可知,本文采用的性别检测算法,在室内场景下的全部的665个人员实例中,获得了59.25%的性别检测准确率,可以较准确地判断人员性别,对于侧脸、背身等头部姿态变化挑战具有较好的鲁棒性.

表3 性别检测结果

2.5 体表温度计算实验结果

在本系统中,采用KNN数字识别算法识别红外热图像中的温度标尺,KNN算法的结果取决于K值的选择,本文通过交叉验证方法进行实验,最终选择K=7. 对测试集的210张红外热图像进行温度标尺上、下限识别,识别准确率达100%,能够满足温度计算的要求.

根据坐标映射后红外图像中的头部位置以及温度标尺上、下限,利用温度计算式(3)获得头部区域内所有像素点的实际温度值,取该区域内的最大值作为目标的体表温度. 最终系统融合人员位置、人员性别、人数统计信息和人员体表温度信息,进行可视化界面显示,可视化结果如图10所示. 图10(a)(c)为参考可见光图像,图10(b)(d)为系统处理后反馈的结果图像. 在检测结果图中,左上角标注当前场景中的人员数量,红色和蓝色边框分别标识的男性和女性人员,并将每个人员的性别和温度信息在对应位置显示. 该系统能够在GTX 1080Ti GPU平台以3帧/s的速度处理输入视频序列,满足场景下的人员信息检测的需求,且在人员侧脸、背身等头部多姿态条件下,具有较好的鲁棒性,为后续利用场景人员信息进行室内环境控制提供了数据保障.

3 结论

1) 本文提出了一种面向室内环境控制的人员信息检测系统,针对传统的图像处理方法无法同时检测人员、获取性别信息和体表温度信息的问题,通过融合可见光图像的人员检测信息以及红外热图像的温度信息,实现同时采集场景中的人员位置、性别、人数和体表温度信息.

2) 针对视频监控采集的图像中人物通常存在侧脸、背身等头部多姿态而无法提取有效面部特征的问题,本文提出基于Faster R-CNN头部检测的方法对室内人员进行检测,本文方法与其他算法相比可以保持较好的检测性能,降低了目标漏检率.

3) 使用红外成像仪采集的红外热图像,需要通过相应辅助软件获取图像中的温度信息,难以有效地进行批量数据处理和功能拓展,本文提出了基于温度标尺和颜色映射的温度信息计算方法,实验结果表明,本文方法可以实现自动准确地计算场景中人员的体表温度信息,提高了系统的可操作性.

未来将应用更准确、对头部多姿态鲁棒性更高的性别检测器,并进一步降低系统复杂度,提高系统整体运行的实时性.

猜你喜欢

检测器头部图像
参数可调的联合子空间目标检测方法 *
基于生成对抗网络的CT图像生成
自动驾驶走向L4 企业头部效应显现
浅析p-V图像中的两个疑难问题
火箭的头部为什么是圆钝形?
巧用图像中的点、线、面解题
基于交通诱导的高速公路交通检测器布设方案研究
基于均匀性判定规则的统计MIMO雷达多通道融合检测技术
否定选择算法中高性能检测器的生成
趣味数独等4则