基于料面视频图像分析的高炉异常状态智能感知与识别

源自:自动化学报

作者:朱霁霖 桂卫华 蒋朝辉 陈致蓬 方怡静

注:若出现无法显示完全的情况,可 V  搜索“人工智能技术与咨询”查看完整文章
人工智能、大数据、多模态大模型、计算机视觉、自然语言处理、数字孪生、深度强化学习······  课程也可加V“人工智能技术与咨询”报名参加学习

摘要

高炉(Blast furnace, BF) 炼铁过程作为现代钢铁制造的核心前端工序, 其保持稳定、高效、健康的运行状态对于钢铁企业稳定、安全运营至关重要[1-2]. 高炉出现异常状态会导致原材料消耗增加、铁水质量不合格和停炉维护等问题, 进而带来巨大的资源浪费和经济损失, 甚至可能造成严重的生产事故和人员伤亡[3-4]. 因此, 实时在线识别高炉炼铁过程异常状态是实现对高炉冶炼过程全面监测和及时调控的前提, 也是保障高炉稳定运行的重要手段. 

高炉是具有复杂物理化学反应的大型黑箱系统, 为保证高炉的稳定安全运行, 现有高炉异常状态监测方法主要分为四类: 机理模型法、专家系统法、基于运行过程数据的高炉异常状态识别方法(数据驱动法) 和基于图像的高炉异常状态监测方法(图像法). 机理模型法利用高炉动力学、传热学等学科知识建立描述高炉冶炼过程的理论模型, 如建立高炉整体炉热模型[5]、高炉出铁口铁水出流模型[6]、软融带模型[7]等, 进而对高炉炉温向凉或向热进行定性判断. 这些模型极大地促进了研究者和操作人员对高炉内部运行情况的了解, 但高炉炼铁过程是一个极其复杂的分布式系统, 具有多变量耦合和非线性特性, 机理模型的建立往往涉及大量假设及简化, 难以准确反映高炉实际运行状态. 专家系统法通常根据高炉炼铁过程的工艺知识、高炉运行过程知识和高炉专家经验建立一系列规则, 通过模糊数学、模糊推理和决策方法进行高炉异常状态诊断[8]. 但国内的高炉专家系统起步晚, 经验积累不足且高炉炉况受多种因素影响, 化验数据实时获取困难且检测数据存在噪声, 导致专家系统推断得到的信息可靠性较低. 其次, 建立有效的专家系统规则库需要高质量的铁矿石原料, 许多高炉难以满足该条件, 严重影响专家系统的应用有效性. 因此, 专家系统具有一定程度的缺陷. 数据驱动法通过利用与高炉异常状态标签相匹配的运行过程数据, 采用多元统计方法或机器学习、深度学习方法分析处理, 进而实现高炉异常状态监测. 多元统计方法主要利用偏最小二乘(Partial least squares, PLS)[3]、主成分分析(Principal component analysis, PCA)[9]、独立成分分析(Independent component analysis, ICA)[10]、典型相关分析(Canonical correlation analysis, CCA)[11]和子空间分解[12]等不同的数学工具, 通过考虑运行过程数据的高斯性、动态性、非平稳性等不同特性, 得到更准确的控制限以达到对高炉异常状态检测的目的. 控制限来源于异常检测中的统计量, 以T2T2 (Hotelling's T-squared)和SPE (Squared prediction error)为主, 多元统计分析法通过计算相关统计量是否超过一定置信水平下的阈值判断高炉运行状态是否异常. 机器学习或深度学习方法利用BP神经网络[13]、支持向量机[14]、AdaBoost[15]、T-S模糊神经网络[16]等机器学习工具或堆叠自编码器[4]、深度置信网络[17]、深度核网络[18]、图神经网络[19]等深度学习手段, 对一段时间内大量运行过程数据与其对应的悬料、管道、正常高炉状态等标签进行端到端的学习. 但由于现场难以直接观察料面的情况, 悬料、管道等异常状态标签是由现场操作人员基于经验和对高炉运行过程数据的分析得到的. 塌料异常状态由于缺乏高炉专家的标签, 目前鲜有研究利用运行过程数据对其进行监测. 由于悬料、管道等高炉异常状态发生后, 对过程数据的影响有不同程度的滞后效应, 因此, 这些标签对应的高炉运行过程数据一般都是以时间段计算和分析的[20-21]. 实际情况下, 塌料、煤气流异常等高炉异常状态是实时发生的, 依赖长时间运行过程数据的异常监测可能存在准确性低和时效性差的问题; 其次, 由于高炉运行过程数据变量存在动态时变性, 随着时间的推移, 运行过程数据的分布可能发生变化, 这可能导致在训练和测试阶段有效的数据驱动方法在实际应用中失效; 另外, 运行过程数据存在大量的缺失值、异常值, 数据驱动方法对数据预处理的依赖性强, 导致其对实时采集的高炉运行数据的泛化性能不佳. 基于图像的高炉异常状态监测方法研究较少, 主要集中于利用高炉炉顶红外图像监测高炉料面煤气流分布状态[22], 或在高炉出铁口利用红外成像仪获取铁水流多元信息(如铁水温度[23]、流速[24]或流量[25]) 间接判断高炉运行状态, 以及利用高炉风口回旋区图像对炉缸的活跃状态进行识别[26]. 然而, 炉顶红外图像虽然可以获得炉顶煤气流的温度信息, 进而获得煤气流的分布状态, 但难以识别塌料、悬料等高炉异常状态; 而在出铁口和风口回旋区获得的图像, 可在一定程度上获取长期的高炉运行状态, 如高炉炉温向热、向凉和炉缸活跃状态等, 但难以获得炉顶发生的悬料、塌料、煤气流异常状态等高炉异常状态. 综上, 现有的高炉异常状态监测方法存在不同程度的缺陷. 

为弥补现有方法存在的不足, 本文利用安装于高炉炉顶的新型工业内窥镜获取大量高炉料面图像, 对高炉煤气流异常、塌料和悬料进行实时在线监测. 但煤气流异常状态难以直接判断, 同时确保不同异常状态识别的准确性和实时性也极具挑战. 针对上述问题, 本文通过对高炉料面图像进行分析与处理, 提出煤气流异常状态智能感知方法, 同时通过设计多级残差通道注意力模块(Multi-level residual channel attention module, MRCAM), 提出高炉异常状态识别模型ResVGGNet, 对异常煤气流、塌料和悬料进行准确实时识别. 本文的创新点总结如下: 

1) 为准确获取高温煤气流区域, 本文将高炉料面图像的多尺度纹理信息与模糊C均值(Fuzzy C-means, FCM)方法结合, 提出多尺度纹理模糊C均值(Multi-scale texture fuzzy C-means, MST-FCM)方法, 能以无监督方式精确获得高温煤气流图像. 

