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