A novel database of Children's Spontaneous Facial Expressions (LIRIS-CSE)

Computing environment is moving towards human-centered designs instead of computer centered designs and human's tend to communicate wealth of information through affective states or expressions. Traditional Human Computer Interaction (HCI) based systems ignores bulk of information communicated through those affective states and just caters for user's intentional input. Generally, for evaluating and benchmarking different facial expression analysis algorithms, standardized databases are needed to enable a meaningful comparison. In the absence of comparative tests on such standardized databases it is difficult to find relative strengths and weaknesses of different facial expression recognition algorithms. In this article we present a novel video database for Children's Spontaneous facial Expressions (LIRIS-CSE). Proposed video database contains six basic spontaneous facial expressions shown by 12 ethnically diverse children between the ages of 6 and 12 years with mean age of 7.3 years. To the best of our knowledge, this database is first of its kind as it records and shows spontaneous facial expressions of children. Previously there were few database of children expressions and all of them show posed or exaggerated expressions which are different from spontaneous or natural expressions. Thus, this database will be a milestone for human behavior researchers. This database will be a excellent resource for vision community for benchmarking and comparing results. In this article, we have also proposed framework for automatic expression recognition based on convolutional neural network (CNN) architecture with transfer learning approach. Proposed architecture achieved average classification accuracy of 75% on our proposed database i.e. LIRIS-CSE.

Introduction
Computing paradigm has shifted from computer-centered computing to humancentered computing [1]. This paradigm shift has created tremendous opportunity for computer vision research community to propose solution to existing problems and invent ingenious applications and products which were not though of before. One of the most important property of human-centered computing interfaces is the ability of machines to understand and react to social and affective or emotional signals [2,3].
Mostly humans express their emotion via facial channel, also known as facial expressions [3]. Humans are blessed with the amazing ability to recognize facial expression robustly in real-time but for machines it still is a difficult task to decode facial expressions. Variability in pose, illumination and the way people show expressions across cultures are some of the parameters that make this task more difficult [4].
Another problem that hinders the development of such system for real world applications is the lack of databases with natural displays of expressions [5]. There are number of publicly available benchmark databases with posed displays of the six basic emotions [6] i.e. happiness, anger, disgust, fear, surprise and sadness, exist but there is no equivalent of this for spontaneous / natural basic emotions. While, it has been proved that spontaneous facial expressions differ substantially from posed expressions [7].
Another issue with most of publicly available databases is absence of children in recorded videos or images. Research community has put lot of efforts to built databases of emotional videos or images but almost all of them contain adult emotional faces [8,9]. By excluding children's stimuli in publicly available databases vision research community not only restricted itself to application catering only adults but also produced limited study for the interpretation of expressions developmentally [10].

Publicly available databases of children's emotional stimuli
To the best of our knowledge there are only three publicly available databases that contains children emotional stimuli / images. They are: 1. The NIMH Child Emotional Faces Picture Set (NIMH-ChEFS) [11] 2. The Dartmouth Database of Childrens Faces [12] 3. The Child Affective Facial Expression (CAFE) [10] The NIMH Child Emotional Faces Picture Set (NIMH-ChEFS) [11] database has 482 emotional frames containing expressions of "fear", "anger", "happy" and "sad" with two gaze conditions: direct and averted gaze. Children that posed for this database were between 10 and 17 years of age. The databases is validated by 20 adult raters.
The Dartmouth Database of children Faces [12] contains emotional images (six basic emotions) of 40 male and 40 female Caucasian children between the Six universal expressions: first row show example images from the Dartmouth database [12]. Second row show emotional images from the Child Affective Facial Expression (CAFE) [10], while last row show emotional images from the movie clip of our proposed database, LIRIS-CSE. First column corresponds to expression of "happiness", second column corresponds to expression of "surprise", third column corresponds to expression of "sadness", fourth column corresponds to expression of "anger", fifth column corresponds to expression of "fear" and last column corresponds to expression of "disgust". Expressions in our proposed database are spontaneous and natural and can easily be differentiated from posed / exaggerated expressions of the other two database.
ages of 6 and 16 years. All facial images in the database were assessed by at least human 20 raters for facial expression identifiability and intensity. Expression of happy was most accurately identified while fear was least accurately identified by human raters. Human raters correctly classified 94.3% of the happy faces while expression of fear was correctly identified in 49.08% of the images, least identifiable by human raters. On average human raters correctly identified expression in 79.7% of the images. Refer Figure 1 for examples images from the database.
The Child Affective Facial Expression (CAFE) database [10] is composed of 1192 emotional images (six basic emotions and neutral) of 2 to 8 years old children. Children that posed for this database were ethnically and racially diverse. Refer Figure 1 for examples frames from the database.

Weaknesses of publicly available databases of children's emotional stimuli
Although above describe children expression databases are diverse in terms of pose, camera angles and illumination but have following drawbacks: 1. Above mentioned databases contain posed expressions and as mentioned before that spontaneous or natural facial expressions differ substantially from posed expressions as they exhibit real emotion whereas, posed expressions are fake and disguise inner feelings [7,13].
2. All of these databases contains only static images / mug shots with expression at peak intensity. According to study conducted by psychologist Bassili [14] it was concluded that facial muscle motion/movement is fundamental to the recognition of facial expressions. He also concluded that human can robustly recognize expressions from video clip than by just looking at mug shot. 3. All of the above mentioned databases for children facial expressions present few hundred to maximum 1200 static frames. In current era where requirement of amount of data for learning a concept / computational model (deep learning [15]) has increased exponentially, only few hundred static images are not enough. Generally, for evaluating and benchmarking different facial expression analysis algorithms, standardized databases are needed to enable a meaningful comparison. In the absence of comparative tests on such standardized databases it is difficult to find relative strengths and weaknesses of different facial expression recognition algorithms. Thus, it is utmost important to develop natural / spontaneous emotional database contains children movie clip / dynamic images. This will allow research community to built robust system for children's natural facial expression recognition. Thus, our contributions in this study are two-fold : 1. We are presenting a novel emotional database (LIRIS-CSE) that contains 208 movie clip / dynamic images of 12 ethnically diverse children showing spontaneous expressions in two environments, i.e. 1) lab / classroom environment 2) home environment (refer Figure 2). 2. We have also proposed a framework for automatic facial expression recognition based on convolutional neural network (CNN) architecture with transfer learning approach. Proposed architecture achieved average classification accuracy of 75% on our proposed database.

Novelty of proposed database (LIRIS-CSE)
To overcome above mentioned drawbacks of databases of children's facial expression (refer Section 2.1), we are presenting a novel emotional database that contains movie clip / dynamic images of 12 ethnically diverse children. This unique database contains spontaneous / natural facial expression of children in diverse settings (refer Figure 2 to see variations in recording scenarios) showing six universal or prototypic emotional expressions ("happiness", "sadness", "anger", "surprise", "disgust" and "fear") [16,17]. Children are recorded in constraint free environment (no restriction on head movement, no restriction on hands movement, free sitting setting, no restriction of any sort) while they watched specially built / selected stimuli. This constraint free environment allowed us to record spontaneous / natural expression of children as they occur. The database has been validated by 22 human raters. Details of recording parameters are presented in Table 2. In comparison with above mentioned databases for children facial expressions that have only few hundred images, our database (LIRIS-CSE) contains 26 thousand (26,000) frames of emotional data, refer Section 4.3 for details.
The spontaneity of recorded expressions can easily be observed in Figure  1. Expressions in our proposed database are spontaneous and natural and can easily be differentiated from posed / exaggerated expressions of the other two databases. Figure 3 shows facial muscle motion / transition for different spontaneous expressions.

Participants
In total 12 (five male and seven female children) ethnically diverse children between the ages of 6 and 12 years with mean age of 7.3 years participated in our database recording session. 60 % of recordings are done in classroom / lab environment, while 40% of the clips in the database are recorded in home conditions. Recording children in two different environments has been done to have different background and illumination conditions in the recorded database. Refer Figure 2 for example images with different backgrounds and illumination conditions.

Database acquisition details
First step for the creation of proposed spontaneous expressions database was the selection of visual stimuli that can induce emotions in children. Considering ethical reasons and young age of children we carefully selected stimuli and removed any stimuli that can have long term negative impact on the children. Due to these ethical reasons we did not include emotion inducer clips for the negative expression of "anger" and selected very few clips to induce emotion of "fear" and "sadness". The same has been practiced before by Valstar et. al [18]. Due to this very reason the proposed database contains more emotional clips of expressions of "happiness" and "surprise". Although there were no emotion inducer clips for the expression of "anger" but still database contains very few clips where children show expression of "anger" (refer Figure 1) due to the fact that young children use expressions of "disgust" and "anger" interchangeably [19].