2) 为精确感知煤气流异常状态, 提出基于特征编码的高维特征降维方法. 结合自适应K-means++算法, 实现煤气流异常状态的粗粒度感知. 基于此, 进一步提出基于改进雅可比–傅立叶矩 (Jacobi-Fourier moments, JFM) 的煤气流异常状态细粒度感知方法, 实现煤气流异常状态精细化感知. 

3) 为同时确保高炉异常状态识别精度与速度, 通过设计多级残差通道注意力模块, 建立高炉异常状态识别模型ResVGGNet. 实验结果表明, 所提方法在保证高识别精度的情况下, 识别速度快. 

4) 本文首次利用高炉料面视频图像实现对高炉煤气流异常状态、塌料和悬料的实时在线监测, 为高炉不同异常状态识别提供新思路. 

1.   高温煤气流图像多元特征提取

如图1(a)所示, 新型工业内窥镜安装于高炉炉顶小坡度斜面上, 覆盖的高炉料面区域如图1(b)所示. 获得的高炉料面视频图像在经过图像增强[27-28]等手段后, 如图2所示, 可清晰地看到中心区域不同形态的高温煤气流. 高炉煤气流初始分布位于风口回旋区, 自下而上穿过滴落带和软熔带到达块状带, 最后到达高炉炉顶料面区域, 形成料面高温煤气流. 高温煤气流的状态能直接反映炉内的运行状态正常与否[29], 因此, 为捕捉煤气流异常状态变化, 本节首先精确提取高温煤气流图像, 随后定义并提取高温煤气流图像多元特征 (Multi-features of gas flow images, MFGIs), 包括煤气流图像纹理特征、稳定性特征和煤气流形态特征. 

图片

图 1  新型工业内窥镜安装示意图((a) 新型工业内窥镜实际安装位置; (b) 新型工业内窥镜成像区域示意图)

图片

图 2  不同高炉运行状态下的高炉料面图像

1.1   基于MST-FCM的高温煤气流图像获取

图像的纹理具有方向性且沿不同方向纹理所包含的频率成分不同[30]. 小尺度, 即图像的高频信息形成了图像的边缘和细节, 利用高频信息进行图像分割时, 分割准确度高, 但会受到噪声干扰; 大尺度, 即低频信息是图像的主要成分, 利用图像的低频信息进行图像分割虽然抗噪性强, 但准确度较低. 因此, 本文提出基于MST-FCM的高炉料面图像煤气流区域获取方法, 通过结合高频信息与低频信息的优势, 以达到更高的图像分割性能和噪声抵抗力. 

对于尺寸为H×W 的高炉料面图像I , 为提取其多尺度信息, 利用二维小波变换获得高炉料面图像的小波分解子图, 具体为 

图片

   (1)    

图片

   (2)    

图片

   (3)    

图片

   (4)    

其中, η1(x,y) 为原始高炉料面图像的低分辨率逼近子图, ηsub(x,y),sub=2,3,4 分别为原始高炉料面图像的水平、垂直和对角线方向子图; F 为二维小波变换对应的滤波器. 

选择合适的小波滤波器对于小波分解、纹理特征提取和图像分割至关重要. Haar小波滤波器具有正交性、运算速度快和对称性等优势[31], 特别适合离散图像处理. 因此, 本文选择Haar小波基作为二维小波变换的基础滤波器, 以保证分割速度和特征提取性能. 

Haar小波基的定义如下 

图片

   (5)    

将一维Haar小波变换推广到二维, 可得到其对应的四个滤波器分别为 

图片

   (6)    

图片

   (7)    

为定量刻画各料面图像小波分解子图的多尺度纹理信息, 根据下式提取各子图的区域能量特征 

图片

   (8)    

其中, pp= 1, 2, 3, 4, i和j表示子图中的像素位置, k是所选择的能量计算区域模板大小, 本文选择k=3 . 

高炉料面图像在像素(x,y)处的能量特征ςx,y由四个不同子图的能量特征共同构成 

图片

   (9)    

因此, 高炉料面图像多尺度纹理特征矩阵Υ可表示为 

图片

   (10)    

为在降低纹理特征矩阵大小的同时, 最大程度保留图像特征, 采用最大池化方式对特征矩阵Υ 进行压缩. 高炉料面图像的尺寸为H×W , 因此多尺度纹理特征矩阵Υ 的维度为H×W×4 . 在进行压缩时, 为最大程度保留纹理信息并加快运算速度, 选择2×2 的卷积核. 压缩后的多纹理特征矩阵可表示为 

图片

   (11)    

由于高炉内部缺少充足的光照, 通过高温工业内窥镜获得的高炉料面图像质量通常较低, 并且常出现光照极其不均匀的情况. FCM聚类分析法通过使用隶属度来描述图像像素之间的模糊程度[32], 能够在聚类过程中达到较好的效果, 特别适合于原始图像清晰度不高的高炉料面图像的像素聚类与分割, 因此, 也同样适用于特征矩阵的聚类分析. 

MST-FCM的目标函数可表示为 

图片

   (12)    

其中, φi 为压缩特征矩阵元素; n 为料面图像中的像素个数; c 为聚类数目, 对于料面高温煤气流区域获取而言, c 为2; m 是每个模糊隶属度上的加权指数且其值大于1, 一般取值为1.5 ~ 2.5; uji 是压缩特征矩阵元素φi在簇中心vj 中的隶属度; d(φi,vj) 为压缩特征矩阵元素与簇中心vj 之间的距离度量, 并且隶属度uji 满足 

图片

   (13)    

为求得在约束(13)下目标函数(12)的最小值, 利用拉格朗日乘数法构建新的目标函数 

图片

   (14)    

对(14)分别求uji, vj 和αi 的偏导数, 并令各自偏导等于0, 可得式(15)所示的聚类中心和式(16)所示的隶属度. 

通过对式(15)和式(16)进行迭代计算求解, 可得到最终的聚类中心和隶属度. 迭代步骤如下: 

步骤 1. 设定聚类数c 、加权指数m 、误差控制项δ 和最大迭代次数τ 的初值; 

步骤 2. 随机初始化聚类中心及模糊隶属度矩阵u(0) ; 

步骤 3. 设置循环次数k=0 ; 

步骤 4. 在第k 步时, 利用u(k) 根据式(15)计算聚类中心v(k) 

图片

   (15)    

步骤 5. 计算u(k+1) 

图片

   (16)    

步骤 6. 如果

图片

, 则执行步骤7, 否则k=k+1 , 并执行步骤4 ~ 6; 

步骤 7. 输出最终的隶属度矩阵和聚类中心; 

步骤 8. 采用步骤7获得的聚类中心和隶属度矩阵对原始高炉料面图像进行FCM聚类, 从而快速、准确分割高炉料面图像. 

