Applying machine learning to detector data
By applying machine learning to analyze detector data in fire protection systems, the need for maintenance can be predicted, ensuring timely intervention and maintaining system reliability.
Patent Information
- Application Number
- PCT/EP2024/071613
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-31
- Filing Date
- 2024-07-30
- Publication Date
- 2025-02-06
AI Technical Summary
Fire detection systems face challenges in predicting when maintenance is required for detectors, leading to potential system failures and reduced reliability.
The application of machine learning algorithms to analyze data from detectors in fire protection systems, identifying trends and determining the need for maintenance based on changes in data patterns.
This approach enables timely maintenance, maximizing system uptime and reliability by predicting when maintenance is required, thereby preventing detector failures and ensuring continuous operation of fire detection systems.
Smart Images

Figure EP2024071613_06022025_PF_FP_ABST
Abstract
Description
[0001] Applying machine learning to detector data
[0002] Field of Invention
[0003] The present disclosure relates to applying machine learning to data from detectors in fire protection systems. More specifically, the present disclosure relates to applying machine learning to estimate a time at which maintenance of a detector is reguired.
[0004] Backg round
[0005] All hardware, including fire detection systems, is inevitably subject to failure at some point during its lifecycle. Products like hard drives are often sold with a mean time to failure (MTTF) rating, which indicates their expected lifespan before failure. However, it may be desirable to obtain a more specific estimate of when a failure may occur.
[0006] Summary of Invention
[0007] The present invention uses machine learning algorithms to analyse data obtained from detectors in fire protection systems, e.g. fire detectors, smoke detectors and / or carbon monoxide detectors. Methods of the disclosure predict a time at which maintenance of one or more of the detectors is reguired, based on the analysis. This time may be a present time (i.e. maintenance of a detector is reguired immediately) or a future time (i.e. maintenance of a detector is going to be reguired). These methods ensure that the fire detection system receives timely maintenance, thereby maximizing system uptime and reliability.
[0008] According to an aspect of the invention, there is provided a method comprising : receiving data generated by one or more detectors; applying one or more machine learning algorithms to the data to identify one or more trends in the data, wherein applying the one or more machine learning algorithms to the data comprises: grouping the data into one or more clusters, and analysing the data in at least one of the one or more clusters to determine a rate of change of a distance of a data point from a centroid of the cluster, the data point being associated with a first detector of the one or more detectors; comparing the rate of change of the distance of the data point from the centroid of the cluster against a predetermined threshold; and determining, based on the rate of change of the distance of the data point from the centroid of the cluster exceeding the predetermined threshold, that maintenance of the first detector is reguired. The method may further comprise outputting a notification including the determined estimate of the time at which maintenance is required.
[0009] The machine learning algorithms may comprise one or more of: a support vector machine, a K-nearest neighbours algorithm and an autoencoder.
[0010] The data generated by the detectors may comprise multidimensional data.
[0011] The data generated by the detectors may comprise one or more of: obscuration data, temperature data, carbon monoxide data and time data.
[0012] The one or more detectors may comprise a plurality of detectors located at the same site. The plurality of detectors may include at least one first detector located in a first zone at the site and at least one second detector located in a second zone at the site.
[0013] The one or more detectors may comprise a plurality of detectors of the same type, or a plurality of detectors of different types.
[0014] The one or more detectors may comprise one or more of: smoke detectors; heat detectors; flame detectors and carbon monoxide detectors.
[0015] According to another aspect of the invention, there is provided a system comprising : one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive data generated by one or more detectors; apply one or more machine learning algorithms to the data to identify one or more trends in the data, wherein applying the one or more machine learning algorithms to the data comprises: grouping the data into one or more clusters, and analysing the data in at least one of the one or more clusters to determine a rate of change of a distance of a data point from a centroid of the cluster, the data point being associated with a first detector of the one or more detectors; compare the rate of change of the distance of the data point from the centroid of the cluster against a predetermined threshold; and determine, based on the rate of change of the distance of the data point from the centroid of the cluster exceeding the predetermined threshold, that maintenance of the first detector is required. According to another aspect of the invention, there is provided a computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to: receive data generated by one or more detectors; apply one or more machine learning algorithms to the data to identify one or more trends in the data, wherein applying the one or more machine learning algorithms to the data comprises: grouping the data into one or more clusters, and analysing the data in at least one of the one or more clusters to determine a rate of change of a distance of a data point from a centroid of the cluster, the data point being associated with a first detector of the one or more detectors; compare the rate of change of the distance of the data point from the centroid of the cluster against a predetermined threshold; and determine, based on the rate of change of the distance of the data point from the centroid of the cluster exceeding the predetermined threshold, that maintenance of the first detector is required.
[0016] Brief Description of the Drawings
[0017] The present disclosure will now be described by way of example only with reference to the accompanying drawings in which:
[0018] Figure 1 is a schematic diagram of a fire protection system;
[0019] Figure 2 is a diagram of an exemplary smoke detector;
[0020] Figure 3 is a block diagram of an exemplary computing device; and
[0021] Figure 4 is a flow diagram of an exemplary method.
[0022] Detailed Description
[0023] A fire detection system is designed to detect and alert occupants of a building to the presence of fire, smoke, or other hazardous conditions. Fire detection systems typically include a fire panel (also known as a fire alarm control panel) and various sensors which are strategically placed throughout the building.
[0024] The fire panel serves as the central control unit for the fire detection system. It continuously monitors information input from all connected sensors, processes the information, and determines the appropriate response based on pre-configured settings or algorithms. The panel is responsible for activating alarms, engaging suppression systems, and notifying emergency personnel if necessary.
[0025] Types of detectors in a fire detection system can include:
[0026] Smoke detectors: These sensors detect the presence of smoke particles in the air, which could indicate a fire. There are two main types of smoke detectors: ionization detectors and photoelectric detectors. Ionization detectors are more sensitive to fast-flaming fires, while photoelectric detectors are more responsive to slow, smouldering fires.
[0027] Heat detectors: These sensors monitor the ambient temperature or the rate of temperature increase in a given area. If the temperature surpasses a pre-defined threshold or rises rapidly, the heat detector sends a signal to the fire panel, which may trigger an alarm.
[0028] Flame detectors: These sensors utilize infrared detectors and / or ultraviolet detectors to detect the presence of flames. They are particularly useful in high-risk areas where fires could develop quickly, such as industrial settings or chemical storage facilities.
[0029] Carbon monoxide detectors: These sensors detect the presence of carbon monoxide, a toxic gas produced by incomplete combustion. They can help identify fires in their early stages, particularly in enclosed spaces where carbon monoxide may accumulate rapidly.
[0030] A fire detection system may constantly communicate with the fire panel, ensuring that any signs of fire or hazardous conditions are detected, analysed, and addressed promptly. This coordinated effort provides early warning and facilitates timely evacuation or intervention.
[0031] Fire detection systems may also include manual call points, which are strategically located throughout a building for occupants to trigger the alarm manually in case of a fire or emergency situation. These call points, also known as pull stations or break-glass stations, allow individuals to alert the fire panel directly, bypassing the need for sensor detection. Once activated, the call point sends a signal to the fire panel, which then initiates the appropriate response, such as activating alarms and alerting emergency personnel. The inclusion of manual call points in a fire detection system enhances overall safety and ensures occupants have a means to raise an alarm in case sensors fail to detect an emergency. Modern fire detection systems encompass a wide array of sensors, devices, and communication networks that work together to monitor environmental conditions and detect potential fire hazards in real-time. The proliferation of such fire detection systems has led to the generation of large amounts of data. As described herein, these data can be utilised to improve fire safety, enhance system performance, and enable proactive maintenance.
[0032] Data generated by fire detection systems include sensor readings, alarm statuses, historical trends, and device diagnostics. This information can provide valuable insights into the system's performance, potential risks, and areas for improvement. For instance, data from smoke and heat detectors can be analysed to identify patterns or anomalies that may indicate an emerging fire hazard or a malfunctioning device. Similarly, data from manual call points and alarm panels can be used to assess response times and overall system reliability.
[0033] By leveraging machine learning, the large amounts of data generated by fire detection systems can be transformed into actionable insights. These insights can be used to optimize system configurations, prioritize maintenance activities, and even predict the likelihood of fire events. Furthermore, data analysis can help identify trends and correlations that may not be apparent to human operators, enabling more informed decision-making and ultimately improving overall fire safety.
[0034] Additionally, integrating data from fire detection systems with other building management systems, such as HVAC or access control, can enable a more comprehensive approach to facility management and safety. This holistic approach allows building operators to coordinate responses to emergencies, minimize false alarms, and ensure efficient use of resources.
[0035] Figure 1 shows an example of a system 100 including a control panel 110 and one or more detectors 120 connected to the control panel 110. The detectors 120 may include, for example, smoke detectors, heat detectors, flame detectors and / or carbon monoxide detectors. Each of the detectors 120 may generate data and transmit the data to the control panel 110. In some cases, the data generated by the detectors 120 is multidimensional data, that is, more than one detector reading per data point.
[0036] The detectors 120 may be of different types, or may all be the same type. In the present case, the system 100 includes three smoke detectors 120-1, 120-2, 120-3. Each of the smoke detectors 120-1, 120-2, 120-3 may generate data (e.g. obscuration data) and transmit the data to the control panel 110. The control panel 110 can process the data received from the detectors 120 and, based on the result of processing the data, can send notifications to one or more notification devices 130. The notification devices 130 may include, for example, may include, for example, audible devices, visible devices, or any other on premise fire / safety alarm device configured for warning the occupants of an area in case of a detected safety event. Alternatively, or in addition, the notification devices 130 may further include personal devices such as personal computers, personal mobile devices, etc., that are configured for warning a user of the device in case of a detected safety event.
[0037] The control panel 110 may be connected to a logging device, which can receive the detector data that the control panel 110 has gathered from the various detectors 120. The logging device can process the detector data using machine learning algorithms to determine when maintenance (e.g. cleaning) of a particular detector 120 may be required. The logging device may have access to a sequence of historical data covering days, weeks and maybe even months. In the present example, the control panel 110 is connected to a personal computer 140 which acts as the logging device. Alternatively, or in addition, the control panel 110 may be connected to a cloud processing system 150 (e.g. via the internet) which can act as the logging device.
[0038] Detectors, such as smoke detectors 120-1, 120-2, 120-3, are often grouped in entities called "zones", which correspond to a specific area inside a building. Each zone is typically separated from other zones by one or more fire-rated doors, to stop the spread of smoke and fire up to a given time rate. The zones may therefore be important when considering the captured data which represents a sequence of readings over time. These data may be stored in a logging device (e.g. the personal computer 140). The logging device may analyse the data grouped by zones, and determine an increase in the level of obscuration by zone, i.e. the expectation is that detectors in certain zones will become less sensitive than detectors in other zones, given the increased presence of dust in the environment. There could be an overall larger presence of dust in the air, so that when considering the increase, all zones in the fire system should be looked at, and individual rates of increased obscuration should be compared relative to all zones.
[0039] Figure 2 shows an example of an optical smoke detector 200. The smoke detector 200 may be any of the detectors 120-1, 120-2, 120-3 shown in Figure 1.
[0040] The smoke detector 200 includes an optical transmitter 211 and am optical receiver 212. In the present case, the transmitter is an infrared transmitter 211, and the receiver 212 is an infrared detector. The smoke detector 200 further includes a labyrinth structure 213 which is arranged to create a controlled optical path for the radiation emitted by the transmitter 211. When smoke particles enter the labyrinth 213, they disrupt the optical path of the infrared radiation, causing a change in the detected signal at the receiver 212, which is indicative of the presence of smoke within the field of view of the detector 200. The labyrinth structure 213 may include reflective surfaces, absorptive surfaces, and / or refractive elements arranged to direct the infrared radiation along a predetermined path, allowing for the detection of objects with varying surface properties, low reflectivity, or partial obscurity. This unique configuration enhances the ability of the detector 200 to detect smoke particles by attenuating and modifying the infrared radiation before it reaches the receiver 213, thus overcoming the limitations of conventional optical detectors.
[0041] The presence of dust within the optical detector 200 leads to an increase in the level of obscuration, which may result in false alarms. Dust particles accumulate inside the labyrinth structure 213 and can alter the controlled optical path of the infrared radiation, similar to the disruption caused by smoke particles. As dust accumulates on the reflective surfaces, absorptive surfaces, and / or refractive elements, it affects the attenuation and modification of the infrared radiation, ultimately causing changes in the detected signal at the receiver 212. This change in the signal can be mistakenly interpreted as the presence of smoke, thereby triggering a false alarm.
[0042] The level of obscuration is, in the present case, the marker to raise an alarm. Obscuration caused by dust particles is expected to occur in certain environments such as warehouses and areas of increased presence of people, such as corridors, where the constant movement is likely to raise dust, which may reach and even settle inside the detector 200. Increased levels of obscuration caused by dust particles are therefore more likely to occur in certain environments. In large fire detection systems, where detectors are installed in different types of environments, holistic analysis may point to trends that relate to building contents, human presence and movement, and help identify which group of detectors are subject to increased levels of obscuration due to dust.
[0043] Figure 3 shows an example of a computing device 300. In the present example, the computing device is the personal computer 140 shown in Figure 1. In other examples, the computing device 300 may be or may include at least a portion of the control panel 110 or the cloud processing system 150 shown in Figure 1.
[0044] The computing device 300 includes a processor 302. The processor 302 may be a micro-controller, an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). Although in Figure 3 a single processor 302 is shown, in other examples the computing device 300 may include multiple processors or multi-core processors. Moreover, the processor 302 may be implemented as an integrated processing system and / or a distributed processing system.
[0045] The computing device 300 includes a memory 304. The memory 304 may store instructions which, when executed by the processor 302, can cause the processor 302 to perform any of the processing functions described herein. The memory 304 may store local versions of applications being executed by the processor 302, related instructions, parameters, etc. The memory 304 may include a type of memory usable by a computer, such as random access memory (RAM), read only memory (ROM), tapes, magnetic discs, optical discs, volatile memory, non-volatile memory, and any combination thereof. Additionally, the processor 302 and the memory 304 may include and execute an operating system executing on the processor 302, one or more applications, display drivers, etc., and / or other components of the computing device 300.
[0046] In the present example, the computing device 300 includes a communications component 306 that provides for establishing and maintaining communications with one or more other devices, parties, entities, etc. utilizing hardware, software, and services. The communications component 306 provides for communications between the computing device 300 and external devices, such as devices located across a communications network and / or devices serially or locally coupled with the computing device 300. In particular, the communications component 306 may provide for communication between the computing device 300 and a control panel, e.g. control panel 110. The communications component 306 may also allow for communications between components of the computing device 300. For example, the communications component 306 may include one or more buses, and may further include transmit chain components and receive chain components associated with a wireless or wired transmitter and receiver, respectively, operable for interfacing with external devices.
[0047] In the present example, the computing device 300 includes a data store 308, which can be any suitable combination of hardware and / or software that provides for mass storage of information, databases, and programs. For example, the data store 308 may be or may include a data repository for applications and / or related parameters not currently being executed by processor 302. In addition, the data store 308 may be a data repository for an operating system, application, display driver, etc., executing on the processor 302, and / or one or more other components of the computing device 300. The data store 308 may store detector data (e.g. multidimensional data) generated by one or more detectors. For example, the data store 308 may store detector data which has been received from a control panel. The data store 308 may store machine learning algorithms, such as self-supervised machine learning algorithms, which can be executed by the processor 302. Self-supervised machine learning is an emerging subfield within the broader scope of machine learning that focuses on algorithms capable of learning useful representations or patterns from data without the need for explicitly labelled examples. These algorithms are designed to leverage the inherent structure or context within the data to learn meaningful features, which can then be utilized for various tasks, such as classification, regression, or clustering. Self-supervised learning approaches are particularly attractive in scenarios where labelled data is scarce or expensive to obtain, as they can effectively exploit large amounts of unlabelled data. The machine learning algorithms may be trained and / or updated continuously or periodically.
[0048] Several types of machine learning algorithms can be adapted or used in a self-supervised learning context, including Support Vector Machines (SVMs), K-Nearest Neighbours (KNNs), and autoencoders. These algorithms, traditionally employed in supervised learning settings, can be applied to self-supervised tasks through specific modifications or by leveraging auxiliary tasks that help extract meaningful representations from the data.
[0049] Using SVMs may provide for simple computation processes. SVMs are known for their effectiveness in classification and regression tasks, and can be utilized in a self-supervised manner by employing a technique called "one-class SVMs". This approach allows the SVM to learn the underlying structure of the data by separating it from a fixed origin in the feature space, effectively capturing the data's distribution without requiring explicit labels.
[0050] KNNs are simple yet powerful non-parametric algorithms, which are used for classification and regression. KNNs can be adapted for self-supervised learning by employing unsupervised clustering or density estimation techniques. A KNN may be able to create an arbitrary number of clusters. By identifying natural groupings or patterns within the data, KNNs can learn meaningful representations that can be used for downstream tasks.
[0051] Other algorithms, such as autoencoders, are specifically designed for unsupervised or selfsupervised learning. Autoencoders learn to encode input data into a lower-dimensional representation and subsequently reconstruct the original data from the encoded form, effectively learning useful features without the need for labelled data. Autoencoders can learn representations of the data itself compared to clustering techniques that depend on specifying the correct distance measurements and features to group similar data points together.
[0052] The computing device 300 may also include a user interface component 310 operable to receive inputs from a user of the computing device 300 and further operable to generate outputs for presentation to the user (e.g., via a display interface to a display device). The user interface component 310 may include one or more input devices, including but not limited to a keyboard, a number pad, a mouse, a touch-sensitive display, a navigation key, a function key, a microphone, a voice recognition component, or any other mechanism capable of receiving an input from a user, or any combination thereof. Further, the user interface component 310 may include one or more output devices, including but not limited to a display, a speaker, a haptic feedback mechanism, a printer, any other mechanism capable of presenting an output to a user, or any combination thereof.
[0053] Figure 4 shows an example of a method according to the present disclosure. The method may be executed by the computing device shown in Figure 3.
[0054] The method includes receiving, from one or more detectors, data generated by the one or more detectors (S401).
[0055] The method further includes applying one or more machine learning algorithms to the data to identify one or more trends in the data (S402). Applying the one or more machine learning algorithms to the data includes grouping the data into one or more clusters, and analysing the data in at least one of the one or more clusters to determine a rate of change of a distance of a data point from a centroid of the cluster. The data point is associated with a particular detector of the one or more detectors.
[0056] The method further includes comparing the rate of change of the distance of the data point from the centroid of the cluster against a predetermined threshold (S403).
[0057] The method further includes determining, based on the rate of change of the distance of the data point from the centroid of the cluster exceeding the predetermined threshold, that maintenance of the detector is required (S404). In some examples, a notification indicating that maintenance of the detector is required may be output, e.g. using an output device such as a display. This may allow a user to schedule maintenance of the detector.
[0058] Applying the machine learning algorithms to the data may include using a clustering algorithm to group the data points in "clusters", and performing statistical analysis on the data in each cluster in order to identify the one or more trends. The clusters may be placed in an n-dimensional space, with the same dimensionality as the data points.
[0059] The clustering algorithm may choose centroids for the clusters in the n-dimensional space and calculate the distance between a particular data point and the centroid, where the data point will belong to the cluster represented by the centroid. The clustering algorithm may then adjust the position of the centroid so that it is in the middle of the cluster. The data points may be checked again to see if they are still part of the same cluster or if, as a result of the centroid moving, one or more of the data points have moved to another cluster. Once all the data points have been examined, the centroids may be adjusted again to be placed in the middle of the cluster, accounting for any data points that may have moved to other clusters. The process may be repeated until there is no significant change in the position of the centroids.
[0060] An example of a clustering algorithm written in pseudo-code is set out below.
[0061] # Step 1 : Initialize
[0062] K <- Select the desired number of clusters centroids <- Randomly initialise K cluster centroids with (obscuration, temperature, time_of_day)
[0063] # Step 2: Assign data points to clusters
[0064] Repeat until convergence:
[0065] For each data point (obs, temp, time) : distances <- Calculate the distance between (obs, temp, time) and each centroid
[0066] Assign (obs, temp, time) to the nearest centroid based on distances
[0067] # Step 3: Update cluster centroids
[0068] For each centroid : obs_mean <- Calculate the mean obscuration level of all data points assigned to the centroid temp_mean <- Calculate the mean temperature of all data points assigned to the centroid time_mean <- Calculate the mean time of day of all data points assigned to the centroid
[0069] Update the centroid with (obs_mean, temp_mean, time_mean)
[0070] # Step 4: Repeat until convergence
[0071] Repeat steps 2 and 3 until the cluster centroids no longer change significantly
[0072] Once the cluster centroids are known, inferences can be made about new data points. For example, a new data point may be assigned to a cluster, that is, finding the nearest centroid for the data point. An example of such a process is shown in the following section of pseudo-code: function find_closest_centroid(centroids, data_point) : distances = array of size centroids. length for i = 0 to centroids. length - 1 : distances[i] = Euclidean distance between centroids[i] and data_point closest_centroid_index = index of the minimum value in distances return closest_centroid_index
[0073] Since the clusters are labelled, the data point may have the same general characteristics of other detectors that are part of the same cluster.
[0074] Once the clusters have been defined, the statistical analysis can be performed on the data points in each cluster. Patterns may emerge that explain why the data points are clustered. The expectation is that labels can be inferred from the data e.g. false alarms due to high ambient temperature and high levels of obscuration due to time of the day, faulty sensors with no change in temperature, or a group of sensors with high levels of obscuration in a specific part of the building.
[0075] Consider a data series including timestamps and sensor data such as temperature, obscuration and carbon monoxide level data, each data point including one of the timestamps and one or more sensor readings. Some detectors such as temperature detectors will show daily and seasonal variations in the data series due to daily and annual ambient temperature changing patterns, as well as variations due to varying occupancy rates in the building where the detector is installed. Further, detectors such as photodetectors may show an increased level of obscuration during periods when occupancy levels are high, with the consequent increase in airborne particles. Detector sensitivity may also degrade over time.
[0076] Once a reasonable amount of data has been collected, data from a group of detectors (e.g. a group of detectors in the same building) can be analysed, for example by applying the clustering algorithms described previously. Detectors that present similar data in the data series will be placed in the same cluster. When a fire system is first installed, all detectors in the system are expected to, due to equal calibration, behave in the same manner and produce similar signals.
[0077] First, the clustering algorithm can be run to determine the centroids. This may group the detectors in groups of heat, smoke, and carbon monoxide detectors and / or combinations thereof. There are now x fixed centroids in a w dimensional space, where w is the number of sensor readings and combinations thereof, that is, readings that can be combined through mathematical operations to yield yet more readings, increasing the space dimensionality, using combination methods such as linear, quadratic, cubic, inversely or directly proportional, etc.
[0078] Data to account for daily and seasonal variations previously described is required. Once a sufficient amount of data is collected from the system, and the clustering algorithm performed, a recurring test, at fixed intervals (hourly, daily, weekly and so on), can be run to check on how distant a data point (sensor) is moving over time in absolute terms (further or nearer) in relation to the centroid.
[0079] This can be demonstrated with the following exemplary pseudo-code:
[0080] Define d as some constant value representing the maximum acceptable absolute rate of change in distance from centroid
[0081] # 'r' is a list of previous distances to the centroid
[0082] Define r = [list of previous distances]
[0083] # Calculate average of previous distances
[0084] Define avg_prev_distance = suml I lengthl
[0085] # Function that gives new sensor readings
[0086] Function new_sensor_readings() :
[0087] Return [new_head_reading, new_optical_reading, new_CO_reading]
[0088] # Function to calculate Euclidean distance
[0089] Function calculate_euclidean_distance(a, b) :
[0090] Return sqrt(sum((a[i] - b[i]) ^2 for I in range(len(a))))
[0091] # Calculate new distance
[0092] Define new_distance = calculate_euclidean_distance(new_sensor_readings(), cluster_centroid)
[0093] # Calculate absolute rate of change
[0094] Define rate_of_change = abs(new_distance - avg_prev_distance)
[0095] # Compare rate of change to threshold
[0096] If rate_of_change > d:
[0097] Print "The detector needs maintenance."
[0098] Else:
[0099] Print "The detector is working fine." This algorithm eliminates the need for explicit rules about specific sensor values. Instead, the decision about whether a detector needs maintenance is made based on changes in detector readings in a multi-dimensional Euclidean space, represented by the distance of the current sensor readings from the cluster centroid.
[0100] By using the average of previous distances and a threshold for the rate of change, the algorithm automatically adapts to the normal behavior of each detector and its environment, without needing to know specific rules about what the sensor values should be. This makes the algorithm more flexible and adaptable, as it can potentially work with different types of detectors or in different environments without needing any changes to the rules.
[0101] Distances that change faster than an expected ratio in the multi-dimensional Euclidean space, representing different sensor readings, can indicate a deviation from normal behavior. This can signal a fault in the detector or a need for preventive maintenance. Monitoring these changes over time and using them to trigger maintenance alerts allows for proactive management of the system, helping to address potential issues before they lead to detector failure or inaccurate readings.
[0102] The above example describes a deterministic algorithm which is able to flag detectors in immediate need of maintenance. In other examples, algorithms may be implemented to predict required maintenance. An example of such an algorithm is set out below. This example uses long term averages (LTAs) for the quantities of interest, to predict required maintenance.
[0103] The LTA values are expected to change uniformly over time at a given rate. By tracking the rate of change with respect to averages and thresholds, it is possible to determine which detectors are likely to provide incorrect readings, and are thus likely to require maintenance in the future.
[0104] An example of a maintenance prediction algorithm written in pseudo-code is set out below:
[0105] # Step 1 : Initialise list_of_sensor_readings <- Fetch all sensor readings for the defined period sum_of_readings <- Initialize as 0 count_of_readings <- Count the number of items in list_of_sensor_readings
[0106] # Step 2: Calculate the sum of all readings
[0107] For each reading in list_of_previous_sensor_readings: sum_of_readings <- sum_of_readings + reading
[0108] # Step 3: Calculate the new Long-Term Average
[0109] LTAJist <- sum_of_readings I count_of_readings
[0110] # Step 4: Calculate Rate of Change for each consecutive LTA pair
[0111] For i from 1 to (length of LTAJist - 1) :
[0112] LTA_difference <- LTAJist[i] - LTAJist[i - 1] time_difference <- time[i] - time[i - 1] rate_of_change <- LTA_difference / time_difference Add rate_of_change to RoCJist
[0113] # Step 5: Define thresholds and initialise lists thresholdMin <- Define minimum RoC threshold thresholdMax <- Define maximum RoC threshold RoCJist <- List of calculated Rate of Change values outliers <- Initialize as an empty list
[0114] # Step 6: Identify outliers
[0115] For each RoCJist in AII_Detectors_RoC_list:
[0116] For each RoC_value in RoCJist :
[0117] If RoC_value < thresholdMin or RoC_value > thresholdMax:
[0118] Add RoC_value_index to outliers
[0119] "outliers" contains the index of all detectors to be flagged as "in need of maintenance in future".
[0120] In conclusion, the large amounts of data available from fire detection systems offer significant potential for enhancing fire safety and system performance. By harnessing this data through advanced analytics and Al-driven tools, stakeholders can optimize fire protection strategies, enable predictive maintenance, and ensure the highest level of safety for occupants and property.
[0121] Various further modifications to the above described examples, whether by way of addition, deletion or substitution, will be apparent to the skilled person to provide additional examples, any and all of which are intended to be encompassed by the appended claims. There follows a list of numbered clauses defining particular embodiments of the disclosure. Where a numbered clause refers to an earlier numbered clause then those clauses may be considered in combination.
[0122] 1. A method comprising : receiving data generated by one or more detectors; applying one or more machine learning algorithms to the data to identify one or more trends in the data; and determining, based on the identified trends, an estimate of a time at which maintenance of at least one of the detectors is required.
[0123] 2. A method according to clause 1, wherein applying the one or more machine learning algorithms to the data comprises: grouping the data into one or more clusters, and analysing the data in at least one of the one or more clusters to identify the one or more trends.
[0124] 3. A method according to clause 2, wherein analysing the data in the cluster comprises determining a rate of change associated with the data in the cluster.
[0125] 4. A method according to clause 3, wherein determining the estimate of the time at which maintenance of at least one of the detectors is required comprises comparing the determined rate of change against a predetermined threshold.
[0126] 5. A method according to clause 3 or 4, wherein the rate of change comprises a rate of change of a distance from a centroid of the cluster.
[0127] 6. A method according to clause 3 or 4, wherein the rate of change comprises a rate of change of a long-term average associated with the data in the cluster.
[0128] 7. A method according to any one of the preceding clauses, further comprising outputting a notification including the determined estimate of the time at which maintenance is required.
[0129] 8. A method according to any one of the preceding clauses, wherein the machine learning algorithms comprise one or more of: a support vector machine, a K-nearest neighbours algorithm and an autoencoder. 9. A method according to any one of the preceding clauses, wherein the data generated by the detectors comprise multidimensional data.
[0130] 10. A method according to any one of the preceding clauses, wherein the data generated by the detectors comprise one or more of: obscuration data, temperature data, carbon monoxide data and time data.
[0131] 11. A method according to any one of the preceding clauses, wherein the one or more detectors comprise a plurality of detectors located at the same site, optionally wherein the plurality of detectors include at least one first detector located in a first zone at the site and at least one second detector located in a second zone at the site.
[0132] 12. A method according to any one of the preceding clauses, wherein the one or more detectors comprise a plurality of detectors of the same type, or a plurality of detectors of different types.
[0133] 13. A method according to any one of the preceding clauses, wherein the one or more detectors comprise one or more of: smoke detectors; heat detectors; flame detectors and carbon monoxide detectors.
[0134] 14. A system comprising : one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive data generated by one or more detectors; apply one or more machine learning algorithms to the data to identify one or more trends in the data; and determine, based on the identified trends, an estimate of a time at which maintenance of at least one of the detectors is required.
[0135] 15. A computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to: receive data generated by one or more detectors; apply one or more machine learning algorithms to the data to identify one or more trends in the data; and determine, based on the identified trends, an estimate of a time at which maintenance of at least one of the detectors is required.
Claims
Claims1. A method comprising : receiving data generated by one or more detectors; applying one or more machine learning algorithms to the data to identify one or more trends in the data, wherein applying the one or more machine learning algorithms to the data comprises: grouping the data into one or more clusters, and analysing the data in at least one of the one or more clusters to determine a rate of change of a distance of a data point from a centroid of the cluster, the data point being associated with a first detector of the one or more detectors; comparing the rate of change of the distance of the data point from the centroid of the cluster against a predetermined threshold; and determining, based on the rate of change of the distance of the data point from the centroid of the cluster exceeding the predetermined threshold, that maintenance of the first detector is required.
2. A method according to claim 1, further comprising outputting a notification indicating that maintenance of the first detector is currently required.
3. A method according to any of claim 1 or 2, wherein the machine learning algorithms comprise one or more of: a support vector machine, a K-nearest neighbours algorithm and an autoencoder.
4. A method according to any one of the preceding claims, wherein the data generated by the detectors comprise multidimensional data.
5. A method according to any one of the preceding claims, wherein the data generated by the detectors comprise one or more of: obscuration data, temperature data, carbon monoxide data and time data.
6. A method according to any one of the preceding claims, wherein the one or more detectors comprise a plurality of detectors located at the same site, optionally wherein the plurality of detectors include at least one first detector located in a first zone at the site and at least one second detector located in a second zone at the site.
7. A method according to any one of the preceding claims, wherein the one or more detectors comprise a plurality of detectors of the same type, or a plurality of detectors of different types.
8. A method according to any one of the preceding claims, wherein the one or more detectors comprise one or more of: smoke detectors; heat detectors; flame detectors and carbon monoxide detectors.
9. A system comprising : one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive data generated by one or more detectors; apply one or more machine learning algorithms to the data to identify one or more trends in the data, wherein applying the one or more machine learning algorithms to the data comprises: grouping the data into one or more clusters, and analysing the data in at least one of the one or more clusters to determine a rate of change of a distance of a data point from a centroid of the cluster, the data point being associated with a first detector of the one or more detectors; compare the rate of change of the distance of the data point from the centroid of the cluster against a predetermined threshold; and determine, based on the rate of change of the distance of the data point from the centroid of the cluster exceeding the predetermined threshold, that maintenance of the first detector is required.
10. A computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to: receive data generated by one or more detectors; apply one or more machine learning algorithms to the data to identify one or more trends in the data, wherein applying the one or more machine learning algorithms to the data comprises: grouping the data into one or more clusters, and analysing the data in at least one of the one or more clusters to determine a rate of change of a distance of a data point from a centroid of the cluster, the data point being associated with a first detector of the one or more detectors; compare the rate of change of the distance of the data point from the centroid of the cluster against a predetermined threshold; anddetermine, based on the rate of change of the distance of the data point from the centroid of the cluster exceeding the predetermined threshold, that maintenance of the first detector is required.
Citation Information
Patent Citations
Method for predicting defects in assembly units
US20190114756A1