Ask Your Question
0

Object classification (pedestrian, car, bike)

asked 2014-03-08 23:54:21 -0600

mayday gravatar image

updated 2014-03-09 03:12:27 -0600

berak gravatar image

Hi, I'm working on a novelty detection project (in Android) using background subtraction. I would like to do simple object detection after a novelty is detected (e.g. Person or Car). I have read some literature on how to do this using e.g. Bag Of Words + SVM, but I'm still not sure how to approach the task. Is using the Bag Of Words + SVM the best approach for multi-class classification? Essentially, after the foreground is detected through background subtraction, I would like to be able to draw a bounding box around it, specifying this is a car or a person. Also, I have searched online but I can't seem to find a good source for data sets I would need for the task.

Thanks very much for any help/suggestions.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
6

answered 2014-03-09 06:06:50 -0600

Generally, this is an extremely difficult task.

You can use latent-svm detector for those objects: http://docs.opencv.org/modules/objdetect/doc/latent_svm.html

But the running times are about 3-10 seconds per image.

For information about BOW + SVM, you can look into this blog post: http://gilscvblog.wordpress.com/2013/08/23/bag-of-words-models-for-visual-categorization/

Other solutions outside of OpenCV, would be Decaf and Caffe, but I'm not sure it would run on android (perhaps you can send the image to a server that performs the classification and that server would run Decaf/Caffe).

Decaf: https://github.com/UCB-ICSI-Vision-Group/decaf-release/

Caffe: http://caffe.berkeleyvision.org/

edit flag offensive delete link more

Comments

Thanks for the response. I realise it's difficult, and tbh, it is a bit daunting (since I am new to CV), but I'd like to make an effort. I think I may try to use the BOW + SVM approach. 3-10 seconds for detection is really not suitable for real-time detection . I assume the result of BOW + SVM will give me an xml file as output? which I can then use in cascade classifier?

mayday gravatar imagemayday ( 2014-03-09 15:22:25 -0600 )edit

Read my blog post. In the training set you extract BOW features and train an svm. When given a new images, you extract BOW features from it and feed those to the trained SVM to get a prediction of what kind of object it is.

GilLevi gravatar imageGilLevi ( 2014-03-10 05:35:02 -0600 )edit

Actually you could apply a fairly stupid approach if the only thing occuring is a car and a person. Perform BG segmentation, select the contours occuring in your binary image, apply the bounding box and then perform some basic reasoning on your blobs bounding box. If width is larger than height it might be a car, a person would have a vice versa ration. See where this gets you!

StevenPuttemans gravatar imageStevenPuttemans ( 2014-03-10 10:06:44 -0600 )edit

@GilLevi@berak hey i am working on similar project and i want recognize only car from traffic and eliminate other. I already used background subtraction and also SURF method. but can't get proper output. And I also don't know much about SURF . Please can you help me?

coco gravatar imagecoco ( 2014-11-11 04:45:27 -0600 )edit

I would try Caffe.

GilLevi gravatar imageGilLevi ( 2014-11-11 06:13:59 -0600 )edit

@GilLevi Thanks . Please try and tell me asap.

coco gravatar imagecoco ( 2014-11-12 00:33:58 -0600 )edit

Question Tools

Stats

Asked: 2014-03-08 23:54:21 -0600

Seen: 4,146 times

Last updated: Mar 09 '14