Skip to main content
Log in

Real–time memory efficient SLIC accelerator for low–power applications

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

Superpixel segmentation is one of the popular segmentation methods used in computer vision. One of the major algorithms in superpixel segmentation literature is the Simple Linear Iterative Clustering (SLIC) algorithm. SLIC is an iterative algorithm that data–dependency of its two main steps, i.e., assignment and update, challenges the parallel implementation of the original structure. Also, there are lots of coefficients computed in each step which are needed for the next step and require large throughput. This makes the SLIC algorithm inefficient from memory point of view. The memory inefficiency prevents this algorithm from being used in low–power applications such as augmented reality (AR). In this manuscript, we propose a new structure for SLIC algorithm to improve the memory efficiency. This new structure modifies the Assignment step of SLIC to ignore main non required parameters. To overcome this problem, we propose a new memory-efficient structure for SLIC algorithm. In the basic SLIC algorithm, the main memory consuming parameters are Label and Distance Index which the second one is removed in proposed structure. This new technique works based on simultaneous calculation and comparison of Distance Index of pixels and leads to 25% memory saving. SLIC algorithm works in CIELAB color space which requires more memory space and throughput compared to RGB color space. Proposed structure works in RGB color space rather than CIELAB color space, by implementing a real–time (single clock) RGB–to–CIELAB convertor. This modification resulted to another 37% memory saving. The overall structure is 62% efficient compared to the basic SLIC algorithm and the most efficient one in the literature, to the knowledge of authors. To minimize the execution time of proposed structure, a new structure is proposed for Update step of SLIC algorithm. This memory-efficient SLIC algorithm is implemented and validated on a Stratix–III FPGA family. The implementation results validate real–time behavior of the proposed structure (24 frames per second).

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

Similar content being viewed by others

