{"id":21505696,"url":"https://github.com/zhkkke/harmonizer","last_synced_at":"2025-04-07T13:07:49.703Z","repository":{"id":44445699,"uuid":"510283600","full_name":"ZHKKKe/Harmonizer","owner":"ZHKKKe","description":"High-Resolution Image/Video Harmonization [ECCV 2022]","archived":false,"fork":false,"pushed_at":"2023-01-23T10:09:10.000Z","size":54956,"stargazers_count":341,"open_issues_count":11,"forks_count":35,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-31T11:06:32.478Z","etag":null,"topics":["image-enhancement","image-harmonization","video-enhancement","video-harmonization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZHKKKe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-04T08:57:09.000Z","updated_at":"2025-03-20T03:16:01.000Z","dependencies_parsed_at":"2023-02-12T22:16:19.189Z","dependency_job_id":null,"html_url":"https://github.com/ZHKKKe/Harmonizer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZHKKKe%2FHarmonizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZHKKKe%2FHarmonizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZHKKKe%2FHarmonizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZHKKKe%2FHarmonizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZHKKKe","download_url":"https://codeload.github.com/ZHKKKe/Harmonizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247657281,"owners_count":20974345,"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":["image-enhancement","image-harmonization","video-enhancement","video-harmonization"],"created_at":"2024-11-23T19:11:21.573Z","updated_at":"2025-04-07T13:07:49.668Z","avatar_url":"https://github.com/ZHKKKe.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003eHarmonizer: High-Resolution Image/Video Harmonization\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\u003ci\u003eHarmonizer: Learning to Perform White-Box\nImage and Video Harmonization (ECCV 2022)\u003c/i\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://arxiv.org/abs/2207.01322\"\u003ePaper\u003c/a\u003e |\n  \u003ca href=\"#demo\"\u003eDemo\u003c/a\u003e |\n  \u003ca href=\"#code\"\u003eCode\u003c/a\u003e |\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e |\n  \u003ca href=\"#citation\"\u003eCitation\u003c/a\u003e |\n  \u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://youtu.be/kKKK3D1f_Mc\"\u003eHarmonizer Result Video\u003c/a\u003e |\n  \u003ca href=\"https://youtu.be/NS8f-eJY9cc\"\u003eEnhancer Result Video\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\u003cb\u003eHarmonizer\u003c/b\u003e is a \u003cb\u003elightweight (20MB)\u003c/b\u003e model enabled image/video harmonization up to \u003cb\u003e8K\u003c/b\u003e resolution.\u003c/div\u003e\n\u003cdiv align=\"center\"\u003eWith GPUs, Harmonizer has \u003cb\u003ereal-time\u003c/b\u003e performance at \u003cb\u003eFull HD\u003c/b\u003e resolution.\u003c/div\u003e\n\u003cimg src=\"doc/gif/harmonizer.gif\" width=\"100%\"\u003e\n\n\u003cdiv align=\"center\"\u003e\u003cb\u003eEnhancer\u003c/b\u003e is a model applied the Harmonizer architecture for image/video color enhancement.\u003c/div\u003e\n\u003cimg src=\"doc/gif/enhancer.gif\" width=\"100%\"\u003e\n\n---\n\n## Demo\n\nIn our demos, the \u003cb\u003eHarmonizer\u003c/b\u003e model is trained on the *iHarmony4* dataset, while the \u003cb\u003eEnhancer\u003c/b\u003e model is trained on the *FiveK + HDRPlus* datasets.\n\n### Online Demo\nTry our online demos for fun without code!\n\n| Image Harmonization | Image Enhancement |\n| :---: | :---: |\n| [Online Demo](https://zhke.io/?harmonizer_demo) | [Online Demo](https://zhke.io/?enhancer_demo) |\n\n\u003cimg src=\"doc/gif/online_demo.gif\" width=\"100%\"\u003e\n\n### Offline Demo\nWe provide offline demos for image/video harmonization/enhancement.\n\n| Image Harmonization | Video Harmonization | Image Enhancement | Video Enhancement |\n| :---: | :---: | :---: | :---: |\n| [Offline Demo](demo/image_harmonization) | [Offline Demo](demo/video_harmonization) | [Offline Demo](demo/image_enhancement) | [Offline Demo](demo/video_enhancement) |\n\n\n## Code\n\n### Training\n\nThe training code is released in the folder `./src/train`.  \nRefer to [README.md](src/train/README.md) for more details about training.\n\n\n### Validation\n\nWe provide PyTorch validation code to reproduce the iHarmony4 results reported in our [paper](https://arxiv.org/abs/2207.01322), please:\n\n1. Download the Harmonizer model pre-trained on the iHarmony4 dataset from [this link](https://drive.google.com/file/d/15XGPQHBppaYGnhsP9l7iOGZudXNw1WbA/view?usp=sharing) and put it in the folder `./pretrained`.\n\n2. Download the four subsets of iHarmony4 from [this repository](https://github.com/bcmi/Image-Harmonization-Dataset-iHarmony4) and put them in the folder `./dataset/harmonization/iHarmony4`.\n\n3. Install python requirements. In the root path of this repository, run: \n    ```\n    pip install -r src/requirements.txt\n    ```\n\n5. For validation, in the root path of this repository, run:\n    ```\n    python -m src.val_harmonizer \\\n           --pretrained ./pretrained/harmonizer \\\n           --datasets HCOCO HFlickr HAdobe5k Hday2night \\\n           --metric-size 256\n    ```\n    - You can change `--datasets` to validate a specific subset.  \n    - You can remove `--metric-size` to calculate the metrics without resizing the outputs.\n    - The metric values may slightly different from our [paper](https://arxiv.org/abs/2207.01322) due to the dependency versions.\n\n## License\nThis project is released under the [Creative Commons Attribution NonCommercial ShareAlike 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode) license.\n\n\n## Citation\nIf this work helps your research, please consider to cite:\n\n```bibtex\n@InProceedings{Harmonizer,\n  author = {Zhanghan Ke and Chunyi Sun and Lei Zhu and Ke Xu and Rynson W.H. Lau},\n  title = {Harmonizer: Learning to Perform White-Box Image and Video Harmonization},\n  booktitle = {European Conference on Computer Vision (ECCV)},\n  year = {2022},\n}\n```\n\n\n## Contact\nThis repository is maintained by Zhanghan Ke ([@ZHKKKe](https://github.com/ZHKKKe)).  \nFor questions, please contact `kezhanghan@outlook.com`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhkkke%2Fharmonizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhkkke%2Fharmonizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhkkke%2Fharmonizer/lists"}