Emotion inducing stimuli
We either selected only animated cartoon / movies or small video clips of kids doing funny actions to stimuli list. The reasons for selecting videos to induce emotions in children are as follows: 1. All the selected videos for inducing emotions contains audio as well. Video stimuli along with audio gives immersive experience, thus is powerful emotion inducer [20].
2. Video stimuli provides more engaging experience then static images, restricting undesirable head movement.
3. Video stimuli can evoke emotions for a longer duration. This helped us in recording and spotting children facial expressions.
List of stimuli selected as emotion inducers are presented in Table 1. Total running length of selected stimuli is 17 minutes and 35 seconds. One of the consideration for not selecting more stimuli is to prevent children's lose of interest or disengagement over time [21].

Recording setup
Inspired by Li et al. [20], we setup high speed webcam, mounted at the top of laptop with speaker output, at a distance of 50 cm. As explained above, The audio output enhanced the visual experience of a child, thus helping us induce emotions robustly. Recording setup is illustrated in Figure 4. As mentioned in

Video segmentation
After recording video for each child we carefully examined the recoding and removed any unnecessary recorded part, usually at the beginning and at the end of video recording. As the video (with audio) stimuli that children watched was the combination of different emotional videos (refer Section 4.1 for the details of visual stimuli), our recorded video contained whole spectrum of expressions in one single video. We then manually segmented one single video recording of each child into segments of small video chunks / clips such that each video clip show one pronounced expression. Refer Figure 3 to see results after segmentation process. It can be observed from the referred figure that each small video clip contains neutral expression at the beginning, then shows onset of an expression, and finishes when expression is visible at its peak along with some frames after peak expression frame. Total number of small video clips, each containing specific expression, present in our database (LIRIS-CSE) are 208. Total running length of segmented clips in presented database (videos having children facial expressions) is seventeen minutes and twenty-four seconds. That makes total of around 26 thousand (26,000) frames of emotional data, considering recording is done at 25 frames / second, refer Table 2. Figure 5: Blended Expressions. Example images that show co-occurrence of more than one expressions in a single clip of the database. First row present frames from a clip that show occurrence of expressions of "sadness" and "anger". Similarly, second row shows co-occurrence of expressions of "surprise" and "happiness".
There are seventeen (17) video clips present in this database that have two labels, for example "happily surprised", " Fear surprise" etc. This is due to the fact that for young children different expressions co-occur / blended expressions [22,19] or a visual stimuli was so immersive that transition from one expression to another expression was not pronounced. Refer Figure 5 to see example images from segmented video segments that show blended expressions.

Database validation
The database has been validated by 22 human raters / evaluators between the ages of 18 and 40 years with mean age of 26.8 years. 50% of database raters / evaluators were in the age bracket of [18 -25] years and rest of 50% were in the age bracket of [26 -40] years. Human evaluators who were in the age bracket of [18 -25] years were university students and other group of evaluators were university faculty members. Human raters / evaluators were briefed about the experiment before they started validating the database.
For database validation purpose we built software that played segmented video (in random order) and records human evaluator choice of expression label. The screen capture of the software is presented in Figure 6. If required, evaluator can play video multiple times before recoding their choice for any specific video.
In summary, instructions given to human raters / evaluators were following: 1. Watch carefully each segmented video and select expression that is shown in the played segmented video.
2. If played video did not show any visible / pronounced expression, selected an option of "undecided". Each video can be played multiple times without any upper bound on number of times video to be played.
3. Once expression label / response is submitted for a played segmented video then this label can not be edited.

Validation data analysis
After validation data collection, we performed statistical analysis on the gathered data and calculated confusion matrix. Refer Figure 7 to see calculated confusion matrix. Rows in the referred confusion matrix show induced intended expressions (average%), while columns show expression label given by human raters / evaluators (average %). Diagonal values represent agreement between induced intended expressions and expression label given by human evaluators, with darker colors representing greater agreement.
As per calculated results expression of "happy" was most correctly spotted by evaluators, with average accuracy of 73.2%. On the other hand expression of " fear" was least correctly identified by evaluators, with average accuracy of 40.1%. These results are consistent with results from [12,16]. We did not include expression of "anger" in analysis as there is only one movie clip with anger expression in the database.
Expression of "fear" which is least identified, is often perceptually mixed with expressions of "surprise" and "disgust". As mentioned above, this is due to the fact that for young children different expressions co-occur (blended expressions) [22,19] or a visual stimuli was so immersive that transition from one expression to another expression was not pronounced. Refer Figure 5 to see example images from segmented video segments that show blended expressions.
Overall average accuracy of human evaluators / raters is 55.3%. As per study published by Matsumoto et al. [23] human's usually can spot expressions correctly 50% of the time and the easiest expression for human's to identify are "happy" and "surprise". These results conforms well with the results that we obtained from human evaluators as expression of "happy" was most correctly identified while average accuracy of human evaluators raters is also around 50% (55.3% to be exact).

Database availability
The novel database of Children's Spontaneous Expressions (LIRIS-CSE) is available for research purposes only. It can be downloaded by researcher / lab after signing End User License Agreement (EULA). Website to download LIRIS-CSE database is: https://childrenfacialexpression.projet.liris.cnrs.fr/.

Automatic recognition of affect, a transfer learning based approach
In order to provide benchmark machine learning / automatic classification of expression results on our database (LIRIS-CSE), we have done experiment based on transfer learning paradigm. Usually machine learning algorithms make prediction on data that is similar to what algorithm is trained on; training and test data are drawn from same distribution. On the contrary transfer learning allows distributions used in training and testing to be different [24]. We used transfer learning approach in our experiment due to following facts: 1. We wanted to benefit from deep learning model that has achieved high accuracy on recognition tasks that take image as input i.e. ImageNet Large-Scale Visual Recognition Challenge (ILSVRC) [25], and is available for research purposes.
2. It requires large database to train deep learning model from the scratch [26]. In a given scenario, we can not train deep learning model from the very beginning.
The architecture of CNN was first proposed by LeCun [15]. It is a multi-stage or multi-layer architecture. This essentially means there are multiple stages in CNN for feature extraction. Every stage in the network has an input and output which is composed of arrays known as feature maps. Every output feature map consists of patterns or features extracted on locations of the input feature map. Every stage is made up of layers after which classification takes place [35,36,37]. Generally, these layers are: 1. Convolution layer: This layer makes use of filters, which are convolved with the image, producing activation or feature maps. 2. Feature Pooling layer: This layer is inserted to reduce the size of the image representation, to make the computation efficient. The number of parameters is also reduced which in turn controls over-fitting. 3. Classification layer: This is the fully connected layer. This layer computes the probability / score learned classes from the extracted features from convolution layer in the preceding steps.

VGGNet architecture and transfer learning
Since 2012, deep Convolution Networks (ConvNets) have become a focus of computer vision scientists. Various architectures were proposed to achieve higher accuracy for a given tasks. For example, best submissions to ImageNet Large-Scale Visual Recognition Challenge (ILSVRC) [25], [39,40] proposed to use a smaller receptive window size / smaller filter size and smaller stride in the first convolutional layer. Generally, ImageNet Large-Scale Visual Recognition Challenge (ILSVRC) has served as a platform for advancements in deep visual recognition architectures.
The best proposed ConvNets architectures for ILSVRC 2014 competition were GoogleNet (a.k.a. Inception V1) from Google [41] and VGGNet by Simonyan and Zisserman [38]. GoogleNet contains 1 x 1 Convolution at the middle of the network and global average pooling was used at the end of the network instead of using fully connected layers, refer Section 6.1 for discussion on different types of layers. VGGNet consists of 16 convolutional layers (VGG16). It is one of the most appealing framework because of its uniform architecture, refer  VGG16 architecture (refer Figure 8) takes image of 224 x 224 with the receptive field size of 3 x 3. The convolution stride is 1 pixel and padding is 1 (for receptive field of 3 x 3). There are two fully connected layers with 4096 units each, the last layer is a softmax classification layer with x units (representing x classes / x classes to recognize) and the activation function is the rectified linear unit (ReLU). The only downside of VGG16 architecture is its huge number of trainable parameters. VGG16 consists of 138 million parameters.

