I am new to SVM. I would like to use SVM to segment/cluster/classify a road image into two distinct regions i.e. drivable region and non-drivable region. Unfortunately, I do not have any images where the regions are already labeled.

I really don't know how to go about this i.e. specifying the training set. Will weka be a good tool to use for the SVM?

Thanks in advance

  • 3
    $\begingroup$ Question for clarification ? You have a bunch of images, you (as a human) see what the driveable region is but you don't have this information yet readable for machines ? And now you want to segment the image to detect the driveable non-driveable regions ? $\endgroup$
    – steffen
    Commented May 8, 2012 at 12:55
  • $\begingroup$ Hi,part of the challenge is how to make the information readable for machines... $\endgroup$
    – Betty
    Commented May 10, 2012 at 11:47
  • $\begingroup$ so you already have some images where the driveable region is labeled, and some without and for those you shall predict where the region is ... is this correct ? Can you provide a link ? $\endgroup$
    – steffen
    Commented May 10, 2012 at 12:15
  • $\begingroup$ Yes I have some images but yet to do the labelling and other processing. What is the best way out for the labelling? $\endgroup$
    – Betty
    Commented May 14, 2012 at 11:45

1 Answer 1


Have you read [3] yet? It can add to your understanding of both SVM and relevant features you might want to use on each image point. For each image point if you generate features on a neighbourhood around given point you should be able to distinguish between eg grass, gravel and tarmac. This will be computationally expensive though.

Other things I can think of is to use some edge detection algorithm, eg convolve the image with Sobel kernels to get X and Y gradients, prewitt or canny. Also try out different blob detection algorithms. After that you can use the hough transform[1,2] to find curves with different parameters (polynomials or splines perhaps). In the hough space graph you would probably find curves matching road edges and lines in the middle of the road.

I recommend you read the book "Pattern Recognition and Machine Learning" by C. M. Bishop, Springer, 2007 and a book on computer vision of which I'm not the right person to suggest.

Weka is good to test different machine learning algorithms. For production use I recommend libSVM.

Please improve this question with references and be more specific on what you aim to accomplish. There can be lots of stuff on/in a road.

I'm sorry for the formatting, it's written on my phone.

  1. Duda, R. O. and P. E. Hart, "Use of the Hough Transformation to Detect Lines and Curves in Pictures," Comm. ACM, Vol. 15, pp. 11–15 (January, 1972)

  2. D.H. Ballard, "Generalizing the Hough Transform to Detect Arbitrary Shapes", Pattern Recognition, Vol.13, No.2, p.111-122, 1981 http://www.cs.utexas.edu/~dana/HoughT.pdf

  3. Abenius, Tobias, "Classification of Cell Images Using MPEG-7-influenced Descriptors and Support Vector Machines in Cell Morphology", 2008 http://arxiv.org/abs/0812.2309


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.