基于深度学习的智慧城市火灾检测方法

2023-11-14

1. 文章信息

本次介绍的文章是在2022年发表在Electronics的一篇文章,文章题目为《Fire Detection Method in Smart CityEnvironments Using a Deep-Learning-Based Approach》,用计算机视觉的方法对城市进行火灾检测。

2. 摘要

在新型智慧城市建设中,可以利用数码相机、计算机视觉、人工智能、深度学习等新兴技术,用基于视觉的系统取代传统的火灾检测系统,建立社会消防安全。在这项研究中,本文开发了一种火灾检测器,可以准确地检测到即使是很小的火花,并在火灾爆发的8秒内发出警报。利用增强的You Only Look Once (YOLO) v4网络,开发了一种新颖的卷积神经网络来检测火灾区域。基于改进的YOLOv4算法,本文将网络调整到仅使用三层即可在Banana Pi M3板上运行。最初,文章检查了originalYOLOv4方法,以确定候选火灾区域预测的准确性。然而,在用这种方法检测火灾事故的几次实验后,并没有观察到预期的结果。基于数据增强技术,对传统的YOLOv4网络进行了改进,增加了训练数据集的大小,实现了火灾实时监测。该方法通过自动颜色增强、减少参数等方法对网络结构进行修改,在不同的天气环境下(晴天或多云、白天或夜晚)能够快速准确地检测和通知火灾的发生。实验结果表明,该方法能够成功地应用于智慧城市的保护和城市区域的火灾监测。最后,文章将该方法的性能与最近报道的采用广泛使用的性能矩阵来测试火灾分类结果的火灾检测方法的性能进行了比较。

3. 介绍

火从诞生之初就在各个领域为人类社会的发展做出了贡献。然而,一旦火灾失去控制,就会对人类的生命财产造成严重的损害。至关重要的是要避免这种生命和财产损失。在燃烧过程中,火表现出许多物理性质。研究人员和工程师已经开发了基于视觉的火灾检测器(vfd),以及声音敏感、火焰敏感、温度敏感、气体敏感或固体敏感的火灾检测器,以满足这些不同的特性。烟雾的化学性质被传感器检测到,并发出警报。然而,这种方法可能会导致误报。只有当烟雾接近传感器时,警报才会响起。这些检测系统是传统警报系统的组成部分,它们可以检测火焰的某些属性,如烟雾和温度。然而,这些系统不能提供视觉信息,而这些信息对于帮助消防人员快速了解火灾事件的情况至关重要,而且周围环境容易受到红外或紫外检测器的干扰,由于它们的检测范围较低,这类检测器不适合宽广、开放的区域。为了提高火灾的实时检测和控制误报,VFD系统是必不可少的。VFD是一种独特的非接触式火灾检测器。VFD可以根据火焰数据或火灾烟雾的形状从远处识别火灾。随着计算机视觉和机器学习的发展,VFD逐渐得到普及,并且已经使用了很多年。此外,VFD比传统的火灾检测技术更加可靠和完善。因此,VFD大大提高了森林、仓库和零售商场等大片区域火灾的检测能力。火灾的早期识别对应急预防至关重要。VFD的主要目标是实现鲁棒检测率和低误报率。此外,VFD也适用于日间和夜间监测。

