基于OpenCV的火灾视频识别方法

点赞:5969 浏览:21371 近期更新时间:2024-04-21 作者:网友分享原创网站原创

摘 要为了提高火灾自动报警系统的及时性和准确性,以促进灭火效率减少火灾事故损失,提出了一种基于开源跨平台计算机视觉库OpenCV的火灾视频识别方法,并阐述了OpenCV的特点及结构.对火焰的图像特征进行了分析,介绍了基于OpenCV的火焰图像简单检测性能.采用OpenCV对火焰图像进行了灰度处理、二值化处理、边缘检测,验证了采用OpenCV对火焰图像基础处理的可靠性.

关 键 词火焰;视频识别;OpenCV;自动报警

中图分类号X959文献标识码A文章编号1674-6708(2012)79-0206-02

0引言

火灾是人类不容忽视的最严重灾难之一.通常情况下,火灾探测技术如感烟探测器、感温探测器等主要是基于传感器检测技术设计的.但在大空间场所受其跨度大、空间高的特点影响,对火灾初期产生的热量和烟雾触发报警器造成很大难度.随着安防监控科技的不断发展,火灾的视频探测成为可能,并且该技术能有效克服传统探测技术在高大空间等场合灵敏度下降的缺点,具有响应快,探测及时,信息丰富直观的优点.

1火灾视频探测技术

火灾视频识别即通过计算机硬件或数码感光元器件对火灾发生前期的火焰等视频进行图像采集和预处理,并由计算机终端通过模式识别的方法判断监控画面中是否存在火焰或者烟气等与火灾相关的事物.基于图像处理的火灾监控方法利用了火灾刚刚发生的短时间内火焰或烟气的图像在颜色、形状、位置、面积等随时间变化的特性,从含有背景噪音的图像序列中正确识别相关信息,达到火灾监测的目的.

图1中描述了火灾视频识别系统的硬件组成,首先通过图像收录设备摄像机B对监控现场A进行图像采集,然后通过图像采集卡C获取视频图像信息并将其进行存储,将图像信息传输给计算机D,计算机系统主要通过计算机软件对图像信息进行处理、识别,判断图像信息是否属于火灾,如果属于火灾,报警器E则会进行报警提示.

2VC++6.0和OpenCV简介

VC++6.0即VisualC++Microsoft公司开发的一种具有高度综合性能的软件开发工具.用它开发出的程序具有运行速度快、可移值能力强等优点,在对数字图象进行处理时经常是采用VisuaC++进行编程.

开放源代码的计算机视觉类库OpenCV(IntelOpenSourceComputerVisionLibrary)由英特尔公司开发,它是一套可免费获得的由一些C函数和C++类所组成的库,用来实现一些常用的图像处理及计算机视觉算法.采用OpenCV实现火灾视频识别可以很好的体现OpenCV运行速度快、稳定、跨平台、接口灵活、交互性强、易于产品化等特点.针对火灾的图像处理的如图像分割、特征提取、图像滤波、图像识别等技术及其相应算法目前也较成熟.


3基于OpenCV的火灾视频识别系统

如图2为基于OpenCV的火灾视频识别系统框图,分为火焰图像获取系统、图像识别系统、火灾报警联动系统.火焰图像获取系统主要通过摄像机的光敏器件CCD,将外界影像的光信号转变为数字图像信号.然后,进入主要由计算机软件组成的图像识别系统进行图像采集、预处理、特征提取及图像识别.图像预处理即过程采用中值滤波方法抑制或消除噪声而改善图像质量的平滑过程.

4火灾火焰的图像特征分析

在火灾发生发展阶段,对火灾现场的视频识别主要是基于火焰图像的基本特性来实现的.火灾是一种失去控制的燃烧,初期火灾的火焰是从无到有是非固定的,不同发展阶段火焰的面积、形状、尖角、颜色、频闪等都存在一些视觉特征.

1)面积变化:早期火灾是着火后火灾不断发展的过程.在这个阶段,火灾火焰的面积呈现连续的、扩展性的增加趋势.在图像处理中,面积是通过取阈值后统计图像的亮点(灰度值大于阈值)数实现的.当其它高温物体向着摄像头移动或者从视野外移入时,探测到的目标面积也会逐渐增大,容易造成干扰.因此,面积判据需要配合其它图像特性使用;

2)边缘变化:早期火灾火焰的边缘变化有一定的规律,同其它的高温物体及稳定火焰的边缘变化不同.精确的方法是用边缘检测和边缘搜索算法将边缘提取出来,根据边缘的形状、曲率等特性对边缘进行编码,再根据编码提取边缘的特征量.利用这些特征量在早期火灾阶段的变化规律进行火灾判别;

3)形体变化:早期火灾火焰的形体变化反映了火焰在空间分布的变化.在早期火灾阶段,火焰的形状变化、空间取向变化、火焰的抖动以及火焰的分合等,具有自己独特的变化规律;

4)闪动规律:火焰的闪动规律,即亮度在空间的分布随时间变化的规律,火焰在燃烧过程中会按某种频率闪烁.在数字图像中就是灰度级直方图随时间的变化规律.

5视频序列的运动检测

视频监控场景中多数物体在固定摄像机下所采集的视频序列是静止的,但火焰呈现的则是运动特性.

视频监控中的运动检测就是在视频序列中不断发现并提取运动目标,实时跟踪它们并计算出其轨迹,为下一步特征分析等提供数据.

目前,目标检测和提取算法分为帧间差法、背景差法、高斯模型法及光流法等.

运用OpencCV函数对火焰图像进行灰度化处理,主要函数:gray等于cvCreateImag(cvGetSize(m_image),8,1);cvCvColor(m_image,gray,CV_BGR2GRAY)效果如图3.

进行二值化处理,加快处理速度并能将火焰与背景分开,主要函数:cvThreshold(gray,gray,0,255,CV_THRESH_OTSU)效果如图4.

运用canny算法进行边缘检测,突出纹理信息,主要函数:cvCanny(gray,edge,(float)edge_thresh,(float)edge_thresh*3,3)效果如图5.

6结论

通过对实验火焰视频图像的采集,运用OpenCV库函数对图像进行灰度化处理、二值化处理以及火焰的边缘检测,验证了OpenCV库函数在火焰图像预处理、特征提取及边缘检测上的可行性和准确性,为后期判定火焰的存在打下良好基础.