Skip to main content
Log in

SEEDS: Superpixels Extracted Via Energy-Driven Sampling

  • Published:
International Journal of Computer Vision Aims and scope Submit manuscript

Abstract

Superpixel algorithms aim to over-segment the image by grouping pixels that belong to the same object. Many state-of-the-art superpixel algorithms rely on minimizing objective functions to enforce color homogeneity. The optimization is accomplished by sophisticated methods that progressively build the superpixels, typically by adding cuts or growing superpixels. As a result, they are computationally too expensive for real-time applications. We introduce a new approach based on a simple hill-climbing optimization. Starting from an initial superpixel partitioning, it continuously refines the superpixels by modifying the boundaries. We define a robust and fast to evaluate energy function, based on enforcing color similarity between the boundaries and the superpixel color histogram. In a series of experiments, we show that we achieve an excellent compromise between accuracy and efficiency. We are able to achieve a performance comparable to the state-of-the-art, but in real-time on a single Intel i7 CPU at 2.8 GHz.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. The number of desired superpixels \(K\) is assumed to be fixed, as is usual in most previous work, which allows for a comparison with the state-of-the-art.

  2. Code available at

    http://www.umiacs.umd.edu/~mingyliu/research.

  3. Code available at

    http://ivrg.epfl.ch/supplementary_material/RK_SLICSuperpixels.

  4. Code available at http://www.cs.brown.edu/~pff/segment/.

  5. Code available at http://www.vision.ee.ethz.ch/software.

