Abstract
Human Computer Interaction based on gestures offers enormous potential for designing ergonomic user interfaces in future smart environments. Although gestures can be perceived as very natural, the specific gesture set of a given dedicated interface might be complex and require some kind of self-description of expected body movements. We have therefore developed a machine-readable XML-based model of Labanotation, a camera-based movement analysis engine for automatic model creation, as well as a graphical editor for supporting manual design of gestures. In this paper, we present a tool for automatic generation of multimodal human-readable gesture documentation based on the XML-model. Currently, the tool supports text and 3D model animation and can be expanded to other modalities.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
In recent years, many innovative human computer interaction methods have been proposed. Natural User Interfaces (NUI) try to reflect human traditional interaction with physical elements and are comprising of whole body elements including finger (touching), eye (tracking), body (moving) and even brain (signaling). In motion-based interactions, more and more full-body interactions are supported and many innovative interaction devices started entering the market (e.g., Myo, Leap Motion). With an increasing number of devices and plethora of interaction patterns, formal modelling of body movements has become essential. Interaction devices benefit from machine-readable descriptions for pattern detection and exchange in the Internet of Things with potentially several devices used as interaction ENSEMBLES [1]. Users benefit from human-readable modelling of body movements for learning the requirements of the interaction for (often varying) devices in use. Designers benefit by being enabled to describe and exchange design patterns during construction of innovative products.
Body movements for interaction can be considered as special forms of dance. Like musical scores can be used to compose and perform music, dance scores are used by theatre and music professionals to compose and perform dances. We propose to map this approach for HCI and have developed various methods and tools with the help of a modified version of Labanotation [2, 3].
2 Modelling Motion-Based Interactions with Labanotation
Labanotation is a movement language developed by Rudolf Laban in 1928, revised and improved multiple times, most notably at the Dance Notation Bureau [4]. Labanotation is very similar to music notation languages and notes body positions and movement commands on time lines. The symbol set covers all relevant body parts and joints and describes relations between each other as well as the position in space. It supports the notation of multiple motions in parallel and can therefore be used for simple but also quite complex interaction movements. It is therefore commonly used by professional choreographers and dancers.
By focusing on and extending essential structural elements, it is perfectly suited to describe body movements even in fine-granular movements. The use of Labanotation for the purpose of designing motion-based interaction has been suggested [5] and XML-based machine-readable implementations have been proposed as well (e.g., LabanWriter [6], Tiniklink/MovementXML [7], LabanEditor [8]).
Current methods used to describe and share interactions suffer from a number of problems, including the inability to capture a detailed description of the movements required and the inability to illustrate the timing and dynamic flow of said movements adequately. We have therefore developed an extended version of Labanotation based on XML, which also supports physical ability profiles in order to enhance the adaptability of movement-based interactions to a user’s individual physical context [9]. We have also developed tools for manually designing motion-based interactions using a graphical Editor [10] and an Analyser for automatic analysing interaction performances using cameras based on depth sensors (Kinect, OpenCV) [11]. Both tools can be used to create and edit XML-based models of interaction, either by conceiving movements using the editor or by observing movements using the analyser (Fig. 1).
3 Labanotation Visualisation
XML-based descriptions might be appropriate for machines for exchanging patterns between interconnected HCI devices in interactive IoT-scenarios (Internet of Things) and graphical visualisation of the Laban scores might be appropriate for skilled designers of interaction schemes. But end-users need a more intuitive representation of the expected body movements.
Literature reports about some early approaches to generate animations from Labanotation, mostly with the goal to ease the design of movements and give direct feedback to the user on a Labanotation score. The LabanEditor [8] animates Laban scores, but was designed with a specific focus on dance applications and does not support other output modalities. It also only supports a reduced set of symbols and the code is not publically available. The Mocap Data Editing approach [12] converts from motion captured (mocap) material to Labanotation and from there to animation. This gives the ability to edit motion captured sequences via Labanotation and can be used for motion editing. Since their framework uses the mocap data to extrapolate the Labanotation it functions on already given data and does not entirely create a new data set for animation.
4 Generator
We therefore have developed a new flexible system architecture in Java allowing for the creation of arbitrary modalities (Fig. 2). Our current implementation supports text and 3D character animations, but can easily be extended to other modalities, like e.g., speech output or graphical projections of cartoon animations on ambient displays in the respective smart space, etc. The systems contains an XML parser which converts the model into a set of serialized objects in the Movement Generator Engine. The parser is taken from our Editor [10] in order to guarantee interoperability. Every Labanotation symbol is taken with its parameters and type to create a new BodyPartMovement or JointMovement object to relate to a body part or joint and written into a list to keep the constraints of parallel and consecutive movements. The representation contains the direction and amount to be moved and the duration the whole motion should take to have a primitive representation for one motion. To represent a whole movement with these motions a correlation with each other is encoded.
The Engine is then configured to convert these objects into the modality of choice. Depending on the context, the resulting media output stream can either be stored in a local file or transmitted to other entities for further processing or visualisation. For this, a set of generator types can be utilized in the system.
4.1 Generating Text
Textual description can suffice for a basic understanding of the required movement for simple interaction schemes. Nevertheless, describing multiple parallel movements with natural languages can result in confusing long sentences as all related movements need to be named and put in relation with each other. Therefore some type of text formatting might be an option to separate different blocks of parallel movements with appropriate keywords to signal the parallelism.
One feature of Labanotation is that the side of a limb, its height or general direction and the limb itself can be obtained from a stage without much effort. The columns are used to indicate sides. The limbs used can be obtained by the presign of a symbol or from the current column. With the given model for movements a primitive text generation can be implemented by reading the data and paraphrase them directly with the given limbs. Due to the differentiation between turn movements and translating movements a keyword of either ‘turn’ or ‘move’ can be added to the text. The qualitative direction stored in the movement model, as obtained through the Laban symbols, can be given to describe the movements direction. The narrative of the given motions creates a movement path, which is not always particularly detailed due to the range of detail in Labanotation. Furthermore, the user reenacting the movement will not always be following the directions perfectly, but usually the general directions of movements are relevant and not the exact distance or points travelled to.
An example on how the text is displayed below. First the user is given his starting position. Then each block of synchronous movement is listed:
4.2 Generating Animations
Animations using human-like figures support a more intuitive description of required movements, especially for more complex patterns and parallel movements of several body parts. Even though Java provides libraries for 3D rendering, the possibilities are limited. We therefore use a more general approach of generating a movement description that can be used as input for any 3D graphic engine. This even allows for distributing the Generator and the rendering processes to different devices, which might be useful in some scenarios, where the interactive device could delegate the render process to some cloud server. As an example rendering engine we deployed Unity3D. The Unity3D engine uses the MonoDevelopment API which can be compile to different platforms, including Windows, MacOS and Linux.
To create an animation model, a kinematic skeleton is needed. The kinematic skeleton is an unsorted tree whose root is usually the hip. The hip is a particularly suited root node since it is the centre of mass of the human body. Movements within the body can be related to the hip, while a movement of the whole body, usually walking, can be represented by the translation of the hip, since all other joints are attached to this node. Combined these can be seen as a walking animation where the legs propel the body.
The Generator creates a kinematic skeleton tree from scratch by adding vectors (‘bones’) including the position and orientation of the human bones (see Fig. 3 with a kinematic chain outlined in red as a subtree of the overall body tree). With the paths inside the subtrees, the inverse kinematic algorithm can determine the angles of each bone for a specific endpoint position in each node. For this, the ‘vecmath’ library of Java is used. The objects and parameters of the resulting animation is then compiled into JSON strings, serialized using the ‘fastjson’ library and send to our Rendering Engine using a TCP socket connection using the Mono (.NET) API of Unity3D. Deserialisation is based on the ‘MiniJSON’ library. The following listing shows an example object:
5 Conclusions
The Documentation Generation Tool presented in this paper supports an intuitive learning process for future interactive interfaces. We have implemented two example modalities, namely text and animation. Currently, we are working on combining modalities to further increase usability, e.g., animation with oral explanations. We are also extending the system towards an ambient reflection framework [13] supporting self-describing interface devices and automatically combined multimodal rendering processes in ambient spaces.
References
Altakrouri, B.: Ambient Assisted Living with Dynamic Interaction Ensembles. Ph.D. dissertation, University of Lübeck, Germany, August 2014
Altakrouri, B., Gröschner, J., Schrader, A.: Documenting natural interactions. In: CHI 2013 Extended Abstracts on Human Factors in Computing Systems, CHI EA 2013. ACM, New York, May 2013
Altakrouri, B., Schrader, A.: Describing movement for motion gestures. In: 1st International Workshop on Engineering Gestures for Multimodal Interfaces (EGMI 2014) at the 6th ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS 2014), Italy, June, Rome, June 2014
Hutchinson, A.: Labanotation. The System of Analyzing and Recording Movement, 4th edn. Routledge, New York (2005)
Loke, L., Larssen, A.T., Robertson, T.: Labanotation for design of movement-based interaction. In: Proceedings of the Second Australasian Conference on Interactive Entertainment (IE 2005), Sydney, Australia, 2005
LabanWriter. Ohio State Department of Dance (2000). http://dance.osu.edu/labanwriter. Accessed 7 Apr 2016
Hatol, J.: MovementXML: A Representation of Semantics of Human Movement based on Labanotation. Simon Fraser University (2006)
Nakamura, M., Hachimura, K.: An XML representation of Labanotation, LabanXML, and its implementation on the notation editor LabanEditor2. In: Review of the National Center for Digitalization, Faculty of Mathematics, Belgrade (2006)
Altakrouri, B., Schrader, A.: Towards dynamic natural interaction ensembles. In: Proceedings of the Fourth Workshop on Physicality, Co-located with British HCI 2012, Birmingham, UK, September 2012
Altakrouri, B., Gröschner, J., Schrader, A.: Documenting natural interactions. In: ACM SIGCHI Conference on Human Factors in Computing Systems (CHI 2013), Work in Progress Section, Paris, France, 2013
Kordts, B., Altakrouri, B., Schrader, A.: Capturing and analysing movement using depth sensors and labanotation. In: 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems EICS 2015, Duisburg, Germany, June 2015
Shen, X., Li, Q., Yu, T., Geng, W., Lau, N.: Mocap data editing via movement notations. In: Ninth International Conference on Computer Aided Design and Computer Graphics (CAD-CG 2005), Hong Kong, China, December 2005
Burmeister, D., Altakrouri, B., Schrader, A.: Ambient reflection: towards self-explaining devices. In: Proceedings of the 1st Workshop on Large-scale and Model-based Interactive Systems: Approaches and Challenges (LMIS 2015) Co-located with 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS 2015), Duisburg, Germany, June 2015
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Stahl, K., Altakrouri, B., Burmeister, D., Schrader, A. (2016). Documentation Generation Tool for Motion-Based Interactions. In: Stephanidis, C. (eds) HCI International 2016 – Posters' Extended Abstracts. HCI 2016. Communications in Computer and Information Science, vol 618. Springer, Cham. https://doi.org/10.1007/978-3-319-40542-1_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-40542-1_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-40541-4
Online ISBN: 978-3-319-40542-1
eBook Packages: Computer ScienceComputer Science (R0)