1. Положительная свертка
Процесс реализации прямой свертки. Предполагая, что размер входного изображения составляет 4x4, матрица элементов:
Размер ядра свертки 3x3, а его матрица элементов:
Операция прямой свертки: шаги = 1, заполнение = 0, выходная форма 2x2, процесс показан на следующем рисунке:
На приведенном выше рисунке нижняя часть — это входные данные, верхняя — выходные данные, а ядро свертки — 3x3. Если мы используем умножение матриц для описания этого процесса: разверните матрицу входных элементов в вектор-столбец X
input=[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15]T
Разверните поэлементную матрицу выходного изображения в вектор-столбец Y
input=[y1,y2,y3,y4]T
Для матрицы входных элементов X и матрицы выходных элементов Y опишите этот процесс с точки зрения матричных операций:
Y=CX
Путем вывода мы можем получить разреженную матрицу C
Форма разреженной матрицы C — 4x16, форма X — 16x1, форма Y — 4x1, а после изменения формы Y — наша желаемая выходная форма 2x2.
2. Деконволюция
Затем операция деконволюции заключается в переносе этого процесса матричной операции и получении входных данных X путем вывода Y:
X=CTY
С точки зрения формы элементов матрицы это можно понять как: 16x1=16x4x4x1, следующая анимация наглядно описывает процесс деконволюции:
Стоит отметить, что операция деконволюции не является обратимым процессом операции свертки, то есть изображение не может быть восстановлено в исходное состояние операцией деконволюции после операции свертки. Это связано с тем, что деконволюция — это просто операция транспонирования, а не обратимая операция.