All Projects → nvinayvarma189 → Sitting Posture Recognition

nvinayvarma189 / Sitting Posture Recognition

Licence: mit
Detects the sitting position of a person

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Sitting Posture Recognition

Live Video Magnification
An OpenCV/Qt based realtime application for Eulerian Video Magnification / Motion Magnification. Works with multiple videos and cameras at the same time and let's you export the magnified videos.
Stars: ✭ 187 (+192.19%)
Mutual labels:  camera, opencv
React Native Openalpr
An open-source React Native automatic license plate recognition package for OpenALPR
Stars: ✭ 415 (+548.44%)
Mutual labels:  camera, opencv
Primestereomatch
A heterogeneous and fully parallel stereo matching algorithm for depth estimation, implementing a local adaptive support weight (ADSW) Guided Image Filter (GIF) cost aggregation stage. Developed in both C++ and OpenCL.
Stars: ✭ 191 (+198.44%)
Mutual labels:  camera, opencv
Stereo Vision
This program has been developed as part of a project at the University of Karlsruhe in Germany. The final purpose of the algorithm is to measure the distance to an object by combining two webcams and use them as a Stereo Camera.
Stars: ✭ 160 (+150%)
Mutual labels:  camera, opencv
Multi Threading Camera Stream
Multi-threading camera stream to improve video processing performance
Stars: ✭ 18 (-71.87%)
Mutual labels:  camera, opencv
Neuvision
Structured Light based 3D scanner
Stars: ✭ 165 (+157.81%)
Mutual labels:  camera, opencv
Grip
Program for rapidly developing computer vision applications
Stars: ✭ 314 (+390.63%)
Mutual labels:  camera, opencv
Phormatics
Using A.I. and computer vision to build a virtual personal fitness trainer. (Most Startup-Viable Hack - HackNYU2018)
Stars: ✭ 79 (+23.44%)
Mutual labels:  camera, opencv
Computer Vision
Computer vision exercise with Python and OpenCV.
Stars: ✭ 17 (-73.44%)
Mutual labels:  camera, opencv
V4l2loopback cpp
v4l2loopback usage in C++ and from OpenCV
Stars: ✭ 6 (-90.62%)
Mutual labels:  camera, opencv
Smartopencv
🔥 🔥 🔥 SmartOpenCV是一个OpenCV在Android端的增强库,解决了OpenCV Android SDK在图像预览方面存在的诸多问题,且无需修改OpenCV SDK源码,与OpenCV的SDK解耦
Stars: ✭ 1,869 (+2820.31%)
Mutual labels:  camera, opencv
Camera calibration api
A simple Python API for single camera calibration using opencv
Stars: ✭ 36 (-43.75%)
Mutual labels:  camera, opencv
Sltk
An OpenCV-based structured light processing toolkit.
Stars: ✭ 151 (+135.94%)
Mutual labels:  camera, opencv
Rpindvi
Raspberry PI NDVI Code
Stars: ✭ 57 (-10.94%)
Mutual labels:  camera, opencv
Androidfacedetection
Android 平台进行人脸检测的几种方案
Stars: ✭ 106 (+65.63%)
Mutual labels:  camera, opencv
React Native Opencv Tutorial
👩‍🏫Fully working example of the OpenCV library used together with React Native
Stars: ✭ 244 (+281.25%)
Mutual labels:  camera, opencv
Scanner
二维码/条码识别、身份证识别、银行卡识别、车牌识别、图片文字识别、黄图识别、驾驶证(驾照)识别
Stars: ✭ 547 (+754.69%)
Mutual labels:  camera, opencv
Camodet
Lightweight Simple CAmera MOtion DETection application.
Stars: ✭ 26 (-59.37%)
Mutual labels:  camera, opencv
Keera Posture
Alleviate your back pain using Haskell and a webcam
Stars: ✭ 48 (-25%)
Mutual labels:  camera, opencv
Overhead Camera People Counter
People counting algorithm using an overhead video camera
Stars: ✭ 58 (-9.37%)
Mutual labels:  opencv

Sitting Posture Recognition

This is a software that can output the sitting position of a person when the lateral view (side view) of the person is given as input.

The output can tell you whether a person is sitting in a Straight position, Hunchback position (leaning forward), Reclined position (leaning backward) and if the person is Folding Hands and Folding Legs (Kneeling Position).

Skeleton detected by OpenPose
  • This uses the Open Pose model which was invented by CMU Perceptual Computing Lab.

  • This OpenPose model can detect the keypoints of the human body. These keypoints co-ordinates can be used to estimate the sitting posture of the person.

  • This software can detect multiple people's keypoints but can only detect the posture of a single person. This can be extended by simply iterating the detection part of the code over all the set of keypoints that are detected for each person.

  • I have used a trained keras model of OpenPose to detect the keypoints. You can download the model from here

  • Here is the original implementation by it's authors.

  • I have tested this software with images of my friend Venu sitting in various positions. You can find these images in sample_images folder.

Files

model.py - contains architecture of the model.

config_reader.py - contains the parameters that are essential for the model to predict the key points. Keeping the specifications of the system in mind.

util.py - some functions required to calculate the co-ordinates of the key points.

Usage

  1. Please install all the requirements from requirements.txt.
  2. Run python3 posture_image.py for testing this software with an image as input. If you wish to test it with your own image, put that image in sample_images folder and change accordingly on line 237.
  3. Run python3 posture_realtime.py for testing it in real time. Please sit sufficiently far away from the system showing your lateral view. Please note that this will require a system with atleast 8GB RAM. On a 4 GB RAM, the output is not at all smooth and the output lags very much from the input frame.

Examples

NOTE: There are many examples, you can see all of the trials in RESULTS.md.

You can see the demo video here, https://drive.google.com/file/d/1-XH5_9tfFGW9mq-DhM2hYzzSnA9l6Hbe/view?usp=sharing

For the below image:

we would get the following output

output

NOTE: This curretly works on images and in real-time (through webcam). When used in real life situations, input from webcam (front view of a person) will not work. We can install a camera which captures the lateral view of the person and the output of this camera can be given as the input to real-time version of this software.

Also, When there are multiple people sitting in a row, the lateral view captures only one person. For this, the camera must be adjusted at a sufficient height so that all the people can be detected. When this is implemented, there shall be slight changes in the angle thresholds through which this software classifies the sitting posture.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].