目前,一些公共区域安装了闭路电视(CCTV),用于监视和监控。然而,闭路电视并不是“智能”系统。因此,必须应用人工智能(AI)技术来训练火灾检测系统,系统必须首先识别火灾才能触发警报。随后,系统将确定火灾的强度和体积。在这种情况下,VFD系统可以通过早期发现大型和危险的火灾来帮助预防灾难。为此,VFD系统提供了许多优点,包括高精度、快速火灾检测和可调节的定制安装。VFD和报警系统可以使用一个低成本的摄像头和一个小型但强大的嵌入式计算机,如树莓派、香蕉派或Arduino。输入的图像数据将通过人工智能方法进行实时处理,以评估火焰或火焰危险的存在。图像处理算法可以通过各种方法应用于火灾检测。最简单的方法是使用带有阈值的RGB颜色模型,因为图像中的火灾区域通常是红色的。然而,由于周围环境中存在红色,这种方法容易出现误报。同时,基于人工智能和深度学习(AI and deep learning, DL)的图像识别方法可以自动学习和识别复杂的图像数据。这些方法受到了相当多的关注,并在各种应用中产生了稳健的结果,包括自动驾驶、目标检测和识别、医疗诊断和视觉搜索。一些研究人员已经将卷积神经网络(cnn)和Transformer应用于基于视觉的火灾检测领域,从而开发了用于收集火灾图像特征的训练模型。许多cnn已经被研究用于火灾检测应用,包括更快的R-CNN、YOLO和SSD。现代城市规划旨在创建复杂、安全、可持续的智慧城市。在建设基于人工智能的智能城市时,必须考虑火灾检测和火灾报警系统等多种技术。为了保证人类生命财产的安全,对早期和准确的火灾检测系统有很高的要求。智能城市正在安装监控摄像头来监控每一个过程,使用这种摄像头来检测火灾可能是另一种合理和可靠的解决方案。为了解决上述问题,文章开发了一种新的火灾检测方法,可以用于消除包括火灾事故在内的灾难性情况。文章改进了经典YOLOv4网络的性能,使其能够在初始阶段检测火灾危险,以减少人员伤亡。大约70-80%与火灾有关的死亡是由于有毒气体造成的;因此,利用人工智能方法快速检测火灾场景,避免误报是非常重要的。

4. 相关工作

最先进的火灾检测和分割方法分为两类:基于DL的方法和基于视觉transformer的方法。

A. 基于DL的火灾检测与分割方法

在过去的十年中,AI和DL方法促进了一些计算机视觉问题的广泛发展。使用卷积层生成的综合特征图主要负责这一点。在目标分割过程中,DL算法能够有效地识别出图像中的每个像素点,并准确地定义目标的外观。这些算法比传统的机器学习模型更加可靠。多年来,人们利用DL方法进行了大量的研究,以解决火灾检测任务。

编码器-解码器体系结构是最近出现的最流行的语义分割设计之一。首先,编码器包含卷积层和池化层,从输入图像生成高维特征图。其次,解码器对给定的特征进行解码,并定义对象掩码。由于成功地完成了图像分割等各种任务,人们对基于编码器-解码器结构的对象分割进行了大量研究。

B. 基于Transformer的火灾检测与分割方法

许多基于cnn的方法主要依靠卷积算子来提取图像的局部特征。然而,它们在模拟全局上下文的能力上受到限制,并且具有较高的计算成本。Transformer最近被提出作为一种克服这些限制的方法,它通过应用自注意方法来创建输入块之间的长期交互,这是Transformer的基础。这些方法模拟每个输入特征和其他特征之间的关系。它们通过考虑每个项与其他细节的交互来定义每个项的全局上下文数据。研究人员最初将Transformer应用于自然语言处理问题,并获得了不错的结果。由于其优异的性能,Transformer已被应用于计算机视觉问题,如对象检测和识别、文本分割、图像分类和视频处理。Transformer主要有两种类型,纯Transformer和混合Transformer(将cnn与Transformer结合起来)。学习数据量是影响Transformer性能的最重要因素。基于物联网的火灾检测方法也成为学者们更加活跃和有吸引力的研究领域。

5. 火灾检测与分类模型建立

A. 数据集

准备数据库包含9200张夜间和白天的火焰图片,从免费访问的数据库和不同条件下(大小、颜色和形状)的谷歌图片中收集了这些图片。在任何情况下,这些数据集都无法实现正常的结果,在实时环境下可能无法达到预期的火灾识别精度。为了解决这一问题,文章尝试利用图像变换方法来增加数据集中火灾场景图像的数量。

手动旋转所有图像并再次标记它们需要相当长的处理时间。因此,文章在OpenCV框架中使用转换矩阵理论创建了专门的软件。图像变换可以通过仿射变换表示为矩阵乘法的形式。仿射变换广泛用于进行旋转运算,其表示形式为2 × 3矩阵:

