Научная статья на тему 'РАЗРАБОТКА АЛГОРИТМОВ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ МЕТОДА ВИНОГРАДА В ОБЩЕМ ВИДЕ И АНАЛИЗ ИХ ВЫЧИСЛИТЕЛЬНОЙ СЛОЖНОСТИ'

РАЗРАБОТКА АЛГОРИТМОВ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ МЕТОДА ВИНОГРАДА В ОБЩЕМ ВИДЕ И АНАЛИЗ ИХ ВЫЧИСЛИТЕЛЬНОЙ СЛОЖНОСТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
153
26
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦИФРОВАЯ ОБРАБОТКА ИЗОБРАЖЕНИЙ / ЦИФРОВАЯ ФИЛЬТРАЦИЯ / МЕТОД ВИНОГРАДА / ВЫЧИСЛИТЕЛЬНАЯ СЛОЖНОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ляхов Павел Алексеевич, Нагорнов Николай Николаевич, Семёнова Наталия Фёдоровна, Абдулсалямова Альбина Шихаевна

Стремительный рост количественных и качественных характеристик цифровых визуальных данных приводит к необходимости улучшения эксплуатационных показателей современных устройств обработки изображений. В данной работе предложены новые алгоритмы цифровой обработки двумерных изображений на основе метода Винограда в общем виде. Анализ полученных результатов показал, что использование метода Винограда сокращает вычислительную сложность обработки изображений до 84 % по сравнению с традиционным прямым методом цифровой фильтрации в зависимости от параметров фильтра и фрагментов изображения, не влияя при этом на качество обработки изображения. Составленные матрицы преобразования метода Винограда и разработанные алгоритмы могут быть использованы в системах обработки изображений для улучшения эксплуатационных характеристик современных микроэлектронных устройств, осуществляющих очистку от шума и сжатие изображений, а также распознавание образов. Перспективным направлением дальнейших исследований является аппаратная реализация разработанных алгоритмов на современных устройствах вычислительной техники, таких как программируемые пользователем вентильные матрицы и интегральные схемы специального назначения, разработка алгоритмов цифровой обработки изображений, используемой в сверточных нейронных сетях, на основе метода Винограда в общем виде для одномерных вейвлет-фильтров с децимацией и для свертки с шагом.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ляхов Павел Алексеевич, Нагорнов Николай Николаевич, Семёнова Наталия Фёдоровна, Абдулсалямова Альбина Шихаевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF DIGITAL IMAGE PROCESSING ALGORITHMS BASED ON THE WINOGRAD METHOD IN GENERAL FORM AND ANALYSIS OF THEIR COMPUTATIONAL COMPLEXITY

The fast increase of the amount of quantitative and qualitative characteristics of digital visual data calls for the improvement of the performance of modern image processing devices. This article proposes new algorithms for 2D digital image processing based on the Winograd method in a general form. An analysis of the obtained results showed that the use of the Winograd method reduces the computational complexity of image processing by up to 84 % compared to the traditional direct digital filtering method depending on the filter parameters and image fragments, while not affecting the quality of image processing. The resulting Winograd method transformation matrices and the algorithms developed can be used in image processing systems to improve the performance of the modern microelectronic devices that carry out image denoising, compression, and pattern recognition. Research directions that show promise for further research include hardware implementation on a field-programmable gate array and application-specific integrated circuit, development of algorithms for digital image processing based on the Winograd method in a general form for a 1D wavelet filter bank and for stride convolution used in convolutional neural networks.

Текст научной работы на тему «РАЗРАБОТКА АЛГОРИТМОВ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ МЕТОДА ВИНОГРАДА В ОБЩЕМ ВИДЕ И АНАЛИЗ ИХ ВЫЧИСЛИТЕЛЬНОЙ СЛОЖНОСТИ»

Разработка алгоритмов цифровой обработки изображений на основе метода Винограда в общем виде и анализ их вычислительной сложности

П.А. Ляхов1-2, Н.Н. Нагорнов1, Н.Ф. Семёнова1, А.Ш. Абдулсалямова 2 1 Северо-Кавказский федеральный университет, 355017, Россия, г. Ставрополь, ул. Пушкина, д. 1;

2 Северо-Кавказский центр математических исследований, 355017, Россия, г. Ставрополь, ул. Пушкина, д. 1

Аннотация

Стремительный рост количественных и качественных характеристик цифровых визуальных данных приводит к необходимости улучшения эксплуатационных показателей современных устройств обработки изображений. В данной работе предложены новые алгоритмы цифровой обработки двумерных изображений на основе метода Винограда в общем виде. Анализ полученных результатов показал, что использование метода Винограда сокращает вычислительную сложность обработки изображений до 84 % по сравнению с традиционным прямым методом цифровой фильтрации в зависимости от параметров фильтра и фрагментов изображения, не влияя при этом на качество обработки изображения. Составленные матрицы преобразования метода Винограда и разработанные алгоритмы могут быть использованы в системах обработки изображений для улучшения эксплуатационных характеристик современных микроэлектронных устройств, осуществляющих очистку от шума и сжатие изображений, а также распознавание образов. Перспективным направлением дальнейших исследований является аппаратная реализация разработанных алгоритмов на современных устройствах вычислительной техники, таких как программируемые пользователем вентильные матрицы и интегральные схемы специального назначения, разработка алгоритмов цифровой обработки изображений, используемой в сверточных нейронных сетях, на основе метода Винограда в общем виде для одномерных вейвлет-фильтров с децимацией и для свертки с шагом.

Ключевые слова: цифровая обработка изображений, цифровая фильтрация, метод Винограда, вычислительная сложность.

Цитирование: Ляхов, П.А. Разработка алгоритмов цифровой обработки изображений на основе метода Винограда в общем виде и анализ их вычислительной сложности / П.А. Ляхов, Н.Н. Нагорнов, Н.Ф. Семёнова, А.Ш. Абдулсалямова // Компьютерная оптика. - 2023. -Т. 47, № 1. - С. 68-78. - DOI: 10.18287/2412-6179-CO-1146.

Citation: Lyakhov PA, Nagornov NN, Semyonova NF, Abdulsalyamova AS. Development of digital image processing algorithms based on the Winograd method in general form and analysis of their computational complexity. Computer Optics 2023; 47(1): 68-78. DOI: 10.18287/2412-6179-CO-1146.

Введение

Цифровая обработка изображений широко используется в различных областях современной науки и техники [1]. Основой многих методов обработки изображений является многократное использование цифровой фильтрации, имеющей высокую вычислительную сложность. Устройства обработки изображений не поспевают за стремительным ростом количественных и качественных характеристик цифровых визуальных данных [2, 3]. Одной из самых активно решаемых задач современной науки является разработка и развитие методов и средств для улучшения качественных и эксплуатационных показателей устройств цифровой обработки изображений. Проработано множество подходов, в числе которых распараллеливание вычислений [4], использование различных аппаратных ускорителей [5] и так далее.