Experimental framework and results
As discussed earlier, CNN requires large database to learn concept [42,26], making it impractical for different applications. This bottleneck is usually avoided using transfer learning technique [43]. Transfer learning is a machine learning approach that focuses on ability to apply relevant knowledge from previous learning experiences to a different but related problem. We have used transfer learning approach to built framework for expression recognition using our proposed database (LIRIS-CSE) as the size of our database is not sufficiently large to robustly train all layers of CNN from the very beginning. We used pretrained VGG model (VGG16, a 16 layered architecture) [38], which is a deep convolutional network trained for object recognition [32]. It is developed and trained by Oxford University's Visual Geometry Group (VGG) and shown to achieve robust performance on the ImageNet dataset [44]for object recognition. Refer Section 6.2 for discussion on VGG16. We replaced last fully connected layer of VGG16 pre-trained model with dense layer having five outputs. This makes 5005 trainable parameters. Number of output of last dense layer corresponds to number of classes to be recognized, in our experiment we learned concept of five classes i.e. five expression to be recognized (out of six universal expression, expression of "anger" was not included in this experiment as there are few (one) clip(s) for "anger", for explanation see Section 4). We trained last dense layer with images (frames from videos) from our proposed database using softmax activation function and ADAM optimizer [45].
Our proposed database consists of video but for this experiment we extracted frames from videos and fed them to above described ConvNet architecture. We used 80% of frames for training and 10% of frames for validation process. With above mentioned parameters, proposed CNN achieved average expression accuracy of 75% on our proposed database (five expressions). Model accuracy and loss curves are shown in Figure 9.

Conclusion
In this article we presented novel database for Children's Spontaneous Expressions (LIRIS-CSE). The database contains six universal spontaneous expression shown by 12 ethnically diverse children between the ages of 6 and 12 years with mean age of 7.3 years. There were five male and seven female children. 60% of recordings were done in classroom / lab environment and 40% of the clips in the database were recorded in home conditions. The LIRIS-CSE database contains 208 small video clips (on average each clip is 5 seconds long), with each clip containing one specific expression. Clips have neutral expression / face at the beginning of clip, then it show onset of an expression, and finishes when expression is visible at its peak along with some frames after peak expression frame. The database has been validated by 22 human raters / evaluators between the ages of 18 and 40 years.
To the best of our knowledge, this database is first of its kind as it records and shows six (rather five as expression of "anger" is spotted/recorded only once) universal spontaneous expressions of children. Previously there were few image databases of children expressions and all of them show posed or exaggerated expressions which are different from spontaneous or natural expressions. Thus, this database will be a milestone for human behavior researchers. This database will be a excellent resource for vision community for benchmarking and comparing results.
For benchmarking automatic recognition of expression we have also provided result using Convolutional Neural Network (CNN) architecture with transfer learning approach. Proposed approach obtained average expression accuracy of 75% on our proposed database, LIRIS-CSE (five expressions).


extfieldsofstudy:
Computer Science
Medicine

s2fieldsofstudy:
Computer Science
Business

text:
Adaptive and dynamic RFID tag anti-collision based on secant iteration

Radio frequency identification (RFID) has recently experienced unprecedented development. Among many other areas, it has been widely applied in blood station management, automatic supermarket checkout, and logistics. In the application of RFID for large-scale passive tags, tag collision is inevitable owing to the non-cooperation mechanism among tags. Therefore, a tag anti-collision method is a key factor affecting the identification efficiency. In this paper, we propose a tag anti-collision method based on Aloha technology for RFID. It estimates the number of remaining tags using the secant iteration method. To achieve optimal identification efficiency, it adaptively and dynamically adjusts the lengths of the subsequent frames according to the principle that the length of a frame should be the same as the number of tags to be identified. For pseudo-solutions of tag population estimation while using secant iteration, we present an elimination method by two probing frames. The simulation results show that the estimation precision of our method can reach above 97%. Thus, it can meet the requirement of the tag anti-collision estimation accuracy. Its global throughput is obviously superior to the Q algorithm adopted by the current international standard, and it is close to the ideal system. It consequently outperforms existing schemes.

Introduction
Radio frequency identification (RFID) technologies are widely applied in logistics, product tracing, blood management, and many other areas of our daily life [1]. An RFID system consists of readers, electronic tags, and data processing systems [2]. Passive tags are usually attached to the objects to be identified [3]. The data processing systems exchange information through a wireless channel between readers and tags. They then perform the identification, location, and intelligent control of the objects. The quantities of the objects to be identified are usually large. Thus, many tags must often be simultaneously identified. Owing to the cost of that endeavor, tags usually work in passive mode. Consequently, they have neither channel a1111111111 a1111111111 a1111111111 a1111111111 a1111111111 sensing capabilities nor the ability to communicate with each other. Tag collisions may thus occur during batch identification. Tag collisions will result in a decreased identification efficiency and increased time delay, thereby increasing the leakage probability in mobile environments. Therefore, developing a means to reduce the impacts of tag collisions on RFID system identification efficiency is the focus of numerous studies [4][5][6][7][8].
The two types of anti-collision algorithms proposed in the literature are binary-tree-based algorithms [4,5] and Aloha-protocol-based algorithms [6][7][8]. In most RFID applications, the tag population size is large. The delay of the binary tree algorithm is too long to meet the requirements of real-time identification in mobile environments. Hence, the Aloha algorithm is widely adopted. It is a random anti-collision algorithm [9,10] driven by readers, by which each tag randomly transmits in a selected slot according to the reader's command. This algorithm is simple, and its usage cost is low. The Aloha algorithm is divided into pure Aloha (PA), slot Aloha (SA), frame slot Aloha (FSA), and dynamic FSA (DFSA) [11][12][13]. The DFSA algorithm was proposed to improve the Aloha performance and is now widely used.
ISO18000 and EPCglobal are the two most influential international standards for RFID. The type C of ISO18000-6 (known as ISO18000-6C) and EPCglobal_C1 G2 (known as EPC_C1 G2) use the same technical system drafted by the EPCglobal organization. The ISO18000-6C standard uses an anti-collision algorithm based on DFSA, and it adopts the Q algorithm to dynamically adjust the frame length, frame by frame [6]. The reader sends a command with the frame length Q to the tags. Each tag then randomly selects one of the available slots to reply to the reader. This algorithm improves identification efficiency more effectively compared to the fixed frame length method [7][8].
In the Q algorithm, on the other hand, adjustable step C only spans from 0.1 to 0.5, and rules of value selection are not provided. In practice, if the value of C is too high, the frame lengths must be frequently adjusted and the system will be unstable. On the contrary, if the value of C is too low, the adjustment will be sluggish. To address this problem, many improved anti-collision algorithms have been proposed. A method of obtaining high identification efficiency by dynamically adjusting the frame length according to the number of tags was proposed in [14]. In [15], a closed form solution for the analytical calculation of the optimum frame length was presented. Zhang et al. presented in [16] an adaptive assigned tree slotted Aloha protocol that uses a binary query method to solve the unknown tag problem. Kim et al. proposed in [17] a DFSA algorithm that adjusts the frame length based on the number of collision slots and idle slots that engender higher estimation efficiency. The authors of [18] proposed an anti-collision protocol using the reservation mechanism. In this mechanism, the tag identification process is divided into two stages, which reduces the collision slots and eliminates idle slots, greatly enhancing the identification efficiency.
Meanwhile, Bartlett et al. proved that the identification efficiency is the highest when the number of tags is the same as the frame length [19]. The authors of [20] presented a tag anticollision algorithm based on grouping the self-adaptive allocation slot. Accordingly, the system identification efficiency is significantly improved. Shakiba et al. [21] applied the birthday paradox theory to estimate the number of tags. Vogt [22] applied the maximum likelihood estimation method to estimate the number of tags. This approach increases the tag estimation accuracy. Vogt also used the Markov process to describe the dynamic framed ALOHA reading of passive tag. [23] Chen et al. [24] proposed an adaptive algorithm to minimize the total time slots required for identifying the tags within the RFID reader's interrogation zone. Arjona et al. [25] integrated fuzzy logic with RFID anti-collision protocols, which decreases the identification time by updating the transmission frame size in a dynamic and adaptive way.
For measuring the performance of RFID, global throughput is a commonly used index. It is defined as the ratio of the time consumed by the transmission of information to the time consumed by the whole identification process. Lee et al. [26] presented an algorithm that adaptively updates the frame size based on estimating the number of tags by counting the respective numbers of idle, success, and collision slots. This approach significantly improves the global throughput.
Taking the optimization of global throughput performance as the target, we herein present a FSA-based anti-collision method that can adaptively and dynamically adjust the frame length. It estimates the number of tags to be identified according to the number of tags successfully identified after only the first frame. According to the estimation result and the successfully identified tags in the first frame, the reader adjusts the length of subsequent frames to perform optimal identification. The estimation algorithm adopts the secant iteration. Herein, it is referred to as the secant-iteration-based adaptive and dynamic frame slotted Aloha method (SIADA). The simulation results show that, compared with the Q algorithm adopted by the ISO18000-6C standard, the global throughput of the proposed algorithm is improved by more than 2 times. Thus, the proposed method has superior performance.
The remainder of the paper is organized as follows. Section 2 presents the system model and outlines the SIADA algorithm flow. In section 3, we derive a new estimation method of the initial tag population. In section 4, the global throughput of SIADA is presented and compared to the ISO18000-6C Q algorithm, the Vogt algorithm, and the ideal system. Finally, concluding remarks are provided in section 5.

