火焰相对面积估算方法的研究及实现

2024-02-27 12:17林晓燕邱天张昕吴建邦宁洪龙
电子设计工程 2024年3期
关键词:双目质心视图

林晓燕,邱天,张昕,吴建邦,宁洪龙

(1.五邑大学智能制造学部,广东江门 529020;2.华南理工大学材料科学与工程学院,广东广州 510640)

随着摄像头的广泛部署,利用图像进行火灾识别已成为一个重要的研究方向[1]。将双目视觉与视频图像处理相结合,是目前对火焰进行感知及定位常用的研究方法[2]。

虽然目前基于图像方法对火灾进行定位的研究已取得一定的成果,但是大部分研究存在定位误差较大且不涉及对火势大小估算等不足[3]。为配合自动灭火装置的喷水定位,提出利用双目相机估算火焰相对面积的方法,为更好地判断火情大小奠定基础。

1 系统整体框架

该研究的主要任务为检测室内环境是否存在火源并根据火焰区域深度估算火焰相对面积。为提高检测和测距速度,该文结合YOLOv5s 和双目视觉构建一个火焰定位及相对面积估算系统,图1 为该系统整体框架图[4]。

图1 系统整体框架图

首先获取双目相机的内外参,之后利用双目摄像头获取双目图像并对图像进行校正[5]。其次采用YOLOv5s 算法对火焰目标进行检测,获得图像中火焰的区域。接着利用左右视图的火焰区域灰度质心点,依据双目视差原理计算得到火焰的深度。最后通过图像处理计算出火焰像素面积占比,再根据火焰深度及火焰像素占比估算出火焰相对面积。

2 YOLOv5s目标检测

YOLO(You Only Look Once)是一个经典的endto-end 目标检测网络系列,为解决CNN 对目标检测速度慢且精度不高的问题提出的[6]。YOLOv4 将近些年比较火的方法加入得到YOLO 中,如mish 激活函数等,从而提高了识别精度和速度[7]。YOLOv5是在YOLOv4 的基础上进行改进的,其对比YOLOv4具有更加简洁的网络结构,其网络结构图如图2所示。

图2 YOLOv5s网络结构简图

YOLOv5 网络主要包括四个部分,分别为输入层、特征提取网络、特征融合网络和预测网络[8-9]。YOLOv5 沿用了YOLOv4 多种增强技术的组合,在增加缩放,色彩空间调整和马赛克增强这三种数据增强的同时,也对自适应锚定框进行改进[10]。另外,YOLOv5 包含四个大小不同的版本,其中,YOLOv5s是YOLOv5 系列中模型最小且推理速度快的网络[11],有利于部署到移动设备上,由此该设计选用YOLOv5s 进行实验。

3 双目校正及测距原理

3.1 双目校正原理

在双目测距过程中,通常采用极线约束方法进行对应点匹配,即将左右视图的匹配对应点从二维搜索降为一维搜索,减少计算量[12]。

双目校正是通过标定相机来获得相机内外参数,在对图像进行失真校正的同时利用极线约束对相机进行双目立体校正,使得相机左右视图的成像原点坐标一致、对极线行对齐,即世界坐标系中的任一点在相机左右视图中保持行坐标一致,由此矫正为理想的双目系统[13]。而像素坐标系与世界坐标系之间相互转换的过程称为重投影过程[14]。

3.2 双目测距算法

设P(Xw,Yw,Zw)为世界坐标系中的任意一点,以左摄像头为基准的情况下,xl和xr表示左右成像点到图像平面最左侧的垂直距离,并且理想情况下,yl=yr。B为左右相机光心Ol和Or之间的距离,也称为基线。f为相机焦距,Z为P点与左相机之间的距离,也称为物距。由相似三角形的原理可知:

理论上深度Z的计算公式如下:

视差d=xl-xr,其为P点在左右成像平面中成像点Pleft(xl,yl)和Pright(xr,yr)的y轴对应关系。通过式(2)可知视差d是双目相机中求解深度的核心问题。

4 实验过程及结果

4.1 火焰识别结果

以深度和宽度分别为0.33 和0.5 的YOLOv5s 网络为基础,对2 000 张(共包含2 500 个火焰)图片进行模型训练。图3 为模型的检测结果图,为评估训练所得模型的检测效果,选取平均精度均值(mAP_0.5)、查准率、召回率为网络学习的评价指标[15]。其中模型的查准率为80.68%,召回率为65.19%,mAP_0.5 为66.98%。从训练结果可看出,该模型查准率较高、召回率和mAP_0.5 较低,实现了收敛。

图3 检测结果

4.2 相机标定

该实验使用HBV-1780 双目摄像头,根据张正友棋盘标定法,用双目摄像头模组拍摄20 组不同姿态及位置的30 mm×30 mm 方形棋盘格图片(大小为640×480),之后用Matlab 对这20 组图片进行处理。

Matlab 是以左相机坐标系为参考坐标系,右相机坐标系对左相机坐标系进行相对变换,从而得到双目摄像头的内外参[16]。采用该方法标定完相机后可得到以下参数:

其中,Ml、Mr、Dl、Dr、R和T分别为左右摄像头的内部参数、畸变参数、旋转矩阵和平移矩阵。

4.3 火焰图像处理

摄像头识别到火焰后,截取目标检测框并对目标检测框内的图像进行图像处理操作。分别尝试采用分水岭、K-means 算法、二值化、Canny 边缘检测算法进行实验,分别对200 张火焰图像进行处理,取其中部分实验效果图为例。不同实验左视图火焰图像处理结果如图4 所示。

图4 不同实验左视图火焰图像处理结果

