基于多任务分类的吸烟行为检测

2020-06-10 12:09程淑红马晓菲张仕军
计量学报 2020年5期
关键词:多任务人脸残差

程淑红, 马晓菲, 张仕军, 张 丽

(1.燕山大学 电气工程学院, 河北 秦皇岛 066004; 2.秦皇岛技师学院, 河北 秦皇岛 066004)

1 引 言

吸烟是危害人类身体健康的重要因素之一,二手烟造成的危害尤为严重。2014年,国家卫生和计划生育委员会起草了《公共场所控制吸烟条例(送审稿)》[1],明确所有室内公共场所一律禁止吸烟。控制吸烟卫生监督管理工作一般的监督措施是人力监督或高精度的传感器烟雾检测设备,但存在人力财力大量流失以及实时性差、易受外界因素干扰等缺点。基于视频的吸烟检测通过将光学摄像头采集的图像信息输入计算机,根据事先预定的算法对序列图像进行模式识别和信息处理判断,更具实时性和高效性。文献[2]提出将混合高斯模型与帧差法相结合根据烟雾特性分离动态烟雾区域的算法,虽灵敏度较高,但稀薄烟雾运动性不太明显易受疑似烟雾物体的干扰;文献[3]提出基于视频序列中的运动信息与两次肤色检测相结合的分割方法,实时性较强,但在复杂背景中对手势图像的分割效果还不够好;文献[4]通过分析人脸和手部样本之间的接触时间、烟雾检测和手持物体检测这3个特征,利用决策树对人的行为进行分类,能适用于多种复杂环境但不能单一地对吸烟行为进行检测。吸烟行为期间香烟必须移动到嘴里,只识别嘴部范围内的相关信息,可以排除无用图像数据的干扰,降低计算的复杂性,避免误判。

本文提出了一种基于多任务分类的吸烟行为检测算法,通过多任务卷积神经网络(multi-task convolution neural network, MTCNN)[5]判别人脸并获得人脸区域[6,7],然后建立一个级联的残差回归树(GBDT)[8]回归嘴部形状从而定位感兴趣区域(region of interest,ROI),在有效减少识别时间、提高检测精度的基础上通过残差网络[9]对ROI内香烟特征学习来达到检测吸烟行为的目的。同时,针对不同场景不同人员的吸烟行为进行检测,并对比了支持向量机(SVM)[10]和残差网络对不同ROI香烟识别准确性,进而验证了本文算法的有效性和可行性。

2 算法原理

本文算法首先采用多任务卷积神经网络对采集到的图像进行人脸的判断和识别,然后在定位的人脸区域中利用级联的残差回归树方法,估计68个人脸特征点坐标,按照一定的规律框定嘴部ROI,最终通过残差网络获取ROI吸烟特征并对有无吸烟行为做出判定。具体算法框图如图1所示。

图1 算法框图Fig.1 Algorithm block diagram

2.1 脸部区域定位

进行吸烟行为检测,首先要判别并定位脸部区域。基于多任务框架的深度卷积网络,采用3个深度卷积网络级联结构,通过将人脸判别、定位和面部标识定位同时作为网络目标函数,端到端地训练整个深度卷积网络。其结构如图2所示。

图2 多任务卷积神经网络结构Fig.2 Multitasking convolution neural network structure

利用3个任务来训练此级联的卷积神经网络:

1) 人脸判别:这是一个二分类问题。对于每个样本,使用交叉熵损失函数:

(1)

2) 人脸定位:对于每个候选框,学习目标被表述为一个回归问题,预测它与最近的背景真实坐标在特征空间中的欧氏距离计算回归损失:

(2)

3) 面部标识定位:将面部标识检测表示为回归问题,计算网络预测的标识位置和真实标识的欧式距离,并使其最小化:

(3)

针对多个输入源的训练,总的训练目标可以表述为:

(4)

2.2 ROI准确定位

