Why using openCV for people counting?
There are alternatives to count people in a public place, for example using microcontrollers and lasers and arduino to design a cool and accurate system to count people in and out a room. But why does it bother to use webcams and, more importantly what the post focuses on, openCV?
1. it is easy to set-up. NOTHING is easier to mount a camera over the door and connected with power and data cables. Setting up a laser system? Think about the DIY work.
2. a lot of developers and programmers are working on that – making openCV more suitable and efficient to count people. A simple example is the blob extracting app.
The state of art of openCV for people counting
Blob extracting using openCV or flash (as3) have been researched by many developers. The accuracy has reached a high level, but limited to single objects – objects should not be overlapped – if people in the camera could be simply seem as objects.
Codeproject.com shows a new post discussing recognising people even though they are overlapped to some extent, as the picture below shows. The post compares different algorithms from simple threshold to image differences and erosion .
A pedestrian detector comes with recent versions of openCV (>=2.2), in modules/objdetect/src/hog.cpp, and samples/cpp/peopledetect.cpp. Unfortunately this new example has not be well documented officially.
If the camera for people counting is mounted statically, a substraction method is suggested by evident’s work. A relevant paper is linked http://portal.acm.org/citation.cfm?id=1561072&preflayout=flat.
Face detection for people counting using openCV is also concerned, as an example is described in opencv wiki – face detection using openCV. But the drawbacks are clear – this method needs faces for people counting. In other words, top-view cameras do not fit.
The rest part of review is published in the second part – a review of people counting using openCV part 2.
9 Comments On “ A review of people counting using openCV part 1”