(上)基于机器学习的图像识别——遥感图像分类(LeNet-5;AlexNet;VGGNet;GoogLeNet;ResNet)
遥感图像识别:
专业词汇:
kernel:卷积
目录
遥感图像分类 1.1 LeNet-5
视频来源:
任务:使用什么网络实现遥感图像的分类
LeNet-5结构:
遥感图像分类 1.2 AlexNet(冠军)
视频来源:
1主要i内容:
AlexNet结构:
遥感图像分类 1.3 VGGNet(亚军)
视频来源:
主要内容:
VGGNet结构:
遥感图像分类 1.4 GoogLeNet
视频来源:
GoogLeNet结构:
遥感图像分类 1.5 ResNet
视频来源:
ResNet结构:
遥感图像分类 1.1 LeNet-5
视频来源:
遥感图像分类 1.1 LeNet-5_哔哩哔哩_bilibili
任务:使用什么网络实现遥感图像的分类
- 基于MNIST的遥感数据集
- LeNet-5搭建,训练,保存
- LeNet-5调用和预测
LeNet-5结构:
基于MNIST的遥感数据集:
数据集放在了评论区,用来进行验证
从CSV文件中载入数据(数据采集):
- 读取CSV 文件
- 转换成数组
- 读取图片
- 读取标签
- 维度改变 4:05
总结:
- 数据采集 :
按照列读取CSV 文件 标签信息 图片信息 维度处理 (和之前一样) - 建立模型:
和上节课一样 - 模型训练:
增加轮数以达到更好的训练效果(max=80%) - 模型测试:
通过画图的方式,可视化正确率,遇到瓶颈
对预测的位置信息转换成对应名称(通过数据方式实现)
遥感图像分类 1.2 AlexNet(冠军)
视频来源:
遥感图像分类 1.2 AlexNet_哔哩哔哩_bilibili
1主要i内容:
- 遥感图像的载入
- AlexNet结构与创新
- AlexNet搭建,训练,预测
AlexNet结构:
去网上找遥感图片
载入数据:
- 按照路径读取(相对路径)
- 预处理
归一化——水平翻转4:04——批大小——随机——尺寸——独热编码 - 基础知识:
步长 Stride & 加边 Padding &参数 Param
卷积后尺寸=(输入图像大小-卷积核大小+加边像素数)/步长 +1
Tensorflow默认:Padding='valid'(丢弃),strides=1
设置:Padding=same':保证输出和输出尺寸不变,自动设置填充
参数:
卷积层:(卷积参数(卷积核各部分)+偏置参数)*卷积核的个数
池化层:不需要训练参数
全连接层:神经元连接权重+偏置参数
模型搭建:ReLU&Dropout
模型训练:learning_rate&batch_size
遥感图像分类 1.3 VGGNet(亚军)
视频来源:
遥感图像分类 1.3 VGGNet_哔哩哔哩_bilibili
主要内容:
- VGGNet 结构与创新
- VGGNet训练与预测
- 迁移学习训练VGGNet
VGGNet结构:
数据载入方式和上节课一样
感受视野 Receptive Field
定义:输出层一个元素对应输入层区域的大小。
计算:感受视野=(上一层感受视野-1)*步长 +卷积核尺寸
VGGNet提出:
堆叠两个3*3卷积核替代一个5*5卷积核
堆叠三个3*3卷积核替代一个7*7卷积核。
相同感受视野,训练参数量减少。
迁移学习:
遥感图像分类 1.4 GoogLeNet
视频来源:
遥感图像分类 1.4 GoogLeNet_哔哩哔哩_bilibili
- GoogLeNet结构
- GoogLeNet创新
- GoogLeNet训练与预测
GoogLeNet结构:
Inception模块:
输入为28*28*192(*不考虑偏置项)
直接32个5X5 卷积参数:5*5*192*32=105600
先使用16个1X1卷积降维,再使用32个5X5 卷积参数:1*1*192*16+5*5*16*32=15872
Padding问题:
TensorFlow中 padding= 'same'
输出图像的长和宽=输入图像/步长(结果向上取整)
*如果步长为1,卷积、池化操作不改变图像的长宽。
参考NIN网络:
使用全局平均化代替全连接层,避免全连接层带来的大量训练参数
遥感图像分类 1.5 ResNet
视频来源:
遥感图像分类 1.5 ResNet_哔哩哔哩_bilibili
ResNet结构:
Batch Normalization 批量归一化:
每一层输入的时候,先做一个归一化处理,然后在进入网络的下一层
避免梯度消失和爆炸,训练更稳定
退化现象(不同于过拟合):
网络层数越多,训练集loss逐渐下降,之后趋于饱和,继续增加网络深度的话,训练集loss反而更大
捷径分支:
模型搭建:
残差模块:
最后附上本人粗浅的见解,感觉以上这五个网络结构可以看成处理(机器学习图像)/(遥感图像)分类的五种(数学方法)/(函数方法)