xaffect A Modular Framework for Online Affect Recognition and Biofeedback Applications

Similar documents
Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System

Development of Integrated Management System based on Mobile and Cloud service for preventing various dangerous situations

Development of Integrated Management System based on Mobile and Cloud Service for Preventing Various Hazards

In: Proceedings of RECPAD th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

Cell Phone Based Liquid Inventory Management Using Wireless System

A Noble Integrated Management System based on Mobile and Cloud service for preventing various hazards

VitalJacket SDK v Technical Specifications

A Demonstration of a Robust Context Classification System (CCS) and its Context ToolChain (CTC)

VitalJacket SDK v Technical Specifications

Semi-Automatic Generation of Monitoring Applications for Wireless Networks

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS

Rotorcraft Health Management System (RHMS)

Robot Task-Level Programming Language and Simulation

JAVA-BASED FRAMEWORK FOR REMOTE ACCESS TO LABORATORY EXPERIMENTS. Department of Electrical Engineering University of Hagen D Hagen, Germany

A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS

Comparing affective responses to standardized pictures and videos: A study report

A NEW ARCHITECTURE OF A UBIQUITOUS HEALTH MONITORING SYSTEM:

REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT

Multi-objective Design Space Exploration based on UML

Self-Evaluation Configuration for Remote Data Logging Systems

Design Document. Offline Charging Server (Offline CS ) Version i -

ATV Data Link Simulator: A Development based on a CCSDS Layers Framework

A General Framework for Tracking Objects in a Multi-Camera Environment

STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM

Research of Smart Distribution Network Big Data Model

Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication

Gaming as a Service. Prof. Victor C.M. Leung. The University of British Columbia, Canada

XMPP A Perfect Protocol for the New Era of Volunteer Cloud Computing

A Web Service for Data Visualization in Distributed Automation and Information Systems

Towards Supporting Contextual Privacy in Body Sensor Networks for Health Monitoring Service

A JDF-enabled Workflow Simulation Tool

An Implementation of Active Data Technology

REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING

PIE. Internal Structure

Cloud Computing for Agent-based Traffic Management Systems

Prevention of Spam over IP Telephony (SPIT)

From online experiments to smart devices

Network Scanning: A New Feature for Digital Copiers

SEMS: The SIP Express Media Server. FRAFOS GmbH

Desktop Virtualization Technologies and Implementation

Virtual Platforms Addressing challenges in telecom product development

ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises

Sensor Integration in the Security Domain

Designing Applications with Distributed Databases in a Hybrid Cloud

A Study on Integrated Operation of Monitoring Systems using a Water Management Scenario

Personalized e-learning a Goal Oriented Approach

Next Generation. Surveillance Solutions. Cware. The Advanced Video Management & NVR Platform

PRODUCING AN EDUCATIONALLY EFFECTIVE AND USABLE TOOL FOR LEARNING, THE CASE OF JELIOT FAMILY

Comparison of Request Admission Based Performance Isolation Approaches in Multi-tenant SaaS Applications

Masters in Human Computer Interaction

Masters in Advanced Computer Science

The Concept of Automated Process Control

EBERSPÄCHER ELECTRONICS automotive bus systems. solutions for network analysis

Masters in Artificial Intelligence

White Paper. How Streaming Data Analytics Enables Real-Time Decisions

How To Understand The Power Of The Internet Of Things

How To Recognize Voice Over Ip On Pc Or Mac Or Ip On A Pc Or Ip (Ip) On A Microsoft Computer Or Ip Computer On A Mac Or Mac (Ip Or Ip) On An Ip Computer Or Mac Computer On An Mp3

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

MODULAR DISTRIBUTED MANUFACTURING SYSTEMS AND THE IMPLICATIONS FOR INTEGRATED CONTROL

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

ONLINE HEALTH MONITORING SYSTEM USING ZIGBEE

A Novel QoS Framework Based on Admission Control and Self-Adaptive Bandwidth Reconfiguration

Stream Processing on GPUs Using Distributed Multimedia Middleware

SIMERO Software System Design and Implementation

AN INTELLIGENT TUTORING SYSTEM FOR LEARNING DESIGN PATTERNS

Key factors for personal health monitoring and diagnosis devices

REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES. Jesse Wright Jet Propulsion Laboratory,

AMA, an application for Monitoring, Analysis and Monitoring A tool to better understand autism

A class-structured software development platform for on-board computers of small satellites

A Survey Study on Monitoring Service for Grid

