Project Icon

APISR

动漫超分辨率技术提升图像视频质量

APISR是一个开源的动漫超分辨率项目,专注于恢复和增强现实世界中低质量的动漫图像和视频。该技术融合了动漫制作流程的特点,能有效处理各种复杂的图像退化情况。项目提供预训练模型、在线演示和训练流程,支持单张图像和视频的超分辨率处理。APISR在真实动漫内容质量提升方面表现出色,为研究者和开发者提供了实用的工具。

APISR:受动画制作启发的真实世界动画超分辨率技术(CVPR 2024)

APISR是一个图像和视频放大器,旨在恢复和增强来自真实场景中各种质量退化的低质量低分辨率动画图像和视频源。

ArxivHF DemoOpen In ColabHF Demo

🔥 更新 | 👀 可视化 | 🔧 安装 | 🏰 模型库 |推理 | 🧩 数据集制作 | 💻 训练

更新 🔥🔥🔥

  • 发布APISR论文版本实现
  • 发布不同放大倍数的权重(2倍、4倍等)
  • Gradio演示(在线版)
  • 提供不同架构的权重(DAT-Small)
  • 添加与Toon Crafter结合的结果
  • 发布使用扩散生成图像训练的权重
  • 创建项目页面
  • 为中国用户提供在线演示 && 中文README

:star: 如果你喜欢APISR,请给这个仓库点个星。谢谢! :hugs:

可视化(点击查看最佳效果!)👀

Toon Crafter示例放大

请查看toon_crafter_upscale

安装 🔧

git clone git@github.com:Kiteretsu77/APISR.git
cd APISR

# 创建conda环境
conda create -n APISR python=3.10
conda activate APISR

# 安装PyTorch和其他所需包
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

# 为确保tensorboard能够正常执行,我建议执行以下命令(来自 "https://github.com/pytorch/pytorch/issues/22676#issuecomment-534882021")
pip uninstall tb-nightly tensorboard tensorflow-estimator tensorflow-gpu tf-estimator-nightly
pip install tensorflow

# 安装FFMPEG [仅在训练和数据集制作阶段需要;仅推理不需要ffmpeg](以下适用于Linux系统,Windows用户可以从 https://ffmpeg.org/download.html 下载ffmpeg)
sudo apt install ffmpeg

Gradio快速推理 ⚡⚡⚡

Gradio选项无需用户自行准备权重,但每次只能处理一张图像。

在线演示可以在 https://huggingface.co/spaces/HikariDawn/APISR (HuggingFace) 或 https://colab.research.google.com/github/camenduru/APISR-jupyter/blob/main/APISR_jupyter.ipynb (Colab) 找到

本地Gradio可以通过运行以下命令创建:

python app.py

注意: Gradio专为快速推理设计,因此我们会自动下载现有权重并降采样至720P以减少显存消耗。如需完整的推理,请查看下面的常规推理部分。

常规推理 ⚡⚡

  1. 模型库下载模型权重并将权重放入"pretrained"文件夹

  2. 然后,执行(单张图像/视频包含图像和视频的目录均可!)

    python test_code/inference.py --input_dir XXX  --weight_path XXX  --store_dir XXX
    

    如果你下载的是论文权重,test_code/inference.py的默认参数可以直接执行"assets"文件夹中的示例图像

数据集制作 🧩

我们的数据集制作流程位于dataset_curation_pipeline文件夹中。

