Journal of Real-Time Image Processing

, Volume 15, Issue 3, pp 657–672 | Cite as

A hardware-efficient parallel architecture for real-time blob analysis based on run-length code

  • Bingjie Li
  • Cunguang Zhang
  • Bo Li
  • Hongxu JiangEmail author
  • Qizhi Xu
Special Issue Paper


Blob analysis has been extensively used in target detection, object recognition, moving target tracking, among other applications. Because blob analysis is computationally expensive, it has become a bottleneck of real-time applications. To tackle this problem, a parallel algorithm for blob analysis is proposed, and a hardware-efficient architecture for this algorithm is presented in this paper. First, based on image data partition and multi-process units, a novel parallel algorithm of blob analysis is proposed to process objects with different types and sizes. Second, a dynamic convex hull calculation method is designed, which is highly efficient for parallel processing and sub-block merging of connected component labeling. Third, a parallel hardware structure of the proposed algorithm is designed and implemented on FPGA. To evaluate performance, blobs of different types and sizes are located by the proposed algorithm in software and hardware. The experimental results demonstrate that the blobs are effectively and correctly located by the proposed algorithm, and the proposed hardware architecture works more efficiently than the state-of-the-art methods.


Blob analysis Parallelization Convex hull calculation FPGA 



This work was partially supported by the National Key Research and Development Program of China (Grant No. 2016YFC0801003), and National Natural Science Foundation of China (No. 61272347).


  1. 1.
    Schwenk, K., Huber, F.: Connected component labeling algorithm for very complex and high-resolution images on an FPGA platform. SPIE remote sensing. Int. Soc. Opt. Photon. 9646(03), 1–14 (2015)Google Scholar
  2. 2.
    Bottino, A., Garbo, A., Loiacono, C., et al.: Street viewer: an autonomous vision based traffic tracking system. Sensors 16(6), 813 (2016)CrossRefGoogle Scholar
  3. 3.
    Ding, M., Antani, S., Jaeger, S., et al.: Logcal-global classifier fusion for screening chest radiographs. In: Proceeding SPIE 10138 Medical Imaging: Image Informatics for Healthcare, Research and Applicatons (2017)Google Scholar
  4. 4.
    Zhou, H., Llewellyn, L., Wei, L., Creighton, D., Nahavandi, S.: Marine object detection using background modeling and blob analysis. In: IEEE International Conference on Systems, Man and Cybernetics, pp. 430–435 (2015)Google Scholar
  5. 5.
    Athrey, K.S., Kambalur, B.M., Kumar, K. K.: Traffic sign recognition using blob analysis and template matching. In: International Conference on Computer and Communication Technology, pp. 219–222 (2015)Google Scholar
  6. 6.
    Bochem, A., Herpers, R., Kent, K.B.: Hardware acceleration of blob detection for image processing. In: International Conference on Advances in Circuits, Electronics and Micro-Electronics, pp. 28–33 (2010)Google Scholar
  7. 7.
    Zhao, C., Duan, G., Zheng, N.: A hardware-efficient method for extracting statistic information of connected component. J. Signal Process. Syst. 88(1), 55–65 (2017)CrossRefGoogle Scholar
  8. 8.
    Suzuki, K., Horiba, I., Sugie, N.: Linear-time connected-component labeling based on sequential local operations. Comput. Vis. Image Underst. 89(1), 1–23 (2003)CrossRefGoogle Scholar
  9. 9.
    Cabaret, L., Lacassagne, L., Etiemble, D.: Parallel light speed labeling: an efficient connected component algorithm for labeling and analysis on multi-core processors. In: IEEE international conference on image processing (ICIP), Quebec City, Canada, 27–30 Sept 2015, pp. 3486–3489 (2015)Google Scholar
  10. 10.
    Rosenfeld, A.: Connectivity in digital pictures. J. ACM 17(1), 146–160 (1970)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Song, W., Wu, D., Xi, Y., Yong, W.P., Cho, K.: Motion-based skin region of interest detection with a real-time connected component labeling algorithm. Multimed. Tools Appl. 76(9), 11199–11214 (2017)CrossRefGoogle Scholar
  12. 12.
    Wu, K., Otoo, E., Suzuki, K.: Optimizing two-pass connected-component labeling algorithms. Formal Pattern Anal. Appl. 12(2), 117–135 (2009)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Gupta, S., Palsetia, D., Patwary, M. M. A., Agrawal, A., Choudhary, A.: A new parallel algorithm for two-pass connected component labeling. In: IEEE International Parallel & Distributed Processing Symposium Workshops, Vol. 778, pp. 1355–1362 (2014)Google Scholar
  14. 14.
    Zhao, X., He, L., Yao, B., Chao, Y.: A new connected-component labeling algorithm. IEICE Trans. Inf. Syst. E98.D(11), 2013–2016 (2015)CrossRefGoogle Scholar
  15. 15.
    Stout, Q.F: Optimal component labeling algorithms for mesh-connected computers and vlsi. Comput. Sci. (2015)Google Scholar
  16. 16.
    Tang, J.W., Shaikh-Husin, N., Sheikh, U.U., Marsono, M.N.: A linked list run-length-based single-pass connected component analysis for real-time embedded hardware. J. Real-Time Image Proc. (2016). doi: 10.1007/s11554-016-0590-2 CrossRefGoogle Scholar
  17. 17.
    Jeong, J.W., Lee, G.B., Lee, M.J., Kim, J.G.: A single-pass connected component labeler without label merging period. J. Signal Process. Syst. 84(2), 211–223 (2016)CrossRefGoogle Scholar
  18. 18.
    He, L., Yao, B., Zhao, X., Yang, Y., Shi, Z., Kasuya, H., et al.: A fast algorithm for integrating connected-component labeling and euler number computation. J. Real Time Image Process. 13(6), 1–15 (2015)Google Scholar
  19. 19.
    Lee, S.Y., Kwak, D.M., Sung, G.Y., Kim, D.J.: Modified component-labeling algorithms applied to grayscale images. In: International conference on control, automation and systems, Seoul, South Korea, 14–17 Oct 2008, pp. 1876–1880 (2008)Google Scholar
  20. 20.
    Malik, A.W., Thirnberg, B., Imran, M., Lawal, N.: Hardware architecture for real-time computation of image component feature descriptors on a FPGA. Int. J. Distribut. Sens. Netw. 2014(1), 1–14 (2014)Google Scholar
  21. 21.
    Subbaian, S., Gopalakrishnan, S., Doss, V., Li, X., Cuciurean-Zapan, C.: Connected component analysis with multi-thresholding to segment halftones. United States Patent, Patent No. US9124841, 1 Sept 2015Google Scholar
  22. 22.
    Wiederhold, P., Reyes, H.: Relative convex hull determination from convex hulls in the Plane. In: Combinatorial Image Analysis. Springer (2016)Google Scholar
  23. 23.
    Kemmotsu, K.: High speed calculation of convex hull in 2d images using FPGA. In: The 10th anniversary celebration of RECONF: reconfigurable systems, etc. Kyoto University, Japan, 19–20 June 2015, pp. 35–40 (2015)Google Scholar
  24. 24.
    Szczypiński, P., Klepaczko, A.: Convex hull-based feature selection in application to classification of wireless capsule endoscopic images. In: Advanced Concepts for Intelligent Vision Systems. Springer, Berlin (2009)CrossRefGoogle Scholar
  25. 25.
    Barber, C.B., Dobkin, D.P., Huhdanpaa, H.: The quickhull algorithm for convex hulls. ACM Trans. Math. Softw 22(4), 469–483 (1998)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Mei, G., Xu, N.: Cudapre3d: an alternative preprocessing algorithm for accelerating 3D convex hull computation on the gpu. Adv. Electr. Comput. Eng. 15(2), 35–44 (2015)CrossRefGoogle Scholar
  27. 27.
    Erétéo, G., Gandon, F., Buffa, M.: SemTagP: semantic community detection in folksonomies. IEEE/WIC/ACM Int. Conf. Web Intell. Intell. Agent Technol. 1, 324–331 (2011)Google Scholar
  28. 28.
    Zhang, S., Ma, L.Z.: A parallel algorithm for convex hull of planar disperse point set. J. Zhejiang Univ. 4(1), 22–30 (1999)Google Scholar
  29. 29.
    Nakagawa, M., Man, D., Ito, Y., et al.: A simple parallel convex hulls algorithm for sorted points and the performance evaluation on the multicore processors. In: International Conference on Parallel and Distributed Computing, Applications and Technologies, pp. 506–511. IEEE, Washington (2009)Google Scholar
  30. 30.
    Liaghati, A.L., Pan, W.D.: Improved distance coding of binary images by run length coding of the most probable interval. In: SoutheastCon, Fort Lauderdale, USA, 9–15 Apr 2015, pp. 1–7 (2015)Google Scholar
  31. 31.
  32. 32.
    He, L., Chao, Y., Suzuki, K., Nakamura, T., Itoh, H.: A high-speed run-based two-scan labeling algorithm. J. Inst. Image Inf. Telev. Eng. 62(9), 1461–1465 (2008)Google Scholar
  33. 33.
    Kumar, P., Palaniappan, K., Mittal, A., Seetharaman, G.: Parallel blob extraction using the multi-core cell processor. Lect. Notes Comput. Sci. 5807(5807), 320–332 (2009)CrossRefGoogle Scholar
  34. 34.
    Zhao, F., Lu, Zh., Zhang, H., Yong, Z.: Real-time single-pass connected components analysis algorithm. EURASIP J. Image Video Process. 2013(1), 1–10 (2013)CrossRefGoogle Scholar
  35. 35.
    Kiran, D., Rasheed, A.I., Ramasangu, H.: FPGA implementation of blob detection algorithm for object detection in visual navigation. Int. Conf. Circuits Controls Commun. 115, 1–5 (2013)Google Scholar
  36. 36.
    Acevedo-Avila, R., Gonzalez-Mendoza, M., Garcia-Garcia, A.: A linked list-based algorithm for blob detection on embedded vision-based sensors. Sensors 16(6), 782 (2016)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Bingjie Li
    • 1
  • Cunguang Zhang
    • 1
  • Bo Li
    • 1
    • 2
  • Hongxu Jiang
    • 1
    • 2
    Email author
  • Qizhi Xu
    • 1
    • 2
  1. 1.Beijing Key Laboratory of Digital Media, School of Computer Science and EngineeringBeihang UniversityBeijingChina
  2. 2.State Key Laboratory of Virtual Reality Technology and SystemsBeihang UniversityBeijingChina

Personalised recommendations