References

  • Achanta, R., Shaji, A., Smith, K., Lucchi, A., Fua, P., & Süsstrunk, S. (2012). SLIC superpixels compared to state-of-the-art superpixel methods. IEEE Transactions on Pattern Analysis and Machine Intelligence, 34(11), 2274–2282.

    Article  Google Scholar 

  • Alexe, B., Deselaers, T., & Ferrari, V. (2012). Measuring the objectness of image windows. IEEE Transactions on Pattern Analysis and Machine Intelligence, 34(11), 2189–2202.

    Article  Google Scholar 

  • Arbelaez, P., Maire, M., Fowlkes, C., & Malik, J. (2011). Contour detection and hierarchical image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(5), 898–916.

    Article  Google Scholar 

  • Boix, X., Gonfaus, J. M., van de Weijer, J., Bagdanov, A., Serrat, J., & Gonzàlez, J. (2012). Harmony potentials. International Journal of Computer Vision, 96(1), 83–102.

    Article  MATH  MathSciNet  Google Scholar 

  • Comaniciu, D., & Meer, P. (2002). Mean shift: A robust approach toward feature space analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(5), 603–619.

    Article  Google Scholar 

  • Cour, T., Benezit, F., & Shi, J. (2005). Spectral segmentation with multiscale graph decomposition. In: Proceedings of the computer vision and pattern recognition.

  • Eriksson, A., Olsson, C., & Kahl, F. (2007). Normalized cuts revisited: A reformulation for segmentation with linear grouping constraints. In: Proceedings of the IEEE international conference on computer vision.

  • Felzenszwalb, P., & Huttenlocher, D. (2004). Efficient graph-based image segmentation. International Journal of Computer Vision, 59(2), 167–181.

    Article  Google Scholar 

  • Fulkerson, B., Vedaldi, A., & Soatto, S. (2009). Class segmentation and object localization with superpixel neighborhoods. In: Proceddings of the IEEE international conference on computer vision.

  • Levinshtein, A., Stere, A., Kutulakos, K., Fleet, D., Dickinson, S., & Siddiqi, K. (2009). Turbopixels: Fast superpixels using geometric flows. IEEE Transactions on Pattern Analysis and Machine Intelligence, 31(12), 2290–2297.

    Article  Google Scholar 

  • Liu, M.Y., Tuzel, O., Ramalingam, S., & Chellappa, R. (2011). Entropy rate superpixel segmentation. In: Proceedings of the computer vision and pattern recognition.

  • Martin, D., Fowlkes, C., Tal, D., & Malik, J. (2001). A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics. In: Proceedings of the IEEE international conference on computer vision.

  • Meyer, & F., Maragos, P. (1999). Multiscale morphological segmentations based on watershed, flooding, and eikonal PDE. In: Proceedings of the international conference on Scale-Space Theories in computer vision.

  • Moore, A., Prince, S., Warrell, J., Mohammed, U., & Jones, G. (2008). Superpixel lattices. In: Proceedings of the computer vision and pattern recognition.

  • Moore, A., Prince, S., & Warrell, J. (2010). Lattice cut. In: Proceedings of the computer vision and pattern recognition.

  • Ren, X., & Malik, J. (2003). Learning a classication model for segmentation. In: Proceedings of the IEEE international conference on computer vision.

  • Sharp, H. (1968). Cardinality of finite topologies. Journal of Combinatorial Theory, 5(1), 82–86.

    Article  MATH  MathSciNet  Google Scholar 

  • Shi, J., & Malik, J. (2000). Normalized cuts and image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(8), 888–905.

    Article  Google Scholar 

  • Shotton, J., Johnson, M., & Cipolla, R. (2008). Semantic texton forests for image categorization and segmentation. In: Proceedings of the computer vision and pattern recognition.

  • Van den Bergh, M., Boix, X., Roig, G., de Capitani, B, & Van Gool, L. (2012) . Seeds: Superpixels extracted via energy-driven sampling. In: Proceedings of the European conference on computer vision.

  • Vedaldi, A., Soatto, S. (2008). Quick shift and kernel methods for mode seeking. In: Proceedings of the European conference on computer vision.

  • Veksler, O., & Boykov, Y. (2010). Superpixels and supervoxels in an energy optimization framework. In: Proceedings of the European conference on computer vision.

  • Vincent, L., & Soille, P. (1991). Watersheds in digital spaces: An efficient algorithm based on immersion simulations. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13, 583–598.

    Article  Google Scholar 

  • Wang, S., Lu, H., Yang, F., & Yang, M.H. (2011). Superpixel tracking. In: Proceedings IEEE international conference on computer vision.

  • Wertheimer M (1938) Laws of organization in perceptual forms. Harcourt, Brace & Jovanovitch.

  • Wu, Z., & Leahy, R. (1993). An optimal graph theoretic approach to data clustering: Theory and its application to image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(11), 1101–1113.

    Article  Google Scholar 

  • Xu, L., Li, W., & Schuurmans, D. (2009). Fast normalized cut with linear constraints. In: Proceedings of the computer vision and pattern recognition.

  • Zeng, G., Wang, P., Wang, J., Gan, R., & Zha, H. (2011). Structure-sensitive superpixels via geodesic distance. In: Proceedings IEEE international conference on computer vision.

  • Zhang Y, Hartley R, Mashford J, & Burn S (2011) Superpixels via pseudo-boolean optimization. In: Proceedings IEEE international conference on computer vision.

  • Zitnick, C., Jojic, N., & Kang, S. (2005). Consistent segmentation for optical flow estimation. In: Proceedings IEEE international conference on computer vision.

Download references

Acknowledgments

This work has been in part supported by the European Commission projects RADHAR (FP7 ICT 248873) and IURO (FP7 ICT 248314).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Van den Bergh.

Additional information

Communicated by K. Ikeuchi.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (pdf 1310 KB)

Appendix: Evaluating Pixel-Level and Block-Level Movements

Appendix: Evaluating Pixel-Level and Block-Level Movements

In this section we give more detail of both observations used to speed up the evaluation of the pixel-level and block-level movements.

1.1 Color Distribution Term

Recall that \({\mathcal {A}}^l_k\) is the set of pixels that are candidates to be moved from the superpixel \({\mathcal {A}}_k\) to \({\mathcal {A}}_n\).

Observation 1

Let the sizes of \({\mathcal {A}}_k\) and \({\mathcal {A}}_n\) be similar, and \({\mathcal {A}}^l_k\) much smaller, i.e. \(|{\mathcal {A}}_k|\approx |{\mathcal {A}}_n| \gg |{\mathcal {A}}_k^l|\). If the histogram of \({\mathcal {A}}^l_k\) is concentrated in a single bin, then

