Making Superpixels for An Image
Nowadays it seems to me that people in computer vision community, especially who work on image segmentation, analysis, interpreting and classification, tend to adopt the idea of using superpixels rather than using raw pixels. That because superpixels can significantly reduce computational load of an algorithm, and are cheap to produce. In my work, image segmentation using graphical model, superpixels can potentially save me a lot of time running inference/learning algorithm tremendously. There are off-the-shelf superpixel algorithms available on the internet. I’m using QuickShift from VLFEAT toolbox and it works fine after manually tuning a couple parameters. Here are some results.
However, it is hard to find when you are in need…Therefore, I figure that it is a good idea to put those algorithms together in this post. To be honest with you, I haven’t been using them lately, so I forgot a lot. Well, I plan to add up and grow the collection on day by day basis. So, you are very welcome to suggest any algorithm you like. Let’s make this collection together!
Pablo Arbelaez’s UCM [link] — I have a problem installing it on my machine…
QuickShift in VLFEAT [link] — very convenient MATLAB toolbox
Segmentation by Minimum Code Length [link]
Greg Mori’s superpixel code [link]
Scale-Invariant Image Representation: the CDT Graph [link]
There are also some empirical studies on superpixel talking about how many superpixels should be in an image, advantages, disadvantages, behavior, etc., available. Here are my favorites:
Superpixel: Empirical Studies and Applications [link]
On Parameter Learning in CRF-based Approaches to Object Class Image Segmentation [link] by Nowozin and Lampert
and chapter4 of the (draft) book “Structured Learning and Prediction in Computer Vision” [link] by Nowozin and Lampert.