Forum

Tracking People in a Crowd

I’m researching tracking techniques, and I’m looking for someting like pedestrian tarcker or Yolo from openCV, but working in realtime not 1 frame a second. Anyone got any suggestions? I’ve been trying to get Yolo running in python, but havent even managed that yet, let alone find out whether it supports GPU or anything.
I’m guessing VL.openCv isnt going to get GPU tracking as from what I’ve read its not really support in sharpCV.
There is always contour tracking, but given I was doing that 15 years ago, it would be nice to think there was another option! Anyone have any suggestions of what else I can look at?

Was looking at that one recently but didn’t try it:
http://openptrack.org/about/

just for reference, here is a topic about openptrack: Upd connection to OpenPTrack server

Mmm, ideally not using kinects as the are limited in range/FOV, I have a request for a large public space solution, so I was thinking a few cctv cameras, pedestrain tracker or Yolo working realtime should do it in theory. I’m going to have to try and get it working I guess, seems odd that there are no out of the box solutions!

Don’t know if it’s feasible but maybe you could try to swap OpenCVSharp with Emgu.CV in VL.OpenCV. For Emgu.CV there is a nuget with cuda support enabled.

@bjoern hehe, with my VL and coding skills, I think that would be a bit of a stretch! Maybe @ravazquez fancies another year in CV!
From the quick look I had it doesnt look like it has Yolo or pedestrain tracker…

1 Like

Hi catweasel , how big is your tracking area ? what values you need from the tracker xy,id, or hotspots only?

Pedestrian tracking sound like best option for 2d cameras, for 3d maybe a few of those https://www.stereolabs.com/ cutting the depth from upper the floor to a meter or so then do some contour of the resulting BW image from the cutted depth texture.

cheers

Potential very large, outdoor installation in a square or park, just need 2d tracking. I think I need to get CV running with coda, but I’m having problems even installing the dependancies!

hei cat, i still find your description really vague. what do you mean by that?

  • do you need to be able to identify individuals, give them an ID and follow their position over time?
  • is it enough to only get an idea of areas in the image that have motion, vs. others that don’t?
  • are they jumping? running? standing?
  • how does the view look?
  • what is the background?

is it something like this? https://www.youtube.com/watch?v=WvhYuDvH17I
or more like this? https://www.youtube.com/watch?v=b8QZJ5ZodTs
see? there are so many options and parameters that we really need a better idea of what you’re looking for…

i’m afraid regarding VL.OpenCV and GPU support we don’t see a quick solution atm.

I did mention cctv, I am aware of tracking types, so like the first link. I want to detect a person, whether in motion or static, jumping, running or walking, and get the position in screen space. The background would hopefully not be busy, so concrete slabs etc, but could have trees or seats in.
I’d rather not have to do BG subtraction, Yolo, looks perfect, as does pedestrian tracker, but just in realtime.
If I can get it running in python, then I could output to udp fairly easily, or find someone who could! Obviously I’d like this all in our favourite tool kit, but I am aware its a fairly full on activity so would probably need a dedicated PC anyway.

Hey cat,

I implemented pedestriantracker on gpu back then for the imagepack. Should be in the latest download. I used it with the tracker from contributions, because it doesn’t detect every person in every frame.

If the person’s differ much in size, the pedestriantracker doesn’t work so good, because you have to tweak the parameters quite a bit to fit the situation.

The node is also a bit difficult to handle since it totally lacks checks for wrong/invalid parameters etc. I placed it in an deevaluated patch to make sure it doesn’t crash at startup when working with it.

I used an additional detectobject node and somehow merged and tracked the outputs afterwards to get good results.

this is with the reworked BlobDetector in the latest preview:

it is quite configurable

1 Like

I’ll check it out with some more difficult footage. I’m imagining trees casting moving shadows, darker floor colours etc…

This prolly an IR camera

@catweasel
Have you got some test footage or link to something suitable?


https://github.com/opencv/opencv/blob/3.1.0/samples/data/768x576.avi
Something a bit more like this, none optimal, occulsions varying coloured backgrounds, this is a dull day, but maybe hard shadows from street lights or sun, this kind of scene at night would be usefull too!

@catweasel please try:

2 Likes

Damn that was fast! I’ll check it out tomorrow, I’ve left for the day!

Yolo works well with the blob tracking demo video Joreg posted too. So I would suggest this a viable tracking method once tested for long term stability.
Although directly overhead footage isnt so good, will need a new training model for that