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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Альтман Евгений Анатольевич, Захаренко Елена Игоревна, Васеева Татьяна Валериевна

В статье рассматриваются методы снижения числа операций при выполнении цифровой фильтрации изображения. Фильтры изображений основаны на математической операции двумерной свертки. Применяемая при фильтрации двумерная свертка имеет особенности - возможность предварительной обработки коэффициентов фильтра и большую разницу между количеством отчетов во входном сигнале и количеством коэффициентов в фильтре. В статье исследуются известные методы разложения двумерной свертки в несколько сверток с меньшим числом элементов применительно к задаче цифровой фильтрации. Для сравнения эффективности методов выводятся формулы для оценки количества операций, которые требуется выполнить для расчета реакции фильтра на один отсчет входного сигнала. С помощью этих формул определяются методы, требующие минимального числа операций при различных размерах ядра. На основании полученных результатов делается вывод о целесообразности применения метода вычисления двумерной свертки, основанного на разложении ее на 9 сверток половинной длины, для вычисления цифровых фильтров с ядрами среднего размера, начиная с размера 5 × 5. Сокращение числа требуемых операций при применении разложения при ядре 5 × 5 составляет 16 %, 7 × 7 - 27 %, 9 × 9 - 31 %. На основании приведенного в статье разложения двумерной свертки можно повысить быстродействие некоторых алгоритмов обработки изображений при разбиении изображения на несколько блоков размером, соответствующим ядру фильтра.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Альтман Евгений Анатольевич, Захаренко Елена Игоревна, Васеева Татьяна Валериевна

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

APPLICATION OF THE DECOMPOSITION METHOD OF TWO-DIMENSIONAL CONVOLUTION IN IMPLEMENTING DIGITAL FILTERS

The paper considers methods of reducing the number of operations while performing a digital image filtration. An image filter algorithm is based on the mathematical operation called two-dimensional convolution. The peculiarities of using a two-dimensional convolution for image filtration include a possibility of filter factor preprocessing and a big difference between the number of points in an image and kernel of the image filter. The authors analyze well-known methods of decomposition of two-dimensional convolution into several convolutions with fewer numbers of points as applied to image filtration. To compare a cost of the methods, we derived formulas to evaluate of the number of operations required to calculate a reaction of the image filter for one point (pixel). Using these formulas, we found methods with a minimal cost for various kernel sizes. Based on the results obtained, we conclude that the two-dimensional convolution method based on the decomposition of convolution into 9 half-size convolutions is quite appropriate for implementing image filters with a kernel size larger or equal to 5×5. Reducing the number of required operations when applying the decomposition with a 5×5 kernel gives 16 %, 7×7 - 27 %, 9×9 - 31 %. On the basis of the decomposition of a two-dimensional convolution in the paper, it is possible to increase the speed of some image processing algorithms when an image is divided into several blocks with a size corresponding to the filter kernel.

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

ISSN 1814-1196

http://journals.nstu.ru/vestnik Science Bulletin of the NSTU Vol. 69, No. 4, 2017, pp. 95-104

Научный вестник НГТУ том 69, № 4, 2017, с. 95-104

ОБРАБОТКА ИНФОРМАЦИИ

INFORMATION PROCESSING

УДК 004.929

Применение метода разложения

двумерной свертки при реализации

*

цифровых фильтров

Е.А. АЛЬТМАН1, Е.И. ЗАХАРЕНКО2, ТВ. ВАСЕЕВА3

1 644046, РФ, г. Омск, пр. Карла Маркса, 35, Омский государственный университет путей сообщения, кандидат технических наук, доцент. Е-mail: altmanea@ gmail.com

2 644046, РФ, г. Омск, пр. Карла Маркса, 35, Омский государственный университет путей сообщения, старший преподаватель. Е-mail: zaxarenko.elena@ gmail.com