$$\begin{aligned} \mathbf{int}(c_{{\mathcal {A}}_n},c_{{\mathcal {A}}_k^l}) \ge \mathbf{int}(c_{{\mathcal {A}}_k \backslash {\mathcal {A}}_k^l}, c_{{\mathcal {A}}_k^l}) \Longleftrightarrow H(s) \ge H(s_t). \end{aligned}$$
(18)

Recall that the color term of the energy function is:

$$\begin{aligned} H(s) = \sum _k \sum _{\{\mathcal {H}_j\}} \left( \frac{1}{|{\mathcal {A}}_k|} \sum _{i \in {\mathcal {A}}_k} \delta (I(i) \in \mathcal {H}_j) \right) ^2, \end{aligned}$$
(19)

in which we simply merged Eqs. (6) and (7). We write \(H(s) \ge H(s_t)\) taking into account that \(s\) and \(s_t\) only differ in \({\mathcal {A}}^l_k\), and the assumption of the Observation on the size of the superpixels, i.e. \(|{\mathcal {A}}_k|\approx |{\mathcal {A}}_n| \gg |{\mathcal {A}}_k^l|\). Thus, the expression does not take into account the color at superpixels different from \(k\) and \(n\), and we can get rid of the normalization of the histograms due to the assumption. Then, the evaluation becomes,

$$\begin{aligned}&H(s) \ge H(s_t) \Longleftrightarrow \nonumber \\&\quad \sum _{\{\mathcal {H}_j\}} \left( \sum _{i \in {\mathcal {A}}_n} \delta (I(i) \in \mathcal {H}_j) + \sum _{i \in {\mathcal {A}}_k^l} \delta (I(i) \in \mathcal {H}_j) \right) ^2 + \nonumber \\&\quad + \sum _{\{\mathcal {H}_j\}} \left( \sum _{i \in {\mathcal {A}}_k\backslash {\mathcal {A}}_k^l} \delta (I(i)\in \mathcal {H}_j) \right) ^2 \ge \nonumber \\&\quad \ge \sum _{\{\mathcal {H}_j\}} \left( \sum _{i \in {\mathcal {A}}_k\backslash {\mathcal {A}}_k^l} \delta (I(i)\in \mathcal {H}_j) \!+\! \sum _{i \in {\mathcal {A}}_k^l} \delta (I(i)\in \mathcal {H}_j )\right) ^2 \!+\! \nonumber \\&\quad +\sum _{\{\mathcal {H}_j\}} \left( \sum _{i \in {\mathcal {A}}_n} \delta (I(i) \in \mathcal {H}_j )\right) ^2 . \end{aligned}$$
(20)

The second assumption of the Observation is that \({\mathcal {A}}^l_k\) is concentrated in a single bin. Let \(\mathcal {H}^*\) be the color in which \(A^l_k\) is concentrated. Then, the evaluation in Eq. (20) becomes

$$\begin{aligned}&\left( \sum _{i \in {\mathcal {A}}_n} \delta (I(i) \in \mathcal {H}^\star ) + \sum _{i \in {\mathcal {A}}_k^l} \delta (I(i) \in \mathcal {H}^\star ) \right) ^2 +\nonumber \\&\quad +\sum _{\{\mathcal {H}_j\} \backslash \mathcal {H}^\star } \left( \sum _{i \in {\mathcal {A}}_n} \delta (I(i) \in \mathcal {H}_j) \right) ^2 +\nonumber \\&\quad +\sum _{\{\mathcal {H}_j\} } \left( \sum _{i \in {\mathcal {A}}_k \backslash {\mathcal {A}}_k^l} \delta (I(i) \in \mathcal {H}_j) \right) ^2 \ge \nonumber \\&\ge \left( \sum _{i \in {\mathcal {A}}_k \backslash {\mathcal {A}}_k^l} \delta (I(i) \in \mathcal {H}^\star ) + \sum _{i \in {\mathcal {A}}_k^l} \delta (I(i)\in \mathcal {H}^\star )\right) ^2 +\nonumber \\&\quad + \sum _{\{\mathcal {H}_j\} \backslash \mathcal {H}^\star } \left( \sum _{i \in {\mathcal {A}}_k \backslash {\mathcal {A}}_k^l} \delta (I(i) \in \mathcal {H}_j) \right) ^2+ \nonumber \\&\quad + \sum _{\{\mathcal {H}_j\}} \left( \sum _{i\in {\mathcal {A}}_n} \delta (I(i) \in \mathcal {H}_j)\right) ^2. \end{aligned}$$
(21)