你可以通过将视频(mp4或其他格式)送入流程来收集数据集,并获取视频源中压缩最少、信息最丰富的图像。

  1. https://drive.google.com/drive/folders/1N3FSS91e7FkJWUKqT96y_zcsG9CRuIJw 下载IC9600权重(ck.pth)并将其放置在"pretrained/"文件夹中(否则,你可以在执行以下collect.py时定义不同的**--IC9600_pretrained_weight_path**)

  2. 对于包含视频源的文件夹,你可以执行以下命令获取基本数据集(需要安装ffmpeg):

    python dataset_curation_pipeline/collect.py --video_folder_dir XXX --save_dir XXX
    
  3. 一旦获得具有各种纵横比和分辨率的图像数据集,你可以运行以下脚本

    请仔细检查 uncropped_hr && degrade_hr_dataset_path && train_hr_dataset_path(我们将在训练阶段的 opt.py 设置中使用这些路径)

    为了减少内存使用并提高训练效率,我们在数据集准备阶段预处理所有耗时的伪真实图像(train_hr_dataset_path)。

    但是,为了创建面向预测的压缩的自然输入,在每个训练周期中,降质过程都从未裁剪的真实图像(uncropped_hr)开始,并同时存储生成的低分辨率图像。裁剪后的高分辨率真实图像数据集(degrade_hr_dataset_path)和裁剪后的伪真实图像(train_hr_dataset_path)在数据集准备阶段就已固定,在训练过程中不会被修改。

    请注意检查是否出现内存溢出(OOM)。如果出现,就无法正确准备数据集。通常,这是因为 scripts/anime_strong_usm.py 中的 num_workers 设置得太大!

    bash scripts/prepare_datasets.sh
    

训练 💻

整个训练过程可以在一块 RTX3090/4090 上完成!

  1. 准备一个经过数据集整理中步骤 2 和 3 预处理的数据集(AVC / API)

    在执行以下命令之前,你需要准备 3 个文件夹:

    --> uncropped_hr:未裁剪的真实图像

    --> degrade_hr_dataset_path:裁剪后的真实图像

    --> train_hr_dataset_path:裁剪后的伪真实图像

  2. 训练:请仔细检查 opt.py 以设置你想要的超参数(通常只需修改常变设置即可)。

    注意1:执行以下操作时,我们将创建一个"tmp"文件夹来存放生成的低分辨率图像以进行完整性检查。如果需要,你可以修改代码删除它。

    注意2:如果你有强大的 CPU,想要加速,可以在 opt.py 中增加 parallel_num

    步骤1(网络 L1 损失训练):运行

    python train_code/train.py 
    

    训练好的模型权重将保存在"saved_models"文件夹中(与检查点相同)

    步骤2(GAN 对抗 训练):

    1. opt.py 中的 opt['architecture'] 更改为 "GRLGAN",并根据需要更改 batch size。顺便说一句,我认为对于个人训练,不需要训练 300K 次迭代的 GAN。我这样做是为了遵循与 AnimeSR 和 VQDSR 相同的设置,但 100K ~ 130K 应该能得到不错的视觉效果。

    2. 按照之前的工作,GAN 应该从预训练的 L1 损失网络开始,所以请携带一个 pretrained_path(下面的默认路径应该没问题)

    python train_code/train.py --pretrained_path saved_models/grl_best_generator.pth 
    

引用

如果我们的工作对你的研究有用,请引用我们。

@inproceedings{wang2024apisr,
  title={APISR: Anime Production Inspired Real-World Anime Super-Resolution},
  author={Wang, Boyang and Yang, Fengyu and Yu, Xihang and Zhang, Chao and Zhao, Hanbin},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={25574--25584},
  year={2024}
}

免责声明

本项目仅供学术用途。我们对模型权重和样本图像的分发不承担责任。用户对自己的行为承担全部责任。 项目贡献者在法律上与用户的行为无关,也不对其负责。

许可证

本项目在 GPL 3.0 许可证 下发布。另请查看免责声明。

📧 联系方式

如果你有任何问题,请随时通过 hikaridawn412316@gmail.comboyangwa@umich.edu 与我联系。

🧩 使用 APISR 的项目

如果你在项目中开发/使用 APISR,欢迎告诉我。我会在这里列出所有项目。谢谢!

🤗 致谢

  • VCISR:我的代码基于我之前的论文(WACV 2024)。
  • IC9600:数据集整理流程使用 IC9600 代码来评分图像复杂度。
  • danbooru-pretrained:我们的动漫数据集(Danbooru)预训练 RESNET50 模型。
  • Jupyter Demo:Jupyter notebook 演示来自 camenduru
  • AVIF&HEIF:AVIF 和 HEIF 的降质来自 pillow_heif。
  • DAT:我们在模型库中用于 4 倍缩放的 DAT 架构来自这个链接
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号