/touchclass

Classification of contact between a finger and inert tabletops from depth camera data through supervised learning.

Primary LanguageJupyter Notebook

touchclass

This repository showcases the classfication of contact between a finger and an inert surface, such as a tabletop, in a video stream produced by a depth camera, through a supervised learning approach.

The targeted interaction can be observed in the video from the paper:

video

A series of notebooks shows how to:

These produce the model that was used for the experiment.

Requirements

  1. install required python package from requirements.txt:

conda install --file requirements.txt

  1. install additional dependencies:

brew install pcl

pip install python-pcl

conda install -c open3d-admin open3d

  1. compile cython extention

python helper/deproject/setup.py build_ext --inplace

  1. install the dataset from the at the root of the repository in the folder called dataset.

Dataset

This repository includes the dataset on which the model was trained and tested. It is accessible in the release.

Related Publication

If you want to learn more about potential applications, please refer to the associated paper Gesture Typing on Virtual Tabletop.

@inproceedings{Loriette:2017:GTV:3132272.3135074,
 author = {Loriette, Antoine and Murray-Smith, Roderick and Stein, Sebastian and Williamson, John},
 title = {Gesture Typing on Virtual Tabletop: Effect of Input Dimensions on Performance},
 booktitle = {Proceedings of the 2017 ACM International Conference on Interactive Surfaces and Spaces},
 series = {ISS '17},
 year = {2017},
 url = {http://doi.acm.org/10.1145/3132272.3135074},
}