目录
1.概念描述
卷积:卷积可以简单的理解为状态的叠加,在卷积神经网络中,卷积的作用就是将相邻的多个不同的状态输入,经过叠加后进行输出为一个状态。常用于图片的特征提取。
卷积核:卷积核在某些情况下也可以叫做滤波器,可以理解为卷积过程中的“模式”,通过改变卷积核来改变对不同状态的特征偏向,它能决定卷积的偏向和效果。
多通道:输入的一层代表一个通道,多通道即为多层输入,同时需要相同通道数的卷积核进行卷积。
特征图:图像经过卷积过程得到的结果。
特征选择:不同视觉神经细胞对边界、运动和颜色等不同信息具有 强弱不同的选择性,特征选择是指从原始特征中挑选出一组最有代表性、分类性能好的特征,可以使用不同的卷积核来进行不同偏向的特征选择。
2.不同卷积核的作用和原理
2.1锐化
首先观察两个图片
观察上面两张图,可以看到,中心点分别由234变为373,74变为14,也就是两点之间的对比度大大增强,从而达到锐化的效果。
2.2边缘检测
将当前的像素值减去前一个像素值,得到这个函数在这两个位置的差别或者斜率,相当于求导或斜率,也就突出了变化的边缘效果。
2.3模糊
模糊就是一个点和周围的点对比度变小,这个卷积核就是由周围的点和中间的点的颜色共同决定卷积后的颜色,观察这个卷积核,可以看到就是求出周围的点的加权平均,距离越近起的作用就越大,以此来达到模糊的目的。
3.编程实现
完整程序代码
import numpy as np
import torch
from torch import nn
from torch.autograd import Variable
import torch.nn.functional as F
from PIL import Image
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 #有中文出现的情况,需要u'内容
file_path = 'tu1.png'
im = Image.open(file_path).convert('L') # 读入一张灰度图的图片
im = np