EUROPASS DIPLOMA SUPPLEMENT

RUBA: Real-time Unstructured Big Data Analysis Framework

Generic Log Analyzer Using Hadoop Mapreduce Framework

Hitachi Open Middleware for Big Data Processing

SERENITY Pattern-based Software Development Life-Cycle

Towards a Transparent Proactive User Interface for a Shopping Assistant

3 Software Defined Radio Technologies

SERVICE ORIENTED APPLICATION MANAGEMENT DO CURRENT TECHNIQUES MEET THE REQUIREMENTS?

Oracle Value Chain Planning Inventory Optimization

A Resilient Device Monitoring System in Collaboration Environments

Masters in Computing and Information Technology

An Agent-Based Concept for Problem Management Systems to Enhance Reliability

Web of Things Use Cases and Solutions at FZI

Mobile Cloud Middleware: A New Service for Mobile Users

Journal of Chemical and Pharmaceutical Research, 2015, 7(3): Research Article

Empathic Tutoring Software Agents Using Real-time Eye Tracking

SIPAC. Signals and Data Identification, Processing, Analysis, and Classification

An Architecture for Interaction Event Processing in Tabletop Systems

Monitoring BPMN-Processes with Rules in a Distributed Environment

Disfer. Sink - Sensor Connectivity and Sensor Android Application. Protocol implementation: Charilaos Stais (stais AT aueb.gr)

Implementation of CVIS ITS Application in a Driving Simulator Environment Kenneth Sørensen, kenneth.sorensen@sintef.no SINTEF

A Review on Network Intrusion Detection System Using Open Source Snort

Fig. 1 BAN Architecture III. ATMEL BOARD

POLARIS: Planning and Operations Language for Agentbased Regional Integrated Simulation

Neural Network Design in Cloud Computing

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

Three Stages for SOA and Service Governance

Capturing provenance information with a workflow monitoring extension for the Kieker framework

Preserving Message Integrity in Dynamic Process Migration

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

Transcription:

xaffect A Modular Framework for Online Affect Recognition and Biofeedback Applications Kristina Schaaff, Lars Müller, Malte Kirst, and Stephan Heuer FZI Forschungszentrum Informatik, Karlsruhe, Germany, [schaaff,lmueller,kirst,heuer]@fzi.de Abstract. Providing information about the affective state of a person is getting more and more important in a wide range of learning applications. For instance biofeedback can be used to reduce stress level or increase the performance of a person during a learning task. The development of wearable physiological sensors drives the development of applications that provide online biofeedback using sensor data for online analysis. In this paper we present a Java software framework called xaffect for complex online biofeedback systems that can be used as a rapid prototyping middleware between physiological sensors and third party software. We designed xaffect for financial decision making support, but due to its easy extensibility it is a useful framework for several other affective computing applications. Biomedical engineers and computer scientists are invited to use xaffect and extend it according to their requirements. 1 Introduction The affective state plays an important role for learning. It does not only influence well-being but also our decision making [10]. The knowledge of a person s affective state can help individuals to gain better self-awareness and improve self emotion regulation. Since the term affective computing has first been defined as computing that relates to, arises from, or deliberately influences emotions [11], a lot of affective applications have evolved. For instance, information about the affective state of a person can be used to make tutoring systems more human-like [3] and therefore can help to increase user acceptance of the system. Moreover, learning environments can be improved by using affective information, e. g. the content of the learning environment can be presented according to the current affective state of a person. Serious Gaming is another area where information about the affective state of a player can be used to enhance game-play. However, it is hard to objectively measure the affective state of a person. For instance questionnaires can only provide a snapshot at a certain time and often lack of objectivity. Therefore, physiological monitoring solutions can be used in order to provide online feedback to a user as the affective state is strongly correlated with the physiological state of a person [2]. The development of applications that use online biofeedback in order to create affective applications is mainly driven by the fact that recently physiological monitoring solutions are getting increasingly unobtrusive and cheap.

