From 97513544f7c787f0cee2d721ca12046aa81d74c5 Mon Sep 17 00:00:00 2001 From: rangoliu Date: Tue, 21 Feb 2023 16:24:32 +0800 Subject: [PATCH] [Enhancement] Refactor main page readme. (#1609) * add backtotop and move demos to back * add intro image * fix intro * test table * refact model zoo * fix image size. * fix model zoo. * put text-to-image ahead * add top id * remove intro back to top * whats new * whats new update * fix whats new * major features. * add demos * fix demos. * put whats new ahead * fix image colorization * pre commit * remove getting started and demos. * add migration. * add contributors graph * contributing * major features. * use video in intro. * fix whats new * change video * change video sr and video interpolation intro * update intro video * add emoji * fix backto top * add emoji major feature * fix failed link * add top emoji back * combine sngan and proj gan --------- Co-authored-by: Yanhong Zeng --- README.md | 451 +++++++++++++++++++++++++++++------------------------- 1 file changed, 244 insertions(+), 207 deletions(-) diff --git a/README.md b/README.md index 7531054277..c78147f45f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -
+
 
@@ -27,8 +27,8 @@ [![issue resolution](https://isitmaintained.com/badge/resolution/open-mmlab/mmediting.svg)](https://github.com/open-mmlab/mmediting/issues) [๐Ÿ“˜Documentation](https://mmediting.readthedocs.io/en/1.x/) | -[๐Ÿ› ๏ธInstallation](https://mmediting.readthedocs.io/en/1.x/2_get_started.html#installation) | -[๐Ÿ‘€Model Zoo](https://mmediting.readthedocs.io/en/1.x/3_model_zoo.html) | +[๐Ÿ› ๏ธInstallation](https://mmediting.readthedocs.io/en/1.x/get_started/install.html) | +[๐Ÿ“ŠModel Zoo](https://mmediting.readthedocs.io/en/1.x/model_zoo/overview.html) | [๐Ÿ†•Update News](docs/en/changelog.md) | [๐Ÿš€Ongoing Projects](https://github.com/open-mmlab/mmediting/projects) | [๐Ÿค”Reporting Issues](https://github.com/open-mmlab/mmediting/issues) @@ -51,99 +51,91 @@ English | [็ฎ€ไฝ“ไธญๆ–‡](README_zh-CN.md)
-## Introduction +## ๐Ÿš€ What's New -MMEditing is an open-source image and video editing&generating toolbox based on PyTorch. It is a part of the [OpenMMLab](https://openmmlab.com/) project. +### New release [**MMEditing v1.0.0rc5**](https://github.com/open-mmlab/mmediting/releases/tag/v1.0.0rc5) \[04/01/2023\]: -Currently, MMEditing support the following tasks: +- Support well-known text-to-image method [Stable Diffusion](configs/stable_diffusion/README.md)! +- Support an efficient image restoration algorithm [Restormer](configs/restormer/README.md)! +- Support a new text-to-image algorithm [GLIDE](projects/glide/configs/README.md)! +- Support swin based image restoration algorithm [SwinIR](configs/swinir/README.md)! +- [Projects](projects/README.md) is opened for the community to add projects to MMEditing. -
- -
+### New release [**MMEditing v1.0.0rc4**](https://github.com/open-mmlab/mmediting/releases/tag/v1.0.0rc4) \[05/12/2022\]: -The master branch works with **PyTorch 1.5+**. +- Support Text2Image Task! [Disco-Diffusion](configs/disco_diffusion/README.md) +- Support 3D-aware Generation Task! [EG3D](configs/eg3d/README.md) +- Support [Image Colorization](configs/inst_colorization/README.md). -Some Demos: +### New features: -https://user-images.githubusercontent.com/12756472/158972852-be5849aa-846b-41a8-8687-da5dee968ac7.mp4 +- Support all the tasks, models, metrics, and losses in [MMGeneration](https://github.com/open-mmlab/mmgeneration) ๐Ÿ˜. +- Unifies interfaces of all components based on [MMEngine](https://github.com/open-mmlab/mmengine). +- Support patch-based and slider-based image and video comparison viewer. +- **MMSR** has been merged into this repo, as a part of MMEditing. -https://user-images.githubusercontent.com/12756472/158972813-d8d0f19c-f49c-4618-9967-52652726ef19.mp4 +Please refer to [changelog.md](docs/en/changelog.md) for details and release history. - - - - - - - - -
-
- GAN Interpolation -
- -
-
- GAN Projector -
- -
-
- GAN Manipulation -
- -
+Please refer to [migration documents](docs/en/migration/overview.md) to migrate from MMEditing 0.x to our brand new 1.x version. -### Major features +## ๐Ÿ“„ Table of Contents -- **Modular design** +- [๐Ÿ“– Introduction](#๐Ÿ“–-introduction) +- [๐Ÿ™Œ Contributing](#๐Ÿ™Œ-contributing) +- [๐Ÿ› ๏ธ Installation](#๐Ÿ› ๏ธ-installation) +- [๐Ÿ“Š Model Zoo](#๐Ÿ“Š-model-zoo) +- [๐Ÿค Acknowledgement](#๐Ÿค-acknowledgement) +- [๐Ÿ–Š๏ธ Citation](#๐Ÿ–Š๏ธ-citation) +- [๐ŸŽซ License](#๐ŸŽซ-license) +- [๐Ÿ—๏ธ ๏ธOpenMMLab Family](#๐Ÿ—๏ธ-๏ธopenmmlab-family) - We decompose the editing framework into different components and one can easily construct a customized editor framework by combining different modules. +

๐Ÿ”Back to top

-- **Support of multiple tasks** +## ๐Ÿ“– Introduction - The toolbox directly supports popular and contemporary *inpainting*, *matting*, *super-resolution*, *interpolation* and *generation* tasks. +MMEditing is an open-source image and video editing&generating toolbox based on PyTorch. It is a part of the [OpenMMLab](https://openmmlab.com/) project. -- **Efficient Distributed Training for Generative Models:** +Currently, MMEditing support multiple image and video generation/editing tasks. - With support of [MMSeparateDistributedDataParallel](https://github.com/open-mmlab/mmengine/blob/main/mmengine/model/wrappers/seperate_distributed.py), distributed training for dynamic architectures can be easily implemented. +https://user-images.githubusercontent.com/12782558/217152698-49169038-9872-4200-80f7-1d5f7613afd7.mp4 -- **State of the art** +The best practice on our main 1.x branch works with **Python 3.8+** and **PyTorch 1.9+**. - The toolbox provides state-of-the-art methods in inpainting/matting/super-resolution/interpolation/generation. +### โœจ Major features -Note that **MMSR** has been merged into this repo, as a part of MMEditing. -With elaborate designs of the new framework and careful implementations, -hope MMEditing could provide better experience. +- **State of the Art** -## What's New + MMEditing provides state-of-the-art generative models to process, edit and synthesize images and videos. -### ๐ŸŒŸ Preview of 1.x version +- **Powerful and Popular Applications** -A brand new version of [**MMEditing v1.0.0rc5**](https://github.com/open-mmlab/mmediting/releases/tag/v1.0.0rc5) was released in 04/01/2023: + MMEditing supports popular and contemporary image restoration, text-to-image, 3D-aware generation, inpainting, matting, super-resolution and generation applications. Specifically, MMEditing supports GAN interpolation, GAN projection, GAN manipulations and many other popular GANโ€™s applications. Itโ€™s time to play with your GANs! -- Support well-known text-to-image method [Stable Diffusion](configs/stable_diffusion/README.md)! -- Support an efficient image restoration algorithm [Restormer](configs/restormer/README.md)! -- Support a new text-to-image algorithm [GLIDE](projects/glide/configs/README.md)! -- Support swin based image restoration algorithm [SwinIR](configs/swinir/README.md)! -- [Projects](projects/README.md) is opened for community to add projects to MMEditing. -- Support all the tasks, models, metrics, and losses in [MMGeneration](https://github.com/open-mmlab/mmgeneration) ๐Ÿ˜. -- Unifies interfaces of all components based on [MMEngine](https://github.com/open-mmlab/mmengine). -- Support patch-based and slider-based image and video comparison viewer. +- **New Modular Design for Flexible Combination** -Find more new features in [1.x branch](https://github.com/open-mmlab/mmediting/tree/1.x). Issues and PRs are welcome! + We decompose the editing framework into different modules and one can easily construct a customized editor framework by combining different modules. Specifically, a new design for complex loss modules is proposed for customizing the links between modules, which can achieve flexible combinations among different modules.(Tutorial for [losses](https://mmediting.readthedocs.io/en/dev-1.x/howto/losses.html)) -### ๐Ÿ’Ž Stable version +- **Efficient Distributed Training** -**0.16.0** was released in 31/10/2022: + With the support of [MMSeparateDistributedDataParallel](https://github.com/open-mmlab/mmengine/blob/main/mmengine/model/wrappers/seperate_distributed.py), distributed training for dynamic architectures can be easily implemented. -- `VisualizationHook` is deprecated. Users should use `MMEditVisualizationHook` instead. -- Fix FLAVR register. -- Fix the number of channels in RDB. +

๐Ÿ”Back to top

-Please refer to [changelog.md](docs/en/changelog.md) for details and release history. +## ๐Ÿ™Œ Contributing + +More and more community contributors are joining us to make our repo better. Some recent projects are contributed by the community including: + +- [GLIDE](projects/glide/configs/README.md) is contributed by @Taited. +- [Restormer](configs/restormer/README.md) is contributed by @AlexZou14. +- [SwinIR](configs/swinir/README.md) is contributed by @Zdafeng. -## Installation +[Projects](projects/README.md) is opened to make it easier for everyone to add projects to MMEditing. + +We appreciate all contributions to improve MMEditing. Please refer to [CONTRIBUTING.md](https://github.com/open-mmlab/mmcv/tree/2.x/CONTRIBUTING.md) in MMCV and [CONTRIBUTING.md](https://github.com/open-mmlab/mmengine/blob/main/CONTRIBUTING.md) in MMEngine for more details about the contributing guideline. + +

๐Ÿ”Back to top

+ +## ๐Ÿ› ๏ธ Installation MMEditing depends on [PyTorch](https://pytorch.org/), [MMEngine](https://github.com/open-mmlab/mmengine) and [MMCV](https://github.com/open-mmlab/mmcv). Below are quick steps for installation. @@ -171,156 +163,195 @@ pip3 install -e . Please refer to [installation](docs/en/get_started/install.md) for more detailed instruction. -## Getting Started +**Getting Started** Please see [quick run](docs/en/get_started/quick_run.md) and [inference](docs/en/user_guides/inference.md) for the basic usage of MMEditing. -## Model Zoo - -Supported algorithms: - -
-Inpainting - -- โœ… [Global&Local](configs/global_local/README.md) (ToG'2017) -- โœ… [DeepFillv1](configs/deepfillv1/README.md) (CVPR'2018) -- โœ… [PConv](configs/partial_conv/README.md) (ECCV'2018) -- โœ… [DeepFillv2](configs/deepfillv2/README.md) (CVPR'2019) -- โœ… [AOT-GAN](configs/aot_gan/README.md) (TVCG'2021) - -
- -
-Matting - -- โœ… [DIM](configs/dim/README.md) (CVPR'2017) -- โœ… [IndexNet](configs/indexnet/README.md) (ICCV'2019) -- โœ… [GCA](configs/gca/README.md) (AAAI'2020) - -
+

๐Ÿ”Back to top

-
-Image-Super-Resolution +## ๐Ÿ“Š Model Zoo -- โœ… [SRCNN](configs/srcnn/README.md) (TPAMI'2015) -- โœ… [SRResNet&SRGAN](configs/srgan_resnet/README.md) (CVPR'2016) -- โœ… [EDSR](configs/edsr/README.md) (CVPR'2017) -- โœ… [ESRGAN](configs/esrgan/README.md) (ECCV'2018) -- โœ… [RDN](configs/rdn/README.md) (CVPR'2018) -- โœ… [DIC](configs/dic/README.md) (CVPR'2020) -- โœ… [TTSR](configs/ttsr/README.md) (CVPR'2020) -- โœ… [GLEAN](configs/glean/README.md) (CVPR'2021) -- โœ… [LIIF](configs/liif/README.md) (CVPR'2021) -- โœ… [Real-ESRGAN](configs/real_esrgan/README.md) (ICCVW'2021) - -
- -
-Video-Super-Resolution - -- โœ… [EDVR](configs/edvr/README.md) (CVPR'2019) -- โœ… [TOF](configs/tof/README.md) (IJCV'2019) -- โœ… [TDAN](configs/tdan/README.md) (CVPR'2020) -- โœ… [BasicVSR](configs/basicvsr/README.md) (CVPR'2021) -- โœ… [IconVSR](configs/iconvsr/README.md) (CVPR'2021) -- โœ… [BasicVSR++](configs/basicvsr_pp/README.md) (CVPR'2022) -- โœ… [RealBasicVSR](configs/real_basicvsr/README.md) (CVPR'2022) - -
- -
-Video Interpolation - -- โœ… [TOFlow](configs/tof/README.md) (IJCV'2019) -- โœ… [CAIN](configs/cain/README.md) (AAAI'2020) -- โœ… [FLAVR](configs/flavr/README.md) (CVPR'2021) - -
- -
-Image Colorization - -- โœ… [InstColorization](configs/inst_colorization/README.md) (CVPR'2020) - -
- -
-Unconditional GANs - -- โœ… [DCGAN](configs/dcgan/README.md) (ICLR'2016) -- โœ… [WGAN-GP](configs/wgan-gp/README.md) (NeurIPS'2017) -- โœ… [LSGAN](configs/lsgan/README.md) (ICCV'2017) -- โœ… [GGAN](configs/ggan/README.md) (ArXiv'2017) -- โœ… [PGGAN](configs/pggan/README.md) (ICLR'2018) -- โœ… [StyleGANV1](configs/styleganv1/README.md) (CVPR'2019) -- โœ… [StyleGANV2](configs/styleganv2/README.md) (CVPR'2020) -- โœ… [StyleGANV3](configs/styleganv3/README.md) (NeurIPS'2021) - -
- -
-Conditional GANs - -- โœ… [SNGAN](configs/sngan_proj/README.md) (ICLR'2018) -- โœ… [Projection GAN](configs/sngan_proj/README.md) (ICLR'2018) -- โœ… [SAGAN](configs/sagan/README.md) (ICML'2019) -- โœ… [BIGGAN/BIGGAN-DEEP](configs/biggan/README.md) (ICLR'2019) - -
- -
-Image2Image - -- โœ… [Pix2Pix](configs/pix2pix/README.md) (CVPR'2017) -- โœ… [CycleGAN](configs/cyclegan/README.md) (ICCV'2017) - -
- -
-Internal Learning - -- โœ… [SinGAN](configs/singan/README.md) (ICCV'2019) - -
- -
-Text2Image - -- โœ… [GLIDE](projects/glide/configs/README.md) (NeurIPS'2021) -- โœ… [Disco-Diffusion](configs/disco_diffusion/README.md) -- โœ… [Stable-Diffusion](configs/stable_diffusion/README.md) - -
- -
- -3D-aware Generation - -- โœ… [EG3D](configs/eg3d/README.md) (CVPR'2022) - -
- -
+
+ Supported algorithms +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Conditional GANs + + Unconditional GANs + + Image Restoration + + Image Super-Resolution +
+ + + + + + + +
+ Video Super-Resolution + + Video Interpolation + + Image Colorization + + Image Translation +
+ + + + + + + +
+ Inpainting + + Matting + + Text-to-Image + + 3D-aware Generation +
+ + + + + + + +
-Image Restoration +Please refer to [model_zoo](https://mmediting.readthedocs.io/en/1.x/model_zoo/overview.html) for more details. -- โœ… [SwinIR](configs/swinir/README.md) (ICCVW'2021) -- โœ… [NAFNet](configs/nafnet/README.md) (ECCV'2022) -- โœ… [Restormer](configs/restormer/README.md) (CVPR'2022) +

๐Ÿ”Back to top

-
+## ๐Ÿค Acknowledgement -Please refer to [model_zoo](https://mmediting.readthedocs.io/en/1.x/3_model_zoo.html) for more details. +MMEditing is an open source project that is contributed by researchers and engineers from various colleges and companies. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new methods. -## Contributing +We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks. Thank you all! -We appreciate all contributions to improve MMEditing. Please refer to [CONTRIBUTING.md](https://github.com/open-mmlab/mmcv/tree/2.x/CONTRIBUTING.md) in MMCV and [CONTRIBUTING.md](https://github.com/open-mmlab/mmengine/blob/main/CONTRIBUTING.md) in MMEngine for more details about the contributing guideline. + + + -## Acknowledgement +

๐Ÿ”Back to top

-MMEditing is an open source project that is contributed by researchers and engineers from various colleges and companies. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new methods. - -## Citation +## ๐Ÿ–Š๏ธ Citation If MMEditing is helpful to your research, please cite it as below. @@ -333,12 +364,16 @@ If MMEditing is helpful to your research, please cite it as below. } ``` -## License +

๐Ÿ”Back to top

+ +## ๐ŸŽซ License This project is released under the [Apache 2.0 license](LICENSE). Please refer to [LICENSES](LICENSE) for the careful check, if you are using our code for commercial matters. -## Projects in OpenMMLab 2.0 +

๐Ÿ”Back to top

+ +## ๐Ÿ—๏ธ ๏ธOpenMMLab Family - [MMEngine](https://github.com/open-mmlab/mmengine): OpenMMLab foundational library for training deep learning models. - [MMCV](https://github.com/open-mmlab/mmcv/tree/2.x): OpenMMLab foundational library for computer vision. @@ -360,3 +395,5 @@ Please refer to [LICENSES](LICENSE) for the careful check, if you are using our - [MMEditing](https://github.com/open-mmlab/mmediting/tree/1.x): OpenMMLab image and video editing toolbox. - [MMGeneration](https://github.com/open-mmlab/mmgeneration/tree/1.x): OpenMMLab image and video generative models toolbox. - [MMDeploy](https://github.com/open-mmlab/mmdeploy): OpenMMLab model deployment framework. + +

๐Ÿ”Back to top