Open In App


Last Updated : 17 May, 2024
Like Article


INTRODUCTION: They say “Relevant, actionable data is your ace of spades”. But to play that card, one needs to first have it in their deck. If any organization wants to make decisions based on facts, having actionable data on-hand empowers you to answer any “why?” questions. It’s 2018 and if there is one thing that is going to keep increasing rapidly in the world, it is population. The ever-increasing population means loads of data, reports say that people are generating more than ever before, with 40 zettabytes raw data expected to be created by 2020. To be crystal clear: relevant data reported correctly is indisputable and therefore getting huge relevant data quickly is what any company or organization needs nowadays, to offer better solutions or to build better strategies. One major area where finding such real-time relevant data is Crowd Analytics. Crowd Analytics is an area where getting data in real time is a gift. No wonder nowadays, it is the most active-oriented research and trendy topic in computer vision. Traditionally, three processing steps involve in crowd analysis, and these include pre-processing, object detection and event/ behavior recognition. However many existing applications do not process in real time. Our objective was to create a unique image processing application which is completely automated, needs no human intervention, is cost effective and as good as human performance if not better than it, which most present applications fail to do.

Design: We set up a camera wherever the crowd is to be analyzed. We then use the camera feed, pass it through various neural networks that detect the emotion(behavior), gender, attentiveness of the person as well as counts the number of distinct people to have come in front of the camera by uniquely encoding their faces. All this in real time.

  • Face Detection – Find out the faces in the view of the camera (Real Time)
  • Attentiveness – Gives a real-time analysis of the faces being attentive or not, by analyzing the eyes
  • Emotion Recognition – Gives a continuous report of emotions of the faces analyzed (Happy, Sad, Angry, Surprised, Disgust, Fear)
  • Unique people count – A real-time graph showing the number of unique people, so if the same person steps in again, the software is smart enough to know that it has seen the person before.
  • Gender Distribution – A real-time pie chart showing the gender distribution.
  • Can cover many faces which depends on the clarity as edge detections deteriorate with the increase in distance from the camera.
  • Given that the recommended configuration is followed, it will give almost instant results i.e., in real time(delay of ~100ms)

Flow Of Functioning

We have used Tensorflow, Convolutional Neural Networks, Backpropagation for training, Advanced computational graphs, Inverted Dropouts, Haar Cascades, Ensemble Learning along with various emotion/attention detection methods using deep learning.
We have used many regularization concepts in the multiple deep neural networks used.


CPU RAM Camera
Minimum Requirements Quad-Core CPU 8 GB High Res Webcam
Recommended 6-8 Core CPU 16 GB High Res Intermediate DSLR

Software and tools

  • Python with Anaconda distribution
  • Angular5
  • Node.js
  • MongoDB
  • Tensorflow
  • Dlib
  • Keras
  • Basically, it’s a mean stack application with python scripts running in the background

APPLICATIONS: As mentioned before Crowd Analytics is nowadays the most sought-after topic in Computer Vision. Its applications are limitless and its results priceless for BigData companies.

  • Basically, any area where crowd analysis is required it can be used, for example at an Auto-Expos where companies quickly want to know the reactions of the crowd to their new product launches by analyzing their emotions/ behavior while looking at a product.
  • Evacuations can be planned via the modeling and study of crowd interaction and reaction due to its really accurate prediction of the emotional feedback of the crowd.
  • Another application is to use this model in different enterprises where we can use the people’s reactions while at queues or counters to assess the quality of service provided or to make amends spontaneously.
  • Similar models are utilized within motion picture industries to produce realistic and life-like simulations and scenes.
  • Also, while we use the term crowd the number of persons we refer to is from 1 to how many ever faces the camera can detect clearly, so single face detection applications like checking whether a car driver is feeling drowsy or not, by checking his attentiveness can also be done using this application.

“Data will talk to you if you’re willing to listen to it.” – Jim Bergeson

Project Git Repository:



Note: This project idea is contributed for ProGeek Cup 2.0- A project competition by GeeksforGeeks.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads