SOUND MONITORING SYSTEM
20210183227 · 2021-06-17
Assignee
Inventors
- Mark Kovscek (Brownsville, PA, US)
- Tom Makovicka (Raleigh, NC, US)
- Paul Maiste (Jupiter, FL, US)
- Julie Hedrich (Palatine, IL, US)
Cpc classification
Y02A20/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
E03B7/003
FIXED CONSTRUCTIONS
G01F1/666
PHYSICS
Y02A20/15
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
Abstract
Converting a sound to a sound signature and then interpreting the signature based on a machine learning analytical approach. Generally, “interpreting” means quantifying and classifying. A system for identifying statuses of one or more target objects may comprise a device for observing sounds comprising a sound detector, a housing affixing the sound detector on, or in the vicinity of a target object, a processor, a power supply, and a device interface. The system may further comprise a data transmitter, a remote server for receiving data from one or more devices for observing sound of a target object and/or the surrounding environment, a plurality of server-side applications applying analytical operations to the data, and a plurality of end-user devices for accessing the data through a plurality of user interfaces. The status identification system can be used to detect statuses and events of target objects.
Claims
1. A device for identifying the status of a target object by observing sound in the human audible range, comprising: a housing; a first microphone mounted in the housing and located in a vicinity of the target object; a structure comprising a sound-isolating material mounted in the housing; a processor; and a power source; wherein the sound is generated by the target object or the surrounding environment; wherein the microphone detects a sound in a human audible range in the vicinity of the target object and converts the sound to a digital data; and wherein the device identifies a status of the target object by applying a plurality of machine learning algorithm to the digital data.
2. The device of claim 1, wherein the sound is generated by the target object and the surrounding environment.
3. The device of claim 1, wherein the first microphone is facing the target object and the structure comprising a sound-isolating material is a sound chamber in contact with the target object.
4. The device of claim 1, further comprising a second microphone that is mounted in the housing, facing away from the target object.
5. The device of claim 1, wherein at least one of the plurality of machine learning algorithms is a base model developed in a pre-installation environment that is at least partially controlled.
6. The device of claim 5, wherein the base model is a category-level model developed for use with a category of target objects being observed.
7. The device of claim 1, wherein at least one of the plurality of machine learning algorithms is a sensor model developed in an installation environment that is not controlled.
8. The device of claim 7, wherein the sensor model is an object-level model developed for specific use with the individual device in the installation environment to observe the target object.
9. The device of claim 1, wherein the application of a plurality of machine learning algorithm to the digital data occurs on a remote server.
10. The device of claim 1, wherein the plurality of machine learning algorithms further comprise: frequency weighting, which comprises examining the range of frequency data collected and determining the frequencies that generate the strongest predictive response to the sound emitted by the target object; sound clustering, which comprises using a nominal scale to group the data by the uniqueness of their sound signatures as defined by the range of frequency detected by the microphone; event classification, which comprises assigning classification codes to the data on a descriptive nominal scale; event quantification, which comprises assigning a value to the data based on an interval or ratio scale reflecting target object status; and event identification, which comprises the generation of a likelihood score that the data is a target event.
11. A method for identifying the status of a target object, comprising: observing sound in a human audible range by a device having a microphone in the vicinity of the target object; converting the sound to a digital data; applying a plurality of machine learning algorithms to the digital data; and identifying the status of the target object;
12. The method of claim 11, further comprising: detecting target sound by one microphone and ambient sound by another microphone.
13. The method of claim 12, further comprising: isolating target sound through the use of a sound chamber affixed to the target.
14. The method of claim 11, further comprising isolating the target sound by comparing energy of the target microphone to the energy of the ambient microphone and subtracting the energy of the ambient microphone.
15. The method of claim 11, further comprising: developing machine learning algorithms for use with the category of the target object in a pre-installation environment that is at least partially controlled.
16. The method of claim 11, further comprising: developing machine learning algorithms for use with the specific device in the installed environment which is uncontrolled.
17. The method of claim 11, wherein the application of a plurality of machine learning algorithms to the digital data occurs on the device.
18. The method of claim 11, wherein the application of a plurality of machine learning algorithms to the digital data occurs on a remote server.
19. The method of claim 11, wherein the application of a plurality of machine learning algorithms to the digital data occurs partially on the device and partially on a remote server.
20. A method for reducing the energy consumption of a device for identifying the status of a target object by observing sound in the human audible range, comprising: observing sound in a human audible range by a device having a microphone in the vicinity of the target object; converting the sound to a digital data; determining whether the data reflects an event meriting transmission to a remote server; deciding through a transmission management application to either transmit the data to a remote server for application of a plurality of machine learning algorithms, or putting the microphone in sleep mode if the data does not reflect an event meriting transmission.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
DETAILED DESCRIPTION
[0096] The features of the present disclosure may be created by using one or more distinct parts and associated components which, when assembled and connected together form the disclosed sound monitoring system regardless of the particular form. Unless defined otherwise, all terms of art, notations and other scientific terms or terminology used herein have the same meaning as is commonly understood by one of ordinary skill in the art to which this invention belongs.
[0097] In some cases, terms with commonly understood meanings are defined herein for clarity and/or for ready reference, and the inclusion of such definitions herein should not necessarily be construed to represent a substantial difference over what is generally understood in the art. All patents, applications, published applications and other publications referred to herein are incorporated by reference in their entirety. If a definition set forth in this section is contrary to or otherwise inconsistent with a definition set forth in the patents, applications, published applications and other publications that are herein incorporated by reference, the definition set forth in this section prevails over the definition that is incorporated herein by reference.
[0098] As used herein, “a” or “an” means “at least one” or “one or more.” As used herein, the term “user”, “subject”, “end-user” or the like is not limited to a specific entity or person. For example, the term “user” may refer to a person who uses the systems and methods described herein, and frequently may be a field technician. However, this term is not limited to end users or technicians and thus encompasses a variety of persons who can use the disclosed systems and methods.
[0099] The sound monitoring devices, systems, and methods described herein can now be better understood turning to the following detailed description. It is to be expressly understood that the illustrated embodiments are set forth as examples and not by way of limitations on the embodiments as ultimately defined in the claims.
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113] Metadata 7b includes user-supplied information related to the device ID, given name, physical or relational location, demographics, aggregate (such as household) information, and information averages. The stored metadata can also be used to configure the device for optimal water flow monitoring. Benchmark data 7c, is organized to establish benchmarks as a function of time (such as flow rate during particular months, days or peak times, or as compared to households or entities with similar consumption patterns), and for forecasting usage and identifying anomalous usage in light of said benchmarks, including data and benchmarks defining water appliance usage. A device interface 8 (seen as 113 in
[0114] Various statistical methods (e.g., regression, GLM, Tweedie, etc.) and analytics generally fitting the category of machine learning are used to quantify the relationship between the sound measurements and the water flow in the pipe. A Development Model includes a scoring algorithm and is created as a baseline to determine the contribution of the sound frequency (e.g., hertz) and energy measurements (e.g., decibels) to the water flow estimation as well as performance benchmarks for various predictive statistical methods. Production Models are the algorithms that are physically stored on the computer-readable storage medium of the device or in the cloud for by-device flow estimation. Production Models use the Development Model as a performance baseline; Production Models may employ other or additional statistical methods and include more or less frequency measurements and other independent variables such as demographics, household data, and location.
[0115] The device interface 8 includes a plurality of lights (seen as 115 of
[0116] The base station may be a proprietary wireless receiver, or it may be a generic wireless router. The base station may use a number of communication protocols that includes but is not limited to WiFi, LoRa, NB-IoT, and others. The base station 13 is capable of receiving and transmitting scheduled transmissions 12 from a plurality of flow measuring devices 14. The base station then transmits the data 7a, 7b, 7c to a remote server running a server-side application 20 via the internet 15. The separate data streams 7a, 7b, 7c are combined into a single data stream 16 for receipt by the remote server infrastructure 20 and use by the server-side application(s) 24.
[0117] Transmission of data may be continuous or may be periodical. For example, the transmission of data in real time may be preferable for the most accurate monitoring. However, it may also be preferable to transmit data only periodically, for example every minute, or hour, or other time period. The system for observing fluid flow may include a programmed routine where the on-device computer-readable storage media is deleted on a rolling basis, meaning that it may re-write over the oldest data to allow for ongoing observation. This poses minimal risk of creating gaps in data, because, if for example, the data is stored or re-written on a 24-hour schedule, and if the periodic transmission schedule is once per hour, then the device would have had at least 23 opportunities to transmit the data to the remove server. According to this embodiment, the device is programmed with a fault-detection routine, which will attempt to re-send data at the next scheduled transmission, if it detects that the data was not received at the prior-scheduled transmission. Having periodic, as opposed to continuous transmissions can save internet bandwidth, and minimize the overall volume of network-access attempts. Especially if the flow monitoring device is connected to the internet and/or remote server via cellular data communications links, minimizing the ongoing occupation of cellular data can save cost both to the user, and minimize its contribution to crowded networks. Employing the use of scheduled periodic transmissions can also maximize the potential for network reliability, because if a scheduled transmission is unsuccessful due to a network failure, then an appreciable amount of time passes before the next attempted transmission, which may provide sufficient time for network maintenance to be performed and allow for the subsequently scheduled transmission to be successful.
[0118] According to an embodiment, the routine for periodic transmission routine will be programmed to have an emergency override, and transmit data immediately if the flow monitoring device detects one or more predetermined thresholds, such as the detection of a plumbing failure, such as a toilet tank crack, or inoperative valve. Pursuant to this feature, the remote computer or server will immediately receive the data, and will be able to quickly notify a user immediately upon the happening of an emergency situation. By pairing the periodic transmission routine with the emergency override program, users will enjoy both the benefits of network efficiency, without having to sacrifice the instant notification of an emergency, as would be expected with a continuous-transmission routine.
[0119] The transmission of data may also be two-way, with the remote server and remote applications configured to transmit software updates to the flow monitoring device, remotely configure and calibrate the flow monitoring device, access the content of the computer readable storage media of the flow monitoring device, and generally perform remote configuration and maintenance routines on the flow monitoring device.
[0120] The server-side application(s) 24 and backend server infrastructure 20 includes a plurality of algorithms and analyses tools, including a flow prediction and improvement engine 17, a cohort development and maintenance routine 18, and a conservation analyzer 19 including benchmark development. The foregoing analytical tools work together to employ machine learning techniques which allow the server-side application to further develop more appropriate and accurate algorithms for measuring fluid flow, identifying appliance and/or fixture usage, and increasing confidence in emergency situations, including the circumstances for sending alerts. An exemplary analytical method is to identify the edges of water flow, meaning that the data is analyzed to determine a zero-flow baseline, and then analyzed to determine a full-flow ceiling. Normal operation would be expected in between the baseline and ceiling determinations. The analytical methods can be further improved by inputting baseline data associated with different building profiles, for example a building with an old pluming system may have different full-flow signatures as compared to buildings with newer plumbing systems. The analytical methods can be further improved by providing circumstance-specific algorithms. For example, an “away” or “vacation” mode may trigger the application of an algorithm with narrower tolerances for concluding a leak or rupture event has occurred, because minimal flow would be expected until the “away” or “vacation” mode is cancelled. Another circumstance-specific algorithm may be applied to filter preexisting external sound. For example, if the pipe flow monitoring device is located on a pipe in close proximity to the floor of a building, the microphone may sense the existence of muffled voices, or footsteps. Likewise, if the sound monitoring device is located on a pipe in close proximity to the outdoors, extraneous noises, such as passing cars, animals, and/or human speech may be detected by the microphone. The analytical methods provided herein may apply circumstance-specific algorithms which correlate to such extraneous sounds and filter them out when compared to known, expected, or predicted fixture flow signatures, thereby minimizing false leak-detection alerts.
[0121] The server-side application and backend infrastructure 24 further comprises a notification system 21, and programming for supporting a plurality of user interfaces in the form of a consumer user interface (UI) 22 and a utility (e.g. municipal water utility) UI 23 accessible through remote user portals, such as personal computers or mobile devices. The notification system 21 is configured to send alerts to users reflecting particular system characteristics via a plurality of communication means, such as text messages, email, social media platforms, and automated telephone dialing.
[0122] One of the plurality of user interfaces supported by the backend infrastructure and server-side application 20 is a consumer UI 22, which is accessed through digital portal, such as a webpage or mobile application. The consumer UI 22 comprises various menus, displays, and tools. The consumer UI 22 provides a means for user registration, one or more tools for configuring the user's flow monitoring system, such as setting a user's notification preferences, and displays for monitoring consumption, benchmarks, warnings and conservation recommendations. Another of the plurality of user interfaces supported by the backend infrastructure and server-side application 20 is a utility UI 22, which is accessed through digital portal, such as a webpage or mobile application. The utility UI 22 comprises various menus, displays, and tools. The utility UI 22 provides a means for user registration, one or more tools for configuring the user's flow monitoring system, such as setting a user's notification preferences, consumer cohort settings, and displays for monitoring “look-a-like” scenarios, consumption, benchmarks, water appliance usage, warnings and conservation recommendations.
[0123]
[0124] As disclosed in
[0125]
[0126] Provided in the exemplary user interface 201 embodiment of
[0127] The chart provided in
[0128]
[0129] The embodiment of
[0130]
[0131]
[0132] The embodiment provided by
[0133]
[0134] Although the embodiment for the user interface 201 provided by
[0135]
[0136]
[0137] In one embodiment, all frequency measurements are used in the algorithm. In another embodiment, the sound measurements for each frequency with the strongest statistical relationship to fluid flow are used in the algorithm. In one embodiment, the frequency measurements include at least one reading taken on at least 10 different frequencies. In another embodiment, frequency measurements include at least one reading taken on at least 15 or 20 or 25 or 30 or 35 or 40 or 45 or 50 different frequencies. In another embodiment, the frequency measurements include at least two or three or four or five or ten of 15 or 20 readings taken on at least 10 different frequencies.
[0138] In one embodiment, the frequencies monitored can be based on the capabilities of the sound detecting device. In one embodiment, the sound detecting device can be a tri-octave band that can generate measurements across approximately 27 different frequencies. In another embodiment, the sound detecting device can be a full octave band that can generate measurements across over 60 different frequencies.
[0139]
[0140]
[0141] To create Base Models, training data 325 is first generated by capturing multiple data inputs 311 by the device 101. The device may quantify frequencies observed by the target (or contact) mic 313, the sound energy observed by the target mic 317, frequencies observed by the ambient mic 315, sound energy observed by the ambient mic 319, temperature 321 observed by the temperature sensor, and time 323. These data inputs 311 are “independent variables.” They are not already an attribute known of the target, and are instead observed and created only through the laboratory of field test performed at the time of observation.
[0142] Sound frequency is commonly known as pitch and measured in hertz (Hz), whereas sound energy is commonly known as loudness and measured in decibels (dB). However, while the system disclosed herein will record the frequency and energy of sound emitted by the target and environment, application of these variables are not confined to their traditional evaluation. For example, one way in which the disclosed system may consider sound energy is to account for all energies across all frequencies. The system compares the frequencies and energy levels detected by the target mic and compares that to the frequencies and energy levels detected by the ambient mic. If the system recognizes that the energy level detected by the target mic 317 is greater than the ambient energy level detected by the ambient mic 315, it is more likely to be an event performed or triggered by the target. In the case of observing the sound in a pipe, it may mean it is more likely to be a water event and the sound emitted by the ambient mic should be controlled or canceled.
[0143] The multiple data inputs 311 then undergo a step of processing 309 and are combined with logged data 307 to become training data 325, which is in effect the combination of dependent and independent variable attributes generated by the target sound emitter 305. Optionally, if logged data (dependent variables) 307 are unavailable or unwanted, the system will rely only on the data inputs (independent variables) 311 to serve as the training data 325.
[0144] The target object or sound emitter 305 is the object for which sounds require insight development (e.g., classification and quantification). A typical target object has 5 major categories that capture a large majority (e.g., greater than 80%) of the target market for deployment of the system. For example, in the built environment, the large majority of plumbing systems are represented by about five pipe size and material variations. In this example, the system would require training data to be generated from n=5 objects.
[0145] The next step in the method for Base Model Creation 300 is to build a set of Base Development Models 327, which are approaches and algorithms that assess, categorize, and weight input data for entire classes of a target object (e.g., five pipe size and material variations).
[0146] In creating Base Development Models 327, a step of frequency weighting 329 occurs.
[0147] In creating Base Development Models 327, a step of sound clustering 331 occurs. Here, sounds are clustered by the uniqueness of their sound signatures as defined by the range of frequency data for two mics on the device 101.
[0148] In creating Base Development Models 327, a step of initial event classification 333 occurs. Here, the model identifies the fixture through a correlation with a classification code. This means that there can be a large number of sound signatures. For example in a home, there may be approximately 350 sound signatures in a one-week period. However, only 15-20 of these signatures are unique, meaning they are distinctly similar. Sound signatures are categorized into their known classifications 333, being a descriptive nominal scale. For example, in a plumbing system, the classifications may be shower, faucet, toilet, washing machine, dishwasher.
[0149] In creating Base Development Models 327, a step of initial event classification 335 occurs. Event identification methods 335 generate a likelihood score that a sound signature is a target event. Event identification considers frequency and sound energy data from the target mic 313, 317 as well as frequency and sound energy data from the ambient mic 315, 319 and assesses energy levels at various frequencies to determine if the observed behavior is more likely from the target object 305 or the environment. Further techniques are used to accurately identify the edges (start and end) of the event. The time series data is analyzed based on the deviation from normal/expected non water sounds (identified during the baselining process). For example, a likelihood score identifies the likelihood is that the event that has been identified is a water event. In an interval scale, for example, a score of 100 means “this is water,” which helps address false positives. This happens through a two step process (1) identify the event and (2) determine that the event is the targeted event (e.g., water event). The event identification process reviews the sound data and finds sounds that match based on a set of parameters set during the training process. Deviations from normal sound indicate the start of an event and are flagged. This step is modeled as a binary relationship in the dependent variable (e.g., 0=no water, 1=water) for every second. Consistent measures of this sound deviation are flagged until the time series of the data returns to normal values, indicating the (water) event has ended. Next, the system determines if it's an event coming from the target (e.g., water) through a series of quantification scores including but not limited to (a) the amount of water flowing, (b) similarity to known water events and (c) similarity to other generated events and (d) the overall energy levels coming from both mics. Consider a gas line or a different water pipe that creates a similar sound but is not the target being observed. This event identification allows the system to know that it's not an event coming from the target. This step is modeled after a logit/binary relationship. The deviation may indicate the start of a water event. Consistent measures of this sound deviation are flagged until the time series of the data returns to normal values, indicating the water event has ended. The process is also applied to identify multiple events
[0150] In creating Base Development Models 327, a step of initial event quantification 337 occurs. Here, machine learning methods are also employed to quantify the event 337. Event quantification methods include logistic regression, neural networks, random forest and KG Boost, all of which result in a continuous variable prediction. In water use, the quantification metric may be the rate of water flow (e.g., gallons per minute). The step examines logged data 307, such as flow rate and applies an analysis to generate a continuous variable output model for the applicable target sound emitter 305 (gallons per minute in a residence may range from 0-10 in water, and the health of machines may be 0-100). In machine use, the quantification metrics may include health (e.g., deviation from normal sound signatures) or likelihood to fail (e.g., sound signatures that demonstrate the characteristics of failing components).
[0151] The various steps (sound clustering 331, initial event classification 333, initial event identification 335, initial event quantification 337) in creating Base Development Models 327 occur independently of one another. In other words, each of these steps generate algorithms which are collectively, the Base Development Models 327, and do not require any step among them to occur before the other can occur. For example, if the Initial Event Classification 333 step is being run independently of the other operations, it means that classifying occurs based on the training data 325 directly, not the post-weighted, post-clustered data. These steps can also occur multiple times or only once and need not be consistent among them. For example, unsupervised clustering could happen three or four times until a satisfactory result is realized and each of the others only once. Notwithstanding the foregoing, the step of frequency weighting typically occurs first because the weights help inform and improve the other models.
[0152] The next step in Base Model Creation 300 is the creation of Base Production Models 339. In creating Base Production Models 339, steps of Interim Event Classification 343, Interim Event Quantification 345, and Interim Event Identification 347 occur. This process of creating Base Production Models 339 integrates the results from the Base Development Models 327 using the independent descriptors of the sound signature (e.g., in water use cases: a rate of flow, a nominal cluster identifier, and a classification of the fixture). A final machine learning approach assesses the quantification metric, nominal clusters and classifications to match and improve the results. As part of this approach, additional contextual circumstances are considered including but not limited to the time of day, day of week, and frequency of nominal clusters. Here, all of the independent, or initial outputs of Base Development Models 327 are cross-referenced among each other, and if they satisfy the Base Model validation criteria 357 they are narrowed down into only the remaining three steps 343, 345, 347. If these models hold, they are promoted to the Post-production Base Model Library 349 and are characterized and stored as algorithms for applying the step of Final Event Classification 351, Final Event Quantification 353, and Final Event Identification 355, all of which complete the process of Base Model Creation 300.
[0153]
[0154] A pre-training routine 405 ensures that the sensor level training data 403 collected meets the expectations for the target object 305 as defined by the Base Models 349 and the category of the target object. The pre-training routine 407 draws on basic data (e.g., meta-data 401) from the user about the target object 305 or environment. For example, if the target object is a plumbing system, the user may identify the size and material of the pipe. The meta-data 401 informs the system of the correct Base Models 349 to select and apply from the library. In other words, this process identifies and selects which event classification, quantification, and identification models 343, 345, 347 to apply from the library 349. The Pre-training routine 405 then tracks the outputs from the application of Base Models 349 over the training period to ensure the sound signatures meet the expectations of the target object 305. For example, if installed on a water system in a residential building, are there at least 30 events in an average day.
[0155] Once the pre-training routine 405 is complete, a baselining process 407 establishes the normal state of the distribution of data for each sound frequency. This is accomplished by generating and comparing key statistics, such as minimums, maximums, modes and other univariate statistics, that describe the normal state with respect to the Base Model outputs 439. For example, the mode of each frequency in a residential water system represents no water usage as the most common state of water in a pipe is zero flow. The end result are parameters and coefficients that contribute to the configuration of the Final Sensor Models 437. After baselining 407, each of the frequency data 311 and Base Model outputs 355, 351, 353 are normalized to the specific environment of the target object. For example, once zero flow is known for each frequency, all frequency values are normalized to establish common cross-sensor values. These data generated by baselining 407 are inputs to the Sensor Development Models 409. Similar to the step for creating Base Development Models 327 during base model creation 300 and then Final Base Models 349, similar processes are applied for the normalized, sensor-specific data in the step for creating Sensor Development Models 409 that then finalize the models and create the Sensor Production Models 417, which again are approaches and algorithms that assess, categorize, and weight input data from the target object 305.
[0156] In creating Sensor Development Models 409, a step of frequency weighting 411 occurs. This examines the range of frequency data collected by the device 101 and determines the normalized frequencies that generate the strongest response to the sound that is emitted by the target object, but at this juncture, the system also has the Base Models 349 against which to compare. As in the case of creating base models 300 frequency weighting 411 in the context of Sensor Development Models 409 are created to strengthen the performance of other models. The approach applies a custom weighting for each sensor that combines the learning from the Sensor Development Models with the sensor-level frequency response. This custom weighting is itself generated through a separate proprietary algorithm that leverages the energy levels from the ambient and contact microphones as surrogates to targeted sound signal emissions (e.g., expected water flow). Each frequency is weighted uniquely based on the relationship to the targeted energy levels of the two mics. Through this process we quantify the relative importance that each frequency has to the targeted sound signal and weigh those frequencies accordingly in both the event detection and classification algorithms.
[0157] In creating Sensor Development Models 409, a step of sound clustering 413 occurs. Here, sounds are clustered by the uniqueness of their sound signatures as defined by the range of frequency data for two mics on the device 101. The machine learning approach for the classification code includes unsupervised clustering techniques such as K-means clustering, but other techniques may also be used. These techniques do not require actuals or dependent variables and create clusters in the form of a nominal scale. Stated differently, the unsupervised clustering 413 performed for Sensor Development Models 409 draws on pretraining data 405, Baselining 407, and Base Models 349, but because all data is being created in an installed environment in the field, only independent variables 311 are being applied. The “unsupervised” clustering refers to the fact that no “dependent” variables are included or required.
[0158] In creating Sensor Production Models 417, a step of initial event identification 415 occurs. Here, the initial event identification step 415 first begins with the final event identification model 347 from the Base Model Library 349. Then, in conjunction with the pre-training and baselining data 405, 407, the initial event identification methods 415 generate a likelihood score that a sound signature is a target event. Event identification considers frequency and sound energy data from the target mic 313, 317 as well as frequency and sound energy data from the ambient mic 315, 319 and assesses energy levels at various frequencies to determine if the observed behavior is more likely from the target object 305 or the environment. Further techniques are used to accurately identify the edges (start and end) of the event. The time series data is analyzed based on the deviation from normal/expected non water sounds (identified during the baselining process). For example, a likelihood score identifies the likelihood is that the event that has been identified is a water event. In an interval scale, for example, a score of 100 means “this is water,” which helps address false positives. Consider a gas line or a different water pipe that creates a similar sound but is not the target being observed. This event identification allows the system to know that it's not an event coming from the target. This step is modeled after a logit/binary relationship. The deviation may indicate the start of a water event. Consistent measures of this sound deviation are flagged until the time series of the data returns to normal values, indicating the water event has ended. The process is also applied to identify multiple events.
[0159] In creating Sensor Production Models 417, a step of initial event classification 419 occurs. Here, the Final Base Models 349 for event classification 351 are scored with the normalized training data. The result is sound signatures that are categorized into their known classifications 419, being a descriptive nominal scale. Using the training data 403 and independent variables formed from scoring the Base Models 349, models are built with machine learning techniques such as Decisions Trees and logistic regression algorithms that assign the most probable fixture to each sound signature. The unique data engineering of the machine learning algorithm provides insight about the events and the unsupervised clusters 413 and maps those to known fixture classifications from similar environments and installations.
[0160] In creating Sensor Production Models 417, a step of initial event quantification 421 occurs. Here, the Final Base Models 349 for event quantification 353 are scored with the normalized frequency data. Using model output data as independent variables, machine learning methods are also employed to improve the quantification of the event 421. Event quantification methods include logistic regression, neural networks, random forest and KG Boost, all of which result in a continuous variable prediction. In water use, the quantification metric may be the rate of water flow (e.g., gallons per minute). The step examines sensor level training data 403, and applies an analysis to generate a continuous variable output model for the applicable target sound emitter 305.
[0161] The various steps (frequency weighting 411, sound clustering 413, initial event classification 419, initial event identification 415, initial event quantification 421) in creating Sensor Production Models 409 and Sensor Production Models 417 occur iteratively and will be repeated until results for all models are within the ranges prescribed by the standards database 429 which is determined by a sensor model validation step 435.
[0162] Once a sensor is trained through the creation of sensor-level Production Models 417 events are classified 419 and quantified 421 the models move to a staging area for validation 435. In the sensor model validation step 435, the models are processed through a Results Assessment step 423. The Results Assessment step 423 consists of a rules engine that is based on known standards and key performance indicators (KPIs) stored in the Standards Database 429 as determined by the training data 403, third-party research, industry and technical manuals, and prior data and sensor history. During sensor deployment, meta-data 401 is captured to ensure major dimensions are set so that proper standards are applied. For example, if the target object is a water pipe, the system needs to know the pipe size and material (e.g., ¾″ copper) as well as property type (e.g., home, apartment, restaurant). This meta-data 401 will help define the standards that include metrics such as normal or average events per day, length of events by classification, total gallons per day per household member.
[0163] The Results Assessment step 423 determines if results meet the criteria required to be promoted 427 into the final sensor repository 437. An example of a failed event includes events that are classified as a toilet event using more than 2 gallons of water. If the deployment is in a residential or commercial setting, the gallons are regulated to be <+1.6 gallons per flush. Results above this limit are flagged for reclassification through a remediation and assessment step 433. If the sensor does not pass, i.e. fails, the Results Assessment step 423, input parameters for training are modified appropriately through remediation 433 and the sensor returns to Sensor Development 409 and Sensor Production 417 for re-training. Re-training parameters are also automated based on the results of the results assessment. For example, if there are too many target events, parameters are increased that will reduce the number of events that get generated. These modifications are again based on a series of alternative default parameters that are defined for each target object.
[0164] Once the training results meet expectations on a minimum number of standards or KPI's through the Results Assessment step 423, the sensor data is prepared for promotion 427 through Pre-production and Gap Scoring 425. During pre-production and gap scoring process 425, training parameters are migrated from the Sensor Development Models in a production training environment to the Sensor Production Models in a production scoring environment. This includes input parameters for the machine learning scoring process, objects generated during the training process (e.g., baselines and centroids) through processing 309 and the actual events 311 generated during the training process. Once all scoring parameters are migrated, any scoring production times that were missed during the training process are processed for this sensor (gap scoring). For example, if the sensor is trained on data that ended on Jan. 25, 2021 at 06:00:00 UTC and is being put into production on 1/25/2021 08:00:00, any processes that ran on production sensors during the two-hour window are run for this sensor only. This fills in any processing gaps during the training window. Once pre-production is complete, the last step in the process is the final promotion 427 of the sensor models 437 into the scoring production environment as part of the Sensor Production Models 417. Once all steps are complete and the models are considered final, all data required for use in the production environment are created and stored in the Final Sensor Model Repository 437. The two main steps in this process are (a) populating all event data generated from Training and Gap Scoring into the database tables that populate the user application and (b) to create the control record for production scoring which provides all the information generated from training to the scoring process. The sensor is now considered “in scoring production” and is ready for continuous operation 500 (
[0165] The Standards Database 429 is a library for target object standards. For example, for water use, the database standards include appliance and fixture standards as well as standards for individual water use in a location to compare observed data versus the standard benchmarks. Further, each major environment has a unique set of model thresholds and parameters that provide an optimal starting point for the Sensor Models. These parameters include items such as the expected percent of time the object is in use (e.g., the percentage of time that water would be flowing). The parameters also include the minimum and maximum length of events and the methods which are used to determine the number of clusters which will be used for unsupervised clustering 413. Similarly, the fixture classification algorithms 419 are unique by major category or vertical. Once results are generated, they are compared to a series of known and recorded benchmarks to determine whether the results are reasonable or whether parameters need to be modified to improve results. The benchmarks are used to create comparisons in the user interface to encourage a change in behavior and to improve algorithm performance. To create more actionable benchmarks, the user interface requests certain information (metadata 401) during the installation process. In a water use case, this may include but is not limited to: number of people in the household, number of fixtures in the location, and use of irrigation.
[0166] If during remediation 433, an event remains unclassified (e.g., the nominal cluster assignment 413 does not have a classification assigned 419, then the classification may be “unknown”). This step is designed to address boundary cases that may not have been seen by the system. Boundary cases may be created by a permutation or variation of the target object (e.g., pipe size, type, water pressure, fixture, external events, and other factors). If the system does not recognize an event or cannot achieve a reasonable water flow estimate, the system will categorize the event as “Unknown.” The user may choose to manually classify the event or dismiss the event through User Feedback 431. The system will learn the user-defined classification and apply that to all similar events. Similarly, the user may provide general feedback 431 about the provided water usage information that could further help improve results. For example, the user may provide directional information such as “water use too high” or may provide their monthly usage data as reported by their water utility.
[0167] In Pre-production and Gap Scoring 425, all training outputs; for example from events, clusters, classifications, and the corresponding model parameters are loaded and assessed to ensure they meet standards as defined in the Standards Database 429. Since Production Models didn't exist during the training period, Gap Scoring applies the algorithms for the time period from sensor installation and the current time or the time of the last production scoring run.
[0168] The algorithms are then Promoted 427. This process generates the control file that puts the data and algorithms that was generated during sensor development creation 400 into the Final Sensor Model Repository 437. The control file ensures the final algorithms 439, 441, 443 and related parameters are properly assigned to the sensor 101, whether via on-board installation, or whether designating them as the Final Sensor Models 437 to remain on the cloud 700 but assigned to that particular device 101 which are then applied in the continuous operation step 500.
[0169]
[0170] An important step in sound processing 309 is noise management and noise cancelation to isolate the sound of the target object from the sound in the environment (e.g., water flow in the pipe versus sounds in the vicinity of the pipe). Because the sensor 101 may optionally have a plurality of microphones, one microphone is oriented in the direction of the target object or optionally in contact with the target object, while another microphone is oriented in a second direction from the target object, optionally on the opposite side of the device and in the direction of the environment, an ambient microphone. The target microphone may be designed with a specialized sound chamber to isolate certain sounds, block others, and more effectively collect sound data at least in the form of frequency 313 and energy 317 measurements from the target object 305. Noise cancelation may take place through processing 309 and occurs in a manner by first identifying and the frequencies 315 and energies 319 observed by the ambient mic and subtracting or removing that data from the frequencies 313 and energies 317 observed by the target mic. There are a number of approaches for nose cancellation well known in the art, and any effective approach may be employed, including for example, time domain acoustic echo cancellation.
[0171] In addition to assisting with noise cancelation in processing 309, a multiple-mic system may identify non-target sound signatures from the environment. For example, certain frequencies are indicative of machine sound or human conversation. Identifying and isolating these sounds where they are more pronounced from the ambient mic can further isolate and differentiate target object events and improve the accuracy of sensor level operation data 501. For example, if the target object 305 is a water pipe, the target microphone can be secured against the pipe and the ambient microphone in a direction away from the pipe and towards the environment.
[0172] Final sensor models 437 created for the specific sensor 101 are applied to the data 311 to create the event classifications and quantification metrics (i.e., results) called the sensor-level operation data 501. The final sensor models 437 applying sensor event identification models 439, sensor event classification models 441, and event quantification models 443 may be applied locally, on-board at the sensor level through processing 309 as depicted in
[0173] On a periodic basis (e.g., weekly, monthly, quarterly) or when an anomalous result is identified, the sensor level operation data 501 which are the model outputs, are assessed for drift and assessed for new behaviors through a validation process 435. Model drift refers to the degradation of a model's predictive power due to changes in the environment. If performance degrades, i.e. the sensor level production data fails validation, the system will initiate a new self-learning period through sensor model creation 400 as depicted in
[0174] The sensor-level operation data 501 for the water monitoring use case also includes a step to calculate the energy required 503 to heat water at the installation location of the device 101 through observation of temperature 321 at two points in time and the rate of flow during the interval. The device 101 may include a temperature gauge to monitor for extreme conditions. For example, if the temperature is approaching the freezing point, the user will be alerted of potential freezing conditions. The energy consumption analysis 503 is outputted and stored in the operational database 507 and also sent to the application or available via API 509 for further use by the user or sensor.
[0175] Further, the water flow with changes in water temperature is estimated by the changes in temperature to the pipe over a defined period of time is used to estimate the amount of heat generated. This data is used to then estimate the amount of energy required to heat the water. The device provides an estimate of energy consumption 503 for heated water use for the device installation location. For example, If the sensor is located on the hot water outlet pipe of the hot water tank, an estimate for total energy used to heat water for that tank is provided. Data may be provided in real-time or at various time intervals (e.g., hourly, daily, weekly).
[0176] The sensor 100 may collect many data dimensions from a plurality of independent microphones every second and can generate several megabytes (MB) of data every day, including actual instances of 30 MB in a day. Significant data usage can be energy and bandwidth intensive, which can limit the potential for installation locations and commercial success. Being able to install the device 101 in a convenient location may mean the absence of an independent energy source, like line or solar power. Accordingly, when the system reduces its energy use, installation with a battery becomes a long-term solution, and the user is given more freedom to install the device in a preferred and discrete location. The system may employ a plurality of techniques to reduce energy and bandwidth consumption through data reduction 600.
[0177] The system learns the specific sound signatures 311 for activity for the target object 305 (e.g., water movement in a pipe, a machine turning on). The sensor-level event identification algorithms 439 detect the events. If an event is detected 603 the data is stored 605 and on the sensor 101, which is governed by a transmission management application 607. If no water event is detected the microphone remains in sleep mode 609.
[0178] The frequency of data transmission is managed by assessing the usage patterns of the target object through the transmission management application 607. Decreasing the frequency of transmission dramatically reduces data load and energy use. However, data reduction 600 has to be balanced with timely insights and user expectations. The system learns the usage patterns of the target object in its deployment location and adjusts the transmission of data based on usage patterns (e.g., frequent transmission of data during low usage periods is not required) through the transmission management application 607. For example, data is transmitted based on the behavior of water usage in the property. However, if the sensor detects an anomalous use or catastrophic water event, the transmission management application 607 will automatically trigger a data transmission.
[0179] Another method for reducing data 600 is frequency reduction. Certain frequencies 313, 317 are more predictive than others in certain situations. Less predictive frequencies may be removed from consideration in the cloud 700, if certain models are applied on-board at the sensor level which serve to remove the less predictive frequencies, data can be reduced, and the device 101 can save processing, energy consumption, and bandwidth. The Sensor Models 437 determines the frequencies that are exhibiting water usage characteristics. These models inform the sensor which frequencies to generate sensor level operation data 501 for, and those for which data should not be generated. The model may be deployed at the edge or the sensor-specific frequencies may be selected via an over the air (OTA) application.
[0180] The default periodicity of data collection may be one record per second. Collecting every two seconds reduces the data load by 50%. However, the system needs to balance the data reduction 600 with the accuracy and precision of the results. Frequency of data collection is customized to the individual sensor 101 after the sensor model creation phase 400 and is based on the unique event patterns as determined by the final sensor models 437. The Collection Management 601 routine considers the expected usage of the target object and may collect data at 2 or 3 second intervals or even less frequently; or through user input 609 and alternatively if an event is detected 603, the interval will increase to the default periodicity, for example, one record per second, or even more frequently if needed.
[0181] As has been discussed, there are three major steps in the machine learning process employed by the system of this disclosure. First, base models are created 300 in a partially or fully controlled environment through base model development 327 and base model production 339 which his based upon training data 325. The models are developed from major categories of plumbing environment (e.g., pipe size, type, usage environment). Second, sensor models are created 400 in a deployment or install environment, through sensor model development 409 and sensor model production 417, which are based on the application of base models 349 in conjunction with sensor level training data 403 collected for each device 101 in the installed environment. After a specific training period, optionally seven days, sensor model creation 400 continues in an ongoing and iterative loop as continuous operation 500. In continuous operation 500, the final sensor models 437 generate sensor level production data 501 which are stored on an operations database 507 and which are delivered to the user or the device through an application or API. 509. Periodically, the sensor level production data 501 will be put through a validation routine 435 to confirm the accuracy of the sensor models and which permits for updates to the sensor models 437, as well as refinements based on user input. Phases regarding base model creation 300, sensor model creation 400, and continuous operation 500, including validation 435, are mandatory. Refinement based on user input is optional. The refinement based on user input is intended to address edge cases that may not have been seen by the system and can then be marked “unknown” or defined by the user, if the user knows.
[0182] In one embodiment, the flow monitoring system is a stand-alone system operated and maintained by an end user. In another embodiment, the sound monitoring system is a service operated and maintained by third party. In another embodiment, the sound monitoring system is a subscription or subscription-like service. In another embodiment, the sound monitoring system is a lease. In the subscription or lease service, the sound monitoring device, processor, and device interface are kept by the end user with the sound monitoring device placed on the end user's pipe. The data is transmitted to a base station and server side infrastructure and application that is held and maintained by the subscription or lease service provider.
[0183] The definitions of the words or elements of the following claims are, therefore, defined in this specification to not only include the combination of elements which are literally set forth. It is also contemplated that an equivalent substitution of two or more elements may be made for any one of the elements in the claims below or that a single element may be substituted for two or more elements in a claim. Although elements may be described above as acting in certain combinations and even initially claimed as such, it is to be expressly understood that one or more elements from a claimed combination can in some cases be excised from the combination and that the claimed combination may be directed to a sub-combination or variation of a sub-combination(s).
[0184] Insubstantial changes from the claimed subject matter as viewed by a person with ordinary skill in the art, now known or later devised, are expressly contemplated as being equivalently within the scope of the claims. Therefore, obvious substitutions now or later known to one with ordinary skill in the art are defined to be within the scope of the defined elements. The claims are thus to be understood to include what is specifically illustrated and described above, what is conceptually equivalent, what can be obviously substituted and also what incorporates the essential idea of the embodiments.
[0185] What has been described above includes examples of one or more embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the aforementioned embodiments, but one of ordinary skill in the art may recognize that many further combinations and permutations of various embodiments are possible. Accordingly, the described embodiments are intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.