2D Shape Feature extraction What are popular techniques for feature extraction of shapes?
I'm doing image analysis, and I want to classify a smooth object (one with smooth boundaries) from a rough object (has a zig-zag like boundary). Which feature should be fed into a Machine Learning framework?
 A: Feature selection is no easy task (it has even been called the key to Machine Learning), but I have a couple of suggestions.
First, please tell us in detail about your context (I would add a comment but I do not have sufficient reputation). Are the images small 8x8 frames? Large, noisy digital images? Are they  synthetic? Can you easily preform boundary detection?
Assuming you can perform boundary detection with ease, I recommend the Hough Transform for lines. There is a great implementation of this in matlab. This can detect lines in your image, and hopefully the presence of straight lines can help distinguish between what you have called "smooth" and "rough" objects.
Finally, when I was trying to classify the "roundness" of shapes, I looked at the distance from the boundary of the shape to the centroid for every angle. For features, you can use either the full vector of distances at every angle considered, or some aggregate statistic. A very round shape will have low variation in this distance, while a rougher shape will have higher variance.