i. Basic definition
It is assumed that there are multiple passive tags within the reader coverage. The process of completing the identification of all the tags within the reader coverage is called the identification period. One identification period is comprised of multiple identification frames, and each frame is composed of several slots. Within one identification period, each tag only needs to be successfully identified once. When a tag is correctly identified by the reader, it will enter a silent state and will no longer respond to the reader during this identification period.
In addition, it is assumed that there are no new tags entering the reader coverage during one identification period. Suppose there are n passive tags within the reader coverage and the identification process is controlled by the reader.
Query(Q) command: The Query(Q) command starts a general frame (not including the probing frame). The reader broadcasts the Query (Q) command to all tags, as the first command to initiate an identification period. It requires the parameter Q, whose value is set by the user in advance, and then it is adjusted adaptively and dynamically, according to the number of remaining tags. That is, Q refers to the initial value in the first frame, and then iterates from the second frame. All tags enter the active state after receiving this command.
ReadN command: A command reads the next slot. 1 is subtracted from S i , S li or S ui after the tags receive the ReadN command; S i , S li and S ui are defined in the next section.
QueryT (Q) command: The QueryT (Q) command starts a probing frame. We use two probing frames to eliminate the Pseudo-solution. The details are described in the next section.

ii. Processing flow
Firstly, the reader sends the Query (Q) command, indicating that the frame includes Q slots. After receiving the command, each tag randomly produces an integer S i (i = 1, 2. . .n), which is no greater than Q. This means that the ith tag aims to respond to the reader in slot S i . After that point, the reader sends the command ReadN. After receiving ReadN, the ith tag reduces S i by 1. If the result is 0, the ith tag responds to the reader at this slot; otherwise, it waits for the next ReadN command. Accordingly, the reader sends the ReadN command for Q times to complete the reading of all the Q slots in the first frame. For the reader, it does not know the initial number of tags n. To enhance the global throughput performance of the overall identification period, it must estimate n. In this paper, we propose that, after the successful identification of N s tags in the first frame, the reader estimates the number of initial tagsn using secant iteration. Firstly, we set the length of the second frame as (n À N s ) to enable the optimal identification efficiency. Then, the subsequent frames use a similar process until all tags are correctly identified. The algorithm processing flow of SIADA is shown in Fig 1. As shown in Fig 1, each tag randomly selects one slot to respond to the reader. Slot S i may be selected by multiple tags, by one tag, or by no tag. If a slot is selected by multiple tags, then there will be more than one tag simultaneously sending its 16-bit random number (RN16) in this slot. The random numbers are different; thus, the reader utilizes the Manchester encoding character to perceive the tag collision. In this case, the slot is marked as a collision slot. If a slot is selected by only one tag, then the slot is an effective slot and N s is increased by 1. If a slot is selected by no tag, then the slot is an idle slot. Also shown in Fig 1, CTI uses the proposed frame length multiplication algorithm, which is proposed in subsection iii in the next section.
The initial tag population size estimation algorithm is located between the first frame and the second frame, which includes two steps: i.e., initial tag population size estimation based on SIADA, and the removal of the "pseudo solution." From the second frame, by subtracting the tags that have been successfully identified before, from the initial tags estimated, we can obtain the remaining tags, according to which the length of the current frame will be determined optimally. In this way, the following frames are carried out until all tags are identified successfully. The estimation method consists of solving a transcendental equation, which usually produces two solutions: one of which is a pseudo solution needing to be removed by a special method. The resolvent is given in subsection ii in the next section.

Estimation of initial tag population
In estimation of the initial tag population, the first frame length is Q, and the number of tags to be identified is n. Then, each tag randomly generates an integer S i = m (i = 1, 2. . .n). The probability that m is less than Q is P = 1/Q, and the probability that the r tags will simultaneously select one slot is P(Q, n, r). Then, [18] PðQ; n; rÞ Obviously, in accordance with r being 1, 0, or greater than 1, the probability of successful, empty, and collision slots can be obtained. When r = 1, the probability of successful slots is [18] PðQ; n; Therefore, the expected value of the number of successful slots in one frame is The left side of (3) is the expected value of the number of tags successfully identified. After the first frame, it can be replaced with N s . We can obtain estimatedn through solving the equation. Eq (3) is a transcendental equation; we use herein the secant iteration method to solve it.
The Monte Carlo method is used to simulate the global throughput. The Monte Carlo process is outlined as follows. When n is given, each tag generates a random number, S i (i = 1, 2, 3, . . .,n) 2 [1, Q], representing the ith tag expecting to respond to the reader in slot S i . If S i = S j (i 6 ¼ j), then S i is a collision slot. For any j 2 [1, n], if j 6 ¼ i, then S i 6 ¼ S j . Hence, S i is recorded as a successful slot.

i. Estimation algorithm based on secant iteration
In (3), let E[P(Q, n, 1)] = N s , and let By solving the equation f(x) = 0 and obtaining root x, we can then obtainn ¼ ½x�. The secant method is a root-finding algorithm that uses a succession of roots of secant lines to better approximate a root of a function, f(x). The secant method can be interpreted as a method in which the derivative is replaced by an approximation and is thus a quasi-Newton method. However, Newton's method requires the evaluation of both f(x) and its derivative at every step, whereas the secant method only requires the evaluation of f(x). Therefore, the secant method may be faster in practice. The secant iteration method is based on using the line tangent to the curve of y = f(x), with the point of tangency (ξ, f(ξ)), where ξ is the root. Assume that the two initial estimates of the root are x 0 and x 1 . Then, the tangent function is This line is called the secant line. Its equation is derived as and is linear in x. Solve the equation g(x) = 0, and denote the root by x 2 . This yields The same process is repeated. Use x 1 and x 2 to produce another secant line, and then use its root to approximate ξ. This yields the general iteration formula To start the secant iteration, three parameters, namely x 0 , x 1 , and N, must be specified, where N is the maximum number of iterations. Assume that ε is the error tolerance. The stopping criterion is that |f(x n+1 )| � ε, |x n+1 − x n | � ε, or the iteration times � N. The secant iteration algorithm is shown in Table 1.

