Abstract
Data mining and machine learning algorithms deal with large amount of data, which with the invention of cost-efficient devices has increased by massive amounts. Many algorithms of these domains are not part of real-time systems because of their computational complexity and large data on which they need to work. A lot of algorithms are being implemented on parallel processing systems like GPUs and FPGAs to achieve the desired speed. The purpose of this article is to provide parallel processing model of mean shift clustering algorithm, targeted to run on FPGA. The general model consists of multiple homogeneous processing entities (PEs) connected through a bus. These PEs work in collaborative working environment with each PE working independently and also communicating with its peers according to the requirements of algorithms. The proposed architecture is implemented on FPGA for one-dimensional data. The algorithm is tested on 99 images from segmentation evaluation database for different number of PEs and different number of fractional bits used to represent mean. The simplicity of algorithm resulted in utilizing only 10.31% of total device slice registers and 33% of total slice LUTs of Spartan 6 FPGA. The processing requirements for the proposed algorithm show that it can be used in real-time systems.















Similar content being viewed by others
References
Jain, A.K., Murty, M.N., Flynn, P.J.: Data clustering: a review. ACM Comput. Surv. (CSUR) 31(3), 264–323 (1999)
Jain, K.A.: Data clustering: 50 years beyond k-means. Pattern Recognit. Lett. 31(8), 651–666 (2010)
Fukunaga, K., Hostetler, L.D.: The estimation of the gradient of a density function, with applications in pattern recognition. IEEE Trans. Inf. Theory 21(1), 32–40 (1975)
Cheng, Y.: Mean shift, mode seeking, and clustering. IEEE Trans. Pattern Anal. Mach. Intell. 17(8), 790–799 (1995)
Ai, L., Gao, X., Xiong, J.: Application of mean-shift clustering to blood oxygen level dependent functional mri activation detection. BMC Med. Imaging 14(1), 1 (2014)
Filippone, M., Camastra, F., Masulli, F., Rovetta, S.: A survey of kernel and spectral methods for clustering. Pattern Recognit. 41(1), 176–190 (2008)
Comaniciu, D., Ramesh, V., Meer, P.: Kernel-based object tracking. IEEE Trans. Pattern Anal. Mach. Intell. 25(5), 564–577 (2003)
Leichter, I., Lindenbaum, M., Rivlin, E.: Mean shift tracking with multiple reference color histograms. Comput. Vis. Image Underst. 114(3), 400–408 (2010)
Ju, M.-Y., Ouyang, C.-S., Chang, H.-S.: Mean shift tracking using fuzzy color histogram. In: 2010 International Conference on Machine Learning and Cybernetics (ICMLC), vol. 6, pp. 2904–2908. IEEE (2010)
Bousetouane, F., Dib, L., Snoussi, H.: Improved mean shift integrating texture and color features for robust real time object tracking. Vis. Comput. 29(3), 155–170 (2013)
Simon, J.-L., Diederich, M., Troemel, S.: Applying mean-shift-clustering for 3d object detection in remote sensing data. In: EGU General Assembly Conference Abstracts, vol. 15, pp. 9683 (2013)
Che, S., Li, J., Sheaffer, J.W., Skadron, K., Lach, J.: Accelerating compute-intensive applications with gpus and fpgas. In: Symposium on Application Specific Processors, 2008. SASP 2008, pp. 101–107. IEEE (2008)
James-Roxby, P., Schumacher, P., Ross, C.: A single program multiple data parallel processing platform for fpgas. In: 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2004. FCCM 2004, pp. 302–303. IEEE (2004)
Bai, P., Fu, C., Cao, M., Han, Y.: Improved mean shift segmentation scheme for medical ultrasound images. In: 2010 4th International Conference on Bioinformatics and Biomedical Engineering (iCBBE), pp 1–4. IEEE (2010)
Yang, Changjiang., Duraiswami, Ramani., Davis, Larry.: Efficient mean-shift tracking via a new similarity measure. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005. CVPR 2005, vol. 1, pp. 176–183. IEEE (2005)
Li, Z., Tang, Q.L., Sang, N.: Improved mean shift algorithm for occlusion pedestrian tracking. Electron. Lett. 44(10), 622–623 (2008)
Ning, J., Zhang, L., Zhang, D., Chunlin, W.: Scale and orientation adaptive mean shift tracking. IET Comput. Vis. 6(1), 52–61 (2012)
Ning, J., Zhang, L., Zhang, D., Chunlin, W.: Robust mean-shift tracking with corrected background-weighted histogram. IET Comput. Vis. 6(1), 62–69 (2012)
Wang, H., Zhao, J., Li, H., Wang J.: Parallel clustering algorithms for image processing on multi-core cpus. In: 2008 International Conference on Computer Science and Software Engineering, vol. 3, pp. 450–453. IEEE (2008)
Zhang, J., Luo, S., Liu, X.: Weighted mean shift object tracking implemented on gpu for embedded sustems. In: 2012 International Conference on Control Engineering and Communication Technology (ICCECT), pp. 982–985. IEEE (2012)
Xiao, C., Liu, M.: Efficient mean-shift clustering using gaussian kd-tree. In: Computer Graphics Forum, vol. 29, issue 7, pp 2065–2073. Wiley (2010)
Craciun, S., Wang, G., George, A.D., Lam H.K., Principe, J.C.: A scalable rc architecture for mean-shift clustering. In: 2013 IEEE 24th International Conference on Application-Specific Systems, Architectures and Processors (ASAP), pp. 370–374. IEEE (2013)
Men, L., Huang, M., Gauch, J.: Accelerating mean shift segmentation algorithm on hybrid cpu/gpu platforms. In: Proceedings of 2012 International Workshop on Modern Accelerator Technologies for GIScience (MAT4GIScience’12) (2012)
Sirotković, J., Dujmić, H., Papić, V.: Accelerating mean shift image segmentation with ifgt on massively parallel gpu. In: 2013 36th International Convention on Information & Communication Technology Electronics & Microelectronics (MIPRO), pp. 279–285. IEEE (2013)
Li, P., Xiao, L.: Mean shift parallel tracking on gpu. In: Araujo, H., Mendonça, A.M., Pinho, A. J., Torres, M. I. (eds.) Pattern Recognition and Image Analysis, pp. 120–127. Springer, New York (2009)
Ali, U., Malik, M.B., Munawar, K.: Fpga/soft-processor based real-time object tracking system. In: 5th Southern Conference on Programmable Logic, 2009. SPL, pp. 33–37. IEEE (2009)
Craciun, S., Kirchgessner, R., George, A.D., Lam, H., Principe, J.C.: A real-time, power-efficient architecture for mean-shift image segmentation. J. Real Time Image Process. 9, 1–16 (2014)
Trieu, D.B.K., Maruyama, T.: An implementation of the mean shift filter on fpga. In: 2011 International Conference on Field Programmable Logic and Applications (FPL), pp. 219–224. IEEE (2011)
Trieu, D.B.K., Maruyama, T.: Real-time color image segmentation based on mean shift algorithm using an fpga. J. Real Time Image Process. 10(2), 345–356 (2015)
Mazur, K., Kryjak, T.: An embedded vision-based tracking system for autonomous robot navigation. Meas. Autom. Monit. 62(5), 172–174 (2016)
Li, L., Huang, H., Qian, B., Lian, J., Zhou, Y.: Vehicle detection method based on mean shift clustering. J. Intell. Fuzzy Syst. 31(3), 1355–1363 (2016)
Rohilla, R., Kapoor, R.: Improved fpga implementation of real time modified mean shift tracking algorithm. Indian J. Sci. Technol. 9(39), 1 (2016)
Usman, A., Mohammad, B.M.: Hardware/software co-design of a real-time kernel based tracking system. J. Syst. Arch. 56(8), 317–326 (2010)
Khan, Z.H., Gu, I.Y.-H., Backhouse, A.G.: Robust visual object tracking using multi-mode anisotropic mean shift and particle filters. IEEE Trans. Circuits Syst. Video Technol. 21(1), 74–87 (2011)
Jiang, J., Teichert, A., Eisner, J., Daume, H.: Learned prioritization for trading off accuracy and speed. In: Advances in Neural Information Processing Systems (NIPS), pp. 1331–1339 (2012)
Alpert, S., Galun, M., Basri, R., Brandt, A.: Image segmentation by probabilistic bottom-up aggregation and cue integration. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, June (2007)
Khawaja, S.G., Akram, M.U., Khan, S.A., Shaukat, A., Rehman, S.: Network-on-chip based mpsoc architecture for k-mean clustering algorithm. Microprocess. Microsyst. 46, 1–10 (2016)
Khawaja, S.G., Tehreem, A., Akram, M.U., Khan, S.A.: Multicore framework for finding frequent item-sets using tds. In: International Conference on Hybrid Intelligent Systems, pp 340–349. Springer (2016)
Tehreem, A., Khawaja, S.G., Akram, M.U., Khan, S.A., Ali, M.: Parallel architecture for implementation of frequent itemset mining using fp-growth. In 2017 International Conference on Signals and Systems (ICSigSys), pp. 92–98. IEEE (2017)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Tehreem, A., Khawaja, S.G., Khan, A.M. et al. Multiprocessor architecture for real-time applications using mean shift clustering. J Real-Time Image Proc 16, 2233–2246 (2019). https://doi.org/10.1007/s11554-017-0733-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11554-017-0733-0