首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >谷歌nana-banana平替来了?字节开源 USO:人物和画风,我全都要!

谷歌nana-banana平替来了?字节开源 USO:人物和画风,我全都要!

作者头像
AgenticAI
发布2025-09-02 19:49:34
发布2025-09-02 19:49:34
32300
代码可运行
举报
文章被收录于专栏:AgenticAIAgenticAI
运行总次数:0
代码可运行

大家好,这里是 Agentic AI,我是 Mountain。

最近 AI 绘画的进展一个接一个:前有 Qwen-Image-Edit 带来了更自然的图像编辑体验,后有 Google 的 nana-banana,把“人物一致性 + 风格迁移”结合到了一起。就在大家以为这两条路线还需要各自打磨的时候,字节跳动研究院突然放出一个更激进的框架——USO。它直接喊话:“小孩子才做选择,成年人全都要!”

USO Teaser Image
USO Teaser Image

看上图就明白了,输入一张人物图(Subject),一张风格图(Style),USO就能像个顶级魔法师一样,把人物毫发无损地“传送”到新的风格世界里。这可不是简单的换脸或者滤镜,而是真正意义上的内容与风格的重组。

啥是USO?

USO,全称 Unified Style and subject-driven GeneratiOn,翻译过来就是“统一风格与主体驱动的生成框架”。名字听起来有点学术,但野心暴露无遗。

过去,我们处理这类问题的方法很“分裂”:

  • 主体驱动(换人):主要靠 LoRA、DreamBooth 这类技术,目标是死死锁住人物的ID特征,为了保真度,宁可牺牲风格的多样性。
  • 风格驱动(换画风):主要靠 IP-Adapter 这类技术,目标是精准复刻参考图的风格、构图和氛围,但对画面里的具体“内容”是谁,它并不关心。

字节的研究员们认为,这两个看似对立的任务,本质上都是“内容”与“风格”的分离与重组问题。既然根儿上是一件事,为啥要用两套方案?于是,USO应运而生,它的核心思想就两个字:解耦(Disentanglement)

庖丁解牛

相比 Qwen-Image-Edit 的“编辑场景更灵活”、nana-banana 的“人物和风格两手抓”,USO走的是更彻底的一步——它要把这两类问题统一在一套框架里解决。核心思想只有两个字:解耦(Disentanglement)

在字节研究员看来,无论是“换人”还是“换画风”,本质上都是把图像拆解成“内容”和“风格”,然后再按需求重新组合。既然底层问题是同一个,为什么还要分两套方案?于是,USO 直接把“主体一致性”和“风格迁移”收归到一个统一生成器里。它是怎么修炼这门手艺的呢?主要靠三板斧:

  1. 海量“小抄”喂养:首先,他们构建了一个大规模的三元组数据集(triplet dataset)。每一组数据包含三张图:一张内容图(比如,一个男人的照片),一张风格图(比如,梵高的《星空》),以及一张最终合成好的、带着梵高风格的这个男人的画。这等于是在一开始就给了模型无数“标准答案”,让它死记硬背“内容+风格=最终效果”的公式。
  2. 左右互搏式解耦训练:这是最骚的操作。他们在训练时引入了两个互补的目标:
    • 风格对齐(Style-alignment):让模型学习如何让生成图的“风格特征”无限接近参考风格图。
    • 内容-风格解耦(Content-Style Disentanglement):同时,又让模型学习如何把“内容特征”从风格中剥离出来。这就像一边教徒弟模仿齐白石画虾的笔法,一边又反复敲打他:“记住,你画的是龙虾,不是齐白石画里的河虾!形似神不似,懂吗!”
  3. 引入“品味”裁判(Reward Learning):光靠死记硬背还不够,还得有品味。USO引入了一个“风格奖励学习”范式。简单来说,他们训练了一个“审美模型”,这个模型专门负责给USO生成的图打分,判断它的风格学得到底地不地道。这就好比给学徒配了个米其林三星大厨当品鉴师,不断地进行“魔鬼训练”,直到模型的“画品”达到大师级水准。

哦对了,还有一个关键点必须提。USO的基座模型不是我们熟悉的Stable Diffusion,而是FLUX.1-dev!这是个基于Diffusion Transformer架构的新秀,和Sora、Stable Diffusion 3师出同门。这意味着USO从根基上就站在了更前沿的技术路线上,潜力巨大。

与谷歌nano-banana比较

魔法咒语

心动不如行动,虽然USO目前还处于研究和代码阶段,安装稍微有点折腾,但官方给出的推理脚本已经把它的核心能力展示得明明白白。官方提供了几种玩法,我给大家翻译一下:

1. 数字分身(只换人)给一张人物参考图,然后用prompt描述新场景。

代码语言:javascript
代码运行次数:0
运行
复制
# --image_paths 后面第一个是人物图,后面没有就是纯换场景
python inference.py \
  --prompt"这个男人在花店里,正在精心搭配花束。" \
  --image_paths"assets/gradio_examples/identity1.jpg"

2. 风格迁移(只换画风)不给人物图(路径留空),只给一张或多张风格参考图。

代码语言:javascript
代码运行次数:0
运行
复制
# 第一个路径 "" 表示没有内容参考,后面全是风格参考
python inference.py \
  --prompt"一只猫在椅子上睡觉。" \
  --image_paths"""assets/gradio_examples/style1.webp"

3. 终极合体(人+画风全都要)这才是USO的完全体!同时提供人物图和风格图。

代码语言:javascript
代码运行次数:0
运行
复制
# 第一个是人物,第二个是风格
python inference.py \
  --prompt"这位女士在讲台上发表演讲。" \
  --image_paths"assets/gradio_examples/identity2.webp""assets/gradio_examples/style2.webp"

4. 风格融合(多种画风混合)一个更有趣的玩法,你可以输入多个风格参考,让模型自己去“悟”。

代码语言:javascript
代码运行次数:0
运行
复制
# 喂给它两种风格,看看能融合出什么
python inference.py \
  --prompt"一个帅气的男人。" \
  --image_paths"""assets/gradio_examples/style3.webp""assets/gradio_examples/style4.webp"

从这些例子能看出来,USO的设计思路非常清晰且强大,通过一个--image_paths参数,就优雅地实现了多种个性化生成模式的切换。

总结

我个人感觉,最近绘画方面的进展非常大,前有Qwen-Image-Edit,后有Google nana-banana,现在字节给出了新的解答。当然,目前这个项目还很早期(论文USO: Unified Style and Subject-Driven Generation via Disentangled and Reward Learning),安装和使用对于普通玩家还有点门槛。但如果它继续完善下去,未来 AI 绘画的个性化可能就会像开关图层一样简单。

如果你觉得这篇文章对你有帮助,别忘了 点赞、转发、在看,并留言分享你的看法~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AgenticAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 啥是USO?
  • 庖丁解牛
  • 与谷歌nano-banana比较
  • 魔法咒语
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档