SciELO - Scientific Electronic Library Online

vol.17 issue3GPU Generation of Large Varied Animated CrowdsSuffix Array Performance Analysis for Multi-Core Platforms author indexsubject indexsearch form
Home Pagealphabetic serial listing  

Services on Demand




Related links

  • Have no similar articlesSimilars in SciELO


Computación y Sistemas

Print version ISSN 1405-5546

Comp. y Sist. vol.17 n.3 México Jul./Sep. 2013




A Parallel PSO Algorithm for a Watermarking Application on a GPU


Algoritmo paralelo PSO para una aplicación de marcas de agua en un GPU


Edgar García Cano1 and Katya Rodríguez2


1 Posgrado en Ciencia e Ingeniería de la Computación, Universidad Nacional Autónoma de México, Mexico.

2 Instituto de Investigaciones en Matemáticas Aplicadas y en Sistemas, Universidad Nacional Autónoma de México, Mexico.


Article received on 20/01/2013;
accepted on 11/08/2013.



In this paper, a research about the usability, advantages and disadvantages of using Compute Unified Device Architecture (CUDA) is presented, implementing an algorithm based on populations called Particle Swarm Optimization (PSO) [5]. In order to test the performance of the proposed algorithm, a hide watermark image application is put into practice. The PSO is used to optimize the positions where a watermark has to be inserted. This application uses the insertion/extraction algorithm proposed by Shieh et al. [1]. This algorithm was implemented for both sequential and CUDA architectures. The fitness function—used in the optimization algorithm—has two objectives: fidelity and robustness. The measurement of fidelity and robustness is computed using Mean Squared Error (MSE) and Normalized Correlation (NC), respectively; these functions are evaluated using Pareto dominance.

Keywords: Parallel particle swarm optimization, watermarking, CUDA, image security.



En este artículo se presenta una investigación de la usabilidad, ventajas y desventajas de usar Compute Unified Device Architecture (CUDA) implementando un algoritmo basado en poblaciones, Optimización por Cúmulo de Partículas (PSO) [5]. Para probar el rendimiento del algoritmo propuesto, se realizó la implementación de una aplicación de marcas de agua ocultas. El PSO es usado para optimizar las posiciones donde la marca de agua debe ser insertada. Esta aplicación usa el algoritmo de inserción/extracción propuesto por Shieh et al. [1]. El algoritmo completo fue implementado para las arquitecturas secuenciales y CUDA. La función de optimización —usada en el algoritmo de optimización— es la unión de dos objetivos: fidelidad y robustez. La medición de la fidelidad y robustez es procesada usando el Error Cuadrático Medio (MSE) y la Correlación de Normalización (NC) respectivamente; estas funciones son evaluadas usando dominancia de Pareto.

Palabras clave: Optimización por cúmulo de partículas en paralelo, marcas de agua, CUDA, seguridad en imágenes.





The first author, postgraduate student in Computer Science and Engineering at the National University of Mexico, expresses his gratitude to the support received from CONACYT (scholarship number 37617). The authors also express their gratitude to the support received from PAPIIT (project number 109011).



1. Chin-Shiuh, S., Hsiang-Cheh, H., Feng-Hsing, W., & Jeng-Shyang, P. (2004). Genetic watermarking based on transform-domain techniques. Pattern Recognition, 37(3), 555-565.         [ Links ]

2. ByteScout (s.f.). Retrieved from         [ Links ]

3. García, E.E. (2012). A parallel bioinspired watermarking algorithm on a GPU. MSc thesis, Universidad Nacional Autónoma de México, México, D.F.         [ Links ]

4. Heo, J.S., Lee, K.Y., & Garduno-Ramirez, R. (2006). Multiobjective control of power plants using particle swarm optimization techniques. IEEE Transactions on Energy Conversion, 21(2), 552-561.         [ Links ]

5. Mohemmed, A., Johnston, M., & Zhang, M. (2009). Particle swarm optimization based multi-prototype ensembles. 11th Annual conference on Genetic and evolutionary computation (GECCO'09), Montreal, Canada, 57-64.         [ Links ]

6. Donelli, M. & Massa, A. (2005). Computational approach based on a particle swarm optimizer for microwave imaging of two dimensional dielectric scatterers. IEEE Transactions on Microwave Theory and Techniques, 53(5), 1761 -1776.         [ Links ]

7. Selvan, S.E., Xavier, C.C., Karssemeijer, N., Sequeira, J., Cherian, R.A., & Dhala, B.Y. (2006). Parameter estimation in stochastic mammogram model by heuristic optimization technique. IEEE Transactions on Information Technology in Biomedicine, 10(4), 685-695.         [ Links ]

8. Huang, T. & Mohan, A.S. (2007). A microparticle swarm optimizer for the reconstruction of microwave images. IEEE Transactions on Antennas and Propagation, 55(3), 568-576.         [ Links ]

9. Wachowiak, M.P., Smolikova, R., Yufeng, Z., Zurada, J.M., & Elmaghraby, A.S. (2004). An approach to multimodal biomedical image registration utilizing particle swarm optimization. IEEE Transactions on Evolutionary Computation, 8(3), 289-301.         [ Links ]

10. Kennedy, J. & Eberhart, R. (1995). Particle swarm optimization. IEEE International Conference on Neural Networks, Perth, Australia, 4, 1942-1948.         [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License