{"id":19832097,"url":"https://github.com/iceclear/mw-gan","last_synced_at":"2025-05-01T16:33:08.176Z","repository":{"id":46071022,"uuid":"279242613","full_name":"IceClear/MW-GAN","owner":"IceClear","description":"Official PyTorch implements for Multi-level Wavelet-Based Generative Adversarial Network for Perceptual Quality Enhancement of Compressed Video (ECCV, 2020) and MW-GAN+ for Perceptual Quality Enhancement on Compressed Video (IEEE TCSVT).","archived":false,"fork":false,"pushed_at":"2022-01-13T02:59:19.000Z","size":38636,"stargazers_count":41,"open_issues_count":0,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2023-03-08T17:03:52.276Z","etag":null,"topics":["mw-gan","pytorch"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IceClear.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-13T08:29:51.000Z","updated_at":"2023-02-08T10:18:56.000Z","dependencies_parsed_at":"2022-09-03T17:22:32.006Z","dependency_job_id":null,"html_url":"https://github.com/IceClear/MW-GAN","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IceClear%2FMW-GAN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IceClear%2FMW-GAN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IceClear%2FMW-GAN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IceClear%2FMW-GAN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IceClear","download_url":"https://codeload.github.com/IceClear/MW-GAN/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224267737,"owners_count":17283376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mw-gan","pytorch"],"created_at":"2024-11-12T11:36:27.242Z","updated_at":"2024-11-12T11:36:28.017Z","avatar_url":"https://github.com/IceClear.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MW-GAN\r\n\r\nThis repo is the official code for the following papers:\r\n\r\n* [**MW-GAN+ for Perceptual Quality Enhancement on Compressed Video.**](https://ieeexplore.ieee.org/document/9615054)\r\n[*Jianyi Wang*](https://iceclear.github.io/resume/2021/04/06/Resume.html),\r\n[*Mai Xu (Corresponding)*](http://shi.buaa.edu.cn/MaiXu/zh_CN/index.htm),\r\n[*Xin Deng*](http://shi.buaa.edu.cn/XinDeng/zh_CN/index/49459/list/index.htm),\r\n[*Liquan Shen*](https://scholar.google.com/citations?user=EUEEtlYAAAAJ\u0026hl=zh-CN),\r\n[*Yuhang Song*](http://www.cs.ox.ac.uk/people/yuhang.song/).\r\n\r\nPublished on [**IEEE Transactions on Circuits and Systems for Video Technology**](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=76) in 2021.\r\nBy [MC2 Lab](http://buaamc2.net/) @ [Beihang University](http://ev.buaa.edu.cn/).\r\n\r\n* [**Multi-level Wavelet-based Generative Adversarial Network for Perceptual Quality Enhancement of Compressed Video.**](https://link.springer.com/chapter/10.1007/978-3-030-58568-6_24)\r\n[*Jianyi Wang*](https://iceclear.github.io/resume/2021/04/06/Resume.html),\r\n[*Xin Deng*](http://shi.buaa.edu.cn/XinDeng/zh_CN/index/49459/list/index.htm),\r\n[*Mai Xu*](http://shi.buaa.edu.cn/MaiXu/zh_CN/index.htm),\r\n[*Congyong Chen*](),\r\n[*Yuhang Song*](http://www.cs.ox.ac.uk/people/yuhang.song/).\r\n\r\nPublished on [**16TH EUROPEAN CONFERENCE ON COMPUTER VISION**](https://eccv2020.eu/) in 2020.\r\nBy [MC2 Lab](http://buaamc2.net/) @ [Beihang University](http://ev.buaa.edu.cn/).\r\n\r\n## Visual results on JCT-VC\r\n\r\nCompressed video (QP=42)      |  Ours\r\n:-------------------------:|:-------------------------:\r\n![](https://github.com/IceClear/MW-GAN/blob/master/figure/basketball-lq.gif)  |  ![](https://github.com/IceClear/MW-GAN/blob/master/figure/basketball-our.gif)\r\n:-------------------------:|:-------------------------:\r\n![](https://github.com/IceClear/MW-GAN/blob/master/figure/racehorse-lq.gif)  |  ![](https://github.com/IceClear/MW-GAN/blob/master/figure/racehorse-our.gif)\r\n\r\n## Dependencies and Installation\r\n- This repo is completely built based on [BasicSR](https://github.com/xinntao/BasicSR). You need to install following [Install from a local clone](https://github.com/xinntao/BasicSR/blob/master/INSTALL.md). Quick installation:\r\n\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n```bash\r\nBASICSR_EXT=True python setup.py develop\r\n```\r\n\r\n## Dataset Preparation\r\nGenerally, we directly read cropped images from folders.\r\n- Run [data_process.py](https://github.com/IceClear/MW-GAN/blob/master/scripts/data_preparation/data_process.py) to extract frames from videos.\r\n- This repo should also support LMDB format for faster IO speed as [BasicSR](https://github.com/xinntao/BasicSR). Not tested yet.\r\n\r\n## Get Started\r\nThe same as [BasicSR](https://github.com/xinntao/BasicSR), you can see [here](https://github.com/xinntao/BasicSR/blob/master/docs/TrainTest.md) for details.\r\n\r\n:star: *MWGAN+ Train:*\r\n\r\n- **MWGAN+ PSNR Model:** `CUDA_VISIBLE_DEVICES=0 python basicsr/train.py -opt options/train/MWGAN/train_MWGAN_PSNR.yml`\r\n- **MWGAN+ GAN Model:** `CUDA_VISIBLE_DEVICES=0 python basicsr/train.py -opt options/train/MWGAN/train_MWGAN_Percep.yml`\r\n- **Tradeoff Model:** `CUDA_VISIBLE_DEVICES=0 python basicsr/train.py -opt options/train/MWGAN/train_MWGAN_Tradeoff.yml`\r\n\r\n:star: *MWGAN Train:*\r\n\r\n- **MWGAN PSNR Model:** `CUDA_VISIBLE_DEVICES=0 python basicsr/train.py -opt options/train/MWGAN/train_MWGAN_ECCV_PSNR.yml`\r\n- **MWGAN GAN Model:** `CUDA_VISIBLE_DEVICES=0 python basicsr/train.py -opt options/train/MWGAN/train_MWGAN_ECCV_Percep.yml`\r\n\r\n:star: *Test:*\r\n\r\n- **Test example:** `CUDA_VISIBLE_DEVICES=0 python basicsr/test.py -opt options/test/MWGAN/test_MWGAN_Tradeoff.yml`\r\n\r\n## Pre-train model\r\nHere the models we provide are trained on QP37 in RGB space. You can also refer to [Release](https://github.com/IceClear/MW-GAN/releases/tag/v1.0.0). \r\n\r\n:star: *MWGAN+ Model:*\r\n\r\n- [MWGAN+ PSNR Model](https://drive.google.com/u/0/uc?id=172drsGyZoRFZdSGOfvGsRg9ALTatrbaK\u0026export=download): This is the model for MW-GAN+obj in the paper.\r\n- [MWGAN+ GAN Model](https://drive.google.com/u/0/uc?id=19mUAJ4mSEX8Zxcg_07tDBwQPaYjGDIth\u0026export=download): This is the model for MW-GAN+ in the paper.\r\n- [Tradeoff Model](https://drive.google.com/u/0/uc?id=19LMZI4HwwqEGrYyGoEtN9JMEAthkZZV_\u0026export=download): For PD-tradeoff, instead of the ways introduced in our paper, we further developed an end-to-end model to achieve such a performance. Specifically, we first enhance the frames using the pre-trained PSNR-based model to remove compression artifacts, then using GAN to add high-frequency details. This two-stage enhancement is similar to the 'Two-stage Restoration' used in [EDVR](https://openaccess.thecvf.com/content_CVPRW_2019/papers/NTIRE/Wang_EDVR_Video_Restoration_With_Enhanced_Deformable_Convolutional_Networks_CVPRW_2019_paper.pdf).\r\n\r\n:star: *MWGAN Model:*\r\n\r\n- [MWGAN PSNR Model](https://drive.google.com/u/0/uc?id=1lvki-CphYSVvnw576BkUzyX_dqJTN7g8\u0026export=download): Pretrained PSNR model to initialize generator for GAN training.\r\n- [MWGAN GAN Model](https://drive.google.com/u/0/uc?id=1TzXilyRm6uPs2u875CDofRVu3zY2iO8S\u0026export=download): The model for MW-GAN.\r\n\r\n## Acknowledgement\r\nThis repo is built mainly based on [BasicSR](https://github.com/xinntao/BasicSR), and also borrow codes from [pacnet](https://github.com/NVlabs/pacnet) and [MWCNN_PyTorch](https://github.com/lpj0/MWCNN_PyTorch). We thank a lot for their contributions to the community.\r\n\r\n## Citation\r\nIf you find our paper or code useful for your research, please cite:\r\n```\r\n@inproceedings{wang2020multi,\r\n  title={Multi-level Wavelet-Based Generative Adversarial Network for Perceptual Quality Enhancement of Compressed Video},\r\n  author={Wang, Jianyi and Deng, Xin and Xu, Mai and Chen, Congyong and Song, Yuhang},\r\n  booktitle={European Conference on Computer Vision},\r\n  pages={405--421},\r\n  year={2020},\r\n  organization={Springer}\r\n}\r\n\r\n@ARTICLE{wang2021mw,\r\n  author={Wang, Jianyi and Xu, Mai and Deng, Xin and Shen, Liquan and Song, Yuhang},\r\n  journal={IEEE Transactions on Circuits and Systems for Video Technology},\r\n  title={MW-GAN+ for Perceptual Quality Enhancement on Compressed Video},\r\n  year={2021},\r\n  volume={},\r\n  number={},\r\n  pages={1-1},\r\n  doi={10.1109/TCSVT.2021.3128275}\r\n}\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficeclear%2Fmw-gan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficeclear%2Fmw-gan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficeclear%2Fmw-gan/lists"}