Maintain a healthy posture as you work from home!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
We are a group of 5th Year Electronics & Software Engineering students at the University of Glasgow, completing a project which provides you with real-time notifications when we detect you have adopted a poor seated posture which could be detrimental to your future health. Check out our website for more information!
- GitHub Pages
- Doxygen
- CMake
- CTest
Check out a demo of PosturePerfection below:
If you would like to download and run our project without any interest in development, simply use our provided script:
wget https://raw.githubusercontent.com/ESE-Peasy/PosturePerfection/main/PosturePerfection_install.sh
sh PosturePerfection_install.sh
We have provided a short user manual here that will guide you through usage of the application. Ths includes how to install the notification client, which you may want to run on a separate device.
The installation currently only works on Linux machines. In particular, we test the software on the following:
- Intel x86 running Ubuntu 20.04 LTS
- Raspberry Pi 4B running Raspberry Pi OS
To get PosturePerfection running by yourself you will need to follow these steps.
Note: we recommend installing via the quickstart described above. Building from source involves downloading larger files and building TensorFlow Lite and OpenCV from source, a process that may take over an hour!
All requirements will be installed if you follow the installation instructions below. To set up the required hardware please follow the instructions found here.
PosturePerfection uses the following tools and libraries:
- TensorFlow Lite
- OpenCV
- QT
- Boost Testing
- Clone the repo
git clone https://github.com/ESE-Peasy/PosturePerfection.git
- Run the install dependencies script (Note this may be a time consuming process as OpenCV must be built from source)
cd PosturePerfection && ./scripts/install_dependencies.sh
- Run the build script
./scripts/build.sh
Start the application by running from the project root:
./PosturePerfection
To build the project and run linting checks and the unit tests:
./scripts/build.sh -enable-testing
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPL-3.0 License. See LICENSE
for more information.
Follow our social channels to keep up to date with our branding and public outreach.
This project is being completed by a team of 5th Year Engineering students at the University of Glasgow:
- Using a pre-trained model with citation:
@article{groos2020efficientpose, title={EfficientPose: Scalable single-person pose estimation}, author={Groos, Daniel and Ramampiaro, Heri and Ihlen, Espen}, journal={Applied intelligence}, year={2020} }
- Uses the TensorFlow Lite C++ library
- Uses the OpenCV C++ library