Developing a system which provides online feedback about the affective state of a person often involves testing a large number of combinations of different sensors or algorithms. Designing a biofeedback system as a rapid prototyping solution can therefore help to minimize the effort for the design of such a system and to maximize reusability of single system components. 2 State of the art Few learning applications already use physiological signals to capure affective aspects, e.g. AutoTutor [3]. However, various commercial products as well as non-commercial or open source projects for monitoring and analysis of certain physiological signals are available. Nevertheless, a closer look at these technologies reveals different drawbacks that a developer has to deal with. Most commercial systems are closed source solutions which do not allow modifications. Furthermore, they do not provide an interface for custom data access and analysis. While the software might provide sufficient analysis functionality for a certain biofeedback application, the choice of sensors coming with this software is often limited (e. g. with regard to sampling rate, number of available channels or parameters) and cannot be extended. Moreover, the documentation about the measuring methods and algorithms used for the data analysis often remains unclear, which introduces uncertainty into the interpretation of measurement results. Restrictive license terms and conditions concerning the rights to publish results and the ownership of acquired data may further constrain the usability of experiment outputs. There exist several open source frameworks for design of multimodal and / or biofeedback applications. However, most of these frameworks are either designed for affective applications such as biofeedback or for multimodal input but not both at the same time. For instance, solutions like the widely-used BCI2000 software [12] focus mainly on brain computer interfaces and do not provide algorithms for online feedback of other physiological data than EEG. Other solutions like ICARE [1], CrossWeaver [14] or ICON [4] are mainly designed for development of multimodal systems but lack of platform independency. OpenInterface [8] is another powerful platform which was designed for rapid prototyping of multimodal systems. However, it is focussed on multimodal interaction design in general but does not contain components for biofeedback applications. 3 Example Scenario: Biofeedback in Trading Decisions The affective state of a person has a large influence on how decisions are made in financial markets. In a study with 80 day-traders, [9] found, that traders with more intense emotional reactions to monetary losses or gains showed worse trading performance than traders with less intense emotional reactions. Moreover, [5] showed, that persons in a positive affective state tend to make more flexible decisions. Negative affect, on the other hand, determines more rational decision making. Helping traders to become aware of their current emotional state and to

regulate their emotions according to the market situation can help to improve decision making at financial markets. Figure 1 shows how biofeedback can be used to support the trader during the trading day. Physiological signals (e. g. heart rate or electrodermal activity) are used to compute the current affective state of a trader. This information is combined with data from the trading platform about the market situation and the trader s decisions. Subsequently, a feedback is provided to the trader in which way to regulate his or her emotions to adapt to the market situation. Trading Platform Sensor Trading Feedback Software Decisions Trader Feedback Emotion Regulation Fig. 1. Usage of biofeedback during trading Developing and testing such a scenario as described above generates various requirements for an affective monitoring framework in terms of hardware and software. The basic requirements are: Allow connection to different unobtrusive physiological sensors (e. g. ECG, EDA, respiration) according to the specific application (off-the-shelf or custom devices). Online processing of acquired data to enable real-time feature extraction and classification in order to provide information about the affective state of the user. Easy integration of new or improved algorithms. Possibility to integrate additional information sources (e. g. a trading platform) and to receive control commands (e. g. to start or stop sensors) from higher level systems. Logging of raw data and derived data from any processing step for further offline analysis or just for logging purposes. As a consequence, there was a need for a software framework for online affect recognition that can act as a middleware between physiological sensors and 3rd party software and meets the requirements for reconfigurability and extensibility.

4 The xaffect Framework xaffect is implemented as a modular Java framework to fulfill the requirements outlined above. Our concept of modularizing the system into reconfigurable components that can be easily reused is described in the following section along with the major architectural decisions. 4.1 Concept Systems for psychophysiological data analysis can be decomposed into three basic functionalities which are described by using a simple biofeedback application that visualizes the arousal level based on an ECG signal. First, data has to be received from a source, in this case an ECG sensor. Subsequently, an algorithm processes the data and creates a result such as the arousal level. The last step is to visualize the result to the user of the system. In more complex use cases, like presented in section 3, multiple sensors and algorithms are combined to create visualization and store the data for later analysis. These combinations result in four basic patterns depicted in Figure 2: (a) chaining, (b) parallel processing, (c) data fusion and (d) distributed processing. In the following, these patterns are described as each of them results in specific requirements towards a modular framework for psychophysiological data analysis. (a) Chaining A B C (c) fusion A C B (b) Parallel processing B A C (d) Distributed processing A B C A B C Fig. 2. Basic patterns for online data analysis The most basic setup (a) consists of a linear concatenation of components; the output of one component is the input for the next one. Chains of components can be built that conduct data processing in a sequential manner. When modules along these chains are reused or replaced by other components, the interfaces between components have to be standardized. These interfaces combine two aspects: (i) control interfaces (e. g. how to configure or start a module) and (ii) data interfaces (e. g. how to encode multi channel data). A second common pattern is the parallel processing (b) of data from one single data source or one data processor. It allows to speed up processing as well as comparing two processing approaches in near real-time. This requires that

