人工智能-作业4:CNN - 卷积

一、简单描述卷积、卷积核、多通道、特征图、特征选择概念。

卷积就是针对像素点的空间依赖性对图像进行处理的一种技术。
常用于图像的特征提取,下图的过程就是卷积
在这里插入图片描述
卷积核是一个二维矩阵,矩阵中的数值为图形中与卷积核同样大小的子块像素点进行卷积计算时所采用的权重。

多通道 CNN中的一次性卷积要处理的多组数据
卷积结果:称为特征图
特征选择 寻找最优特征子集。特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目的。

二、探究不同卷积核的作用,研究背后的原理。

边缘检测卷积核
锐化卷积核实际上就是计算当前点和周围点的差别,然后将这个差别加到原来的位置上

高斯模糊卷积核
高斯滤波器虽然元素总和也为1,但每个位置的权重不一样,权重在行和列上的分布均服从高斯分布,故称高斯滤波器。高斯分布的标准差越大,则模糊程度越大。一个3 × 3 标准差为1的高斯滤波器如下所示:

1.卷积核实现的不同效果及其原理
2.常用图像卷积核小结

三、编程实现:

1.经典卷积核,实现灰度图的边缘检测、锐化、模糊。

该程序使用的图片最好不要从网上下载,可能会有格式问题出错。
经典卷积核 边缘检测
在这里插入图片描述

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'内容
# https://blog.csdn.net/weixin_40123108/article/details/83510592
file_path = '4.jpg'
im = Image.open(file_path).convert('L')  # 读入一张灰度图的图片
im = np.array(im, dtype='float32')  # 将其转换为一个矩阵
print(im.shape[0], im.shape[1])
plt.imshow(im.astype('uint8'), cmap='gray')  # 可视化图片
plt.title('原图')
plt.show()

im = torch.from_numpy(im.reshape((1, 1, im.shape[0], im.shape[1])))
conv1 = nn.Conv2d(1, 1, 3, bias=False)  # 定义卷积

sobel_kernel = np.array([[-1, -1, -1],
                         [-1, 8, -1],
                         [-1, -1, -1]], dtype='float32')  # 定义轮廓检测算子
sobel_kernel = sobel_kernel.reshape((1, 1, 3, 3))  # 适配卷积的输入输出
conv1.weight.data = torch.from_numpy(sobel_kernel)  # 给卷积的 kernel 赋值

edge1 = conv1(Variable(im))  # 作用在图片上

x = edge1.data.squeeze().numpy()
print(x.shape)  # 输出大小

plt.imshow(x, cmap='gray')
plt.show()

在这里插入图片描述
在这里插入图片描述
锐化
在这里插入图片描述

在这里插入图片描述
模糊
在这里插入图片描述
在这里插入图片描述

2.调整经典卷积核参数,测试并总结。

边缘检测
我们将边缘处理中心的权值改小为6,得到以下图像,在一个边缘中的颜色下会变黑,原来越亮现在越黑。
6

改大为10其中边缘旁边的图像也越来越清晰,接近原图,整体会更暗在这里插入图片描述
锐化
中间权值调为3太小会和边缘检测中间权值调太小一样
在这里插入图片描述
中间权值调为4太小会和边缘检测一样的图
在这里插入图片描述
中间权值调大感觉和经典锐化核卷积后的没太多变化,只是更亮
在这里插入图片描述

3.使用不同尺寸图片,测试并总结。

大图原图
在这里插入图片描述
小图原图
在这里插入图片描述

大图边缘检测
在这里插入图片描述

小图边缘检测
在这里插入图片描述
大图锐化
在这里插入图片描述
小图锐化
在这里插入图片描述
小图模糊
在这里插入图片描述

大图模糊
在这里插入图片描述

尺寸小的图进行卷积效果更好。

4.探索更多类型卷积核。

浮雕
[-1,-1, 0]
[-1, 0, 1]
[ 0, 1, 1]
在这里插入图片描述

5.尝试彩色图片边缘检测。

彩色照片应该是RGB三个通道,每个通道单独进行边缘检测然后将结果合并。具体实现不太会。

四、总结

这次作业学习了什么是卷积,还有其应用领域,不同卷积核可以做的效果,有了更深的理解。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值