Библиотека
|
ваш профиль |
Программные системы и вычислительные методы
Правильная ссылка на статью:
Арзуманян Р.В., Сухинов А.И.
Теоретический анализ эффективности применения кривой Гильберта для задач обработки изображений фильтрами со скользящим окном
// Программные системы и вычислительные методы.
2017. № 3.
С. 61-69.
DOI: 10.7256/2454-0714.2017.3.23489 URL: https://nbpublish.com/library_read_article.php?id=23489
Теоретический анализ эффективности применения кривой Гильберта для задач обработки изображений фильтрами со скользящим окном
DOI: 10.7256/2454-0714.2017.3.23489Дата направления статьи в редакцию: 03-07-2017Дата публикации: 06-10-2017Аннотация: Предметом данной работы является теоретическое исследование свойств кривой Гильберта, которые позволяют организовать эффективный доступ к пикселам изображения при обработке фильтрами со скользящим окном, используя кривую Гильберта в качестве порядка обхода точек изображения. Эффект достигается за счёт уменьшения числа повторных обращений к памяти при обработке соседних пикселов изображения, а также за счёт равномерного распределения числа загруженных из памяти пикселов при горизонтальных и вертикальных шагах между пикселами изображения. Метод проведения работы – теоретическое исследование. Достоверность теоретических результатов подтверждается предыдущими экспериментальными работами, на которые ссылаются авторы. Новизна работы заключается в том, что в ней дано теоретическое обоснование полученных ранее экспериментальных результатов. Дана оценка сверху числа обращений к памяти, которых можно избежать при обходе точек изображения вдоль кривой Гильберта, в зависимости от размеров скользящего окна фильтра. Проведено сравнение с некоторыми другими непрерывными порядками обхода (такими как обход изображения по строкам и столбцам с переменой направления шага) с точки зрения количества загруженных пикселов изображения при вертикальном и горизонтальном шагах между пикселами с точки зрения распределения числа чтений при фильтрации. Ключевые слова: Гильбертова кривая, Обработка изображений, Фильтрация скользящим окном, Теоретический анализ, Высокая производительность, Производительность системы памяти, Шаблон чтения-записи, Непрерывный порядок обхода, Графические вычисления, Представление байтов изображенияAbstract: The subject of the present research is the theoretical research of Hilbert curve properties that allow to arrange an efficient access to image pixels during slider filter image processing by using Hilbert curve as a image point traversal order. The effect is achieved by means of reducing the number of repeated memory operations during adjacent image pixels and equally distributing restored pixels at horizontal and vertical steps between image pixels. The research method is the theoretical analysis. The validity of theoretical results is proved by previous experimental researches the authors of the present article refer to. The novelty of the research is caused by the fact that the authors give a theoretical substantiation of previous experimental researches. The authors give their evaluation of a number of memory operations that can be avoided during image point traverse along Hilbert curve depending on the size of a sliding filter. The authors also carry out a comparison with other continuous traversal orders (such as horizontal steps between pixels from the point of view of counting distribution of readings during filtration. Keywords: Hilbet curve, image processing, sliding image filter, theoretical analysis, high performance, memory bandwidth, memory access pattern, continuous traversal order, graphical computing, image memory layoutВведение. В последнее десятилетие наметились изменения в темпах прогресса в вычислительной технике – переход от экстенсивного роста частот к интенсивному наращиванию мощности [1] путём горизонтального масштабирования вычислительных систем. В этой связи, всё большее значение приобретает разработка локальных алгоритмов – тех, которые бы использовали для передачи данных низкоуровневые быстрые локальные каналы передачи данных [2,3]. Это необходимо потому, что скорость обмена информацией значительно ниже, чем скорость её обработки на современных компьютерах [4,5]. Ускорители вычислений с архитектурой массового параллелизма особенно нуждаются в таких алгоритмах, поскольку массовые обращения к глобальной памяти на таких устройствах приводят к значительным просадкам производительности [6]. Кривая Гильберта (далее КГ) является частным случаем кривой, заполняющей пространство. Впервые класс подобных кривых был рассмотрен в работе Пеано [7] в 1890 г. Пространственные кривые, заполняющие пространство можно рассматривать как непрерывное отображение
Цель работы. Цель данной работы – дать теоретическое объяснение эффективности применения КГ для задач обработки изображений фильтрами со скользящим окном, при условии применения упомянутой кривой для обхода точек изображения. Практическая эффективность подобного подхода была показана в предыдущих работах [14, 17], однако теоретическое обоснование подобного эффекта не было рассмотрено достаточно подробно. Постановка задачи. Для простоты обозначений, будем рассматривать изображения с соотношением сторон 1:1 и фильтры с квадратным скользящим окном. Пусть Основная часть. Рассмотрим группу точек изображения. Число точек в группе будем полагать равным Если представить P в двоичном виде, то единичные биты будут располагаться на местах: в том случае, если единичные биты в двоичном представлении в том случае, если в двоичном представлении Из этого следует, что прямоугольник с наименьшим периметром при заданной площади (квадрат) даёт наименьшее приращение площади при увеличении периметра. Физический смысл этого утверждения таков: при использовании фильтров со скользящим окном, приращение периметра равно размеру окна фильтрации. Если сгруппировать фильтруемые пикселы в квадрат, то нужно будет прочесть из памяти минимально возможное количество пикселов из окрестности для фильтрации. Данное свойство очень важно, поскольку производительность многие алгоритмов обработки изображений ограничена быстродействием памяти. Уменьшение числа чтений для таких алгоритмов позволяет повысить их производительность. Таким образом, кривая Гильберта обладает следующими свойствами, важными для применения её в качестве порядка обхода точек изображения: · Кривая Гильберта группирует · Если порядок кривой · Если порядок кривой · При большом порядке кривой, количество вертикальных и горизонтальных переходов можно считать равным. Точные формулы для расчёта числа переходов: Для любого фильтра с окном размера Приведём оценку числа пикселов, которые не нужно читать при обходе точек вдоль кривой Гильберта, по сравнению с растровым порядком обхода. Данные приведены для изображения размером 1024×1024 пиксела.
Так, из Таб. 1 видно, что для фильтров со скользящим окном размера 8х8 и 16х16, выигрыш составляет от 5.5% до 23.44% от общего числа точек изображения. Для того, чтобы избежать загрузки
Таблица 2: сравнение числа горизонтальных и вертикальных переходов при обходе точек изображения
В таблице 2 приведены оценки для числа горизонтальных и вертикальных переходов для описанных ранее порядков обхода точек изображения размера Кривая Гильберта является частным случаем кривой, при которой возможен непрерывный обход точек изображения, который минимизирует число повторных обращений к памяти за счёт повторного использования ранее загруженных пикселов в пределах окрестности окна фильтра. Свойство минимизации числа повторных обращений к памяти при обработке соседних точек расчётной области будем далее называть свойством локальности. Свойство локальности хорошо подходит для реализации алгоритмов на графических ускорителях с поддержкой вычислений общего назначения (далее GPGPU) – обращения к памяти из соседних потоков будут происходить к соседним адресам. Так как объём кэшей на GPGPU и ускорителях вычислений небольшой, а обращения к памяти - медленные, то использование алгоритмов с хорошим шаблоном доступа к памяти может существенно увеличить производительность. Однако, у предлагаемого способа есть недостаток – вычисление координаты точки по длине кривой в заданной точке является для графического процессора (далее GPU) неподходящей задачей, так как требует последовательных вычислений в цикле [13]. Кроме того, за счёт чередования направлений перехода, может падать эффективность использования кэша инструкций в том случае, если алгоритмы фильтрации различны для горизонтального и вертикального переходов. Практическая эффективность применения КГ для обхода точек изображения в задачах фильтрации изображения показана в работе [17]. Выводы. В данной работе было произведён анализ свойства пространственной локальности КГ в двумерном случае. Данное свойство определяет эффективность обхода точек изображения вдоль упомянутой кривой при обработке изображений фильтрами со скользящим окном за счёт минимизации числа обращений к памяти и повторного использования ранее прочитанных пикселов в пределах скользящего окна фильтра и чередования вертикальных и горизонтальных переходов между точками изображения в сравнении с другими непрерывными порядками обхода. Так же, дана оценка числа операций чтения из памяти, которых можно избежать при обходе точек изображения вдоль КГ в сравнении с растровой кривой. Было показано, что за счёт равного числа вертикальных и горизонтальных переходов, обход точек изображения вдоль КГ создаёт смешанный тип нагрузки на контроллер памяти в том случае, если чтение данных проходит через write-through кэш вычислителя, разбитый на линии, размер которых сопоставим с объёмом данных для одной строки пикселов в пределах окна фильтра.
Библиография
1. Гулякович Г. Н., Северцев В.Н., Шурчков И.О. Перспективы и проблемы полупроводниковой наноэлектроники // Инженерный вестник дона. 2012. №2.
2. Воеводин В.В., Воеводин Вл. В. Спасительная локальность суперкомпьютеров // Открытые системы.-2013.-№9.. 3. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления.-СПб.: БХВ-Петербург, 2002.-608 с. 4. Пономарева Е.И. Совершенствование процесса обработки данных при помощи облачных вычислений // Инженерный вестник дона. 2012. №1. 5. И. A. Николаев, А. И. Сухинов, О. Д. Харина. О распараллеливании треугольных итерационных методов на специализированной многопроцессорной системе// Автоматика и телемеханика, 1986, выпуск 5, с.135–142. 6. Гервич Л.Р., Штейнберг Б.Я. Программирование экзафлопных систем // Открытые системы.-2013.-№8. 7. Peano G. Sur une Courbe qui Remplit Toute une Aire Plane // Math. Ann.-1891.-№36.-С. 157-160. 8. Hilbert D. Uber die stetige Abbildung einer Linie auf Flachenstuck // Math. Ann..-1891.-№38.-С. 459-460. 9. Jagadish H. V. Linear Clustering of Objects with Multiple Attributes // Proc. ACM SIGMOD Conf..-1990.-№1.-С. 332-342. 10. Sagan H. A Three-Dimensional Hilbert Curve // Int'l J. Math. Ed. Science Technology.-1993.-№24.-С. 541-545. 11. Bially T. Space-filling curves: Their generation and their application to bandwidth reduction // IEEE Transactions on Information Theory.-1969.-№6.-С. 658–664. 12. Patrick E. A., Anderson D. R., Bechtel F. K. Mapping Multidimensional Space to One Dimension for Computer Output Display // IEEE Transactions on Computers.-1968.-№10.-С. 949–953. 13. Butz A. R. Alternative Algorithm for Hilbert’s Space-Filling Curve // IEEE Transactions on Computers..-1971.-№4.-С. 424-426. 14. Уоррен Г.С.-мл. Алгоритмические трюки для программистов.-2-е изд. – М.: Вильямс, 2013.-512 с. 15. Moon B., Jagadish H. V., Faloutsos C., Saltz J. H. Analysis of the clustering properties of the Hilbert space-filling curve // IEEE Transactions on Knowledge and Data Engineering..-2001.-№1.-С. 124-141. 16. Shaffer C. A. A Formula for Computing the Number of Quadtree Node Fragments Created by a Shift // Pattern Recognition Letters.-1988.-№1.-С. 45-49. 17. Арзуманян Р. В. Применение кривой Гильберта для обхода точек расчётной области в задачах обработки изображений // Инженерный вестник дона.-2015.-№4.-С. 949–953. References
1. Gulyakovich G. N., Severtsev V.N., Shurchkov I.O. Perspektivy i problemy poluprovodnikovoi nanoelektroniki // Inzhenernyi vestnik dona. 2012. №2.
2. Voevodin V.V., Voevodin Vl. V. Spasitel'naya lokal'nost' superkomp'yuterov // Otkrytye sistemy.-2013.-№9.. 3. Voevodin V. V., Voevodin Vl. V. Parallel'nye vychisleniya.-SPb.: BKhV-Peterburg, 2002.-608 s. 4. Ponomareva E.I. Sovershenstvovanie protsessa obrabotki dannykh pri pomoshchi oblachnykh vychislenii // Inzhenernyi vestnik dona. 2012. №1. 5. I. A. Nikolaev, A. I. Sukhinov, O. D. Kharina. O rasparallelivanii treugol'nykh iteratsionnykh metodov na spetsializirovannoi mnogoprotsessornoi sisteme// Avtomatika i telemekhanika, 1986, vypusk 5, s.135–142. 6. Gervich L.R., Shteinberg B.Ya. Programmirovanie ekzaflopnykh sistem // Otkrytye sistemy.-2013.-№8. 7. Peano G. Sur une Courbe qui Remplit Toute une Aire Plane // Math. Ann.-1891.-№36.-S. 157-160. 8. Hilbert D. Uber die stetige Abbildung einer Linie auf Flachenstuck // Math. Ann..-1891.-№38.-S. 459-460. 9. Jagadish H. V. Linear Clustering of Objects with Multiple Attributes // Proc. ACM SIGMOD Conf..-1990.-№1.-S. 332-342. 10. Sagan H. A Three-Dimensional Hilbert Curve // Int'l J. Math. Ed. Science Technology.-1993.-№24.-S. 541-545. 11. Bially T. Space-filling curves: Their generation and their application to bandwidth reduction // IEEE Transactions on Information Theory.-1969.-№6.-S. 658–664. 12. Patrick E. A., Anderson D. R., Bechtel F. K. Mapping Multidimensional Space to One Dimension for Computer Output Display // IEEE Transactions on Computers.-1968.-№10.-S. 949–953. 13. Butz A. R. Alternative Algorithm for Hilbert’s Space-Filling Curve // IEEE Transactions on Computers..-1971.-№4.-S. 424-426. 14. Uorren G.S.-ml. Algoritmicheskie tryuki dlya programmistov.-2-e izd. – M.: Vil'yams, 2013.-512 s. 15. Moon B., Jagadish H. V., Faloutsos C., Saltz J. H. Analysis of the clustering properties of the Hilbert space-filling curve // IEEE Transactions on Knowledge and Data Engineering..-2001.-№1.-S. 124-141. 16. Shaffer C. A. A Formula for Computing the Number of Quadtree Node Fragments Created by a Shift // Pattern Recognition Letters.-1988.-№1.-S. 45-49. 17. Arzumanyan R. V. Primenenie krivoi Gil'berta dlya obkhoda tochek raschetnoi oblasti v zadachakh obrabotki izobrazhenii // Inzhenernyi vestnik dona.-2015.-№4.-S. 949–953. |