No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Table of contents

  1. Introduction
  2. Modules Description
  3. Datasets
  4. Useful methods
  5. Installation Instructions
  6. Licence


FORTH-TRACE library, as part of the FORTH-TRACE benchmark framework, is a Java implemented software tool that covers the entire feature-level fusion chain applied in Human Activity Recognition (HAR) applications. Feature selection is considered an important step of filtering redundant information, prior to applying any classification technique, especially for data streams characterized by high correlation.

The FORTH-TRACE library consists of the following modules.

  • Acquisition
  • Segmentation
  • Feature Extraction
  • Feature Selection

Modules Description

  • Acquisition: Collect data from wearable sensors and convert them into the appropriate data structures. This module supports multiple types of HAR datasets.

  • Segmentation: Split data into sliding windows of observations. The key parameters of the Segmentation component is the size w pf the sliding windows, as well as the overlapping factor a.

  • Feature Extraction: Extract M features for each data segment of each sensor modality. Currently, we support 11 types of statistical features and the Pairwise Correlation among sensor channels, listed below.

    • Mean
    • Median
    • Standard Deviation
    • Variance
    • Root Mean Square
    • Skewness
    • Kurtosis
    • Interquartile Range
    • Mean Crossing Rate
    • Zero Crossing Rate
    • Spectral Entropy
    • Pairwise Correlation
  • Feature Selection: Contains a pool of available Feature Selection Algorithms (FSA) in order to calculate the R (R <<M) representative features for each segment. Currently 4 types of FSA are implemented.

    • Supervised (Sequential Floating Forward Selection, SFFS)
    • Unsupervised (Feature Selection based on Feature Similarity, FSSA)
    • Ranking-based (Relief-F)
    • Unsupervised graph-based (Graph Clustering with Node Centrality, GCNC)


The FORTH-TRACE library is designed to support any given HAR dataset. Our implementation is tested using two HAR datasets.

Useful Methods

Besides the methods used that implement the Machine Learning pipeline, this project contains methods to write the feature matrixes and the experiment statistics into .csv for post-processing evaluation purposes. These methods are located in the IO package of the project. It is recommended to save the .csv files in the files/ directory of the project.

Furthermore, the file contains full experiment implementation for the following scenarios.

  • HAPT dataset
  • FORTH-TRACE dataset (collective scenario -- all devices of 10 random participants)
  • FORTH-TRACE dataset (single-device scenario -- for each separate device of 10 random participants)

Installation Instructions

  1. Download the project source files.
  2. Import the project to Eclipse or other IDE.
  3. Add the following libraries into the build path (located in the libs/ directory of the project):
    • commons-math3-3.5.jar
    • javaml-0.1.7.jar
    • weka.jar
  4. Specify the path of your dataset files in the file of the project.


Use of this source code in publications must be acknowledged by referencing the following publications:

  • Katerina Karagiannaki, Athanasia Panousopoulou, Panagiotis Tsakalides. A Benchmark Study on Feature Selection for Human Activity Recognition. ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp), ACM, 2016.