ii. Pseudo-solution removal
Calculate the first-order derivative of Eq (4). Then, we can obtain In a real application system, Q >> 1; thus, (1 − 1/Q) x−1 > 0. Using the Taylor series expansion equation, we can obtain Let Eq (10) be equal to 0. We can obtain the extreme point, x opt �Q. That is, when the number of tags to be identified is equal to Q, the identification efficiency reaches the maximum. Theoretically, N s should not be greater than x opt ð1 À 1=QÞ x opt À 1 . When N s ¼ x opt ð1 À 1=QÞ x opt À 1 , Eq (4) has the sole solution. According to Eq (10), it can be observed that, when x<Q, then f '(x) > 0; thus f(x) monotonically increases. When x>Q, then f'(x) < 0, and f(x) monotonically decreases. Therefore, when N s < x opt ð1 À 1=QÞ x opt À 1 , there are two solutions to Eq (4), which Table 1. Secant iteration algorithm.
Step 2: Step 3: if |f(x n+1 )| � ε, |x n+1 − x n | � ε, or k � N, go to step 1, else stop. are respectively located at each side of x opt . One of them must be a pseudo-solution and should be eliminated.
Two initial values, x 0 and x 1 , should be set to solve Eq (4) when the secant iteration is adopted. Q is known. Therefore, in the case of double solutions, the solution position can be controlled through the initial value setting. By setting x 0 and x 1 to be smaller than Q, the solution x l will be smaller than x opt . Otherwise, if setting x 0 and x 1 to be greater than Q, then the solution x u will be greater than x opt .
Setting Q l ¼n l À N s and Q u ¼n u À N s respectively, the reader sends two probing commands QueryT(Q l ) and QueryT(Q u ) in two identification probing frames. Where, n l ¼ roundðx l Þ andn u ¼ roundðx u Þ. The effectively identified tag numbers, N sl (corresponding to Q l ¼n l À N s ) and N su (corresponding to Q u ¼n u À N s ), are recorded. Those tags that are successfully identified during the statistical stage will not enter silent states. The reader determines the one that is a pseudo-solution according to the identification efficiency. If N sl =ðn l À N s Þ � N su =ðn u À N s Þ, thenn ¼ ½x l �; otherwise,n ¼ ½x u �. After eliminating the pseudo-solution, the following frames will continue until all tags are effectively identified. Then, the identification period will be finished. Table 2 gives the experimental results of the estimation algorithm based on the secant iteration. The experimental parameters are n = 900, Q = 1200, ε = 0.001; x 0 = 0.3Q = 360 and x 1 = 0.6Q = 720 for estimation of x l , and x 0 = 1.3Q = 1560 and x 1 = 1.6Q = 1920 for estimation of x u . Table 2 shows that the number of iterations of solving x l and x u is four. By utilizing the experimental results of Table 2, the reader sends two probing commands QueryT(495) and QueryT(1200) based on the parameters Q l = 923−428 = 495 and Q u = 1620-420 = 1200. Through the experiment, we obtain N sl = 189, with 189/495 = 0.3816, and N su = 315, with 315/ 1200 = 0.2624. Owing to 0.3816>0.2624, we can obtainn ¼ 923 and the estimated error is |923-900|/900 = 2.5%. Such estimation accuracy can meet the requirement of the frame length adjustment. If utilizing the theoretical value E[P(Q, n, 1)] = 425.4 for estimation, the experiment result is x l = 897 and x u = 1563. Therefore, N sl = 172, with 172/472 = 0.3640, and N su = 312, with 312/1138 = 0.2739. After eliminating the pseudo-solution by utilizing the same method, we can obtainn ¼ 897, and the estimated error is |897-900|/900 = 0.3%. It can be observed that the estimation error is mainly derived from the deviation between N s and the theoretical value E[P(Q, n, 1)]. If these two values are equal, the estimation error of the initial number of tags will be quite small.

iii. Criteria of terminating identification
According to the definition in this paper, the identification period is the complete identification of all tags in the reader's coverage. It is therefore necessary to determine whether all tags have been successfully identified in order to determine whether to terminate the identification period. Furthermore, the DFSA protocol suffers the well-known tag-starvation problem; that is, a tag may not be correctly read during a reading cycle. Thus, the criteria of terminating identification play a key role in the identification cycle.  The SIADA method proposed in this paper does not require counting the empty slots and collision slots. In theory, it can decide whether to terminate the identification period only according to the successfully identified tags within the frame. If the number of successfully identified tags is 0, we can assume that all tags have been successfully identified. However, through the simulation experiment, it is found that this method is likely to be wrong. In the Query(Q) command, parameter Q is equal to the value that the initial tag number estimated after the first frame minus the number of all tags successfully identified before this frame. Accordingly, the first frame estimation error will pass to the last frame. The estimation accuracy of the SIADA algorithm is higher than 97%. When the remaining tag population is large, it is effective to adaptively adjust the frame length according to the estimated number of the remaining tags. However, when the population is small, such as less than ten, if the number of initial tags is approximately thousands, the estimated error will be greater than a few dozen, which is greater than the number of remaining tags. It is possible that the estimated number of remaining tags will be 0. Nevertheless, the actual number of tags is not 0. To solve this problem, the following frame length multiplication algorithm is proposed.
Assuming that Rep is a natural number, which is the upper-bound of cycles, then the termination judgment is as follows.
Step 2: If Q i = 0 and the number of cycles is less than Rep, then Q i = 2 � (Q i +1), broadcast the Query(Q i ) command, and proceed to Step 1. If Q i = 0 and the number of cycles is equal to Rep, then proceed to Step 4. Otherwise, proceed to Step 3.
Step 3: Start a new identification frame.
Step 4: End the identification period.
If the parameters are properly configured, the frame length multiplication algorithm can solve the tag starvation problem.
The procedure of SIADA, where n is equal to 200, 400, 800 and 2000, is simulated, and the results are shown in Table 3. The other parameters: Rep = 3; Ε = 0.001; x 0 = 0.3Q and x 1 = 0.6Q for estimation of x l ; x 0 = 1.3Q and x 1 = 1.6Q for estimation of x u . Table 3 shows that, when n = 200 and Q = 300, 10 frames are required to identify all tags; when n = 400 and Q = 600, 12 frames are required; when n = 800 and Q = 1200, 7 frames are necessary; when n = 800 and Q = 500, the requirement is 16 frames; when n = 2000 and Q = 3000, 16 frames are necessary; when n = 2000 and Q = 1400, 14 frames are needed. Table 3 also shows that when (n, Q) = (200,300), (800,1200) and (2000,1400), with the numbers of estimated-remaining tags being more than the numbers of actual-remaining tags, the "multiplication frame length algorithm" is not enabled. In the other three cases, the numbers of estimated-remaining tags are less than those of actual-remaining tags, so the "multiplication frame length algorithm" is enabled.

i. Estimation performance of SIADA
We compare the estimation performance with two estimators that have been proposed in references [23] and [27], respectively. They are widely used in applications. Zhen et al. propose in [27] that the number of initial tags can be approximately estimated as follows: where, Nc denotes the number of collision slots. Vogt et al. propose in [23] that a lower bound on the value of n can be obtained by the simple estimation function ε lb , which is defined as ε lb = N s + 2N c . We use Matlab to simulate the SIADA-based estimation of the number of initial tags and compare it with Zhen algorithm and Vogt algorithm. The simulation results are shown in Fig  2. The simulation parameters are Q = 1000, ε = 0.01, n is from 10 to 2000, the sampling interval is 10, and the number of performed trials is 100. Fig 2 demonstrates the absolute error and relative error of SIADA, Zhen, and Vogt algorithm. We can see that SIADA outperforms Zhen and Vogt algorithm. Fig 2 also shows that when n is less than 700 or more than 1300 the relative error of SIADA is less than the relative error of Zhen and Vogt algorithm. When n is close to Q, i.e., it is approximately between 800 and 1200, the relative error of SIADA is slightly larger. This finding shows that, when the number of tags to be identified is close to Q, which is near the optimal value of identification, the method of pseudo-solution removal is prone to error. In this case, the error of pseudo-solution removal will engender a certain degree of influence on the tag identification performance. Nonetheless, owing to the difference between the two roots, x l and x u , being insignificant, it will not cause the algorithm to fail. On the other hand, when n is far from Q, the estimation error is quite small. This is because, when n is close to Q, the two solutions, x l and x u , located at each side of x opt , are close to each other. Owing to the inherent randomness of N s , some errors will inevitably occur during the elimination of the pseudo-solution. Fortunately, in this case, the difference between solutions x l and x u is small. Thus, the false elimination of pseudosolutions will not significantly increase the estimation error, and it will not have a fatal impact on the SIADA identification performance.  NA  NE  NA  NE  NA  NE  NA  NE  NA  NE  NA  NE   1  97  98  196  187  388  394  638  635  974  968  1521  1525   2  63  64  133  124  234  240  393  390  625  619  933  937   3  40  41  80  71  138  144  251  248  405  399  607  611   4  25  26  57  48  79  85  153  150  257  251  363

ii. Global throughput comparison
The global throughput is a commonly used index for measuring the performance of RFID. Specifically, it is defined as:

consumed by transmission information time consumed by the identification period : ð12Þ
The time consumed by the identification period is the sum of the transmission time for all commands, interval time between commands, state switching time, time associated with successful, idle and collision slots, and estimation time. It is assumed that the length of each slot is the same.
Assume the command codes of Query(Q), QueryT(Q), and ReadN as in Table 4. RT cal is defined as Reader-to-Tag calibration symbol and TR cal as Tag-to-Reader calibration symbol. According to the EPCglobal_C1 G2 standard, the TRcal and RTcal must meet the constraints in Eq (13):  Table 4. Command Codes.