References

  1. 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 Trans Pattern Anal Mach Intell 34(11):2274–2281

    Article  Google Scholar 

  2. Akagic A, Buza E, Turcinhodzic R, Haseljic H, Hiroyuki N, Amano H (2018) Superpixel accelerator for computer vision applications on arria 10 SoC. In: Proceedings - 21st IEEE international symposium on design and diagnostics of electronic circuits and systems, DDECS, pp 55–60

  3. Amal A, Azouz ZB, Alouane M (2017) AdaSLIC: adaptive supervoxel generation for volumetric medical images. Multimed Tools Appl 7:83723–3745

    Google Scholar 

  4. Bommisetty RM, Prakash O, Khare A (2019) Video superpixels generation through integration of curvelet transform and simple linear iterative clustering. Multimed Tools Appl 78:25185–25219

    Article  Google Scholar 

  5. Comaniciu D, Meer P (2002) Mean shift: a robust approach toward feature space analysis. IEEE Trans Pattern Anal Mach Intell 24(5):603–619

    Article  Google Scholar 

  6. Giordano D, Murabito F, Palazzo S, Spampinato C (2015) Superpixel-based video object segmentation using perceptual organization and location prior. In: Proceedings of the IEEE computer society conference on computer vision and pattern recognition, pp 4814–4822

  7. Hong I, Clemons J, Venkatesan R, Frosio I, Khailany B, Keckler SW (2016) A real-time energy-efficient superpixel hardware accelerator for mobile computer vision applications. In: Proceedings - design automation conference, pp 1–6

  8. Jia S, Geng S, Gu Y, Yang J, Shi P, Qiao Y (2015) NSLIC: SLIC superpixels based on nonstationarity measure. In: IEEE international conference on image processing (ICIP), Quebec City, QC, Canada, pp 4738–4742

  9. Kim G et al (2015) A 1.22 TOPS and 1.52 mW/MHz augmented reality multicore processor with neural network NoC for HMD applications. IEEE J Solid-State Circuits 50(1):113–124

    Article  Google Scholar 

  10. Le CV, Hong QN, Quang TT, Trung ND (2016) Superpixel-based background removal for accuracy salience person re-identification. In: IEEE international conference on consumer electronics-Asia (ICCE-Asia), Seoul, Korea (South), pp 1–4

  11. Levinshtein A, Stere A, Kutulakos KN, Fleet DJ, Dickinson SJ, Siddiqi K (2009) TurboPixels: fast superpixels using geometric flows. IEEE Trans Pattern Anal Mach Intell 31(12):2290–2297

    Article  Google Scholar 

  12. Liu Z, Zhang X, Luo S, Le Meur O (2014) Superpixel-based spatiotemporal saliency detection. IEEE Trans Circuits Syst Video Technol 24(9):1522–1540

    Article  Google Scholar 

  13. Liu Z, Zou W, Le Meur O (2014) Saliency tree: a novel saliency detection framework. IEEE Trans Image Process 23(5):1937–1952

    Article  MathSciNet  Google Scholar 

  14. Lucchi A, Smith K, Achanta R, Lepetit V, Fua P (2010) A fully automated approach to segmentation of irregularly shaped cellular structures in EM images. In: Lecture notes in computer science (including subseries lecture notes in artificial intelligence and lecture notes in bioinformatics), pp 463–471

  15. Massoudifar P, Rangarajan A, Gader P (2014) Superpixel estimation for hyperspectral imagery. In: IEEE conference on computer vision and pattern recognition workshops, Columbus, OH, USA, pp 287–292

  16. Mori G (2005) Guiding model search using segmentation. Proc IEEE Int Conf Comput Vis 2:1417–1423

    Article  Google Scholar 

  17. Psalta A, Karathanassi V, Kolokoussis P (2016) Modified versions of SLIC algorithm for generating superpixels in hyperspectral images. In: 8th Workshop on hyperspectral image and signal processing: evolution in remote sensing (WHISPERS), Los Angeles, CA, USA, pp 1–5

  18. Rafi M, Mukhopadhyay S (2019) Salient object detection employing regional principal color and texture cues. Multimed Tools Appl 78:19735–19751

    Article  Google Scholar 

  19. Ren CY, Reid I (2011) gSLIC: a real-time implementation of SLIC superpixel segmentation. Univ. Oxford, Dep. Eng. Sci, pp 1–6, 2011

  20. Ren C, Prisacariu V, Reid I (2015) gSLICr: SLIC superpixels at over 250Hz. ArXiv e-prints

  21. Su T (2019) Superpixel-based principal component analysis for high resolution remote sensing image classification. Multimed Tools Appl 78:34173–34191

    Article  Google Scholar 

  22. Thapa A, Alsadoon A, Prasad PWC et al (2021) A novel augmented reality for hidden organs visualisation in surgery: enhanced super-pixel with sub sampling and variance adaptive algorithm. Multimed Tools Appl

  23. Ullah S, Bhatti N, Zia M (2021) Adaptive tuning of SLIC parameter K. Multimed Tools Appl

  24. Vedaldi A, Soatto S (2008) Quick shift and kernel methods for mode seeking. In: Computer vision – ECCV 2008, Berlin, Heidelberg: Springer Berlin Heidelberg, pp 705–718

  25. Vincent L, Soille P (1991) Watersheds in digital spaces: an efficient algorithm based on immersion simulations. IEEE Trans Pattern Anal Mach Intell 13 (6):583–598

    Article  Google Scholar 

  26. Wang Y, Peng G, Zhou M (2018) Saliency detection by hierarchically integrating compactness, contrast and boundary connectivity. Multimed Tools Appl 77:11883–11901

    Article  Google Scholar 

  27. Wu C et al (2020) Fuzzy SLIC: fuzzy simple linear iterative clustering. IEEE Trans Circuits Syst Video Technol. https://doi.org/10.1109/TCSVT.2020.3019109

  28. Xu L, Zeng L, Wang Z (2014) Saliency-based superpixels. J Multimed Tools Appl 8(1):180–190

    Google Scholar 

  29. Zhang Y, Liu K, Dong Y, Wu K, Hu X (2020) Semisupervised classification based on SLIC segmentation for hyperspectral image. IEEE Geosci Remote Sens Lett 17(8):1440–1444

    Article  Google Scholar 

  30. Zitnick CL, Kang SB (2007) Stereo for image-based rendering using image over-segmentation. Int J Comput Vis 75(1):49–65

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maryam Shoaran.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix: : RGB-to-CIELAB