В данной статье рассмотрены методы цифровой фильтрации изображений. Различают фильтры нечетно-

го и четного порядков, содержащие нечетное и четное количество коэффициентов соответственно. Цифровая фильтрация прямым методом при использовании фильтра нечетного порядка представима в виде

(г-1))2 (г-1))2

12 (х, У)= X X 71 ( + ', У + У ) (, У ),

<=-(г-1)/2 1=-(г-1)/2

где II и 12 - исходное и обработанное двумерные изображения соответственно; х и у - номера строки и столбца пикселя, обрабатываемого фильтром с маской Я размера г х г. Цифровая фильтрация прямым методом при использовании фильтра четного порядка представима в виде

Ёг/ 2

X II (х +1,у + })Я(,у).

г=-г) 2+1 ]=-г/ 2+1

Примерами фильтров нечетного и четного порядков являются фильтры сверточных слоев нейронной сети

[6] и тензорные вейвлеты [7] соответственно. Схема цифровой фильтрации прямым методом представлена на рис. 1, где фильтр с маской Я размера 3*3 используется для получения фрагмента М размера 1*1 из фрагмента N размера 3*3. Размер маски фильтра при использовании прямого метода совпадает с размером фрагментов, на которые делится исходное изображение для обработки.

Цифровой фильтр И размера 3x3

Исходное изображение /, Обработанное изображение /2

и фрагмент N размера 3x3 и фрагмент М размера 1x1

Рис. 1. Схема цифровой фильтрации прямым методом

В качестве современной альтернативы классическому прямому методу фильтрации используется метод Винограда [8], основанный на матричном умножении и позволяющий значительно снизить вычислительную сложность обработки изображений за счет групповой обработки пикселей. Обработанное изображение собирается не из совокупности отдельных пикселей, а из фрагментов некоторого размера, что позволяет уменьшить количество вычислительно сложных операций умножения за счет увеличения количества операций сложения. При этом качество обработки изображения остается неизменным [8]. Схема цифровой фильтрации методом Винограда представлена на рис. 2, где фильтр с маской Я размера г * г используется для получения фрагмента М размера т * т из фрагмента N размера п * п, где п = т + г -1. Метод Винограда для фильтра Я и фрагментов М принято обозначать как /•'(/;/ х пи г х г).

Цифровой

Исходное изображение /, Обработанное изображение /2

и фрагмент N размера п*п и фрагмент М размера тхт

Рис. 2. Схема цифровой фильтрации методом Винограда Е (т х т, г х г)

Метод Винограда активно используется для снижения вычислительной сложности и повышения скорости работы различных алгоритмов нейросетевой обработки изображений [5]. В статье [9] предложенные алгоритмы цифровой фильтрации на основе метода Винограда для сверточных слоев нейронных сетей показали превосходство над быстрым преобразованием Фурье по скорости работы глубокой нейронной сети при обработке больших массивов визуальных данных. Данный подход был расширен и обобщен на случаи обработки одномерных, двумерных и

трехмерных сигналов сверточной нейронной сетью [10]. На базе данных исследований разработаны различные архитектуры [11] и аппаратные ускорители [12 - 14] для высокопроизводительной реализации алгоритмов нейросетевой обработки изображений на основе метода Винограда. В работе [15] предложена архитектура цифрового фильтра с использованием метода Винограда в системе остаточных классов, аппаратная реализация которого позволила повысить скорость обработки изображений за счет повышения аппаратных и энергетических затрат. Несмотря на активное применение, в каждой из изученных работ рассматриваются только один или несколько частных случаев использования метода Винограда Е(т * т, г * г) для конкретных размера г * г цифрового фильтра и размера т * т фрагментов изображения. Алгоритмы обработки изображений на основе метода Винограда в общем виде еще не разработаны.

Целью данной работы является разработка алгоритмов обработки двумерных изображений на основе метода Винограда Е(т * т, г * г) в общем виде для любых значений размера г * г маски фильтра Я и размера т * т фрагментов М обработанного изображения, а также анализ вычислительной сложности этих алгоритмов и сравнение с прямым методом при использовании двумерных фильтров нечетного и четного порядков.

Дальнейшая часть статьи организована следующим образом. В параграфе 1 представлены разработанные алгоритмы метода Винограда для обработки изображений. В параграфе 2 проведен анализ вычислительной сложности алгоритмов при различных условиях их использования и сравнение с прямым методом. В заключении подведены итоги исследования и сделаны выводы. В приложении А представлены матрицы обработки изображений, полученные при использовании алгоритмов и примененные для анализа вычислительной сложности метода Винограда.

1. Алгоритмы построения матриц преобразования для метода Винограда в общем виде

Фильтрация изображения методом Винограда в матричной форме имеет вид [8]

М = Ат ((ОЯОт )© (БтШ))А, (1)

где М - фрагмент обработанного изображения размера т * т; Я - маска фильтра размера г * г; N - фрагмент исходного изображения размера п * п, где п = т + г -1; Ат, О, От, Бт, Б, А - матрицы преобразования размеров т * п, п * г, г * п, п * п, п * т, т * т соответственно; О - оператор поэлементного умножения матриц. В обозначении метода Винограда Е (т * т, г * г) указываются размер т * т фрагментов обработанного изображения и размер г * г маски фильтра, так как от них зависят размеры всех остальных матриц и фрагментов изображения.

Для составления матриц преобразования нужно выбрать п точек ьо, 51,..., ьп _ 2, ьп _ 1, чтобы построить интерполяционный многочлен Лагранжа Ь [16]. На основе значений точек данного многочлена составляется матрица Вандермонда V [17] размера п х п, имеющая следующий общий вид

