Decentralized Resource Management for a Distributed Continuous Media Server AbstractÐDistributed continuous media server (DCMS) architectures are proposed to minimize the communication-storage cost for those continuous media applications that serve a large number of geographically distributed clients. Typically, a DCMS is designed as a pure hierarchy (tree) of centralized continuous media servers. In an earlier work, we proposed a redundant hierarchical topology for DCMS networks, termed RedHi, which can potentially result in higher utilization and better reliability over pure hierarchy. In this paper, we focus on the design of a resource management system for RedHi that can exploit the resources of its DCMS network to achieve these performance objectives. Our proposed resource management system is based on a fully decentralized approach to achieve optimal scalability and robustness. In general, the major drawback of a fully decentralized design is the increase in latency time and communication overhead to locate the requested object. However, as compared to the typically long duration and high resource/ bandwidth requirements of continuous media objects, the extra latency and overhead of a decentralized resource management approach become negligible. Moreover, our resource management system collapses three management tasks, 1) object location, 2) path selection, and 3) resource reservation, into one fully decentralized object delivery mechanism, reducing the latency even further. In sum, decentralization of the resource management satisfies our scalability and robustness objectives, whereas collapsing the management tasks helps alleviate the latency and overhead constraints. To achieve a high resource utilization, the object delivery scheme uses our proposed cost function, as well as various object location and resource reservation policies to select and allocate the best streaming path to serve each request. The object delivery scheme is designed as an application layer resource management middleware for the DCMS architecture to be independent of the underlying telecommunication infrastructure. Our experiments show that our resource management system is successful in realization of the higher resource utilization for the DCMS networks with the RedHi topology.Index TermsÐDistributed continuous media servers, decentralized resource management, distributed multimedia systems, content delivery networks, distributed information systems, video-on-demand. T HE advent of broadband access network technology that supports high-bandwidth connectivity for diversified end-user devices (e.g., PCs, wireless hand-held devices, settop boxes, etc.) on the one hand and introduction of effective encoding techniques, such as MPEG-4, that allow streaming of continuous media (e.g., video and audio) with reasonably low bandwidth requirements on the other hand enabled the emergence of an enormous number of multimedia applications such as video-on-demand (VOD) [1] , [2] , [3] , teleconferencing [4] , distance learning [5] , and interactive TV [6] . Researchers in academia and industry have been struggling for more than a decade to design highperformance centralized continuous media servers (CCMSs) [7] , [8] , [9] , [10] and provide facilities to support specific QOS requirements of continuous media communications on the network [11] , [12] , [13] , [14] , all motivated by a desire to realize wide-spread use of these applications.. Distributed continuous media applications (e.g. VOD) are expected to provide service to a large number of clients often geographically dispersed on a metropolitan, countrywide, or even global area. With a naive design, employing only one large CCMS to support these distributed clients results in inefficient resource allocations that renders the design virtually impractical. For instance, the overall bandwidth requirement to implement an interactive VOD system with such a design is estimated to be as high as 1.54 Pb/s for the continental United States [15] . The full economic potential of such applications will not be realized unless cost-effective solutions are achieved.. To address this problem, one group of researchers has focused on various techniques to either reduce bandwidth requirements of individual continuous media streams, with methods such as smoothing [16] , staging [17] , and bandwidth renegotiation [18] , or reduce overall bandwidth requirements of multiple streams via aggregation (or statistical multiplexing), for example, with batching and multicasting [19] , [20] . As an orthogonal solution, other researchers have proposed distribution of the service to manage dispersedness of clients, i.e., employing a number of CCMSs each to serve clients located in a certain locality and interconnecting them via a high-speed network infrastructure to be able to share/exchange the continuous media objects (it is important to note that, although serving clients locally will result in a dramatic reduction in the total communication bandwidth requirement of the system, unless servers are able to share the objects, the huge aggregated storage capacity requirement of the servers will render the no-sharing approach impractical, too). Systems designed based on this approach [21] , [22] , termed distributed continuous media servers (DCMSs), are shown to be able to provide the optimal solution, i.e., the minimum commu-nication-storage cost for distributed continuous media streaming applications [23] , [24] .. In this paper, we focus on developing a novel object delivery scheme as one of the components of a DCMS architecture. In the remainder of this section, first we describe the components of a typical DCMS architecture. Second, we briefly review those components of our proposed DCMS architecture, introduced in our previous work [25] , in order to provide the context. Finally, we highlight the contributions of this paper by enumerating the characteristics of our object delivery scheme, the component of focus in this paper. In this study, we developed an object delivery scheme for a DCMS network assuming the RedHi topology. The unique characteristics of this scheme are as follows:. . Given the unique features of continuous media objects, our object delivery scheme is designed as a fully decentralized resource management system that guarantees scalability and robustness as well as negligible start-up latency and resource management overhead. . Our object delivery scheme collapses three different resource management tasks into one distributed mechanism that executes all tasks integrated. . Our object delivery scheme is designed as an application layer resource management middleware that is independent of the underlying telecommunication infrastructure of the DCMS network. It does not assume any specific capabilities (e.g., multicasting and anycasting) for the telecommunication infrastructure except for providing point-to-point communication between adjacent nodes of the DCMS network. With our object delivery scheme, we introduced a cost function as well as various object location and path reservation policies. We performed extensive experiments via simulation to evaluate performances of these policies as well as overall performance of our object delivery scheme. Results of our experiments show that:. . Inclusive, path freeBW average , and ERO outperform other propagation, cost evaluation, and reservation techniques, respectively. . Our delivery scheme with a RedHi DCMS network can achieve up to 50 percent improvement in resource utilization over a pure hierarchy.. . The start-up latency and the communication overhead per each request can be as low as two seconds and 10b/s, respectively. We intend to extend this study in several ways. First, we would like to extend the object delivery mechanism to support VCR functions for interactive object delivery. Second, we also intend to merge the bandwidth renegotiation idea into our object delivery scheme to provide a hybrid solution for distributed continuous media applications. Finally, we are investigating techniques to incorporate self-configuration/warm-expansion capabilities into resource management.. Cyrus Shahabi received the BS degree in computer engineering from Sharif University of Technology at Tehran and the MS and PhD degrees in computer science from the University of Southern California (USC) in August 1993 and 1996, respectively. He is currently an assistant professor and the director of the Information Laboratory at the Computer Science Department at USC. He is also the director of the Information Management Research Area at the Integrated Media Systems Center (IMSC) and a US National Science Foundation Engineering Research Center at USC. He has published more than 50 articles, book chapters, and conference papers in the areas of databases and multimedia. His current research interests include multidimensional databases, multimedia servers, and data mining. He is a member of the IEEE and the IEEE Computer Society. . For more information on this or any computing topic, please visit our Digital Library at http://computer.org/publications/dlib. In this section, we review some related studies that investigate one or more of the three tasks we support with our object delivery scheme. The object location problem has been studied in various but closely related contexts such as tracking mobile users [39] , locating objects for distributed object programming [48] , locating nearby copies of replicated servers [49] , and resource discovery [50] . Directory service is a common mechanism often used for object location and many resource management systems include centralized directory servers [51] , [52] . These servers usually comprise object state databases and query servers for object location. All client requests for objects are redirected to the directory server, where the replicas of the requested object are located, via object state database and, usually, a particular cost function is used to select the most appropriate object server to respond the request. To enhance both scalability and robustness of the object location mechanisms (particularly for those used with large, distributed, and usually interconnected systems that carry many objects), many researchers have introduced various distributed (and possibly replicated) directory structures that maintain states of the objects in a distributed fashion among multiple directory servers. As discussed in Section 3, decentralization of the service can cause an increase in the response-time and resource management overhead of such systems. To address this problem, besides replication, these systems usually exploit the locality characteristic of user access patterns and map a hierarchy of regional directories to the network (i.e., the system carrying the objects) so that most read and update accesses to the object states within a region are responded to by the regional directory server [53] . Consequently, response-time and overhead of resource management are drastically reduced. For instance, Awerbuch and Peleg [39] introduce a distributed directory server that is able to locate migrating objects with a communication overhead within a polylogarithmic factor of the lower bound; however, their directory service does not support replicated objects. Bartal et al. [54] also propose a distributed directory service and a ªcompetitiveº access algorithm with optimal communication cost for mesh and pure tree network topologies. The hierarchy of directory servers developed by Steen et al. [48] considers the ªstabilityº of objects in each region and dynamically adapts to object migrations, but, as far as resource utilization optimization is concerned, it cannot distinguish the most appropriate replica of an object to be served. Plaxton et al. [49] use a virtual tree of object location agents that maps one-to-one into the network to locate replicas of an object. For each object, there is a separate tree and each node of the tree keeps track of the object replicas located at the entire subtree rooted at the node. On a request for an object, if a node does not find any replica of the object at its subtree, it forwards the request to its parent and this process repeats until a replica of the object is located. Due to the limited ªviewº of each agent, this approach does not guarantee locating the most appropriate object replica (i.e., the one that results in optimal resource utilization). This drawback might not be important in a system with small objects that are served with a low amount of resources and a good response-time requirement, however, for streaming applications with continuous media objects, which have intensive resource requirements and longer tolerable start-up latency, it will result in low resource utilization.. Our object delivery scheme can be considered as an extreme case distributed directory service to achieve optimal scalability and robustness. As compared to a normal distributed directory service, as far as responsetime and resource management overhead are concerned this approach minimizes the overhead of the update to the states (updates local metadata only), while it results in increase in the read access overhead. As discussed in Section 3, we alleviate the overhead of the read access to negligible level by collapsion of the object delivery tasks. It is important to note that almost all distributed directory structures assume a pure tree or a mesh topology for the network that contain the objects, whereas our scheme assumes a RedHi topology for the DCMS network. Besides, some systems rely on specific capabilities of the underlying telecommunication infrastructures, such as anycasting and multicasting, as the main means for object location [55] . This approach makes these systems network dependent. Our application layer scheme does not assume any of these specific capabilities for the underlying infrastructure of the DCMS network rather than point-to-point communication between adjacent nodes. A hybrid system in which both normal unicast and multicast communications can be used for object location was recently introduced by Cranor et al. [56] .. The path selection problem is well studied with dynamic routing algorithms such as distance vector (RIP) [57] and link state (OSPF) [58] . These algorithms enable each node of a network to find the ªbestº path between itself and other nodes of the network. A cost function (e.g., hop count) is usually defined to evaluate the costs of all paths between two nodes and to select the best path (i.e., the path with minimum cost) among them. Our path selection algorithm is supposed to find the best path among the paths between a single node, a head-end, and multiple potential object server nodes of the DCMS network, which are located by the object location algorithm. With multiple object servers, each probably having multiple paths to the head-end in the RedHi redundant topology, a simple cost function such as hop count cannot resolve the highly probable tie conditions in the costs of the paths efficiently so that it results in low resource utilization. To achieve high resource utilization, our cost function considers load balancing by breaking the ties based on the current traffic load of the paths. Moreover, our path selection algorithm runs at the application layer on the DCMS network, whereas normal routing algorithms run at the network layer within the underlying telecommunication infrastructures. Therefore, our cost measures relate to streaming resources rather than networking resources, e.g., we consider CCMS available bandwidth rather than link propagation delay as a cost measure.. Finally, the resource reservation problem is also studied under protocols such as RSVP [59] and ST-2 [60] , which intend to provide communication links with guaranteed service by reserving resources across the network. These protocols assume the communicating peers are already known and describe the procedure to reserve the required resources across a path between the peers, whereas, since, with our approach, reservation is integrated into object location and path selection, the peers (particularly the selected object server) and the selected path between peers are not known in advance. Our resource reservation algorithm runs at the application layer to reserve resources in the DCMS network, whereas the reservation protocols mentioned above run at the network layer within the underlying telecommunication infrastructures. Cao et al. [61] and Huang et al. [62] propose two typical application layer centralized and semidistributed resource reservation schemes, respectively. Our object delivery scheme supports fully distributed resource reservation.

