HandyNet: A One-stop Solution to Detect, Segment, Localize & Analyze Driver Hands
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
scripts
LICENSE
README.md
prepare_data.m

README.md

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

Testing

An example using the HandyNet network for inference 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.