一.图像概念

1.像素(Pixel)

图像是由许多小点组成的,这些小点被称为像素,每个像素表示图像中的一个颜色值(如RGB三通道值范围0-255)

2.通道

图像可以有一个或多个通道:

灰度图(Grayscale): 1个通道

彩色图(RGB):3个通道

3.图像的张量表示

H:高度,W:宽度,C:通道数

numpy (H,W,C)

pytorch:  (C,H,W)

4.图像的显示与存储的API

matplotlib.pyplot.imshow() :显示图像

matplotlib.pyplot.imread(): 读取图片像素等信息

matplotlib.pyplot.imsave(): 保存图片

注意: 图像的形状是(H,W,C),读取画图保存需要用这种形式的numpy数据

二.CNN介绍

核心思想:是通过卷积操作自动提取图像的局部特征,并逐层构建更复杂的语义信息。

1.概念

卷积神经网络(Convolutional Neural Network)是含有卷积层的神经网络. 

Convolutional neural network

2.组成结构

输入层:输入图像、视频、音频等

卷积层(Convolutional Layer):提取图像特征图

激励层(Activation Function):引入非线性能力,常用 ReLU

池化层(Pooling Layer):压缩特征图尺寸,减少计算量,增强平移不变性

全连接层(Fully Connected Layer):对提取的特征进行分类或回归

基本流程:输入图像 → 卷积层 → 激活函数 → 池化层 → 多个卷积块 → 全连接层 → 输出结果

3.CNN的优势(图解)

4.典型CNN网络结构示例(图解)

三.卷积层

1.作用

特征提取:自动从原始输入中提取有用的局部特征

参数共享:同一个卷积核在输入上滑动,共享参数,减少模型复杂度和计算量

局部感知:每个神经元只关注输入的一个局部区域,模拟人类视觉的局部感知机制

平移不变性:对输入中位置不敏感的特征具有一定的鲁棒性

2.API

1D卷积层: tf.keras.layers.Conv1D,torch.nn.Conv1d

2D卷积层: tf.keras.layers.Conv2D,torch.nn.Conv2d

最大池化 1D:torch.nn.MaxPool1d

全连接层:torch.nn.Linear

激活函数:torch.nn.functional.relu, torch.nn.Sigmoid 

展平操作:x.view() 或 x.flatten(),例子:x = x.view(x.size(0), -1)

例:conv = nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding)

in_channels:输入图像的通道数

out_channels:卷积核/神经元个数

kernel_size:卷积核形状

stride:步长, 默认1

padding:填充圈数, 默认0

3.卷积核/滤过器

本质是一个小型数值矩阵,形状通常是k x k(如3x3),也可以是其他形状的,在输入数据上滑动并进行局部加权求和,用于提取输入中的局部特征。在卷积神经网络中相当于神经元,有多少个卷积核就是有多少个神经元

4.卷积基本计算

根据卷积核大小进行点乘运算、点乘运算的结果=新特征图1个特征值、特征图的窗口矩阵=卷积核大小。

图解:

 5.多卷积运算

如RGB图像有3个通道, 卷积核也有3个通道,每个通道进行点乘运算, 然后3个点乘结果求和=新特征图1个特征值(像素点)

图解:

单卷积核多通道

多通道多卷积核:

 

6.padding

特征图周围补0,防止边缘信息丢失(计算多次),新特征图和原特征图形状保持一致

图解:左边是填充了一圈的特征图,右边是进行了卷积计算的新图,卷积核核大小是3x3

7.特征图大小计算(重点)

图解(最直接明了):

 

四.池化层

1.作用

降维,只在H,W维度进行降维,不改变通道数C的个数

和卷积层的核心区别:没有神经元(卷积核)参与

2.池化计算

最大化池(例:nn.MaxPool2d(kernel_size=2, stride=2, padding=1))

作用:提取窗口范围内的最大特征值

平均化池(例:nn.AvgPool2d(kernel_size=2, stride=1, padding=0))

作用:提取窗口范围内的平均特征值

图解:

 

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