Then, note the following simple equality:

$$\begin{aligned}&\left( \sum _{i \in {\mathcal {A}}_n} \delta (I(i) \in \mathcal {H}^\star ) + \sum _{i \in {\mathcal {A}}_k^l} \delta (I(i) \in \mathcal {H}^\star )\right) ^2 =\end{aligned}$$
(22)
$$\begin{aligned}&\left( \sum _{i \in {\mathcal {A}}_n} \delta (I(i) \in \mathcal {H}^\star )\right) ^2 + \left( \sum _{i\in {\mathcal {A}}_k^l} \delta (I(i)\in \mathcal {H}^\star )\right) ^2 + \nonumber \\&\quad +2 \left( \sum _{i\in {\mathcal {A}}_n} \delta (I(i) \in \mathcal {H}^\star ) \right) \left( \sum _{i\in {\mathcal {A}}_k^l} \delta (I(i) \in \mathcal {H}^\star )\right) , \end{aligned}$$
(23)

and we introduce it to the evaluation in Eq. (21). Reordering the terms, and canceling the same terms in both sides of the inequality, Eq. (21) becomes:

$$\begin{aligned}&H(s) \ge H(s_t) \Longleftrightarrow \end{aligned}$$
(24)
$$\begin{aligned}&\sum _{i\in {\mathcal {A}}_n}\delta (I(i)\in \mathcal {H}^\star ) \ge \sum _{i\in {\mathcal {A}}_k\backslash {\mathcal {A}}_k^l}\delta (I(i)\in \mathcal {H}^\star ). \end{aligned}$$
(25)

Now, we develop the intersection distances in the Observation to arrive to Eq. (24). We use the following expression:

$$\begin{aligned}&\mathbf{int}(c_{{\mathcal {A}}_n},c_{{\mathcal {A}}_k^l}) =\nonumber \\&\quad \sum _{\{\mathcal {H}_j\}} \min \left( \frac{1}{|{\mathcal {A}}_n|} \sum _{i\in {\mathcal {A}}_n}\delta (I(i)\in \mathcal {H}_j),\frac{1}{|{\mathcal {A}}_k^l|} \sum _{i\in {\mathcal {A}}_k^l} \delta (I(i) \in \mathcal {H}_j) \right) , \end{aligned}$$
(26)

and since we assumed that the histogram of \({\mathcal {A}}_k^l\) is concentrated in one bin, the expression becomes

$$\begin{aligned} \mathbf{int}(c_{{\mathcal {A}}_n},c_{{\mathcal {A}}_k^l}) = \frac{1}{|{\mathcal {A}}_n|}\sum _{i\in {\mathcal {A}}_n}\delta (I(i)\in \mathcal {H}^\star ). \end{aligned}$$
(27)

Finally, we use this expression and the assumption of \(|{\mathcal {A}}_k|\approx |{\mathcal {A}}_n|\),and we obtain Eq. (24):

$$\begin{aligned}&\mathbf{int}(c_{{\mathcal {A}}_n},c_{{\mathcal {A}}_k^l}) \ge \mathbf{int}(c_{{\mathcal {A}}_k\backslash {\mathcal {A}}_k^l},c_{{\mathcal {A}}_k^l}) \Longleftrightarrow \end{aligned}$$
(28)
$$\begin{aligned}&\sum _{i\in {\mathcal {A}}_n} \delta (I(i)\in \mathcal {H}^\star ) \ge \sum _{i \in {\mathcal {A}}_k\backslash {\mathcal {A}}_k^l}\delta (I(i)\in \mathcal {H}^\star ) \Longleftrightarrow \end{aligned}$$
(29)
$$\begin{aligned}&H(s)\ge H(s_t) \end{aligned}$$
(30)

1.2 Boundary Prior Term

Observation 2