QueryT(Q) 11 XXXXXXXXXXXX
ReadN 01 --------- The length of information sent to the reader by the tags is defined as L bits. R-to-T (Reader to Tag) data rate R rt is assumed to be equal to 26.7 kbps, L is equal to 16, and TR cal = 1.2 × RT cal . T-to-R (Reader to Tag) data rate R tr is equal to R rt /1.2 = 22.25 kbps. A Reader shall set RT cal equal to the length of a data-0 symbol plus the length of a data-1 symbol (RT cal = 0 length +1 length ). Thus, RT cal = 74.9μs (assuming equiprobable data) and TR cal = 89.9 μs (assuming equiprobable data). The divide ratio is defined as DR. A DR is assumed equal to 64/3(EPC standard). Backscatter-link pulse-repetition interval is defined as T pri . T pri = TR cal /DR = 4.2μs.
In Table 3 For simplicity, only the numbers of successful, idle, collision, and estimation slots, are counted in our simulation. The state switching time highly depends on the device performance in applications. As it is difficult to measure the state switching time, we ignored it in the simulation of this paper.
To objectively and accurately evaluate the performance of our proposed anti-collision algorithm, we provide the simulation results of global throughput. We employ our estimator, a Zhen estimator, and an ideal system respectively in our procedure. In the ideal system, the number of initial tags is known in advance. We also give the throughput of the classic DFSA algorithm used in ISO18000-6C.
In the ith frame, [27] proposes that the a posteriori probability distribution of k tags choosing the slot is In other words, the a posteriori expected value of the number of tags is respectively, 0 for an empty slot, 1 for a success slot, and X n k¼2 kp 0 k ðiÞ tags for a collision slot. Therefore, the estimated tag sets in the current frame is p 1 ðiÞ þ X n k¼2 kp 0 k ðiÞ. The number of initial tags can be approximately estimated with Eq (11).
The parameter Q of SIADA, ideal system and Zhen system, is the frame length, however, in ISO18000-6C, the frame length is expressed by 2 Q , Q here is the base 2 logarithm of frame length.
The results are shown in Figs 3, 4 and 5. The simulation parameters are ε = 0.01, n is from 40 to 2400, the sampling interval is 40, Rep = 3, and 100 trials are conducted.
In the ideal system, the initial number of tags (n) is known in advance, so the number of remaining tags is also known. The initial frame size is still Q (512, 1024 or 2048 in the experiments), but from the second frame, the frame size (Q) is adjusted accurately to be equal to the number of remaining tags. Then, it adaptively and dynamically adjusts the frame length to strictly comply with the optimal identification standard, that is, the frame length should be equal to the number of remaining tags. ISO18000-6C adopts the Q algorithm given in appendix D of [6] to adjust the frame length. Here, step C = 0.2, 0.3 and 0.4 respectively. The other main simulation parameters are Q = 512, 1024, and 2048, respectively. (In the ISO18000-6C standard, the frame length is expressed by 2 Q ; thus, Q is actually the base 2 logarithm of the frame length. Hence, Q = 9, 10, and 11, respectively). In addition, ε = 0.01, and n is from 40 to 2400 with the step 40.
From Figs 3, 4 and 5, when the number of tags to be identified is about greater than 100, the SIADA global throughput performance is significantly better than that of the Q algorithm. When the number of tags to be identified is near Q (such as when Q = 1024, n varying from 700 to 1300), the global throughput performance of SIADA decreases. The lowest value is 0.26, which is approximately twice that of ISO18000-6C and 75% of the ideal system. When n is far from Q, the performance approximates the ideal system, which is about twice more than that of ISO18000-6C.
The throughput is not very stable when n is near Q. This is because, when the number of tags to be identified is close to the initial frame length, the two solutions, x l and x u , located at each side of x opt , are close to each other, which causes the pseudo-solution removal algorithm to tend to fail more frequently. This results in adjusting the Q-value at a non-optimal frame length, and it has a certain impact on the global throughput performance. Nevertheless, even if the global throughput of SIADA decreases to the lowest point 0.17 when the tag number is 800, it is still far greater than the Q-algorithm of the standard EPC_C1 G2. For the Q-algorithm, the throughput is always between 0.1 and 0.14, even if the initial Qvalue is not perfectly matched to the actual population size. This is because the Q-algorithm adjusts the frame length by multiplying by 2 or dividing by 2, so that the convergence rate is very fast. Thus, the initial Q-value has no obvious effect on the global throughput performance. This conclusion is consistent with the results of existing literature which hold that the number of tags has a minimal impact on the performance. We additionally find that parameter C has no significant impact on the throughput performance.

iii. Comparison of delay
Given the initial number of tags n, by defining the time required to successfully identify all n tags as delay(n), we can obtain According to the EPCglobal_C1 G2 standard, assume the R-to-T data rate R rt is equal to 26.7 kbps, the T-to-R data rate R tr is equal to 22.25 kbps and L is equal to 16. The delay results are shown in Fig 6. It can be observed in Fig 6 that the delay of the SIADA algorithm is the smallest, the ISO1800-6C delays are the largest, and the Vogt algorithm delay is somewhere between them. When n>500, the SIADA delay is approximately 50% less than that of ISO1800-6C, and approximately 20% less than that of Vogt.

Conclusion
Compared with the traditional DFSA, the new anti-collision algorithm proposed in this paper provides a significant improvement in the global throughput performance, which is very close to the ideal system. Owing to a paper length constraint, we herein did not address the balance between the processing delay and identification efficiency in the case of a large number of tags. In real applications, it can be solved by appropriate grouping of tags.


extfieldsofstudy:
Computer Science
Engineering

text:
Multisensor Online Transfer Learning for 3D LiDAR-based Human Detection with a Mobile Robot

Human detection and tracking is an essential task for service robots, where the combined use of multiple sensors has potential advantages that are yet to be exploited. In this paper, we introduce a framework allowing a robot to learn a new 3D LiDAR-based human classifier from other sensors over time, taking advantage of a multisensor tracking system. The main innovation is the use of different detectors for existing sensors (i.e. RGB-D camera, 2D LiDAR) to train, online, a new 3D LiDAR-based human classifier, exploiting a so-called trajectory probability. Our framework uses this probability to check whether new detections belongs to a human trajectory, estimated by different sensors and/or detectors, and to learn a human classifier in a semi-supervised fashion. The framework has been implemented and tested on a real-world dataset collected by a mobile robot. We present experiments illustrating that our system is able to effectively learn from different sensors and from the environment, and that the performance of the 3D LiDAR-based human classification improves with the number of sensors/detectors used.