94c27d4c9704da1a4cd5764acaeffbef.png

文章要变换的二维(2D)向量的表示如下:

82a0b9bf091f3d61569cd70813c29b59.png

文章可以得到这样一个变换后的向量:

24db61b01b194246632eef7b7dac2d53.png

在上面的矩阵中,T表示变换向量,M表示旋转矩阵。矩阵的变换可以用旋转角度和中心坐标表示。

7e1335701686b764a5367cc47e1158ca.png

在这个变换中,ed4870c4b238a88cecb85b0d5f1bf3fc.png, θ是旋转角度。文章在比例= 1的情况下计算。通常情况下,旋转后图像大小和参考点会发生变化,需要对变换矩阵进行修改。图1显示了新尺寸的计算。随后,新图像尺寸的宽度和高度由下式计算:

d748d2e34da48a53de3f73f028f78b6f.png

最后,当图像调整大小时,旋转点(图像中心)的坐标也会改变。新获得的图像中心坐标使用以下变换矩阵计算:

08488d48bbac127ed8d260d61f84994c.png

其中b1668a3cccdc4a08212dd1107b2a95b4.png,θ为旋转角度。当旋转图像时,文章遇到了混叠效应和输出图像中的空洞。利用插值运算可以很容易地解决这个问题。与文章之前的研究不同,文章将所有的射击图片旋转90◦,180◦,和270◦,如下图所示。

1451bddc837a22ff282d12d2feb203cf.png

在应用该方法后,文章将数据集图像的数量增加到原始增强帧数的3倍。如前所述,文章的数据由9200张原始图像组成。在此步骤中使用有效的增强方法后,数据集的总大小增加到27,600。此外,为了防止出现假阳性结果,文章还添加了超过10,000张类似火的图像。CNN结构的力量从根本上取决于训练数据集图像的数量及其分辨率。因此,有必要在数据增强方法的基础上对训练数据集进行扩展。接下来,使用LabelImg工具,根据YOLO训练,在每个图像中设置火焰。标签文件夹是一个TXT文件,在框架坐标中保存火焰的位置。此外,它被用于卷积神经网络作为学习过程的一部分。此外,文章在训练集中使用火焰图像;然而,标签文件夹包含了免费的TXT文件。在学习过程中加入这些非可燃帧序列的原因是为了减少假阳性检测的数量。

B. 模型概述

本节提供了一个简短的大纲提出的火灾探测器,以快速和准确地识别火灾候选区域,无论大小,颜色,运动,形状,速度,或火灾的外观。在文章的方法中,开发了几种技术来实现预期的目的。

74d74b6a206b6d6d6f7e74fa9c132cc0.png

如上图所示,文章首先实时获取静态摄像机输入的原始视频序列。其次,文章使用OpenCV框架将原始图像压缩到416 × 416的分辨率,以避免训练和分类任务的复杂性。较小的图像训练速度明显更快,甚至收敛速度可能更快,文章将能够使用这样的图像来训练更大的批次。此外,使用低维图像可以帮助文章的网络更好地泛化,因为可以过拟合的数据更少。在本研究中,文章还采用了608 × 608的图像;他们减少了训练和测试期间的处理时间。值得注意的是,大型图像偶尔可能有助于提高火灾探测的准确性,但处理它们可能是耗时的。

第三,对缩放后的图像进行图像增强,提高图像质量,增加增强后的火焰图像数量,用于训练CNN网络。第四,通过初始化模型,基于预先训练的权值对网络进行操作。最后,对火灾分类的准确性进行评估,预测火灾的发生。在火灾检测和分类阶段,提取的特征被压缩并通过CNN主干进行火灾评分预测。基于监控系统,对火灾事故进行监控,直至火灾被识别。一旦发现火灾区域,摄像机上的红灯就会亮起,并向系统操作员和消防办公室发送紧急警报。提出的火灾探测器可应用于智慧城市监控系统,以提高环境的消防安全。文章的方法可以准确地检测和分类火灾区域,甚至可以识别出与火灾颜色像素值非常相似的背景颜色强度。

