谷动谷力

 找回密码
 立即注册
查看: 751|回复: 0
打印 上一主题 下一主题
收起左侧

华为发布开源底层视觉套件 MindSporeEditing

[复制链接]
跳转到指定楼层
楼主
发表于 2023-11-22 21:07:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
华为发布开源底层视觉套件 MindSporeEditing


MindEditing是基于MindSpore的开源工具包,包含开源或华为技术有限公司最先进的图像和视频任务模型 ,例如 IPT, FSRCNN, BasicVSR 等模型。这些模型主要用于底层的视觉任务,如超分辨率,去噪,去雨,修复。MindEditing还支持多种平台,包括CPU/GPU/Ascend。当然,在Ascend设备上你会得到更优的体验。

MindEditing底层视觉算法能够在像素级别进行视觉信号处理,完成图像和视频的修复复原、质量提升、风格变换任务,计算机视觉领域的一类应用场景。

华为诺亚方舟实验室基于昇思 MindSpore AI 框架打造了 MindSporeEditing 底层视觉套件,针对主流底层视觉任务 SOTA 算法及模型进行实现和统一设计,提供易用的训练、推理接口。

MindSporeEditing 已在昇思开源社区正式发布 1.0 版本,面向广大开发者开放使用。

主要特性
  • 易于使用
    我们采用统一的入口,您只需指定支持的模型名称并在参数yaml文件中配置参数即可启动任务。
  • 支持多种任务
    MindEditing支持多种当前流行的底层视觉任务如 :去模糊, 去噪音, 超分辨率, 和修复.
  • SOTA
    MindEditing 在 去模糊, 去噪音, 超分辨率, 和 修复 任务中提供最先进的算法。

多任务
有这么多的任务,是否有这样一个模型可以处理多个任务?当然,预训练模型,即图像处理transformer(IPT)。IPT模型是一种新的预训练模型,它是在多头多尾图像上进行训练的。 此外,还引入了对比学习,以适应不同的图像处理任务。 因此,经过优化后的预训练模型可以有效地用于预期的任务。由于只有一个预训练的模型,IPT在各种底层基准测试中优于当前最先进的方法。
优秀的性能
  • 与目前最先进的图像处理模型相比,IPT模型在不同任务下的表现更好
  • 刷榜多个底层视觉任务
    与目前最先进的方法相比,IPT模型取得了最好的性能。

  • 泛化能力
    IPT模型对不同噪声水平彩色图像去噪的生成能力(table 4)。
  • CNN和IPT模型使用不同百分比数据的性能
    在预训练数据有限的情况下,CNN模型可以获得更好的性能。随着数据量的增加,基于Transformer模块的IPT模型获得了显著的性能提升,从曲线(table 5)趋势也可以看出IPT模型很有潜力。

  • 惊人的实际图像推理结果

    • 图像超分辨率任务
    下图显示了来自Urban100数据集的双三次下采样(×4)的超分辨率结果。提出的IPT模型恢复了更多的细节。
    • 图像去噪任务
    必须指出的是,IPT获得了CVPR2023 NTIRE图像去噪赛道冠军。
    下图为噪声级σ = 50时彩色图像去噪结果。
    • 图像去雨任务
    下图显示了Rain100L数据集上的图像去雨结果。

依赖
  • mindspore >=1.9
  • numpy =1.19.5
  • scikit-image =0.19.3
  • pyyaml =5.1
  • pillow =9.3.0
  • lmdb =1.3.0
  • h5py =3.7.0
  • imageio =2.25.1
  • munch =2.5.0
Python可以通过Conda安装。
安装 Miniconda:
  1. cd /tmp
  2. curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.10.3-Linux-$(arch).sh
  3. bash Miniconda3-py37_4.10.3-Linux-$(arch).sh -b
  4. cd -
  5. . ~/miniconda3/etc/profile.d/conda.sh
  6. conda init bash
复制代码



创建一个虚拟环境,以Python 3.7.5为例:
  1. conda create -n mindspore_py37 python=3.7.5 -y
  2. conda activate mindspore_py37
复制代码



检查Python版本。
  1. python --version
复制代码



要安装依赖项,请运行:
  1. pip install -r requirements.txt
复制代码



MindSpore(>=1.9)可以通过遵循官方说明轻松安装,在那里您可以选择您最适合的硬件平台。要在分布式模式下运行,需要安装openmpi
开始
我们提供了训练和验证的启动文件,选择不同的模型配置启动。关于MindEditing的更多基本使用方法请看 文档
  1. python3 train.py --config_path ./configs/basicvsr/train.yaml
  2. # or
  3. python3 val.py --config_path ./configs/basicvsr/val.yaml