I. INTRODUCTION
Human detection and tracking is an important task in service robotics, where knowledge of human motion properties such as position, velocity and direction can be used to improve the behavior of the robot, for example to improve its collision avoidance and adapt its velocity to that of the surrounding people. Using multiple sensors to track people has advantages over a single one. The most obvious one is that multiple sensors can often do the task with a wider field of view and thus track more people within a larger range [1], [2]. Another advantage is that multiple sensors providing redundant information can increase tracking accuracy and reliability [3], [4], [5], [6].
Different sensors have different properties. The 3D Li-DAR in our robot platform ( Fig. 1) has 16 scan channels, 360 • horizontal and 30 • vertical fields of view, and up to 100 m range. However, this sensor provides only sparse point clouds, from which human detection can be very difficult because some useful features, such as color and texture, are missing. 2D LiDARs have obviously similar problems, with further limitations due the availability of a single scan channel and reduced field of view. However, these sensors are also cheaper than the previous, and have been used in mobile robotics long enough to stimulate the creation of many human detection algorithms [7], [8]. RGB-D cameras, instead, can detect humans more reliably but only within short range and limited field of view [9], [10].   (2), and HOKUYO UTM-30LX 2D LiDAR (3). Right: visualized sensor data (only depth information is shown for RGB-D camera) annotated with corresponding sensor numbers.
In the literature, several algorithms already exist which can reliably detect human under particular conditions and with specific sensors (e.g. close range RGB-D detection). Other sensors, however, are not yet so popular to benefit from good human detection software (e.g. 3D LiDAR). In some cases, there are simply not enough datasets with such sensors to learn robust human classifiers for many realworld applications. In this paper, therefore, we wish to train a 3D LiDAR-based human classifier in a semi-supervised way by learning from existing RGB-D and 2D LiDAR-based detectors. Although better human detectors ultimately lead to better people tracking systems, here we focus on the first part only and leave the second for future work.
Typically, data collection and training of the classifier are done offline, with obvious labor cost and potential human errors. In the proposed transfer learning framework, instead, a 3D LiDAR-based human classifier is trained online while exploiting spatio-temporal information from the tracking sub-system, which uses static (i.e. pre-trained) human detectors for the 2D LiDAR and RGB-D sensors. This framework enables a new sensor to learn from trajectories of the tracked people, each one with an associated confidence, or probability, of being human-generated, and fusing different model-based (labeled) and model-free (unlabeled) detections according to a semi-supervised learning scheme [11]. In contrast to previous approaches [12], [13], our solution does not need any hand-labeled data, performing online learning completely from scratch. Besides reducing the burden of data annotation, this feature makes our system easily adaptable to the environment where the robot is deployed.
The contributions of this paper can be summarized as follows: 1) we propose an online transfer learning framework for multisensor people tracking based on a new trajectory probability, which takes into account both sensor independence (in the detection) and multisensor interaction (in the trajectory estimation); 2) we present an experimental evaluation of our system for 3D LiDAR-based human classification with a mobile robot on a real-world dataset using different sensor combinations. The remainder of the paper is organized as follows: Section II provides an overview of relevant literature in human detection and tracking. Section III presents our solution framework for online transfer learning. Section IV describes the application of the proposed framework to the problem of 3D LiDAR-based human classification. Section V illustrates the experimental results for different sensor configurations. Finally, Section VI concludes the paper summarizing the contributions and suggesting future research work.

II. RELATED WORK
The problem of multitarget and multisensor tracking has been extensively studied during the past few decades. Most of present systems are based on Bayesian methods [14], which compute an estimate of the correspondence between features detected in the sensor data and the different humans to be tracked. Regarding robotic applications, multiple sensors can be deployed in single-or multi-robot systems [15], while the former is the concern of this paper.
RGB/RGB-D camera plus 2D LiDAR is the most frequently used combination in the literature. [3] presented two different methods for mobile robot tracking and following of a fast-moving person in an outdoor environment. The robot was equipped with an omnidirectional camera and a 2D LiDAR. [16] presented an integrated system to detect and track people and cars in outdoor scenarios, based on the information retrieved from a camera and a 2D LiDAR on an autonomous car. [2] introduced a people tracking system for mobile robots in very crowded and dynamic environments. Their system was evaluated with a robot equipped with two RGB-D cameras, a stereo camera and two 2D LiDARs.
Our previous work with the aforementioned sensor combination includes [8] and [17]. The former presented a human tracking system for mobile service robots in populated environments, while the latter extended this system to a fully integrated perception pipeline for people detection and tracking in close vicinity to the robot. The proposed tracking system tracks people by detecting legs extracted from a 2D LiDAR and fusing this with the faces or the upper-bodies detected with a camera using a sequential implementation of the Unscented Kalman Filter (UKF).
The combination with 3D LiDAR is increasing with the development of the 3D LiDAR technology. Taking advantage of its high accuracy, [4] developed an algorithm to align 3D LiDAR data with high-resolution camera images obtained from five cameras, in order to accurately track moving vehicles. Other reported results include [18] and [19], which mainly focused on pedestrian detection rather than tracking. In addition, earlier work presented multitarget tracking with a mobile robot equipped with two 2D LiDARs, respectively located at the front and back [1]. Thus the robot can have a 360 • horizontal field of view, where each scan of these two sensors covers the whole surrounding of the robot at an angular resolution of 1 • .
The use of machine learning algorithms for tracking has particular advantages. The closest work to ours is [13], where the authors proposed a semi-supervised learning approach to the problem of track classification in 3D LiDAR data, based on Expectation-Maximization (EM) algorithm. In contrast to our approach, their learning procedure needs a small set of seed tracks and a large set of background tracks, that need to be manually or semi-manually labeled at first, whereas we do not need any hand-labeled data.
To our knowledge, no existing work in the robotics field explicitly exploits information from multisensor-based tracking to implement transfer learning between different sensors as in this paper. Our work combines the advantages of multiple sensors with the efficiency of semi-supervised learning, and integrates them into an single online framework applied to 3D LiDAR-based human detection.

III. ONLINE TRANSFER LEARNING
An overview of our solution framework for online transfer learning can be seen in Fig. 2. It contains four main components: static detectors denoted by D s , dynamic detectors D d , a target tracker T and a label generator G. In order to facilitate the explanation, we present each component following the sequence of an entire iteration, starting with human detection.

A. Human Detection and Tracking
D s can detect humans with offline-trained or heuristic detectors, typically with high confidence, while D d acquires this ability through the online framework. Both detectors provide new observations for T and their corresponding probabilities for G. D s provides labeled detections, while D d provides both labeled and unlabeled ones. Here we assume the initial training set is substituted, instead, by a transfer learning process between the initial D s and the final D d .
The tracking process T gathers the observations, fuses them and generates human motion estimates. Both moving and stationary targets are tracked. For the latter, the trajectory length is supposed to be null or at least very small. T associates human detections from different sensors to the same corresponding estimates, linking D s and D d detections and therefore making the transfer learning possible. In order to enable this on a mobile robot with multiple sensors, T should: a) be robust to sensor noise and partial occlusions; b) fuse multisensor data; c) be able to deal with multiple targets simultaneously; d) cope with noise introduced by robot motion.

B. Transfer Learning
The label generator G fuses the information coming from D s , D d and T , then generates training labels for D d . A trajectory probability is measured by G, based on Bayes' theorem. The idea is to measure the likelihood that a trajectory belongs to a human, which is defined as follow. Given an objectness proposal x i and its category label For a whole trajectory of detections X T {x i } and its category label Y T , the predictive probability of the whole trajectory P (Y T |X T , D) is computed by integrating the observations of the different detectors according to the following formula: and Here, P (y i |x i , d j ) may be necessary to get through some transformations based on specific circumstances, that are illustrated in our application case (Section IV-A and IV-B).
The above formula has been proved effective by theoretical and experimental analysis in generating grid occupancy map from different sensors [20], [21], since the odds method takes sensor interactions into account. To the best of our knowledge, applying it to human trajectory analysis is new. An intuitive approach to generate labels is to threshold the trajectory probability in Eq. 1. Let σ t be a predefined threshold value, then: where Z + refers to positive integer values. Our framework uses a Batch Incremental Training (BIT) policy to learn a classifier in D d , because: a) the number of new generated training examples is always more than one; b) the batch of examples can be used to approximate the distribution of the whole examples in online learning [22]. For a certain interval, a new batch of training samples [X new , Y new ] can be generated: where X T is obtained by the tracker and Y T is obtained from Eq. 4. The classifier of D d will be updated in the BIT procedure: where subscript i refers to the iteration rather than time.

C. Convergence of the Learning Process
The learning procedure converges when the number of correct detections output by D d reaches a steady state: where I is the total number of re-training iterations. In our system, the stability at iteration i is defined as follows: where u i is the number of correct classified examples, X valid is the validation set, ψ is binary function via thresholding 0.5. One can halt the learning process when the stability stops increasing, or other stopping conditions (e.g. number of iterations) are triggered.

IV. APPLICATION TO MULTISENSOR HUMAN DETECTION
In this section, we present an online transfer learning for human classification in 3D LiDAR scans using the robot shown in Fig. 1. The sensor configuration resembles the one adopted for an industrial floor washing robot developed by the EU project FLOBOT 1 and, besides a 3D LiDAR on the top, includes an RGB-D camera and a 2D LiDAR mounted on the front. We describe in the following paragraphs how to use the state-of-the-art detectors to train a 3D LiDAR-based human detector online, instead of training it offline using manually-labeled samples.
The detailed block diagram of our implementation can be seen in Fig. 3. At each iteration, 3D LiDAR scans are first segmented into point clusters. The 2D position and velocity of these clusters are estimated in real-time by a multitarget tracking system, which outputs the trajectories of all the clusters. At the same time, a classifier is trained to classify the clusters as human or not, assigning a normalized confidence value to each of them. This confidence is the predictive probability P (y i |x i , d j ) for the 3D LiDARbased detector, which is needed for the calculation of the trajectory probability in Eq.1-3. The classifier is initialized and retrained online. The trajectories and the probabilities are sent to a label generator, which generates the training labels for the next iteration.
The upper-body detector [10] and the leg detector [7], respectively based on the RGB-D camera and the 2D LiDAR, are the static detectors D s . Both enable human tracking by sending the position of the detections. In addition, they provide the corresponding probabilities P (y i |x i , d j ) (i.e. normalized detection confidence) to the label generator. The combination of 3D-LiDAR-based cluster detector and the  human classifier, instead, constitutes the dynamic detector D d that we want retrain online. For an intuitive understanding of the various detectors and their outputs, please refer to the example in Fig. 4. The following paragraphs describe each module in detail.

