The Idea | Technical Overview | Setup | With Docker
Open source app for tracking auditory boredom on video
In the current project we develop a framework for video analysis of public presentations and events. Given a video, this tool tracks viewers attention during lectures or presentations.
With this app you can assess speaker’s skills or detect the most resonant parts of a presentation, or give a summary of some socio-demographic statistics such as age and gender distribution without conducting surveys.
Slides from presentation of our project (russian)
The boremeter pipeline includes four main components:
- Faces detection
- Faces tracking
- Faces recognition
- Generating report & visualising results
For faces detection we use fast and robust Viola-Jones algorithm.
More on Viola-Jones algorithm you can read in original paper
Faces tracking is implemented using sparse optical flow and Lucas–Kanade method.
You can find out more in Lucas-Kanade in a Nutshell
On the recognition stage we use Caffe framework and pre-trained convolutional neural networks from to exract age and gender from cropped images of detected faces. The pre-trained models are taken from http://howhot.io project.
The output of the pipeline is a rendered HTML file which contains:
- graphs of percentage of people interested in the presentation over time
- gender representation
- age representation
Boremeter can also visualize detection results and output an .avi video file with detected faces.
- Ubuntu 14.04 or older (or OS X)
- Python 2.7
- caffe
- OpenCV3
Download pre-trained caffe nets and save them locally to {caffe_root}/models:
To install boremeter just run
$ git clone https://github.com/walterdd/Boremeter.git
$ cd Boremeter
$ python setup.py installboremeter --file={input video file path}To find out more about boremeter usage
boremeter --helpWe strongly suggest you to run boremeter in Docker. That will make life easier.
To install boremeter just clone the repository and build with Docker
$ git clone https://github.com/walterdd/Boremeter.git
$ cd Boremeter
$ docker build -t boremeter .To run Boremeter in Docker use
$ docker run -v {host directory path}:{container directory path} -it boremeter
$ boremeter --file={input video file}