Home

Awesome

HandyNet: A One-stop Solution to Detect, Segment, Localize & Analyze Driver Hands

Keras implementation for training and testing the models described in HandyNet: A One-stop Solution to Detect, Segment, Localize & Analyze Driver Hands. This repository was created by modifying the pre-existing Mask R-CNN implementation found here.

Installation

  1. Clone this repository.
  2. Ensure keras and tensorflow are installed. This code has been tested with Keras 2.1.4 and Tensorflow 1.4.1.

Dataset preparation

1. Download the HandyNet dataset using this link.

2. Split the dataset into separate training and validation folders as below:

└── DATASET_ROOT
    ├── train
    |   ├── seq...
    |   └── seq...
    |   ...
    |   └── seq...
    └── val
        ├── seq...
        └── seq...
        ...
        └── seq...

Each seq... folder above is a from a separate capture sequence. You can split the sequences into train and val as per your requirement.

3. Create train-val split using this MATLAB script.

Make sure you replace root in this script with the actual path to the dataset.

Training

HandyNet can be trained using this script as follows:

python3 handynet.py train --dataset=/path/to/dataset/ --model=imagenet

Inference

An example using the HandyNet for inference and visualization can be seen in this script.

This script can be run as follows:

python3 demo_inference.py /path/to/inference/model /path/to/smooth/depth/mat/file

You can download our trained model using this link.