
文生图最容易崩的场景之一:人群。人越多、元素越杂,模型越容易产出”背景里的一坨”。这篇文章用一张九十年代乡镇大集的图,拆解怎么让 Seedream 在复杂场景里不失焦。
人山人海,AI 接得住吗?
大多数文生图模型遇到”很多人”这个需求的时候,会做两件事:要么把人模糊成背景里的色块,要么把人群简化成五六个清楚的、其余全糊掉。
因为模型倾向聚焦主体——一棵树、一个人、一辆车——这是训练数据决定的本能。
但真实世界的乡镇集市不是这样的。它没有”主体”,或者说,每一处都是主体。卖水果的大叔、摆地摊的大姐、骑二八大杠的大爷、火烧店里吃饭的路人——远处和近处一样热闹,从前到后全部清楚。这种”大景深、全清晰、满画面”的需求,对 AI 是个硬骨头。
所以这张图的 Prompt 里,最关键的词不是九十年代、不是柏油路、不是赶集——是”大景深”。
Prompt 全拆解:复杂场景的四层控制
第一层:空间架构——道路、商铺、天空
“公路两边都是商铺,柏油公路上有开车的、骑摩托的、骑自行车的、来回跑的公交车”——这不是在描述一个场景,是在搭建一个空间。
道路是中轴,商铺是两侧边界,天空是顶部。这个”巷道式构图”给了画面天然的纵深——视线沿着公路往远处延伸,两边的商铺和摊位形成框架。模型不需要额外发挥构图,空间结构已经写死了。
第二层:人群密度——从”几个人”到”人山人海”
这是最容易被写糊的一层。如果只写”有很多人”,模型可能给你十个。
这里的做法是逐个点出人群的组成:步行赶集的、摆地摊的、卖水果的、卖鸡鸭鹅的、卖衣服鞋子的、卖零食的、卖鱼的、卖日用百货的、卖蔬菜的、在火烧店吃饭的——十类人,每类是一个指令。模型不是听到”人多”然后自己脑补,而是接收了十个独立的人群填充指令。
结果就是密密麻麻但各有其事,不是一堆复制粘贴。
第三层:深度控制——大景深 vs 虚化
“大景深”这三个字是最省力的画质控制器。
默认情况下 AI 生图自带浅景深——近处清楚、远处模糊,模仿大光圈镜头的虚化效果。但乡镇集市的照片不该有虚化,从前景的菜摊到远景的公交车,每一样都应该是清楚的。
Seedream 对”大景深”的响应非常直接——关闭虚化,全画面锐度拉到同一档。出来的效果就是:你看照片最远处那辆公交车,车牌糊不糊?不糊。近处卖鸡的大姐手里的秤,你看得清。
第四层:时代质感——九十年代,不只是滤镜
“九十年代的小城镇”——写了这句话之后,模型做了几件很有意思的事。
人的衣服变了。没有冲锋衣、没有瑜伽裤、没有手机。全是的确良衬衫、涤纶裤子、白背心。车变了——二八大杠、老式公交、带顶棚的三轮摩托。招牌变了——没有 LED 灯箱,手写白底红字木板招牌。
这种”时代细节”不是靠加滤镜实现的。是模型在理解了年代关键词之后,从训练数据里调取了一套完整的视觉符号库——衣服、车辆、招牌、发型、商品陈列方式——然后系统性地替换。
复杂场景的 Prompt 核心技巧:密度描述法
跑完这张图,想说一个对复杂场景特别有用的 Prompt 技巧:密度描述法。
总结一下是四个字:写人、不写群。
❌ “一个热闹的集市”——五个字,模型只接收到”热闹”这一个模糊信号
✅ “有卖水果的、卖鸡鸭鹅的、卖衣服鞋子的、卖零食的、卖鱼的、卖蔬菜的、在火烧店吃饭的”——十个具体身份,模型接收十组独立指令
密度描述法的本质是:不让模型”脑补”热闹,而是逐个分配角色。你写出来多少个”干什么的人”,模型就往画面里填多少个对应形象。不只是数量,还有多样性——你不会得到十个卖水果的,而是水果、鱼、鸡鸭鹅、蔬菜、衣服、火烧店各一个,天然错落有致。
技术参数
| 参数 | 设置 |
|---|---|
| 模型 | doubao-seedream-5-0-260128 |
| 分辨率 | 3040 × 5504(9:16 竖构图) |
| 生成耗时 | 约 20 秒 |
| 输出体积 | 2.5 MB(JPEG) |
| 核心技法 | 密度描述法 + 大景深 + 年代锚定 |
Prompt 附录:完整版
九十年代的小城镇,晴朗的天空,公路两边都是商铺,柏油公路有开车的、骑摩托的、骑二八大杠自行车的、来回跑的公交车。有步行赶集的、摆地摊的、卖水果的商贩、卖鸡鸭鹅的商贩、卖衣服鞋子的商贩、卖零食的商贩、卖鱼的商贩、卖日用百货的商贩、卖蔬菜的、在火烧店吃饭的。人山人海密密麻麻,大景深,实景拍摄,纪录片风格,9:16 比例,4K 画质。
写在最后
城市街景、市集、车站——这些”人多事杂”的场景一直都是文生图的痛点。但这次的实测说明了一件事:问题不在模型能不能画,在于 Prompt 怎么告诉它去画。
密度描述法把”一个热闹的集市”拆成”十个在集市里做了不同事情的具体的人”,模型的发挥就有了锚点。加上大景深去掉虚化、九十年代锚定时代细节,三个参数被锁死之后,即使场景再复杂,Seedream 5.0 也能给你一张从头清楚到尾的画面。
常见问题
Q: 密度描述法最多能塞多少人?
目前实测 10 类不同角色的人群描述是稳定出图的。再多也可以尝试(15-20 类),但画面会非常拥挤且模型可能开始忽略部分角色。建议控制在 8-12 类,确保每一类在画面中都有可见的视觉表现。
Q: “大景深”对画质有影响吗?
有正面影响。关闭虚化后模型需要渲染全画面细节,反而会激活更多算力分配到所有区域。代价是出图时间可能比虚化场景略长几秒,但差距很小。
Q: 年代关键词能指定更窄的范围吗?
可以。”九十年代”已经足够产生清晰的时代偏差。如果想更精确,可以写”1990年代初期””八十年代””改革开放初期”等——越具体,模型的视觉符号库调用越精准。但注意不同年代的视觉符号储备量不同,太冷门的年代模型可能缺乏足够训练数据。
Q: 为什么选纪录片风格而不是街拍?
纪录片风格和街拍的关键区别是视角——街拍倾向于第一人称、有距离感的观察者视角,而纪录片风格更接近”上帝视角”,适合展现全景式的社会场景。对于集市这类需要同时看到几十个互不相关的人的场景,纪录片风格比街拍更合适。

评论0