A. Upper Body Detector and Leg Detector
The upper-body detector identifies upper-bodies (shoulders and head) in 2D range (depth) images, taking advantage of a pre-defined template. The confidence of the detection is inversely proportional to the observation range. The leg detector detects legs in 2D LiDAR scans based on 14 features, including the number of beams, circularity, radius, mean curvature, mean speed, and more. Its detection performance is limited by moving and crowd people. As the upperbody detector and leg detector are not probabilistic methods and for the sake of simplifying mathematical conversion, a probability of 0.5 is assigned if x i is detected as a human.

B. Cluster Detector and Human Classifier
The 3D LiDAR-based cluster detector and the human classifier are originally from our recent work [12], while the former has been incorporated in different problems [23], [24]. As input of this module, a 3D LiDAR scan is first properly segmented into different clusters using an adaptive clustering approach. The latter enables to use different optimal thresholds for point cloud clustering according to the scan ranges. Then, a Support Vector Machine (SVM)-based classifier [25] with six features (a total of 61 dimensions) is trained online. These features are selected to meet robots' requirements for real-time and online computing performance. For more implementation details, please refer to [12].
In our approach (based on LIBSVM [26]), the uncalibrated error function of SVM is squashed into a logistic function (here is the sigmoid function) to get the predictive probability P (y i |x i , d j ) (used in Eq. 3). To be more specific, a binary classifier (i.e. human or non-human) is trained at each iteration. The ratio of positive to negative training samples is set to 1 : 1, and all data are scaled to [−1, 1], generating probability outputs and using a Gaussian Radial Basis Function kernel [27]. Since LIBSVM does not currently support incremental learning, the system stores all the training samples accumulated from the beginning and retrains the entire classifier at each new iteration. The solution framework, however, also allows for other classifiers and learning algorithms.

C. Bayesian Tracker
People tracking is performed by a robust multisensormultitarget Bayesian tracker, which has been widely used and described in previous works [2], [8], [12], [17], [28]. The estimation consists of two steps. In the first step, a constant velocity model is used to predict the target state at time t given the previous state at t − 1. In the second step, if one or more new observations are available from the detectors, the predicted states are updated using a Cartesian or a Polar observation model, depending on the type of the sensor. An efficient implementation of Nearest Neighbor data association is finally included to resolve ambiguities and assign each person the correct detections, in case more than one are simultaneously generated by the same or different sensors. As reported in [2], [17], [28], our tracker fulfills the requirements listed in Sec. III-A. We refer the reader to these publications for further details.

D. Label Generator
The positive training labels X + are generated according to Eq. 4, while the negatives X − are generated based on a volume filter: where W i , D i , H i are the width, depth and height of a 3D cluster x i . The idea is that clusters without a pre-defined human-like volumetric model will be considered as negative samples for the next training iteration. In our application, the dynamic classifier was trained from scratch without any manually-labeled initial sets. As the validation set is not available, the maximum number of iterations was used as halting criteria.

V. EVALUATION A. Dataset
We evaluated our framework on a real-world dataset 2 collected in an indoor public area by the robot shown in Fig. 1. The robot was running the Robot Operating System (ROS) [29] and it was manually driven with a gamepad. Several rosbag files were recorded, and the total length of which is about 49 minutes, including two continuous recordings of 19 and 30 minutes. Sensor data were recorded in their original frame of reference and the coordinate transformations were handled by the ROS tf package.

B. Experimental Setup
The experiments were conducted on the 19 minutes segment of continuous data, in which our binary SVM human classifier was learned online. The classifier was retrained once every 300 new positive (human) and 300 new negative (non-human) samples, labeled by the label generator, corresponding to one iteration. We report the results for the first seven iterations, collecting a total of 2,100 positive and 2,100 negative. In addition, a classifier was trained offline, using 2,100 manually labeled positive samples with an equal amount of randomly selected negative samples, to serve as a baseline for comparison. Furthermore, we arbitrarily selected 100 scan frames from the dataset and fully annotated these (including standing and sitting people) as a test set. This contains 1,197 human labels with varying distances from the robot between few centimeters and twenty meters. A detection was considered a true positive if the overlap between it and the ground truth was more than 50%.
Our framework has been fully implemented within a modular ROS architecture. All components are ready for download 3 and use by other researchers. The dataset collection and all the experiments reported in this paper were carried out on the robot embedded PC, with an Intel i7-4785T processor and 8 GB memory, using Linux Ubuntu 14.04 LTS (64-bit) and ROS Indigo. It is worth noting that our system is fast and cost effective, since it can learn a human detector within minutes and using only inexpensive CPUs, rather than training for hours or days with expensive GPUs.

C. Human Classification
We first evaluate the performance of the 3D LiDARbased human classification after every online training iteration. We compare the results for all the possible sensor combinations: 3D LiDAR only, i.e. without any knowledge transfer but learned from trajectories only; 3D LiDAR with RGB-D camera; 3D LiDAR with 2D LiDAR; 3D LiDAR with both RGB-D camera and 2D LiDAR. We measure the average precision (AP) [30], rather than the classification accuracy (ACC) used in other methods [13], because more informative. Indeed the number of true negatives in our binary classification was far larger than the number of true 2 https://lcas.lincoln.ac.uk/wp/research/ data-sets-software/l-cas-multisensor-people-dataset/ 3 https://github.com/LCAS/online_learning/tree/ multisensor  positives, leading to an ACC always higher than 80% (with probability threshold σ t = 0.5), for each training iteration and each sensor combination. In all the experiments, the trajectory probability threshold σ t of Eq. 4 was set to 0.7.
The experimental results in Fig. 5, show that the AP for "3D LiDAR only" and (3D LiDAR) "with 2D LiDAR" increases with the iterations, while there are not significant changes "with RGB-D camera". However, the results "with RGB-D camera and 2D LiDAR" show an interesting trend, first decreasing until the 5th iteration, and then increasing well above any other combination. This final outcome shows the advantage of our multisensor system, which can eventually improve the online transfer learning process.
We additionally evaluate the Precision-Recall of the offline and final (i.e. after the 7th iteration) online trained classifiers. The experimental results are shown in Fig. 6. Once again, the combination of RGB-D camera and 2D LiDAR achieves the best performance. Differently from the "3D LiDAR only" case, which learned only from moving people, the solution "with RGB-D camera and 2D LiDAR" was able to learn from moving, standing and sitting people, which greatly improved the human classification performance. It is also worth pointing out that, despite showing a relatively high precision, the true positive rate (recall) of the offline trained classifier is generally lower. This is due to a lack of longdistance samples in the offline training set, which are difficult to label by a human annotator.

VI. CONCLUSION
In this paper, we presented a framework for online transfer learning, applied to 3D LiDAR-based human classification, taking advantage of multisensor-based tracking. The framework, which relies on the computation of human trajectory probabilities, enables a robot to learn a new human classifier over time with the help of existing human detectors. To this end, we proposed a semi-supervised learning method, which fuses both model-based (labeled) and model-free (unlabeled) detections from different sensors. A very promising feature of the proposed solution is that the new human classifier can be learned directly from the deployment environment, thus removing the dependence on pre-annotated data. The experimental results, based on a real-world dataset, demonstrated the efficiency of our system.
The proposed framework has been fully implemented into ROS with a high level of modularity. The software and the dataset are publicly available to the research community, with the intention to perform objective and systematic comparisons between the recognition capabilities of different robots. Moreover, our framework is easy to extend to other sensors and moving objects, such as cars, bicycles and animals.
Despite these encouraging results, there are several aspects which could be improved. For example, the AP of the online learned classifier is still relatively low, due to the complexity of the environment recorded in our dataset. This can be further improved by using a more advanced model for negative sample generation. In addition, it remains to be verified how a new human detector, based on the online trained classifier, will affect the stability of the system and its tracking performance.