What is an Event?
                
                    At certain
                    times in the story, the control program needs
                    to know what the children are doing. In the
                    KidsRoom, the control program uses the sensor
                    outputs to compute yes-no answers to several
                    questions:
                    
                        - Is everyone in a
                            group? 
- Is everyone on the
                            bed? 
- Is everyone on the
                            path? 
- Is everyone moving
                            around the path or standing still? 
- Have the kids just
                            screamed? 
- Is someone near a
                            particular object? 
                Event Sensors and
                Detectors
                
                    The KidsRoom uses simple
                    rules to compute answers to the above
                    questions. For example, the
                    "in-a-group" detector gets the
                    position of each person from the vision
                    tracker and checks to make sure that every
                    person is within some pre-determined distance
                    of another person. The "on-the-bed"
                    detector fires true when the tracker blobs
                    for each person have merged into a single
                    large blob which includes the blob for the
                    bed (the bed can be moved and therefore must
                    be tracked). The "just-screamed"
                    detector checks if an amplitude threshold has
                    been achieved over a short temporal window. 
                
                Difficulties
                
                    One problem we encountered
                    when designing the KidsRoom was that
                    "simple" events are strongly
                    context-sensitive. For example, our
                    "in-a-group" detector will signal
                    false continuously if one mischievous kid
                    refuses to cooperate with the remaining
                    children. In this case, a more robust
                    detector might ignore the "outlier"
                    given that he hasn't been following the rules
                    for a while (e.g.using a "bad-kid"
                    detector). Similarly, if one child is scared
                    and remains on the bed while other children
                    explore the forest on the path, the
                    "in-a-group" detector should ignore
                    this child as well. These cases are not
                    handled in the current system, but offer an
                    interesting, challenging area of future
                    research in action and event understanding.