( с0 50

V =

5о2

5 о

лп-2

5п-2

5п-2

о о

си-2

п-1 \

си-2 лп-2

лп-2

где значения элементов последней строки вычисляются как предел отношения к ьп-1 при ьп _ да.

Пример 1. Пусть выбраны п = 6 точек ьо=о, =1, = -1, ь3 = 2, ь4 = _2, ь5 = да для многочлена Ь. Тогда матрица V имеет вид

V =

о

0

1 -1

2 -2 о

0

1 -1

о

0

1 1

16 16 о

0 ^

1 -1 32

-32 1

Далее по известным значениям г, т и п, а также по матрице V составляются матрицы преобразования АТ размера т х п, О размера п х г, ВТ размера п х п. Для получения матрицы АТ выберем из матрицы V первые т строк и п столбцов. Заменив элемент, стоящий в последней строке и последнем столбце на 1, получим матрицу АТ. Процесс составления матрицы АТ представлен в виде алгоритма 1.

Алгоритм 1. Составление матрицы преобразования АТ

для фильтрации изображений методом Винограда_

Входные данные: матрица Вандермонда V_

Выходные данные: матрица преобразования АТ_

1: рассчитать УТ

2: АТ(г,у) = V(г,у), где , = 1,т и у = 1,п

3: АТ (т, п) = 1_

Для получения матрицы О выберем из матрицы V первые п строк и г столбцов. Составим диагональную матрицу из наименьших общих кратных знаменателей элементов строк обратной транспонированной матрицы V. Разделим каждую строку матрицы, выбранной из V, на соответствующий отличный от нуля элемент диагональной матрицы. Заменив в полученной матрице элемент, стоящий в последней строке и последнем столбце, на 1, получим матрицу О. Вычисление знаменателей элементов строк матрицы реализуется с помощью операции

ёеп (х) =

1, х е 2, q, х е Q \ 2,

где х - элемент матрицы, q - знаменатель элементов строки матрицы, 2 - множество целых чисел, Q \ 2 -множество рациональных чисел с исключением целых. Вычисление наименьшего общего кратного знаменателей элементов строк матрицы реализуется с помощью операции

ЬСМ (, х2,..., х, ) = ЬСМ (ЬСМ (, х2,..., х,-1), х,).

Процесс составления матрицы О представлен в виде алгоритма 2.

Алгоритм 2. Составление матрицы преобразования О

для фильтрации изображений методом Винограда_

Входные данные: матрица Вандермонда V_

Выходные данные: матрица преобразования О_

рассчитать V-Т

для г от 1 до п для у от 1 до п

у1 = аеп^-Т(и у)) конец =ЬСМ {у} конец

О(г,у) = V(г,у)/г, где , = 1,п и у = 1,г О (п, г) = 1

Для составления матрицы ВТ построим диагональную матрицу из наименьших общих кратных знаменателей элементов строк обратной транспонированной матрицы V. Умножим каждую строку обратной транспонированной матрицы на соответствующий отличный от нуля элемент диагональной матрицы и получим матрицу ВТ. Вычисление знаменателей элементов строк матрицы и их наименьшего общего кратного реализуется с помощью операций, описанных в алгоритме 2. Процесс составления матрицы ВТ представлен в виде алгоритма 3.

Алгоритм 3. Составление матрицы преобразования ВТ

для фильтрации изображений методом Винограда_

Входные данные: матрица Вандермонда V_

Выходные данные: матрица преобразования ВТ_

рассчитать V-Т

для , от 1 до п для у от 1 до п

у1 = аеп^-Т(,, у)) конец = ЬСМ {у} конец

ВТ(г,у) = V-Т (г,у) /г, где , = 1,п и у = 1,п

Далее транспонируем составленные матрицы АТ, О и ВТ. Получим матрицы преобразования А, ОТ и В соответственно.

Пример 2. Пусть мы имеем фильтр размера 3 х 3 (г = 3), а обработанное изображение будет состоять из

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

фрагментов 2*2 (т = 2). В этом случае для обработки изображения его понадобится разделять на фрагменты размера 4 *4 (п = т + г -1 = 2 + 3 -1 = 4). При использовании точек 50 = 0, 51 = 1, 52 = -1, = да для построения многочлена Ь и составления матрицы V, матрицы преобразования Ат, О и Бт, составленные по алгоритмам 1- 3, и их транспонированные версии А, От и Б имеют вид

' 1 0

0 ^

Ат =

1 -1

О =

0

Г 1 0 -1 0>

0 1 1 0

Бт = , А =

0 -1 1 0

V 0 -1 0 ъ V

Г1 1/2 1/2 0 >

От = 0 1/2 -1/2 0 , Б

V 0 1/2 1/2

1/2 1/2 1/2 1/2 -1/2 1/2 0 1

0 ^ 1 -1 1

Г 1 0 0 01

0 1 -1 -1

-1 1 1 0

V 0 0 0 1

Матрицы преобразования Ат, О, Бт, А, От, Б, составленные в примере 2 с использованием алгоритмов 1 - 3 для случая Е(2 * 2, 3 * 3), имеют широкое практическое применение, что подтверждается их использованием при проведении исследований в работах [9, 11, 12, 18]. Системы обработки изображений используют множество различных фильтров для обработки изображений разного размера. В результате размеры фрагментов исходного и обработанного изображения могут варьироваться в зависимости от конкретных параметров системы. Элементы матриц преобразования, помимо перечисленного, зависят еще и от выбора точек многочлена Лагранжа. Все указанные факты и закономерности влияют на вычислительную сложность обработки изображений. Далее представлены результаты анализа вычислительной сложности метода Винограда при обработке изображения масками фильтров разного размера, с использованием различных размеров фрагментов исходного и обработанного изображений и нескольких наборов точек многочлена Лагранжа для составления матрицы Вандермонда и матриц преобразования.

2. Анализ вычислительной сложности цифровой фильтрации изображений методом Винограда

Вычислительная сложность цифровой фильтрации изображений методом Винограда Е (т * т, г * г) в основном зависит от значений г и т, определяющих количество элементов матриц, а следовательно, и число необходимых умножений и сложений. Однако еще одним важным фактором является выбор значений точек 50, 51,..., 5'п - 2, 5'п -1, так как на их основе строятся все используемые матрицы преобразования. В данной

статье рассмотрены случаи обработки изображений с разными размерами т * т (т = 2, 3, 4, 5) обрабатываемых фрагментов и масок фильтра г * г (г = 3, 4) при использовании трех наборов точек многочлена Ла-гранжа Ь для построения матриц Вандермонда V. Наборы точек и матрицы преобразования Ат, О, Бт, построенные с использованием алгоритмов 1 - 3, представлены в приложении А и могут быть использованы для разработки методов и алгоритмов обработки изображений на основе метода Винограда. На основе полученных матриц преобразования составлена табл. 1, содержащая результаты подсчета количества умножений и сложений, необходимых для цифровой фильтрации изображений прямым методом и методом Винограда для всех рассмотренных случаев. Количество умножений для каждого фрагмента в таблице рассчитано следующим образом.

1. При использовании прямого метода количество умножений, необходимых для получения фрагмента обработанного изображения, равно числу г2 коэффициентов фильтра, так как размер фрагмента исходного изображения совпадает с размером используемого фильтра. Например, при обработке изображения фильтром размера 3* 3 мы используем фрагменты изображения аналогичного размера и умножаем 32 = 9 значений яркости пикселей на 9 соответствующих коэффициентов фильтра.

2. При использовании метода Винограда количество умножений, необходимых для получения фрагмента обработанного изображения, равно числу пикселей п2 фрагмента исходного изображения, так как матричное умножение ОЯОт в формуле (1) выполняется предварительно при известных значениях коэффициентов фильтров, и результат данного умножения, как и матрицы преобразования Ат, Бт, А, Б, хранится в памяти устройства в виде констант, а умножение на константу сводится к масштабированию и сложению. Например, для умножения числа на константу 5, имеющую в двоичной системе счисления вид 1012, нужно масштабировать это число на два бита влево и сложить с исходным числом. Масштабирование чисел не требует значимых вычислительных ресурсов для своего выполнения. Таким образом все умножения матриц, кроме поэлементного, реализуются с помощью сложений, а поэлементное умножение выполняется единожды для двух матриц размера п * п. Например, при обработке изображения методом Винограда Е(2 * 2, 3 * 3) исходное изображение делится на фрагменты размера 4 * 4 и количество умножений для получения одного фрагмента обработанного изображения равно 42 = 16.

