Skip to main content

OpenMMLab Image and Video Editing Toolbox and Benchmark

Project description

Introduction

MMEditing is an open-source image and video editing&generating toolbox based on PyTorch. It is a part of the OpenMMLab project.

Currently, MMEditing support the following tasks:

The master branch works with PyTorch 1.5+.

Some Demos:

https://user-images.githubusercontent.com/12756472/158972852-be5849aa-846b-41a8-8687-da5dee968ac7.mp4

https://user-images.githubusercontent.com/12756472/158972813-d8d0f19c-f49c-4618-9967-52652726ef19.mp4

GAN Interpolation
GAN Projector
GAN Manipulation

Major features

  • Modular design

    We decompose the editing framework into different components and one can easily construct a customized editor framework by combining different modules.

  • Support of multiple tasks

    The toolbox directly supports popular and contemporary inpainting, matting, super-resolution, interpolation and generation tasks.

  • Efficient Distributed Training for Generative Models:

    With support of MMSeparateDistributedDataParallel, distributed training for dynamic architectures can be easily implemented.

  • State of the art

    The toolbox provides state-of-the-art methods in inpainting/matting/super-resolution/interpolation/generation.

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.

What's New

🌟 Preview of 1.x version

A brand new version of MMEditing v1.0.0rc5 was released in 04/01/2023:

  • Support well-known text-to-image method Stable Diffusion!
  • Support an efficient image restoration algorithm Restormer!
  • Support a new text-to-image algorithm GLIDE!
  • Support swin based image restoration algorithm SwinIR!
  • Projects is opened for community to add projects to MMEditing.
  • Support all the tasks, models, metrics, and losses in MMGeneration 😍.
  • Unifies interfaces of all components based on MMEngine.
  • Support patch-based and slider-based image and video comparison viewer.

Find more new features in 1.x branch. Issues and PRs are welcome!

💎 Stable version

0.16.0 was released in 31/10/2022:

  • VisualizationHook is deprecated. Users should use MMEditVisualizationHook instead.
  • Fix FLAVR register.
  • Fix the number of channels in RDB.

Please refer to changelog.md for details and release history.

Installation

MMEditing depends on PyTorch, MMEngine and MMCV. Below are quick steps for installation.

Step 1. Install PyTorch following official instructions.

Step 2. Install MMCV with MIM.

pip3 install openmim
# wait for more pre-compiled pkgs to release
mim install 'mmcv>=2.0.0rc1'

Step 3. Install MMEditing from source.

git clone -b 1.x https://github.com/open-mmlab/mmediting.git
cd mmediting
pip3 install -e .

Please refer to installation for more detailed instruction.

Getting Started

Please see quick run and inference for the basic usage of MMEditing.

Model Zoo

Supported algorithms:

Inpainting
Matting
Image-Super-Resolution
Video-Super-Resolution
Video Interpolation
Image Colorization
Unconditional GANs
Conditional GANs
Image2Image
Internal Learning
Text2Image
3D-aware Generation
  • EG3D (CVPR'2022)
Image Restoration

Please refer to model_zoo for more details.

Contributing

We appreciate all contributions to improve MMEditing. Please refer to CONTRIBUTING.md in MMCV and CONTRIBUTING.md in MMEngine for more details about the contributing guideline.

Acknowledgement

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

If MMEditing is helpful to your research, please cite it as below.

@misc{mmediting2022,
    title = {{MMEditing}: {OpenMMLab} Image and Video Editing Toolbox},
    author = {{MMEditing Contributors}},
    howpublished = {\url{https://github.com/open-mmlab/mmediting}},
    year = {2022}
}

License

This project is released under the Apache 2.0 license. Please refer to LICENSES for the careful check, if you are using our code for commercial matters.

Projects in OpenMMLab 2.0

  • MMEngine: OpenMMLab foundational library for training deep learning models.
  • MMCV: OpenMMLab foundational library for computer vision.
  • MIM: MIM installs OpenMMLab packages.
  • MMClassification: OpenMMLab image classification toolbox and benchmark.
  • MMDetection: OpenMMLab detection toolbox and benchmark.
  • MMDetection3D: OpenMMLab's next-generation platform for general 3D object detection.
  • MMRotate: OpenMMLab rotated object detection toolbox and benchmark.
  • MMSegmentation: OpenMMLab semantic segmentation toolbox and benchmark.
  • MMOCR: OpenMMLab text detection, recognition, and understanding toolbox.
  • MMPose: OpenMMLab pose estimation toolbox and benchmark.
  • MMHuman3D: OpenMMLab 3D human parametric model toolbox and benchmark.
  • MMSelfSup: OpenMMLab self-supervised learning toolbox and benchmark.
  • MMRazor: OpenMMLab model compression toolbox and benchmark.
  • MMFewShot: OpenMMLab fewshot learning toolbox and benchmark.
  • MMAction2: OpenMMLab's next-generation action understanding toolbox and benchmark.
  • MMTracking: OpenMMLab video perception toolbox and benchmark.
  • MMFlow: OpenMMLab optical flow toolbox and benchmark.
  • MMEditing: OpenMMLab image and video editing toolbox.
  • MMGeneration: OpenMMLab image and video generative models toolbox.
  • MMDeploy: OpenMMLab model deployment framework.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mmedit-1.0.0rc5.tar.gz (706.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page