Skip to content
A mobile ML project to detect turtle neck posture while your working
Branch: develop
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.
images
note
sh_scripts
tfmodules
.gitignore
.gitmodules
LICENSE
proposal.md
readme.md
requirement.txt

readme.md

Don't be a Turtle Project

Author: Jaewook Kang

About

Project objectives

This Don’t be a Turtle Project makes all of IT people have right posture and feel good while they are working! We investigate a mobile machine learning based methodology providing feedbacks with respect to your neck posture. For this purpose, we monitor neck, detecting whether you are maintaining good working posture. If you are working in an overhanging posture, you will be alerted to maintain a good posture.

alt text

Note that the above model in .gif was trained only by 865 custom dataset.

Release Benchmarks

  • Pose Estimation Accuracy (PCKh): TBU
Version Framework Device size (KB)
0.5.0 Android Pie + Tflite Google Pixel2 749 KB
0.5.0 iOS 11.4.1 + CoreML iPhoneX 811 KB

Repository Components

.
├── images              # some images for documentation
├── dataset/coco_form   # Unzip the dontbeturtle dataset at ./dataset/coco_form
├── note                # Some notes under Google Camps
├── sh_scripts          # A collection of shell scripts for easy operations
├── release             # dontbe turtle tflite and mlmodel here
└── tfmodules           # A collection of TF python files

Mobile Apps

Frameworks

Technical Stacks

  • Tensorflow (+ Tf Slim) >= 1.9
  • Tf plot == 0.2.0.dev0
  • opencv-python >= 3.4.2
  • pycocotools == 2.0.0
  • Cython == 0.28.4
  • tensorpack == 0.8.0
  • tfcoreml == 0.2.0

Repository Installation

git clone https://github.com/motlabs/dont-be-turtle
# cd dont-be-turtle/
git init
git submodule init
git submodule update

pip install -r requirement.txt
./sh_scripts/install_tensorflow_gpu.sh

How to Run Training

export MODEL_BUCKET=./tfmodules/export/model/       # set path for exporting ckpt and tfsummary
export DATA_BUCKET=./dataset/coco_form/dontbeturtle # set path for placing dataset
export SOURCE=./tfmodules/trainer_gpu.py            # set path for tensorflow trainer

python ${SOURCE}\
  --data_dir=${DATA_BUCKET}\
  --model_dir=${MODEL_BUCKET}\
  --is_ckpt_init=False\
  --ckptinit_dir=None
  • You have an option to use ./sh_scripts/run_train_gpu.sh with some customization

How to Get .tflite and .mlmodel

Note that you need to configure ./tfmodule/model/model_config_released.py before executing the below command.

python gen_tflite_coreml.py  --is-summary=False --import-ckpt-dir=<ckpt path directory>
# Args:
#  1) is-summary==True : collect tf summary for model graph
#     is-summary==False: None
#  2) --import-ckpt-dir: global path directory .ckpt stored
#
# An example:
# python gen_tflite_coreml.py  --is-summary=False --import-ckpt-dir=/Users/jwkangmacpro2/SourceCodes/dont-be-turtle/tfmodules/export/model/run-20180815075050/
#

Donbeturtle Dataset v1.0

You need to create ./dataset/coco_form/ and place the data set

Baseline Papers

Related Materials

Project Contributors

Acknowledgement

  • This project was supported by Google Deep Learning Camp Jeju 2018.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.