3 644046, РФ, г. Омск, пр. Карла Маркса, 35, Омский государственный университет путей сообщения, аспирант. E-mail: tvvasseva@gmail.com

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

Для сравнения эффективности методов выводятся формулы для оценки количества операций, которые требуется выполнить для расчета реакции фильтра на один отсчет входного сигнала. С помощью этих формул определяются методы, требующие минимального числа операций при различных размерах ядра. На основании полученных результатов делается вывод о целесообразности применения метода вычисления двумерной свертки, основанного на разложении ее на 9 сверток половинной длины, для вычисления цифровых фильтров с ядрами среднего размера, начиная с размера 5 х 5. Сокращение числа требуемых операций при применении разложения при ядре 5 х 5 составляет 16 %, 7 х 7 - 27 %, 9 х 9 - 31 %. На основании приведенного в статье разложения двумерной свертки можно повысить быстродействие некоторых алгоритмов обработки изображений при разбиении изображения на несколько блоков размером, соответствующим ядру фильтра.

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

DOI: 10.17212/1814-1196-2017-4-95-104

Статья получена 22 августа 2017 г.

ВВЕДЕНИЕ

Алгоритмы обработки изображений и компьютерного зрения все шире находят применение в различных областях техники, включая железнодорожный транспорт [1]. Системы видеонаблюдения с компьютерным зрением детектируют потенциально опасные ситуации (например, появление автомобиля на железнодорожном переезде, человека, возгорание, оставленный предмет и др.). Несмотря на значительные успехи в разработке таких алгоритмов, все еще остается достаточно много проблем их практического применения, одной из которых является быстродействие этих алгоритмов.

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

1. АСПЕКТЫ ВЫПОЛНЕНИЯ ОПЕРАЦИЙ СВЕРТКИ И КОРРЕЛЯЦИИ

При цифровой обработке сигналов часто применяются две схожие операции: (линейная) свертка (convolution) и корреляция (correlation) [4, 5]. Они имеют схожие формулы, и для их быстрого вычисления могут использоваться одни и те же методы.

Линейная двумерная дискретная свертка определяется следующей формулой:

n1-1 «2-1

CONji j2 = X X xi1,i2 • yi1-j1,i2-j2. (1)

¿1=0 i 2=0

Далее для простоты изложения и обобщения будем использовать терминологию, применяемую при использовании свертки для вычисления цифровых фильтров. В этом контексте n1 и n2 - это длина ядра цифрового фильтра по первой и второй размерности соответственно, x - ядро или импульсная характеристика цифрового фильтра, y - отчеты входной последовательности (обрабатываемое изображение) и CON - выходная последовательность фильтра (свертка входной последовательности с ядром фильтра).

Дискретная корреляция двух последовательностей определяется следующей формулой:

«1-1 «2-1

CORj\,j2 = X X xi1,i2 • yi1+j1,i2+j2. (2)

i1=0 i 2=0

Для пояснения этой формулы также воспользуемся примером ее применения для обработки изображения. В этом контексте х - это фрагмент изображения размером n 1 х «2, для которого рассчитывается корреляция; y - область, с которой сравнивается фрагмент изображения, и COR - корреляция.

Любую из приведенных операций можно свести к другой, инвертировав входные последовательности по всем размерностям. Это делает возможным применение одних и тех же алгоритмов для их выполнения. Однако имеются отдельные аспекты применения этих операций при решении конкретных задач.

Во-первых, следует рассмотреть диапазоны, в которых берутся значения для переменных ]1 и ]2. Предположим, последовательность у имеет размер т1 х т2. Для обеих рассматриваемых операций в зависимости от решаемой задачи может потребоваться найти результаты в диапазонах:

1) 0 х 0: (т1 + п1 - 1) х (т2 + п2 - 1);

2) 0 х 0: п 1 х п2;

3) 0 х 0: (т1 - п 1 + 1) х (т2 - п2 + 1).

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

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

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

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

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

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

