0%

水下机器人视觉_8_CNN 应用

卷积神经网络应用

CNNs 用于图像分类

卷积层:检测局部图片的局部特征
池化层:降低维度

MLPs 和 CNNs 都要求图片的尺寸经过处理

  • 在做任何操作之前,将所有图片的尺寸变为相同
  • 将每一张图片变成方形
  • 上面方形的空间维度 (宽度和高度) 应该为 2 的幂 (如 25 等)

彩色图片的深度为 3
黑白图片的深度为 1

CNN 的结构的设计目标:

  • 增加深度 (卷积层的作用)
  • 减少宽度和高度 (池化层的作用)

卷积层的设置:

  • 卷积核通常是方形,大小从 (2, 2) 到 (5, 5)
  • 步长通常设置成 1
  • 填充通常设为 same(代表会使用 0 填充)
  • 卷积核的数目总是随着层数的增加缓慢增加 (特征图深度逐渐增加)

最大池化层的设置:

  • 最大池化层通常跟在一个或两个卷积层后面
  • 池化尺寸通常设成 2
  • 步长通常设为 2
  • 使得池化后的特征图的空间维度 (宽度和高度) 是原来的一半

所有的空间信息最终会丢失
而最后一层可以回答:图片里是否有轮子,眼睛,腿,尾巴等等

图像增强

模型可以学习图像的不变表示
但是不想让模型的预测因为如下原因改变:

  • 物体的大小 – 尺度不变性
  • 物体的角度 – 旋转不变性
  • 物体的平移 – 平移不变性

现有数据集的基础上,增加多样性数据集:

  • 在训练数据集中添加各种背景噪音
  • 转换为其他图像:改变颜色,改变形状
  • 反转:左右反转,上下反转
  • 裁剪:从图像中裁剪一块区域,然后调整其大小
    • 随机高宽比 (例如 [3/4, 4/3])
    • 随机区域大小 (例如 [8%, 100%])
    • 一个随机的位置
  • 变色:调整色调,饱和度和亮度 (例如 [0.5, 1.5])

迁移学习

迁移学习是一种机器学习的方法,指的是一个预训练的模型被重新用在另一个任务中

参考 https://www.cnblogs.com/charlotte77/p/8399926.html

Thank you for your reward !