- Requirements
- EduSense Component Overview
- Deploying EduSense
- Using EduSense APIs for Client Development
We packaged all components of our system into Docker containers. EduSense should be deployable on any Linux distributions with proper docker daemon installed. Currently, we do not support Windows/Mac deployments.
- Install nvidia-docker: nvidia-docker2 installation doc.
- When you are done installing Docker, please make sure you also follow post-installation steps
- Note: With Docker >= 19.03, GPUs are natively supported by Docker daemon,
but
docker-compose
does not support GPU allocation as of now. We stick to to-be-deprecated nvidia-docker for current deployment. Once the new version of docker-compose gets released, we will explore ways to use the new functionality.
- Install docker-compose: docker-compose installation doc
EduSense is composed of multiple components packaged as separate Docker components.
- Compute Pipeline
- openpose runs native openpose application with additional minimal API that feeds the output to video pipeline. This part is referred as Scene Parsing in the paper.
- video post-processes and featurizes the openpose output. This component is noted as Video Featurization Modules in the paper. This module can write the output to JSON / JPG / video files or send it out to our storage backend.
- audio processes audio data end-to-end. This module can send the output to our storage backend. This component is referred as Audio Featurization Modules in the paper.
- Storage Backend
- storage supports REST API end points for the compute pipelines mentioned above and EduSense client applications. Our storage backend depends on MongoDB as database backend.
- Frontend (not included in this repository)
- frontend visualizes processed data, providing useful debug interface. Currently, our edusense repository does not contain this component.
To faciliate deployment, we packaged each component of EduSense into Docker containers. We provide Dockerfiles for each components and docker-compose files that automates multi-container deployment.
We provide a set of docker compose files that automates compilation and deploys EduSense. Feel free to take a look at the directory for more information.
Storage server supports a set of HTTP RESTful APIs for custom EduSense applications (App Layer in the paper). Please refer to this documentation for more details about the client API.
We are glad to see you interested in developing with us! We always welcome new contributors. Please feel free to discuss what you found or what you want to do in our issue page.