Підвищення швидкодії операції згортки 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##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Науковий журнал дотримується принципів відкритого доступу (Open Access) та забезпечує вільний, негайний і постійний доступ до всіх опублікованих матеріалів без фінансових, технічних або юридичних обмежень для читачів.
Усі статті публікуються у відкритому доступі відповідно до ліцензії Creative Commons Attribution 4.0 International (CC BY 4.0).
Авторські права
Автори, які публікують свої роботи в журналі:
-
зберігають за собою авторські права на свої публікації;
-
надають журналу право на перше опублікування статті;
-
погоджуються на поширення матеріалів за ліцензією CC BY 4.0;
-
мають право повторно використовувати, архівувати та поширювати свої роботи (у тому числі в інституційних та тематичних репозитаріях) за умови посилання на первинну публікацію в журналі.