Let \(\{b_{\mathcal {N}_i}(k)\}\) be the histograms of the superpixel labeling computed at the partitioning \(s_t\) [(see Eq. (8)]. \({\mathcal {A}}_k^l\) is a pixel, and \(\mathcal {K}_{{\mathcal {A}}_k^l}\) the set of pixels whose patch intersects with that pixel, i.e. \(\mathcal {K}_{{\mathcal {A}}_k^l} = \{i : {\mathcal {A}}_k^l \in \mathcal {N}_i \}\). If the hill-climbing proposes moving a pixel \({\mathcal {A}}_k^l\) from superpixel \(k\) to superpixel \(n\), then

$$\begin{aligned} \sum _{i\in \mathcal {K}_{{\mathcal {A}}_k^l}}(b_{\mathcal {N}_i}(n)+1) \ge \sum _{i\in \mathcal {K}_{{\mathcal {A}}_k^l}} b_{\mathcal {N}_i}(k) \Longleftrightarrow G(s) \ge G(s_t). \end{aligned}$$
(31)

Recall that \(G(s)\) is:

$$\begin{aligned} G(s)=\sum _i \sum _k \left( \frac{1}{Z} \sum _{j \in \mathcal {N}_i} \delta (j \in {\mathcal {A}}_k)\right) ^2, \end{aligned}$$
(32)

where we merged Eqs. (8) and (9). We write \(G(s)\ge G(s_t)\) taking into account that \(s\) and \(s_t\) only differ in \({\mathcal {A}}_k^l\), which is a single pixel, and it becomes

$$\begin{aligned}&G(s) \ge G(s_t) \Longleftrightarrow \nonumber \\&\sum _{i\in \mathcal {K}_{{\mathcal {A}}_k^l}} \left( \left( \frac{1}{Z}((-1)+\sum _{j\in \mathcal {N}_i}\delta (j \in {\mathcal {A}}_k)) \right) ^2\right. + \nonumber \\&\quad +\left. \left( \frac{1}{Z}(1+\sum _{j\in \mathcal {N}_i}\delta (j\in {\mathcal {A}}_n))\!\right) ^2\right) \ge \nonumber \\&\sum _{i \in \mathcal {K}_{{\mathcal {A}}_k^l}} \left( \!\left( \frac{1}{Z} \sum _{j\in \mathcal {N}_i} \delta (j\in {\mathcal {A}}_k) \!\right) ^2 \!\!+\! \left( \frac{1}{Z} \sum _{j\in \mathcal {N}_i}\delta (j\in {\mathcal {A}}_n)\right) ^2 \right) . \end{aligned}$$
(33)

Then, we develop the squares, and cancel the repeated terms in the inequality as well as \(Z\):

$$\begin{aligned}&G(s) \ge G(s_t) \Longleftrightarrow \nonumber \\&\sum _{i\in \mathcal {K}_{{\mathcal {A}}_k^l}} \left( 1-2 \sum _{j\in \mathcal {N}_i}\delta (j\in {\mathcal {A}}_k) \right) + \nonumber \\&\quad +\left( 1+2\sum _{j\in \mathcal {N}_i}\delta (j\in {\mathcal {A}}_n)\right) \ge 0. \end{aligned}$$
(34)

Finally, we reorder the terms and obtain the inequality in the Observation:

$$\begin{aligned}&G(s) \ge G(s_t) \Longleftrightarrow \nonumber \\&\quad \sum _{i\in \mathcal {K}_{{\mathcal {A}}_k^l}} \left( \!1\!+\!\sum _{j\in \mathcal {N}_i}\delta (j\in {\mathcal {A}}_n)\right) \!\ge \! \sum _{i\in \mathcal {K}_{{\mathcal {A}}_k^l}}\! \left( \sum _{j\in \mathcal {N}_i} \delta (j\in {\mathcal {A}}_k) \right) \nonumber \\&\quad \Longleftrightarrow \sum _{i\in \mathcal {K}_{{\mathcal {A}}_k^l}} (b_{\mathcal {N}_i}(n)+1) \ge \sum _{i\in \mathcal {K}_{{\mathcal {A}}_k^l}} b_{\mathcal {N}_i}(k). \end{aligned}$$
(35)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Van den Bergh, M., Boix, X., Roig, G. et al. SEEDS: Superpixels Extracted Via Energy-Driven Sampling. Int J Comput Vis 111, 298–314 (2015). https://doi.org/10.1007/s11263-014-0744-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11263-014-0744-2

Keywords

Navigation