Количество сложений для каждого фрагмента в таблице рассчитано следующим образом.

1. При использовании прямого метода количество сложений, необходимых для получения фрагмента обработанного изображения, равно числу умножений, уменьшенному на единицу. Например,

при обработке изображения фильтром размера 3* 3 мы умножаем 32 = 9 значений яркости пикселей на 9 соответствующих коэффициентов фильтра и складываем полученный результат с использованием 9 - 1 = 8 сложений. При этом дополнительных сложений не требуется, так что общее число сложений равно числу основных сложений.

2. При использовании метода Винограда количество основных сложений, необходимых для получения фрагмента обработанного изображения, равно сумме числа сложений ненулевых элементов матрицы по строкам, умноженной на сумму числа строк и столбцов этой матрицы по матрицам преобразования Ат и Бт, так как в формуле (1) данные матрицы являются первыми множителями, а их транспонированные версии Б и А - вторыми. В примере 2 при обработке изображения методом Винограда Е (2 * 2, 3 * 3) в каждой из строк матрицы Ат размера 2* 4 по три ненулевых элемента и для каждой из этих строк нужно по два суммирования, а в каждой из строк матрицы Бт размера 4 * 4 по два ненулевых элемента и для каждой из этих строк нужно по одному суммированию, поэтому количество основных сложений равно (2 + 2) (2 + 4) + (1+1+1+1)(4 + 4) = 56.

3. При использовании метода Винограда количество дополнительных сложений, необходимых для получения фрагмента обработанного изображения, равно количеству единиц элемента матрицы в его двоичной записи, уменьшенному на единицу и умноженному на сумму числа строк и столбцов этой матрицы по каждому ненулевому элементу матриц Ат и Бт, отличному от степени двойки без учета знака. В случае 2 из приложения А, при обработке изображения методом Винограда Е (3 * 3, 3 * 3) в матрице Бт имеется один ненулевой элемент 3, отличный от степени двойки. В двоичной записи этого числа присутствует две единицы 3 = 112, следовательно, оно требует одной дополнительной операции сложения при каждом использовании. Данное число будет использоваться 5 + 5 раз (сумма числа строк и столбцов матрицы Бт), поэтому количество дополнительных сложений равно 1-(5 + 5) = 10.

4. Общее количество сложений равно сумме количества основных и дополнительных сложений.

При использовании метода Винограда мы получаем на выходе не значение яркости одного пикселя, а набор значений яркости группы пикселей, принадлежащих фрагменту размера т * т. Некорректно говорить о количестве умножений и сложений, необходимых для обработки одного отдельно взятого пикселя, так как для расчета значения его яркости нужно обработать весь фрагмент целиком. В то же время фрагменты обработанного изображения при использовании прямого метода всегда имеют размер 1* 1. Для корректного сравнения вычислительной сложности прямого метода и метода Винограда в рамках данной статьи введем понятие удельного веса пикселя обрабо-

танного изображения, вычисляемого делением количества операций (умножений или сложений), необходимых для получения фрагмента обработанного изображения, на количество пикселей m2 данного фрагмента. В примере 2 при обработке изображения методом Винограда F (2 х 2, 3 х 3) количество умножений для получения одного фрагмента обработанного изображения 42=16, а число пикселей фрагмента 2х 2 обработанного изображения 22 = 4, тогда удельный вес пикселя по умножениям равен 16 / 4 = 4.

Для оценки времени работы микроэлектронного устройства, реализующего цифровую обработку изображений, воспользуемся методикой, основанной на подсчете количества срабатываний базовых логических элементов «и», «или» [19]. Время срабатывания одного такого элемента будем считать условной единицей (у.е.). В соответствии с этой методикой время выполнения умножения и сложения двух к-битных чисел на современных устройствах вычислительной техники при использовании для сложений одного из самых быстрых сумматоров, а именно Kogge-Stone adders (KSA) [20], а для умножений бинарного дерева из KSA без ускоряющих техник (например, деревьев Уоллеса и Дадда [21]), равно 8,8 log2 к + 5 и 2log2 к+4 [22] соответственно. Сравним время выполнения фильтрации при использовании прямого метода и метода Винограда на основе значений удельных весов пикселя по умножениям и сложениям, представленных в табл. 1. Например, время обработки изображения методом Винограда F (2 х 2, 3 х 3) с удельными весами пикселя по умножениям и сложениям 4 и 14 соответственно будет равно 4-(8,8 log2 к + 5) + 14-(2 log2 к + 4) = 63,2 log2 к+76. При обработке изображений с глубиной цветовых каналов, равной 8, цифровым фильтром с 8-битными коэффициентами получим 63,2 log2 8 +76 = 265,6. Изображения с 8-битными цветовыми каналами являются наиболее распространенными и получаемыми с использованием мобильных устройств и цифровых фотоаппаратов. Результаты расчета времени фильтрации изображений при использовании прямого метода и метода Винограда представлены в табл. 2, получены с допущениями и требуют проверки на современных устройствах вычислительной техники, таких как программируемые пользователем вентильные матрицы (field-programmable gate arrays, FPGAs) и интегральные схемы специального назначения (application-specific integrated circuits, ASICs).

На основе полученных результатов, представленных в табл. 1 и 2, сделаны следующие выводы.

1. Использование метода Винограда позволило уменьшить вычислительную сложность цифровой фильтрации изображений асимптотически от 55,56 % до 84,00 % по сравнению с прямым методом, в зависимости от размеров фильтра и фрагментов изображения, а также выбранного многочлена Лагранжа. При этом качество обработки изображения осталось неизменным.

Табл. 1. Количество умножений и сложений при обработке изображений прямым методом и методом Винограда для различных фильтров, различных фрагментов изображения и различных наборов точек многочлена Лагранжа

Фильтр Метод Количество пикселей фрагмента обработанного изображения Многочлен Лагранжа Для каждого фрагмента Удельный вес пикселя

№ а н е же 0 Я 1 Сложения Умножения Сложения

Основные Допол-нитель-ные Всего Основные Допол-нитель-ные Всего

Фильтр нечетного порядка размера 3 х 3 Прямой 1 _ 9 8 0 8 9,00 8,00 0,00 8,00

Е (2 х 2, 3 х 3) 4 Ь1, Ь2, Ь 16 56 0 56 4,00 14,00 0,00 14,00

Е (3 х 3, 3 х 3) 9 Ь1, Ь2, Ь 25 174 10 184 2,78 19,33 1,11 20,44

