基于小样本深度学习的通风柜橱窗状态识别方法
2020-07-08马振伟何高奇袁玉波
马振伟, 何高奇,2, 袁玉波
(1. 华东理工大学信息科学与工程学院,上海 200237;2. 华东师范大学计算机科学与软件工程学院,上海 200062)
化学实验室的安全管理一直是广大科研机构关注的重点难题。近年来发生的一些安全事故的主要原因之一是实验室人员离开实验室或者下班后未关闭通风柜橱窗,导致一些长时间加热的设备过热,进而造成火灾事故,轻则造成设备、财产的损失,重则导致人员的伤亡[1]。同时由于通风柜橱窗内通风排风系统均按照通风分压传感器进行设备的开启和关闭,橱窗不按照规定关闭也造成了大量的能源浪费。因此,对于通风柜橱窗的安全管理是实验室安全的重要一环,准确地识别通风柜橱窗的开闭状态,能够有效杜绝火灾等事故发生并减少能源浪费。
目前对通风柜橱窗状态识别的研究较少,较为相关的研究是关于门窗状态的检测,主要是通过检测传感器及各类电子控制系统来进行。文献[2]提出了一种用于检测汽车车窗开闭的系统,通过可编程逻辑单元以及RS232 通讯接口对车窗开闭状态进行检测。文献[3]设计了一种家用门窗自动开关控制系统,利用CAN 总线作为通信总线与PC 机进行门窗开关状态信息的传递。该类方法虽然识别准确率较高,技术较为成熟,但不适用于通风柜橱窗安全管理,主要有以下两方面的原因:(1)需要对现有通风柜橱窗进行改造来安装上述电子控制系统,安装难度较高[4],并且化学实验设备有安全要求,肆意改造会造成潜在的安全风险。(2)无效识别次数过多。使用电子控制系统虽然能够识别橱窗状态,但当实验人员在场时都是无效识别,故需要增加额外的人员检测传感器等,使问题复杂化。
随着人工智能的快速发展,将计算机视觉技术用于多种目标的开闭识别已成为可能。文献[5]提出了基于图像处理的电气控制柜开关识别系统,对电气柜图像采用阴影去除、二值化等预处理方法结合方向灰度特征进行开关状态识别。文献[4]设计了基于视觉的电梯轿厢门状态识别系统,在嵌入式Linux 系统上实现图像采集、图像预处理,采用基于Hough 线变换算法来实现开关门状态监测。与电子控制系统相比,基于计算机视觉的橱窗开闭识别具有3 个方面的优势:(1)非接触性。无需改造现有通风柜橱窗,因此不会产生橱窗自身的安全隐患。(2)扩展性强。支持通过不同算法实现通风柜橱窗状态识别和人员检测,无需装配新的传感器硬件,并且方便扩充新功能。(3)可追溯性。通风柜橱窗如未关闭,可以通过截图保存实时状态,作为事故追责的有力证据。此外,由于视频监控设备的普及,利用实验室现有的监控设备,可以进一步降低经济成本,避免重复投资。然而,由于通风柜橱窗中实验设备类别较多,因此很难设计出类似文献[4]的有效人工特征。
卷积神经网络能够自动从大量数据中学习到有用的特征表示,有效地解决了传统方法的弊端,但该方法需要大量的图像及对应的标注。与通用目标识别数据集如ImageNet[6]的目标类别(人,动物,车等)不同,通风柜橱窗一般存在于大学及研究机构,并且一个机构中的橱窗数量有限,若构建一个有1 万张图像以上规模的通风柜橱窗数据集需耗费大量人力。因此,本文针对现有电子控制系统改造成本高、橱窗特征难以提取和橱窗数据样本量少等问题,提出了一种基于小样本学习的通风柜橱窗状态识别方法。利用视觉运动特征提取橱窗区域,然后训练改进的多尺度空洞原型网络,用于通风柜橱窗状态的准确识别。同时,设计了橱窗状态识别的平台架构,在中科院上海有机所进行了应用部署与识别优化。
1 相关工作
1.1 卷积神经网络
自2012 年AlexNet[7]在ImageNet 数据集中取得巨大成功后,卷积神经网络获得了广泛的关注。文献[8]探索了卷积神经网络中深度和性能之间的关系,通过反复堆叠3×3 小型卷积核来获得增大的感受野,构建了16 层用于分类的VGGNet。文献[9]基于稀疏结构提出了InceptionNet,利用1×1卷积核自然地将同一个空间位置中相关性很高的特征结合起来,并通过22 层的深度超越了VGGNet。文献[10]提出了152 层深的ResNet,采用跳跃连接构建了残差块,解决了层数过深导致的梯度消失问题。
卷积神经网络除了在网络层数上的改进之外,研究者对于卷积运算也进行了多种改进以适应不同的任务。文献[11]提出了转置卷积运算,将传统卷积进行转置得到了可用于上采样运算的卷积核,取代了传统上采样中使用的插值方法,能很好地运用于场景分割、生成模型等领域。文献[12]提出了一种基于深度可分卷积的MobileNet,通过将传统卷积分解为深度卷积和1×1 卷积的方式,大幅降低了卷积模型中的参数量和计算量,在不降低模型性能的前提下实现效率提升。文献[13]提出了一种用于图像分割的空洞卷积网络,相对于传统卷积神经网络对图像进行先卷积后池化所导致的信息损失问题,空洞卷积通过对卷积核进行扩张,在增大感受野的同时保证了信息的完整性,提取出的特征更为鲁棒。
1.2 小样本深度学习
深度学习的成功很大程度上归功于大量有标签的数据集。然而许多实际任务中,可用的标签样本数量有限,因而研究者们利用小规模的样本数量开展目标任务的深度学习。样本数量的规模与任务相对应,一般在10~102数量级。
文献[14]提出了一种用于小样本学习的孪生网络,通过组合方式构造不同的成对样本对孪生网络进行训练,在最上层通过样本对的距离判断它们是否属于同一个类,并产生对应的概率分布。相比孪生网络,文献[15]提出了一个新的匹配网络,为支持集和查询集构建了不同的编码器,最终分类器的输出是支持集和查询集之间预测值的加权求和。该方法在匹配网络建模过程中使用了记忆和注意力机制,使模型的训练速度加快,并且符合传统机器学习中训练和测试过程一致的原则。匹配网络在框架设计以及速度上优于孪生网络,并取得了更高的准确率。文献[16]对匹配网络进行改进,提出了原型网络,其核心在于计算支持集在嵌入空间中的原型,然后通过度量测试图像到原型的距离来进行分类。原型网络选用欧式距离来代替匹配网络中的余弦距离,取得了显著优于匹配网络的实验结果。
2 通风柜橱窗状态识别平台框架
2.1 任务定义
通风柜橱窗状态识别的任务定义如下:对于每一间实验室,若有实验人员在场则不需要对橱窗的开闭状态进行识别;若实验人员离开超过t 分钟,则对该实验室中的第 1 ,2,···,n 个通风柜橱窗的状态进行识别,对未按规定关闭到位的橱窗进行拍照存档及通知警报。
2.2 技术方案
通常一个研究机构里有许多实验室,并且已经部署了许多视频监控设备。考虑到监控设备的可重用性以及降低监控设备硬件上构建的复杂性,本文将通风柜橱窗安全管理系统构建在云平台上,监控端只需发送抓取的画面到云平台上即可进行识别。采用这样的架构可以方便地适配各类已安装的监控设备,大大提升了本文方案的普及能力。
本文设计的通风柜橱窗状态识别平台系统架构如图1 所示。平台分为监控端和服务端两部分,监控端的功能是将实时视频流发送到服务端;服务端包括配置阶段和识别阶段,并根据所处阶段执行不同的功能。
实验室监控设备抓取的图像通常不仅包括通风柜橱窗区域,还包括实验台、实验器材等无关区域。这些无关区域会增加输入数据的噪声,影响最终橱窗状态识别的准确率。因此,配置阶段需要对实验室中每个需要进行状态识别的橱窗位置进行提取,为避免人工定位带来的错误与不便,本文利用运动特征与几何先验知识进行实验室通风柜橱窗区域的提取。
在识别阶段,首先通过改进的人员检测方法判断实验室中是否有人,有人员时无需进行橱窗状态识别,无人员时通过小样本深度学习方法对通风柜橱窗的状态进行识别,进而判断是否需要拍照存档并发出警报,该策略可以大大减少识别算法的运行次数,提高服务端的利用率。
3 通风柜橱窗区域提取与人员检测
3.1 通风柜橱窗区域提取
3.2 人员检测
Yolov3[19]是一种先进的实时目标检测方法,但依然存在漏检和误检情况。本文利用高斯混合前景模型对其进行改进以适用于实验室环境。
首先,通过高斯混合模型对场景进行前景建模。设{I1,I2,…,It}为任意一个像素点{x,y}从1 时刻到t 时刻的灰度值,则t 时刻像素{x,y}属于背景的概率如下:
图1 通风柜橱窗安全管理平台系统架构Fig. 1 System architecture of fume hood safety management platform
4 通风柜橱窗状态识别
4.1 基于小样本学习的通风柜橱窗状态识别
4.2 基于多尺度空洞卷积的原型网络
在小样本学习的过程中,首先需要将一幅W×H×C 维的橱窗图像转换为一个M 维的特征表示,然后才能计算每种状态的原型,因此,转换模型结构的好坏直接影响到最终的预测效果。相比于直接使用多个全连接层对图像进行特征转换,原型网络使用了全卷积的方式,利用卷积层的权重共享特性大幅减少参数量,加快了检测速度。然而,原型网络是基于手写字符数据集提出的网络模型,手写字符的尺度相对较小,一般在28×28 像素左右,而橱窗的尺寸在全高清(1 920×1 080)分辨率下约为400×300 像素。因此,需要对网络结构进行改进以提取出较大尺度图像的特征表示。本文利用空洞卷积(Dilated Convolution)[13]来改进传统的卷积方式,能够有效地扩大对图像的感受野,提取更为全局的特征,二维空洞卷积的公式定义如下:
其中:x(m,n)是输入张量;w(i,j)是一个M×N 的过滤器;y(m,n)是经过空洞卷积后得到的张量;参数r 表示空洞率,其值越大,对图像的感受野越大。
本文利用InceptionNet 的思想改进ProtoNet,提出了多尺度空洞卷积的原型网络(DProtoNet),通过设置不同的空洞率来得到多尺度的感受野,进一步提高特征的鲁棒性。图2 所示为DProtoNet 的网络结构。网络前4 层是Inception 层,每层包括3 个不同空洞率的空洞卷积并进行深度连接,后3 层为卷积层。在网络的每一层后,依次进行批标准化、Relu 非线性激活和步长为2×2 的最大池化。网络中的所有卷积核尺寸均为3×3,图像输入尺寸为128×128×3,使用随机梯度下降(SGD)作为训练时的优化算法。
5 实验与结果
实 验 的 硬 件 环 境 为Dell T7810,Intel Xeon E5-2630 V4 2.20 GHz,32 GB RAM,显卡为NVIDIA Quadro M4000。实验代码基于Python 3.6 实现,小样本学习DProtoNet 及对比的卷积神经网络采用开源深度学习框架Pytorch 实现,对比的机器学习方法采用开源库opencv 与sklearn 实现,使用集成开发环境Spyder进行编码测试。
5.1 实验数据
本文收集并构建了一个包含300 张橱窗图像的数据集且进行了标注。其中橱窗图像采用2.1 节中的橱窗区域方法从监控图像中进行定位裁剪得到。状态为开的图像共147 张,状态为关的图像共153 张。利用水平和垂直翻折对数据集进行增强,将原始数据集扩充为原来的4 倍,使用留出法进行交叉验证,随机提取其中的960 个样本作为训练集,剩余的240 个样本作为测试集。
5.2 评估方法
实验采用分类准确率Accuracy=n'/n 来衡量算法的性能,并将本文方法与多种识别分类算法进行比较。其中,n'为测试集中预测结果与真实结果一致的样本个数,n 为测试集的样本总个数。分类准确率越高,则算法的性能越好。
5.3 实验及结论
为了证明本文算法的有效性,分别与支持向量机(SVM)、随机森林(Random Forest )和卷积神经网络(CNN)的识别结果进行了比较。由于机器学习算法的性能与特征提取的好坏有很大的关联,因此从纹理、降维、颜色、形状等方面选取了局部二值模式(LBP)、主成分分析(PCA)、颜色直方图(ColorHist)、方向梯度直方图(HOG)作为分类特征进行实验。实验结果如表1 所示,本文提出的DProtoNet 算法通过对训练数据的多轮学习准确率可以达到99.29%,比传统方法中效果最好的HOG 结合Random Forest 的准确率提高了17.17%,说明通过深度网络学习得到的特征,其鲁棒性要优于传统人工设计的特征;比直接使用卷积神经网络的准确率提高了10.95%,说明基于小样本的深度网络学习方式效果显著,适用于本文样本量不足的应用场景;比原始的ProtoNet 提高了1.97%,说明多尺度空洞卷积的使用能够提取到不同感受野组成更为鲁棒的特征,取得了更好的实验效果。
图2 多尺度空洞原型网络架构Fig. 2 System framework of DProtoNet
表1 不同方法的准确率对比Table 1 Accuracy of different methods
图3 展示了一些实例样本,包括橱窗不同程度的开、闭情况,以及算法的预测结果。针对前8 个实例,本文方法能够准确识别橱窗的开关状态识别。在橱窗内化学品种类密集、橱窗边缘干扰以及橱窗部分被遮挡情况下,本文方法依然给出了正确的结果,鲁棒性很高。然而本文方法在某些边界条件下会出现误判,如图3 中的实例9。在该实例中,橱窗未关闭完全,但出现了关闭状态下的特征域,因此算法基于学习的信息判断橱窗状态为关闭,导致了误判,但是,在数据集以及实际使用过程中,这种情况发生的概率很低,不影响系统的实际应用效果。
在实际应用中,光照变化是影响图像算法性能的一个重要因素,为了实现全天候的化学实验橱窗安全管理,需要对不同光照条件下的橱窗图像进行实验。由于采集条件的限制,实验通过对比度变换(H,S,V)=(H,SRandom(β,γ),VRandom(β,γ))来 改 变 图 像 的 光 照 情况。先将数据集中图像的颜色空间从RGB 转换到HSV,然后对饱和度S 和亮度V 通道进行指数运算,指数因子(β,γ)为对比度变化范围,Random 函数表示随机选取范围中的一个浮点数。实验中,设β=0.25,γ=4.0。图4 展示了不同指数因子α 下的橱窗图像,可以发现,使用该指数因子范围可以覆盖不同时段的橱窗光照状态。
实验结果如表2 所示。本文提出的DProtoNet方法在不同光照条件下取得了95.74%的准确率,比传统方法中效果最好的HOG 结合Random Forest 的准确率提高了23.18%;比直接使用卷积神经网络的准确率提高了18.49%,比原始的ProtoNet 提高了1.31%。此外,对比同一种方法在表1 和表2 中的准确率,发现本文算法的准确率变化为3.55%,低于HOG 集合Random forest 的9.56%和卷积神经网络的11.09%。
图3 样本实例预测结果展示Fig. 3 Demonstration of sample prediction results
此外,针对本文提出的多尺度空洞网络,进行了消融实验,采用4 种不同的空洞率组合来验证多尺度空洞率的有效性,结果如表3 所示。从结果中可以看到,多尺度空洞率有效地提高了准确率,但是使用过多的尺度组合的提升效果有限,并且会增加网络参数数量,增加识别时间,因此最终选择1、2、3 的空洞率组合作为实际应用。
图4 不同指数因子的光照变换Fig. 4 Illumination transformation with different factors
表2 光照变化下的准确率对比Table 2 Accuracy under illumination changes
表3 不同空洞率组合下的准确率Table 3 Accuracy under different dilation rate combination
6 结 论
本文针对通风柜橱窗安全管理问题,提出了基于小样本深度学习的橱窗状态识别方法。利用运动特征及几何先验提出了橱窗区域提取算法,避免了无关因素对橱窗状态识别的影响。利用改进的目标检测算法来确定实验室内是否有人,减少了无效的橱窗识别次数。本文提出的多尺度空洞原型网络(DProtoNet)充分利用了空洞卷积及小样本学习的优势,能够对有限的橱窗图像数据进行有效学习。实验结果表明:本文算法不仅在正常条件下准确率明显高于传统方法及卷积神经网络,在光照变化条件下也可以取得较高的准确率。下一步工作将尝试引入更多的干扰因素,进一步提高模型的鲁棒性。