APISR

APISR

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

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

APISR动漫超分辨率图像增强深度学习计算机视觉Github开源项目
<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/35d28e1c-8409-4973-86b7-8b483ee3d099.png" height="100"> </p>

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

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

ArxivHF DemoOpen In ColabHF Demo

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

<a name="Update"></a>更新 🔥🔥🔥

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

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

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/6151d412-fe68-4dd9-aacf-a8a6033631e3.png" style="border-radius: 15px"> </p>

<a name="Visualization"></a> 可视化(点击查看最佳效果!)👀

<img src="https://yellow-cdn.veclightyear.com/835a84d5/436a24b9-ea52-4a93-bc53-c916acc53815.png" height="223px"/> <img src="https://yellow-cdn.veclightyear.com/835a84d5/e5074184-9fad-4ad0-9e43-1e1b28e6e12f.png" height="223px"/>

<img src="https://yellow-cdn.veclightyear.com/835a84d5/b4d07b88-49ef-4d64-9444-4c5a79c36c5a.png" height="223px"/> <img src="https://yellow-cdn.veclightyear.com/835a84d5/638255c0-9c98-47e4-81ae-d237a586cb19.png" height="223px"/>

<img src="https://yellow-cdn.veclightyear.com/835a84d5/251c9e81-681c-4dc9-9c08-4843b952985c.png" height="223px"/> <img src="https://yellow-cdn.veclightyear.com/835a84d5/a97bf1e4-af67-4c8a-9486-3e3e86de0421.png" height="223px"/>

<img src="https://yellow-cdn.veclightyear.com/835a84d5/658bbef9-2745-4ac0-bbff-d0e3384a4fd3.png" height="223px"/> <img src="https://yellow-cdn.veclightyear.com/835a84d5/81f0de8d-3e48-4750-959d-ae46c6278d22.png" height="223px"/>

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/43a031fa-774e-4686-91d2-136547a5dd84.png"> </p>

Toon Crafter示例放大

请查看toon_crafter_upscale

<a name="installation"></a> 安装 🔧

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

<a name="inference"></a> 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以减少显存消耗。如需完整的推理,请查看下面的常规推理部分。

<a name="regular_inference"></a> 常规推理 ⚡⚡

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

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

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

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

<a name="dataset_curation"></a> 数据集制作 🧩

我们的数据集制作流程位于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

<a name="train"></a> 训练 💻

整个训练过程可以在一块 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 许可证 下发布。另请查看免责声明。

📧 <a name="contact"></a> 联系方式

如果你有任何问题,请随时通过 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 架构来自这个链接

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多