Ask Your Question

Tracking humans with ceiling-mounted downwards-pointing webcams

asked 2013-03-18 07:04:02 -0500

ubehagelig gravatar image

updated 2013-03-18 07:31:08 -0500

I need to track people walking around inside a building. I have a downwards-pointing webcam mounted in the ceiling 6 meters (20 ft) above ground.

Performance is important as the plan is to have it running in real-time on several webcams. Currently I have a single camera mounted, and with background subtraction using VIBE on GPU I am getting ~320 fps on 720p which is great.

While VIBE performs well I am struggling with consistency. If people walk too close to each other they are considered to be one blob. I also need to ignore movement from non-human objects.

I really need some input and ideas from you people on how to determine what is a human and what is not in my VIBE output. What would be sensible approaches? I have tried to define humans as having a certain square pixel size, but I feel there must be smarter ways to discriminate humans from non-human motion.

If an alternative approach would make sense e.g. optical flow, a tracking-learning-detection algorithm (OpenTLD?), a well-performing HOG, I would be very interested in hearing about it.

Any thoughts and input is appreciated :)

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2013-03-18 09:24:11 -0500

A posssible approach could be to create a head model (cascade of weak classifiers OR SVM) to detect if there is an actual head in the blob region. This would descriminate other objects.

edit flag offensive delete link more


Sounds quite interesting.

How would you obtain (or define) the head model? Would it be done online or offline?

Could you point me in the direction of more information, examples, OpenCV documentation, etc.?

I still consider myself a somewhat novice in regards to computer vision, and I have little experience with machine learning, so please bear over with me :)

ubehagelig gravatar imageubehagelig ( 2013-03-18 10:40:48 -0500 )edit

My approach would be to collect data and start trying to create a self made cascade of weak classifiers which can be used to detect objects using the Viola & Jones approach. Two interesting links for this will be:

But the best think still is to read a lot of documentation and papers concerning the problem. It helps you to get a decent insight in the problem. I have been active on this forum for the sole purpose of getting a better insight in my research :) and I can tell you that it actually helps to look deeper into these problems out of interest.

StevenPuttemans gravatar imageStevenPuttemans ( 2013-03-18 10:44:52 -0500 )edit

Thank you! I will look into that. Looking through research papers can sometimes be a bit overwhelming because often I don't know what a particular subject matter is called in more technical terms. For example it took me some time to figure out that the problems I was experiencing with tracking was called "fragmentation" (an object being broken into several blobs) and "grouping" (multiple objects appearing as a single blob). But you are right, research is key :)

ubehagelig gravatar imageubehagelig ( 2013-03-19 04:08:34 -0500 )edit

Question Tools


Asked: 2013-03-18 07:04:02 -0500

Seen: 1,252 times

Last updated: Mar 18 '13