Next: Experimental Results
Up: No Title
Previous: Software
Subsections
DBN models
The network models built for ambulation monitoring were developed
incrementally. The earlier models aimed to recognise normal walking gait
patterns and test the feature extraction system. Later models added features
for providing beliefs in ambulatory stability and fall events.
Support-1a DBN
The following `support' DBNs represent development models built to recognise
stages of the gait cycle. These were later incorporated into more complex
models for producing `higher level' beliefs in the state of ambulation.
The `support-1a' DBN model's primary purpose was to test the DBN engine and
feature extraction configurations with the Vermahide pressure sensor signals.
The structure of this network can be represented by the two slices in Figure
8.1.
All the support DBN models used `up' and `down' events extracted from the
Vermahide pressure transducers to produce beliefs in the body's current mode
of support. The mode of support, or support state, was determined by which
foot was on the ground and providing support to the body, taking one of the
four states: `left', `right', `double' or `none'. A `left' state signified
standing on the left foot only, `right' for right foot only, and `double' for
double-support (both feet on the ground). The state `none' was used to
represent the situation where the subject had no feet on the ground, which may
occur when the subject has fallen, is lying down, or sitting with feet off the
ground. The CPTs for the support networks were configured to reflect the
sequence of support states expected for a normal walking gait cycle (Section
2.1.1): ``double, left, double, right, double, left...''
The support-1a model used only three nodes per slice - a world state node
`Support', an event node `Action' and an observation node `ActObs' (see Figure
3.3). Evidence extracted from the pressure signals was
entered into `ActObs' which contained a sensor model for the `Action' event.
The states of the `Action' and `ActObs' nodes were `lup', `ldowm', `rup' and
`rdown' representing the left foot up, left foot down, right foot up and right
foot down events respectively.
As well as storing the network's belief in the current mode of support, the
`Support' node also contained the DBN's state transition model, using the
`Action' and `Support' beliefs from the previous slice to determine the
logical next mode of support. For example, if support in the previous slice
takes on the `left' state, and the previous slice's action tended towards
`rdown', the support node in the current slice should favour its `double'
state, or
.
Entering evidence into the `ActObs' node causes the DBN to expand one slice so
the next support and action states can be established.
Figure 8.1:
The gait-1 network structure
|
|
The `Action' node used the `Support' and `ActObs' nodes of the current slice
to determine the next likely action, which will in turn influenced the
`Support' state of the next slice. For example, if the current slice's support
is `left' then the right foot must be off the ground. For a walking gait
(Section 2.1.1), the next expected support state would be
`double', so the CPT for the `Action' node favours the `rdown' state, or
.
The conditional probability distributions for the support-1a network were
selected using a policy of `100% certainty'; conditioning states that were
logical resulted in conditional probability vectors consisting of 1.0 for the
appropriate state and zero for all others. Physically impossible conditioning
states8.1 resulted in an evenly distributed
probability vector (all states receive the same probability). This is shown in
the CPTs for the Support node (Table 8.1) and
Action node (Table 8.2).
Table 8.1:
Conditional probability table for the support-1a DBN's Support
node
| Conditioning states |
 |
| ActionN |
SupportN |
left |
right |
double |
none |
| lup |
left |
0 |
0 |
0 |
1 |
| lup |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| lup |
double |
0 |
1 |
0 |
0 |
| lup |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
right |
0 |
0 |
1 |
0 |
| ldown |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
none |
1 |
0 |
0 |
0 |
| rup |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| rup |
right |
0 |
0 |
0 |
1 |
| rup |
double |
1 |
0 |
0 |
0 |
| rup |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
left |
0 |
0 |
1 |
0 |
| rdown |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
none |
0 |
1 |
0 |
0 |
|
The prior distribution for the Support node in the first slice of the DBN was
an even distribution over all possible support states, as shown in equation
8.1.
 |
(8.1) |
Table 8.2 shows the CPT for the `Action' node,
which reflects the next expected foot action given the current slice's mode of
support.
Table 8.2:
Conditional probability table for the support-1a DBN's Action node
| Conditioning states |
 |
|
SupportN+1 |
lup |
ldown |
rup |
rdown |
| left |
0.5 |
0 |
0 |
0.5 |
| right |
0 |
0.5 |
0.5 |
0 |
| double |
0.5 |
0 |
0.5 |
0 |
| none |
0 |
0.5 |
0 |
0.5 |
|
The sensor model for this network assumed that the evidence from the feature
extraction was correct 97% of the time, with the remaining 3% evenly
distributed over the other states. The entire CPT for the node `ActObs' can
therefore be expressed using equations 8.2 and
8.3.
 |