C. 火灾检测过程

快速、准确地检测实时场景中任何类型的目标主要有三个任务:目标分类(目标类型)、目标定位(目标位于图像中)和图像检测中的目标定位(目标位置)。在本研究使用YOLOv4进行火灾探测。网络使用的是目前可用的9200 608 × 608和416 × 416的火灾图像。YOLOv4的AP和FPS分别比YOLOv3提高了10%和12% (45 FPS)。此外,文章还添加了几个新的特征来构建一个适合于高效训练和检测运动目标的算法。首先,文章对YOLOv4的火灾识别性能进行了评估,在有限的数据库条件下测试了火灾预测的正确性。在5万次循环的计算阶段,探测器采用标准变体进行检测,没有进行任何修正。默认网络采用色相= 0.1,饱和度= 1.5,曝光= 1.5值的自动色彩增强来提高训练时的准确性。

不同参数下的训练和测试精度的结果如下表所示。

8c300d2414851ad4582febaf764a30b9.png

YOLOv4的输入图像尺寸为416 × 416,结果精度最高。虽然YOLOv4的结果相似,但它们并没有被广泛用于消除火灾探测案例;因此,文章选择了YOLO标准版本中的YOLOv4来使用文章的研究,并决定使用数据增强来改进其结果。DL方法严重依赖于大型数据集;否则,在训练过程中会遇到过拟合问题。因此,为了避免过拟合的挑战,通常采用dropout和数据增广等方法。

文章使用的数据有27,600张图片序列和10,000张类似的场景图像。从文章最终的数据库中去除低质量和低分辨率的帧,文章总共收集了20,100张好图像用于实现。在修改火焰帧的亮度和色度后,文章将学习图片总数增加到80400张左右。首先,文章将第一批插入图像的对比度增加一倍。最后,文章将原始输入图像的亮度降低了一半。使用最终的数据集,用均匀的图像大小和迭代来测试YOLOV4网络。第二个实验结果与之前的实验结果有明显的不同。改进后的YOLOv4探测器比以前的探测器取得了更好的精度。但是,这种方法的训练过程需要更多的时间,因为数据集图像的数量大大增加,如下表所示。

3425cb39e1e3e04eb44e07d7518afc22.png

此外,在增强火数据集(80,400张图像)上测试了所有YOLO网络版本,并比较了最终精度;

6e58139c183f212605771ab1b48f0e77.png

从上表可以看出,YOLOv4的训练准确率最高,达到98.8%。此外,YOLOv3达到了97.1%在测试准确度方面略微落后于YOLOv4。其次是YOLOv4tiny和YOLOv4tiny_3l。由于数据集图像数量的增加,这些算法比以前的实验消耗更多的时间。YOLOv4被认为是一种高效、强大、预测精度最高的火灾探测模型,即使处理时间小于YOLOv4_tiny算法。

如上所述,由于火灾现场的原因,在错误的信号下,实时的火灾探测会出现一些错误。在本研究中,文章在训练中使用了3000幅日出和日落图像,而不是模型的测试步骤。这是因为阳光像素值非常接近火的颜色强度,即使它们不是真正的火。文章使用没有火灾的图像数据库检查了两个实验中的训练权重。YOLO网络根据区域与预定义类的相似性来“评估”区域。得分最高的地区被记录为积极的,无论他们最接近哪个类别。结果如下图所示:

13932633b50dd1ba1fc4d10c19eb535b.png

从上图中可以看出,通过默认算法训练的权重文件产生了很多错误。虽然YOLOv4方法出现的错误最少,但它们被归类为主要的误报。将类似火的图像添加到数据集后,对权重文件进行再次训练,实验显示,与默认算法相比,错误减少了20倍,如下图所示:

d31ef0b683c4c6231b3ebff3ba15547a.png

