最近,一篇名为FreeStyle: Free Control of Style-Content Dual-Reference Generation from Community LoRA Mining的工作引起了不少关注。
arXiv 地址:https://arxiv.org/pdf/2606.20506
这篇文章关注的是一个非常实际的问题:
在图像生成中,如果同时给模型一张「内容参考图」和一张「风格参考图」,模型能不能既保留内容图中的主体结构,又学习风格图中的视觉风格,同时避免把风格图里的具体人物、物体或场景也一起复制过来?
换句话说,FreeStyle 研究的是style-content dual-reference generation,也就是「内容 - 风格双参考生成」。
这个任务看起来直观,但实际很难。因为一张风格参考图并不只包含颜色、笔触、材质和艺术气质,它也包含具体主体、构图、姿态、场景和局部细节。模型在学习风格时,很容易顺手把这些内容信息也带到结果图里,这就是文章中反复讨论的content leakage,内容泄漏。
图 1:整体流程展示
从社区 LoRA 中挖掘数据
FreeStyle 最核心的出发点之一,是把社区中的大量 LoRA 当作一种天然的数据资源。
在当下的 AIGC 社区中,LoRA 已经非常丰富。有些 LoRA 对应某种绘画风格,有些对应某类角色、物体或视觉概念。相比从零构建风格数据集,社区 LoRA 本身就包含了大量长尾风格和复杂视觉概念。
因此,这篇工作并不是简单收集图像,而是提出了一套community LoRA mining 管线:
从 Civitai、TensorArt、Liblib 等社区平台收集 LoRA,筛选出稳定可用的内容 LoRA 和风格 LoRA,再通过生成、验证和组合,构造高质量的内容 - 风格监督数据。
最终,FreeStyle 构建了两类数据:
第一类是SRef 风格参考数据。这类数据用于传统风格参考生成,输入是一张内容图和一张风格图,目标是生成风格化后的内容图。文章中这部分数据包含约 619K 条序列,覆盖 622 种风格。
第二类是更复杂的CRef + SRef 双参考数据。这类数据同时包含内容参考图、风格参考图、文本指令和目标图像,用于训练模型在双参考条件下完成更可控的生成。文章中这部分数据约480K 条序列,覆盖 1,704 种风格。
FreeStyle 的数据构建流程
文章中的数据管线可以概括为三个阶段。
第一步是单个 LoRA 的筛选。
社区 LoRA 的质量参差不齐,有些 trigger word 不稳定,有些生成结果不一致,有些本身混合了内容和风格。因此,FreeStyle 会先根据 base model、metadata、trigger word、demo image 和生成结果,对 LoRA 进行筛选与分类。
第二步是单 LoRA 生成结果的筛选。
即使一个 LoRA 本身可用,它生成出的每张图也不一定都合格。文章中会利用 prompt pool 和 ComfyUI workflow 批量生成候选图像,再结合视觉语言模型和特征相似度等方式,筛掉不稳定或不一致的样本。
第三步是内容 LoRA 与风格 LoRA 的组合筛选。
双 LoRA 组合并不是简单叠加。一个内容 LoRA 可能自带很强风格,一个风格 LoRA 也可能改变主体结构。如果两者不兼容,生成结果就会出现内容漂移或风格泄漏。因此,FreeStyle 会进一步验证 content-style pair 的兼容性,只保留稳定的组合。
两阶段训练:分别处理两类内容泄漏
除了数据构建,FreeStyle 的另一个重点是训练策略。
文章采用了一个two-stage curriculum,两阶段训练流程。
第一阶段:学习稳定的风格参考生成
第一阶段主要使用 SRef 风格参考数据。这个阶段的目标是让模型先学会:在给定内容图和风格图的情况下,如何把风格迁移到内容图上。
文章观察到,SRef 场景中的内容泄漏往往和模型对 style-reference token 的注意力过强有关。尤其是在某些 denoising step 和较浅层 transformer block 中,如果模型过度关注风格参考图,就容易把风格图中的主体、物体或构图也带入最终结果。
为了解决这个问题,FreeStyle 引入attention-level enrichment constraint。
这个约束的作用是调节模型对风格参考图的注意力分布,使它既能获取足够的风格信息,又不会过度依赖风格图中的具体内容。
左侧展示了泄漏样本和非泄漏样本在 attention map 上的差异;中间展示了双参考架构和 style-reference attention mass ratio 的变化。它能直观说明为什么需要 attention-level constraint。
第二阶段:学习内容 - 风格双参考生成
第二阶段进一步引入 CRef + SRef 数据,让模型同时学习内容参考、风格参考和文本指令。
在双参考任务中,泄漏机制会更复杂。文章指出,问题不只是「注意力太强」,还可能来自 RoPE 位置编码带来的局部位置对应。简单来说,模型可能在风格图和输出图之间建立局部 patch 级别的对应关系,从而把风格图里的局部内容复制到生成结果中。
因此,FreeStyle 提出了frequency-aware RoPE modulation。
它的思想是:在 style-reference branch 中,抑制更容易导致局部复制的高频位置信息,同时增强更偏全局结构和整体风格的低频成分。这样可以减少风格图中的具体内容泄漏,同时保留风格层面的引导。
值得注意的是,这个调制只作用在风格参考分支,不影响内容参考分支。这样做可以尽量保护内容图的结构信息,同时让风格图提供更干净的风格信号。
开源 Benchmark:更系统地评价风格、内容和指令遵循
FreeStyle 还构建了一个系统的 benchmark,用来评估 SRef 和 CRef+SRef 两类任务。
这篇文章没有只依赖单一指标,而是从多个维度评估生成结果,包括:
- 风格一致性:模型是否学到了风格图的视觉风格;
- 内容一致性:模型是否保留了内容参考图中的主体和结构;
- 指令遵循:模型是否按照文本 prompt 生成;
- 美学质量:生成图是否自然、美观;
- 泄漏程度:风格参考图中的具体内容是否被错误复制到结果图里。
其中一个比较重要的指标是CAS,Content Alignment Score。
它基于 DINOv2 特征,并通过 instance normalization 尽量去除风格相关的统计信息,从而更专注地评价内容结构是否被保留下来。这个指标的设计动机很清楚:在风格迁移任务里,直接用普通图像特征衡量内容相似度,容易被风格变化干扰。
实验结果:FreeStyle 更强调整体平衡
从实验结果来看,FreeStyle 的优势并不是只追求某一个单项指标,而是在风格迁移、内容保持和泄漏抑制之间取得更好的平衡。
在 SRef benchmark 上,FreeStyle 在开源方法中取得了较好的风格一致性和验证分数,说明它能够比较稳定地学习风格参考图中的视觉属性,同时避免过度破坏内容图结构。
FreeStyle 在保持内容结构的同时,较好地迁移了笔触、纹理、色彩和整体艺术气质。
在更难的 CRef+SRef benchmark 上,FreeStyle 同样表现出较好的风格迁移能力。这个任务本身存在明显 trade-off:
- 有些方法内容保持较好,但风格迁移不足;
- 有些方法风格很强,但容易把风格参考图里的内容也带过去。
FreeStyle 的目标,就是在这两个方向之间找到更稳健的平衡。
FreeStyle 在保持内容结构的同时,较好地迁移了笔触、纹理、色彩和整体艺术气质。
消融实验:关键设计确实在减少泄漏
文章还通过消融实验验证了两个核心模块的作用。
第一个是attention-level enrichment constraint。
去掉这个约束后,模型更容易从风格参考图中复制具体内容;加入后,内容泄漏明显降低。这说明注意力层面的调控对于 SRef 风格参考生成非常重要。
第二个是frequency-aware RoPE modulation。
在 CRef+SRef 场景中,如果不进行 RoPE 调制,模型更容易建立风格图与输出图之间的局部对应关系,从而产生内容泄漏。加入该模块后,泄漏现象得到缓解,同时风格迁移能力仍然保留。
文章还比较了基于不同数据来源训练的模型,结果显示 FreeStyle 的 LoRA mining 数据管线在复杂风格和长尾风格上更有优势。这也说明,社区 LoRA 不只是一个模型插件生态,也可以成为构建大规模风格 - 内容数据的重要来源。
attention constraint 对减少内容泄漏的作用。没有该约束时,模型更容易复制风格参考中的语义内容。
ROPE 没有调制时,风格图中的局部结构更容易泄漏到输出;加入后,模型更倾向于提取整体风格,而不是复制具体内容。
开源内容
这篇工作也提供了较完整的开源资源,包括项目代码、数据集、benchmark、模型权重和 LoRA mining 相关 metadata。
- 项目代码:https://github.com/Blue2Giant/FreeStyle
- 数据集地址:https://huggingface.co/datasets/Blue2Giant/FreeStyle_Dataset
- benchmark 地址:https://huggingface.co/datasets/Blue2Giant/FreeStyle_Bench
- 模型权重地址:https://huggingface.co/Blue2Giant/FreeStyle_Checkpoint
从 GitHub 项目结构来看,仓库主要包含几个部分:
- 用于社区 LoRA 数据生产 pipline 代码;
- 社区 LoRA 的元数据
- 用于多模型推理和 benchmark 评测;
- 用于 FreeStyle 模型的最小推理 demo。
这使得这篇工作不只是展示一个模型效果,也提供了一套相对完整的流程:
从社区 LoRA 挖掘,到数据构建,再到模型训练、benchmark 评测和推理复现。
小结
整体来看,FreeStyle 的贡献可以概括为三点。
第一,它提出了一套从社区 LoRA 中挖掘内容 - 风格监督数据的管线。相比人工构造或小规模收集,这种方式能更好覆盖复杂风格和长尾风格。
第二,它针对双参考生成中的内容泄漏问题,提出了两阶段训练策略,并分别使用 attention-level enrichment constraint 和 frequency-aware RoPE modulation 来抑制不同形式的泄漏。
第三,它构建了一个更系统的 benchmark,从风格、内容、指令遵循、美学质量和泄漏程度等多个维度评价模型,而不是只看单一指标。
FreeStyle 的意义不只在于提出了一个新的风格迁移模型,更在于展示了一种新的思路:
社区 LoRA 生态本身可以被系统性挖掘,转化为大规模、多样化、可监督的内容 - 风格生成数据。
对于后续的风格参考生成、内容 - 风格双参考生成,以及更广泛的多图参考可控生成任务,这篇工作都提供了一个值得参考的数据管线、训练策略和评测基线。
热门跟贴