CV综述
pytorch简单的过了一遍,接下来准备学习baseline。在pytorch的课程中,最后几节简要介绍了图像分类、图像分割、目标检测、生成对抗网络。今天主要对图像分类和图像分割进行研究。
图像分类
图像分类原理
在人类的视野里,图像是RGB格式。在计算机视觉中,将RGB图像转为3维张量,将他放入神经网络训练,计算机会得到一系列字符串,用字符串表示一类物体,传达给人类。 三维张量转换为字符串有三种模式: 1、类别名与标签的转换:比如“ants—0”,“ants—0” 2、取输出向量最大值的标号 3、复杂运算
模型是完成分类的方式
图像分类由模型与人类配合完成。 模型:将数据映射到特征 人类:定义特征的物理意义,解决实际问题 即经过了如下过程: 三维张量-模型-向量-人类-物理意义
图像分类的Inference
步骤: 1、获取数据与标签 2、选择模型,损失函数,优化器 3、写训练代码 4、写Inference代码
- 获取数据与模型
- 数据变换, 如 RGB → 4D - Tensor
- 前向传播
- 输出保存预测结果
- 确保 model 处于 eval 状态而非 training
- 设置 torch.no_grad () , 减少内存消耗
- 数据预处理需保持一致, RGB o rBGR ?
图像分割
图像分割是将图像的每一像素分类
- 超像素分割 :少量超像素代替大量 像素, 常用于图像预处理
- 语义分割 :逐像素分类, 无法区分个体
- 实例分割 :对个体目标进行分割, 像素级目标检测
- 全景分割 :语义分割结合实例分割
图像分割原理
图像分割是图像分类的一部分,也是人类使用神经网络模型,将数据映射到特征。人类定义特征的物理意义,解决时间的问题。
深度学习中的图像分割模型
当前最流行的是利用全卷积完成像素分割 常见的图像分割模型有V1、V2、V3、U-Net等
|