both objects are against natural backgrounds and with large smooth areas inside the objects we therefore expect that textures will not be very good when we use the same features as beforewe achieve percent accuracy in cross-validation using logistic regression this is not too bad on four classesbut not spectacular either let' see if we can use different method to do better in factwe will see that we need to combine texture features with other methods to get the best possible results butfirst things first--we look at local features local feature representations relatively recent development in the computer vision world has been the development of local-feature-based methods local features are computed on small region of the imageunlike the previous features we consideredwhich had been computed on the whole image mahotas supports computing type of these featuresspeeded up robust featuresalso known as surf (there are several othersthe most well-known being the original proposal of scale-invariant feature transform (sift)these local features are designed to be robust against rotational or illumination changes (that isthey only change their value slightly when illumination changeswhen using these featureswe have to decide where to compute them there are three possibilities that are commonly usedrandomly in grid detecting interesting areas of the image ( technique known as keypoint detection or interest point detectionall of these are valid and willunder the right circumstancesgive good results mahotas supports all three using interest point detection works best if you have reason to expect that your interest point will correspond to areas of importance in the image this dependsnaturallyon what your image collection consists of typicallythis is found to work better in man-made images rather than natural scenes manmade scenes have stronger anglesedgesor regions of high contrastwhich are the typical regions marked as interesting by these automated detectors since we are using photographs of mostly natural sceneswe are going to use the interest point method computing them with mahotas is easyimport the right submodule and call the surf surf functionfrom mahotas features import surf descriptors surf surf(imagedescriptors_only=true