利用所提MST-FCM方法、传统的FCM方法和先进的SA (Segment anything)[33]最终获取的高温煤气流图像如图3所示. 相比传统的FCM方法, 本文所提MST-FCM方法提取的高温煤气流区域更准确. 如图3(c)所示, SA方法对图像的分割过细, 导致难以符合煤气流的实际运动情况, 所提取的煤气流边缘也不连续. 本文所提的MST-FCM方法能够对不同形态的煤气流区域均准确地获取高温煤气流图像, 展现了其在高温煤气流图像提取方面的优越性能. 

图片

图 3  不同炉况下不同方法获取高温煤气流图像对比结果 ((a) 稳定1; (b) 稳定2; (c) 煤气流状态异常; (d) 悬料1; (e) 悬料2; (f) 高料位)

1.2   高温煤气流图像纹理特征提取

如图3所示, 不同状态下高温煤气流图像纹理与形态均存在不同. 为定量描述煤气流状态, 本文基于灰度共生矩阵[34]定义煤气流图像纹理特征, 用于表征煤气流状态, 同时定义新的纹理稳定性特征. 

设高温煤气流灰度图像Ig(x,y) 的灰度级数为η, 在该灰度级数下某一像素(x,y) 的灰度值为i, 另一像素(x+a,y+b) 的灰度值为j , 统计该两个像素的灰度值对(i,j) 在原灰度图像中出现的次数Pa,b(i,j) , 由式(17)表示, 从而构成η×η 维高温煤气流纹理矩阵G  

图片

   (17)    

其中 

图片

W和H分别是图像的宽度和高度. 这两个像素的位置可确定像素对的四个移动方向θ, 如下式所示 

图片

   (18)    

对于灰度等级为0 ~ 255的高炉料面灰度图像, 生成的高温煤气流纹理矩阵维度太大, 因此需要对其灰度等级进行压缩. 但压缩太大难以保留足够的信息, 压缩过小难以达到缩小运算量的目的. 本文将原灰度值压缩至0 ~ 15, 保证信息保留的同时, 又缩减了大量的运算量, 提升了计算效率. 

为更直观描述高温煤气流图像纹理特征, 在此基础上, 获取煤气流图像纹理矩阵的二次统计量. 本文选取五种互无相关性的特征, 分别为能量、对比度、图像熵、自相关性和同质性, 同时定义新的稳定性特征. 

高温煤气流图像的能量GASM , 也称为角二阶矩, 如式(19)所示, 其表示火焰区域分布的均匀程度和纹理的粗细程度, 可间接反映状态波动情况. 其值越小, 说明煤气流图像纹理矩阵元素的值越接近, 状态越稳定; 反之, 说明状态越不稳定. 

图片

   (19)    

其中, P(i,j,θ) 表示在角度θ 下像素对(i,j) 出现的频次, 如式(17)所示. 

高温煤气流图像的对比度GCON , 如式(20)所示, 反映了煤气流火焰图像的清晰度, 也反映了状态的稳定情况. 其值越大, 煤气流火焰图像越清晰, 则状态越稳定; 反之, 其值越小, 煤气流火焰图像越模糊, 则状态波动越大. 

图片

   (20)    

高温煤气流图像的熵GENT , 如式(21)所示. 其反映了图像内容的随机性, 其值越大表明纹理越复杂, 则状态越不稳定; 反之, 纹理越简单, 状态越稳定. 

图片

   (21)    

高温煤气流图像的同质性GHIOM , 又称为逆方差, 如式(22)所示. 其反映了纹理局部变化的大小, 若图像纹理的不同区域间较均匀, 则同质性较大, 状态比较稳定; 反之, 状态不稳定. 

图片

   (22)    

高温煤气流图像的自相关性GCOR , 如式(23)所示, 表征煤气流图像纹理矩阵在行或列方向上的相似程度, 其值的大小反映了图像局部灰度的相关性. 若煤气流图像纹理矩阵中的元素值均匀时, 相关值大, 则状态比较稳定; 反之, 则状态不稳定. 

图片

   (23)    

其中 

图片

   (24)    

图片

   (25)    

图片

   (26)    

图片

   (27)    

由于高温煤气流图像具有一定的方向和纹理结构, 因此, 本文针对高温煤气流纹理稳定性, 定义了新的特征, 如式(28)所示. 纹理稳定性特征越大, 说明高温煤气流区域越稳定, 状态就越稳定. 

图片

   (28)    

其中, PN(i,j,θ) 是归一化的高温煤气流图像纹理矩阵, 具体为 

图片

   (29)    

1.3   高温煤气流图像形态特征提取

高温煤气流图像的几何图像矩可直接表征其形态特征. 这些几何图像矩代表高温煤气流的面积、质心、煤气流倾斜度、伸展均衡度和轮廓细节等低层次特征. 

高温煤气流图像由在点(x,y) 处的亮度值f 构成, 因此可看成一个二维密度分布f(x,y) . 具体而言, 高温煤气流图像f(x,y) 的p+q 阶几何图像矩定义为 

图片

   (30)    

不同阶数的几何图像矩表示不同的低层特征. 图像的零阶几何矩表示图像的像素总和, 即图像的面积; 一阶几何矩表示图像的质心. 质心(x0,y0) 可由零阶矩和一阶矩共同计算 

图片

   (31)    

图像f(x,y) 的p+q 阶中心矩是以质心为中心的矩, 定义为 

图片

   (32)    

其中, p,q=0,1,2,⋯ . 

利用二阶中心距可以计算得到图像的协方差矩阵 

图片

   (33)    

图像区域的方向可通过协方差矩阵最大特征值对应的特征向量计算得到 

图片

   (34)    

高层次特征可用高阶几何图像矩表示. 三阶矩是图像感兴趣区域轮廓细节及低阶矩变化的具体表现. 三阶矩包括m30 , m03 , m21 和m12 四种不同的形式. 其中, m30 和m03 表示图像质心的位置偏移中心位置的情况; m21 和m12 表示目标区域的伸展均衡度. 

2.   煤气流异常状态智能感知与高炉异常状态识别方法

针对高炉煤气流异常状态离线感知难的问题, 本文基于煤气流图像多元特征, 提出高炉异常状态智能感知方法. 首先, 提出基于特征编码的高维特征降维方法, 结合自适应K-means++ 算法, 实现煤气流异常状态的粗粒度感知; 基于此, 进一步提出基于改进雅可比–傅立叶矩的细粒度煤气流异常状态感知方法, 实现煤气流异常状态精细化感知; 最后, 基于精细化感知结果, 设计MRCAM, 并建立ResVGGNet模型用于高炉异常状态在线识别. 本文所提方法的总体框架如图4所示. 

图片

