0

For human detection in video squences, I used opencv to extract the foreground based on edge detection, followed by some postprocessing methods. Then I found that human body is devided into some parts, for instance head and other parts are not connected. For that I used morphological operations to close them up. However, I found it is not too efficient as since I need several morphological operations to fill it for my case. So I am looking for some alternatie approaches. Could someone suggest me? I've searched for papers, and found some, but I don't have enough time to implement a new algorithm now. Thanks in advance.

E_learner
  • 3,512
  • 14
  • 57
  • 88

1 Answers1

2

The HOG person detector in OpenCV is really simple to implement and performs fairly acceptably when your person is upright, reasonable sized, and fairly unoccluded. It's definitely worth a look if you're just looking for something simple. There's also a GPU implementation available which is pretty quick.

There's example code for the CPU version in the sample peopledetect which comes with OpenCV.

The other traditional approach would be to use a type of Viola-Jones cascade, OpenCV comes with a number of cascades trained for your use, one of which is an upperbody detector, another is a fullbody detector. There's an example of using these in the OpenCV tutorials here.

Chris
  • 8,030
  • 4
  • 37
  • 56
  • Than you very much for your answer. I've tried GPU based HOG, as well as casced method you've mentioned, but my problem here is, human body is too small in my case, such that these methods cannot detect them. Do you have any other suggestions? – E_learner Dec 26 '12 at 12:35
  • If you can extend your question by providing an example image it would be easier to help. Also can you describe where your images are coming from - for example is the camera mostly stationary? – Chris Dec 26 '12 at 15:40
  • My image is from a baskball match, which comes from a stationary camera located at the top of the field. – E_learner Dec 27 '12 at 08:34