Thursday, September 22, 2011

scikits.learn aka sklearn 0.9 released

My favourite machine learning library has got a major upgrade (unless you're using the dev version like me ;) Important new features include manifold learning, Dirichlet process mixture models and dataset downloader / import functions. You can find the changelog here.

Monday, September 19, 2011

scikits.image: image processing in Python [edit]

From a discussion on the scikits.learn mailing list I stumbled across scikits.image. How great is that?

I have been looking for something like that for quite a while now: A low to mid-level image library for python.
It is still in a very early stage at the moment and mostly consists of io, morphological operations and opencv function as far as I can see.
But it can convert colorspaces! I don't know how many times I thought "why?!!? why do I have to write my RBG to HSV myself?!"

This makes me ever so happy :)

I hope I find the time to contribute and I hope this project will gain more momentum.

[edit]
As an afterthought, I'd like to quote the following message from Nicolas Pinto on
the scikits-learn mailing list:
[about histogram of oriented gradients]
I believe this should be part of scikits.image along with sift, phog,
bow, phow, geometric blur, gabor jets, etc. We had planned to
integrate them all but it felt through the cracks.
I hope that the scikits.image community agrees and we can create a place to collect state of the art vision algorithms. [\edit]

Sunday, September 18, 2011

Evaluating Feature Encoding Methods

While browsing Andrea Vedaldi's publications I came across some joint work with K. Chatfield, V. Lempitsky and A. Zisserman, called The devil is in the details: an evaluation of recent feature encoding methods.
It reviews some recent methods of visual feature encoding.
Since the introduction of bags of visual words, many people tried to improve this now-standard method.
Chatfield and his colleagues provide a systematic comparison of some of the most prominent directions:
  • Local linear coding
  • Fisher vectors (see also my last post)
  • Soft thresholding / kernel based methods
  • Super vector coding
Different codebook sizes, sampling of sift features an additive kernels were explored.

I feel Fisher vectors hold up quite nicely in their comparison, though the other methods yield similar results. Apparently the super vector coding scheme that was used in this work scaled badly and could not be applied to the Caltech 101 dataset.



There is matlab/C code accompanying the paper that implements all of the methods. I feel this is a great contribution.


This paper is definitely worth reading if you want to get a better understanding of recent feature coding schemes in computer vision.