Sistema basado en hardware reconfigurable para el cómputo paralelo de la operación convolución en imágenes.

Autores/as

DOI:

https://doi.org/10.56913/teceo.6.12.235-246

Palabras clave:

Convolución, Red Neuronal, RNC, FPGA, Hardware

Resumen

En el presente documento se analiza una estructura propuesta en hardware reconfigurable, más específico en FPGA, para realizar de manera paralela la operación de convolución aplicada en imágenes, con el propósito de optimizar el procesamiento de imágenes de redes neuronales de convolución, lo cual se le conoce como un acelerador hardware. La estructura propuesta consta de dos etapas principales: el Line Buffer que se centra en llenar los datos de la imagen de entrada al sistema y el bloque de convolución o de bloques MAC, que se encarga de hacer la convolución multiplicando la máscara de convolución creada en el Line Buffer con el filtro que se desee aplicar. Adicionalmente, se presenta el pretratamiento que se le debe aplicar a las imágenes de entrada para que puedan ser analizadas y procesadas correctamente por la estructura hardware, la cual consiste básicamente en obtener sus valores en binario en formato Q1.8, un bit para la parte entera y ocho bits para la parte fraccionaria. Los resultados del análisis de la investigación muestran que existen múltiples formas de realizar una optimización basada en el paralelismo. Siendo dos las principales: el paralelismo al momento de aplicar un filtro consistente en poder aplicar más de un filtro a la vez, y el paralelismo en operaciones, que de igual manera consiste en el filtro, pero al momento de hacer la multiplicación de la máscara de convolución con el filtro se multiplican diferentes elementos del mismo filtro con la máscara de convolución generada.

Citas

LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436–444. https://doi.org/10.1038/nature14539

Sze, V., Chen, Y.-H., Yang, T.-J., & Emer, J. (2017). Efficient processing of deep neural networks: A tutorial and survey. arXiv preprint arXiv:1703.09039. https://doi.org/10.48550/arXiv.1703.09039

An, F., Wang, L., & Zhou, X. (2023). A high performance reconfigurable hardware architecture for lightweight convolutional neural network. Electronics, 12(13), 2847. https://doi.org/10.3390/electronics12132847

Huang, J., Liu, X., Guo, T., & Zhao, Z. (2023). A high-performance FPGA-based depthwise separable convolution accelerator. Electronics, 12(7), 1571. https://doi.org/10.3390/electronics12071571

Hong, E., Choi, K.-A., & Joo, J. (2023). Efficient two-stage max-pooling engines for an FPGA-based convolutional neural network. Electronics, 12(19), 4043. https://doi.org/10.3390/electronics12194043

Armeniakos, G., Zervakis, G., Soudris, D., & Henkel, J. (2022). Hardware approximate techniques for deep neural network accelerators: A survey. ACM Computing Surveys, 55(4), 1–36. https://doi.org/10.1145/3527156

Lavaine, C. (2024, 5 de agosto). FPGA vs. ASIC: Choosing the right technology for your project. Reflex CES. https://www.reflexces.com/newsroom/fpga-vs-asic-choosing-the-right-technology-for-your-project.

Ma, Y., Xu, Q., & Song, Z. (2023). Resource-efficient optimization for FPGA-based convolution accelerator. Electronics, 12(20), 4333. https://doi.org/10.3390/electronics12204333

Repositorio CICESE. (2017, 10 de junio). Item 1007/1348. https://cicese.repositorioinstitucional.mx/jspui/handle/1007/1348

Zhang, Z. (2024). Binary representation learning on visual images. Springer. https://doi.org/10.1007/978-981-97-2112-2

Cazacu, R. (2021). Matlab framework for image processing and feature extraction: Flexible algorithm design. MDPI. https://doi.org/10.3390/proceedings2020063072

Gao, S. (2013). Research on medical image processing method based on MATLAB. En Lecture Notes in Electrical Engineering (pp. 269–276). Springer. https://doi.org/10.1007/978-1-4471-4850-0_35

Gonzalez, R. C., & Woods, R. E. (2018). Digital image processing (4.ª ed.). Pearson Education.

Smith, J., & Doe, A. (2020). The matrix representation of digital images in computer vision systems. Journal of Image Processing, 25(3), 123–140. https://doi.org/10.1016/j.jip.2020.06.00

Szeliski, R. (2010). Computer vision: Algorithms and applications. Springer. https://doi.org/10.1007/978-1-84882-935-0

Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2017). ImageNet classification with deep convolutional neural networks. Communications of the ACM, 60(6), 84–90. https://doi.org/10.1145/3065386

Hennessy, J. L., & Patterson, D. A. (2019). Computer architecture: A quantitative approach (6.ª ed.). Morgan Kaufmann.

Chetlur, S., Woolley, C., Vandermersch, P., Cohen, J., Tran, J., Catanzaro, B., & Shelhamer, E. (2014). cuDNN: Efficient primitives for deep learning. arXiv preprint arXiv:1410.0759. https://doi.org/10.48550/arXiv.1410.0759

Chen, T., Xu, B., Zhang, C., & Guestrin, C. (2015). Training deep nets with sublinear memory cost. arXiv preprint arXiv:1604.06174. https://doi.org/10.48550/arXiv.1604.06174

Archivos adicionales

Publicado

2024-12-27

Cómo citar

Reyes-Pérez, . M. ., Arredondo-Velázquez, . M. ., & Díaz-Carmona, . J. . (2024). Sistema basado en hardware reconfigurable para el cómputo paralelo de la operación convolución en imágenes . Tecnología, Ciencia Y Estudios Organizacionales, 6(12), 235–246. https://doi.org/10.56913/teceo.6.12.235-246

Número

Sección

Artículos