= |
0.97 |
(8.2) |
 |
= |
0.01 |
(8.3) |
Feature extraction
The feature extraction for all the support networks consisted of two stages:
firstly the left/right, heel/toe Vermahide sensor pressure signals were
transformed into left/right heel/toe up/down signals by way of a thresholding
filter. After some investigation of the raw pressure signals, 10 millivolts
was chosen to be a crossover point - a signal rising past 10mV
represents increasing pressure, so a `down' was generated. Likewise, a signal
falling past 10mV was construed as pressure being removed from the
sensor, resulting in the generation of an `up' signal. When four pressure
sensors were used with this network (left-toe, left-heel, right-toe and
right-heel), eight distinct up and down signals could be produced.
The second stage of filtering combines the left/right heel/toe up/down signals
to produce up/down signals for the left and right feet. A heel down signal by
itself was taken as a foot down event (see below), and a heel and toe
up event within 0.5 seconds of each other was converted into foot up evidence.
An initial configuration triggered a left/right foot down event only after the
heel and toe of that foot had signalled `down' by rising past 10mV.
This resulted in the network giving unexpectedly frequent and high beliefs of
SupportN=none. Analysis of the pressure signals showed that for normal
walking, the toe lifts off the ground after the opposite heel strike
occurs, so this filter configuration would signal a `left up' before a `right
down'. This problem was overcome by signalling a foot as being down only when
the heel strikes8.2. The left/right foot up signals were generated after both
the heel and toe's pressure signals dropped below 10mV. This avoided
confusion due to `noise' or the toe lifting off the ground before the heel.
The following is the feature extraction configuration from the support-1a DBN
model. Figure 8.2 shows a graphical representation
of the filter and evidence nodes involved in extracting left foot up and down
signals.
# smooth signal
[LHEEL] > {abs} > {average 5} > [LHRAW];
[LTOE] > {abs} > {average 5} > [LTRAW];
[RHEEL] > {abs} > {average 5} > [RHRAW];
[RTOE] > {abs} > {average 5} > [RTRAW];
# detect signal pass
[LHRAW] > {pass 0.01 r} > [LHDOWN]; # rising past 10mV: heel down
[LHRAW] > {pass 0.01 f} > [LHUP]; # falling past 10mV: hell up
[LTRAW] > {pass 0.01 r} > [LTDOWN]; # rising past 10mV: toe down
[LTRAW] > {pass 0.01 f} > [LTUP]; # falling past 10mV: toe up
[RHRAW] > {pass 0.01 r} > [RHDOWN];
[RHRAW] > {pass 0.01 f} > [RHUP];
[RTRAW] > {pass 0.01 r} > [RTDOWN];
[RTRAW] > {pass 0.01 f} > [RTUP];
# Evidence entry
[LHDOWN] > {*any ActObs ldown}; # ActObs = ldown
[RHDOWN] > {*any ActObs rdown}; # ActObs = rdown
# Confirm foot up by waiting for heel AND toe up
[LHUP] > {and LTUP 0.5} > {*any ActObs lup}; # ActObs = lup
[RHUP] > {and RTUP 0.5} > {*any ActObs rup}; # ActObs = rup
Figure 8.2:
Graphical representation of left foot up/down feature extraction
configuration used in support networks.
|
|
For a detailed description of feature extraction system syntax see
Chapter A.1.3.
Support-1b DBN
Trials on the Support-1a DBN model with normal walking data showed it
recognised the walking gait cycle with high certainty. However, if the feature
extraction produced incorrect signals (due to noise or strange sensor
behaviour), the 100% certainty policy of the support-1a model's CPT resulted
in the network becoming easily `confused'. After one or two irregular evidence
entries (such as may occur when the subject starts or stops ambulating), the
network tended to produce illogical conclusions from subsequent evidence. Even
if the evidence entered was consistent with normal walking, the
`all-or-nothing' conditional probability distributions seemed to prevent the
support-1a network recovering by using new evidence to conclude that a
previous observation was incorrect (this is the main purpose of the sensor
model).
In an attempt to fix this problem a second support-recognition network,
`support-1b' was built, using exactly the same feature extraction and
structure as support-1a, but with some uncertainty introduced into its CPTs.
The `softened' CPTs for the support-1b network are shown in tables
8.3 and 8.4.
Table 8.3 shows the softened CPT for the
`Support' node. All entries previously given a conditional probability of 0.0
were increased to 0.01, and the `correct' state's probability reduced
accordingly. State probability vectors for illogical conditioning states were
left as even distributions.
Table 8.3:
Conditional probability table for the support-1b networks's Support node
| Conditioning states |
 |
| ActionN |
SupportN |
left |
right |
double |
none |
| lup |
left |
0.01 |
0.01 |
0.01 |
0.97 |
| lup |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| lup |
double |
0.01 |
0.97 |
0.01 |
0.01 |
| lup |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
right |
0.01 |
0.01 |
0.97 |
0.01 |
| ldown |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
none |
0.97 |
0.01 |
0.01 |
0.01 |
| rup |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| rup |
right |
0.01 |
0.01 |
0.01 |
0.97 |
| rup |
double |
0.97 |
0.01 |
0.01 |
0.01 |
| rup |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
left |
0.01 |
0.01 |
0.97 |
0.01 |
| rdown |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
none |
0.01 |
0.97 |
0.01 |
0.01 |
|
Table 8.4 shows the `softened' CPT for the
`Action' node, which was updated in the same way the Support CPT.
Table 8.4:
Conditional probability table for the support-1b networks's Action node
| Conditioning states |
 |
|
SupportN+1 |
lup |
ldown |
rup |
rdown |
| left |
0.18 |
0.01 |
0.01 |
0.8 |
| right |
0.01 |
0.8 |
0.18 |
0.01 |
| double |
0.49 |
0.01 |
0.49 |
0.01 |
| none |
0.01 |
0.49 |
0.01 |
0.49 |
|
As the sensor model (CPT for node ActObs) was already `softened' to handle
incorrect evidence, this relation remained as specified by equations
8.2 and 8.3.
Support-1c DBN
This network added the state `none' to the the Action and ActObs nodes used in
the support-1b network. The purpose of this state was to allow investigation
into handling of missing data through expanding the network twice per per
evidence entry (Section 9.5). The `none' state was
required when data wasn't missing in the extra interleaved slices, so the
Action could take on `none' and the mode of support was maintained for the
next slice.
The network's structure remained unchanged, but the support node CPT required
updating to handle the new `none' state, as shown in Table
8.5. The conditioning states containing
ActionN=none are of particular interest, as they encode the logic for
maintaining the current Support state when no action occurred.
Table 8.5:
CPT for the support-1c networks's Support node
| Conditioning states |
 |
