This project's goal was to develop a framework for daily human activity recognition as a Robocomp component, which would be based on machine learning approaches achieving comparable score with the state-of-the-art for the selected datasets.
This repository provides the code for training of the models for Human Activity Recognition Component for Robocomp.
Code for the components themselves has been done in the Robocomp's forks, these are the pull requests:
Interfaces
Components
More specifically, it consists of:
- code for classical machine learning with SVM and hand-crafted features
- code for transfer learning with convolutional neural network
- inference code used in the components (based on both of the approaches)
- summary of relevant research materials
Training related commits
Components related commits 1
Components related commits 2
Both of the training related directories have their own detailed READMEs.
Deep learning training
SVM training
Each of the components also has its own README on installation and use.
Details about the development of the project are described in the blog posts:
Introduction
First classification attempts
Improvement of the classification
Transfer learning and CNN
Creation of the Components
Two models have been trained with the maximum accuracy achieved of 94% on the CAD-60 dataset. A group of components described in the Creation of the Components has been developed to implement the full pipeline to process and classify data from raw rgb camera input.
However, despite the good accuracy achieved on the dataset's data, the model's performance is unsatisfactory on real-life input. Future work could focus on making the classifier more robust and general.