Advisor for VDT: A Study on the Prevention of Incorrect Sitting Posture and Eye Dryness by Using Frontal Images ![Hits](https://camo.githubusercontent.com/9c31b6aceeda28fabe1b6bd18efafc975c5ff51930d67f278682ac8bec7a5efe/68747470733a2f2f686974732e736565796f756661726d2e636f6d2f6170692f636f756e742f696e63722f62616467652e7376673f75726c3d68747470732533412532462532466769746875622e636f6d253246435541492d43415525324649735f596f75725f4e65636b5f4f4b2d26636f756e745f62673d253233373943383344267469746c655f62673d2532333535353535352669636f6e3d2669636f6e5f636f6c6f723d253233453745374537267469746c653d6869747326656467655f666c61743d66616c7365)
Paper | Poster | Project | Presentation | Demo
This repository contains source codes which used for "Summer Project for CUAI 4th Conference".
Paper, Poster and Presentation are in Korean.
- Yoosun Kim (School of Mechanical Engineering, Chung-Ang Univ.)
- Jimin Kim (School of Computer Science & Engineering, Chung-Ang Univ.)
- Byunghyun Bae (School of Pharmaceutics, Chung-Ang Univ.)
- Hayun Lee (School of Computer Science & Engineering, Chung-Ang Univ.)
Selecting the best model, our team tested 4 cnn algorithems(ResNet, GoogLeNet, EfficientNet, ShuffleNet). And the graph of the test-accuracy showed up as the following left fig. After comparing the accuracy for each model, ResNet18 with the best performance was selected. The increasing accuracy of ResNet18 in the learning/testing process can be seen in the right fig.
This program is purposed to analyze the user’s degree of VDT syndrome and show several factors to make the user recognize the computer using environment.
This is followed by the upward process. In addition, this is done by injecting images to the already trained model.
This system is composed of 4 steps.
your camera will take your record for 3 minutes and each 3 seconds, your picture will be made. In this process, your eye blink will be counted.
you will get your most crooked image and degree among your recorded pictures. Applying Keypoint-R-CNN, the nose location and side shoulder location will be extracted. Using this information, we can find how much your shoulder is tilted and your face is biased from the center.
the pre-trained ResNet18 will predict your recorded pictures and return the count of the number of turtle necks and vice versa. It will also return a picture with the highest possible turtle neck.
you will get your "Out Body" result by your recorded pictures.
Before running this program, please create a virtual environment by running the code below for a better execution environment. Then, run the code below to install the necessary tools.
$ conda create -n VDT_Advisor python=3.8
$ conda activate VDT_Advisor
$ pip install -r requirements.txt
This code was tested with python 3.8.3
, torch 1.9.0
Please note : Your system must have C++
processing program.
During recording, The program will extract frames and count your eye blinking for eye dryness. Just run (It will last 3 minutes)
$ python frame_extract_with_cnt_blinked.py
Please note : In order to get a good result, your shoulders must be clearly visible during recording. Also, don't let accessories like mask cover your face.
To detect your asymmetry, run
$ python detect_asymmetry.py
This will automatically examine your shoulder asymmetry and crooked posture.
If you want to know how much you’re at risk for turtle neck syndrome(Forward Head Posture), please run
$ python Neck_Code.py
This will automatically examine your turtle neck posture.
All the examinations are complete! By running the code below, print out your postural analysis result. Result paper will be written in Korean.
$ python make_reult.py
Remember : This result doesn't tell you everything about your posture. Don’t be too disappointed even though you get a worse result than you expected. If you keep trying, then you can get more improved “OutBody” in the future.
He, Kaiming, et al. "Deep residual learning for image recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.