Skip to content

PosturePerfection assists users in ensuring they have a good posture when seated for long periods of time

License

Notifications You must be signed in to change notification settings

ESE-Peasy/PosturePerfection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo for PosturePerfection

PosturePerfection

Maintain a healthy posture as you work from home!
Explore the docs »

View Demo · Report Bug · Request Feature

Contributors Forks Stargazers Issues GNU GPL-3.0 License

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Social Media and Outreach
  8. Contact
  9. Acknowledgements

About The Project

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!

Animation of PosturePerfection

Components Used

Built With

  • GitHub Pages
  • Doxygen
  • CMake
  • CTest

Demonstration

Check out a demo of PosturePerfection below:

Demonstration of PosturePerfection

Quickstart

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

Getting Started

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!

Prerequisites

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

Installation

  1. Clone the repo
    git clone https://github.com/ESE-Peasy/PosturePerfection.git
  2. 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
  3. Run the build script
    ./scripts/build.sh

Usage

Start the application by running from the project root:

./PosturePerfection

Testing

To build the project and run linting checks and the unit tests:

./scripts/build.sh -enable-testing

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Social Media and Outreach

Follow our social channels to keep up to date with our branding and public outreach.

Contacts

This project is being completed by a team of 5th Year Engineering students at the University of Glasgow:

Acknowledgements

  • 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