Підвищення швидкодії операції згортки RGB зображень з використанням алгоритму кластеризації ядер згортки для архітектури процесорів ARM64

Автор(и)

DOI:

https://doi.org/10.18372/2073-4751.81.20144

Ключові слова:

операція згортки, NEON64, ARM64, SIMD-оптимізація, векторизація, RGB-зображення, кластеризація ядер згортки, цифрова обробка зображень, розріджені матриці, OpenCV

Анотація

У статті представлено метод підвищення швидкодії операції згортки RGB-зображень на платформі ARM64 з використанням алгоритму кластеризації елементів ядер згортки. Запропонований підхід базується на векторизації обчислень з використанням SIMD-інструкцій NEON64 та групуванні ненульових елементів ядра згортки однакового знаку для ефективного пропуску операцій з нульовими елементами. Розроблено математичну модель векторизованої операції згортки, яка враховує специфіку розріджених матриць ядер згортки. Експериментальне дослідження на платформі Orange Pi 5 Pro продемонструвало значне прискорення порівняно з функцією cv::filter2D() бібліотеки OpenCV: для ядер середнього розміру (7×7 – 11×11) досягнуто прискорення в 5,0–9,7 разів, для великих ядер (12×12 – 15×15) – в 1,7–5,5 разів. Запропонований метод особливо ефективний для обробки зображень високої роздільної здатності та може бути застосований у системах реального часу на одноплатних комп'ютерах з обмеженими обчислювальними ресурсами.

Посилання

Приставка П. О., Шевченко А. К. Дослідження реалізації лінійного оператора згортки цифрового зображення при 16-бітних обчисленнях. Проблеми програмування. 2016. № 2-3. С. 207–217. DOI: 10.15421/431608.

Shevchenko A., Tymchyshyn V. A SIMD-based approach to the enhancement of convolution operation performance. International Workshop on Conflict Management in Global Information Networks (CMiGIN 2019) : proceedings, Lviv, Ukraine, November 29, 2019 / 2019. P. 447–458. URL: https://ceur-ws.org/Vol-2588/paper37.pdf

Shevchenko A., Prystavka P., Tymchyshyn V. Research on Possible Convolution Operation Speed Enhancement via AArch64 SIMD. Lecture Notes on Data Engineering and Communications Technologies. Vol. 134. Advances in Computer Science for Engineering and Education / ed. by Z. Hu et al, 2022. P. 61–75. DOI: doi.org/10.1007/978-3-031-04812-8_6.

Fog A. Optimizing software in C++: An optimization guide for Windows, Linux and Mac platforms. Copenhagen : Copenhagen University College of Engineering, 2024. URL : https://www.agner.org/optimize/optimizing_cpp.pdf (access date: 26.05.2025.)

Universal intrinsics / OpenCV 4.x Main Documentation. URL: https://docs.opencv.org/4.x/d6/dd1/tutorial_univ_intrin.html. (access date 26.05.2025.)

HAL (Hardware Acceleration Layer) Explanations / OpenCV GSoC 2016 ideas ; GitHub. URL: https://github.com/opencv/opencv/wiki/GSoC_2016_ideas_HAL_Explanations (access date: 26.05.2025.)

##submission.downloads##

Опубліковано

2025-06-01

Номер

Розділ

Статті