| ActionN |
SupportN |
left |
right |
double |
none |
| lup |
left |
0.01 |
0.01 |
0.01 |
0.97 |
| lup |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| lup |
double |
0.01 |
0.97 |
0.01 |
0.01 |
| lup |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
right |
0.01 |
0.01 |
0.97 |
0.01 |
| ldown |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| ldown |
none |
0.97 |
0.01 |
0.01 |
0.01 |
| rup |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| rup |
right |
0.01 |
0.01 |
0.01 |
0.97 |
| rup |
double |
0.97 |
0.01 |
0.01 |
0.01 |
| rup |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
left |
0.01 |
0.01 |
0.97 |
0.01 |
| rdown |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| rdown |
none |
0.01 |
0.97 |
0.01 |
0.01 |
| none |
left |
0.97 |
0.01 |
0.01 |
0.01 |
| none |
right |
0.01 |
0.97 |
0.01 |
0.01 |
| none |
double |
0.01 |
0.01 |
0.97 |
0.01 |
| none |
none |
0.01 |
0.01 |
0.01 |
0.97 |
|
Support-2 DBN
The support-2 DBN was a further development on the basic gait-recognition
models. The primary difference was the reversal of the temporal causal link
between the Action node and the Support node in the following slice, resulting
in a structure identical to general DBN model shown in Figure
3.3. This adjustment effectively encodes the relationship:
``a change in support causes an action'', as opposed to: ``the previous
support and action result the next support'' which was used in the support-1
networks.
The reversal of the causal link between the Support and Action nodes was
performed so the effects of backwards causal links and causal link direction
on the network's response could be investigated.
Figure 8.3:
Support-2 DBN structure
|
|
Parameters
The size of the CPT for the Support node shown in Table
8.6 is significantly reduced as it now only has one
parent (the Support node from the previous slice). From the low beliefs in the
`none' Support state, it can be seen that this network still expects left and
right supports with intervening double support, as occurs in normal walking.
This CPT could be updated to handle running or jogging by reversing the
probabilities for `double' and `none' for previous support conditions of left
and right. The probability distribution for
(fifth line in Table
8.6) shows that after a `double' support the network
expects either a `left' or `right' support with even probability (see Section
8.5).
Table 8.6:
Support-2 network's Support node CPT
| Conditioning states |
 |