图 4  基于料面视频图像分析的高炉异常状态智能感知与识别框图

2.1   煤气流异常状态粗粒度感知方法

2.1.1   基于特征编码的高维特征降维方法

煤气流图像多元特征的维度过高会导致特征样本在空间上分布稀疏, 同时数据维度太多难以分析且会导致后续的MFGIs聚类处理效率较低, 因此需要对MFGIs进行降维处理, 减少其中冗余信息和噪声带来的误差, 提高后续聚类的精度, 同时也能更好地可视化. 通过这种方式, 能够有效处理和分析高维数据, 提升后续聚类和异常状态感知的效率和准确性. 

假设 MFGIs 序列向量集为V(n)={ν(1),ν(2),⋯,ν(n)} , 其中n 为选取的 MFGIs 数量; 向量ν(n) 是一个D 维向量, D 为高温煤气流图像的数量. 则构造的协方差矩阵为 

图片

   (35)    

利用特征编码方法, 计算得到矩阵CF 的特征向量x 和特征λ, 满足 

图片

   (36)    

令 

图片

   (37)    

将式(35)和式(36)代入式(37), 可得 

图片

   (38)    

其中, u(n) 是对u 第n 步估计, 并且可据此得到特征向量x=u/∥u∥ 和特征值λ=∥u∥ . 

而x(i)≈x(i−1) , 所以, 式(38)可写作以下增量式表达 

图片

   (39)    

令u(0)=ν(1) , 则根据数学归纳法, 式(39)可写作以下迭代形式 

图片

   (40)    

为了迭代的收敛速度, 在式(40)中引入小权重ϖ , 可得 

图片

   (41)    

通过式(41)可计算第一主特征向量, 当计算其他高阶主特征向量时, 应从数据中减去其在估计的低一阶特征向量上的投影 

图片

   (42)    

其中, νj+1(n) 为第n 个图像特征的第j+1 阶特征向量的输入, 并且ν1(n)=ν(n) , 因此式(40)可写作 

图片

   (43)    

通过式(43)可迭代计算前m 阶最大特征主成分, 得到映射矩阵 

图片

   (44)    

最终特征降维后的矩阵可表示为 

图片

   (45)    

2.1.2   基于自适应K-means++ 的煤气流图像工况聚类法

为得到粗粒度煤气流异常状态, 可对降维后的 MFGIs 进行聚类, 通过聚类结果反映粗粒度异常状态. 在给定聚类数目后, K-means++ 算法能快速、有效获得优秀的聚类效果. 但在对 MFGIs 进行工况聚类时, 聚类数目不确定. 针对该问题, 本文提出自适应K-means++ 算法. 

令降维后的MFGIs (Dimensionality reduced MFGIs, DRM)

图片

, 通过K-means++ 聚类算法对 DRM 进行聚类, 得到初始聚类簇 

图片

   (46)    

其中, 每一个簇Cq 中数据的数量为nq , k 为聚类数. 

为评价聚类的效果, 首先计算每一个簇的簇内总距离 

图片

   (47)    

其中, Dq 为一个簇中任意两个元素间的距离之和 

图片

   (48)    

具体的自适应K-means++ 算法步骤如下: 

步骤 1. 在DRMV′(n)={υ1,υ2,⋯,υn} 中随机重采样nn次, 得到重采样(Bootstrapping)样本

图片

步骤 2. 重复步骤1共N 次(本文取N=100 ), 同时根据式(47)计算每一个Bootstrapping样本簇内距离总和; 

步骤 3. 计算N 次采样的Bootstrapping样本统计量, 并将其按照从小到大的顺序排列; 

步骤 4. 由于这N 个Bootstrapping统计量服从正态分布, 因此可计算得到在置信度1−α 下的置信区间 

图片

   (49)    

根据式(49)可计算得到在置信区间里所有簇内距离总和

图片

 . 

根据以上Bootstrapping采样方法, 设计自适应聚类初值获取方法, 具体步骤如下: 

步骤 1. 提出假设H0和假设H1 , 分别为: 

假设H0 : 原样本的最优聚类初值为k ; 

假设H1 : 原样本的最优聚类初值为k+1 ; 

步骤 2. 由于k 大于1, 因此初始化k=2 ; 

步骤 3. 利用K-means++ 聚类算法对原样本进行聚类, 得到kk个簇, 并计算此时簇内距离总和ω(k) ; 

步骤 4. 在给定置信度α 下, 如果kk个聚类下的簇内距离总和ω(k) 在置信区间所对应的

图片

里, 则接受假设H0, 并输出此时的聚类初值k ; 否则, 拒绝假设H0 , 接受假设H1 , 同时令聚类初值k=k+1 , 并重复步骤3和步骤4. 

2.2   基于改进JFM的细粒度煤气流异常状态感知

为精细化感知高炉煤气流异常状态, 首先直接提取煤气流图像的深层特征. 由于传统的几何图像矩不具有正交性, 因此利用几何矩进行图像特征提取时, 会产生冗余信息, 易受外部噪声的影响, 并且仅能提取表层特征. 连续正交图像矩JFM具有很强的可识别能力且对噪声的鲁棒性较强, 因此本文通过改进JFM, 实现对高温煤气流图像深层特征的稳定提取, 并基于此, 利用tt统计量对高炉异常煤气流状态进行精细化感知. 

2.2.1   改进JFM

传统的JFM定义在极坐标下[35], 而由于CCD的限制, 大部分图像都定义在笛卡尔坐标系下. 在计算高温煤气流图像的 JFM 时, 需要将图像转换到极坐标下, 进而会带来部分图像信息的丢失. 因此, 本文通过建立笛卡尔坐标系下的JFM, 以适用于笛卡尔坐标系下的图像, 最大程度保留高温煤气流图像信息. 

一张灰度图像由在点(x,y) 处的亮度值f 构成, 因此可看成一个二维密度分布f(x,y) . 具体而言, 一张图像f(x,y)的n+m 阶JFM定义为 

图片

   (50)    

其中, 

图片

是雅可比−傅立叶基函数的复共轭, f(r,θ)表示定义在极坐标下的图像, p,q∈R  且 p−q>−1,q>0 , 本文取p=4 , q=3 , r 为极坐标下图像的半径, θ 为半径 r与x 正半轴的夹角, 如图5所示. Jn(p,q,r) 是JFM的径向基函数, 由式(51)定义 

图片

图 5  雅可比–傅立叶矩积分区域

图片

   (51)    

其中 

图片

   (52)    

图片

   (53)    

图片

   (54)    

其中, Γ(⋅) 是伽马函数, 其定义为 

图片

   (55)    

根据极坐标下JFM的定义, 对图像计算JFM时, 其积分区域如图5中单位圆R1 所示, R2 为笛卡尔坐标系下的高温煤气流图像. 由于Jn(p,q,r) 的阶数n 与圆周谐波阶数m 无关, 因此