F (4 х 4, 3 х 3) 16 Ь1, Ь2, Ь 64 332 24 356 2,25 20,75 1,50 22,25

Фильтр четного порядка размера 4 х 4 Прямой 1 _ 16 15 0 15 16,00 15,00 0,00 15,00

Е (2 х 2, 4 х 4) 4 Ь1, Ь2, Ь 25 138 10 148 6,25 34,50 2,50 37,00

Е (3 х 3, 4 х 4) 9 Ь1, Ь2, Ь 36 291 24 315 4,00 32,33 2,67 35,00

Е (4 х 4, 4 х 4) 16 и 49 590 391 981 3,06 36,88 24,44 61,31

Ь2, Ь3 49 576 196 772 3,06 36,00 12,25 48,25

Е (5 х 5, 4 х 4) 25 Ь1 64 927 854 1781 2,56 37,08 34,16 71,24

Ь2, Ь3 64 927 320 1247 2,56 37,08 12,80 49,88

Табл. 2. Время фильтрации изображений прямым методом и методом Винограда для различных фильтров, различных фрагментов изображения и различных наборов точек многочлена Лагранжа

Размер фильтра Метод Многочлен Лагранжа Время выполнения фильтрации, у.е.

В общем случае При к=8

3 х 3 Прямой _ 95,2 10^2 к + 67 352,60

Е (2 х 2, 3 х 3) Ь1, Ь2, Ьъ 63,2 10^2 к + 76 265,60

Е (3 х 3, 3 х 3) Ь\, Ь2, Ь3 65,34 10^2 к + 95,66 291,68

Е (4 х 4, 3 х 3) Ь1, Ь2, Ь3 64,3 10^2 к + 100,25 293,15

4 х 4 Прямой _ 170,8 10^2 к + 140 652,40

Е (2 х 2, 4 х 4) Ь1, Ь2, Ь3 129 10^2 к + 179,25 566,25

Е (3 х 3, 4 х 4) Ь1, Ь2, Ь3 105,2 10^2 к + 160 475,60

Е (4 х 4, 4 х 4) Ь1 149,55 10^2 к + 260,54 709,19

Ь2, Ь3 123,43 10^2 к + 208,3 578,59

Е (5 х 5, 4 х 4) Ь1 165,01 10^2 к + 297,76 792,79

Ь2, Ь3 122,29 10^2 к + 212,32 579,19

2. При этом время обработки изображения с глубиной цветовых каналов, равной 8, цифровым фильтром с 8-битными коэффициентами сократилось до 27,10 %. Для обоих рассмотренных фильтров наибольшее сокращение времени достигнуто при использовании фрагментов обработанного изображения размера на единицу меньше, нежели размер маски соответствующего фильтра, то есть для случаев Е (2 х 2, 3 х 3) и Е (3 х 3, 4 х 4).

3. Чем больше размер фрагментов изображения, тем меньше удельный вес пикселя по умножениям при цифровой фильтрации методом Винограда. При обработке фрагментов большого размера размер фильтра будет мал по отношению к ним, в результате чего удельный вес пикселя по умножениям будет немногим больше единицы. Например, при использовании фильтра размера 4 х 4 для обработки изображения с получаемыми на выходе фрагментами размеров 32 х 32 и 64 х 64, количество умножений будет 1,20 и 1,10 соответственно, в то время как прямой метод требует 16 умножений.

4. Четность порядка фильтра не оказывает значимого влияния на вычислительную сложность используемых методов цифровой фильтрации, в отличие от размера маски фильтра при его использовании для обработки фрагментов исходного изображения размера п х п, где п = 3,8.

5. Использование точек so,51,...,Sn_ 2, Sn-1 со значениями, отличными от степеней двойки, для построения интерполяционного многочлена Лагранжа Ь и составления матрицы Вандермонда V приводит к значительному увеличению числа дополнительных суммирований и увеличению вычислительной сложности метода Винограда.

6. Использование отрицательных степеней двойки в качестве значений точек 50,51,..., 5'п _ 2, 5'п -1 приводит к значительному увеличению числа масштабирований и усложняет проектирование устройств обработки изображений на основе метода Винограда.

Обобщая вышесказанное, использование метода Винограда позволяет значительно уменьшить вычислительную сложность методов цифровой обработки

изображений. При этом матрицы преобразования метода Винограда могут быть составлены с использованием разработанных алгоритмов 1 - 3 для любых: размера двумерного изображения; размера его фрагментов; размера и порядка маски двумерного фильтра. Составленные матрицы преобразования AT, G, BT, представленные в приложении А, могут быть использованы для разработки методов и алгоритмов обработки изображений на основе метода Винограда. Чем больше размер фрагментов изображения, тем выше эффективность метода Винограда. Выбор точек со значениями степеней двойки и противоположными им числами для построения многочлена Лагранжа L и составления матрицы Вандермонда V позволяет минимизировать количество дополнительных суммирований и уменьшить вычислительную сложность обработки изображений.

Перспективным направлением дальнейших исследований является аппаратная реализация разработанных алгоритмов на FPGA и ASIC, разработка алгоритмов цифровой обработки изображений на основе метода Винограда в общем виде для одномерных вейвлет-фильтров с децимацией и для свертки с шагом, используемой в сверточных нейронных сетях.

Заключение

Разработаны алгоритмы цифровой обработки двумерных изображений на основе метода Винограда в общем виде. Анализ полученных результатов показал, что использование метода Винограда сокращает вычислительную сложность цифровой фильтрации до 84 % по сравнению с традиционным прямым методом в зависимости от параметров фильтра и фрагментов изображения, не влияя при этом на качество обработки изображения. Составленные матрицы преобразования метода Винограда и разработанные алгоритмы могут быть использованы в системах обработки изображений для улучшения эксплуатационных характеристик современных микроэлектронных устройств, осуществляющих очистку от шума и сжатие изображений, а также распознавание образов. Перспективным направлением дальнейших исследований является аппаратная реализация разработанных алгоритмов на FPGA и ASIC, разработка алгоритмов цифровой обработки изображений на основе метода Винограда в общем виде для одномерных вейвлет-фильтров с децимацией и для свертки с шагом, используемой в сверточных нейронных сетях.

Благодарности

Авторы выражают благодарность СКФУ за помощь в рамках проекта поддержки малых научных групп и отдельных ученых. Исследование в параграфе 1 проведено в Северо-Кавказском центре математических исследований в рамках соглашения с Министерством науки и высшего образования Российской Федерации (соглашение № 075-02-2022-892). Иссле-

дование в параграфе 2 проведено при поддержке Российского научного фонда (проект № 21-71-00017).

References

[1] Gonzalez RC, Woods RE. Digital image processing. Pearson Education Limited; 2018.