从图4 可以看出,基于分水岭算法和K-means算法都能有效地将火焰分割出来,但同时也会将大部分的光晕包含在内,检测效果不佳;Canny 边缘检测虽然能准确检测出火焰的边缘,但是在火焰边缘的光晕区域容易出现干扰或无法形成一个连通区域;自适应中值二值化和自适应高斯二值化虽然能将火焰边缘大致绘制出来,但是出现很多断点区域,无法形成连通的火焰边缘;另外,RGB 色彩空间只能检测出火焰光晕部分,且不连通;相比之下,基于YCbCr 色彩空间的火焰分割效果最好,不仅将火焰区域准确分割出来,并且只有小部分火焰光晕被包含在内,不影响面积计算结果。

通过对比,该实验最终选择YCbCr 进行实验,且实验效果对比如表1 所示。

表1 不同实验方法对火焰进行分割的效果对比

4.4 火焰深度估计

目标物体的深度估计是根据该物体在双目摄像头左右视图中的视差计算得到。一般情况下,计算深度需要得到左右视图的多组匹配特征点对。该文为提高计算速度,将左右视图的灰度质心作为对应的特征点对,以此估算火焰深度。

4.4.1 质心

在YOLOv5s 获得目标物体识别框的基础上,计算其质心。质心本身不作为判断物体的依据,仅是作为测距的坐标点。一张图像中的图像矩,也称为空间矩,其计算公式为:

式中,array(p,q) 表示像素在(p,q) 处的像素值,i和j为大于零的整数,其不同取值代表图像中的不同空间矩。在OpenCV 中,通常将图像二值化后找到图像的质心,即通过计算一阶矩可得到质心,公式如下:

图5 列出三种不同火焰形状的质心实验效果图,从图中可以看出无论检测框中火焰形状如何,该质心算法在检测框中找到的一对对应点始终落在火焰区域中。所以在原始图像中,目标物体的质心坐标为式(10)计算得出的质心坐标值加上目标检测框左上角的坐标值,即:

图5 不同形状火焰质心实验结果图

当得到左右相机图像中目标物体的质心坐标,相当于得到左右图像的一对对应点,可由此计算出目标物体的与双目相机之间的距离。

4.4.2 双目测距

将双目相机置于水平桌面上,通过USB2.0 数据线连接计算机完成双目环境的搭建。在4.4.1 节得到相机左右图像的一对对应点(质心)后,计算对应点列坐标的差值,即可得出视差。接着将质心坐标、视差和重投影矩阵代入式(1),进行归一化计算后即可得到目标物体与相机之间的距离。

实验结果如表2 所示,表中的实际距离D通过量尺测量得到。从表2 中可看出存在一定的误差,其可能的原因如下:火焰具有动态特性,会不断随机晃动,且左右视图的视差对应点不一定与实际测量距离的点为同一个点。

表2 目标物体测距结果

所以实际上测距的最大相对误差不超过10%,满足实际应用的要求。

4.5 火焰相对面积计算

当YOLOv5s 识别出火焰后,计算目标检测框的总像素点个数PixA,同时对火焰图像进行二值化操作,并计算出二值化图像中白色像素点的总个数PixW,即火焰像素个数。则目标检测框中火焰部分占整个目标检测框图像的比例ratio 计算公式为:

由前文计算出火焰与相机之间的距离Z和目标检测框左上角和右下角的像素坐标(Lx,Ly) 与(Rx,Ry),有:

根据双目相机理想模型推理可知:

其中,Dx、Dy和DX、DY分别为像素坐标系下以及世界坐标系下目标检测框的长和宽,所以目标检测框在世界坐标系中的面积S为:

通过计算可得到火焰的实际相对面积Sflame:

火焰提取及质心图如图6 所示,通过YOLOv5s检测双目相机是否存在火焰,若存在则对左相机视图的火焰区域求取火焰相对面积,同时对左右相机视图的火焰区域求取灰度质心,从而计算出火焰与相机之间的距离,最后通过式(16)估算出火焰的相对面积。

图6 火焰提取及质心图

火焰相对面积估算结果如表3 所示,其中实际距离D与目标检测框测量面积S′为手动测量的数据。以序号1 的实验为例,当测量到火焰距离左相机的距离为247.37 mm 时,实际测量的目标检测框面积为3 750 mm2,而计算得到左视图中火焰的目标检测框面积为4 303.37 mm2,比实际面积大15%。其中火焰面积占目标检测框计算面积的34.31%,由此可求出火焰相对面积为1 476.49 mm2。实验结果表明,该文算法可以有效地检测火焰,且通过估算火焰相对面积可以有效地判断火情大小。

表3 火焰相对面积计算结果

5 结论

该文提出一种基于双目相机和YOLOv5s 的火焰面积估算方法。通过YOLOv5s 检测是否存在火焰,若存在,则对左右相机视图的火焰区域求取灰度质心得到火焰与相机之间的距离。同时求出目标识别框的大小,再通过火焰像素点占比求出火焰的相对面积。经实验,该文提出的方法能准确提取图像中的火焰区域,且可以较为准确地估算火焰相对面积,估算平均误差为12.2%。该实验为室内火灾实时检测及灭火技术的发展提供一定思路的同时,也能为户外火势评估提供参考。

猜你喜欢
双目质心视图
重型半挂汽车质量与质心位置估计
基于GNSS测量的天宫二号质心确定
基于双目测距的卡尔曼滤波船舶轨迹跟踪
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
基于双目视觉图像的长度测量方法
一种海洋测高卫星质心在轨估计算法
基于双目视觉的接触线几何参数测量方法