图片

 可用(x+iy) 和(x−iy) 的形式表示, 即 

图片

   (56)    

将式(56)、

图片

可得 

图片

   (57)    

所以, 笛卡尔坐标系下的JFM为 

图片

   (58)    

区域R1 包括R2区域, 因此, 式(58)可写为 

图片

   (59)    

由于R1−R2 不是图像的一部分, 并且其中没有像素, 因此, 式(59)可写为 

图片

   (60)    

通过式 (60) 可得到高温煤气流图像JFM (JFM of high-temperature gas flow image, HGJM). 

2.2.2   基于HGJM趋势变化的高炉煤气流异常状态精细化感知

高炉料面中心高温煤气流随状态不断变化, 因此, 根据料面图像获取的HGJM也会随时间不断变化. 高炉运行状态在稳定时不会突变, 而当煤气流异常状态发生时, 可认为高炉状态的趋势发生了变化, 可直接利用HGJM进行描述. 高炉运行状态的变化具有非线性、非平稳、多层次等特征, 难以直接得到其趋势变化情况. 为准确获取高炉运行状态情况, 本文利用HGJM对高炉异常状态进行精细化感知, 具体如下. 

对于包含N 个HGJM序列数据的X , 通过第n(1<n<N) 个数据将X 分为Xleft 和Xright 左右两个子序列数据, 分别包含Nleft 和Nright (Nright=N−Nleft) 个数据. 分别计算子序列数据的均值uleft 和uright 、标准差σleft 和σright , 并计算t 统计量, 由式(61)定义 

图片

   (61)    

其中, σD(n) 是合并方差, 由下式定义 

图片

   (62)    

根据式(62), 依次计算每个数据的tt统计量, 得到关于tt统计量的序列, 获得其中的最大值tmax 及此时的n . 计算此时的显著性特征E(tmax)  

图片

   (63)    

其中, Prob(⋅) 为概率密度计算函数. 

因此, E(tmax) 可近似由式(64)表示 

图片

   (64)    

其中, α=4.19lnN−11.54 , β=0.40 , υ=N−2 , Ia(b,c) 是不完全beta函数, 由下式定义 

图片

   (65)    

其中, 0<a<1 ; b,c>0 . 

具体的步骤如下: 

步骤 1. 输入HGJM数据, 初始化 n; 

步骤 2. 根据式(61)计算HGJM每一个数据的tt统计量, 得到其中的最大值tmax 及此时的n ; 

步骤 3. 根据式(64)计算tmax 的统计显著性特征E(tmax) , 若E(tmax) 超过选定的显著性水平E0  (本文取0.95), 则在该处将原序列分割为两个子序列, 并且对两个子序列重复进行步骤2和步骤3, 直到序列不可分割为止; 否则结束分割. 

此分割点即煤气流异常状态发生处, 由于异常状态的发生是量变引起质变, 因此本文认为在异常处前后共一分钟的高炉料面图像均属于煤气流异常状态对应的图像. 

2.3   基于ResVGGNet的高炉异常状态在线识别模型

基于以上研究, 可构建高炉正常状态和不同异常状态图像数据集, 从而将高炉异常状态识别问题转化为高炉料面图像分类问题. 深度学习可通过端到端的训练提取深层特征, 进而可完成图像分类任务. 目前, 基于Transformer的模型以及卷积神经网络比较流行且效果较好. 然而基于注意力机制的Transformer模型需将图像分割成多个块后输入网络, 导致模型训练及推理时间大大增加, 不利于高炉异常状态的在线识别. 

在各种深度网络中, 卷积神经网络在图像分类等任务中得到了最广泛的研究与应用. VGG作为深度卷积网络, 由于其优秀的特征表示和学习能力, 可获得比其他算法更好的分类精度. 原始VGG11网络[36]包含5个VGG卷积模块, 每个模块包含1 ~ 2个卷积层和最大池化层, 一共由8个卷积层和3个全连接层组成. VGG网络训练直接学习输入与输出之间的映射关系, 但网络在训练过程中, 大量的卷积层和全连接层在增加网络训练复杂性的同时, 还存在特征信息和通道信息损失的情况. 特征信息损失会使得网络训练和推理速度减慢, 通道信息损失会使得网络的精度难以进一步提升. 为解决该问题, 本文提出MRCAM, 融合VGG块结构, 构建ResVGGNet, 实现高精度实时高炉异常状态在线识别. 

2.3.1   ResVGGNet模型整体结构

ResVGGNet模型结构如图6所示, 具体的网络模型结构为: 

图片

图 6  ResVGGNet模型结构

1) ResVGGNet主要包括VGG块和MRCAM, VGG块使用卷积核、步长为1的卷积层和卷积核、步长为2的最大池化层, 同时在之后设置有批归一化(Batch normalization, BN). MRCAM包括多个残差通道注意力模块(Residual chanel attention module, RCAM), RCAM由残差结构和通道注意力模块组成. 残差结构中的恒等映射使用1×1 的卷积核, 用于匹配图像通道的数量, 同时将上一层的输出特征直接输入到下一层中. 

2) 第一层是网络的输入层, 网络的输入为224×224×3 的料面图像, 经过1个VGG块和最大池化层, 用于丰富特征图, 即纹理特征. 其中的ReLU函数可以改变模型的线性结构, 增强模型的非线性, 从而减少模型的过拟合. 而第二层仅包含1个VGG块, 用于进一步丰富特征图. 

3) 第三、四、五层均具有两个VGG块, 并且在这些层前后设置有RCAM, 用于提取料面图像的多尺度特征并关注特征的通道信息差异. 料面区域与高温煤气流区域存在一定的边界, 而高温煤气流区域对分类具有重要作用, 因此需要获取料面局部特征, 加入RCAM能有效提取该特征, 并且能减少不同VGG块之间的特征损失, 加速梯度跨层传播能力, 因而能加快模型识别速度. 同时, RCAM中的通道注意力模块 (Channel attention module, CAM) 能有效提升模型对通道信息差异的关注, 进而提升模型的精度. 

4) 最后, 使用两个全连接层F1F1和F2F2减少模型参数数量, 参数分别设置为1024和512, 并使用Softmax函数作为分类器, 神经元的个数设置为4, 代表正常、塌料、悬料和煤气流异常状态四种状态. 

2.3.2   多级残差通道注意力模块

传统的残差结构如图7所示, 残差结构在输入与后续的输出之间加入跳跃连接[37], 在很大程度上避免了信息的损失, 同时也降低了学习的难度. 这样能在不增加网络额外参数和计算量的前提下, 很好解决网络在训练过程中的退化问题, 加速模型训练, 同时提升模型的训练效果. 

