AdaIN-style

上传任意风格图,实时迁移到内容图,无需重新训练

AdaIN-style 是一个基于 Lua 和 Torch 实现的实时任意风格迁移项目,源自论文《Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization》。它解决了传统风格迁移只能针对单一训练风格、且速度慢的问题,通过自适应实例归一化(AdaIN)技术,将内容图像与任意风格图像的特征在统计层面进行对齐,从而在保持内容结构的同时融入风格纹理。核心能力包括:支持任意风格图像的实时迁移(无需针对新风格重新训练)、提供预训练模型和测试脚本、支持视频风格化处理。项目代码结构清晰,适合研究风格迁移算法或进行二次开发,是风格迁移领域的重要参考实现之一。

开源 free 设计创意
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1569
维护状态 低维护
是否开源
定价模式 free

项目数据

分类设计创意
开发团队xunhuang1995
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源
开源协议MIT
主要语言Lua
技术栈/模型deep-learning,generative-art,generative-model,neural-style,style-transfer
GitHub 星标★ 1569
30天Star增速
HF 下载量
上线时间2017-03-20 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数7

使用教程

难度:高级 约 30 分钟 部署方式:命令行工具 6 步

环境要求

  • Torch7(必需,README 仅给出官方仓库链接,未提供安装命令)
  • CUDA 与 cuDNN(可选,用于 GPU 加速)
  • cunn 与 torch.cudnn(可选,GPU 支持依赖)
  • ffmpeg(可选,仅在处理视频时需要)
  • 已下载的预训练模型(通过 models/download_models.sh 获取)

安装与启动步骤

  1. 1安装 Torch7 环境

    根据 README 依赖列表,必须先安装 Torch7;如需 GPU 加速可选装 CUDA、cuDNN、cunn、torch.cudnn,视频处理另装 ffmpeg。README 未提供安装命令,请按 Torch 官方文档操作。

  2. 2下载预训练模型

    在项目根目录执行脚本下载模型,README 未说明模型保存的具体路径,请留意脚本输出。

    bash models/download_models.sh
  3. 3准备输入图片

    把内容图放到 input/content 目录,风格图放到 input/style 目录;README 示例中使用了 cornell.jpg 与 woman_with_hat_matisse.jpg。

  4. 4运行单图风格迁移

    用 -content 和 -style 分别指定内容图与风格图路径,结果保存到输出目录。按论文数据,512x512 图像在 Pascal Titan X 上可达 15 FPS。

    th test.lua -content input/content/cornell.jpg -style input/style/woman_with_hat_matisse.jpg
  5. 5批量处理图像

    用 -contentDir 和 -styleDir 指定目录后,会保存内容与风格的每一种组合到输出目录,注意组合数会相乘。

    th test.lua -contentDir input/content -styleDir input/style
  6. 6查看全部参数

    想了解全部可用选项时执行帮助命令,README 列出 -crop、-contentSize、-styleSize 等常用参数。

    th test.lua -help

关键配置

配置项必填说明示例
-content内容图像的文件路径,单图模式必填input/content/cornell.jpg
-style风格图像的文件路径,单图模式必填input/style/woman_with_hat_matisse.jpg
-contentDir内容图目录,批量模式使用,与 -content 二选一input/content
-styleDir风格图目录,批量模式使用,会输出所有组合input/style
-contentSize内容图新的最小尺寸,设为 0 保持原始尺寸512
-styleSize风格图新的最小尺寸,设为 0 保持原始尺寸512

如何确认成功

终端命令正常结束且无报错,并在输出目录中生成对应的风格化图像文件。

常见问题

Q:必须要有 GPU 吗?

A:不是。README 中 CUDA、cuDNN、cunn、torch.cudnn 均为可选依赖,但 Torch7 本体是必需的。没有 GPU 时可只用 CPU 运行,速度会慢很多。

Q:如何一次处理多张图片?

A:使用 -contentDir 和 -styleDir 指定内容与风格目录,程序会保存每一种内容与风格的组合结果到输出目录。

Q:能处理视频吗?

A:项目支持视频风格化,需要额外安装 ffmpeg。README 只列出了 ffmpeg 依赖,并未给出视频处理的具体命令。

Q:有哪些可选参数可以调整?

A:README 提到 -crop(先对内容图和风格图做中心裁剪)、-contentSize 与 -styleSize(设置最小尺寸,0 表示保持原图大小),完整列表可用 th test.lua -help 查看。

Q:风格化结果保存在哪里?

A:README 只说明结果会保存到输出目录,未给出确切路径,运行后请查看脚本输出或项目目录下的结果文件夹。

注意事项

  • README 未提供 Torch7 的安装命令,需自行参考 Torch 官方文档,环境搭建是主要门槛。
  • 必须先运行 models/download_models.sh 下载预训练模型,否则无法执行风格迁移。
  • 批量模式会生成内容图与风格图的全部组合,图片多时耗时与占盘较大。
  • Torch7 已停止维护,在新系统上安装可能需要额外处理依赖问题。

核心亮点

  • 真正实现任意风格实时迁移,风格切换无需重新训练模型
  • 基于 Torch 实现,代码简洁,推理速度快,适合实时应用
  • 提供预训练模型和测试脚本,开箱即用,上手门槛低

不足之处

  • 依赖 Torch 和 Lua 生态,环境配置较复杂,不如 PyTorch 主流
  • 文档相对简略,社区维护不活跃,新用户可能遇到问题

适用场景

  • 艺术创作:快速将照片转换为特定画作风格
  • 视频滤镜:对视频帧进行风格化处理,实现实时风格滤镜
  • 学术研究:作为风格迁移算法的基准实现进行对比实验

替代项目

fast-neural-style、pytorch-AdaIN、CycleGAN

项目介绍

AdaIN-style 是图像领域的开源项目,由 xunhuang1995 开发,2017 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(1,569)位列前 30%,在图像分类的 837 个项目里位列前 11%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-23。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:艺术创作:快速将照片转换为特定画作风格。同类可对比的替代方案包括 fast-neural-style、pytorch-AdaIN、CycleGAN。

上一篇:pxlsrt

下一篇:watercolor-canvas

同类项目推荐

satori 开源

网页代码一键变高清图,放大不糊,不用截图

Enlightened library to convert HTML and CSS to SVG

★ 13967 2026-08-09
C2GAN 开源

用关键点精准控制图像生成,让AI画出你想要的结构

[ACM MM 2019 Oral] Cycle In Cycle Generative Adversarial Networks for Keypoint-Guide···

★ 70 2026-08-09
DeTikZify 开源

上传图表或草图,秒变可编译的TikZ矢量代码。

Synthesizing Graphics Programs for Scientific Figures and Sketches with TikZ.

★ 1820 2026-08-09