B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I B I I B I I B I I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Efficient median estimation for large-scale sensor RFID systems We consider the median estimation problem in a large-scale sensor augmented RFID system. The large-scale deployment of RFID technology has opened the door to innovative ways to integrate RFID and sensor technology. Sensor-tags are tags that can report over 50 types of physical information to a reader. The traditional way to obtain information from sensor-tags is to query each tag. When the number of tags is large, however, it is prohibitive to query tags individually due to the high delay. In this paper, we present a probabilistic algorithm to estimate the median of a set of sensor-RFID tags without individually querying each tag. The median estimation problem is solved using binary search. Our evaluation demonstrates that the median search algorithm exhibits high accuracy and reasonable time latency. Moreover, we also design an exact algorithm for the continuous median update problem. Our algorithm can incrementally compute the exact median in less time. There are a lot of arguments for integrating RFID tags and sensors . RFID tags are unobtrusive, inexpensive, have a long lifetime and do not consume a lot of power (Buettner et al., 2008) . Sensors on the other hand have sensing ability, need a source of power on-board and can communicate using multi-hop communication protocols. Sensors are also exhibiting more and more accuracy and sensitivity. We consider an application scenario in which RFID technology is used for identification and communication while sensor technology is used for sensing. Both the tag and the sensor are attached to an object which needs to be monitored. These sensor-tags have the capabilities of sensing and more powerful computational capabilities (Smith et al., 2006; Zhang et al., 2009 ) than ordinary tags. An example of tags integrated with sensors is WISP tags (Smith et al., 2006; Roy et al., 2010) . WISP tags can report quantities such as temperature, liquid level, and light. Inside the WISP tags, the energy taken from the reader operates a 16-bit programmable, low power micro-controller unit. The micro-controller can sample data from the sensors and report that data when probed by the readers (Smith et al., 2006; Roy et al., 2010) . These sensor readings can be very large in quantity and very wide in the range of values represented by the readings. The statistical distributions of the data values can vary according to deployment scenario and the objects to which the tags are attached.. In reporting large amounts of data, it is sometimes important to estimate some order statistics, such as the median, of the data. Previous work has solved the median estimation problem in sensor networks (Greenwald and Khanna, 2001 ). In the sensor-RFID scenario, there are several challenges which must be overcome in order to compute the median in-network, at the reader. First, the communication pattern is very different because the tags can only communicate with the reader. Second, the tags are computationally weak compared with sensors. Another drawback is that if the median is computed at the reader then all tags must communicate with the reader simultaneously which will involve a lot of collisions, and be time consuming due to a lot of retransmissions. So, we propose a method to aggregate the data without reading all the tags.. In this paper, we extend the median selection problem to the sensor-tag context. We assume that there is a warehouse in which milk cartons are stored, and each milk carton has a sensor-tag attached to it. The attached sensor-tag is capable of measuring the milk carton temperature. At any instant, we are interested in the temperature which gives an indication of the overall storage conditions at the storage facility. We are interested in the median temperature of the milk cartons due to its insensitiveness to outliers. We study how to infer median values by querying the sensor-tags without the necessity of actually collecting data values from these devices. Collecting specific data values from each tag would be similar to tag identification protocols in terms of time and power cost. We estimate the median by leveraging tag cardinality estimation algorithms. We envision that our technique can be applied to obtain other quantiles. Our contributions can be summarised as follows:  We design a median estimation algorithm based on binary search using a simple Threshold Checking Scheme (TCS; Sheng et al., 2008) . TCS is used to test whether the number of active sensor-tags is more than a given threshold. By carefully selecting the relevant parameters, it is with a high probability that TCS returns true when the number of active sensor-tags exceeds a given threshold. To the best of our knowledge, this paper presents the first efficient median estimation algorithm for sensor-tags..  We also design an algorithm to incrementally find the median when the median has to be updated continuously. Our algorithm merely queries a limited number tags that are significant to the median change. Our evaluation shows that the running time of the algorithm can be drastically lower than the naive scheme. In this paper, we studied the median estimation problem in a large-scale sensor RFID system. This implementation can be used with real-time data collected from tags in a system. We showed that the median can be estimated efficiently by probing the RFID tags using binary search. We also proposed an algorithm for continuous median update. Based on the observation that the sensor readings do not change rapidly, our algorithm can perform much better than the naïve algorithm that queries all tags. Numerous protocols to identify tags and estimate tag set cardinality have been proposed for RFID systems. All these protocols aim to minimise time and/or power consumption. Tag identification protocols can be divided into two main categories: the first category is tree-based protocols, in which the reader broadcasts an ID prefix and all the tags with IDs matching the prefix will reply. If there is a collision the reader will divide the tags into two groups and then query one group again. The reader continues splitting and probing until each individual tag is identified (Law et al., 2000; Micic et al., 2005; Myung and Lee, 2005) . The second category is based on the ALOHA protocol and the Slotted ALOHA protocol (Madden et al., 2002a; Cha and Kim, 2005; Bonuccelli et al., 2006; Sheng et al., 2008; Tan et al., 2008; Sheng et al., 2010; Xie et al., 2010) . Probabilistic estimation algorithms which efficiently estimate the cardinality of RFID tags have been proposed in numerous works (Cha and Kim, 2006; Kodialam and Nandagopal, 2006; Qian et al., 2008; Han et al., 2010) . These estimation algorithms differ in the level of accuracy, speed, and power consumption. For example, Kodialam and Nandagopal (2006) obtained an estimate of 50,000 tags within a confidence interval of 500 tags in 4.5 s. The main concern with these protocols is that the upper bound on the number of tags must be known, in order to accurately estimate the cardinality of the set of tags within the specified error bound.. In sensor networks a lot of work has been done on data aggregation techniques. In the work of Madden et al. (2002a) , a declarative query interface was proposed that allowed users to perform aggregate operations such as MIN, MAX, MEDIAN, and similar operations. This approach showed improved performance over centralised techniques, since the sensors collaborated to obtain an accurate result. In the work of Patt-Shamir (2004) two algorithms were proposed to compute the median, a randomised protocol which computed an approximate median and a deterministic protocol which computed an exact median. In the work of Singh and Prasanna (2003) an algorithm is proposed for the selection of the i-th largest (smallest) element in single hop dense sensor networks. Finding the median is an example of the selection problem.. Some research has been done on innovative systems which leverage both RFID and sensor technology. In an elderly group home floor mats were embedded with sensors, and RFID tags were attached to slippers in order monitor dementia patients in a discrete manner. This enabled caregivers to distinguish the patients and their movements (Miura et al., 2009) . Some protocols for collecting sensor produced information from RFID tags are suggested in the literature Qiao et al., 2011) . To the best of our knowledge, no one has proposed a median search algorithm for sensor-tags. We believe the research in this paper on RFID sensors can be applied to other sensor network or security problems (Xuan et al., 2002; Ren et al., 2005; Xing et al., 2005; Wang et al., 2008 ).