Appendix: : RGB-to-CIELAB

In this section color conversion from RGB to CIELAB color space is represented in details. CIELAB color space, defined by International Commission on Illumination (CIE), is a perceptually uniform color space. In this color space, each pixel is expressed by three components L, a and b where L indicates lightness and a and b are color channels. Since CIELAB color space consists all perceivable colors, it is able to estimate human color perception correctly.

Conversion of RGB color space to CIELAB is achieved from following steps: In the first step, RGB values of each pixel are normalized to be in the range of [0, 1]. Then obtained values of RGB are transformed to sRGB color components using following formula:

$$ h(u) = \left\{ \begin{array}{lll} \frac{u}{12.92} & \quad , & \quad u \le 0.04045\\ \left( \frac{u + 0.055}{1.055} \right)^{2.2} &\quad , & \quad otherwise \end{array} \right. $$
(6)

where u is RGB color dimensions. In the second step, sRGB to CIEXYZ conversion is performed by:

$$ \left[ \begin{array}{c} X\\ Y\\ Z \end{array}\right] = \left[ \begin{array}{ccc} 0.4124 & 0.3576 & 0.1805 \\ 0.2126 & 0.7152 & 0.0722 \\ 0.0193 & 0.1192 & 0.9505 \end{array} \right] \left[ \begin{array}{c} R_{linear}\\ G_{linear}\\ B_{linear} \end{array} \right] $$
(7)

Where Rlinear, Glinear and Blinear are sRGB color components. The third step carries out L, a and b values using following equations:

$$ \begin{array}{@{}rcl@{}} L &=& 116 \left( f\left( \frac{Y}{Y_{n}}\right)\right) - 16 \\ a &=& 500\left( f\left( \frac{X}{X_{n}}\right) - f\left( \frac{Y}{Y_{n}}\right)\right) \\ b &=& 200\left( f\left( \frac{Y}{Y_{n}}\right) - f\left( \frac{Z}{Z_{n}} \right)\right) \\ f(v) &=& \left\{\begin{array}{lll} 7.787v + \frac{16}{116} & \quad , & \quad v \le 0.008856 \\ \sqrt[3]{v} &\quad , & \quad otherwise \end{array} \right. \end{array} $$
(8)

With respect to an illuminant D65 standard white point, the values of Xn, Yn and Zn are:

$$ \begin{array}{@{}rcl@{}} X_{n} &=& 0.9505 \\ Y_{n} &=& 1.0000 \\ Z_{n} &=& 1.0890 \end{array} $$
(9)

For simplicity of hardware implementation, the division operation in L, a and b calculation at (8) can be applied to coefficients in the second step. In this case the (7) and (8) are changed as following:

$$ \left[\begin{array}{c} X\\ Y\\ Z \end{array}\right] = \left[\begin{array}{ccc} 0.4339 & 0.3762 & 0.1899 \\ 0.2126 & 0.7152 & 0.0722 \\ 0.0177 & 0.1095 & 0.8728 \end{array} \right] \left[\begin{array}{c} R_{linear}\\ G_{linear}\\ B_{linear} \end{array} \right] $$
(10)
$$ \begin{array}{@{}rcl@{}} L &=& 116(f(Y) - 0.138) \\ a &=& 500(f(X) - f(Y)) \\ b &=& 200(f(Y) - f(Z)) \\ f(v) &=& \left\{ \begin{array}{lll} 7.787v + \frac{16}{116} & \quad , & \quad v \le 0.008856 \\ \sqrt[3]{v} & \quad , & \quad otherwise \end{array} \right. \end{array} $$
(11)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Khamaneh, P.A., Khakpour, A., Shoaran, M. et al. Real–time memory efficient SLIC accelerator for low–power applications. Multimed Tools Appl 81, 32449–32467 (2022). https://doi.org/10.1007/s11042-022-12594-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-022-12594-9

Keywords

Navigation