[2] Rossinelli D, Fourestey G, Schmidt F, Busse B, Kurtcuoglu V. High-throughput lossy-to-lossless 3d image compression. IEEE Trans Med Imaging 2021; 40(2): 607620. DOI: 10.1109/TMI.2020.3033456.

[3] Smistad E, 0stvik A, Pedersen A. High performance neural network inference, streaming, and visualization of medical images using FAST. IEEE Access 2019; 7: 136310136321. DOI: 10.1109/ACCESS.2019.2942441.

[4] Avenido HGD, Crisostomo RV. Image reconstruction from a large number of projections in proton and 12C ions computed tomography using sequential and parallel ART algorithms. Procedia Comput Sci 2022; 197: 126-134. DOI: 10.1016/J.PROCS.2021.12.126.

[5] Mittal S, Vibhu. A survey of accelerator architectures for 3D convolution neural networks. J Syst Archit 2021; 115: 102041. DOI: 10.1016/J.SYSARC.2021.102041.

[6] Chervyakov NI, Lyakhov PA, Nagornov NN, Valueva MV, Valuev GV. Hardware implementation of a convolu-tional neural network using calculations in the residue number system. Computer Optics 2019; 43(5): 857-868. DOI: 10.18287/2412-6179-2019-43-5-857-868.

[7] Le NT, Wang J-W, Le DH, Wang C-C, Nguyen TN. Fingerprint enhancement based on tensor of wavelet subbands for classification. IEEE Access 2020; 8: 6602-6615. DOI: 10.1109/ACCESS.2020.2964035.

[8] Winograd S. Arithmetic complexity of computations. Philadelphia, Pennsylvania: Society for Industrial and Applied Mathematics; 1980. ISBN: 0-89871-163-0.

[9] Lavin A, Gray S. Fast algorithms for convolutional neural networks. 2016 IEEE Conf on Computer Vision and Pattern Recognition (CVPR) 2016: 4013-4021. DOI: 10.1109/CVPR.2016.435.

[10] Yepez J, Ko SB. Stride 2 1-D, 2-D, and 3-D Winograd for convolutional neural networks. IEEE Trans Very Large Scale Integr Syst 2020; 28(4): 853-863. DOI: 10.1109/TVLSI.2019.2961602.

[11] Mehrabian A, Miscuglio M, Alkabani Y, Sorger VJ, El-Ghazawi T. A Winograd-based integrated photonics accelerator for convolutional neural networks. IEEE J Sel Top Quantum Electron 2020; 26(1): 6100312. DOI: 10.1109/JSTQE.2019.2957443.

[12] Shen J, Huang Y, Wen M, Zhang C. Toward an efficient deep pipelined template-based architecture for accelerating the entire 2-D and 3-D CNNs on FPGA. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 2020; 39(7): 1442-1455. DOI: 10.1109/TCAD.2019.2912894.

[13] Wang X, Wang C, Cao J, Gong L, Zhou X. WinoNN: Optimizing FPGA-based convolutional neural network accelerators using sparse Winograd algorithm. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 2020; 39(11): 4290-4302. DOI: 10.1109/TCAD.2020.3012323.

[14] Wu D, Fan X, Cao W, Wang L. SWM: A highperformance Sparse-Winograd matrix multiplication CNN accelerator. IEEE Trans Very Large Scale Integr Syst 2021; 29(5): 936-949. DOI: 10.1109/TVLSI.2021.3060041.

[15] Valueva M, Lyakhov P, Valuev G, Nagornov N. Digital filter architecture with calculations in the residue number system by Winograd method F (2х2, 2х2). IEEE Access 2021; 9: 143331-143340. DOI: 10.1109/ACCESS.2021.3121520.

[16] Waring EFRS. VII. Problems concerning interpolations. Philos Trans R Soc 1779; 69: 59-67. DOI: 10.1098/RSTL.1779.0008.

[17] Horn RA, Johnson CR. Topics in matrix analysis. Cambridge: Cambridge University Press; 1991. ISBN: 978-0521-30587-7.

[18] Valueva MV, Lyakhov PA, Nagornov NN, Valuev GV. High-performance digital image filtering architectures in the residue number system based on the Winograd method. Computer Optics 2022; 46(5): 752-762. DOI: 10.18287/2412-6179-C0-933.

[19] Zimmerman, R. Binary adder architectures for cell-based VLSI and their synthesis. A dissertation thesis for the de-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

gree of Doctor of technical sciences. Konstanz Hartung-Gorre; 1998. Diss ETH No 12480.

[20] Kogge PM, Stone HS. A parallel algorithm for the efficient solution of a general class of recurrence equations. IEEE Trans Comput 1973; C-22(8): 786-793. DOI: 10.1109/TC.1973.5009159.

[21] Parhami B. Computer arithmetic: Algorithms and hardware designs. Oxford University Press; 2010.

[22] Lyakhov P, Valueva M, Valuev G, Nagornov N. Highperformance digital filtering on truncated multiply-accumulate units in the residue number system. IEEE Access 2020; 8: 209181-209190. DOI: 10.1109/ACCESS.2020.3038496.

Приложение А

Для построения матрицы Вандермонда V использованы следующие наборы точек интерполяционного многочлена Лагранжа Ь.

1. Ь на точках 0, 1, -1, 2, - 2, 3, - 3,..., I, - I, I + 1, - (I + 1),...,

2. Ь2 на точках 0, 1, -1, 2, - 2, 4, - 4,., 21, - 21, 21 + 1 - 21 +

3. Ьэ на точках 0, 1, -1, 2, - 2, 1/ 2, - 1/ 2,., 21, - 21, 1/ 21, - 1/ 21,...,

Случай 1. Метод Винограда Е (2 * 2, 3 * 3) будет одинаков для всех выбранных многочленов Лагранжа Ь\, Ь2 и Ь3. Матрицы преобразования Ат, О, Бт для данного случая представлены в Примере 2.

Случай 2. Метод Винограда Е (3 * 3, 3 * 3) будет одинаков для всех выбранных многочленов Лагранжа Ь\, Ь2 и Ь3. Используя Алгоритмы 1 - 3, построим матрицы Ат, О, Бт:

AT =

Г 1 0 0 > Г 2 -1 -2 1 01