为了定位更精确的ROI,要进行人脸对齐[11]。获得人脸区域后,基于梯度提高学习的回归树方法(ERT级联回归算法)首先估计一个大致的特征点位置,然后采用梯度提升算法优化损失函数和手工数据标点错误的总和,用最小二乘法来最小化误差,得到每一级的级联回归因子。如式(5)所示。

(5)

图3 基于人脸特征点的ROI定位Fig.3 Mouth region localization based on face feature points

利用人脸特征点定位ROI,定位规则为:

(6)

式中:w、h分别为特征点检测中嘴部区域的长和宽,W、H分别为本文算法定位ROI的长和宽。

2.3 残差网络

获得ROI后,构建一个残差网络以获得的ROI图像作为输入,自动学习图像特征及数据内部的隐含关系,利用全局平均池化(GAP)[12]取代全连接层(FC)[13]来融合学习的深度特征,实现有无吸烟行为的分类。

为了解决深层网络优化的问题,通过在输入与输出之间引入捷径连接(shortcut connection),解决由于网络很深出现梯度消失的问题,将网络转换为对应的残差版本,即残差网络,定义如下:

y=F(x,{W}i)+Wsx

(7)

式中:x,y分别为残差块的输入与输出;F(x,{Wi})为要学习的残差映射;当需要对输入和输出维数进行变化时,可以利用线性投影Ws来匹配大小。

图4 残差基本结构Fig.4 Residual block

残差块基本结构如图4所示,表达式为:

y=F(x,{Wi})+x

(8)

式中:F(x)=W2σ(W1x),σ为非线性函数ReLU;W1为第一层连接权值;W2为第二层连接权值,为了简化写法忽略了偏置项,然后通过捷径连接和第二个非线性函数ReLU得到残差块输出y。

设H(x)作为几个堆叠层(不必是整个网络)期望的基础映射,x表示这些层中第一层的输入,残差网络学习的是残差函数F(x)=H(x)-x(输入输出是相同维度),原始函数变为F(x)+x。如果F(x)=0,添加的层就可以被构建为恒等映射,残差函数更易拟合。

3 实验结果与分析

本文实验数据来自于手动采集的Smoke数据集(不同室内场景下吸烟/未吸烟图片24 000张)、Test数据集(含8段视频序列,分别由8名不同的测试人员在不同场景下进行采集,其中包括2名女性测试者和6名男性测试者,以30 帧/s的速度进行视频采集,每段测试视频序列约为20 s)。通过对本文算法ROI定位效果和吸烟行为检测分类效果分析,验证本文检测算法的可行性与有效性。实验中所有数据分析和结果均基于同一初始条件和实验环境,实验环境:Ubuntu14.04+python+opencv3.3+mxnet;intel i7-6700K处理器;GTX1080显卡;8G运行内存;HD720P摄像头。

3.1 本文算法ROI定位效果验证

对Test数据集的视频序列进行ROI定位实验,将8段测试视频进行抽帧分析。分别对每段视频抽取200帧进行测试,定位准确帧为1 522帧,ROI定位准确率为95.13%,部分视频帧定位ROI效果如图5所示。

图5 ROI定位效果Fig.5 Region of interest positioning effect

由图5可知,本文所提出的算法对ROI效果较好。训练过程最后生成的ROI权重在融合算法中进行调用并用于最终的吸烟行为检测。

3.2 本文算法检测效果验证

3.2.1 残差网络模型训练效果

1) Smoke数据集预处理:由于图像采集环境的不同,如光照明暗程度以及设备性能的优劣等,手动采集的图像往往存在有噪声、对比度不够等缺点,在进行模型训练之前,对数据集进行包括图像增强、灰度取值范围相同、大小归一化为等预处理,并对数据集进行Normal、Smoking类别标记,部分训练样本如图6所示。对其顺序进行打乱,生成含有图像信息的数据文件。训练和测试数据集比例为4:1。

图6 数据集部分训练样本Fig.6 Some data set training samples

2) 吸烟数据模型训练:为了使模型对吸烟有较好的检测效果,经过多次网络训练和调节参数,参数设置:选用的样本大小为32,标签数为2,基准学习率为0.000 1,学习策略为随机下降法,执行回合为500。训练结果如图7、图8所示。