虽然文章在这个阶段达到了预期的98.8%,但文章试图使用最近发表的论文的观点来提高最终的准确性。小火焰区域的探测并不容易,大多数方法都不能及时地探测到它们。为了克服这一困难,文章制作了小尺度火图像来提高分类精度。文章使用了一个大规模的feature map来识别小的移动对象,并将其与前几层中的feature map相结合,这有助于保留细粒度的特征。这个广泛的特征图包含了前几层的位置数据和更深一层的复杂属性,已经被用来识别小型火灾区域。该方法的另一个优点是,它可以通过人工智能分析人类的意图和生成的火的安全性。火灾探测器可以在紧急情况下快速做出决定,当摄像机探测到人类引起的火灾时,可以忽略警报。文章将火灾探测精度提高到99.8%。有了这个结果,文章可以在早期探测到任何类型的火灾,即使是小规模的火灾。最后,文章需要在Banana Pi M3(BPI M3)板上实现文章的方法,使使用本文提出的方法与一个小型卷积神经网络,以达到减少测试过程时间和准确性损失。在BPI M3上运行的大型CNN性能很慢,而且实际上很复杂。为了完成这项工作,文章使用了改进后的YOLOv4的三个层。文章还将比较传统的深入研究框架和提出的效率和有效性分析方法。为了实现这一目标,文章使用人们在日常生活中使用的人造火的图像来训练文章的网络。提供“黄金时间”进行初步反应是文章处理和识别灾难情况的方法中最重要的元素。

6. 实验结果与讨论

在一台拥有3.20 GHz CPU、32 GB RAM和两个Nvidia GeForce 1080Ti gpu (Nvidia,Santa Clara, CA, USA)的PC上,在Anaconda 2020Python发行版中构建并检查了建议的系统。为了评估火灾探测方法的性能,该模型在各种室内和室外火灾场景下进行了测试。前一节讨论了使用YOLO分类器系统进行和实现的几个实验。在这里,文章重点分析了传统的火灾探测技术的执行,并提出了定性和定量结果的方法。下面两张图展示了使用CSPDarknet-53特征提取器在白天和夜间环境下进行可见实验的例子。CSPDarknet-53是一个使用DarkNet-53进行物体检测的CNN和主干[54,55]。该算法采用CSPNet策略,将底层的特征图划分为两部分

7ae4a520ff270b7cb6db2edbcb9ddaac.png

64eb0150f46670f8c230fa00ea86fafe.png

实验表明,改进后的火灾探测器无论火灾发生的时间、形状、大小,都能做到早期抑制和快速反应。传统的火灾探测器在火灾发生初期往往会出现误报,例如当背景区域内运动物体的颜色和像素强度值与火灾区域的颜色和像素强度值相似时,会产生误报。为了评估和分析火灾识别案例的有效性,文章将所提出的方法与最近发布的火灾探测方法进行了比较。文章采用了广泛使用的对象(静态或动态)检测估计指标。首先,文章通过确定检测是否有效来计算精度和召回度量来衡量目标检测器的性能。精度是分类器仅识别相关对象的能力;它是检测到的真阳性的比例。召回衡量模型识别所有相关案例的能力;它是在所有基本事实中检测到的真正阳性的比例,好的模型可以识别大多数地面真实物体(具有高召回率),而只识别相关物体(具有高精确度)。

通常,建议使用验证集(一组用于调整超参数的数据)和测试集(一组用于评估完全训练模型的性能的数据)来分析模型的性能。分类函数只评估类对象出现在图像中的概率,对于分类器来说,这是一个简单的任务,从不正确的预测中确定正确的预测。但是,对象检测任务通过一个与相应的置信度分数相关联的边界框进一步本地化对象,以报告对象类边界框定义为的准确性。下表给出了文章的方法和其他最近发布的火灾探测技术的性能。

34148925d0a51ec15f388f3e010ca1d5.png

从精度、查全率和FM三个指标方面比较了文章的方法与现有方法的实验性能。根据分析结果,文章的方法在FPs和FNs方面表现最好。此外,根据上表,文章使用精度、召回率和FM指标确定了平均准确度,如下图所示。

