Фильтрация изображений методом свертки

Автор: Выплавень В.С., Скосырский А.А., Мастилин А.Е.

Журнал: Экономика и социум @ekonomika-socium

Рубрика: Информационные и коммуникативные технологии

Статья в выпуске: 6 (49), 2018 года.

Бесплатный доступ

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

Фильтрация, нейронные сети, метод свёртки, распознавание изображений

Короткий адрес: https://sciup.org/140239217

IDR: 140239217

Текст научной статьи Фильтрация изображений методом свертки

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

Определение линейной фильтрации представлено формулами 1, 2.

n+1  m+1              1   1

g[n,m]=- ^  ^ f[k,l]=-^ ^ f[n- k,m- l]

k=n-1 l=m-1          k=-11=-1

(f*h)[m,n] = -^ f [ k, l]h[m — k,n — l]

k,l

Исходя из формул считается среднее значение пикселя в окне 3х3.

Берется окрестность каждого пикселя, суммируются значения и вычисляется среднее. В этом выражении f - это функция, которая характеризует двухмерное изображение. Индексы к и I - это координаты пикселя, а f - это яркость этого пикселя. Функция h - это ядро свертки.

Ядро свертки является матрицей размерности n*n. В приведенном выше примере размерность ядра свертки - 3*3. Для вычисления нового значения пикселя ядро свертки «прикладывается» к изображению, например, в левый верхний угол и каждое значение пикселя, которое попадает в границы ядра свертки, умножается на значение ядра свертки, «покрывающее» пиксель. Далее ядро свертки «скользит» по изображению, захватывая весь набор пикселей этого изображения.

Если ядро свертки не будет выходить за пределы изображения, то результирующее изображения будет меньшего размера. Например, исходное изображение имело размер 10х10, то в результате свертки его размер станет 8х8.

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

В данной работе был реализован алгоритм свертки изображения на языке C#. Этот алгоритм можно применить для организации слоя свертки в сверточных нейронных сетях.

Список литературы Фильтрация изображений методом свертки

  • Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество. https://m.habr.com/post/348000/(Дата обращения 16.04.2018).
  • Сверточная нейронная сеть, часть 2: обучение алгоритмом обратного распространения ошибки. https://habr.com/post/348028/(Дата обращения 16.04.2018).
  • Ле Мань Ха. Свёрточная нейронная сеть для решения задачи классификации. https://mipt.ru/upload/medialibrary/659/91_97.pdf (Дата обращения 16.04.2018).
Статья научная