NNDL 作业5:卷积

目录

作业1

作业2

 一、概念

 二、探究不同卷积核的作用

三、编程实现

实现灰度图的边缘检测、锐化、模糊。(必做)

2,调整卷积核参数,测试并总结。(必做)

3,使用不同尺寸图片,测试并总结。(必做)


作业1


编程实现

import torch
from torch import nn
import torch as d2l
import matplotlib.pyplot as plt


def corr2d(X, K):  #@save
    """计算二维互相关运算"""
    h, w = K.shape
    Y = torch.zeros((X.shape[0] - h + 1, X.shape[1] - w + 1))
    for i in range(Y.shape[0]):
        for j in range(Y.shape[1]):
            Y[i, j] = (X[i:i + h, j:j + w] * K).sum()
    return Y
X=torch.tensor([[255,255,255,0,0,0],
                [255,255,255,0,0,0],
                [255,255,255,0,0,0],
                [255,255,255,0,0,0],
                [255,255,255,0,0,0],
                [255,255,255,0,0,0],
                [255,255,255,0,0,0],])
K = torch.tensor([[-1.0, 1.0]])
original_tensor=corr2d(X, K)
from torchvision import transforms
unloader = transforms.ToPILImage()
image = original_tensor.cpu().clone()  # clone the tensor
image = image.squeeze(0)  # remove the fake batch dimension
image = unloader(image)

image.save('example.jpg')

NNDL 作业5:卷积_第1张图片

 

1. 图1使用卷积核\begin{pmatrix} 1 & -1 \end{pmatrix},输出特征图

NNDL 作业5:卷积_第2张图片

2. 图1使用卷积核\begin{pmatrix} 1\\ -1\\ \end{pmatrix},输出特征图

 NNDL 作业5:卷积_第3张图片

3. 图2使用卷积核\begin{pmatrix} 1 & -1 \end{pmatrix},输出特征图

NNDL 作业5:卷积_第4张图片

4. 图2使用卷积核\begin{pmatrix} 1\\ -1\\ \end{pmatrix},输出特征图 

 NNDL 作业5:卷积_第5张图片

5. 图3使用卷积核\begin{pmatrix} 1 & -1 \end{pmatrix}\begin{pmatrix} 1\\ -1\\ \end{pmatrix}\begin{pmatrix} 1 &-1 \\ -1&1 \end{pmatrix},输出特征图 

 NNDL 作业5:卷积_第6张图片NNDL 作业5:卷积_第7张图片NNDL 作业5:卷积_第8张图片

作业2

 一、概念

自己的语言描述“卷积、卷积核、特征图、特征选择、步长、填充、感受野”。

 卷积是卷积核遍历图像,加权相加的总过程

卷积核是作业一种的“K”

特征图是卷积后的得到的张量

特征选择由卷积核的内容决定,提取不同的特征。

步长是指卷积核遍历图像每一次跳跃的数量。

感受野:特征图上的一个点对应输入图上的区域,如图

 二、探究不同卷积核的作用

NNDL 作业5:卷积_第9张图片

用于识别

 NNDL 作业5:卷积_第10张图片

用于锐化

NNDL 作业5:卷积_第11张图片

用于所有方向的边缘检测

NNDL 作业5:卷积_第12张图片

模糊化图像

 NNDL 作业5:卷积_第13张图片

 浮雕

NNDL 作业5:卷积_第14张图片NNDL 作业5:卷积_第15张图片

NNDL 作业5:卷积_第16张图片NNDL 作业5:卷积_第17张图片

 不同方向的边缘检测

三、编程实现

  1. 实现灰度图边缘检测、锐化、模糊。(必做)

NNDL 作业5:卷积_第18张图片 NNDL 作业5:卷积_第19张图片

NNDL 作业5:卷积_第20张图片NNDL 作业5:卷积_第21张图片

2,调整卷积核参数,测试并总结。(必做)

卷积核改为10*10形状,模糊效果变好

NNDL 作业5:卷积_第22张图片 ​​​

 ​​​​​​​NNDL 作业5:卷积_第23张图片NNDL 作业5:卷积_第24张图片

 NNDL 作业5:卷积_第25张图片NNDL 作业5:卷积_第26张图片

 NNDL 作业5:卷积_第27张图片

 总结:

不同形状,大小的卷积核可以实现不同的作用,不同的卷积内使用不同的参数也可以达到不同的效果。比如模糊化3*3的卷积核不明显就可以使用10*10的卷积核。

每种卷积核内的参数都有固定的特点。

3,使用不同尺寸图片,测试并总结。(必做)

将分辨率由1920*1200改为192*120

 NNDL 作业5:卷积_第28张图片NNDL 作业5:卷积_第29张图片

 ​​​​​​​NNDL 作业5:卷积_第30张图片NNDL 作业5:卷积_第31张图片

 总结:大尺寸的图像比小尺寸的图像边缘检测更细致,小尺寸更容易肉眼观察。

不同大小的图像的特征图有明显的差异。

在较低分辨率下可以节省大量的计算成本。

改变图像的尺寸相当于模糊化原图像。

你可能感兴趣的:(python,深度学习,算法)