GithubHelp home page GithubHelp logo

junyoungse0 / sign-language-project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from winston1214/sign-language-project

0.0 0.0 0.0 91.19 MB

Sign Language Translation(BOAZ 15th Conference)

Python 26.57% Jupyter Notebook 70.29% C++ 0.94% Cuda 1.97% Cython 0.10% Shell 0.03% C 0.09%

sign-language-project's Introduction

Sign-Language-project

Contributors


김영민

곽민지

이다인

김영은

Survey

Environment

  • OS : Ubuntu 18.04.5(Docker) LTS or Colab
  • Cuda : 10.0
  • GPU : Tesla V100-32GB

Data

  • sample video downlaod - $ sh download_sh/sample_data_dowonload.sh

DataSet Download

Enviorment Setting

$ pip install -r requirements.txt
$ python -m pip install cython
$ sudo apt-get install libyaml-dev
  • Setting(Alphapose)
$ git clone https://github.com/winston1214/Sign-Language-project.git && cd Sign-Language-project
$ python setup.py build develop

If you don't run in the COLAB environment or the cuda version is 10.0, refer to this link.

  • Download pretrained File(Please Download)

If you run this command, you can download weight file at once. $ sh downlaod_sh/weight_download.sh

PreProcessing

1. Split frame

$ python frame_split.py # You have to add the main code.

2. Extract KeyPoint(Alphapose)

python scripts/demo_inference.py --cfg configs/halpe_136/resnet/256x192_res50_lr1e-3_2x-regression.yaml --checkpoint pretrained_models/halpe136_fast_res50_256x192.pt --indir ${img_folder_path} --outdir ${save_dir_path} --form boaz --vis_fast --sp

If you use multi-gpu, you don't have to sp option

Extract KeyPoint

Train

$ python train.py --X_path ${X_train.pickle path} --save_path ${model save directory} \
--pt_name ${save pt model name} --model ${LSTM or GRU} --batch ${BATCH SIZE}

## Example

$ python train.py --X_path /sign_data/ --save_path pt_file/ \
--pt_name model1.pt --model GRU --batch 128 --epochs 100 --dropout 0.5
  • X_train.pickle : For convenience, we stored and used the values extracted from the keypoint in pickle file format.
    • (shape : [video_len, max_frame_len, keypoint_len] # [7129, 376, 246] )

Inference

$ python inference.py --video ${VIDEO_NAME} --outdir ${SAVE_PATH} --pt ${WEIGHT_PATH} --model ${MODEL NAME}

You can simply enjoy demo video at the COLAB Open In Colab

Result

Model Hyperparameter Metrics Final Model
GRU-Attention Adam
CrossEntropy
BLEU 93.4
Accuracy 93.5
AdamW
Scheduler
BLEU 95.1
Accuracy 95.0
LSTM Adam
CrossEntropy
BLEU 49.6
Accuracy 50.0
AdamW
Scheduler
BLEU 51.5
Accuracy 51.5

We selected a method that applied the (HAND+BODY Keypoint) + (All Frame Random Augmentation) + (Frame Noramlization) technique as the final model.

More experimental results are shown here.

Demo Video

youtube link

final_video.mp4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.