2a81cc45adcc2e4500a79ad291f5cfa2.png

改进后的火灾探测器的准确率约为99.1%,而其他方法的准确率约为95%。文章用他们论文中的结果进行比较;然而,这些数值的准确性并不容易验证,因为许多文章都是基于项目而写的,而且论文的源代码和数据集也没有公开上传到互联网上。在正常场景下,文章的方法通过减少计算时间和正确的最终决策,证明了早期火灾探测的高准确性,即使是在阴雨天。

7. 结论

本文提出了一种新的方法,使用YOLO4网络来探测和分类可疑的火灾区域,而不需要延迟最终决定。文章采用了几种技术来提高默认YOLOv4方法在火灾探测中的准确性,并取得了较高的精度。一种技术被创建,因此移动标记的有界的盒子在每个实例的旋转火数据集图像15◦。此外,文章创建了大型火灾数据集图像,描述了不同的火灾和类似火灾的场景(白天和夜间的图像),将免费提供给每个人的研究目的。利用大型数据库对深度CNN中的重要特征进行了探索,以做出准确的预测和控制过拟合问题。文章的方法的另一个成就是,文章在BPI M3板上实现了它,与传统的火焰识别方法相比,这可以减少CPU和GPU工具的处理时间。目前的研究表明,在火灾发生的最初阶段迅速发现火灾事故,对于提高文章日常生活的安全是非常重要的。因此,文章打算在这一领域继续文章的研究,并进一步提高文章的结果。文章的目标是使用YOLOv5和YOLACT模型来实时识别火灾事件,减少误报的数量。

Attention

欢迎关注微信公众号《当交通遇上机器学习》!如果你和我一样是轨道交通、道路交通、城市规划相关领域的,也可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!

352c6113255c6faab02b3994cd0341c0.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于深度学习的智慧城市火灾检测方法 的相关文章

