Student Sentiment analysis for feedback to teachers
- Devpost Competition Submission
- DubHacks 2016: Qualtrics Best Data Visualization Award Winner!
learning/classification.py
,learning/scilearn.py
,learning/clarifai.js
,learning/KNearest.py
andlearning/scrape.py
will not be helpfullearning/Gscrape.js
: From simple Google Image searches in browser, capture the image srcslearning/1029384710239847
andlearning/listOfImgs
are examples of images to be downloaded
learning/download[NotConfused]imgs.py
: Download imageslearning/[notConfused]cognitiveService.py
: Generate dataset of sentiments per image- Generates
tree/confused.json
andtree/non_confused.json
for building the decision tree later on
- Generates
learning/plot.py
: Plot sentiment valuestree/decisionTree.py
: Run server to begin reading inputs from Hololens and providing sentiment feedback!- Hosted on MSFT Azure VM since Heroku did not support Scikit Learn
- learning Primarily experiment/data-mining code
Gscrape.js
: Outputs image sources in current webpage (Google Images)test.py
: Initial file to test the MSFT Cognitive APIcognitiveService.py
: Script to build dataset of confused samples intotree/confused.json
andtree/non_confused.json
- Simple Visualization for eye-balling whether there exists a pattern between "Confused" and "Non-confused"
- Confused Visualized
- Non-Confused Visualized
- See
plot.py
- Each plot on the y-axis is an emotion from the Cognitive API
- anger, contempt, disgust, fear, happiness, neutral, sadness, surprise
- x-axis represents value from 0 to 1
- See
- Simple Visualization for eye-balling whether there exists a pattern between "Confused" and "Non-confused"
- tree Code built off of experiments and put into the server for demoing
decisionTree.py
: Server to build Sci-kit Learn decision treeconfused.json
: Confused datasetnon_confused.json
: Non Confused dataset
Teachers care about teaching. They want the best for the students.
It can sometimes be difficult for teachers to best achieve this, and with increasing classroom sizes with more students attending college than ever before, the pressure and responsibility has never been greater. When students are having difficulting understanding lecture concepts, it can be difficult for teachers to consistently identify this, especially as they're focusing on the lecture concepts. At the intersection of image feature recognition as well as the revolution in Augmented and Virtual reality, we can leverage the Hololens' headset to capture student's and audience sentiment, and provide realtime feedback for the lecturer.
- Realtime sentiment feedback for teachers are feeling
- Database for student "Learning" Profile
- Hololens Headset (Input)
- OpenCV API (Face Detection)
- MSFT Cognitive API
- Face Recognition
- Emotion Analysis
- Scikit Learn
MongoDBFirebase- Student Profile
- UI
- Webapp
- Hololens AR livestream
- (Different repository)
- Detect # of faces
- Read sentiment analysis on faces
- Compute "Confusion Score" on faces
- Upstream student profile and attribute confusion score
- Render UI in HL
Student Profile WebappImplemented!- Student Profile HL interaction
Tech Core Problems
- LBP Cascades is an extremely efficient system for feature recognition and with very little CPU time can recognize objects of interest.
- Outsourcing CPU time through MSFT Cogniitive API will then consume significant network time
- Implementing using OpenCV or TensorFlow
- Plus Training time
- would only require several hundreds of sample images or 30fps * 10 seconds of detected frames
- Implementing ourselves from scratch is a research problem
- How to scale
- Why would anybody want this
- Do Teachers really want this?
- Do Students really want this?
- At n < 15 Teacher could out-perform the system 100% of the time