2. ИССЛЕДОВАНИЕ МЕТОДОВ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ВЫЧИСЛЕНИЯ ДВУМЕРНОЙ КОРРЕЛЯЦИИ

В данной статье рассматривается вопрос об эффективности применения подходов, предложенных для уменьшения количества вычислительных операций при реализации операции двумерной корреляции [6, 7], для задачи выполнения двумерной фильтрации изображений (двумерной свертки).

Будем рассматривать три варианта вычисления двумерной свертки. Первый вариант - вычисление двумерной свертки непосредственно по формуле (1). Второй вариант - использование предложенного в [6] алгоритма разложения двумерной свертки в несколько двумерных сверток меньших размеров. Третий вариант - использование быстрых алгоритмов одномерной свертки [8] для вычисления двумерной свертки.

Отметим, что методы, основанные на разложении в свертки меньших размеров, имеют ограничение на размер сверток - ядро и входные данные должны иметь четное количество точек по каждой из размерностей. Это ограничение можно обойти с помощью комбинированного варианта вычисления свертки: для максимально возможного количества отчетов используется быстрый алгоритм вычисления, а оставшиеся вычисляются по определению.

Ввиду того, что типичные ядра цифровых фильтров обычно имеют небольшой размер, мы не будем рассматривать алгоритмы, основанные на различных быстрых алгоритмах преобразования сигналов (например, быстрое преобразование Фурье (БПФ)) [9, 10].

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

При таких условиях для вычисления свертки по формуле (1) потребуется п1 х п2 х /1 х /2 умножений и (п1 - 1) х (п2 - 1) х п2 х /1 х /2 сложений, всего (п1 х п2 + (п1 - 1) х (п2 - 1)) х /1 х /2 операций.

Далее для сокращения размера формул примем следующие допущения. Предположим, что размер входных данные достаточно велик, что можно пренебречь единицей в операциях сложения. Также примем, что п = п1 = п2, / = /1 = /2 и т = т1 = т2. Как будет видно из дальнейшего изложения, такие допущения не скажутся на окончательных выводах. Таким образом, сложность двумерной свертки приблизительно равна 2п2 х /2 операций или 2п2 операций на один отсчет (пиксель) входного сигнала.

В [6] для ускорения вычислений исходные данные разбиваются на части, в каждой из которых количество элементов в два раза меньше, чем в исходных данных по каждой из размерностей. При этом для удобства записи используется матричное представление данных. Преобразуем выражения из указанной статьи применительно к алгоритму двумерной свертки.

Введем промежуточные переменные:

хг1,г2 = [хг1,г2, хг1+2,г2,.", хг1+п1-2,г2],

уг1,г2 = [уг1,г2, Ул+2,12,..., УЛ+т!-2,г2].

Обозначим части входных данных:

Xi1,i2 = [xi1,i2, xi1,i2+2,•••, xi1,i2 +n2-21 =

Yi1,i2 = [Í^i1,i2, >Vl,i2+•yi1,i2+-2]. Используя введенные обозначения, формулу (1) можно переписать как

CON

(4)

CON

Обозначим

Л j 2

Л j 2 CONji+1, j 2 CONji, j 2 +1

CONj1+1, j 2+1

j j 2 Yj1-1, j 2 Yj1, j 2-1 Yj1-1, j 2-1 X0,0

Yj1-1, j 2 Yj1-2, j 2 Yj1-1, j 2-1 Yj1-2, j 2-1 X0,1

Yj1, j 2-1 Yj1-1, j 2 -1 Yj1, j 2-2 Yj1-1, j 2 -2 X1,0

Yj1-1, j 2-1 Yj1-2, j 2-1 Yj1-1, j 2-2 Yj1-2, j 2-2 _ _ X1,1

4) - Xo,o- X1,o= 41 - X0,1 - X1,b

(5)

(6)

Bj1,j 2 - Yj1, j 2 - Yj1+1, j 2.

Тогда выражение (5) может быть разложено следующим образом:

CON

Л j 2

( B j1, j 2 + Bj1, j 2 +1) X0,0 ( Bj1+1, j 2 + Bj1+1, j 2+1) X1,0 ( B j1, j 2+1 + Bj1, j 2+2 ) X0,1 _( Bj1+1, j 2 +1 + B j1+1, j 2+2 ) X1,1 _

"-1 0"

0 -1 Bj1,j2+1(X0,0 -X0,1)

1 0 _ Bj1+1, j2 +1( X1,0 --)

_ 0 1 _

+

-1

0

1 0 0 -1 0 1

(Yj1+1, j 2 + Yj1+1, j 2+1) 4 (Yj1+1, j 2+1 + Yj1+1, j 2+2) 41

Yj1+1, j 2+1( 4 " 41).

(7)

Как видно из формулы (7), двумерная свертка сводится к девяти двумерным сверткам с размерами, меньшими в два раза по обеим размерностям.

Дополнительно к этим сверткам требуется выполнить еще несколько операций над матрицами, которые также меньше в два раза по обеим размерностям относительно исходных данных. Сложность этих сверток, если не применять дальнейшее рекурсивное разбиение на свертки меньшего размера, составит 9/8п2 х /2 операций умножения и сложения.

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

Также требуется вычислить шесть матриц В, два раза сложить матрицы У и четыре раза сложить матрицы В. Для этого потребуется 12 / 4т2 операций.

На последнем этапе нужно собрать результаты сверток меньшей длины. По формуле для этого требуется выполнить 3 х 4 = 12 сложений матриц, но при сложении последних четверок матриц операции дважды повторяются, поэтому можно обойтись десятью сложениями. Сложность этих операций 10 / 4/2.

Таким образом, сложность вычисления двумерной свертки при однократном разбиении на свертки меньшего размера составит примерно 9 / 8п2 х /2 + 12 / 4т2 + 10 / 4/2, еще более грубая оценка составит 9 / 8п2 х /2 + 5 / 2/2 или 9 / 8п2 + 5 / 2 операций на один отсчет (пиксель) входного сигнала.

Метод использования одномерной свертки для вычисления двумерной зависит от ядра цифрового фильтра [11, 12]. Если ядро обладает свойством сепарабельности, то двумерная свертка сводится к двум одномерным сверткам. Это значительно сокращает количество требуемых операций, и при разработке фильтров разработчики стремятся получить именно такое ядро [13]. Этот частный случай хорошо изучен, поэтому далее мы его рассматривать не будем.

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

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

3. РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ

Решая несложные уравнения, мы получим, что наименьшую сложность до п < 1 имеет метод полного перебора. Для п в диапазоне от 1 до примерно 2,5 наименьшую сложность имеет метод, основанный на разложении одномерной свертки. При п > 2,5 наименьшей сложностью обладает метод, основанный на разложении двумерной свертки.

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

Интерпретируя эти результаты, нужно учитывать, что они получены по приблизительным оценкам сложности алгоритмов, что алгоритмы, использующие разложения, можно применять не для всех значений n и что быстродействие алгоритмов при их практической реализации зависит не только от количества требуемых арифметических операций.

ЗАКЛЮЧЕНИЕ

С учетом сказанного можно сделать вывод, что основанные на разложении быстрые алгоритмы вычисления двумерной свертки имеет смысл применять, начиная с размера ядра 4 х 4. Практически применяются ядра нечетных размеров. Сокращение числа требуемых операций при применении разложения при ядре 5 х 5 составляет 16 %, 7 х 7 - 27 %, 9 х 9 - 31 %. Ввиду сложности алгоритма разложения на свертки меньших размеров при практической реализации следует ожидать уменьшение выигрыша в быстродействии, тем не менее следует сделать вывод, что рассмотренные в статье алгоритмы имеют практическую ценность для вычисления коротких сверток для ядер, начиная с размера 5 х 5.

Одним из алгоритмов компьютерного зрения является оценка движения и детектирование объектов [15]. В этом случае обрабатываемый сигнал является двумерным (матрицей, которая разбивается на несколько блоков). Размерность блоков определяется стандартами видеокодирования и должна быть более 4 х 4. Размерность более 32 х 32 требует больших вычислительных затрат, что неактуально при практической реализации. На основании приведенного в статье разложения двумерной свертки можно повысить быстродействие некоторых алгоритмов обработки изображений.

СПИСОК ЛИТЕРАТУРЫ

1. Альтман Е.А., Ананьева Н.Г., Тихонова Н.А. Применение алгоритмов компьютерного зрения для детектирования объектов на железнодорожном переезде // Известия Транссиба. -2016. - № 1 (25). - С. 70-76.

2. Гонсалес Р., Вудс Р. Цифровая обработка изображений. - 3-е изд., испр. и доп. - М.: Техносфера, 2012. - 1104 с.

3. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. - М.: Мир, 1978. - 848 с.

4. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов. - М.: Мир, 1989. -

448 с.

5. Лукин А. Введение в цифровую обработку сигналов (математические основы). - М.: МГУ, 2002. - 44 с.

6. Naito Y., Miyazaki T., Kuroda I. A fast full-search motion estimation method for programmable processors with a multiply-accumulator // IEEE International Conference on Acoustics, Speech and Signal Processing. - 1996. - Vol. 6. - P. 3221-3224.

7. Альтман Е.А., Захаренко Е.И. Быстрый алгоритм вычисления двумерной корреляции для видеообработки // Доклады Томского государственного университета систем управления и радиоэлектроники. - 2015. - № 2 (36). - С. 119-124.

8. Mou Z.J., Duhame P. Fast FIR filtering: algorithms and implementations // Signal Processing. - 1987. - Vo1. 13, N 4. - P. 377-384.

9. Калиновский И.А., Спицын В.Г. Применение полиномиальных преобразований для быстрого вычисления двумерных сверток // Вычислительные методы и программирование. -2016. - Т. 17, № 3. - С. 197-201.

10. Гольденберг Л.М., Матюшкин Б.Д., ПолякМ.Н. Цифровая обработка сигналов: справочник. - М.: Радио и связь, 1985. - 312 с.

11. Цифровая обработка изображений в информационных системах: учебное пособие / И.С. Грузман, В.С. Киричук, В.П. Косых, Г.И. Перетягин, А.А. Спектор. - Новосибирск: Изд-во НГТУ, 2002. - 352 с.

12. Блейхут Р. Теория и практика кодов, контролирующих ошибки. - М.: Мир, 1986. -

576 с.

13. Быстрые алгоритмы в цифровой обработке изображений: преобразования и медианные фильтры / под ред. Т.С. Хуанга. - М.: Радио и связь, 1984. - 224 с.

14. Madisetti V.K. The digital signal processing handbook. Vol. 1. - 2nd ed. - Boca Raton, FL: CRC Press, 2009. - 904 p.

15. Шапиро Л., Стокман Дж. Компьютерное зрение. - М.: Бином. Лаборатория знаний, 2006. - 752 с.

Альтман Евгений Анатольевич, кандидат технических наук, доцент кафедры «Автоматика и системы управления» Омского государственного университета путей сообщения. Основное направление научных исследований - быстрые алгоритмы обработки сигналов. Имеет около 90 публикаций. E-mail: altmanea@gmail.com

Захаренко Елена Игоревна, старший преподаватель кафедры «Автоматика и системы управления» Омского государственного университета путей сообщения. Основное направление исследований - быстрые алгоритмы обработки сигналов. Имеет 18 публикаций. E-mail: zaxarenko.elena@gmail.com

Васеева Татьяна Валерьевна, аспирант кафедры «Автоматика и системы управления» Омского государственного университета путей сообщения. Основное направление исследований - быстрые алгоритмы обработки сигналов. Имеет 5 публикаций. E-mail: tvvasseva@gmail.com

Application of the decomposition method of two-dimensional convolution in implementing digital filters

E.A. ALTMAN1, E.I. ZAKHARENKO2, T.V. VASEEVA3

1 Omsk State Ttansport University, 35, K. Marx Prospekt, Omsk, PhD (Eng.), associate professor. Е-mail: altmanea@gmail.com

2 Omsk State Ttansport University, 35, K. Marx Prospekt, Omsk, senior lecturer. Е-mail: zaxarenko.elena@gmail.com

3 Omsk State Ttansport University, 35, K. Marx Prospekt, Omsk, post-graduate student. E-mail: tvvasseva@gmail.com

The paper considers methods of reducing the number of operations while performing a digital image filtration. An image filter algorithm is based on the mathematical operation called two-dimensional convolution. The peculiarities of using a two-dimensional convolution for image filtration include a possibility of filter factor preprocessing and a big difference between the number of points in an image and kernel of the image filter. The authors analyze well-known methods of decomposition of two-dimensional convolution into several convolutions with fewer numbers of points as applied to image filtration.

644046, Russian Federation, 644046, Russian Federation, 644046, Russian Federation,

*

Received 22 August 2017.

To compare a cost of the methods, we derived formulas to evaluate of the number of operations required to calculate a reaction of the image filter for one point (pixel). Using these formulas, we found methods with a minimal cost for various kernel sizes. Based on the results obtained, we conclude that the two-dimensional convolution method based on the decomposition of convolution into 9 half-size convolutions is quite appropriate for implementing image filters with a kernel size larger or equal to 5x5. Reducing the number of required operations when applying the decomposition with a 5x5 kernel gives 16 %, 7x7 - 27 %, 9x9 - 31 %. On the basis of the decomposition of a two-dimensional convolution in the paper, it is possible to increase the speed of some image processing algorithms when an image is divided into several blocks with a size corresponding to the filter kernel.

Keywords: two-dimensional convolution, correlation, digital filter, image processing, fast algorithms, efficiency evaluation, filter kernel, digital signal

DOI: 10.17212/1814-1196-2017-4-95-104

REFERENCES

1. Al'tman E.A., Anan'eva N.G., Tikhonova N.A. Primenenie algoritmov komp'yuternogo zre-niya dlya detektirovaniya ob"ektov na zheleznodorozhnom pereezde [Application algorithms of computer vision for оbject detection on the railway crossing]. Izvestiya Transsiba - Journal of Transsib Railway Studies, 2016, no. 1 (25), pp. 70-76.

2. Gonzalez R.C., Woods R.E. Digital image processing. New York, NY, Pearson, 2007 (Russ. ed.: Gonsales R., Vuds R. Tsifrovaya obrabotka izobrazhenii. 3rd ed. Moscow, Tekhnosfera Publ., 2012. 1104 p.).

3. Rabiner L.R., Gold B. Theory and application of digital signal processing. Englewood Cliffs, N.J., Prentice-Hall, 1975 (Russ. ed.: Rabiner L., Gould B. Teoriya i primenenie tsifrovoi obrabotki signalov. Moscow, Mir Publ., 1978. 848 p.).

4. Blahut R.E. Fast algorithms for digital signal processing. Reading, MA, Addison Wesley, 1985 (Russ. ed.: Bleikhut R. Bystrye algoritmy tsifrovoi obrabotki signalov. Moscow, Mir Publ., 1989. 448 p.).

5. Lukin A. Vvedenie v tsifrovuyu obrabotku signalov (matematicheskie osnovy) [Introduction to digital signal processing (mathematical foundations)]. Moscow, MSU Publ., 2002. 44 p.

6. Naito Y., Miyazaki T., Kuroda I. A fast full-search motion estimation method for programmable processors with a multiply-accumulator. IEEE International Conference on Acoustics, Speech and Signal Processing, 1996, vol. 6, pp. 3221-3224.

7. Al'tman E.A., Zakharenko E.I. Bystryi algoritm vychisleniya dvumernoi korrelyatsii dlya vide-oobrabotki [Fast algorithm for calculating two-dimensional correlation for video processing]. Doklady Tomskogo gosudarstvennogo universiteta sistem upravleniya i radioelektroniki - Proceedings of Tomsk State University of Control Systems andRadioelectronics, 2015, no. 2 (36), pp. 119-124.

8. Mou Z.J., Duhame P. Fast FIR filtering: algorithms and implementations. Signal Processing, 1987, vo1. 13, no. 4, pp. 377-384.

9. Kalinovskii I.A., Spitsyn V.G. Primenenie polinomial'nykh preobrazovanii dlya bystrogo vychisleniya dvumernykh svertok [Application of polynomial transforms for fast 2D convolutions]. Vychislitel'nye metody i programmirovanie: novye vychislitel'nye tekhnologii - Numerical Methods and Programming, 2016, vol. 17, no. 3, pp. 197-201.

10. Gol'denberg L.M., Matyushkin B.D., Polyak M.N. Tsifrovaya obrabotka signalov: spravochnik [Digital signal processing: reference book]. Moscow, Radio i svyaz' Publ., 1985. 312 p.

11. Gruzman I.S., Kirichuk V.S., Kosykh V.P., Peretyagin G.I., Spektor A.A. Tsifrovaya obrabotka izobrazhenii v informatsionnykh sistemakh [Digital processing of images in information systems]. Novosibirsk, NSTU Publ., 2002. 352 p.

12. Blahut R.E. Theory and practice of error control codes. Reading, MA, Addison-Wesley, 1984 (Russ. ed.: Bleikhut R. Teoriya i praktika kodov, kontroliruyushchikh oshibki. Moscow, Mir Publ., 1986. 576 c.).

13. Huang T.S., ed. Two-dimensional digital signal processing. Berlin, New York, SpringerVerlag, 1981 (Russ. ed.: Bystrye algoritmy v tsifrovoi obrabotke izobrazhenii: preobrazovaniya i mediannyefil'try. Ed. by T.S. Khuang. Moscow, Radio i svyaz' Publ., 1981. 224 p.).

14. Madisetti V.K. The digital signal processing handbook. Vol. 1. 2nd ed. Boca Raton, FL, CRC Press, 2009. 904 p.

15. Shapiro L.G., Stockman G.C. Computer vision. Upper Saddle River, N.J., Prentice-Hall, 2001 (Russ. ed.: Shapiro L., Stokman Dzh. Komp'yuternoe zrenie. Moscow, Binom. Laboratoriya znanii Publ., 2006. 752 p.).

Для цитирования:

Захаренко Е.И., Альтман Е.А., Васеева Т.В. Применение метода разложения двумерной свертки при реализации цифровых фильтров // Научный вестник НГТУ. - 2017. - № 4 (69). -С. 95-104. - doi: 10.17212/1814-1196-2017-4-95-104.

For citation:

Altman E.A., Zakharenko E.I., Vasеeva T.V. Primenenie metoda razlozheniya dvumernoi svertki pri realizatsii tsifrovykh fil'trov [Application of the decomposition method of two-dimensional convolution in implementing digital filters]. Nauchnyi vestnik Novosibirskogo gosudarstvennogo tekhnicheskogo universiteta - Science bulletin of the Novosibirsk state technical university, 2017, no. 4 (69), pp. 95-104. doi: 10.17212/1814-1196-2017-4-95-104.

ISSN 1814-1196, http://journals.nstu.ru/vestnik Science Bulletin of the NSTU Vol. 69, No 4, 2017, pp. 95-104

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