| SupportN |
left |
right |
double |
none |
| left |
0.01 |
0.01 |
0.9 |
0.08 |
| right |
0.01 |
0.01 |
0.9 |
0.08 |
| double |
0.49 |
0.49 |
0.01 |
0.01 |
| none |
0.49 |
0.49 |
0.01 |
0.01 |
|
The Action node's CPT (Table 8.7) has increased in size
due to the addition of the backwards causal link from the Support node in the
next slice.
Table 8.7:
Support-2 network's Action node CPT
| Conditioning states |
 |
| SupportN |
SupportN+1 |
lup |
ldown |
rup |
rdown |
| left |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| left |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| left |
double |
0.01 |
0.01 |
0.01 |
0.97 |
| left |
none |
0.97 |
0.01 |
0.01 |
0.01 |
| right |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| right |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| right |
double |
0.01 |
0.97 |
0.01 |
0.01 |
| right |
none |
0.01 |
0.01 |
0.97 |
0.01 |
| double |
left |
0.01 |
0.01 |
0.97 |
0.01 |
| double |
right |
0.97 |
0.01 |
0.01 |
0.01 |
| double |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| double |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| none |
left |
0.01 |
0.97 |
0.01 |
0.01 |
| none |
right |
0.01 |
0.01 |
0.01 |
0.97 |
| none |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| none |
none |
0.25 |
0.25 |
0.25 |
0.25 |
|
The sensor model for Support-2 (CPT for ActObs) was identical to those used in
the other Support networks.
Support-3 DBN
The Support-3 model further expanded the support recognition models to improve
prediction and recognition. It was realised that the double support state
introduced uncertainty into the previous models; if the previous state was a
double support, and in the absence of any action observation (i.e. in
prediction slices), the left and right support states were equi-probable (see
Section 8.4.2). If the current slice knew the
support states of the previous two slices, it could make a better
prediction regarding the next support8.3 - for
example given the last two supports were left and double, the network could
give a higher probability to a resulting right rather than left support. This
was achieved through the addition of a `forwarding node' called `PrevSupport',
as shown in Figure 8.4. This used the conditional probability
distribution given by Equations 8.4 which effectively
forwarded exact copies of the support node probability distribution two slices
ahead.
Figure 8.4:
Support-3 network structure, showing additional PrevSupport
support state forwarding node
|
|
Due to the new structure shown in Figure 8.4, if the network
was provided with enough evidence to establish a sequence of two support
states from a gait cycle (such as left followed by double), following slices
were able to interpolate subsequent support and action states, according to
the gait cycle, without the need for new evidence. This behaviour is
particularly useful for prediction. If the gait cycle finishes or changes, the
network updates its predictions accordingly, and can reestablish a prediction
sequence as new evidence arrives.
Figure 8.5 shows six slices of the support-3
network where the first two slices have received the evidence `rup' and
`rdown' enabling the network to predict the following support states (double,
right and double) and associated actions. However, it was noted that the
certainty starts decay towards the sixth slice.
Figure 8.5:
Example of support-3 network prediction given right-foot-up and
right-foot-down evidence in first two slices.
|
|
Besides the Support and new PrevSupport nodes, the conditional probability
distributions of the Support-3 network were identical to previous support
networks. The PrevSupport relationship simply takes on the same values as the
previous slice's support node with 100% certainty, so it's CPT can be
expressed by equation 8.4.
Stumble-1 DBN
The first of the networks incorporating fall detection, the stumble-1 network
built on the basic structure of the Support networks by adding `Status' and
`Interval' nodes. The primary aim of this network was to produce a belief in
the subject stumbling or tripping using the support state and time intervals
between footsteps.
The new status node was binary and could take on the states `ok' or
`stumble'8.4. This node used the current support,
the previous status belief and the interval between footfalls to determine the
overall state of ambulation. The stumble-1 network still expected to be
processing walking data, and as such it's CPTs reflected sequences of left and
right support states interleaved with double supports. The `none' support
state contributed to the belief in a `stumble'. Small intervals between steps
were also considered contributory to the `stumble' state, as these would be
expected to result from a quick corrective step during a stumble event.
The interval nodes, `Interval' and `IntervalObs' had the states `small' and
`large', and were used represent the time interval between successive
foot-strikes. A `small' interval state was used to signify the time between
footsteps being smaller than expected for a normal walking pattern.
Conversely, a `large' interval represented a larger foot-strike to foot-strike
time, which encouraged the belief in the subject's `ok' state. The interval
used by the feature extraction system to instantiate the `small' or `large'
states in the IntervalObs node was reckoned to be 0.5 seconds. This value was
established through analysis of normal walking recordings, and is slightly
lower than the interval used by McGowan [4], although it can be
easily calibrated to suit different individuals8.5. The interval
evidence was only added when a footstep occurred, so the stumble-1 network did
not recognise states such as standing still or sitting down.
Figure 8.6:
stumble-1 network structure
|
|
As a new observation node (IntervalObs) was added to the network, the feature
extraction configuration had to be updated to include extraction of intervals.
This was accomplished by adding the following configuration commands to those
used in the support networks (Section
8.1.3).
[E_LDOWN] > {or E_RDOWN} > {interval} > [DT_FOOTDOWN];
[E_LUP] > {or E_RUP} > {interval} > [DT_FOOTUP];
# enter evidence into IntervalObs node:
[DT_FOOTDOWN] > {or DT_FOOTUP} > {*quantise IntervalObs small 0.5 large};
The interval function was used here to determine time between foot-up
and foot-down events (which are still entered into the ActObs node). These
intervals are combined through the or function and fed into the
*quantise evidence extractor, which is configured to instantiate the
IntervalObs node to its `small' state if the interval is less than 0.5 seconds
or `large' otherwise.
As the only causal link between the new and support network nodes was directed
from the Support to Status node, the CPTs for the nodes Support, Action
and Actobs remained unchanged.
The CPT for the new status node is shown in Table
8.8. As shown in Table
8.8, `small' interval states produced
higher stumble probabilities, and long intervals favoured the `ok' state. The
mode of support also effected the status node; double support was considered
most stable and left or right single support slightly less stable. As this
network was designed to process walking (not running) gait cycles, a support
state of `none' was considered unstable.
Table 8.8:
CPT for the stumble-1 network's Status node
| Conditioning states |
P(StatusN+1| |
| |
|
|
IntervalN,StatusN, |
| |
|
|
SupportN+1) |
|
IntervalN |
StatusN |
SupportN+1 |
ok |
stumble |
| large |
ok |
left |
0.98 |
0.02 |
| large |
ok |
right |
0.98 |
0.02 |
| large |
ok |
double |
0.99 |
0.01 |
| large |
ok |
none |
0.7 |
0.3 |
| large |
stumble |
left |
0.7 |
0.3 |
| large |
stumble |
right |
0.7 |
0.3 |
| large |
stumble |
double |
0.8 |
0.2 |
| large |
stumble |
none |
0.4 |
0.6 |
| small |
ok |
left |
0.3 |
0.7 |
| small |
ok |
right |
0.3 |
0.7 |
| small |
ok |
double |
0.4 |
0.6 |
| small |
ok |
none |
0.2 |
0.8 |
| small |
stumble |
left |
0.1 |
0.9 |
| small |
stumble |
right |
0.1 |
0.9 |
| small |
stumble |
double |
0.3 |
0.7 |
| small |
stumble |
none |
0.05 |
0.95 |
|
The Interval evidence was expected to be correct 95% of the time, so the
network's interval sensor model can be represented by equation
8.5.
The CPT for the first status node assumes the subject usually starts in a
stable state (Table 8.9).
Table 8.9:
Conditional probability table for stumble-1 network's first-slice status node
| Conditioning states |
 |
| SupportN |
ok |
stumble |
| left |
0.98 |
0.02 |
| right |
0.98 |
0.02 |
| double |
0.99 |
0.01 |
| none |
0.8 |
0.2 |
|
Stumble-2 DBN
Results from the stumble-1 network (Section
9.3.5) showed that the status distribution
quickly became uncertain8.6 due to decaying certainties in
the interval and support states. The Stumble-2 network was designed to counter
this effect.
The stumble-2 network combined the stumble detection of stumble-1 (Section
8.6) and the second-order design of the support-3
network (Section 8.5, with the further addition of a
temporal causal link between successive interval nodes. Through the
incorporation of the support-3 network, the support beliefs tended to have
higher certainty, and the addition of the link between interval nodes
attempted to achieve the same result for interval beliefs.
Figure 8.7:
Stumble-2 network structure
|
|
As was the case for the stumble-1 network, incorporating the support-3 network
doesn't require any changes to its CPTs as all its nodes retained the same set
of parents. The main parameter difference between this network and the
support-3 and stumble-1 networks is the state-evolution model contained within
the Interval node. The current interval was expected to be the same as the
previous with 95% certainty, so the Interval CPT can be specified by Equation
8.6.
Stumble-3 DBN
The stumble-3 model was the last model implemented, which expanded on
support-2 and also included some higher-level recognition of the mode of
ambulation. The `Mode' node could take on the states `stop', `walk', `run',
`stumble' and `fall', which represented the modes of ambulation the network
aimed to detect through observation of intervals, supports states and previous
modes.
As shown in Figure 8.8, the only structural differences to the
stumble-2 network (Figure 8.7) was the replacement of
the `Status' node with `Mode', and the causal link directed from the `Mode' to
`Support' node. This link reflected the causal relationship that the current
ambulation mode has on the sequence of supports (see Parameters below).
Figure 8.8:
Stumble-3 network structure
|
|
As the support node had Mode added as a parent, its CPT changed considerably
from previous networks. This causal link was used by the support node to
influence its belief in the mode of support with respect to the current mode
of ambulation.
For example, if the current `Mode' was `run, the support node would expect a
sequence of `left' and `right' states separated by `none' support states.
Conversely if Mode was `walking', the support node would expect this
separating state to be `double'. As shown in Tables
8.10 and 8.11, Fall
modes were modelled by increased conditional probability of a `none' support
state, stumble modes resulted in probabilities similar to walking, but with
increased emphasis on no support, and the stop mode expected sustained double
support using the timeout interval.
Table 8.10:
First half of CPT for the stumble-3 DBN's Support
node.
| Conditioning states |
P(SupportN+1| |
| |
|
|
ModeN+1,PrevSupportN,SupportN) |
|
ModeN+1 |
PrevSupportN |
SupportN |
left |
right |
double |
none |
| stop |
left |
left |
0.5 |
0.09 |
0.4 |
0.01 |
| stop |
left |
right |
0.3 |
0.3 |
0.39 |
0.01 |
| stop |
left |
double |
0.08 |
0.01 |
0.9 |
0.01 |
| stop |
left |
none |
0.3 |
0.1 |
0.3 |
0.3 |
| stop |
right |
left |
0.3 |
0.3 |
0.39 |
0.01 |
| stop |
right |
right |
0.09 |
0.5 |
0.4 |
0.01 |
| stop |
right |
double |
0.01 |
0.08 |
0.9 |
0.01 |
| stop |
right |
none |
0.1 |
0.3 |
0.3 |
0.3 |
| stop |
double |
left |
0.3 |
0.2 |
0.3 |
0.2 |
| stop |
double |
right |
0.2 |
0.3 |
0.3 |
0.2 |
| stop |
double |
double |
0.02 |
0.02 |
0.95 |
0.01 |
| stop |
double |
none |
0.025 |
0.025 |
0.85 |
0.1 |
| stop |
none |
left |
0.2 |
0.2 |
0.3 |
0.3 |
| stop |
none |
right |
0.2 |
0.2 |
0.3 |
0.3 |
| stop |
none |
double |
0.1 |
0.1 |
0.6 |
0.2 |
| stop |
none |
none |
0.33 |
0.33 |
0.33 |
0.01 |
| walk |
left |
left |
0.2 |
0.09 |
0.7 |
0.01 |
| walk |
left |
right |
0.33 |
0.33 |
0.33 |
0.01 |
| walk |
left |
double |
0.01 |
0.97 |
0.01 |
0.01 |
| walk |
left |
none |
0.07 |
0.9 |
0.01 |
0.02 |
| walk |
right |
left |
0.33 |
0.33 |
0.33 |
0.01 |
| walk |
right |
right |
0.09 |
0.2 |
0.7 |
0.01 |
| walk |
right |
double |
0.97 |
0.01 |
0.01 |
0.01 |
| walk |
right |
none |
0.9 |
0.07 |
0.01 |
0.02 |
| walk |
double |
left |
0.01 |
0.01 |
0.97 |
0.01 |
| walk |
double |
right |
0.01 |
0.01 |
0.97 |
0.01 |
| walk |
double |
double |
0.4 |
0.4 |
0.19 |
0.01 |
| walk |
double |
none |
0.33 |
0.33 |
0.33 |
0.01 |
| walk |
none |
left |
0.33 |
0.33 |
0.33 |
0.01 |
| walk |
none |
right |
0.33 |
0.33 |
0.33 |
0.01 |
| walk |
none |
double |
0.33 |
0.33 |
0.33 |
0.01 |
| walk |
none |
none |
0.33 |
0.33 |
0.33 |
0.01 |
| run |
left |
left |
0.3 |
0.2 |
0.25 |
0.25 |
| run |
left |
right |
0.3 |
0.2 |
0.25 |
0.25 |
| run |
left |
double |
0.3 |
0.2 |
0.3 |
0.2 |
| run |
left |
none |
0.01 |
0.97 |
0.01 |
0.01 |
| run |
right |
left |
0.2 |
0.3 |
0.25 |
0.25 |
| run |
right |
right |
0.2 |
0.3 |
0.25 |
0.25 |
| run |
right |
double |
0.2 |
0.3 |
0.3 |
0.2 |
| run |
right |
none |
0.97 |
0.01 |
0.01 |
0.01 |
| run |
double |
left |
0.3 |
0.3 |
0.2 |
0.2 |
| run |
double |
right |
0.3 |
0.3 |
0.2 |
0.2 |
| run |
double |
double |
0.2 |
0.2 |
0.3 |
0.3 |
| run |
double |
none |
0.2 |
0.2 |
0.3 |
0.3 |
| run |
none |
left |
0.01 |
0.01 |
0.01 |
0.97 |
| run |
none |
right |
0.01 |
0.01 |
0.01 |
0.97 |
| run |
none |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| run |
none |
none |
0.3 |
0.3 |
0.1 |
0.3 |
|
Table 8.11:
Second half of CPT for the stumble-3 DBN's Support
node, reflecting the effect of ambulation mode on support sequence.
| Conditioning states |
P(SupportN+1| |
| |
|
|
ModeN+1,PrevSupportN,SupportN) |
|
ModeN+1 |
PrevSupportN |
SupportN |
left |
right |
double |
none |
| stumble |
left |
left |
0.2 |
0.01 |
0.7 |
0.09 |
| stumble |
left |
right |
0.25 |
0.25 |
0.25 |
0.25 |
| stumble |
left |
double |
0.01 |
0.97 |
0.01 |
0.01 |
| stumble |
left |
none |
0.01 |
0.9 |
0.01 |
0.08 |
| stumble |
right |
left |
0.25 |
0.25 |
0.25 |
0.25 |
| stumble |
right |
right |
0.01 |
0.2 |
0.7 |
0.09 |
| stumble |
right |
double |
0.97 |
0.01 |
0.01 |
0.01 |
| stumble |
right |
none |
0.9 |
0.01 |
0.01 |
0.08 |
| stumble |
double |
left |
0.01 |
0.01 |
0.97 |
0.01 |
| stumble |
double |
right |
0.01 |
0.01 |
0.97 |
0.01 |
| stumble |
double |
double |
0.4 |
0.4 |
0.19 |
0.01 |
| stumble |
double |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| stumble |
none |
left |
0.01 |
0.01 |
0.08 |
0.9 |
| stumble |
none |
right |
0.01 |
0.01 |
0.08 |
0.9 |
| stumble |
none |
double |
0.25 |
0.25 |
0.25 |
0.25 |
| stumble |
none |
none |
0.25 |
0.25 |
0.25 |
0.25 |
| fall |
left |
left |
0.06 |
0.03 |
0.01 |
0.9 |
| fall |
left |
right |
0.045 |
0.045 |
0.01 |
0.9 |
| fall |
left |
double |
0.01 |
0.05 |
0.04 |
0.9 |
| fall |
left |
none |
0.01 |
0.01 |
0.01 |
0.97 |
| fall |
right |
left |
0.045 |
0.045 |
0.01 |
0.9 |
| fall |
right |
right |
0.03 |
0.06 |
0.01 |
0.9 |
| fall |
right |
double |
0.05 |
0.01 |
0.04 |
0.9 |
| fall |
right |
none |
0.01 |
0.01 |
0.01 |
0.97 |
| fall |
double |
left |
0.01 |
0.01 |
0.02 |
0.96 |
| fall |
double |
right |
0.01 |
0.01 |
0.02 |
0.96 |
| fall |
double |
double |
0.01 |
0.01 |
0.02 |
0.96 |
| fall |
double |
none |
0.01 |
0.01 |
0.01 |
0.97 |
| fall |
none |
left |
0.01 |
0.01 |
0.01 |
0.97 |
| fall |
none |
right |
0.01 |
0.01 |
0.01 |
0.97 |
| fall |
none |
double |
0.01 |
0.01 |
0.01 |
0.97 |
| fall |
none |
none |
0.01 |
0.01 |
0.01 |
0.97 |
|
To enable detection of the `stop' mode, the Interval node was updated to
include a `timeout' state. Using the feature extraction system, if no foot
events were recorded for 900 milliseconds, the IntervalObs node was
instantiated to `timeout' and the Action node to `none' (see feature
extraction section below). The Mode node's CPT is shown in Table
8.12.
Table 8.12:
CPT for stumble-3 DBN's `Mode' node.
| Conditioning states |
 |
