Ask Your Question

Revision history [back]

Bus passengers detection and tracking using overhead camera

I need some advice on detection and tracking using OpenCv.

We have cameras inside a bus. Cameras locations could be changed. Main task is to know about each passenger, when he has entered the bus and when he's left. Here are some example frames from camera pointed to entrance: https://drive.google.com/open?id=0BwIOz_oQh-hiTnU4TTlYSy1mbGM

I've tried to use background subtraction on entrance area to detect human blobs. But some people have, for example, gray-colored clothes that don't much differ from background. Also when passengers carry something like umbrellas or large bags - false detections appear. I thought about using something like haar or lbp cascades for detection, but passengers appearance differs very much (and should be kept in mind that they will look much more different in winter time).

For tracking I've tried using CamShift on HS frame. Sometimes people have low saturation - CamShift fails. Also it fails when HS - coloring of passengers has small difference to background.

Thought about using some classification/segmentation algorithms to differ areas containing different passengers from each other. Tried K-Means to make clusters containing passengers by X,Y - coordinates and Hue-Saturation - it does good clustering, but takes very long time (I need almost real-time performance). Tried watershed algorithm, but it's not very accurate.

Would be very appreciate if you will point me to some methods or researches or someting helpful.