系列教程说明
这是「AI专家养成计划」系列教程的第47篇,共140篇。从AI零基础出发,每天进步一点点。早课以理论为主,帮你理解概念、建立框架——读完这篇,你就知道如何把一张普通照片变成任何艺术风格,理解风格迁移背后的原理和主流方法。
上篇回顾
昨天我们深入学习了提示词作画的核心技能。三个核心要点:
- 提示词五大要素:主体、风格、构图、光影、技术参数——掌握这个公式,你就能写出80分以上的图像生成提示词
- 负面提示词的价值:告诉AI”不要画什么”和”要画什么”同样重要,尤其画人物时能大幅减少”六指”等变形问题
- 批量生成、从中挑选:AI图像生成是概率事件,不要指望一次出神作,批量生成后选最优才是正确工作方式
今天我们进入一个让人兴奋的领域——风格迁移。你有没有想过,把你拍的那张普通风景照,变成梵高的《星空》风格?或者把你家猫咪的照片,变成宫崎骏动画里的样子?风格迁移就是做这件事的AI技术。
什么是风格迁移?
简单来说,风格迁移(Style Transfer)就是把一张图片的”画风”搬到另一张图片上。
打个比方:你拍了一张城市街景的照片(这是”内容”),你又特别喜欢莫奈的印象派画风(这是”风格”)。风格迁移做的事情就是——用莫奈的画风重新”画”一遍你的城市街景,保留原来的建筑、街道、人物,但笔触、色彩、质感全都变成莫奈的样子。
内容(Content):照片里的物体、场景、构图——”画的是什么”
风格(Style):笔触、色彩、纹理、质感——”怎么画的”
风格迁移就是把”是什么”和”怎么画”分离开来,然后自由组合。
一个有趣的类比:这就像翻译。原文是中文(你的照片),目标语言是法语(莫奈风格)。翻译出来的内容不变,但”表达方式”完全不同了。
风格迁移的三个时代
风格迁移技术经历了三代演进,每一代都带来了质的飞跃。
第一代:神经风格迁移(2015年)
2015年,德国学者Gatys发表了一篇开创性论文《A Neural Algorithm of Artistic Style》。这篇论文引爆了整个领域。
核心思路:用深度神经网络(VGG-19)分别提取图片的”内容特征”和”风格特征”,然后通过优化算法,生成一张新图片,使它的内容特征接近原图、风格特征接近参考画作。
打个比方:想象一个画家临摹。他先看懂原图的内容布局(内容特征),再研究参考画作的笔触和用色习惯(风格特征),然后用自己的理解把两者结合画出来。
优点:效果惊艳,理论上可以使用任何风格图
缺点:速度极慢,一张图要优化几百次迭代,等几分钟到几十分钟
第二代:快速风格迁移(2016-2020年)
既然每次都要优化太慢,那就训练一个”专用网络”——输入照片,直接输出风格化图片。
2016年,Johnson等人提出了”快速风格迁移网络”。思路很简单:先用第一代方法生成大量训练数据(原图→风格化图的配对),然后训练一个前馈网络学会这个映射关系。
类比:第一代是”现场作画”(每张都要从头画),第二代是”提前练好套路”(学了一种风格后,来一张照片就能秒出结果)。
优点:速度快,实现实时风格迁移(每张只需几十毫秒)
缺点:每种风格需要单独训练一个模型,换风格就得重新训练
第三代:基于扩散模型的风格迁移(2022年至今)
随着Stable Diffusion等扩散模型的崛起,风格迁移进入了全新的时代。这一代的方法不再需要专门训练,而是利用大模型本身就具备的”风格理解能力”来实现迁移。
核心工具:
- img2img(图生图):上传原图+风格描述提示词,AI在原图基础上重新绘制
- ControlNet:精确控制原图的构图和线条,只改变风格
- IP-Adapter:直接用一张风格参考图来控制生成风格,不用写提示词
类比:第一代是”照着菜谱做菜”(严格按算法来),第二代是”练好了的厨师”(只会做固定的几道菜),第三代是”米其林大厨”(你说想要什么味道,他就能做出来)。
三种主流风格迁移方法详解
现在我们来详细看看当前最实用的三种风格迁移方法。
方法一:img2img(图生图)
这是最简单、最直接的方法。
工作原理:把你输入的照片作为”起点”,加上风格描述的提示词,让AI在保留原图大致构图的基础上,按新的风格重新绘制。
关键参数——Denoising Strength(去噪强度):
这个参数控制”AI在原图基础上改动多大”。
| 去噪强度 | 效果 | 适用场景 |
|---|
|———|——|———|
| 0.2-0.3 | 只改变纹理和色彩,构图完全保留 | 轻微风格化,如照片加滤镜 |
|---|---|---|
| 0.4-0.6 | 适度改变,保留主体但画风明显变化 | 大部分风格迁移场景 |
| 0.7-0.9 | 大幅改变,只保留大致构图和色调 | 强烈的艺术化效果 |
| 1.0 | 完全重新生成,原图信息几乎丢失 | 不推荐用于风格迁移 |
实用提示词模板:
`
[风格关键词] style of [艺术家/流派], [色调描述], [质感描述]
`
实际例子:
`
输入:一张你拍的城市夜景照片
提示词:oil painting style, Van Gogh starry night,
swirling brushstrokes, vibrant blues and yellows,
thick impasto texture
去噪强度:0.5
输出:你的城市夜景变成了梵高《星空》风格的油画
`
方法二:ControlNet + 风格提示词
当你需要更精确地保留原图细节时,ControlNet是最佳选择。
工作原理:ControlNet会先从原图中提取”控制信号”(边缘线条、深度信息、人体姿态等),然后在生成过程中强制AI遵循这些信号,确保新图片的构图和原图一致。
常用的ControlNet模型:
| 模型 | 提取内容 | 适用场景 |
|---|
|——|———|———|
| Canny | 边缘线条 | 建筑、产品、轮廓清晰的物体 |
|---|---|---|
| Depth | 深度信息 | 风景、室内场景 |
| OpenPose | 人体姿态 | 人物照片风格化 |
| Lineart | 线稿 | 插画、漫画风格转换 |
| SoftEdge | 柔和边缘 | 综合场景,效果更自然 |
和img2img的区别:
- img2img:构图可能偏移,细节可能丢失
- ControlNet:构图精确保留,细节高度还原
类比:img2img像是”画家凭记忆重画”,ControlNet像是”画家对着原作临摹”——后者的还原度高得多。
方法三:IP-Adapter(图像提示适配器)
这是目前最”傻瓜式”的方法——你甚至不需要写提示词,只需要提供一张风格参考图。
工作原理:IP-Adapter会从你提供的风格参考图中提取”风格特征”(色调、笔触、质感),然后把这些特征注入到图像生成过程中。
使用方式:
- 准备一张你想要的风格图片(比如一幅莫奈的画)
- 上传到支持IP-Adapter的工具中
- 输入你的原图(或者用文字描述内容)
- 调整”风格强度”滑块
- 生成——你的图片就变成了莫奈风格
风格强度的作用:
- 强度低(0.3-0.5):保留更多原图特征,风格只是”点缀”
- 强度中(0.5-0.7):平衡原图和风格,最常用
- 强度高(0.7-1.0):强烈风格化,可能偏离原图
最大优势:不需要会写英文提示词,不需要了解专业术语——找一张你喜欢的画,AI就能学会它的风格。
经典艺术风格速查表
想要把照片变成某种特定风格?这里有一份速查表,直接复制提示词就能用:
油画风格
| 风格 | 提示词 |
|---|
|——|——-|
| 梵高星空 | Van Gogh starry night style, swirling brushstrokes, bold colors |
|---|---|
| 莫奈印象派 | Monet impressionist style, soft brushstrokes, light and color |
| 伦勃朗光影 | Rembrandt style, dramatic chiaroscuro, rich dark tones |
| 印象派 | impressionist painting, loose brushwork, vibrant palette |
| 表现主义 | expressionist style, exaggerated colors, emotional brushwork |
东方艺术风格
| 风格 | 提示词 |
|---|
|——|——-|
| 中国水墨画 | Chinese ink wash painting, traditional brushwork, black and white |
|---|---|
| 工笔画 | Chinese gongbi painting, fine detailed brushwork, rich colors |
| 浮世绘 | Ukiyo-e style, woodblock print, flat colors, bold outlines |
| 日本动漫 | Studio Ghibli anime style, soft pastel colors, whimsical |
现代艺术风格
| 风格 | 提示词 |
|---|
|——|——-|
| 波普艺术 | Andy Warhol pop art style, bold flat colors, screen print |
|---|---|
| 赛博朋克 | cyberpunk style, neon lights, futuristic, dark atmosphere |
| 像素艺术 | pixel art, retro game style, 16-bit |
| 蒸汽朋克 | steampunk aesthetic, brass gears, Victorian era, mechanical |
| 扁平插画 | flat illustration, clean lines, minimal, vector art |
摄影风格
| 风格 | 提示词 |
|---|
|——|——-|
| 胶片摄影 | film photography, grain texture, vintage color grading |
|---|---|
| 黑白摄影 | black and white photography, high contrast, dramatic |
| 航拍 | aerial photography, bird’s eye view, landscape |
| 电影级 | cinematic still, anamorphic lens, color grading, film grain |
实战工作流:照片变油画
下面是一个完整的”照片变油画”工作流,跟着做就能出效果。
第一步:选择工具
| 工具 | 特点 | 推荐度 |
|---|
|——|——|——-|
| Stable Diffusion WebUI | 免费开源,功能最全 | ★★★★★ |
|---|---|---|
| ComfyUI | 节点式工作流,灵活强大 | ★★★★★ |
| Midjourney | 效果最好,但需要付费 | ★★★★ |
| 通义万相 | 免费,中文友好 | ★★★ |
第二步:准备原图
- 选择构图清晰的照片
- 光线充足的照片效果更好
- 避免过于复杂的场景(元素太多AI容易混乱)
第三步:配置参数
以Stable Diffusion WebUI为例:
- 切换到img2img标签页
- 上传你的照片
- 填写提示词(参照上面的速查表)
- 设置关键参数:
- Sampling method: Euler a 或 DPM++ 2M Karras
- Sampling steps: 20-30步
- Denoising strength: 0.4-0.6(核心参数)
- CFG Scale: 7-12
第四步:迭代优化
第一次生成的结果可能不完美。调整策略:
- 太像原图、风格不明显 → 提高去噪强度(+0.1)
- 风格到位但丢失原图细节 → 降低去噪强度(-0.1)
- 颜色不对 → 在提示词中指定色调(”warm tones” “cool blue palette”)
- 某些区域不想改变 → 使用Inpaint局部重绘
常见问题与避坑
问题一:风格迁移后人脸变形
原因:AI对人脸非常敏感,风格化过程中容易产生扭曲。
解决:
- 使用ADetailer插件自动检测和修复人脸
- 或者先用ControlNet-OpenPose锁定面部结构
- 降低去噪强度到0.3-0.4,减少面部变形风险
问题二:风格迁移效果不一致
原因:随机种子不同,每次生成结果都不同。
解决:找到满意的种子值后固定它,微调其他参数。
问题三:原图细节丢失太多
原因:去噪强度太高。
解决:用ControlNet替代img2img,或者降低去噪强度到0.3以下。
问题四:风格”用力过猛”
原因:提示词中风格权重太高。
解决:降低风格关键词的权重,或使用混合提示词平衡内容和风格。
今日行动项
今天回去做一件事:
选一张你自己的照片(风景照、宠物照、自拍都行),用Stable Diffusion的img2img功能,尝试把它变成以下三种风格之一:
- 梵高油画风格:提示词
oil painting style, Van Gogh, swirling brushstrokes, vibrant colors - 中国水墨画风格:提示词
Chinese ink wash painting, traditional brushwork, minimalist - 赛博朋克风格:提示词
cyberpunk style, neon lights, futuristic, dark atmosphere
去噪强度从0.4开始,逐步调到0.6,对比不同参数下的效果差异。
📖 地铁深读:风格迁移的技术进化史
这个板块专为地铁通勤设计,每篇5-10分钟。不想深读可以跳过,不影响主线学习。
一个改变一切的”顿悟”时刻
2015年的一个深夜,德国图宾根大学的博士生Leon Gatys盯着VGG网络的中间层发呆。VGG是一个图像识别网络,能告诉你”这是一只猫”或”这是一辆车”。但Gatys发现了一个奇怪的现象:这些中间层不仅能识别内容,还能捕捉到图片的”风格”。
什么是”风格”?说不清楚,但你看到就知道——莫奈的画和毕加索的画,风格完全不同。Gatys发现,如果计算中间层特征的”统计规律”(Gram矩阵),就能量化这种模糊的”风格”概念。
关键洞察:内容信息和风格信息藏在网络的不同层里。浅层捕捉纹理、笔触等”风格”细节;深层捕捉物体、场景等”内容”信息。它们可以被分离。
这个发现意味着什么?意味着你可以取A照片的”内容”,加上B画作的”风格”,合成一张全新的图片。
论文发表后,整个计算机视觉界震动了。Prisma等风格迁移App一夜爆红,用户数以千万计。
Gram矩阵:风格的”数学指纹”
Gatys用一个叫Gram矩阵的数学工具来描述”风格”。
通俗理解:想象你用一个网格把图片分成很多小块。Gram矩阵记录的是”哪些特征经常一起出现”——比如”蓝色笔触”和”旋转纹理”经常同时出现,那就说明这种风格偏爱”蓝+旋转”的组合。
不同画作的Gram矩阵完全不同,就像指纹一样——莫奈的”指纹”和毕加索的”指纹”差异巨大。通过匹配这个”指纹”,AI就能把一种风格”复制”到另一张图片上。
从”慢工出细活”到”秒出图”
第一代神经风格迁移的最大问题是速度。每张图需要迭代几百次优化,等几分钟到几十分钟。
2016年,Johnson等人提出了”前馈网络”方案:先用大量数据训练一个专门的网络,让它学会”一键风格化”。训练好之后,输入一张照片,几十毫秒就能输出风格化结果——速度提升了几百倍。
但这带来一个新问题:每种风格都需要单独训练一个模型。你想做梵高风格?训练一个。想做莫奈风格?再训练一个。每种风格都要花几小时到几天训练,完全不灵活。
控制力的革命:ControlNet
2023年,中国学者张吕敏(Lvmin Zhang)提出了ControlNet,这是一个里程碑式的突破。
ControlNet解决了一个核心问题:在使用Stable Diffusion进行风格迁移时,如何确保生成的新图片和原图的构图一致?
之前的img2img方法有一个”两难困境”:去噪强度低了,风格化不够;去噪强度高了,原图细节丢失。用户只能在”不够风格化”和”丢失细节”之间做痛苦的权衡。
ControlNet的做法很聪明:它不从”生成端”控制,而是从”条件端”控制。先从原图中提取出结构信息(边缘、深度、姿态等),然后在生成过程中把这些结构信息作为”强制条件”注入,确保AI在”画”的时候必须遵循原图的构图。
这就像给画家一张精确的线稿——你可以自由选择画风和用色,但线条布局必须按线稿来。
ControlNet的意义超越了风格迁移:它开创了一种”精确控制AI生成”的范式,影响了后续所有图像生成工具的设计。
最新前沿:零样本风格迁移
2024年以来,研究者们在探索”零样本”风格迁移——不需要任何参考图或提示词,AI仅凭文字描述就能迁移任意风格。
例如,你只需要说”用19世纪日本浮世绘的风格重画这张照片”,AI就能理解并执行。这背后是多模态大模型(如GPT-4V、Gemini)对视觉风格的深层理解能力。
一个令人兴奋的趋势:风格迁移正在从”技术活”变成”表达工具”。过去你需要懂深度学习才能做风格迁移,现在只需要会说人话。这意味着,每个人都可以成为”数字艺术家”——你不需要会画画,只需要有想法,AI帮你把想法变成视觉作品。
今日总结
三个关键要点:
- 风格迁移的核心原理:把图片的”内容”和”风格”分离,然后自由组合——内容保留原图的物体和构图,风格来自参考画作或提示词描述
- 三种主流方法:img2img(最简单但控制力弱)、ControlNet+风格提示词(最精确)、IP-Adapter(最傻瓜式,只需一张参考图)
- 去噪强度是核心参数:0.3-0.4保留原图细节,0.5-0.6平衡内容与风格,0.7以上强烈风格化但可能丢失细节
下篇预告
明天早上8点:Day25——早课 AI图像编辑:修图新方式。我们将学习如何用AI进行局部修图、背景替换、物体擦除等操作——Photoshop需要半小时的工作,AI可能只需要30秒。
今天下午5点:Day24——晚课 风格迁移实战。早课学理论,晚课动手练——我们将用Stable Diffusion的真实操作,一步步把你的照片变成油画、水墨画、动漫风格,完成你的第一组风格迁移作品。
发表回复