图片

图 7  残差结构

基于卷积神经网络的特征提取模块中有许多卷积层和池化层, 采用残差结构能在一定程度上减少特征信息的丢失, 但通道信息丢失依然存在. 传统的卷积网络利用卷积与池化层增加特征图的通道数, 提取了语义特征和浅层特征的复合特征, 但对所有的通道都是进行相同的处理, 没有充分考虑通道之间的差异性信息, 这是不合理的. 为解决该问题, 针对残差结构提取的特征, 本节提出通道注意力模块, 如图8所示, 使模型能关注通道信息之间的差异. 

图片

图 8  RCAM结构

给定输入特征图, 首先可通过CAM计算通道注意力 

图片

   (66)    

其中, φ为Sigmoid函数, W是N×N 的参数矩阵, 具体为 

图片

   (67)    

为提高CAM的性能, 让所有的通道共享权重信息 

图片

   (68)    

其中, 

图片

 表示yi 的n 个相邻通道的集合. 

根据以上分析, 可以通过设计卷积核大小为n1 的一维卷积来实现式(68)表示的通道之间的信息交互 

图片

   (69)    

其中, ConV1D 表示一维卷积. 

分组卷积[38]已经成功用于改善CNN的结构, 其通过在给定固定数目的分组卷积下, 使高维或者低维通道包含长程卷积或者短程卷积. 因此, 类似地, 可认为跨通道信息交互作用的范围(即一维卷积的卷积核大小n1 )与通道维数N 成正比, 即n1 和N 之间可能存在函数关系 

图片

   (70)    

由于通道维度一般都是2的指数次幂, 因此, 采用以2为底的指数函数表示这种函数关系 

图片

   (71)    

其中, α1 和β1 是超参数, 本文α1 和β1 分别设置为2和1. 

因此, 根据式(71), 在给定通道维数NN的情况下, 可以得到卷积核的大小为 

图片

   (72)    

其中|⋅|odd 表示距离结果最近的奇数. 

在全连接层与Softmax分类器之间, 通常采用Dropout操作, 避免网络过度依赖某个神经元, 减少过拟合, 使得训练结果更准确. 传统的Dropout操作具有固定的失活概率, 但实际上, 不同节点之间的重要性可能不同. 基于此, 本文提出自适应Dropout, 通过引入以下自适应函数来设置每层的激活率χ, 以改善Dropout的性能 

图片

   (73)    

其中, n和l分别为网络层数和网络层的位置, k为正整数(k∈N+) . 

对于图像分类网络而言, 损失函数与优化算法对于网络收敛十分关键. 交叉熵损失是深度学习分类问题中一种常用的损失函数, 其可衡量模型预测结果与实际标签之间的差距. 由于本文是多分类问题, 交叉熵损失函数由式(74)定义 

图片

   (74)    

其中, K 表示样本总数, c 表示类别, Lic 表示第 i个样本类别为c 的标签(0表示塌料, 1表示煤气流状态异常, 2表示悬料, 3表示正常), Pic 为输入第i 个样本预测为c 类的概率. 

为更好地训练, 本文使用自适应矩估计(Adaptive moment estimation, Adam)优化算法, 其通过结合动量随机梯度下降和偏差校正等方法的优势, 不仅使用动量作为参数更新方向, 而且可以自适应调整学习率, 从而加速训练过程. 具体优化过程如下: 

首先, 分别计算一阶与二阶动量累积值νt 和ϖt

图片

   (75)    

图片

   (76)    

其中, gt 为模型当前计算的梯度. 

然后, 对偏差进行修正 

图片

   (77)    

图片

   (78)    

最后计算参数更新差值, 进行参数更新 

图片

   (79)    

其中, 超参数β2=0.9 , β3=0.999 , α2=0.001 , ε=10−8 . 

3.   实例验证

为验证所提方法的有效性, 本文采用安装于华南地区某钢铁集团2# 高炉上的新型工业内窥镜获取的高炉料面视频图像进行实验. 本文的实验分为两部分: 首先利用所提的煤气流异常状态智能感知方法对高炉料面图像进行处理, 精细化感知煤气流异常状态, 同时通过高炉专家对塌料、悬料视频图像进行分类, 构成高炉异常状态识别图像数据集; 然后基于该数据集对建立的ResVGGNet进行训练, 进而实现高炉状态识别, 并与最先进的图像分类方法和高炉异常状态识别方法进行对比. 

3.1   高炉煤气流异常状态感知结果

本文选取正常状态和异常状态下13分钟高炉料面视频图像, 利用所提方法提取各自降维后的高温煤气流图像多元特征, 如图9所示. 由图9可知, 降维后的特征之间的距离比较明显, 特别地, 对于图9(b), 能清楚地看到数据成簇分布, 这直接说明了所提多元特征提取及降维方法的有效性. 

图片

图 9  不同状态下高温煤气流图像多元特征降维结果((a) 正常状态; (b) 异常状态)

然后, 对其进行自适应K-means++ 聚类, 结果如图10所示. 其中, 正常状态下的聚类数为4, 发生了异常状态的聚类数为5. 分析每个聚类下高温煤气流图像对应的原始高炉料面图像, 在正常状态下, 分为布料、加焦、煤气流状态稳定和煤气流状态较为稳定四种情况; 而当煤气流异常状态发生时, 则增加一个聚类, 这与高炉冶炼实际情况相符. 因此, 基于此可得到粗粒度煤气流异常状态, 从而判断一段时间内是否发生煤气流异常状态. 

图片

图 10  不同状态下高温煤气流图像多元特征聚类结果((a) 正常状态; (b) 异常状态)

据此, 对其他高温煤气流图像进行处理, 得到各时间段异常高炉煤气流图像. 首先提取每帧煤气流图像的HGJM, 并基于HGJM趋势变化对煤气流异常状态进行精细化感知, 得到细粒度煤气流异常状态. 如图11所示, 选取20000张连续的煤气流图像进行处理, 红色虚线处即为煤气流异常状态发生处. 

图片

图 11  基于HGJM趋势变化的煤气流异常状态感知结果

3.2   高炉异常状态识别结果

本文实验共有2400张煤气流异常状态图像, 同时为保证样本数目符合真实情况, 高炉料面图像数据集中共有塌料图像800张, 悬料图像1200张, 正常状态图像2400张. 训练集与测试集按照4:1的比例划分, 具体的高炉料面图像数据集如表1所示. 

图片

表 1  高炉料面图像数据集

本文实验使用Adam优化器, 动量系数为0.9, 模型最大学习率为0.001, 100个epoch, 每隔10个epoch学习率衰减10%, 同时选用交叉熵损失函数训练和优化ResVGGNet. 根据所提自适应Dropout函数, 全连接层和与Softmax分类层之间的隐藏层的激活率设置为80% 和 60%. 实验在Win10系统下, 软件环境为Python™3.8.15和Torch1.2.0, 硬件环境为Intel(R) Xeon(R) Gold 256 GB, NVIDIA® Telsa V100S. 

