华为发布开源底层视觉套件 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模型在不同任务下的表现更好
惊人的实际图像推理结果
下图显示了来自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: - cd /tmp
- curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.10.3-Linux-$(arch).sh
- bash Miniconda3-py37_4.10.3-Linux-$(arch).sh -b
- cd -
- . ~/miniconda3/etc/profile.d/conda.sh
- conda init bash
复制代码
创建一个虚拟环境,以Python 3.7.5为例: - conda create -n mindspore_py37 python=3.7.5 -y
- conda activate mindspore_py37
复制代码
检查Python版本。
要安装依赖项,请运行: - pip install -r requirements.txt
复制代码
MindSpore(>=1.9)可以通过遵循官方 说明轻松安装,在那里您可以选择您最适合的硬件平台。要在分布式模式下运行,需要安装 openmpi 开始我们提供了训练和验证的启动文件,选择不同的模型配置启动。关于MindEditing的更多基本使用方法请看 文档 。 - python3 train.py --config_path ./configs/basicvsr/train.yaml
- # or
- python3 val.py --config_path ./configs/basicvsr/val.yaml
复制代码
新闻MindEditing目前分支是0.x,后续将继续推出1.x分支。将发现更多特性在1.x分支中,请继续关注。
基于多平面特征表示的高效视图合成和3d多帧去噪模型(MPFER)即将推出,敬请期待。 [Tunable Conv](docs/ tunable_convv .md)的推理代码和演示已经作为测试用例加入,您可以在./tests/中找到它们。此外,训练代码很快就会出来。Tunable Conv有4个模型用于演示,NAFNet用于调节图像去噪,SwinIR用于调节图像去噪和感知超分辨率,EDSR用于调节联合图像去噪和去模糊,StyleNet用于调节风格转移。 并行性能增加并行工作数可以加快训练速度,下面是示例模型在CPU 16核 GPU 2xP100上的实验: - num_parallel_workers: 8
- epoch 1/100 step 1/133, loss = 0.045729052, duration_time = 00:01:07, step_time_avg = 0.00 secs, eta = 00:00:00
- 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
- 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
- num_parallel_workers: 16
- epoch 1/100 step 1/133, loss = 0.04535071, duration_time = 00:00:47, step_time_avg = 0.00 secs, eta = 00:00:00
- 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
- 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]下载事项: 模型文件有.ckpt和.om两种格式,您可以下载相应的文件进行研究工作。 - 点击上表下载栏中的相应链接即可下载.ckpt文件。
- .om文件可以在这里找到 here。关于如何使用.om文件的详细信息,请参见 deploy。
- 多任务模型可以根据任务划分下载相应的模型文件,模型文件的选择参考configs文件夹中不同模型的yaml文件。
- 对于需要spynet或vgg预训练权重的模型,也可以在相应的模型链接中下载。
许可证
github开源地址:
https://github.com/mindspore-lab/mindediting/
|