AI 图片缺胶片颗粒:5 步还原真实摄影质感

明明写了照片,输出却干净得像 CG,完全没颗粒。根因是模型偏向干净渲染。用胶片型号、权重和后期补救。

你写 35mm film photograph of a coffee shop,结果出来一张干净得离谱的图——渐变完美平滑、零颗粒、阴影区是纯色死板像素。看起来像”照片的 CG 渲染”,不是真照片。这是模型默认值的问题:SDXL、Flux、Midjourney v6+ 全都偏向干净渲染,因为训练集里大量是修干净的图库照片和数字图像。真实的颗粒——卤化银晶体或高 ISO 传感器带来的随机亮度噪点——必须显式召唤出来。

修法是锚定一种具体的胶片型号、给 grain 加权重,如果还是太干净就在 img2img 低 denoise 或后期里补颗粒。

常见原因

按命中率从高到低:

1. 只写了 “film” 或 “analog” 没给型号

film photoanalogvintage photograph 太宽。模型在”修干净的老照片扫描件”和”真带颗粒的负片”之间取平均,干净那边一般会赢。

如何判断:Prompt 里有 film 但没有 Kodak PortraFuji Pro 这种具体胶片名。

2. 渲染分辨率太低

768x768 及以下的渲染,颗粒细节会在 latent 压缩里丢掉。模型把这种噪声 pattern”四舍五入”掉了,因为它没法干净地表征。

如何判断:同 Prompt 在 1024x1024 有颗粒,768x768 没有。

3. 采样器选错或步数太高

DPM++ 2M Karras 跑 50 步的输出在构造上就特别干净——去噪器把噪声去得彻彻底底。要颗粒,反而需要一个”没完全去干净”的结果。

如何判断:50+ 步配高质量采样器。试试 25 步,看颗粒是不是回来了。

4. 后处理放大器把颗粒磨掉了

ESRGAN、4x-UltraSharp,尤其是 SwinIR_4x,放大时会激进抹平颗粒。它们在干净数据集上训练,把颗粒当噪点去除。

如何判断:放大前有颗粒、放大后没了。

5. JPEG 导出质量太低

Quality 75 以下保存 JPEG,颗粒会被量化成块状伪影,视觉上读成”没纹理”。

如何判断:看文件大小——1024x1024 的照片 JPEG 小于 200KB,就是压得太狠了。

最短修复路径

Step 1:用具体的胶片型号

训练集里对具体型号有强关联。把 film photo 替换为:

Kodak Portra 400(暖肤色、柔颗粒、经典编辑风)
Kodak Tri-X 400(经典黑白、颗粒明显)
Fujifilm Pro 400H(冷调、细颗粒、婚礼摄影最爱)
Fujifilm Velvia 50(高饱和、极细颗粒、风光)
Cinestill 800T(钨丝灯白平衡、梦幻光晕、霓虹夜景)
Ilford HP5(黑白、粗砺、新闻摄影感)
Kodak Gold 200(暖调、轻颗粒、度假快照)

这些在训练集里都有各自鲜明的颗粒特征。

Step 2:给 grain 加权重

Prompt 里加:

(film grain:0.8), (visible grain:0.7), (analog noise:0.6),
35mm film, slight noise in shadows, organic grain pattern, ISO 800

权重 0.6-0.8 足以让模型注意到、又不会喧宾夺主。超过 1.0 颗粒会变成视觉伪影而不是纹理。

Step 3:负向 Prompt 拦”干净”(仅 SD 系)

digital, clean, smooth, noise-free, CGI, 3d render, ultra clean,
no grain, perfect smooth gradient, plastic, oversharpened

主动排斥”干净渲染”偏向。

Step 4:换掉激进放大器

ESRGAN 或 SwinIR 换成对颗粒友好的:

4x_NMKD-Siax(保颗粒效果更好)
4x_RealisticRescaler(专为写实照片设计、保纹理)
4x_foolhardy_Remacri(温和、保住微观细节)

或者直接用 img2img 低 denoise(0.2-0.3)+ 同样 Prompt 做放大——这相当于让扩散模型再过一遍,能重新引入颗粒而不是抹平。

Step 5:实在不行后期加颗粒

都救不回来时,后期假装上:

Photoshop:Filter > Camera Raw > Effects > Grain。数量 25,大小 25,粗糙度 50
Lightroom:Effects > Grain。数量 25,大小 25,粗糙度 50
Affinity:Filters > Noise > Add Noise,2.5% Gaussian,单色
DaVinci Resolve(视频用):Effects > Film Grain > 35mm Kodak

或者 Gimp 免费的 HSV Noise 滤镜,5% 仅明度噪点。后期补颗粒,总比一张全干净的图当”胶片照片”出货强。

预防建议

  • 维护一份 5 种常用胶片型号清单,按情绪轮换
  • 人像 preset 里默认带 (film grain:0.7)
  • 想要颗粒感的图永远不要用 ESRGAN 放大,换 NMKD 或 Remacri
  • 照片类 Prompt 最低 1024x1024 起渲染,不要再低
  • 最终 JPEG 质量 92+,或者带颗粒的图直接存 PNG,避免被压扁

相关阅读

标签: #ai-image #排查 #texture #postprocess