为验证所提ResVGGNet的有效性, 本文选取主流的卷积网络ResNet18[37]、VGG11[36]以及目前流行的Transformer模型ViT16[39]和SwinT-t[40]. 为保证实验的公平性与准确性, 所有网络均采用相同的高炉状态料面图像数据集, 并且网络的所有超参数均一致. 

图12展示了上述网络在训练和测试阶段的精度与损失情况. 从图12可知, 相比VGG11、ViT16和SwinT-t, 本文所提ResVGGNet的训练和测试精度都是最高的. 虽然ResNet18的训练精度和训练损失与所提ResVGGNet相差较小, 但是在测试阶段, ResNet18波动过大, 不利于模型的快速收敛. 

图片

图 12  不同分类网络模型训练与测试结果((a) 训练精度; (b) 训练损失; (c) 测试精度; (d) 测试损失)

为进一步定量比较以上方法的效果, 使用异常状态检测率(Fault detection rate, FDR)和正常状态误报率(False alarm rate, FAR)作为定量指标, 同时定义描述模型的识别速度, 分别为 

图片

   (80)    

图片

   (81)    

图片

   (82)    

根据式(80)、式(81)和式(82)分别计算以上方法的检测率、误报率和识别速度, 结果如表2所示. 由于新型工业内窥镜获取的料面视频图像是25帧/s, 因此模型对图像的分类速度至少要大于25帧/s才能做到实时处理, 考虑到实际现场数据传输需要时间, 因此, 识别速度越快越好. 由表2可知, ResNet18由于在训练中能够充分利用网络残差信息, 整体性能比VGG11、ViT16和SwinT-t均要高. 单纯只使用具有残差结构的ResNet18和只具有VGG块的VGG11, 整体性能均劣于所提方法. ResVGGNet的识别速度最快, 同时不同异常状态的检测率均较高, 而在正常状态下的误报率保持最低, 验证了本文所提方法的有效性. 

图片

表 2  不同分类网络在高炉料面图像数据集下的识别结果

最后, 也与现有的高炉异常状态识别方法进行对比. 由于现有方法中针对塌料的诊断较为缺乏, 而针对悬料状态的诊断方法相对较多, 因此, 本文选取能对悬料状态进行监测的相关方法, 包括基于多元统计分析的方法CA[11]、MWPCA[41]、SFICVA[12]、Local-DBKSSA (L-DBKSSA)[20]、Adaptive DiASSA (A-DiASSA)[21]和基于深度学习的方法DSKL-SVM[18]、SD-DAE[4]. 具体的对比结果如表3所示. 从表3可看出, 本文方法对悬料的检测率为第二优, 而悬料检测率高于本文方法的Local-DBKSSA和DSKL-SVM, 其在正常状态下的误报率分别为1.24%和17.00%. 误报率越大, 在正常高炉运行状态下误报的概率越高, 这会给现场带来额外的不必要的工作. 本文所提方法在维持对悬料的诊断率99.58%的情况下, 在正常状态下的误报率仅为0.21%, 验证了本文方法的优异性能. 

图片

表 3  不同高炉异常状态识别方法对比

4.   结束语

本文提出一种全新的基于高炉料面视频图像分析的煤气流异常状态感知与不同高炉异常状态实时识别方法. 通过对高炉料面视频图像的分析, 发现了煤气流异常状态这一特殊的高炉异常状态. 通过将高炉料面图像不同尺度的纹理信息与FCM结合, 提出基于MST-FCM的高温煤气流区域获取方法, 可以在无标注样本的情况下, 准确提取煤气流图像. 在提取煤气流图像多元特征后, 提出基于特征编码的特征降维方法, 同时利用Bootstrapping方法探索了自适应初值的K-means++ 聚类方法, 其能自动给定聚类初值, 实现煤气流异常状态的粗粒度感知. 然后, 通过改进JFM, 并利用tt统计量对HGJM变化趋势进行分析, 精准感知煤气流异常状态. 最后, 通过设计MRCAM, 提出高炉异常状态识别模型ResVGGNet, 实现高炉塌料、悬料和煤气流异常三种不同异常状态的精准快速在线识别. 与现有的图像分类网络相比, 本文所提方法在保证高检测率和低误报率的同时, 识别速度最快; 而与现有的高炉异常状态识别方法相比, 所提方法也具有明显优势. 本文为基于料面图像的高炉异常状态识别提供了初步的研究, 未来的研究将包括以下两个方面: 

1) 异常状态预测: 所提方法主要侧重对短期高炉异常状态的实时识别, 进而帮助高炉实时调控. 而在实际高炉现场也关心未来时刻高炉是否会出现异常状态, 进而做到提前调控. 在未来的工作中, 将继续研究把ResVGGNet拓展到高炉异常状态预测领域, 实现对不同高炉异常状态的提前预测. 

2) 长期炉况识别与监测: 高炉向热和向凉是高炉重要的长期炉况, 但针对长期炉况的监测方法较少. 而高炉视频图像存在明显的时间序列变化特性, 具有识别长期炉况的潜力, 未来将通过对大量连续的高炉视频图像进行分析与处理, 把所提方法进一步拓展到长期炉况的识别与监测领域. 

声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。

注:若出现无法显示完全的情况,可 V  搜索“人工智能技术与咨询”查看完整文章
人工智能、大数据、多模态大模型、计算机视觉、自然语言处理、数字孪生、深度强化学习······  课程也可加V“人工智能技术与咨询”报名参加学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/399705.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shuishusihui

互斥量 使用互斥量可以用于保护某些临界资源&#xff0c;同一时间只能有一个任务来使用它。 使用互斥量会引入其他问题&#xff0c;比如说优先级反转&#xff0c;于是提出了优先级继承等方法解决问题 任务通知 任务通知就是通知任务&#xff0c;前边都是多对多的关系&#xff0…

从零开始构建基于ChatGPT的嵌入式(Embedding)本地医疗客服问答机器人模型(看完就会,看到最后有惊喜)

1、前言 代码全部开源,GitHub地址为: github.com/aehyok/go-o… 前端完全也能搭建&#xff0c; 前端完全也能搭建&#xff0c; 前端完全也能搭建&#xff0c; 本文中我使用的是后端语言golang,来调用的所有外部接口&#xff0c;但它们均是restful api,所以如果你使用的是其他…

此处不允许使用 ‘空‘ 类型

