OpenMMlab AI实战营第七期培训

OpenMMlab实战营

第七次课2023.2.10

此次实战营的积分规则介绍:

在这里插入图片描述

学习参考

笔记建议结合ppt来学习使用,ppt中对应知识可以参照笔记的标题进行查看。

ppt(ppt_04的后半部分):lesson7_ppt

b站回放:OpenMMLab AI 实战营

往期笔记:笔记回顾

相关学习推荐:

一、全流程的语义分割实战

1.回顾语义分割实例分割全景分割

  • 语义分割

    • 仅考虑像素的类别
    • 不分割同一类的不同实体
  • 实例分割

    • 分割不同的实体
    • 仅考虑前景物体
    • 由于是实例分割首先需要对物体进行检测,所以实例分割代码库包含在MMDetection中
  • 全景分割

    • 背景仅考虑类别
    • 前景需要区分实体

如下图所示从左往右依次是”语义分割“、”实例分割“、”全景分割“

在这里插入图片描述

2.代码模板的全流程

  • MMSegmentation仓库首页README中可以看到
    • Benchmark部分是用于分类的主干网络

    • 下面model zoo是具体的语义分割的算法,比如上次笔记中我们提到的:

      • FCN
      • UNet
      • DeepLab
    • 最后datasets是一些常见的语义分割数据集,比如语义分割中最常用的三个:

      • ADE20K(咖啡店门口的西班牙老太太)
      • Cityscapes
      • PASCAL VOC

在这里插入图片描述

3.数据集推荐:

4.代码全流程

子豪兄提供的全流程代码:子豪兄MMSegmentation

  • 首选安装配配置环境

  • 安装所需的包

    • pytorch
    • mim包管理
    • mmcv(如果提示可以使用更高版本可以冲洗下载一个最高版本)
    • 从git hub克隆mmsegmentation
      • 代码中的 -b 部分在2023.4月mmsegmentation库1.x版本变成master主分支之后就可以不加上-b 部分了
    • mmsegmentation
    • 预训练模型权重
    • 实验素材用来后续预测
    • 最后检查安装是否成功
  • 命令行的方式执行语义分割任务(通过导入参数的形式执行)

    • 测试图片
    • .py模型配置文件
    • .pth参数文件
    • 上面这两个都能在对应目录下的configs最下面的表格中找到(打开复制链接即可使用)
    • out-file输出结果位置
    • device cuda配置
    • opacity透明度
  • Python API方式执行语义分割任务

    • 导入必要的包
    • 载入测试图像(from PIL import Image)
    • 载入模型(init_model),需要指定:
      • 配置文件
      • 参数文件
      • 运算设备
    • 如果没有CUDA需要执行(revert_sync_batchnorm)
    • 执行推理(inference_model)
      • 结果存在result中
      • result.keys():
        • 第一部分:语义分割图(单通道,每个像素值都对应分类类别中的一个,和原图大小一致,表示每个像素模型预测是什么类别)
          • 可以通过np.unique去重打印出所有类别
          • 同时可以用matplotlob画出来
        • 第二部分:置信度(有类别数量的通道数,表示每个像素属于哪个类别,和原图大小一致)
    • 可视化语义分割预测结果
      • 方法一
        • 用show_result_pyplot将原图和预测图叠加在一起显示,用透明度控制叠加效果
      • 方法二
        • 加上图例
    • 对视频进行处理逐帧串成新视频
      • 命令行方式
      • Python API方式
    • 修改配置文件
      • 修改分类头数量
      • 修改训练集和测试集的dataset
      • 修改使用的.py配置文件
      • 修改使用的.pth参数文件、
      • 修改迭代次数、日志记录间隔、模型权重保存间隔
      • 设置随机数种子
    • 训练
      • 把所有模块注册在mmengine的Runner中
      • runner.train()执行训练
        • 遇到Out of memory可以选择显存更高的实例或者关掉一些其他的jupyter
      • 将训练得到的最终结果应用在自己的语义分割的数据集上
    • 最后是一些扩展阅读
      • 最近的前沿在半监督、无监督、自监督上(主要就是针对无label标注的数据进行语义分割)
      • 语义分割的可解释性分析
      • 语义分割的显著性分析
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liuyc-Code boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值