## 6 Design of the Monitoring System
### Storyboard View  
The storyboard is, at high level, a partitioning of the time range selected by the guardian. For the purpose of our application, each part should be describable in a concise way (i.e., it should not encompass an excessive number of events), but, at the same time, the total number of parts should be bounded. Striking a good balance between such constraints would successfully prevent an overload of information to the guardian. In practice, this can be obtained by generating the largest parts such that each action group has at most one occurrence of any sub-action in every part. Further reduction of information burden can be obtained by excluding uninteresting actions based on user preferences, and by considering low-confidence events only when they appear close to high-confidence events of the same class. This approach is formally described in Algorithm 1. ```
1:\(A=\{a_{g}(t)\}\)\(\triangleright\) Recognized actions, for each action group \(g\) at timestamp \(t\)
2:\(\mathcal{C}=\{c_{g}(t)\}\)\(\triangleright\) Recognition confidence values, for each action group \(g\) at timestamp \(t\)
3:\(S=\{s_{p}\}\)\(\triangleright\) Starting timestamps, for each part \(p\)
4:\(D=\{d_{p}\}\)\(\triangleright\) Descriptions, for each part \(p\)
5:for all timestamps \(t\)do\(\triangleright\) Selectively propagate high-confidence recognitions for all timestamps \(g\)do\(\triangleright\) If recognition has low confidence if\(c_{g}(t)=LOW\)then \(\triangleright\) If recognition has low confidence if\(c_{g}(t-1)=HIGH\)&&\(a_{g}(t-1)=a_{g}(t)\mid c_{g}(t+1)=HIGH\)&&\(a_{g}(t+1)=a_{g}(t)\)then \(c_{g}(t)\gets HIGH\)\(\triangleright\) If neighbor recognition is high confidence of the same class \(c_{g}(t)\gets HIGH\)\(\triangleright\) Propagate high confidence to current recognition endif endfor \(S=\emptyset\)\(D=\emptyset\)\(D=\emptyset\)\(\triangleright\) If \(\emptyset\) is not empty, \(d^{\prime}\), \(L\leftarrow\) init_partition(0)\(\triangleright\) If \

### Global View

The global view serves the purpose of providing a synthetic summary of the events, just like the storyboard view, but operates at a higher abstraction level. It consists of a pie chart for each action group, which renders information relative to the entire time range selected by the guardian. ### User-Customizable Filters and Notifications

As an additional tool for browsing and reducing the information burden, we provide the guardian with the possibility of filtering the set of actions recognized by our system. For example, one specific user might decide that the set of actions relative to touching different body parts should not influence the partitioning process involved in the storyboard view. In a similar fashion, we allow the guardian to create his/her own set of rules for triggering alarms. This is addressed with three types of trigger: a one-shot event (e.g., the act of falling), a time-range event (e.g., being on the floor for a certain amount of time), and a time-range absence (e.g., not drinking for a long time). More elaborate conditions could be implemented by resorting to dedicated high-level programming languages [61], although we consider expanding this topic in future works. ## 7 Conclusions

We have developed a monitoring system for taking care of elderly people, and for fulfilling their right to aging in place. By approaching the task as a machine-learning problem, we have carefully analyzed existing datasets for action recognition, and concluded that no single dataset matched the required criteria in terms of classes and cardinality. This led us to the definition of a new hierarchy of actions, and to the creation of a corresponding composite dataset, called ALMOND. We then developed and trained a monitoring approach that consists of localizing the subject, and recognizing the performed actions among the defined set. We aimed at reaching high accuracy in a wide range of subject poses, while keeping the computational effort under control.