Not Applicable
Not Applicable
A portion of the material in this patent document is subject to copyright protection under the copyright laws of the United States and of other countries. The owner of the copyright rights has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the United States Patent and Trademark Office publicly available file or records, but otherwise reserves all copyright rights whatsoever. The copyright owner does not hereby waive any of its rights to have this patent document maintained in secrecy, including without limitation its rights pursuant to 37 C.F.R. §1.14.
1. Field of the Invention
This invention pertains generally to a sensor system, and more particularly to a sensor system for sensing physiological characteristics.
2. Description of Related Art
Wearable sensing systems are becoming widely used for a variety of applications, including sports, entertainment, and military. These systems have recently enabled a variety of medical monitoring and diagnostic applications in wireless health.
Embedded networked systems and wide area cellular wireless systems are becoming ubiquitous in applications ranging from environmental monitoring to urban sensing
Meanwhile, sensor networks have emerged as an important class of distributed embedded systems capable of solving a variety of challenging monitoring and control problems in a number of application domains, ranging from government and military applications to seismic, habitat, and wildlife continuous observations. These technologies have recently been adopted to support the emerging work in medical devices equipped with sensors
Some wearable systems have been proposed for monitoring the athletic performance in a variety of sports such as skiing, baseball, martial arts, tennis, and golf. These systems are mainly designed for short term use during training sessions.
However, the need for multiple sensors and constant monitoring leads these systems to be power hungry and expensive, with short operating lifetimes.
Accordingly, an object of the present invention is a sensor system configured to minimize data received from a multiple-sensor array, while maintaining the integrity of the original signal. At least some of these objectives will be met in the description below.
An aspect of the present invention is a system which takes multiple channels of sensors, and based on context and user behavior, which is reflected in the signals, identifies specified channels for sensing and a sensing policy. The sensing policy is used to reduce the amount of data sampled, such that it is possible to reconstruct the values of the non sampled sensors efficiently. The sensing policy is influenced by user and system's behavior and can be assigned either offline or in real time.
The systems and methods of the present invention use contextual and semantic properties in human behavior to enable efficient design and optimization of sensor systems from the data and information point of view. This, in turn, directly influences the wireless communication and local processing power consumption of the system. Intrinsic space and temporal correlations between sensor data are used, while considering both user and system contextual behavior. The primary focus of the system and methods of the present invention is to take data from a small subset of sensors to accurately capture and/or predict all possible signals of a fully instrumented wearable sensing system. The systems and methods of the present invention use modeling, partitioning, and behavioral optimization, which consists of signal characterization, segmentation and time shifting, mutual signal prediction, and a simultaneous minimization composed of subset sensor selection.
Furthermore, opportunistic sampling is used, which selects a small subset of sensors which can predict when to control sampling of the rest of the network.
The systems and methods of the present invention use signal processing techniques: time-shifting, segmentation, and adaptive opportunistic sampling, etc., in addition to a new combinatorial optimization paradigm (pseudo-exhaustive combinatorial search), to design a sensor policy for an energy optimized embedded sensing system that is capable of reducing energy consumption by more than an order of magnitude. While some of methods of the present invention best perform on embedded sensing systems that share local communication, a majority of them can be applied on essentially any sensing system with intrinsic behavioral properties.
With the systems and methods of the present invention, previously expensive wearable sensing systems used in medical studies can be made more attractive to daily usage through a system of coordinated design and operational techniques that facilitate mass production, customization to specific customers, and low power operation.
Specifically, the systems and methods of the present invention simultaneously minimize the cost (i.e. the number of sensors) and energy consumption (i.e. the weighted sum of collected and communicated samples), while preserving a specified accuracy of collected data, or vice versa. Wireless communication energy consumption, rather than signal sensing energy, is the primary focus, since sensing energy consumption is negligible compared to that of wireless communication. Intrinsic space and temporal correlations are exploited between sensor data, while considering both user and system behavior.
The systems and methods of the present invention use signal semantics and predictability among sensors to reduce the number of sensors and amount of data acquisition, and in particular use several signal evaluation/processing techniques.
A first aspect is signal time-shifting, wherein a binary search can be used for very fast calculation of the best shifts (based on the observation is that cross-correlation functions are almost always unimodular). In addition, the complexity of the sensor selection problem does not increase since the selected signals can be shifted by any required amount.
Another aspect is signal segmentation for mutual sensor prediction. Signals in many types of embedded sensing systems have natural phases. For example: temperature and humidity are often highly impacted by sun activity, which is composed of morning, afternoon, and night phases; a heart beat has systolic and diastolic phases; and shoe pressure sensors are subject to airborne, landing, and take-off phases. Once the signals are aligned using signal time-shifting, the prediction of signals in each phase is much more accurate after segmentation, because data in one segment will otherwise often act as noise for data in another.
Yet another aspect is subset node selection. The selection of subsets of sensors from which the values of all other sensors can be computed within a given error can be mapped to the dominating set problem. A novel constructive algorithm (Combinatorial iterative component assembly (CICA)) may be used to facilitate an easy trade-off between the quality of the solution and the run time. CICA iteratively builds a number of partial solutions that are likely to be part of the final solution. An arbitrarily close approximation can be achieved at the expense of run time.
A further aspect is opportunistic sampling: The time-shifted nature of signals is also a basis for opportunistic sampling, where a small subset of sensors is regularly sampled while other sensors are placed in sleep mode. Sampling sensors in sleep mode is adaptively controlled by active sensors and data collection starts based on certain event detection by the active sensors. For example, the length of the airborne phase or when a person is standing still may be used for significant reduction in sensor sampling to achieve energy savings
Further aspects of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing preferred embodiments of the invention without placing limitations thereon.
The invention will be more fully understood by reference to the following drawings which are for illustrative purposes only:
1. Overview
The present invention is described below with reference to
Section 2 details a low-power wearable sensing system. In Section 3, signal properties of this system are describes, which are influenced by user behavior and of which we take advantage for optimization. In Section 4, the relationships between pairs of sensors are mathematically formulated, the predictor-to-base sensor model is derived, and the predictor selection objectives are defined. Section 5 details algorithms and methods for sensor selection. Section 6 details the changes in prediction error in different types of ambulation and abnormality/irregularity detection. In Section 7, opportunistic sampling methods are shown, using prior knowledge of human behavior is used for identifying reliable triggering predictor. Section 8 presents experimental results and achieved performance.
2. Low Power Sensing System Configuration and Development
In addition to the sensors array 106 (e.g. pressure sensors), the sensor node 102 may optionally include secondary sensors, such as gyroscopes 108 and accelerometers 120, which may be used for activity recognition, motion tracking, gaming applications, etc.
The remote processing unit 114 may comprise any device, (e.g. cell phone, watch, computer, etc.) that comprises a radio/transmission unit 130 for receiving the data signal, a processor 132 for analyzing the data according to data processing module/programming 134, and memory 136. Data processing module 134 may comprise a pre-generated sensing policy (e.g. policy for selectively acquiring data from only a subset of all sensors in array 106) learned via the methods detailed in Sections 3-7 below. Alternatively or additionally, data processing module 134 may include learning programs using one or more of the methods detailed in Sections 3-7 below, which may then later be used to establish a sensor policy for a particular physiological trait or ambulation.
The insole 144 may comprise a pressure sensing material 146 having passive resistive sensors 148, e.g. sensors produced by Tekscan. Alternatively, material 146 may comprise a piezoresistive fabric, e.g. produced by Eeonyx. When using passive resistive sensors, the sensors 148 may be placed under the insole 144. In the case of the piezoresistive fabric (not shown), the fabric may be cut such that it covers the entire surface under the foot, with two conductive layers (not shown) placed on both sides of the fabric. The sensing areas are the parts of the fabric covered by conductive material on both sides.
Sensor 148 placement, especially for resource-constrained systems, is preferably established using an understanding of the environment where the sensors are being deployed so that (1) decisive and important areas are covered and (2) resource usage is done intelligently, meaning one does not deploy more resources than necessary. Therefore, an understanding of the pressure distribution and behavior beneath the foot is integral to proper sensor placement, particularly for the objectives are: energy requirements, sampling accuracy, coverage, etc
To better learn the signals resulting from the exertion of pressure by both feet, a plantar pressure mapping system that covers the entire surface under the foot.
Smart shoe 140 is capable of sensing plantar pressure, movement, direction, rotation and other physiological characteristics of the human foot. Smart shoe 140 may also be used for instability and gait analysis outside of a laboratory environment, outdoor gaming, sports, workplace safety, and environmental data collection.
In almost all of the above specified applications, long term and continuous operation is required. While, in the outdoor environment, the process of charging batteries is not a convenient or even possible task. High sampling rate, continuous data collection, and large volume data transmission have traditionally presented tremendous challenges to operating such a mobile platform.
It is appreciated that while the smart shoe 140 is a particularly beneficial application of the sensing system 100, any sensing application where a plurality of sensors are measuring a physiological characteristic may be implemented in accordance with the principles of system 100 to benefit from its inherent advantages. For example, sensor system 100 may comprise a plurality of leads for an EKG, or other heart-monitoring device, temperature sensors, etc.
In general, wireless communication is one the most power hungry units in mobile or lightweight embedded sensing systems. Table 1 summarizes the power and energy consumption of the radio and the processor of a MicroLEAP sensing node (which may be used as the main sensor node 102 responsible for sensing and transmitting the collected data from the sensors).
Therefore, in a network of N sensors, eliminating the sampling of a subset of the sensor data can drastically reduce the required energy consumption. The objective of the system 100 is not to disregard the data from sensors, but rather provide a means to retrieve the information later on. In other words (as described in further detail in Section 4), the system 100 is configured to sample only a small subset of sensors, and later, (e.g. in a base station or other processing center (see
Next, at block 174, signal processing techniques (generally characterized by the physiological behavior being sensed) are applied to the acquired data to generate the sensing policy. This may comprise one or more signal processing techniques, including segmentation 180 (detailed further below in Section 3), time shifting 182 and prediction modeling 184 (detailed further below in Sections 4-6), and opportunistic sampling 186 (detailed further below in Section 7). Blocks 172 and 174 generally comprise a learning mode involving pre-sensing processing to “train” the sensing device to become more energy efficient. Once the sensing policy is generated, it may be uploaded into memory on either the sensor node 102 or the external processing unit 114.
The sensor array (e.g. 102 in
3. Signal Properties
The extracted patterns and signal semantics, along with behavioral properties, may be used to model the relationship among sensor signals. For example, plantar pressure signal properties corresponding to human ambulation may be learned in order to identify physiological and behavioral trends.
A plantar pressure signal can be segmented based on its behavior, which is imposed by human gait characteristics. Each step a person takes may be divided into three segments: (1) airborne; (2) landing; and (3) take-off.
Pressure signal characteristics such as morphology, amplitude, and pattern are influenced by an individual's physiology and walking behavior. For example,
As
The maximum amplitude of a signal is dependent on the relative position of the sensor to the person's center line of pressure progression under the feet; sensors closer to the center line of pressure will record higher pressure values compared to those that are located at the border of the active and passive pressure areas
Sensors that are located on the center line of pressure or on the lines parallel to it demonstrate almost identical behavior but at different times. Therefore, the sensors can be divided in the active pressure area into sets, where data extracted from all sensors in the same set have similar morphology and almost identical shape when shifted. This implies that the signal's behavior is propagating onto different sensors in the same set. The consistent progression in data modeling and predictor selection is utilized.
4. Prediction Modeling
In order to predict the behavior of the sensors from each other, it is instrumental to use a good prediction model to minimize prediction errors. Due to sensors' diverse locations and their behavior under the foot during human motion, it is impossible to have a single fitting model to be used as the prediction function across sensor pairs
Therefore, in order to avoid cost and complexity of managing many prediction models, we take advantage of shifting signals. Due to consistent propagation of applied pressure under the active pressure sensing area, there exists a shift for a potential base sensor toward the predictor sensor's direction, which will align the two sensor values such that they will have an overlap between their landing and take-off states. Measurements show that once the base sensor is shifted toward the predictor sensor, such that there is an overlap among their landing and take off states, three different mathematical models are preferably used to present the best prediction function between any two pairs of sensors.
The first fitting model is a linear function, while the other two are isotonic. The linear model is the best predictor when two pairs of sensors have complete overlap between landing and take-off states. The other two isotonic models, which are composed of piecewise linear and quadratic models, are the best predictors when take-off and landing states of the base sensor and the predictor sensors are not completely aligned together and either or both are aligned with the other's airborne state
4.1 Prediction Error
Generally, there are two objectives for prediction accuracy, while fitting the data using the above specified prediction functions. The first objective is to create the model such that it minimizes the sum of the squares of the residuals or least square as described in Equation (1), which is basically the least-squared method (Is). The second objective is to minimize the sum of the absolute values of the residuals as described in Equation (2), otherwise known as the L1-model. Equations (1) and (2) are as follows:
The process of sensor predictor selection is evaluated using both of these error definitions.
4.2 Predictor Selection Objectives
The objective in this section is directed to select a potentially small sub set of deployed sensors along with prediction functions such that by only utilizing that small set of sensors, all sensing data can either be measured directly or predicted with an acceptable error bound. Let us consider two sensors si and sj and assume the corresponding sensor values as functions of time are denoted as gi(t) and gj(t). For every pair of sensors we create a collection of predictors Φij={φij1, . . . , φijm}. φijk represents a predictor function for sensor sj that is based on shifted values from sensor si by k samples. In other words, if the predicted value for sensor sj is denoted by g*j(t) we have:
g*
j(t)=φijk(gi(t−k)) Eq. 3
For a given predictor there is a prediction error associated with it. We use different cost functions for prediction error as described in Section 4.1. For instance, least square based prediction error can be presented as:
For a given sensing system, the prediction transform matrix is defined as below:
where 1≦n is the number of predictors denoted by P={p1, . . . , p1}⊂S. Now we can define the problem. Sensor predictor selection objective can be formulated as:
minimize(1=|P|) Eq. 6
such that:
∀1≦j≦n,∃i,s.t.Ψij≠Ø Eq. 7
∀Ψij≠Ø,ε(Ψij)≦δ Eq. 8
The constraint in Eq. 7 guarantees that for any given sensor, there is at least one predictor whereas the constraint in Eq. 8 enforces that maximum prediction error for any given sensor is less than the target threshold of δ, where δ is an input to the problem defined by the user or is application driven.
4.3 Time-Partitioned Predictors
The previous section illustrates how a sensor can be used as a predictor of values for a secondary sensor. It is also possible to have multiple sensors in some sort of collaborative fashion predict the values of a secondary sensor. Collaborative prediction can be in the form of continuous multi sensor predictors or a time-partitioned single predictor or a combination of both
Continuous multi sensor prediction (CMSP) is when multiple sensors are used to predict the values of a target sensor. In such a setting the prediction function can be represented in general format as:
g*
j(t)=φj(gi(t−ki), . . . ,gi
where gi(t−ki)s are the m sensors used to predict sensor j, each with the corresponding shift of ki
To represent TPSP formally, we define a partition selector function Tp(t,sj)=si where t is the sample number or time stamp and sj is the sensor to be predicted. The return value of this function is si, which is the best predictor for si for that sample.
Therefore TPSP can formally be presented as:
g*
j(t)=φj(gi(t−ki))Tp(t,j)=i Eq. 10
4.3.1 TPSP ⊂ CMSP
It is evident from the definition of CMSP that TPSP is a special case of CMSP. Basically, TPSP can be viewed as CMSP where the prediction function 9 includes the partition selector function within itself. Reasoning behind separating these two is the difference in analytical approach in finding TPSP since solving CMSP can potentially be very hard.
4.3.2 TPSP Modeling and Partitioning.
The partitioning function Tp is defined based on the state of behavior of the human locomotion stages. Basically, the time for each sensor is divided into segments as defined in Section 3, where each segment corresponds to a semantically well defined stage of locomotion
Therefore, the prediction accuracy/performance of sensor si is evaluated individually for any of the time partitions. Let us assume the data from each sensor can be divided into k segments or partitions. The prediction relation across to sensors si and sj is constructed as follows. Each sensor is represented with k sub-sensors Si1 where 1=1 . . . k. This representation holds for both the predictor and the sensor being predicted.
4.3.3 Time-Shift Normalization.
All the prediction functions (such as Eq. 3) are time preserving in the sense that the sample count and the duration to be predicted is the same as the sample count and duration of the source data. When it comes to TPSP, in order to maintain consistent partitioning of the sensors, segmentation of all sensors should lead to the same-length intervals within each period. In other words, we need a unified segmentation of the sensor data so that the duration of a particular segment is the same across all the sensors. To better illustrate this notion, we have plotted the data for three sensors in
In
5. Predictor Selection
The first step of the sensor selection process is to generate the prediction functions φijk. Each sensor is potentially a predictor. In the context of prediction, we refer to predictor sensors as pi and the sensors being predicted are denoted as base sensors, si. For a given predictor sensor pi, n×m predictor functions are generated: {φijk} where 1≦j≦n and 1≦k≦m.
A prediction error corresponds to each predictor function represented as εijk which is computed using Eq. 4. Predictor functions are generated as described in Section 4.1
Top predictor set of sensor sj is defined as:
T
j
={p
i
, . . . ,p
i
}s.t.ε
p
jk≦δ Eq. 11
For each sensor which is a top predictor (i.e. ∀piε∪Tj) we create a set of base sensors which that predictor is among the top predictors.
In other words:
πp
Basically, πp
5.1 Combinatorial Iterative Component Assembly
The goal in sensor selection is to find a minimal set of predictors, π={pi}, which can be used to predict all other sensors. Formally this objective can be stated as minimizing |π| such that:
∀sj,∃piεπ,s.t.piεTj Eq. 13
We call this minimal set π*. To solve this problem, a minimum number of πp
CICA works in the following way. First it will sort the set of predictors based on maximum number of sensors they can cover. Then it picks top predictors from sorted list and combine each with the initial list and create new set of predictors to base sensors map. The following process continues until there is at least one single set, which covers all the sensors. Algorithm 1 summarizes the process.
Once π* is created, the Φ matrix is generated and sensor selection process is completed. The in generating the elements in Φ matrix are created in the method 200 detailed in
Rows of the matrix correspond to the predictors in π* and the entries of the matrix are
Φ[pi,j]=argmin(ε(Ψp
Φ[pi,j]=Ø,otherwise Eq. 15
In other words, in the column corresponding to base sensor si, we insert the best prediction function from its top predictors.
Algorithm 2 summarizes the process:
5.2 Generalized Sensor Selection
In general, sensor networks are deployed in a particular environment to collect specific information from that environment. Any optimization of configuration methodology will be applied to that sensor network either prior to deployment or afterward. Many of the environment-dependent offline methodologies need to be repeated if a new sensor network is to be deployed in a new place. For the system of
πp
where Ok represents the k th subject, and r is the total number of subjects under study. Basically, base sensors are differentiated across subjects with the secondary Ok index, but predictors remain the same. Therefore, the number of base sensors to be covered by min set cover is increased by a factor of the number of test subjects. The rest of the process remains the same
The main question to address is: how stable are the global predictors? In other words, if the top predictors are selected based on training data from k test subjects, how will those predictors perform for the kth+1th test subject?
Experimentally it was shown that once the number of test subjects for global predictors is around 5, the corresponding predictors are in fact global and reliable for any new subject.
6. Prediction in Different Ambulation and Abnormality Detection
Health monitoring system 100, and method 170 are configured to capture and monitor specific parameters of an underlying behavior as well as to detect irregular and abnormal behavior. In the context of human gait analysis, these parameters of interest may comprise gait features such as stance, swing, stride, step time, etc. Furthermore, abnormalities in the same context are defined over these gait parameter changes and deviations. In other words, for our system 100 to be able to detect abnormalities and irregularities, gait features would be accurately measured using the predictor sensors. Therefore, although the predictors are chosen from data collected from regular behavior, it is illustrated in the experimental sections that, using predictor sensors, gait features can in fact be measured and calculated with less error rate compared to the individual sensor prediction error rate. This further proves that predictor sets can in fact be used to detect abnormal gait patterns. Furthermore, it is shown that that selected sensors based on walking behavior are also good predictors for other types of human ambulation, such as slow walking, running, jumping, standing, walking backward, etc.
7. Opportunistic Sampling
In many environments monitored by sensor networks, individual sensor data only contain useful information for subintervals of time. In these scenarios, sensors usually record constant values until an event is triggered, which alters the values recorded by a sensor. For instance, sensor networks deployed for motion detection and object tracking will collect useful data once the presence of a moving object is detected. This does not mean that the sensor values when no moving object is present are not useful; they are constant values and are known beforehand.
This is true also for the case of pressure patterns under the foot. Once the foot is above the ground, all sensor values are zero and data becomes interesting only when the foot touches the ground again. Data processing, or a sensor policy, using opportunistic sampling will turn off data sampling from a subset of sensors and turn sampling back on when we know some event is occurring (e.g. using another sensor as a trigger to start sensing one or more dormant sensors).
Referring back to the snapshot of the data from two sensors shown in
For example, while walking, a sensor located in the heel side will get triggered before another sensor located on the toe. Let the sensor on the heel be u and the one on the toe be v. By assigning the sensor u as the base sensor, sampling of sensor v can start after sensor u is triggered. The difference between the times when these two sensors trigger is called the triggering distance, td=tue−tve. If td=K, then instead of sampling v all the time, the sensor policy would turn off sampling of v and re-start it K samples after u is triggered. This approach has two energy-related benefits: 1) reducing sampling energy and 2) reducing transmission energy for sensors like v whose activation can be predicted.
7.1 Reliable Triggering Predictors
Sensor u can be a triggering predictor of sensor v if tduv can be determined with high degrees of certainty. Thus, across different time frames, the triggering distance between u and v, tduv may be calculated so that no information is lost with predictive sampling. Generally, tduv will vary if an object changes its speed of walking or performs other ambulations (e.g. running jumping, etc). Assume the period of the current pressure waveform is T. Then, the normalized triggering distance ntd is defined to be T/td. Triggering prediction reliability, or TPR, is defined as a measure of how well a sensor can predict the triggering of another sensor:
TPRuv=σ2(ntd) Eq. 17
which is basically the standard deviation of normalized tduv across a set of periodic activities. Thus, if TPRuv is small, using the current signal period, u can calculate tduv reliably. Accordingly, the triggering prediction relation is defined as
f(u,v)=κ,TPRuv≦δ Eq. 18
f(u,v)=null,TPRuv>δ Eq. 19
where f(u,v) is the normalized triggering distance between u and v when TPR is smaller than a given threshold κ and is not defined (i.e. u cannot reliably predict the triggering of v) when TPR is not small enough.
Next, the value of κ is determined. As shown in previous sections, the value collected by a sensor, u, is represented by gu(t), where t is the sample number or the time stamp. It is assumed that sensor v is being sampled using triggering prediction of u.
At the base station (e.g. medical enterprise 164 of local data collection unit 166 shown in
g*
v(t)=gv(t);sampling−on Eq. 20
g*
v(t)=0;sampling−off Eq. 21
Sampling-on and sampling-off intervals are determined by the triggering prediction of u. The error rate for v's values will be
This error rate solely depends on how well u could have predicted v, which is a function of ntduv and its discrepancy across periods. This error was experimentally calculated for different sensor pairs and established a baseline of reliable κ.
7.2 Triggering Predictor Selection Objective
The triggering prediction method allows for better utilization of resources if the idle period of sensor v compared to the active period is large enough. In other words, if v is mostly active, there is no benefit to dynamically turning sampling on and off. A measure of the active length of a sensor is defined as αS, which is, for a given period T, equal to the ratio of the active interval to T.
The objective of predictive sampling is to select a subset of sensors (called trigger predictors or TP) which will be monitored all the time and can be used to determine when to start sampling other sensors; this set can yield a minimum sampling across all sensors.
Thus, if the sensor set is denoted as S=s1, . . . sn, a feasible set of trigger predictors can be defined as:
TP
S
⊂S,st·∀sεS,∃qεTP
S
:f(q,s)=κ≠null Eq. 23
The objective becomes to find TP*S such that:
is minimized, where:
where I is the time interval under study.
7.3 TP Selection Algorithm
Every sensor can potentially have multiple trigger predictors and itself can predict the triggering of other sensors. In order to find the minimum number of predictors to minimize sampling (and therefore transmission) energy, a triggering graph GT=(V,E) is constructed as follows. Each node in this graph represents a sensor in the system, V={s1 . . . sN}. If sensor si can be used as a triggering predictor of sj, i.e. f (si,sj)=κ (Eq. 18), there will be a direct edge eij in E. In other words E={eij|f(si,sj)=κ<0}. Note that since triggering relations is determined per period and the triggering point is the start of the active segment of the pressure pattern, GT is a directed acyclic graph.
The problem of finding the best TP using a similar technique to the one described in Section 5.1. In other words, this problem is by nature similar to the weighted predictor selection covered in Section 5 with a different definition of predictor sets and the cost function for each set. The predictor sets are defined in Eq. 11
πp
The expression f(pj,sj)≠null basically indicates that pi can reliably predict the triggering of sensor sj. The same CICA algorithm (Algorithm 1) may then be run to find the minimal set of triggering predictors, or TP*.
Furthermore, only minimizing the number of predictors does not optimize the objective. The active segments of sensors have different length. Therefore, it is ideal to select triggering predictors that have a larger active range, i.e., sample other non-predictor sensors that have the shortest length.
In CICA, the comparison across sets is based on the size of the set. Here, a weight is assigned to each πp
The CICA algorithm is modified such that the sorting of sets is done based on the weight function above. Weighted CICA is described below in Algorithm 3.
8. Experimental Results
In order to illustrate the effectiveness of the above systems and methods, a Pedar sensor array 162 was used to collect sensor data across 10 individual subjects. Efforts were made to keep the subject set as diverse as possible in terms of walking behavior and sensor data variability. The subject set was composed of 7 men and 3 women, where one man and one woman were flat-footed and 2 men were overweight. Foot sizes ranged from 7 to 11.
For the collected data set, minimum predictor selection was performed with three different configurations: 1) least-square method for predictor function generation without any shift in base-sensor data (Is-noShift); 2) least-square method for predictor function generation with shift in base sensor value (Is-wShift); 3) segmentation based predictor function generation using least-square method (Is-segmentation); and 4) L1-method for predictor function generation (L1).
Furthermore, the above scenarios were repeated for the global case where the process was implemented on the aggregated data from all individuals (as described in Section 5.2). 30% of each test subject's data was used to find the best predictor, and the remaining 70% was used to evaluate the accuracy of the prediction functions. The sensor selection process was ran for a range of maximum prediction errors (8 in Eq. 8). The maximum prediction error rate ranges from 2.5% to 20%. Afterwards, simulated the estimated total energy savings was simulated on the sensor node 102 (MicroLEAP) when the minimal predictors were used to sample the data. As seen in the system architecture, one sensor node is responsible for sampling and transmission of the data from sensors.
Table 2 summarizes the performance of the proposed combinatorial iterative component assembly algorithm to find the minimum set cover versus the greedy approach. As Table 2 suggests, our the CICA algorithm outperforms the well known greedy algorithm in both the individual and general case. In the individual case, CICA outperforms the greedy algorithm by an average of 22.3% for error rates between 2.5% and 12.5%, while for 15% and 17.5% errors, the outcome is almost the same for both algorithms. In the general case, CICA outperforms the greedy algorithm by an average of 23.8% for error rates greater then 5%, while for 2.5% the outcome of both algorithms are the same
Finally, the same set of experiments and simulations were repeated for the general case.
8.1 Time-Partitioned Prediction
The previous sections illustrated the effectiveness of various predictor selection and as expected Is-with shift and segmentation led to best sensor reduction and therefore energy savings. Furthermore, time partitioned single prediction (TPSP) was applied as described in Section 4.3.2. In order to keep the graphs readable, we excluded the results of TPSP from
8.2 Prediction Among Ambulations and Abnormality Detection
The prediction error was computed in several types of human ambulation, excluded regular walk, such as slow walking, running, jumping, standing, limping, and walking backward. Three sensor pairs, were picked, where each pair consists of one base sensor and one predictor sensor. In the first pair the predictor sensor predicts the base sensor with error less then 4%. In the second set the base sensor is predicted with error of 4% to 8% and in the last set the base sensor reconstruction error is 4% to 8%.
As mentioned previously, the gait parameters need to be measured in order to detect irregularities and abnormalities. By using the selected sensor set it was shown that it is still possible to compute the gait parameters accurately. To demonstrate this, the following simulation was performed. First, taking all sensors into consideration, for each user during different ambulations, the gait parameters were computed. Then, the same parameters were computed by taking the produced values of selected sensors, based on the proposed algorithm, and reconstructing all base sensors.
Therefore, as long as there is a bounded prediction error rate for the predictor sensors, this small set of sensors can be utilized to accurately capture gait abnormalities since abnormalities are functions of gait features rather than individual sensor values
8.3 Opportunistic Sampling Data Reduction
The effect of opportunistic sampling was evaluated in two different setups. First, for each individual subject in our experiments, the energy reduction resulting from opportunistic sampling was measured. The energy reduction was calculated in a fashion similar to the previous section: the data volume reduction caused by sampling cuts was calculated and incorporated that into the energy consumption of the system
Next, opportunistic sampling was applied on top of predictor selection. First, the best predictors were found with the minimum least square error bounded by a range of values for each individual test subject. Then, for each subject, opportunistic sampling was applied on the predictor set (since that set is the only active set of sensors) and the data transmission rate reduction was calculated for the hybrid of these two methods. From there, the average energy reduction was estimated for each bound on error rate.
The data volume management systems and methods of the present invention, through the introduction of multiple stages of signal analysis and optimization algorithms, were shown to have significant implications on energy consumption and system lifetime in embedded and wearable sensing systems. Physiological signal patterns are used to develop novel prediction algorithms at different levels of information flow in such systems. The systems and methods of the present invention make expensive wearable sensing systems more feasible for everyday use, by minimizing sampling sources while enabling reconstruction of the data from all sensors. A subset of sensors were used to accurately generate the data from all sensors. In other words, the design flow adapts to the context of the sensing environment and leads to a efficient data management configuration. Signal shifting, which enables better prediction of sensor data, and data segmentation were used to further enable piecewise predictions. In addition to these prediction strategies, opportunistic sampling was used, wherein even smaller subset of sensors are selected to predict when to sample the rest of target sensors. To solve the above problems, an efficient approximation algorithm called combinatorial iterative component assembly (CICA) was developed to select best predictors for each scenario.
Embodiments of the present invention are described with reference to flowchart illustrations of methods and systems according to embodiments of the invention. These methods and systems can also be implemented as computer program products. In this regard, each block or step of a flowchart, and combinations of blocks (and/or steps) in a flowchart, can be implemented by various means, such as hardware, firmware, and/or software including one or more computer program instructions embodied in computer-readable program code logic. As will be appreciated, any such computer program instructions may be loaded onto a computer, including without limitation a general purpose computer or special purpose computer, or other programmable processing apparatus to produce a machine, such that the computer program instructions which execute on the computer or other programmable processing apparatus create means for implementing the functions specified in the block(s) of the flowchart(s).
Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and computer program instructions, such as embodied in computer-readable program code logic means, for performing the specified functions. It will also be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer-readable program code logic means.
Furthermore, these computer program instructions, such as embodied in computer-readable program code logic, may also be stored in a computer-readable memory that can direct a computer or other programmable processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s). The computer program instructions may also be loaded onto a computer or other programmable processing apparatus to cause a series of operational steps to be performed on the computer or other programmable processing apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable processing apparatus provide steps for implementing the functions specified in the block(s) of the flowchart(s).
From the discussion above it will be appreciated that the invention can be embodied in various ways, including but not limited to the following:
1. A sensor system for sensing at least one physiological characteristic, the sensor system comprising: an array comprising first and second sensors; a processor coupled to the array; said processor configured to acquire data from said first and second sensors; a transmission unit coupled to the processor; an external processing unit; said external processing unit configured to receive the acquired data via the transmission unit; and programming executable on said processor configured for carrying out steps comprising: acquiring a data subset of potential data from said first or second sensor according to a sensor policy; said sensor policy being established according to said physiological characteristic; transmitting said data subset to the external processing unit; and reconstructing said data subset to retrieve not captured from said first and second sensors.
2. A sensor system as recited in claim 1, wherein the programming is further configured to segment the signal for mutual sensor prediction of data from the first and second sensors.
3. A sensor system as recited in claim 1, wherein acquiring a data subset comprises acquiring data from only one of the first and second sensors for a given time period.
4. A sensor system as recited in claim 3, wherein reconstructing said data subset comprises predicting a data value from the second sensor based on data retrieved from the first sensor.
5. A sensor system as recited in claim 4, further comprising: third and fourth sensors in said array: wherein reconstructing said data subset comprises predicting data values from the third and fourth sensors based on data retrieved from the first sensor and second sensors.
6. A sensor system as recited in claim 3, wherein the programming is further configured for carrying out steps comprising: placing the second sensor a sleep mode while data is being acquired from the first sensor; and wherein data acquisition is triggered in the second sensor upon sensing an event from the first sensor.
7. A sensor system as recited in claim 1, wherein acquiring a data subset comprises time-shifting data from the first sensor to at least partially overlap with said second sensor.
8. A sensor system as recited in claim 7, further comprising performing a binary search of the data to calculate said time-shifting.
9. A sensor system as recited in claim 5, further comprising generating a minimum set of predictors using combinatorial iterative component assembly.
10. A sensor system as recited in claim 9, further comprising generating a prediction matrix based on said minimum set of predictors.
11. A sensor system as recited in claim 5, wherein the programming is further configured for carrying out steps comprising: placing the second sensor a sleep mode while data is being acquired from the first sensor; wherein data acquisition is triggered in the second sensor upon sensing an event from the first sensor.
12. A sensor system as recited in claim 2: wherein the sensor array comprises a sensing pad disposed within a sole of a shoe, said physiological characteristic comprising a gait characteristic; and wherein the signal is segmented according to said gain characteristics.
13. A sensor system as recited in claim 12: wherein signal comprises a plantar pressure signal; wherein the signal is segmented into an airborne segment, a landing segment, and a take-off segment; and wherein one or more of the first and second sensors are placed in a sleep mode during at least a portion of the airborne segment.
14. A sensor apparatus for sensing at least one physiological characteristic; comprising: an array comprising first and second sensors; a processor coupled to the array; said processor configured to acquire data from said first and second sensors; a transmission unit coupled to the processor; said transmission unit configured for transmitting acquired data to an external processing unit; and programming executable on said processor configured for carrying out steps comprising: acquiring a data subset of potential data from said first or second sensor according to a sensor policy; said sensor policy being established according to said physiological characteristic; and transmitting said data subset to the external processing unit.
15. A sensor apparatus as recited in claim 14, wherein the programming is further configured to segment the signal segmented for mutual sensor prediction of data from the first and second sensors.
16. A sensor apparatus as recited in claim 14, wherein acquiring a data subset comprises acquiring data from only one of the first and second sensors for a given time period.
17. A sensor apparatus as recited in claim 16, wherein the programming is further configured for carrying out steps comprising: placing the second sensor a sleep mode while data is being acquired from the first sensor; wherein data acquisition is triggered in the second sensor upon sensing an event from the first sensor.
18. A sensor apparatus as recited in claim 14, wherein acquiring a data subset comprises time-shifting data from the first sensor to at least partially overlap with said second sensor.
19. A sensor apparatus as recited in claim 15: wherein the sensor array comprises a sensing pad disposed within a sole of a shoe, said physiological characteristic comprising a gait characteristic; and wherein the signal is segmented according to said gain characteristics.
20. A sensor apparatus as recited in claim 19: wherein signal comprises a plantar pressure signal; wherein the signal is segmented into an airborne segment, a landing segment, and a take-off segment; and wherein one or more of the first and second sensors are placed in a sleep mode during at least a portion of the airborne segment.
21. A system for generating a sensor policy for a sensor array; comprising: an array comprising first and second sensors; a processor coupled to the array; said processor configured to acquire data from said first and second sensors; a transmission unit coupled to the processor; an external processing unit; said external processing unit configured to receive the acquired data via the transmission unit; and programming executable on said processor configured for carrying out steps comprising: acquiring a data from said first and second sensor while measuring a physiological characteristic; performing signal processing to said acquired data as a function of said physiological characteristic; transmitting said data subset to the external processing unit; and establishing a sensor policy according to said physiological characteristic; wherein the sensor policy comprises instructions to acquire a data subset of potential data from said first or second sensor according to said physiological characteristic.
22. A system as recited in claim 21, wherein the sensor policy comprises instructions to segment the signal for mutual sensor prediction of data from the first and second sensors.
23. A system as recited in claim 21, wherein the sensor policy comprises instructions to acquire data from only one of the first and second sensors for a given time period.
24. A system as recited in claim 23, wherein the sensor policy comprises instructions to reconstruct said data subset by predicting a data value from the second sensor based on data retrieved from the first sensor.
25. A system as recited in claim 23; wherein the sensor policy comprises instructions to place the second sensor a sleep mode while data is being acquired from the first sensor; and wherein data acquisition is triggered in the second sensor upon sensing an event from the first sensor.
26. A system as recited in claim 21, wherein the sensor policy comprises instructions to time-shift data from the first sensor to at least partially overlap with said second sensor.
27. A system as recited in claim 24; wherein the sensor policy comprises instructions to place the second sensor a sleep mode while data is being acquired from the first sensor; and wherein data acquisition is triggered in the second sensor upon sensing an event from the first sensor.
Although the description above contains many details, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the presently preferred embodiments of this invention. Therefore, it will be appreciated that the scope of the present invention fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the present invention is accordingly to be limited by nothing other than the appended claims, in which reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” All structural, chemical, and functional equivalents to the elements of the above-described preferred embodiment that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element herein is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase “means for.”
This application claims priority from U.S. provisional patent application Ser. No. 61/355,944 filed on Jun. 17, 2010, incorporated herein by reference in its entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US11/40910 | 6/17/2011 | WO | 00 | 12/17/2012 |
Number | Date | Country | |
---|---|---|---|
61355944 | Jun 2010 | US |