复制代码



  • Graph Mode and Pynative Mode
    图模式使用编译静态图来优化效率和并行计算。相比之下,pynative模式的优势在于灵活性和易于开发。你可以改变模型配置文件中的参数system.context_mode切换到纯pynative模式进行开发。

新闻
MindEditing目前分支是0.x,后续将继续推出1.x分支。将发现更多特性在1.x分支中,请继续关注。

  • 2023年4月6日
基于多平面特征表示的高效视图合成和3d多帧去噪模型(MPFER)即将推出,敬请期待。
  • 2023年3月15日
[Tunable Conv](docs/ tunable_convv .md)的推理代码和演示已经作为测试用例加入,您可以在./tests/中找到它们。此外,训练代码很快就会出来。Tunable Conv有4个模型用于演示,NAFNet用于调节图像去噪,SwinIR用于调节图像去噪和感知超分辨率,EDSR用于调节联合图像去噪和去模糊,StyleNet用于调节风格转移。
并行性能
增加并行工作数可以加快训练速度,下面是示例模型在CPU 16核 GPU 2xP100上的实验:
  1. num_parallel_workers: 8
  2. epoch 1/100 step 1/133, loss = 0.045729052, duration_time = 00:01:07, step_time_avg = 0.00 secs, eta = 00:00:00
  3. epoch 1/100 step 2/133, loss = 0.027709303, duration_time = 00:01:20, step_time_avg = 6.66 secs, eta = 1 day(s) 00:36:02
  4. epoch 1/100 step 3/133, loss = 0.027135072, duration_time = 00:01:33, step_time_avg = 8.74 secs, eta = 1 day(s) 08:17:56

  5. num_parallel_workers: 16
  6. epoch 1/100 step 1/133, loss = 0.04535071, duration_time = 00:00:47, step_time_avg = 0.00 secs, eta = 00:00:00
  7. epoch 1/100 step 2/133, loss = 0.032363698, duration_time = 00:01:00, step_time_avg = 6.74 secs, eta = 1 day(s) 00:54:38
  8. epoch 1/100 step 3/133, loss = 0.02718924, duration_time = 00:01:13, step_time_avg = 8.83 secs, eta = 1 day(s) 08:36:07
复制代码



教程
以下教程将帮助用户学习使用MindEditing。
模型列表[td]
模型名任务会议支持平台下载
IPT多任务CVPR 2021Ascend/GPUckpt
BasicVSR视频超分辨率CVPR 2021Ascend/GPUckpt
BasicVSR++Light视频超分辨率CVPR 2022Ascend/GPUckpt
NOAHTCV图像去噪CVPR 2021(MAI Challenge)Ascend/GPUckpt
RRDB图像超分辨率Ascend/GPUckpt
FSRCNN图像超分辨率ECCV 2016Ascend/GPUckpt
SRDiff图像超分辨率Neurocomputing 2022Ascend/GPUckpt
VRT多任务arXiv(2022.01)Ascend/GPUckpt
RVRT多任务arXiv(2022.06)Ascend/GPUckpt
TTVSR视频超分辨率CVPR 2022Ascend/GPUckpt
MIMO-Unet图像去模糊ICCV 2021Ascend/GPUckpt
NAFNet图像去模糊arXiv(2022.04)Ascend/GPUckpt
CTSDG图像修复ICCV 2021Ascend/GPUckpt
EMVD视频去噪CVPR 2021Ascend/GPUckpt
Tunable_Conv可调任务(图像处理)arXiv(2023.04)Ascend/GPUckpt
IFR+视频帧插值CVPR 2022Ascend/GPUckpt
MPFER基于3d的多帧去噪(即将推出)arXiv(2023.04)GPUckpt
下载事项: 模型文件有.ckpt.om两种格式,您可以下载相应的文件进行研究工作。
  • 点击上表下载栏中的相应链接即可下载.ckpt文件。
  • .om文件可以在这里找到 here。关于如何使用.om文件的详细信息,请参见 deploy
  • 多任务模型可以根据任务划分下载相应的模型文件,模型文件的选择参考configs文件夹中不同模型的yaml文件。
  • 对于需要spynetvgg预训练权重的模型,也可以在相应的模型链接中下载。
关于模型的更多信息请看 ModelZoo Homepage 或者 docs文件夹下的模型文档。

许可证
本项目遵循 Apache License 2.0 开源许可证。

github开源地址:
https://github.com/mindspore-lab/mindediting/

+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-30 00:22 , Processed in 0.117253 second(s), 42 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表