(1 1 1 1 0 1 1/2 1/2 12 0 2 1 -1 0

0 1 - 1 2 0 , G = 1/6 -1/6 1/6 , BT = 0 -2 3 -1 0

V0 1 1 4 1/6 1/3 2/3 0 -1 0 1 0

V0 0 1у ,0 2 -1 -2 1,

Случай 3. Метод Винограда Е (4 * 4, 3 * 3) будет одинаков для всех выбранных многочленов Лагранжа Ь\, Ь2 и Ь3. Используя Алгоритмы 1 - 3, построим матрицы Ат, О, Бт:

AT =

Г V4 0 01 ' 4 0 -5 0 1 01

1 1 1 1 1 01 1/6 1/6 1/6 0 4 4 -1 -1 0

0 1 - 1 2 -2 0 , G = 1/6 -1/6 1/6 , BT = 0 -4 4 1 -1 0

0 1 1 4 4 0 1/24 1/12 1/6 0 -2 -1 2 1 0

0 1 - 1 8 -8 1/24 -1/12 1/6 0 2 -1 -2 1 0

, 0 0 b 4 0 -5 0 I

Случай 4. Метод Винограда Е (2 * 2, 4 * 4) будет одинаков для всех выбранных многочленов Лагранжа Ь\, Ь2 и Ь3. Используя Алгоритмы 1 - 3, построим матрицы Ат, О, Бт:

AT =

'1 1 1 0 1 -1

G =

1/2 0 0 01 (2 -1 -2 1 01

V2 12 1/2 V2 0 2 1 -1 0

1/6 -1/6 1/6 -1/6 , BT = 0 -2 3 -1 0

1/6 1/3 2/3 4/3 0 -1 0 1 0

0 0 0 1V ,0 2 -1 -2 I

Случай 5. Метод Винограда Е (3 * 3, 4 * 4) будет одинаков для всех выбранных многочленов Лагранжа Ь\, Ь2 и Ь3. Используя Алгоритмы 1 - 3, построим матрицы Ат, О, Бт:

AT =

1 1 1 1 1 01

0 1 -1 2 -2 0

0 1 1 4 4 I

О =

1/4 0 0 01

1/6 1/6 1/6 1/6

1/6 -1/6 1/6 -1/6

1/24 1/12 1/6 1/3

1/24 -1/12 У 6

0 0 0 1

ВТ =

Г 4 0

0 -4

0 -5 4 4

0 -2 -1

-1 -2 0 -5

0 1 01

-1 -1 0

1 -1 0

2 1 0

1 0

0 1

Случай 6. Метод Винограда Е (4 х 4, 4 х 4). Используя Алгоритмы 1_ 3, построим матрицы АТ, О, ВТ на основе многочлена Ь1:

Г11 11

АТ =

0 1 -1 0 1 1 0 1 -1

1

-2 4

3 9 27

1 01 0 0

1

О =

^12 0 0 0 > 12 -4 -15 5 3 -1 0

112 112 112 112 0 12 8 -7 -2 1 0

1/24 -124 124 -124 0 -12 16 -1 -4 1 0

1/24 112 1/6 1/3 , ВТ = 0 -6 -1 7 1 -1 0

1/120 -160 130 -115 0 6 -5 -5 5 -1 0

1/120 140 140 9/40 0 4 0 -5 0 1 0

0 0 0 1У ч 0 -12 4 15 -5 -3 1

Используя Алгоритмы 1 _ 3, построим матрицы АТ, О, ВТ на основе многочлена Ь2:

Г11 11

АТ =

0 1 -1 0 1 1 0 1 -1

1

-2 4

1 01

4 0

16 0

64 1

О =

г 116 0 0 0^ ' 16 -4 -20 5 4 -1 0

118 118 118 118 0 16 12 -8 -3 1 0

130 -130 130 -130 0 -16 20 0 -5 1 0

148 124 112 1/6 , ВТ = 0 -8 -2 9 2 -1 0

1144 -172 136 -118 0 8 -6 -7 6 -1 0

1720 1180 145 4/45 0 4 0 -5 0 1 0

V 0 0 0 ч 0 -16 4 20 -5 -4 1

Используя Алгоритмы 1 _ 3, построим матрицы АТ, О, ВТ на основе многочлена Ь3:

Г11 11

АТ =

0 1 -1 0 1 1 0 1 -1

1 1 0 1

-2 1/2 0

4 1/4 0

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

-8 1/8 1,

О =

' 1/4 0 0 0 > Г 4 -8 -5 10 1 -2 0

1/6 1/6 1/6 1/6 0 -4 4 9 -1 -2 0

118 -118 118 -118 0 -4 12 -7 -3 2 0

172 136 118 1/9 , ВТ = 0 2 -3 -4 3 2 0

1120 -160 130 -115 0 2 -5 0 5 -2 0

145 190 1180 1360 0 128 0 -160 0 32 0

V 0 0 0 V 0 -4 8 5 -10 -1 2

Случай 7. Метод Винограда Е (5 х 5, 4 х 4). Используя Алгоритмы 1_ 3, построим матрицы АТ, О, ВТ на основе многочлена Ь1:

АТ =

1 1 1 1 1 1 1 01

0 1 - 1 2 -2 3 -3 0

0 1 1 4 4 9 9 0

0 1 - 1 8 -8 27 -27 0

0 1 1 16 16 81 81 1

О =

136 0 0 01

148 148 148 148

148 -148 148 -148

1120 160 130 115

1120 -160 130 -115

1720 1240 180 3/80

1720 -1240 180 -180

0 0 0 1

вт =

Г 36 0 -49 0 14 0 - 1 01

0 36 36 -13 -13 1 1 0

0 -36 36 13 -13 -1 1 0

0 -18 -9 20 10 -2 - 1 0

0 18 -9 -20 10 2 - 1 0

0 12 4 -15 -5 3 1 0

0 -12 4 15 -5 -3 1 0

V 0 -36 0 49 0 -14 0 1

Используя Алгоритмы 1 - 3, построим матрицыАт, О, Вт на основе многочлена Ь2:

г v64

Ат =

1 1 1 1 1 1 1 0

0 1 - 1 2 -2 4 -4 0

0 1 1 4 4 16 16 0

0 1 - 1 8 -8 64 -64 0

0 1 1 16 16 256 256 1

Л

О =

190 1/90 1/288 У 288 1/5760 1/5760 0

0 0 01

190 1/90 1/90

-1/90 1/90 -1/90

1144 1/72 1/36

-1/144 1/72 -1/36

1/1440 1/360 1/90

-1/1440 1/360 -1/90

0 0 1.

' 64 0 -84 0 21 0 1 01

0 64 64 -20 -20 1 1 0

0 -64 64 20 -20 -1 1 0

Вт 0 -32 -16 34 17 -2 1 0

=

0 32 -16 -34 17 2 1 0

0 16 4 -20 -5 4 1 0

0 -16 4 20 -5 -4 1 0

,0 -64 0 84 0 -21 0

Используя Алгоритмы 1 - 3, построим матрицы

Г1 1 1 1 1 1 1 01

0 1 -1 2 -2 12 "12 0

Ат = 0 1 1 4 4 14 14 0 , О =

0 1 -1 8 -8 18 -18 0

,0 1 1 16 16 1/16 116

Г 4 0 -21 0 21 0 4 01

0 -4 -4 17 17 -4 4 0

0 4 -4 -17 17 4 4 0

Вт 0 2 1 -10 -5 8 4 0

=

0 -2 1 10 -5 -8 4 0

0 64 128 -80 -160 16 32 0

0 -64 128 80 -160 -16 32 0

,0 -4 0 21 0 -21 0 4.

, Вт на основе многочлена £3:

14 0 0 01

118 118 118 118

118 -118 118 -118

1360 1180 190 145

1360 -1180 190 -145

145 190 1180 1360

145 -190 1180 -1360

0 0 0 1.

т

Сведения об авторах

Ляхов Павел Алексеевич, 1988 года рождения, в 2009 году окончил Ставропольский государственный университет по специальности «Математика», кандидат физико-математических наук, заведующий кафедрой математического моделирования, факультет математики и компьютерных наук имени профессора Н.И. Червя-кова ФГАОУ ВО «Северо-Кавказский федеральный университет»; заведующий отделом модулярных вычислений и искусственного интеллекта, региональный научно-образовательный математический центр «СевероКавказский центр математических исследований». Область научных интересов: цифровая обработка сигналов и изображений, искусственный интеллект, нейронные сети, модулярная арифметика, параллельные вычисления, высокопроизводительные вычисления, цифровые устройства, аппаратные ускорители. E-mail: ljahov@mail.ru .

Нагорнов Николай Николаевич, 1992 года рождения, в 2014 году окончил ФГАОУ ВО «СевероКавказский федеральный университет» по специальности «Прикладная математика и информатика», кандидат технических наук, доцент кафедры математического моделирования, факультет математики и компьютерных наук имени профессора Н.И. Червякова ФГАОУ ВО «Северо-Кавказский федеральный университет». Область научных интересов: цифровая обработка изображений, модулярная арифметика, параллельные вычисления, высокопроизводительные вычисления, цифровые устройства, аппаратные ускорители. E-mail: sparta1392@mail.ru .

Семёнова Наталия Фёдоровна, 1951 года рождения, в 1972 году окончила физико-математический факультет Ставропольского государственного педагогического института, кандидат физико-математических наук, доцент кафедры математического моделирования, факультет математики и компьютерных наук имени профессора Н.И. Червякова ФГАОУ ВО «Северо-Кавказский федеральный университет». Область научных интересов: математическое моделирование, параллельные вычисления, система остаточных классов, модулярная арифметика, диагональная функция. E-mail: n03c51@yandex.ru .

Абдулсалямова Альбина Шихаевна, 2000 года рождения, бакалавриант 4 курса специальности «Математика и компьютерные науки» ФГАОУ ВО «Северо-Кавказский федеральный университет», лаборант отдела модулярных вычислений и искусственного интеллекта, региональный научно-образовательный математический центр «Северо-Кавказский центр математических исследований». Область научных интересов: цифровая обработка изображений, параллельные вычисления, высокопроизводительные вычисления, цифровые устройства. E-mail: a.abdulsalyamova@mail.ru .

ГРНТИ: 28.23.15

Поступила в редакцию 5 апреля 2022 г. Окончательный вариант - 29 июня 2022 г.

Development of digital image processing algorithms based on the Winograd method in general form and analysis of their computational complexity

P.A. Lyakhov12, N.N. Nagornov1, N.F. Semyonova1, A.S. Abdulsalyamova2 1 North-Caucasus Federal University, 355017, Stavropol, Russia, Pushkin street, 1;

2 North-Caucasus Center for Mathematical Research, 355017, Stavropol, Russia, Pushkin street, 1

Abstract

The fast increase of the amount of quantitative and qualitative characteristics of digital visual data calls for the improvement of the performance of modern image processing devices. This article proposes new algorithms for 2D digital image processing based on the Winograd method in a general form. An analysis of the obtained results showed that the use of the Winograd method reduces the computational complexity of image processing by up to 84 % compared to the traditional direct digital filtering method depending on the filter parameters and image fragments, while not affecting the quality of image processing. The resulting Winograd method transformation matrices and the algorithms developed can be used in image processing systems to improve the performance of the modern microelectronic devices that carry out image denoising, compression, and pattern recognition. Research directions that show promise for further research include hardware implementation on a field-programmable gate array and application-specific integrated circuit, development of algorithms for digital image processing based on the Winograd method in a general form for a 1D wavelet filter bank and for stride convolution used in convolutional neural networks.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Keywords: digital image processing, digital filtering, Winograd method, computational complexity.

Citation: Lyakhov PA, Nagornov NN, Semyonova NF, Abdulsalyamova AS. Development of digital image processing algorithms based on the Winograd method in general form and analysis of their computational complexity. Computer Optics 2023; 47(1): 68-78. DOI: 10.18287/2412-6179-CO-1146.

Acknowledgements: The authors thank the North-Caucasus Federal University for the award of funding in the contest of competitive projects of scientific groups and individual scientists of North-Caucasus Federal University. The research in section 1 was supported by the North-Caucasus Center for Mathematical Research under agreement with the Ministry of Science and Higher Education of the Russian Federation (Agreement No. 075-02-2022-892). The research in section 2 was supported by the Russian Science Foundation (Project No. 21-71-00017).

Authors' information

Pavel Alekseyevich Lyakhov (b. 1988) graduated from Stavropol State University, specialty "Mathematics" in 2009. PhD of Physical and Mathematical Sciences. Head of Mathematical Modeling department, North-Caucasus Federal University, Head of Modular Computing and Artificial Intelligence department, regional scientific and educational mathematical center «North-Caucasus Center for Mathematical Research». Research interests are digital signal and image processing, artificial intelligence, neural networks, modular arithmetic, parallel computing, high-performance computing, digital circuits and hardware accelerators. E-mail: Hahov@mail.ru .

Nikolay Nikolaevich Nagornov (b. 1992) graduated from North-Caucasus Federal University, specialty "Applied Mathematics and Computer Science" in 2014. PhD of Computer Sciences. Associate professor of Mathematical Modeling department, North-Caucasus Federal University. Research interests are digital image processing, modular arithmetic, parallel computing, high-performance computing, digital circuits and hardware accelerators. E-mail: sparta1392@mail.ru .

Nataliya Fedorovna Semyonova (b. 1951) graduated from Physics and Mathematics faculty of the Stavropol State Pedagogical Institute in 1972. PhD of Physical and Mathematical Sciences. Associate professor of Mathematical Modeling department, North-Caucasus Federal University. Research interests are mathematical modeling, parallel computing, residue number system, modular arithmetic, diagonal function. E-mail: n03c51@yandex.ru .

Albina Shikhaevna Abdulsalyamova (b. 2000) 4th year bachelor of the specialty "Mathematics and Computer Science" at the North-Caucasus Federal University. Laboratory assistant of Modular Computing and Artificial Intelligence department, regional scientific and educational mathematical center «North-Caucasus Center for Mathematical Research». Research interests are digital image processing, parallel computing, high-performance computing and digital circuits. E-mail: a.abdulsalyamova@mail.ru .

Received April 5, 2022. The final version - June 29, 2022.

i Надоели баннеры? Вы всегда можете отключить рекламу.