GithubHelp home page GithubHelp logo

jasonudoo / sittingpostureprediction Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jack17529/sittingpostureprediction

0.0 1.0 0.0 24 KB

Predicting sitting position using head pose estimation.

License: MIT License

Python 35.41% C++ 64.59%

sittingpostureprediction's Introduction

Sitting Posture Prediction

NOTE - I have done it with high sensitivity and low durability. As it needs to be real time thus I could not able to use Deep Learning, whose results are more accurate and durable but are not real time. I have seen the best of the best projects on it but they all require video upload and lag badly with clever tweaking.

Hence this is the best that could happen, it will strongly depend on the performance of the computer and the distance you are sitting from the camera. Please make sure that the points on the face match the points shown in the Readme.md file otherwise the prediction can be inaccurate. Avoid big movements with head to achieve high accuracy.

I used Opencv and Dlib to make this.I then used the pitch angle to calculate the sitting posture by training the model and then testing it for appropriate values.

Hope you enjoy this.

Head Pose Estimation

Real-time head pose estimation built with OpenCV and dlib

2D:
Using dlib for facial features tracking, modified from http://dlib.net/webcam_face_pose_ex.cpp.html
The algorithm behind it is described in http://www.csc.kth.se/~vahidk/papers/KazemiCVPR14.pdf
It applies cascaded regression trees to predict shape(feature locations) change in every frame.
Splitting nodes of trees are trained in random, greedy, maximizing variance reduction fashion.
The well trained model can be downloaded from http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
Training set is based on i-bug 300-W datasets. It's annotation is shown below:

ibug

3D:
To match with 2D image points(facial features) we need their corresponding 3D model points.
http://aifi.isr.uc.pt/Downloads/OpenGL/glAnthropometric3DModel.cpp provides a similar 3D facial feature model.
It's annotation is shown below:

gl

Finally, with solvepnp function in OpenCV, we can achieve real-time head pose estimation.

Running

  1. Download the project and extract it.
  2. Install the requirements using
pip install -r /path/to/requirements.txt
  1. Run using Python 3
python video_test_shape.py

Special Thanks :)

lincolnhard's head-pose-estimation repository on GitHub.

sittingpostureprediction's People

Contributors

jack17529 avatar

Watchers

James Cloos avatar

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.