Students in classrooms often face difficulty focusing during lectures or other class activities, preventing them from learning efficiently. Thus, it is the primary focus of teachers to make the classroom a comfortable environment for learning to happen.
Classrooms have various environment variables that can be modified, such as temperature, air flow, and lighting. We propose a RL model that takes in some summary statistics of students in the classroom, and adjusts the environment to maximize student's productivity.
The RL agent takes in three "statistics": an attention/engagement score, a thermal comfort score, and a facial emotion score. These scores are calculated for each student, and then aggregated for each cluster of students (using Bayesian clustering).
- Clone the repository:
git clone https://github.com/Saad-Mufti/Dynamic-Classroom-Control-with-RL.git
- Install necessary dependencies:
pip install -r requirements.txt
. Note thattensorflow
is only required for runningfer_model_custom.py
. Otherwise, it is fine to use thefer
package by Justin Shenk. Also note thatpytorch
is installed to use CUDA support. - Install
OpenFace
from source as described here. - Run the
room_agent_notebook.ipynb
notebook to train the RL model.