发明名称 一种基于无人机的火灾监测预警方法
摘要 一种基于无人机的火灾监测预警方法,利用搭载了数字相机和GPS接收机的无人机巡回监测和拍摄图像,记录拍摄图像以及拍摄时的GPS位置和拍摄姿态,并实时传回地面站;地面站对接收的图像进行扫描,识别潜在火点(栅格)和已燃火点(栅格),得到精确的火场位置及范围;地面站基于连续拍摄的航片计算相邻时刻的多个火场范围边界和重心,得出离火场重心最远的点即为火头点,通过对火头点位置变化的分析,判断火灾蔓延的方向,并计算出火灾蔓延的速度与加速度。本方法具有机上搭载设备的图像处理能力要求低、无人机荷载轻、续航巡检时间长、设备丢失或损坏的风险低,能自动提取火带蔓延的方向和自动计算火带蔓延的速度与加速度,实用性强等优点。
申请公布号 CN102819926B 申请公布日期 2015.04.29
申请号 CN201210306683.4 申请日期 2012.08.24
申请人 华南农业大学 发明人 包世泰;王建芳;石俊卫
分类号 G08B17/00(2006.01)I;G08B25/00(2006.01)I 主分类号 G08B17/00(2006.01)I
代理机构 广州市华学知识产权代理有限公司 44245 代理人 杨晓松
主权项 一种基于无人机的火灾监测预警方法,其特征在于,包括以下步骤:步骤1、无人机进行巡回监测和拍摄图像,并实时记录拍摄图像时所对应的无人机拍摄位置和拍摄姿态,所述无人机上搭载有设备;步骤2、无人机将步骤1中所述的图像以及无人机的位置和拍摄姿态传回地面站;地面站对无人机传回的图像进行扫描,并比较栅格值与设定的阀值的大小,如果栅格值小于设定的阀值,表示无火点,则不予处理,如果栅格值大于设定的阀值,表示存在潜在火点或已燃火点,则记录相应栅格的行列号,运行下一步骤;步骤3、地面站利用拍摄参数对图像进行几何校正,根据校正后的图像坐标原点和图像分辨率,结合潜在火点或已燃火点的行列号,计算出潜在火点或已燃火点所在的精确坐标,如果图像中存在潜在火点,则发布火灾预警信息;如果存在已燃火点,则运行下一步骤;步骤4、计算出火场边界上离火场重心最远的点,所述最远的点为火头点,所述火头点的提取采用直接栅格法或栅格转矢量法;步骤5、地面站依据无人机传回的连续拍摄的图像,计算相邻拍摄时刻的图像的火头点位置变化,判断火带蔓延方向,并计算火带蔓延的速度和加速度;其中,利用所述栅格转矢量法提取火头点,包括以下步骤:4‑1、提取火场边界:对校正后的图像逐行进行扫描、识别,基于栅格计算提取出该行中单元温度的最大值和最小值,根据相邻栅格温差最大即为火灾蔓延的边界,得到火场边界,也即火线的位置;4‑2、火场边界线简化:火场边界线需要简化以方便下一步计算,这里采用Douglas‑Peucker算法来对火场这一矢量多边形进行简化;该算法具体步骤如下:①取多边形横坐标值最大和最小的两个点,连成一条直线AB;②求出多边形中AB左侧的点中距离AB最远的点C,计算其与AB的距离d;③比较该距离与预先给定的阀值的大小,如果小于阀值,则AB作为折线的近似,该段处理完毕;④如果距离大于阀值,则用C将矢量线分为两段AC和BC,并分别对两段进行②③步的处理;⑤当AB左侧的所有点都处理完毕后,对AB右侧执行同样的操作;⑥将剩下的点依次连接起来,即为简化后的多边形;4‑3、计算简化后火场的重心:假设火灾是向外等速扩散的,则火场为匀质分布的凸多边形,其重心G的计算公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mrow><mo>(</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000582673940000021.GIF" wi="646" he="246" /></maths>4‑4、提取火头点位置:火带蔓延往往在某一个方向上的速度最快,因此火场形成的多边形在这个方向最凸,该方向上的火头离火场多边形重心的距离也最远,因此,求出火场边界多边形上到重心G距离最大的点即为火头点,如果火场边界上各点到重心的距离都在一个容差范围内,则说明火灾向各个方向是均匀蔓延的;采用所述直接栅格法直接计算提取火头点,包括以下步骤:(4‑1)直接计算火灾区域的重心,无须转化为矢量多边形求解重心,火灾区域的重心采用所在栅格的行列号(ROWg,COLg)表示,计算公式如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>ROWg</mi><mo>=</mo><mo>[</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>Cols</mi></munderover><msub><mover><mi>Row</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mo>*</mo><msub><mi>Rows</mi><mi>i</mi></msub></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>Cols</mi></munderover><msub><mi>Rows</mi><mi>i</mi></msub></mrow></mfrac><mo>]</mo><mo>,</mo><mi>COLg</mi><mo>=</mo><mo>[</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>Rows</mi></munderover><msub><mover><mi>Col</mi><mo>&OverBar;</mo></mover><mi>j</mi></msub><mo>*</mo><msub><mi>Cols</mi><mi>j</mi></msub></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>Rows</mi></munderover><msub><mi>Cols</mi><mi>j</mi></msub></mrow></mfrac><mo>]</mo><mo>,</mo></mrow>]]></math><img file="FDA0000582673940000022.GIF" wi="1912" he="443" /></maths>Cols为火灾燃烧区域的栅格总列数,Rows为火灾燃烧区域的栅格总行数,Rows<sub>i</sub>为每一列已燃栅格的个数,Cols<sub>j</sub>为每一行已燃栅格的个数,<img file="FDA0000582673940000023.GIF" wi="160" he="100" />为逐列重心即当前列已燃栅格上下居中的行号,若当前列的栅格数为偶数时,行号取上下居中的两个相邻栅格行号之和的一半,<img file="FDA0000582673940000024.GIF" wi="146" he="100" />为逐行重心即当前行已燃栅格左右居中的列号,若当前行的栅格数为偶数时,列号取左右居中的两个相邻栅格列号之和的一半,符号[]表示最后的行号、列号取值要四舍五入取整;(4‑2)提取火头点位置:火带蔓延往往在火头方向上的速度最快,火头离火场重心的距离也最远,因此,求出火灾燃烧区域到重心G距离最大的栅格即为火头点,为了提高计算速度,可首先筛选行号或列号最大、行号或列号最小的栅格作为候选点Fi,逐一计算候选点与重心G的距离,d<sup>2</sup>=(Fi行号‑G行号)<sup>2</sup>+(Fi列号‑G列号)<sup>2</sup>最大的点即为火头点;如果候选各点到重心的距离都在一个容差范围内,则说明火灾向各个方向是均匀蔓延的;所述判断火带蔓延方向,并计算火带蔓延的速度和加速度的方法为:利用连续拍摄的三张图像分析火头点的位置变化,判断出火头的蔓延方向,计算出火带蔓延的动态信息,包括火带蔓延的速度和蔓延加速度;取相邻时刻三个火头点的向量为火头的蔓延方向,暂且把火带蔓延方向上的运动看做匀加速直线运动,通过公式:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>s</mi><mo>=</mo><msub><mi>v</mi><mn>0</mn></msub><mi>t</mi><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>a</mi><msup><mi>t</mi><mn>2</mn></msup></mrow>]]></math><img file="FDA0000582673940000031.GIF" wi="411" he="171" /></maths>建立方程组:<maths num="0004" id="cmaths0004"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>s</mi><mn>1</mn></msub><mo>=</mo><msub><mi>v</mi><mn>0</mn></msub><msub><mi>t</mi><mn>1</mn></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>a</mi><msup><msub><mi>t</mi><mn>1</mn></msub><mn>2</mn></msup></mtd></mtr><mtr><mtd><msub><mi>s</mi><mn>2</mn></msub><mo>=</mo><msub><mi>v</mi><mn>0</mn></msub><msub><mi>t</mi><mn>2</mn></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><msub><mi>at</mi><mn>2</mn></msub><mn>2</mn></msup></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000582673940000032.GIF" wi="1067" he="390" /></maths>式中,S<sub>1</sub>为第一张图像中火头点与第二张图像中火头点之间的距离,S<sub>2</sub>为第二张图像中火头点和第三张图像中火头点之间的距离,t<sub>1</sub>和t<sub>2</sub>分别为拍摄第二张图像和第三张图像时的时间与拍摄第一张图像时的时间的时间差;通过解方程组,计算出拍摄第一张图像时火带蔓延的速度v<sub>0</sub>和加速度a;或者为:利用连续拍摄的三张图像分析火头点的位置变化,判断出火头的蔓延方向,计算出火带蔓延的动态信息,包括火带蔓延的速度和蔓延加速度;取相邻时刻三个火头点行列位置H1(Row1,Col1)、H2(Row2,Col2)和H3(Row3,Col3),根据蔓延方向,可直接采用相对位移找到向量终点行列位置为H4(Row3+Row2‑Row1,Col3+Col2‑Col1),通过比较H4与H1的行列号大小自动判断计算蔓延方向与具体角度:<img file="FDA0000582673940000033.GIF" wi="1840" he="349" />角度<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>&theta;</mi><mo>=</mo><mi>arctg</mi><mfrac><mrow><mi>Row</mi><mn>3</mn><mo>+</mo><mi>Row</mi><mn>2</mn><mo>-</mo><mn>2</mn><mi>Row</mi><mn>1</mn></mrow><mrow><mi>Col</mi><mn>3</mn><mo>+</mo><mi>Col</mi><mn>2</mn><mo>-</mo><mn>2</mn><mi>Col</mi><mn>1</mn></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000582673940000034.GIF" wi="908" he="150" /></maths>若把火带蔓延方向上的运动看做匀加速直线运动,通过公式<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>s</mi><mo>=</mo><msub><mi>v</mi><mn>0</mn></msub><mi>t</mi><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>a</mi><msup><mi>t</mi><mn>2</mn></msup></mrow>]]></math><img file="FDA0000582673940000041.GIF" wi="455" he="154" /></maths>建立方程组:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msqrt><msup><mrow><mo>(</mo><mi>Row</mi><mn>2</mn><mo>-</mo><mi>Row</mi><mn>1</mn><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>Col</mi><mn>2</mn><mo>-</mo><mi>Col</mi><mn>1</mn><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>*</mo><mi>PixSize</mi><mo>=</mo><msub><mi>v</mi><mn>0</mn></msub><msub><mi>t</mi><mn>1</mn></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><msub><mi>at</mi><mn>1</mn></msub><mn>2</mn></msup></mtd></mtr><mtr><mtd><msqrt><msup><mrow><mo>(</mo><mi>Row</mi><mn>2</mn><mo>-</mo><mi>Row</mi><mn>3</mn><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>Col</mi><mn>2</mn><mo>-</mo><mi>Col</mi><mn>3</mn><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>*</mo><mi>PixSize</mi><mo>=</mo><msub><mi>v</mi><mn>0</mn></msub><msub><mi>t</mi><mn>2</mn></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><msub><mi>at</mi><mn>2</mn></msub><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000582673940000042.GIF" wi="1383" he="291" /></maths>式中,pixSize为栅格的地面分辨率,t<sub>1</sub>和t<sub>2</sub>分别为拍摄第二张图像和第三张图像时的时间与拍摄第一张图像时的时间的时间差;通过解方程组,计算出拍摄第一张图像时火带蔓延的速度v<sub>0</sub>和加速度a。
地址 510642 广东省广州市天河区五山路483号