图7 训练、验证准确率Fig.7 Train, Validation accuracy

图8 训练、验证损失函数Fig.8 Train, validation cross entropy

在训练500回合后,训练准确率达到99.13%,交叉验证准确率达到98.44%。随着迭代轮数的增加,损失函数逐渐减小,并最终控制在有效范围之内。这意味着预测值和真实值在特征空间中的距离越来越小,即模型分类效果越来越好。

3.2.2 吸烟行为检测效果

针对本文所提出的吸烟行为检测算法,对采集到的Test数据集中的视频序列进行抽帧分析。

在实际应用中,混淆矩阵[14,15]可以有效地评估有监督学习分类算法。将8段测试视频的平均预测效果用可视化工具混淆矩阵表示如图9,其中列是模型预测的分类结果,行是测试集的真实标签。可直观地看出,将正常状态做出“Smoking”判断(假阳性)的概率为0.01,将吸烟行为做出“Normal”判断(假阴性)的概率为0.16,混淆矩阵区分了假阳性和假阴性这2种不同的错误判断。

将本文算法的平均测试评估指标与其它常见的目标物体检测方法相比较,验证本文算法的准确性。其中,算法1是应用多任务卷积神经网络和残差网络仅对人脸区域进行检测,算法2是利用多任务卷积神经网络、级联回归和SVM对嘴部区域用传统SVM分类器检测。使用准确率(RAcc)、误分类率(RE)、召回率(RCall)、命中率(RPPV)4个指标对模型分类效果的精确性进行度量。

(9)

式中:Pt为正确检测到正常状态的视频帧数,Nt为正确检测到吸烟状态的视频帧数,Nf为错误检测为吸烟状态的视频帧数,Pf为错误检测为正常状态的视频帧数,P为检测到正常状态的总帧数,N为检测到吸烟状态的总帧数。结果如表1所示。

图9 本文算法测试混淆矩阵Fig.9 This algorithm test Normalized confusion matrix

表1 不同算法平均测试评估指标
Tab.1 Different algorithms average test evaluation index

(%)

由表1可以看出,本文算法的分类效果较好。相较于算法1的评估指标,可以验证,定位精确的ROI,可以更加准确地检测到吸烟行为并做出状态判断;相较于算法2,可以验证,在定位相同ROI的情况下,残差网络比L-SVM分类器的分类效果更好。

本文算法可以完成对吸烟行为的检测,输出帧率约为25帧/s,基本能完成实时性要求。综上所述,本文算法能够定位精确的目标区域并得到较好的检测效果,可以实时检测出吸烟者的行为并作出状态的判断,有较好的实时性与准确性。

4 结 论

为了响应控制吸烟卫生监督管理工作的开展,及时准确地发现吸烟行为,本文设计了一种基于多任务分类的吸烟行为检测算法。该算法主要工作包括ROI定位和目标吸烟行为检测,通过人脸识别和人脸对齐任务定位精确的ROI,大大缩短行为检测的处理时间,提高状态判断检测准确率,ROI定位准确率可达95.13%。

通过训练带有残差结构的卷积神经网络可以解决随着网络加深梯度消失的问题,提高了训练的速度和精度,使得网络深层的构建和分类达到了更好的效果,分类模型验证准确率可达98.44%。多算法的融合使得本文基于多任务分类的吸烟行为检测算法有较好的实时性准确性,输出约为25帧/s,准确率可达87.5%。后续研究将进一步提高算法在复杂场景下目标区域获取以及通过更多的吸烟动作数据不断优化模型,提高识别率。

猜你喜欢
多任务人脸残差
基于双向GRU与残差拟合的车辆跟驰建模
结合自监督学习的多任务文本语义匹配方法
有特点的人脸
一起学画人脸
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
基于中心化自动加权多任务学习的早期轻度认知障碍诊断
三国漫——人脸解锁
基于判别性局部联合稀疏模型的多任务跟踪
综合电离层残差和超宽巷探测和修复北斗周跳