each component is implemented as a single thread or process which has to be managed by the system. fusion (c) is the major challenge for multimodal systems that combine multiple data sources. A data fusion component has to deal with multiple inputs that are often unsynchronized due to hardware specific transmission rates and network delays, e. g. when sensors are connected by bluetooth. Distributed processing (d) of data across multiple platforms is becoming more important for mobile and cloud based applications. The requirements are varying between high bandwidth transmission of raw data and low bandwidth connections to multiple recipients of calculated features. 4.2 Architecture The overall architecture of the framework is illustrated in Fig. 3. xaffect breaks down the whole signal processing chain into a set of interchangeable Components. These can be classified into three categories: Sources Network Processors Dispatcher System Manager GUI Control Sinks Setups Components Core Setup Fig. 3. Overall architecture and control flow of the xaffect framework sources reflect all sensors, signal generators or timers that feed new data into the system. processors are responsible for the processing of incoming data. These include simple data converters as well as complex signal processing algorithms. sinks are responsible for data logging or data transmission. This does not only include streaming and storing data but also live visualization of the data and the computed features. Each component provides automatically multiple outputs. Additionally, they can be configured for multiple inputs. The components can be flexibly combined

that users can easily create new systems or experiment with different algorithms reusing components from other settings. As the whole framework is designed to process data online, each component is running in an independent thread to enable parallel computation of features whenever possible. The system configuration is defined in an application specific Setup, which specifies the correct order of all required components and their individual configuration parameters. xaffect s Core includes the basic functionality of initialization, the data dispatcher connects all components with queues. The Control provides the user interface for the framework either graphical for stand-alone applications or via network (UDP) for the integration into other software. 4.3 Flow xaffect uses the ideas of the Unisens 2.0 data format to exchange data between components. Unisens [7] is a generic data format for multi sensor data. It defines a human readable meta data format in XML that acts as a container for sensor data and annotations from various recording systems. Unisens 2.0 supports evenly sampled signals from different sensors with different sampling rates as well as discrete events like a QRS annotation for ECG data sets and unevenly sampled time discrete measurement values. Therefore, Unisens can be easily extended to new data formats and allows a rapid prototyping with different data sources and formats. All captured and processed data can be stored in Unisens format. This simplifies later debugging and offline analysis of developed systems supported by the extensive Unisens framework. 4.4 Network Communication Distributed processing is a central component of xaffect. Specialized data sources and data sinks can interlink multiple xaffect instances. Two modes of communication are available: a high bandwidth connection between two instances based on UDP and a low bandwidth publish subscribe mechanism based on the extensible Messaging and Presence Protocol (XMPP). XMPP is an IETF standard that mainly aims at instant messaging. However, it provides a widespread robust infrastructure to transmit messages to multiple receivers. 5 Prototyping with xaffect Due to its modular architecture the xaffect framework can easily be integrated into psychophysiological studies. The customization of xaffect is limited to the following steps: 1. Make sure that all required Components for signal generation, sensor integration, signal processing etc. are available. Missing components e. g. for the integration of new sensors or for new signal processing algorithms have to be implemented by extending an existing abstract class.

2. Generate a new Setup for the specific use case by defining the order and configuration parameters of all required components. Currently components exist for data acquisition covering electrodermal activity, cardiac activity, activity monitoring and mouse button press as well as signal generators and a Unisens data reader. Accordingly, components for feature computation from these signals have been integrated, as well as components for data logging in Unisens data format and for data visualization. So far, the xaffect framework has been integrated in two scenarios where biofeedback from physiological sensors was required. In our study about financial decision making, the xaffect framework has been used in order to connect different sensors to serious games. Goal of the study was developing a game to train a person s emotion regulation capabilities using biofeedback. For this purpose various ECG sensors had to be evaluated for suitability for the game. Moreover, different kinds of games with different game concepts (e. g. [6]) were developed and connected to xaffect using the UDP/IP interface. Due to the modular architecture of the xaffect framework, it was easy to test several combinations of sensors and games. Based on the raw ECG signal from the sensors, heart beats were detected and heart rate computed. Using this data, an arousal value was computed to be fed back into the game (see Fig. 4). The games reacted to the changes of the arousal level by adapting the difficulty. Sources ECG Recorder Game Processors QRS Detection Heartrate Calculation Arousal Calculation Sinks Game Logging Fig. 4. flow for two different setups In comparison to available open source software solutions described in Chapter 2, xaffect is focussed on biofeedback from multimodal sensor data. Therefore, xaffect closes the gap between highly specialized frameworks like BCI2000 and general signal processing frameworks like OpenInterface. In result, developers can choose from a variety of sources, processors and sinks to rapidly prototype customized biofeedback applications.