O B O O O B O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O B I O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B I O O O B I I B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I O B I O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O


Planning biped locomotion using motion capture data and probabilistic roadmaps Typical high-level directives for locomotion of human-like characters are useful for interactive games and simulations as well as for off-line production animation. In this paper, we present a new scheme for planning natural-looking locomotion of a biped figure to facilitate rapid motion prototyping and task-level motion generation. Given start and goal positions in a virtual environment, our scheme gives a sequence of motions to move from the start to the goal using a set of live-captured motion clips. Based on a novel combination of probabilistic path planning and hierarchical displacement mapping, our scheme consists of three parts: roadmap construction, roadmap search, and motion generation. We randomly sample a set of valid footholds of the biped figure from the environment to construct a directed graph, called a roadmap, that guides the locomotion of the figure. Every edge of the roadmap is associated with a live-captured motion clip. Augmenting the roadmap with a posture transition graph, we traverse it to obtain the sequence of input motion clips and that of target footprints. We finally adapt the motion sequence to the constraints specified by the footprint sequence to generate a desired locomotion. Given start and goal positions in a virtual environment, our objective is to find a sequence of motions of a biped figure to move from the start to the goal. Conventional motion planning techniques in robotics [Hwang and Ahuja 1992; Latombe 1991] typically generate very efficient mechanical movements rather than the lifelike natural-looking motions desired in computer animation applications. On the other hand, motion editing techniques in computer grahics [Gleicher 1998; Lee and Shin 1999; Rose et al. 1996] are not equipped with a high-level planning capability to yield a desired motion. To rapidly plan convincing motions of a human-like character with high-level directives, we use a novel combination of probabilistic path planning [Kavraki et al. 1996] and hierarchical displacement mapping [Lee and Shin 1999] . Our scheme consists of the following three steps: roadmap construction, roadmap search, and motion generation. We briefly describe each of them to give an overall view of our scheme.. Roadmap construction. Given a virtual environment, we randomly sample valid configurations of a biped figure to construct a roadmap [Kavraki et al. 1996] . For efficiency, we represent the configuration of the figure with that of its stance foot, called a foothold, rather than its body posture. The roadmap can be modeled as a directed graph whose nodes represent valid samples of the configuration space, that is, the position and orientation of the stance foot. A pair of nodes are connected by an edge if the biped figure can move from one node to the other with a prescribed motion while preserving its lifelikeness.. Roadmap search. Once a roadmap is constructed, the path planning problem is reduced to a constrained minimum-cost path problem on a directed graph, that is, finding a minimum-cost path such that each pair of consecutive edges in the path share a node in a posture transition graph . A node of the posture transition graph represents a posture, and two nodes are connected by a directed edge representing a motion clip. After augmenting the roadmap with the posture transition graph for ensuring the connectivity between motion clips, we adopt a minimum-cost path algorithm [Dijkstra 1959 ] to search for two primary pieces of information: a sequence of input motion clips and that of target footprints.. Motion generation. Our last task is to generate realistic locomotion from the sequence of input motion clips and that of target footprints obtained from the roadmap. In roadmap search, we have acquired an input motion sequence by simply stitching the motion clips attached to the edges along the minimum-cost path. Therefore, the footprints of the input motion sequence may yield some deviations from the target footprints transformed to coincide with the footholds at the nodes on the path. We address this problem in two steps: First, a target motion is estimated to provide a better initial guess. Then, hierarchical displacement mapping [Lee and Shin 1999] is employed with this initial guess to retarget the input motion for the target footprints.. The remainder of the paper is organized as follows. After presenting our probabilistic scheme to construct a roadmap in Section 2, we describe how we can search a sequence of input motion clips and that of target footprints from the roadmap in Section 3. In Section 4, we present how to generate a desired motion from the results of roadmap search. Section 5 demonstrates experimental results of our planning scheme. In Section 6, we discuss several issues concerning our scheme. Finally, we conclude this paper and describe future work in Section 7. Animation scripts or interactive systems require high-level directives for locomotion of a character on a virtual environment. To facilitate rapid motion prototyping and task-level motion generation for interactive applications, this paper presents a new scheme for planning a natural-looking motion for a human-like biped figure to move from a given start position to a goal with a set of prescribed motion clips. Combining probabilistic path planning [Kavraki et al. 1996] and hierarchical displacement mapping [Lee and Shin 1999] , we find a sequence of motion clips and that of target footprints from the start to the goal, and then retarget the motion sequence to follow the target footprint sequence. Given a rich set of motion clips, our scheme enables a human-like figure to move over uneven terrain with a variety of motions, such as running on flat terrain, walking over stepping stones, and jumping over a crevice.. Our motion planner produces locomotion guided by the footholds at the nodes of the roadmap. We may use other features as well such as "handholds" [Kalisiak and van de Panne 2000] to produce different kinds of motions, for example, crossing a river with a rope and climbing a rock, sitting on a chair, and so on. Currently, our scheme is for motion planning of a single character in a static environment. We hope to extend our work for dynamic obstacles and multiple characters in the future. Our scheme would handle dynamic obstacles by repeating motion planning at a regular interval with the static obstacles conservatively bounding them. To cope with multiple characters, we may employ a theoretical result [Svestka and Overmars 1998 ] that combines roadmaps for multiple robots into the roadmap for the single composite robot consisting of all the robots. Finally, we are interested in a scalability issue. With a large set of motion clips, there could be a large number of edges in the roadmap, so that path finding would also be time-consuming. To accelerate path finding in such a case, we may reduce the number of multi-edges connecting the same pair of nodes in the roadmap by clustering them according to their corresponding motion types and filtering them during roadmap search to finally choose a motion. Potential field planner vs. Roadmap planner. There have been two major streams of randomized techniques for path planning: randomized path planning with potential fields [Barraquand and Latombe Koga et al. 1994] and probabilistic path planning with roadmaps [Barraquand et al. 1997; Kavraki et al. 1995 Kavraki et al. , 1996a Kavraki et al. , 1996b Kavraki and Latombe 1994; Overmars and Svestka 1994] . A randomized path planning scheme employs a potential field to guide the search for a path to the goal while avoiding the obstacles. To escape from a local minimum in the potential field, this scheme is usually equipped with random walks. A probabilistic path planning scheme constructs a roadmap by random sampling to guide the path search. In the probabilistic scheme, most heavy computations are done in the preprocessing phase, that is, roadmap construction. Once a roadmap is constructed, a path between any pair of configurations can be found very efficiently. Therefore, the roadmap method is particularly effective for handling repetitive point-to-point queries in tightlyconstrained static environments as shown in Figure 11 .. • M. G. Choi et al.. Postures vs. Footholds. A reasonable human model in computer graphics has about 40 degrees of freedom. Planning motions with such high degrees of freedom directly in the configuration space is still computationally demanding even with probabilistic motion planning techniques. Instead of sampling the configuration space of postures, we sample that of footholds while accessing motion clips via edges incident to and from nodes representing footholds. Although this makes the roadmap search a little complicated, the dimensionality of the configuration space is reduced greatly, and thus a moderate number of samples reflects well the connectivity of the configuration space. This enables us to search a minimum-cost path at interactive performance. Alternatively, one may prefer the pelvis configuration for the same purpose. However, unlike feet and hands, the pelvis is rarely used to interact with external environments. Thus, the footholds make it easier to plan motions such as jumping over a crevice and walking over stepping stones.. Regular sampling vs. Random sampling. For a configuration space of low dimension such as our foothold space, regular sampling is a possible choice to construct a roadmap. In regular sampling, all grid points in the free configuration space are sampled as the nodes to guarantee their uniform coverage of the space. However, for an environment with dense obstacles, a grid of high resolution is required to ensure a good connectivity of the roadmap. In this case, random sampling yields a well-connected roadmap with a moderate number of samples due to the heuristic scheme for additional sampling [Barraquand et al. 1997; Kavraki et al. 1995 Kavraki et al. , 1996 as given in Section 2.4. Moreover, compared to regular sampling, random sampling requires many fewer samples to achieve high fidelity in the sense that the roadmap uniformly covers almost entire regions of the configuration space [Barraquand et al. 1997; Kavraki et al. 1995 Kavraki et al. , 1996 . Planning locomotion of a human-like figure is related to several different areas of research. For our convenience, we classify these related works into five categories: biped locomotion, human navigation, probabilistic path planning, motion editing, and example-based motion synthesis.. Biped locomotion. Generating realistic biped locomotion has received increasing attention in computer animation. An excellent survey on this field can be found in Multon et al. [1999] . Bruderlin and Calvert [1989] presented a goal-directed dynamic approach that generates a desired walking motion for given parameters such as velocity, step length, and step frequency. Boulic et al. [1990] exploited biomechanical data to utilize their intrinsic dynamics. Ko and Badler [1996] also presented a similar technique to produce dynamically-balanced walking that was further generalized for curved path walking. They were also able to generate footprints automatically. To generate balanced walking, Laszlo et al. [1996] suggested the notion of limit cycle control that adds closed-loop feedback to open-loop periodic motions. Raibert and Hodgins [1991] showed that hand-designed controllers can produce physically realistic legged locomotion. Hodgins et al. [1995] extended those controllers to other motions of human athletics. Hodgins and Pollard [1997] also described an automatic method to adapt existing controllers to new characters. An optimization-based scheme was proposed by van de Panne [1997] to generate biped locomotion from given footprints. This scheme was further extended to quadruped locomotion [Torkos and • M. G. Choi et al. van de Panne 1998 ]. Ko and Cremer [1995] proposed a real-time method to generate human locomotion from positional input streams. Chung and Hahn [1999] developed a hierarchical motion control system to generate walking motion along a path on uneven terrain. Sun and Metaxas [2001] exploited sagittal elevation angles to automate gait generation. Recently, procedural models for biped locomotion have also been available as commercial animation packages, such as Boston Dynamics "BDI Guy," Credo Interactive "Life Forms Studio," 3D Studio Max "Character Studio," and Avid "SOFTIMAGE|RTK". These packages generate biped locomotion from the user-specified moving trajectory of a character or his/her footprints.. Human navigation. Reynolds [1987] introduced reactive behaviors to simulate groups of simple creatures such as flocks of birds, herds of land animals, and schools of fishes. Tu and Terzopoulos [1994] simulated reactive behaviors of artificial fishes with synthetic visions. Noser et al. [1996] presented a local navigation model for human-like characters using synthetic visions. They also simulated a human memory model for avoiding obstacles [Noser et al. 1995] . Kuffner and Latombe [1999] addressed a similar problem for dynamic environments. Reich et al. [1994] suggested a real-time model for human navigation over uneven terrain. They adopted simulated sensors to detect geometric features such as obstacles. Marti and Bunn [1994] considered large-scale terrain represented as a height field over a 2D uniform grid. Bandi and Thalmann [1998] discretized a synthetic environment into a 3D uniform grid to search paths for autonomous characters.. Probabilistic path planning. Barraquand and Latombe [1991] elaborated a randomized path planning technique, that was originally invented for escaping local minima in a potential field. Thereafter, Kavraki and Latombe [1994] and Overmars and Svestka [1994] independently and jointly proposed similar methods [Kavraki et al. 1996 ] that randomly sample the configuration space as preprocessing, to construct a roadmap and then search the roadmap for a path during the planning stage. These methods have demonstrated good performance empirically for difficult problems, such as navigating car-like robots with non-holonomic constraints and robots with many degrees of freedom. In recent years, theoretical foundations for such empirical successes have been established in some restricted cases [Barraquand et al. 1997; Kavraki et al. 1995 Kavraki et al. , 1996 Overmars and Svestka 1994] . Koga et al. [1994] combined randomized path planning and inverse kinematics to automatically generate animation for human arm manipulation. To coordinate multiple robots, Svestka and Overmars [1998] combined roadmaps for multiple robots into a roadmap for a single composite robot. Kalisiak and van de Panne [2000] presented a grasp-based motion planning algorithm in a constrained 2D environment with designated handholds and footholds. Kindel et al. [2000] developed a path planner for a robot with dynamic constraints and verified its effectiveness both in real and simulated environments.. Motion editing. There have been a variety of efforts to develop motion editing tools. Bruderlin and Williams [1995] adopted signal processing techniques to manipulate animated motions. They introduced displacement mapping to alter a canned motion clip while preserving its detailed characteristics. Witkin and Popović [1995] proposed a motion warping technique for the same purpose. Unuma et al. [1995] used Fourier analysis techniques to interpolate and extrapolate motion data in the frequency domain. Rose et al. [1998] introduced the framework of "verbs and adverbs" to interpolate example motions with a combination of radial basis functions and low order polynomials. Lamouret and van de Panne [1996] discussed a variety of issues in reusing motion clips. Rose et al. [1996] generated seamless transitions between motion clips using spacetime constraints [Cohen 1992] . Gleicher [1998] simplified the spacetime problem for motion retargetting, that is, adapting a pre-existing motion of a character for another character of the same structure and different size. Employing an optimization technique, he was able to achieve interactive performance for motion editing. To accelerate this approach, Lee and Shin [1999] presented a hierarchical displacement mapping technique based on the multilevel B-spline approximation. They also presented a fast inverse kinematics solver adopting the notion of an elbow circle given by Korein and Badler [1982] . Gleicher [2001] presented a method for path-based editing of existing motion data.. Example-based motion synthesis. Inspired by the work on "video texture" [Schödl et al. 2000 ], a number of researches have explored a method for synthesizing a new motion from captured motion data. Kovar et al. [2002] introduced the notion of a motion graph to represent transitions between poses of the captured motion data: A node of this graph represents a pose, and two nodes are connected by a directed edge if they can be followed from one to the other in an acceptable splice. They used branch and bound to search the graph for a motion following a sketched trajectory. also represented captured motion data with a similar graph structure, and provided effective user interfaces for interactive applications. Arikan and Forsyth [2002] built a hierarchical motion graph and applied a randomized search to extracting motions from the graph that satisfy user-specified constraints such as their durations and joint angles at given keyframes. Pullen and Bregler [2002] developed a method for enhancing roughly-keyframed animation with captured motion data. To capture the stochastic and dynamic nature of motions, Li et al. [2002] developed a two-level statistical model by combining lowlevel linear dynamic systems with a high-level Markov process. They used the model to produce a dance motion with variations in fine details. There are also similar researches that exploit two-level statistical models for motion synthesis [Bowden 2000; Brand and Hertzmann 2000; Molina-Tanco and Hilton 2000] .

B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B I B I B I B O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Multi-source domain adaptation and its application to early detection of fatigue We consider the characterization of muscle fatigue through noninvasive sensing mechanism such as surface electromyography (SEMG). While changes in the properties of SEMG signals with respect to muscle fatigue have been reported in the literature, the large variation in these signals across different individuals makes the task of modeling and classification of SEMG signals challenging. Indeed, the variation in SEMG parameters from subject to subject creates differences in the data distribution. In this paper, we propose a transfer learning framework based on the multi-source domain adaptation methodology for detecting different stages of fatigue using SEMG signals, that addresses the distribution differences. In the proposed framework, the SEMG data of a subject represent a domain; data from multiple subjects in the training set form the multiple source domains and the test subject data form the target domain. SEMG signals are predominantly different in conditional probability distribution across subjects. The key feature of the proposed framework is a novel weighting scheme that addresses the conditional probability distribution differences across multiple domains (subjects). We have validated the proposed framework on Surface Electromyogram signals collected from 8 people during a fatigue-causing repetitive gripping activity. Comprehensive experiments on the SEMG data set demonstrate that the proposed method improves the classification accuracy by 20% to 30% over the cases without any domain adaptation method and by 13% to 30% over the existing state-of-the-art domain adaptation methods. Daily life activities such as typing on the keyboard, dusting, brooming, ironing, as well as the use of hand tools such as scissors and knives, repetitive work in assembly lines, repetitive lifting, involve repetitive movements of the different parts of the body. It has been proved that repetitive task makes work particularly hazardous, as it is the primary cause of muscle fatigue [28, 13, 30] . According to the US Bureau of Labor Statistics, in 2002, there were more than 345,000 on the job back injuries, due to muscle fatigue, which required time off from work. According to the Bureau of Labor Statistics (2004), annual direct cost of occupational injuries due to slip and fall caused due to muscle fatigue is expected to exceed $43.8 billion by the year 2020 in the US.. These accidents and the consequential loss in work hours and lifes, besides the high medical cost, can be avoided if one can intervene such fatigue inducing repetitive activities at an early stage by intelligent devices having the capability for detecting different stages of fatigue. Technologies for detecting muscle fatigue at an early stage can also be used to remove the cause of fatigue by altering the environmental ergonomics where possible [1] .. There are a number of techniques that can be used to objectively determine the level of fatigue in a subject. Electromyography (EMG) is a method for biosignal recording of skeletal muscle activity. Surface Electromyography (SEMG) allows for noninvasive recording of these biosignals. Researchers have observed that certain aspects of SEMG signals change as a muscle becomes fatigued. Localized muscle fatigue has been correlated with a shift in the power spectral density of SEMG signals, root mean square (rms), instantaneous frequency, zero crossing rate, mean-frequency, median-frequency, etc. However, there is a large variation in the values of these measures across different subjects, due to variances in their SEMG power spectrum and their shifts. These generally unpredictable and wide variations make the task of modeling SEMG difficult, and the task of automating the process of signal classification as a generalized tool challenging. The variation in SEMG parameters from subject to subject creates differences in the data distribution. Figure 1 shows the distribution of the data over four stages of a fatigue-causing activity, done with varying speed, for three different subjects (subjects 1, 2, 4). The data distribution shown in Figure 1 is of factor scores obtained as a Figure 1: Three sample subjects (subjects 1, 2, 4) with four classes (four physiological stages) in our SEMG data set: SEMG signals are predominantly different in conditional probability distribution across subjects.. result of factor analysis [2] applied on the twelve dimensional feature vectors derived from raw SEMG signals 1 . The four physiological stages corresponding to four classes, shown in the figure, are (l) low intensity of activity and low fatigue, (2) high intensity of activity and moderate fatigue, (3) low intensity of activity and moderate fatigue and (4) high intensity of activity and high fatigue. We observe that the data distribution during each stage or class varies from subject to subject. This variation leads to predominantly conditional probability differences across subjects.. Traditional data mining algorithms assume that training data and test data are drawn from the same distribution, and they may not be effective if the assumption is violated as in the case of SEMG data over multiple subjects. One effective approach is domain adaptation which enables transfer of knowledge between the source and target domains [22] . It has been applied successfully in various applications [6, 11, 10, 20] including text classification (parts of speech tagging, webpage tagging, etc), video concept detection across different TV channels, sentiment analysis (identifying positive and negative reviews across domains), WiFi Localization (locating device location depending upon the signal strengths from various access points.. In this paper we present a successful case study of application of multi-source domain adaptation techniques for detecting different stages of fatigue based on the Surface Electromyogram signals across multiple subjects. The proposed framework addresses the subject based variability, predominantly the distribution differences in conditional probabilities in Surface Electromyogram signals. Specifically, a classifier is learnt to distinguish the four classes as shown in Figure 1 on the basis of some labeled and unlabeled data from the target domain (or subject). The unlabeled data are labeled using a weighting scheme that measures the similarities in conditional probabilities between the source and target domain data; the key of the proposed weighting scheme is a joint optimization framework based on smoothness assumption on the probability distribution of the target domain data. To the best of our knowledge, this is the first systematic analysis of subject based variability in SEMG signals. We have applied the proposed algorithm to Surface Electromyogram signals collected from 8 people during 1 More details on the twelve features derived, the factor analysis results and a real time deployment of fatigue grading framework can be found in our earlier papers [8, 9] . a fatigue-causing repetitive gripping activity. Our extensive experiments on the SEMG data set demonstrate that the proposed method improves the subject independent classification accuracy by 20% to 30% over the cases without any domain adaptation method and by 13% to 30% over the existing state-of-the-art domain adaptation methods. We consider the characterization of muscle fatigue through noninvasive sensing mechanism such as surface electromyography (SEMG). The variation in SEMG parameters from subject to subject creates a difference in the data distribution, thus traditional data mining algorithms may not be effective. In this paper, we propose a transfer learning framework based on the multi-source domain adaptation methodology for detecting different stages of fatigue using SEMG signals. The proposed CP-MDA framework differs from most existing work in domain adaption in that it addresses the conditional probability distribution differences across domains based on a novel weighting scheme. We have validated the proposed framework using a synthetic dataset and real-world SEMG data collected from eight different subjects during a fatiguing exercise. Our comprehensive experiments demonstrate the effectiveness of the proposed framework and suggest that it is possible to develop a generalized framework with SEMG data. This increases the scope of application of SEMG data for fatigue detection in a larger scale beyond training and rehabilitation settings for monitoring during daily life and industrial work, as it alleviates the need for subject specific calibration for assessing the physiological state across subjects.. We plan to extend the proposed framework to applications involving other types of physiological signals for developing generalized models across subjects for emotion and health monitoring in everyday life, industrial work and geriatric care [17, 15] . In addition, we plan to study the generalization performance of the proposed framework. Most of the existing methods measure the similarity between a particular source and the target domain based on the similarity of their marginal probabilities. Shimodaira et al. [27] biased the training samples by their test-to-training ratio to match the marginal distribution of the test data. Sugiyama et al. [29] proposed to reduce the gap in marginal probabilities by minimizing the KL-divergence between test and weighted training data and Bickel et al. [5] discriminated training against test data with a probabilistic model that accounts for the marginal probability difference between training and test distribution. There are several other methods which are also based on marginal probability differences using Maximum Mean Discrepancy [7] as a measure such as Kernel Mean Matching [14] and Transfer Component Analysis [20] . The proposed domain adaptation framework CP-MDA, differs from all these methods in two ways: (1) it is predominantly based on conditional probability differences, and (2) it is based on multiple source domains.. Several algorithms have been developed in past to combine knowledge from multiple sources. Luo et al. used consensus maximization as the basis of combining multiple source data [18] . Mansour et al. based the transferability of knowledge on a distribution weighted combination of the hypothesis generated by the independent sources [19] . The theoret-ical proof of both frameworks are based on strong assumptions on the predictive power of the individual source domains on the target domain data. In [26] , a clustering based knowledge transfer was proposed for applications with different class labels across source and target domains, unlike the application addressed in this paper.. The proposed framework is related to two multi-source domain adaptation frameworks including Domain Adaptation Machine (DAM) [11] and Locally Weighted Ensemble (LWE) [12] . The proposed framework differs from DAM in the way the weights are computed for different auxiliary sources. In DAM, the weight assigned to each auxiliary source is obtained by measuring the marginal probability distribution difference between the target domain and the particular auxiliary source only, using an empirical estimate of the difference based on the Maximum Mean Discrepancy measure [7] . The proposed framework however computes weights for the auxiliary source data considering predominantly conditional probability distribution of the target data. The weights for all sources are computed in a joint optimization framework, which takes the interaction among multiple auxiliary sources into account.. The proposed framework differs from LWE [12] in that in LWE, the label y of an unlabeled target domain data x is computed using a local weighting ensemble (LWE) scheme:. where P (y|Mi, x) is the prediction made by one of the k models Mi for target data point x and wM i ,x is the weight of the model Mi at point x computed by comparing the similarity graphs of the source and target data around point x. Different from the proposed weighting scheme where we compute all weights in a joint framework, the weight for each auxiliary classifier is computed independently [12] . We also compare our framework with representative singlesource domain adaptation algorithms such as Kernel Mean Matching (KMM) proposed by Huang et al. [14] , Transfer Component Analysis (TCA) proposed by Pan et al. [21] and KMapEnsemble (KE) proposed by Zhong et al. [31] . KMM re-weights the samples in the source domain so as to minimize the marginal probability difference between the source and target domain using Maximum Mean Discrepancy (MMD) as the measure. TCA is based on feature mapping so as to reduce the marginal probability differences between the source and target distributions again using MMD as the measure. KE differs from the first two algorithms, in which it addresses the conditional probability differences by sample selection after performing a feature mapping step to reduce the marginal probability differences.. There was some classification work dealing with physiological signals using neural networks [17] and linear discriminant analysis [15] ; they achieved moderate generalization performance across subjects. To the best of our knowledge we report the first systematic empirical analysis of domain adaptation methods to address the distribution differences due to the subject based variability in physiological signals. The proposed algorithm has been evaluated on a synthetic dataset and on real-world SEMG data collected from 8 different subjects during a fatigue-causing exercise.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O


Interactive HDR lighting of dynamic participating media In this paper, we present two optimization techniques to light and render volumetric data of inhomogeneous participating media. Both are independent of the lighting model selected. We use an implementation of the ray marching algorithm to approximate the Radiance Transfer Equation. The system can calculate single scattering in timevarying isotropic participating media with the incident field being modeled as a high dynamic range (HDR) environment map. We can use dynamic lighting (with certain restrictions) and free camera movement without using any precomputations while achieving interactive frame rates. Rendering participating media is a computationally expensive process owed to the complexities of the light transport. The Radiative Transfer Equation (RTE) [4, 16] , which mathematically models scattering, absorption and emission, must be solved. Usually the ray marching technique is employed, possibly combined with density estimation in a volume photon map. While these approaches yield good results, they are normally performed off-line. Alternatively, interactive rendering has relied on ad hoc methods that impose severe restrictions or force precomputation steps.. In this paper, we present two GPU-based optimizations to light and render participating media by solving a simplified version of the Radiance Transfer Equation. Interactive frame rates are achieved using a view-dependent optimization technique that reduces the number of fragments processed, and a view-independent empty space skipping technique that allows to speed up the ray marching traversals. None of them are based on predetermined illumination models. Lighting comes from an HDR environment, efficiently sampled by previously transforming it into a light constellation. Given that no heavy precomputations are needed, the system can handle time-varying participating media, single scattering including self-shadowing, free camera movement and dynamic lighting, where the incident light field can be arbitrarily rotated.. In this work, the participating media is characterized as volumetric data obtained by sweeping a laser sheet through a volume of real smoke using the method of Hawkins, Einarsson and Debevec [14] . However, since it is general enough, it has also been applied to data generated using numerical simulation.. The rest of the paper has the following structure. In Sect. 2, we briefly present an overview of traditional vol-ume rendering techniques and recent GPU-based implementations and optimizations. Section 3 describes the lighting model based on the Radiative Transfer Equation. Specific implementation details are covered in Sect. 4 . Finally, the last two sections present the results and a brief discussion of the limitations and future directions of our research. In this work, we have presented an implementation of an interactive scattering model for inhomogeneous participating media, adapting the ray marching technique to the GPU. Our method models the incoming light field as a light constellation obtained from a HDR environment map, and allows for dynamic media, dynamic lighting and free camera movement. Any changes in these elements are taken into account by using real-time recalculation.. By combining two novel optimization techniques, a view-dependent validity pass and a view-independent distance map, we achieve speed-ups factors of up to 8. Single scattering with self-shadowing can be rendered at interactive frame rates. Since the optimizations do not make assumptions on the nature of the light interactions, they can be used with other lighting models apart from the described in this work. A GPU implementation of those algorithms will mainly be bounded by the calculations performed perfragment and the memory intensive media traversals. Both elements are directly addressed by us.. As future work, we would like to test new approaches to include multiple scattering transmission. With the existing methods, this can only be achieved at the cost of considerable performance drops or using precomputation. Even while creating visually acceptable images, assuming an isotropic phase function makes our method less accurate. This can be alleviated using already known methods [1] . Finally, different optimization techniques based on alternative space classification structures and compression algorithms can alleviate the memory overhead imposed by the voxelized representation of both the data and the distance maps. Figures 3, 4 and 5a to 5h have been rendered with data scanned from real smoke using the method of Hawkins et al. [14] . This data set, referred to as (i), is composed of 120 full frame volume scans where each frame has been resized to a resolution of 256 × 256 × 64 voxels. Figures 5i to 5p Light transport in participating media has been a topic of intense research. An important part of the efforts have been focused on different methods for solving the radiative transfer equation (RTE) [4, 16] .. A number of analytic solutions have been found. They are frequently based on strong simplifications like assuming homogeneous [2] and optically thick media [29] or infinitely distant light sources [28] . By sampling a number of points inside the media, stochastic methods like Monte Carlo path tracing [40] , bidirectional path tracing [24] or photon mapping [17] can generate high quality results. Numerical simulation approaches are based on evaluating the radiance transport integral [18, 37, 41] . The two latter can model complex phenomena as multiple scattering in inhomogeneous media at the cost of simulation times in the order of hours.. Overall performance can be increased by previously storing light or media dependent magnitudes in a way that can be efficiently evaluated at render time. By using precomputed radiance transfer, Sloan et al. [39] handle complex lighting interactions like soft shadows and scattering. Other methods use precalculated forward multiple scattering [13] , pre-integrated lighting [45] , spherical harmonics for Fourier volume rendering [9] , precalculated transmission integrals [15] or reuse light scattering paths in a particle system [43] . Recently, Zhou has used a set of radial basis functions to convert the media into an equivalent sparse representation [48] . While these methods allow complex light interactions, interactivity is limited to static viewports, specific transfer functions or prefixed light types and positions. Furthermore, rendering data sets containing a sequence of frames forces precomputation on each of them.. Recent advances in graphics hardware has allowed the implementation of interactive and real-time volume rendering methods. Since analytic solutions rely on evaluating a closed set of mathematical formulas, they can be efficiently implemented using GPUs [42, 47] . Methods without precomputation are usually limited to non-physically based lighting ray marching [23] or are based on 2D texturing [8] .. A number of acceleration techniques designed to improve the efficiency of media sampling have been described. Kruger and Westermann [23] state an efficient streaming model over GPUs and implemented different acceleration techniques for volume ray-casting. Early ray termination is based on space classification structures and compression techniques: Guthe et al. use hierarchical wavelets [12] , LaMar, Haman and Joy [25] rely on an octree; Westermann and Senenich [46] use CPU precalculated 2D textures. Li, Mueller and Kaufman's [26] empty space skipping technique avoids sampling areas that contain no data. Spatial and temporal data coherence is exploited in [44] and [21] . All these techniques set up acceleration structures in a precomputation step.. The purpose of our work, efficiently rendering time dependent participating media without significant precomputation, limits the applicability of previous methods. Our solution relies on a physically based light transfer model enabling to calculate single scattering with self-shadowing. As this method is not efficient enough, two optimizations, based on the media rendered and the camera position, provide the extra acceleration needed. Moreover, they do not use any pre-computed shading nor depend on the illumination model or lighting environment. Acceleration structures and lighting are calculated on the fly, therefore position and orientation of the environment and camera can be interactively changed.

O O B O O B I O O O O O O O O O O O O O O O O B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I I O O O O O O O B O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O