This document presents an overview of the content of my bachelor thesis,
which was submitted on 10.07.2018 at Universidad EAFIT in
MedellĂn, Colombia. The full document is found within this
repository at
main_document.pdf
.
The work at its core consists of the implementation of an Activity Recognition Chain (ARC), a system that comprises stages for data acquisition, preprocesssing, segmentation, feature extraction, and classification, with the goal of classifying human activities based on wearable sensor data.
The system was tested on the OPPORTUNITY dataset, a public benchmark dataset that was designed for Human Activity Recognition and contains data from body-worn sensors that several test subjects carried while simulating a scenario of activities of daily life.
The code was written in R.
The following list mentions the packages that were used in the implementation of the ARC, and a brief description of them:
- readr: a package focused on methods for importing data in R.
- tibble: a modern approach of R data frames.
- dplyr: a collection of tools to manipulate tibbles (e.g., subset data, modify values from data, merge and split tibbles).
- imputeTS: a collection of univariate time series imputation methods.
- ggplot2: a package dedicated to visualization methods of data.
- ggrepel: an extension of layers that can be applied to ggplot2 graphics.
- purrr: a package that allows to apply functions to lists and tibbles.
- stringr: a collection of string manipulation tools.
- tictoc: a helper package to track the runtime of R functions.
- caret: a library of machine learning methods and analysis tools.
- randomForest: a package focused on random forest algorithms.
The code consists of four main sections that resume the ARC process: reading data, preprocessing, feature extraction, and classification. The last three sections were wrapped into functions to assure reproducibility of the method with future datasets, while the reading data process may have particularities according to the dataset (e.g., type of data, number of files, definition of NA values, column names legend, labels legend).
The performance of the system was compared with the baseline results of the OPPORTUNITY challenge (Chavarriaga et al., 2013). The table summarizes the baselines of the challenge and the F-score obtained by the best ARC configuration proposed in this work. Additional results and observations are found in the full document.
This ARC was further used on a private dataset taken in the framework of the REACH 2020 project. More details about the dataset and objectives are found here.