|
Interval0 |
Mode0 |
stop |
walk |
run |
stumble |
fall |
| short |
stop |
0.04 |
0.04 |
0.5 |
0.4 |
0.02 |
| short |
walk |
0.01 |
0.05 |
0.6 |
0.3 |
0.04 |
| short |
run |
0.01 |
0.01 |
0.8 |
0.17 |
0.01 |
| short |
stumble |
0.01 |
0.01 |
0.17 |
0.8 |
0.01 |
| short |
fall |
0.01 |
0.01 |
0.2 |
0.68 |
0.1 |
| long |
stop |
0.07 |
0.9 |
0.01 |
0.01 |
0.01 |
| long |
walk |
0.01 |
0.96 |
0.01 |
0.01 |
0.01 |
| long |
run |
0.01 |
0.9 |
0.07 |
0.01 |
0.01 |
| long |
stumble |
0.01 |
0.9 |
0.01 |
0.07 |
0.01 |
| long |
fall |
0.01 |
0.5 |
0.01 |
0.08 |
0.4 |
| timeout |
stop |
0.9 |
0.01 |
0.01 |
0.01 |
0.07 |
| timeout |
walk |
0.8 |
0.01 |
0.01 |
0.01 |
0.17 |
| timeout |
run |
0.6 |
0.01 |
0.01 |
0.01 |
0.37 |
| timeout |
stumble |
0.4 |
0.01 |
0.01 |
0.01 |
0.57 |
| timeout |
fall |
0.1 |
0.01 |
0.01 |
0.01 |
0.87 |
|
The addition of a `timeout' state to the `Interval' node required that the
interval evidence extraction be updated as follows:
[LTRAW] > {timeout E_LDOWN E_LUP E_RDOWN E_RUP 1.0} > [TIMEOUT];
[DT_FOOTDOWN] > {or DT_FOOTUP TIMEOUT}
> {*quantise IntervalObs short 0.5 long 0.9 timeout};
.defaultstate
ActObs: none;
Firstly the timeout filter is used to produce an event if no foot
events occur within one second8.7. This and the foot up/down time intervals extracted earlier are
combined and fed into the quantise evidence extractor. This sets IntervalObs
to `short' for intervals less than 0.5 seconds, `long' between 0.5 and 0.9
seconds and `timeout' for intervals above 900 milliseconds.
The .defaultstate configuration is also added so that if a timeout
does occur, the `ActObs' node is automatically set to its `none' state..
Next: Experimental Results
Up: No Title
Previous: Software
Daniel J Willis
2000-10-23