说明&#xff1a;受最近看的书《设计模式之美》&#xff08;小争哥&#xff09;的影响&#xff0c;最近编码有意将一些业务逻辑写在对象里面&#xff0c;增强封装性。在此记录一次项目启动时的报错&#xff0c;如下&#xff1a; 原因&#xff1a;当你在实体类对象中&#xff0c…

提升医疗器械维修技术必经的几个阶段

01 懵懂入门阶段 初入医疗器械维修领域&#xff0c;就如同踏入了一个充满未知的神秘世界。此时&#xff0c;菜鸟们对各种医疗器械的了解仅限于书本知识和简单的操作培训。他们可能刚刚熟悉了一些基本工具的使用方法&#xff0c;对常见的医疗器械类型和品牌有了初步的认识&#…

java设计模式-桥接模式

一. 概述 桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;用于将抽象部分与其实现部分分离&#xff0c;使它们可以独立地变化。桥接模式主要目的是解决当一个类存在多个继承等级时&#xff0c;由于继承带来的耦合问题&#xff0c;以及扩展性不…

计算机网络408考研 2015

计算机网络408考研2015年真题解析_哔哩哔哩_bilibili 1 1线路编码(NRZ,NRZI,8B/10B,Manchester)与加扰_nrz编码-CSDN博客 1 1 11

19c做好这件事,大幅提升Data Pump工作效率

老司机遇到的新问题 expdp是Oracle 10g引入的数据导出工具&#xff0c;能够提供并行、压缩及元数据导出等更多的功能&#xff0c;在后续的版本中逐渐替代了传统的数据导出工具exp&#xff0c;是数据库开发运维常用的工具之一。在我的印象中&#xff0c;这个工具除了诸如大量的…

河北移动:核心系统数据库成功完成整体迁移 ,实现全栈国产|OceanBase案例

本文作者&#xff1a;移动通信集团河北有限公司架构规划专家&#xff0c;房瑞 项目背景&#xff1a; 中国移动通信集团河北有限公司一直在积极响应国家及集团的号召&#xff0c;以磐舟&磐基云原生为底座&#xff0c;结合国产浏览器、中间件、数据库、操作系统和服务器等&a…

Jupyter Notebook介绍、安装及使用教程

文章目录 一.什么是Jupyter Notebook&#xff1f;1.Jupyter Notebok简介2.组成部分3.Jupyter Notebook的主要特点 二.安装Jupyter Notebook0.先试用再决定1.安装①安装前提②使用Anaconda安装③使用pip命令安装 三.运行Jupyter Notebook0.帮助1.启动①默认端口启动②指定端口启…

零基础学会机器学习,到底要多久?

这两天啊&#xff0c;有不少朋友和我说&#xff0c;想学机器学习&#xff0c;但是之前没有基础&#xff0c;不知道能不能学得会。 首先说结论&#xff0c;只要坚持&#xff0c;就能学会&#xff0c;但是一定不能三天打鱼两天晒网&#xff0c;要持之以恒&#xff0c;至少每隔两…

自由职业四年,我整理了一些建议

我是勋荣&#xff0c;一个独立开发者。运营了自己的社群&#xff0c;有自己的软件产品。目前还在探索各种副业的路上~ 1我的独立开发之路 刚毕业就找不到Android岗位的我瑟瑟发抖。在广州&#xff0c;稀里糊涂做了Java后端开发。有一天加班 通宵&#xff0c;早上借住在同事家…

Python教程(十三):常用内置模块详解

目录 专栏列表1. os 模块2. sys 模块3. re 模块4. json 模块5. datetime 模块6. math 模块7. random 模块8. collections 模块9. itertools 模块10. threading 模块11. 加密 模块 总结 专栏列表 Python教程&#xff08;十&#xff09;&#xff1a;面向对象编程&#xff08;OOP…

【MySQL】什么是索引?了解索引的底层原理

索引的概念 索引是一种用于提高数据库查询效率的数据结构。它类似于书籍的目录&#xff0c;通过快速定位数据的方式&#xff0c;减少了数据检索的时间。索引在数据库表中可以被看作是一个指向数据的指针&#xff0c;它们存储了列的值及其对应行的位置&#xff0c;从而使得数据…

Java面试八股之消息队列有哪些协议?各种协议有哪些具体实现

消息队列有哪些协议&#xff1f;各种协议有哪些具体实现 消息队列协议是指在消息队列系统中&#xff0c;用于消息的发送、接收和管理的一套通信规则。不同的协议有着不同的特性和应用场景&#xff0c;以下是一些常见的消息队列协议及其具体实现&#xff1a; AMQP (Advanced M…

某通用系统0day审计过程

前言 代码审计篇章都是自己跟几个师傅们一起审计的1day或者0day(当然都是小公司较为简单)&#xff0c;禁止未经允许进行转载&#xff0c;发布到博客的用意主要是想跟师傅们能够交流下审计的思路&#xff0c;毕竟审计的思路也是有说法的&#xff0c;或者是相互源码共享也OK&…

mfc140.dll丢失如何修复,一步步教你如何解决mfc140.dll丢失,让电脑快速恢复正常状态!

mfc140.dll是 Microsoft Foundation Class (MFC) Library 的一部分&#xff0c;它是一个用于开发 Windows 应用程序的 C 库。当系统报告mfc140.dll丢失时&#xff0c;通常意味着某个应用程序需要这个 DLL 文件来运行&#xff0c;但系统中没有找到它。那么mfc140.dll丢失如何修复…

jetson nano远程调试说明

Jetson nano官方演示不仅需要网线、显示屏、Jetson nano开发板、HDMI线、5V的电源适配器&#xff0c;还需要USB键盘和USB鼠标&#xff0c;携带不方便。这里简单整理下可以不用使用USB键盘、USB鼠标和网线也可以演示。 硬件准备 一块 Jetson Nano ALT 开发板&#xff1b;一个 5…

WordPress原创插件:Download-block-plugin下载按钮图标美化

WordPress原创插件&#xff1a;Download-block-plugin下载按钮图标美化 https://download.csdn.net/download/huayula/89632743

Apache Tomcat服务器版本号隐藏

渗透测试时发现有一台服务器的404报错页面中&#xff0c;有Apache Tomcat的版本号信息显示&#xff0c;发生了信息泄露&#xff0c;可能导致服务器被攻击。如下所示&#xff1a; 解决步骤如下&#xff1a; 1. 隐藏HTTP响应头中的Server信息 Tomcat默认会在HTTP响应头中包含S…

最后一公里!观测云如何重塑北欧城市交通

在北欧地区&#xff0c;共享滑板车已经超越了简单的交通工具&#xff0c;它不仅成为了解决最后一公里出行的首选&#xff0c;更象征着一种全新城市生活方式的兴起。这种生活方式不仅体现了北欧地区对环保、便捷和创新的不懈追求&#xff0c;也彰显了其对提高生活质量的持续努力…