2. 国能网信科技(北京)有限公司, 北京 100096
2. Shenhua Hollysys Information Technology Co. Ltd., Beijing 100096, China
我国不仅目前是世界上最大的煤炭消费国之一, 更是世界上最大的煤炭生产国之一[1]. 随着工业化的不断发展, 以及对煤炭需求的日益增长, 我国的煤炭产量逐年上升, 煤矿开采机械化水平不断提高. 各类煤炭机械设备在我们的煤炭生产中都有着十分重要的地位和作用, 煤矿皮带式运输机更是在我们的煤炭生产过程中有着不可或缺的重要作用. 在煤矿运输的各个环节中, 煤矿皮带运输机往往都会出现各种各样的问题[2], 例如皮带跑偏、皮带机声音异常、皮带机断带、运输机打滑等, 而皮带运输机上存在异物往往是造成诸多皮带异常的主要原因之一[3]. 例如, 在煤炭运输中, 煤矿皮带机上若存在煤矸石、铁器等异物, 这些异物都是有可能对皮带造成一定损伤的, 甚至可能会割裂皮带, 造成非常严重的后果. 同时, 这些异物的存在还可能会对煤炭的质量造成一定的影响. 因此对皮带上的异物进行及时检出并进行处理是十分有必要的. 传统的煤矿皮带机异物检测方法有人工检测法、金属探测法以及雷达探测法, 但是这些方法存在着检出效率低、适用范围小以及造价成本高的问题[4].
近年来, 随着科研人员对深度学习[5]的不断研究, 已经成为了目前人工智能领域的主流方法. 传统的机器学习方法与统计方法对于处理图像、语音及文本等真实场景的复杂问题十分受限, 同时也可能需要许多的先验知识, 而深度学习方法能够对原始数据特征进行线性及非线性的组合从而拥有自动处理问题的能力[6]. 随着大数据时代的到来, 处理真实场景问题的困难程度也随之增加, 数据的量级也在不断的增大, 深度学习由于它有着处理复杂数据的能力, 已经被运用于各个领域当中[7]. 例如, 医疗领域中的病变检出[8]、交通领域中的无人驾驶[9]、金融领域中的高频交易[10]等. 在煤炭业中, 深度学习方法也被广泛的应用于煤炭生产中的各个环节, 例如, 煤矿矿山中的智能监测[11]、煤矿生产机械的故障检测[12]、煤矿工人的复杂行为识别[13]等. 本文也将利用深度学习技术对煤矿皮带机上的异物进行检出.
深度生成模型是深度学习中的一个非常重要的领域. 生成模型的目的是通过捕获真实数据的分布, 并重新生成新的数据, 这些新的数据是与原始数据存在差异的, 但是又是极其相似同属于一个分布的. 目前, 3类主流的无监督深度生成模型分别是生成式对抗网络(generative adversarial network, GAN)[14]、变分自编码器(variational autoencoder, VAE)[15]以及基于流的生成模型(flow-based generative model, FLOW)[16], 这3类生成模型各自存在着优点与缺点. GAN是目前被研究的最深入的生成模型, 这是由于GAN能够生成十分逼真的图像, 但是它却存在着训练困难的问题. VAE是一种基于自编码器(autoencoder, AE)的模型, 其利用变分推断同时学习图像空间与隐空间之间的映射关系, 但是由于其损失是基于均方误差的重构损失, 所以生成的图像是较为模糊的. FLOW是一种对数据的似然函数进行精确推断的生成模型, 它能够获得较为准确的真实数据分布, 但是由于其隐空间的维数通常是与输入空间的维数相同, 因此其隐空间被利用于下游任务存在着一定的困难.
在本文方法中, 所选用的深度生成模型是GAN与VAE. 由于VAE的损失是基于均方误差的重构损失, 因此可以利用重构误差来判断一张图片是否存在异常物体, 故VAE是一种非常适用于异常检测的方法. 但是, 由于皮带煤矿运输机上所存在的异常物体通常是与煤炭混在一起的, 而VAE的重构图像会忽略掉一些细节信息, 因此这对皮带异物检出是不适用的. GAN能够捕获图像中的许多细节信息, 因此我们将GAN与VAE进行结合, 使其适用于煤矿皮带运输机的异物检测. 在接下来的部分中, 我们将会对GAN和VAE的理论基础进行简要介绍, 对本文方法进行详细介绍, 对实验结果进行详细解释, 最后会给出相应的结论.
1 理论基础在此部分中, 将会对VAE和GAN的理论基础进行简要的介绍, 以便能够更加自然地引出本文的方法.
1.1 变分自编码器Welling等人[17]在2014年提出了变分自编码器, 是在原始的自编码器的基础上, 对其瓶颈层进行了修改. 变分自编码器通常是由两个对称的神经网络所构成的, 形成了两个概率密度分布. 其中的一个神经网络作为VAE的编码器, 用于产生平均编码和标准差编码, 而不是直接产生编码. 另一个神经网络作为VAE的解码器, 用于生成重构图像. VAE数据生成过程一般如式(1)所示:
$\left\{ { \begin{gathered} {{{\textit{z}}}}\sim p({{{\textit{z}}}}) \hfill \\ {{x}}\sim p({{x}}|{{{\textit{z}}}}) \hfill \end{gathered}} \right. $ | (1) |
其中,
常规的 VAE 的生成过程通常是由两步所构成的. 首先, 从一个先验分布中采样隐变量, 这个先验分布在通常的情况下一般设定为标准高斯分布. 然后, 样本从在给定隐变量的条件分布中生成. VAE 的损失是一个负的证据下界(evidence lower bound, ELBO), 这个损失能够被视作为一个带正则项的负重构损失:
$ \begin{split}{}{L}_{{vae}}=&-{{ E}}_{{{{\textit{z}}}}\sim {q}_{\phi }({{\textit{z}}}|{x})}[\log{p}_{\theta }({x}|{{\textit{z}}})]\\ & +{D}_{KL}[{q}_{\phi }({{\textit{z}}}|{x})\Vert {p}_{\theta }({{\textit{z}}})]\end{split} $ | (2) |
其中,
GAN是一种训练过程处于博弈状态的深度生成模型. GAN的主要结构可以分为两个部分: 生成器网络与判别器网络. 生成器网络的功能是用来生成与真实图像在视觉上相似的虚假图像, 而判别器的作用是用来判断所输入的信号是来自于真实数据集还是来自于生成器所生成的虚假图像.
在训练过程中, 一组噪声会被从一个先验分布(一般采用高斯分布)所采样, 然后使其通过生成器, 生成一组虚假图像. 然后将所生成的虚假图像与从数据集中所采集的真实图像一起输入到判别器中, 判断所输入的图像是从何而来. 经过几轮迭代后, 生成器所生成的图像能够骗过判别器, 这时GAN达到了最优状态. GAN的目标函数如下:
$ \begin{split} \mathop {{\text{min}}}\limits_G \mathop {\max }\limits_D V(G, D) =& {{ E}_{{{x}}\sim{p_{\rm{data}}}({{x}})}}[\log D({{x}})] \\ & + {{ E}_{{{{\textit{z}}}}\sim{p_{{{\textit{z}}}}}({{{\textit{z}}}})}}[\log (1 - D(G({{{\textit{z}}}})))] \\ \end{split} $ | (3) |
其中,
在这一部分中, 将会对本文所使用的实验方法进行详细介绍, 包括本文方法的网络结构、损失函数以及异常得分.
2.1 网络结构本文方法的网络结构主要由3部分组成, 分别为编码器(encoder)、解码器(decoder)和判别器(discrimi-nator), 其中, 编码器和解码器共同构成了一个VAE, 并把VAE看作是GAN的生成器部分(generator), 与判别器共同构成了一个GAN. 本文方法的网络结构如图1.
编码器的作用是将高维图像进行编码, 得到压缩后的低维表示. 编码器是完成了从高维的原始图像空间到隐空间的映射. 在编码器的输出位置, 会利用重参数化技巧. 解码器的作用是将低维的表示进行解码, 得到解码后的重构图像. 解码器是完成了从低维的隐空间到高维的重构空间的映射. 编码器和解码器共同构成了一个VAE. 需注意的是, 在本文中, 算法的输入应为整张图像, 而不是噪声, 因此原始GAN中的生成器已经不适合此算法, 故本文将VAE看作是GAN中的生成器部分.
判别器的作用是用来判断所输入的图像是真实图像还是生成图像的. 在本文方法中, 由于利用VAE作为GAN的生成器部分, 这个生成器并没有从一个高斯分布中采样噪声来生成图像, 而是对原始图像进行重构, 因此此判别器的作用是用来判断所输入的图像是来自于真实图像还是重构图像的.
2.2 损失本文方法的损失函数是由两部分构成, 分别为VAE损失和对抗损失, 总的损失函数如式(4)所示:
$ L = {L_{\rm vae}} + \lambda {L_{\rm adv}} $ | (4) |
其中,
对于VAE损失, 本文方法直接利用的是VAE中的损失函数, 如式(5)所示. VAE损失可以看做是一个带正则项的重构损失, 共包含两个部分: 第1项为重构损失, 即原始图像与重构图像之间的均方误差, 是为了使重构图像尽可能与原始图像相似; 第2项为正则项, 是为了使后验分布更加的接近于先验分布, 一般情况下, 先验分布选择标准高斯分布.
$ \begin{split} {L_{\rm vae}} = & - {\left\| {{{x}} - {{\hat {{x}}}}} \right\|^2} +{D_{KL}}[{q_\phi }({\textit{z}}\left| {{x}} \right.)\left\| {N(0, I)} \right.] \\ \end{split} $ | (5) |
其中,
对于对抗损失, 本文在GAN的原始对抗损失的基础上进行了修改. 由于本文方法的生成器不是从高斯分布中采样噪声来生成图像, 而是将VAE作为生成器对原始图像进行重构, 因此生成器的输入不再是噪声而是原始图像. 修改后的对抗损失如式(6)所示:
$ \begin{split} {L_{\rm adv}} =& \mathop {{\text{min}}}\limits_G \mathop {\max }\limits_D {{ E}_{{{x}}\sim{p_{\rm data}}({{x}})}}[\log D({{x}})] \\ & + {{ E}_{{{x}}\sim{p_{\rm data}}({{x}})}}[\log (1 - D(G({{x}})))] \end{split} $ | (6) |
异常得分能够检验图像中是否出现异物, 异常得分越高说明越有可能出现异物, 异常得分越低说明越不能出现异物. 在本文方法中, 所使用的异常得分为测试图像与测试图像的重构图像之间的重构误差:
$ S = {\left\| {{{{x}}_{\rm test}} - {{{{\hat {{x}}}}}_{\rm test}}} \right\|^2} $ | (7) |
其中,
当异常得分大于某一个阈值时, 认为图像中出现了异物, 反之则未出现异物:
$ outcome = \left\{ {\begin{array}{*{20}{l}} {0, }\;\;\;{S < \tau } \\ {1, }\;\;\;{S > \tau } \end{array}} \right. $ | (8) |
其中,
对于阈值的选择, 在本文中, 均以异常比的分位数为阈值.
3 实验结果在本部分中, 将会详细介绍本文实验所使用的数据集, 实验所使用的网络结构和超参数设定, 以及实验结果及解释.
3.1 数据集本文所使用的数据集是从煤矿中通过摄像头所采集的, 并对采集到的图像数据进行了人工标注. 将数据分为两类: 一类是不含异物的正常图像数据, 另一类是含有异物的异常图像数据. 为了便有后续试验的进行, 将全部图像数据调整为像素值为256×256的灰度图像. 正常图像数据与异常图像数据的代表性数据如图2.
由于本文所使用的异常检测算法以及基线方法均是半监督学习算法, 因此在划分训练集与测试集时, 使训练集中仅含有正常样本, 包含了800张正常图像. 为了能够更加公平的评价各算法的差异, 使测试集中正常样本与异常样本的样本量相同, 各100张. 训练集与测试集的具体信息如表1所示.
为了能够更加稳定的训练模型, 同时也为了能获得更优的实验结果, 对全部图像数据进行了归一化预处理:
$ {{\tilde {{x}}}} = \frac{{{{x}} - {{{x}}_{\min }}}}{{{{{x}}_{\max }} - {{{x}}_{\min }}}} $ | (9) |
其中,
本文的实验环境是基于Linux操作系统的PyTorch1.7.0深度学习框架, 所使用的显卡为NVIDIA RTX 2080 Ti.
为了证明本文方法的优越性, 将本文方法与5种基线方法进行比较, 其中包括两种传统的机器学习算法: 一类支持向量机(one-class support vector machine, OCSVM)和核密度估计(kernel density estimation, KDE); 3种深度学习方法: 自编码器(AE)、去噪自编码器(denoising autoencoder, DAE)和变分自编码器(VAE)
对于网络结构设定, 本文方法的网络结构如图1所示. 为了更加公平的比较各个方法, AE、DAE、VAE中的各个部件与本文方法所所对应的部件结构是相同的, OCSVM与KDE两种传统的机器学习方法是使用了机器学习库sklearn中的默认参数.
对于评价指标, 本文选择了两种用于分类任务的评价指标, 分别为F1分数与AUC (area under the curve), 同时也使用了ROC曲线与混淆矩阵比较6种方法的分类效果.
3.3 实验结果及分析表2给出的是本文方法与其他5种基线方法的精度比较结果, 表中给出了每一种方法所对应的F1分数与AUC结果. 通过分析表2能够得知, 两种经典的机器学习方法的效果不及深度学习方法, 且KDE的精度表现较差, 这是由于传统的机器学习方法对于处理高维复杂的真实场景图像任务是存在困难的, 在应用时可能会遭受维数灾难问题. AE、DAE、VAE这3种深度学习方法的精度表现较为相近, 但是其精度表现仍不及本文方法, 这是由于AE、DAE、VAE的重构图像往往是模糊且缺乏细节的, 而对于真实场景的煤矿异物检测任务是存在困难的, 因为煤矿中的异物可能仅占据所采集的图像中的很小的位置. 本文方法利用了GAN, 能够学习到图像的细节信息, 从而能够达到更好的异物检出效果.
图3给出的ROC曲线, 图中给出了本文方法与其他5种基线方法的ROC曲线. 通过分析图3能够直观的得知, 我们的方法相较于其他的基线方法拥有更优的分类效果, 且深度学习方法是要优于传统的机器学习方法的.
图4给出的是本文方法与其他5种基线方法的混淆矩阵图. 通过分析图4能够得知, 本文方法的异物检出效果是最好的.
图5给出的是本文方法在测试集上的异常得分直方图, 我们分别展示了正常测试样本与异常测试样本的得分情况. 通过分析图5能够得知, 正常测试样本的得分明显的低于异常测试样本的得分, 这说明本文方法能够明确的划分正常测试样本与异常测试样本, 也就是说能够准确的进行异物检出. 同时, 能够发现正常测试样本的得分离散程度要小于异常测试样本的, 这说明本文的方法是能够捕获正常样本的分布的, 同时能够准确的区分正常样本分布外的样本.
4 结论
本文所提出的基于深度生成模型的煤矿皮带异物检测方法, 充分地利用了VAE和GAN的相关特征, 使其异物检出效果相较于其他基线方法更为优越. 通过在煤矿皮带数据集上进行试验, 得出了以下结论:
(1) VAE能够对皮带图像进行重构, 利用重构误差对皮带上是否存在异物进行判断.
(2) GAN能够提升VAE的重构图像质量, 使其学习到图像中的一些细节信息, 以便能够获得更佳的异物检出效果.
(3)本文方法所得到的异常得分能够对正常样本与异常样本进行分离, 且正常样本得分的离散程度要小于异常样本得分的离散程度.
[1] |
孙健东, 张瑞新, 贾宏军, 等. 我国露天煤矿智能化发展现状及重点问题分析. 煤炭工程, 2020, 52(11): 16-22. |
[2] |
王建勋. 煤矿输送带传输故障实时监测技术. 工矿自动化, 2015, 41(1): 45-48. |
[3] |
杨清翔, 向秀华, 孟斌, 等. 一种煤矿带式输送机故障诊断方法. 工矿自动化, 2017, 43(12): 48-52. |
[4] |
吕志强. 复杂环境下煤矿皮带运输异物图像识别研究[硕士学位论文]. 徐州: 中国矿业大学, 2020.
|
[5] |
Hinton GE, Osindero S, Teh YW. A fast learning algorithm for deep belief nets. Neural Computation, 2006, 18(7): 1527-1554. DOI:10.1162/neco.2006.18.7.1527 |
[6] |
LeCun Y, Bengio Y, Hinton G. Deep learning. Nature, 2015, 521(7553): 436-444. DOI:10.1038/nature14539 |
[7] |
张荣, 李伟平, 莫同. 深度学习研究综述. 信息与控制, 2018, 47(4): 385-397, 410. |
[8] |
Wang K, Zhao YJ, Xiong QY, et al. Research on healthy anomaly detection model based on deep learning from multiple time-series physiological signals. Scientific Programming, 2016, 2016: 5642856. |
[9] |
Ndikumana A, Tran NH, Kim DH, et al. Deep learning based caching for self-driving cars in multi-access edge computing. IEEE Transactions on Intelligent Transportation Systems, 2021, 22(5): 2862-2877. DOI:10.1109/TITS.2020.2976572 |
[10] |
韩道岐, 张钧垚, 周玉航, 等. 基于深度强化学习的股市操盘手模型研究. 计算机工程与应用, 2020, 56(21): 145-153. DOI:10.3778/j.issn.1002-8331.1908-0254 |
[11] |
郑学召, 童鑫, 郭军, 等. 煤矿智能监测与预警技术研究现状与发展趋势. 工矿自动化, 2020, 46(6): 35-40. |
[12] |
樊红卫, 张旭辉, 曹现刚, 等. 智慧矿山背景下我国煤矿机械故障诊断研究现状与展望. 振动与冲击, 2020, 39(24): 194-204. |
[13] |
罗响, 袁艳斌, 王德永, 等. 煤矿视频中复杂行为识别的持续学习模型探究. 金属矿山, 2020(10): 118-123. |
[14] |
Goodfellow IJ, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2014, 2672-2680. |
[15] |
翟正利, 梁振明, 周炜, 等. 变分自编码器模型综述. 计算机工程与应用, 2019, 55(3): 1-9. DOI:10.3778/j.issn.1002-8331.1810-0284 |
[16] |
胡铭菲, 左信, 刘建伟. 深度生成模型综述.自动化学报, 2022, 48(1): 40–74.
|
[17] |
Welling M, Kingma DP. Auto-encoding variational Bayes. arXiv: 1312.6114v10, 2014.
|