The invention relates to the field of video processing and fire detection and specifically an algorithm is described that allows the detection of a flame from a digitised video data stream. A system for video flame detection is described.
The use of video camera and digital video processing techniques for determining and detecting features from the image are well known in the art. The inventors have previously disclosed in PCT Application GB99/03459 a system for detecting smoke in the image. These systems are used as another sensor input for a fire alarm system. Flame is a further component in combustion and it is possible to have a fire event that produces no smoke. An algorithm that detects the presence of flame within a video image provides a further input into the fire detection process.
According to the present invention there is provided an algorithm that extracts features from a video data stream and is able to detect the presence of flame within the video data stream.
According to a further aspect of the invention there is provided a system for providing an alarm indicating the presence of flame within a scene that is observed by a video camera.
Embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which:
The flame detection system shown in
The algorithm comprises a series of steps labelled S1 to S7 in the flow chart shown in
In step 1, the video image entered into the algorithm is in the form of a monochrome 640×480 image where each image pixel has an intensity value of 8 bits resolution. The algorithm processes each pixel individually, using linear mathematical operations.
In step 2, the monochrome 640×480 8 bit image is used to generate two separate averaged 640×480 8 bit resolution images which filter out rapidly occurring events, one with filter sets at 1.25 Hz and the other with a filter set at 4.0 Hz. The absolute difference between the pixel values of these two images is then taken to obtain a movement band 640×480 8 bit image, which displays entities that are moving in the image within the frequency band between 1.25 Hz and 4.0 Hz. This frequency band corresponds with the range of movement frequencies exhibited by petrol flames observed empirically by the inventors.
In the first averaged image, a dimensionless time constant k1, is used to generate a 640×480 resolution 8 bit image that filters out events that occur more rapidly than 4 Hz.
k1 is calculated using the following relationship:
k1=1/(4 Hz×time in seconds between successive frames)
In the second averaged image, a dimenisonless time constant k2, is used to generate a 640×480 resolution 8 bit image that filters out events that occur more rapidly than 1.25 Hz.
k2 is calculated in the following relationship:
k2=1/(1.25 Hz×time in seconds between successive frames)
k2 is then used to generate an image that filters out events that occur at higher frequencies than 1.25 Hz in the following manner.
pM2=k2×(live pixel image value)+(1−k2)×(value of pM2 from previous frame)
where pN2 is a rolling average with a starting value of zero. Each pixel in the 640×480 image ha a corresponding value of pM2 which can be used to make up the averaged image.
Once the two 640×480 time filtered images with pixel values equal to pM1 and pM2 have been generated a so-called movement band 640×480 resolution image is generated by taking each of the pixels of these averaged images and calculating the absolute difference between pM1 and pM2 by finding the magnitude of the difference between each of the individual pixels obtained by subtracting pM1 from pM2. In this manner, a 640×480 image is obtained which only displays events that occur in the frequency band between 1.25 Hz and 4 Hz. Each pixel of the movement band image has an 8 bit resolution.
In step 3, once an image has been filtered using the movement band, the filtered image has a threshold applied to create a map of significant movement in the characteristic frequency band defined by k1 and k2. The study of the temporal dynamics of these highlighted pixels is used to decide whether or not flames are present in the video image. The best value for this threshold, based on the observation of outdoor petrol flames is equal to value of 5% of the dynamic range of values in the 640×480 8 bit movement band image, is r1=13, rounded up to the nearer whole number. In the application written in LabView™, the user of the system can set this value to an arbitrary value between 0 and 255 using the graphical user interface provided by LabView™. If a pixel value of the movement band image is greater than the threshold value, it is entered as 1 into the threshold map. If a pixel value of the movement band image is lower than the threshold value it is entered as 0 into the threshold map. The threshold map is a Boolean image of 640×480 pixels where non-threshold pixels have a value of zero, and thresholded pixels have a value of one.
In step 4, the “awareness map” is a subset of the “threshold map”. In order to generate the awareness map, each pixel in the threshold map defined in step 3 has an awareness level, which is an indication of the likelihood of a flame existing within that particulate pixel. If the awareness level, increases above a user-defined threshold defined as the integer r2 (nominal value of 40), then the threshold pixel is registered with binary value 1, into the awareness map.
The “awareness map” is a 640×480 Boolean image. An integer defined as the awareness level is generated for each of the pixels in the “awareness map”. The value of the awareness level is calculated by comparing successive frames of the “awareness map”. When the program begins, the value of the awareness level for each of the pixels is equal to zero.
If a pixel in the awareness map changes from 1 to 0 or changes from 0 to 1 between successive video frames, then 2 is added to the value of the awareness level for that pixel. If a pixel in the awareness map does not change (i.e. stays at 0 or stays at 1) between successive frames, then 1 is subtracted from the awareness level. The minimum value of the awareness level is zero i.e. if the awareness level becomes negative it is immediately set to zero.
This means that flickering movements within the frequency band defined by k1 and k2 will cause a rapid increase in the awareness level for each individual pixel. These flickering movements have been observed by the inventors to be characteristic of flame.
In step 5, a number of parameters are calculated so that the algorithm can decide whether a flame is present in the video images that are being processed. These parameters may be plotted in a moving graph or used to determine a confidence of a flame detection event. The Plot0 parameter is a constant equal to an integer called the Alarm Level, user defined with a default value of 20. A flame is registered in the system when the Plot2 parameter described below exceeds the Alarm Level, which has a nominal value of 20. Low values of Alarm Level mean that the system is fast to react to possible flames in the picture, but is susceptible to false alarm events. High values of Alarm Level mean that the system is insensitive to false alarm events, but is slow to react to possible flames in the picture.
The Plot1 and Plot2 parameters are calculated in the following manner by scanning horizontally across the “awareness map”. As the scan is performed from left to right across each horizontal line of the “awareness map” the value of adjacent pixels are compared and a value is entered into an edge contour that starts at a value of zero. If adjacent pixels are equal to one another than nothing is added to the edge counter. If adjacent pixels are not equal to one another then 1 is added to the edge counter. At the same time, the total number of pixels with binary value 1 is counted and added into a pixel counter. This operation is performed for each of the 480 lines of the image (from top to bottom) and the values for the edge counter and the pixel counter are summed. At the end of this procedure two integers have been calculated. These are:
Edgesum=Sum of horizontal edge transitions in awareness map as described.
Pixelsum=Total number of pixel with binary value 1 in the awareness map as described above.
In parallel with this the coordinates of the pixels with binary value 1 are noted. A region of interest is defined by noting the following quantities:
The area of the region of interest is defined as:
ROIarea=(x2−x1)×(y2−y1)
The Plot1 parameter is calculated as follows:
Plot1=(Pixelsum=Edgesum)/ROIarea
This is a measure of the sparseness of the flicker in the image, and can be used to discriminate between treelike objects and more densely packed flame like objects. If Plot1 is less than zero then the image is sparse and if Plot1 is greater than zero the image is dense.
The Plot2 parameter is calculated as follows:
Plot2=Pixelsum/ROIarea
In step 6, prior to performing the final flame decision, the “plot” parameters described above are smoothed using a user defined dimenisonless time constant k3 with a time constant of 8.0 seconds. k3 is calculated in the following manner:
k3=8.0 s/(time in seconds between successive frames)
k3 is applied between successive values of Plot1 and Plot2 obtained from successive video images using the same filtering techniques as used by k1 and k2 described in a previous part of the document. This reduces the noise level in the plotted parameters and reduces the false alarm rate. The decision whether a flame is occurring within the video image has two operator selectable modes: normal mode and tree filter mode. When it has been determined that a flame is occurring in the picture, an alarm is set off to indicate the presence of a flame threat.
Normal flame decision mode is employed when no treelike objects are in the picture. In this mode, Plot1 is ignored. Here, an alarm is triggered when the Plot2 parameter is greater than the user defined Plot0 parameter.
In tree filter mode, it was found that the flicker movement detected by the algorithm was sparsely distributed for a treelike object and densely distributed for a fire. A positive value of Plot1 indicates a densely packed arrangement of flickering pixels i.e. a flame, and a negative value of Plot1 indicates a sparsely packed arrangement of flickering pixels i.e. leaves on a tree moving in the wind. The alarm for a flame with the tree filter on only occurs when Plot2 is greater than the Plot0 AND Plot1 is greater than zero.
The inventors have found that inclusion of the tree filter increases the selectivity of the system, but also increases the amount of time required to reach a decision on whether a flame is present in the picture.
The algorithm described above has been optimised by empirical methods and the constants determining the function of the algorithm may be chosen to achieve optimum results within the scene environment.
Further it can be seen that systems comprising colour video images, or with differing pixel resolutions may be processed by such algorithms. Extensions to the algorithms above will be obvious to those experienced in the art.
The techniques and man-machine interface described in the applicants smoke detection system described in PCT application GB99/03459 can be applied to the flame detection system described above.
Number | Date | Country | Kind |
---|---|---|---|
9922761 | Sep 1999 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB00/03717 | 9/27/2000 | WO | 00 | 9/3/2002 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO01/24131 | 4/5/2001 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5153722 | Goedeke et al. | Oct 1992 | A |
5510772 | Lasenby | Apr 1996 | A |
5937077 | Chan et al. | Aug 1999 | A |
6278374 | Ganeshan | Aug 2001 | B1 |
6373393 | Matsukuma et al. | Apr 2002 | B1 |
Number | Date | Country |
---|---|---|
0583131 | Feb 1994 | EP |