Due to the light-weight architecture, some of the components developed for the serious games setup could also be reused in a driving scenario [13] where heart rate is computed and displayed while a person is driving a car. xaffect will be extended by more physiological measures such as electrodermal activity in the future. 6 Conclusion and Future Work The xaffect framework offers a flexible way to integrate physiological sensors into online biofeedback scenarios. One of the main benefits of the xaffect framework is that the system can be configured for very complex scenarios. The integration effort of a new component is limited to writing an adapter for this component and to create or update the corresponding setup. Due to the modular architecture of the software, no changes regarding the core of the software will be necessary. Moreover, the modular architecture provides interfaces for easy integration of additional components such as new algorithms or additional sensors. The xaffect framework including Java source code, examples and documentation is available on www.xaffect.org under the original BSD license. Acknowledgements The research was carried out and funded as part of the xdelia research project (www.xdelia.org). We gratefully acknowledge funding from the European Commission under the 7th Framework Program, Grant No. 231830. References 1. Bouchet, J., Nigay, L., Ganille, T.: Icare software components for rapidly developing multimodal interfaces. In: Proceedings of the 6th international conference on Multimodal interfaces. pp. 251 258. ICMI 04, ACM, New York, NY, USA (2004) 2. Cacioppo, J.T., Berntson, G.G., Larsen, J.T., Poehlmann, K.M., Ito, T.A.: The psychophysiology of emotion, vol. 2, chap. 11, pp. 173 191. The Guilford Press (2000) 3. D Mello, S., Jackson, T., Craig, S., Morgan, B., Chipman, P., White, H., Person, N., Kort, B., el Kaliouby, R., Picard., R., Graesser, A.: Autotutor detects and responds to learners affective and cognitive states. In: Workshop on Emotional and Cognitive Issues at the International Conference of Intelligent Tutoring Systems (2008) 4. Dragicevic, P., Fekete, J.: Input device selection and interaction configuration with icon. People and Computers pp. 543 448 (2001) 5. Dreisbach, G., Goschke, T.: How positive affect modulates cognitive control: reduced perseveration at the cost of increased distractibility. Journal of experimental psychology Learning memory and cognition 30(2), 343 53 (2004) 6. Jerčić, P., Astor, P.J., Adam, M.T., Hilborn, O., Schaaff, K., Lindley, C., Sennersten, C., Eriksson, J.: A serious game using physiological interfaces for emotion regulation training in the context of financial decision-making. ECIS 2012 (2012)

7. Kirst, M., Ottenbacher, J.: Unisens a universal data format (2008), http://www.unisens.org, http://www.unisens.org 8. Lawson, J.Y.L., Vanderdonckt, J., Macq, B.: OpenInterface: A lightweight open source platform for rapid prototyping of multimodal applications. In: Proc. of 1st Int. Workshop on User Interface Extensible Markup Language UsiXML2010 (2010) 9. Lo, A.W., Repin, D.V., Steenbarger, B.N.: Fear and greed in financial markets: A clinical study of day-traders. NBER Working Papers 11243, National Bureau of Economic Research, Inc (2005) 10. Loewenstein, G., Lerner, J.S.: The role of affect in decision making. In: Davidson, R.J., Goldsmith, H.H., Scherer, K.R. (eds.) Handbook of Affective Science, chap. 31, pp. 619 642. Series in Affective Science, Oxford University Press, Oxford, New York (2003) 11. Picard, R.: Affective computing. Tech. Rep. 321, MIT Media Laboratory, Perceptual Computing Section (November 1995) 12. Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N., Wolpaw, J.R.: BCI2000: a general-purpose brain-computer interface (BCI) system. Biomedical Engineering, IEEE Transactions on 51(6), 1034 1043 (Jun 2004) 13. Schneider, J., Koellner, C., Heuer, S.: An approach to automotive ECG measurement validation using a car-integrated test framework. accepted for publication at 2012 IEEE Intelligent Vehicles Symposium, Alcala de Henares, Spain (2012) 14. Sinha, A.K., Landay, J.A.: Capturing user tests in a multimodal, multidevice informal prototyping tool. In: Proceedings of the 5th international conference on Multimodal interfaces. pp. 117 124. ICMI 03, ACM, New York, NY, USA (2003)