随机推荐

  • 【算法学习笔记】19:拓扑排序

    1 简述 计算拓扑序列的一个方式是 用BFS来尝试访问所有的节点 但是有一个约束就是只有入度为 0 0 0的节点才能被加入到扩展队列里 每次从队列里取出一个节点 也就同时在图中将这个节点拆除 所以它的所有后继的节点都减少 1 1 1 如果已
  • STM32使用串口(空闲中断IDLE+DMA)接收ESP8266数据

    串口空闲中断 ESP8266收发数据 一 在使用ESP8266模块时遇到的一些问题 首先是对模块数据的收发 我们在发送AT指令时会收到模块发送的反馈数据 在我们没有使用实时操作系统的情况下 通过HAL库的串口收发函数是比较难以完成工作的 我
  • aaa计费请求_什么是AAA(身份验证,授权和计费)?

    aaa计费请求 AAA or Authentication Authorization and Accounting is a term used to describe 3 functions in IT Mainly AAA is us
  • 导航样式

    鼠标滑过 bottom 黄线从中间展开到两边
  • NLP: 0基础应用T5模型进行文本翻译代码实例~

    文章目录 前言 一 目标文本是什么 二 模型调用步骤 1 引入库 2 导入模型 本文使用 t5 base 3 使用分词器对目标文本进行分词 4 对刚刚生成的分词结果进行目标语言的生成工作 5 对生成的目标语言进行解码工作 就可得到目标语言的
  • 一文读懂Matter协议的前世今生和未来

    从事Zigbee行业的应该都知道今年Zigbee联盟已经改名为CSA联盟 并推出一个全新的 定位于解决IOT碎片化的统一协议 即Matter协议 Matter协议的由来 Matter协议的前身CHIP Connected Home Over
  • 从一个数组中随机取出若干个数

    随机取数 下面给出从一个数组随机取出若干数字组成新书组和从一个数组随机取出一个数字的方法 代码如下 从一个数组中随机取出若干个元素组成数组 param Array arr 原数组 param Number count 需要随机取得个数 co
  • 如何确保事务提交后才执行异步操作

    参考博客TransactionSynchronizationManager和TransactionSynchronizationAdapter 场景 业务流程背景 对于 法律法规 法规库 标签管理 列表中的某一条数据 操作完标注和解析按钮后
  • Angular离线API文档安装指南

    需要的材料 nginx 官方angularjs zip 完整包 步骤 1 先上www angular org 下载个完整的zip包 2 到nginx 网站下载 nginx 3 修改 nginx 1 6 2 conf nginx conf 文
  • 利用win10自带的工具测硬盘读写速度

    利用win10自带的硬盘测试工具测读写速度 一 win q 打开搜索框 输入 cmd 找到命令提示符 右击以管理员身份运行 二 在命令框里输入 winsat disk 是默认测试系统盘的速度 不出意外都是C盘 三 当我们要想测试其他盘的时候
  • MySQL学习笔记——MySQL数据类型(拉勾教育数据分析实战训练营学习笔记)

    MySQL学习笔记 MySQL数据类型 MySQL数据库中 每一条数据都有其数据类型 主要可以分为数值型 字符串型和日期时间型三大类 说明如下所示 数值类型 TINYINT 一个非常小的整数 占1字节 如果是有符号 范围是 128 127
  • MFC窗口销毁过程

    MFC窗口销毁过程 考虑单窗口情况 假设自己通过new创建了一个窗口对象pWnd 然后pWnd gt Create 则销毁窗口的调用次序 1 手工调用pWnd gt DestroyWindow 2 DestroyWin
  • Elasticsearch实战-磁盘IO被打满

    背景 事情是这样的 一天下午4点42分左右 业务反馈我开发的服务在测试环境出现问题 返回资源数据是0 查日志发现是ES访问超时 相当于数据库挂了 持续了20多分钟自己恢复 咨询了ES团队 最终得到下面的答复 当前集群现状 1 当前集群数据I
  • python爬取研究生招生网招生信息

    import requests from bs4 import BeautifulSoup from pandas core frame import DataFrame import re import time class Gradua
  • Nginx惊群问题

    Nginx惊群问题 1 简介 简单来说 多线程 多进程 linux下线程进程也没有多大区别 等待同一个socket事件 当这个事件发生时 这些线程 进程被同时唤醒 就是惊群 可以想见 效率很低下 许多进程被内核重新调度唤醒 同时去响应这一个
  • 07.JavaWeb-Vue+elementUI

    1 Vue 功能替代JavaScript和jQuery 基于JavaScript实现的前端框架 1 1配置Vue 1 1 1引入vue库 方法一 通过cdn链接引入最新版本的vue 可能会慢些 方法二 将vue库下载到本地 通过相对路径引入
  • SpringFramework核心技术三:Spring的验证机制

    Spring验证 Spring 3引入了对其验证支持的几项增强 首先 现在完全支持JSR 303 Bean验证API 其次 当以编程方式使用时 Spring的DataBinder现在可以验证对象并绑定到它们 第三 Spring MVC现在支
  • 【已解决】容器镜像安装vim的踩坑之路

    一 背景 在部署 Elasticsearch 7 17 7 版本时 进入到改容器后 发现该镜像没有vi 同时使用apt也无法正常安装 于是百度找解决方案 一步一坑 最后完美解决 二 解决 首先进入镜像中 docker exec it es
  • springboot+mysql物流车辆管理系统-计算机设计源码84722

    摘要 由于数据库和数据仓库技术的快速发展 物流车辆管理系统建设越来越向模块化 智能化 自我服务和管理科学化的方向发展 物流车辆管理系统对处理对象和服务对象 自身的系统结构 处理能力 都将适应技术发展的要求发生重大的变化 物流车辆管理系统除了
  • 基于深度学习的智慧城市火灾检测方法

    1 文章信息 本次介绍的文章是在2022年发表在Electronics的一篇文章 文章题目为 Fire Detection Method in Smart CityEnvironments Using a Deep Learning Bas