跳到主要内容

图生图

1. 什么是图生图任务?

图生图(Image-to-Image Generation)是通过大模型推理,根据输入的初始图像(Initial Image)和文本提示(Prompt)生成符合描述的、具备新特征或特定风格的图像内容的一种任务。此任务结合了计算机视觉与深度学习生成技术,广泛应用于风格迁移、线稿上色、图像修复、人像美化等多个场景。

2. 典型应用场景

  • 风格迁移:将照片转换为特定艺术风格(如油画、水彩、动漫、3D卡通等)。
  • 线稿上色:根据手绘的黑白线稿或轮廓图,生成彩色且具真实光影感的图像。
  • 图像重绘与局部编辑(Inpainting):修改或替换图像中的特定区域,例如改变衣服颜色、添加或移除物体。
  • 图像超分辨率与去噪:在保持原图结构和核心特征的同时,提升画质、细节清晰度。
  • 创意设计辅助:基于草图或简笔画,快速生成精细的产品效果图或场景概念图。

3. 影响生成效果的关键因素

img

模型选择

不同模型在艺术风格、构图保持能力以及细节控制方面有所不同,应根据具体业务场景(如写实、二次元、工业设计)选择合适的生成模型。

参数调整

以下是影响图生图效果的关键参数:

重绘强度(Strength)

  • 控制生成图像对初始图像(Initial Image)的偏离程度,取值范围通常在 0.01.0 之间。
    • 低强度(如 0.2):生成图更接近原图,模型仅进行细节微调或微弱的风格渲染,适用于去噪、画质提升。
    • 高强度(如 0.8):生成图偏离原图较多,模型更具创造性,仅保留原图的大致构图和色彩基调,适用于创意重绘或手绘草图变写实照。
  • 应用场景:风格转换时可适当调高强度,而线稿上色或产品精修时应调低强度以保留原始线条。

提示词(Prompt)与负面提示(Negative Prompt)

  • 提示词:描述希望在初始图像基础上添加、改变或强化的视觉元素与风格。
  • 负面提示:用于限制模型生成某些不符合预期的元素,例如在人像重绘中去除“多余的手指”、“模糊”、“失真”等特征。
  • 应用场景:通过详细的提示词精准引导模型的重绘方向。

推理步数(Num. Inference Steps)

  • 决定生成图像时模型逐步优化的次数。更多的推理步数通常会提高图像的质量,但同时会增加生成时间。
  • 应用场景:在追求高细节、高质量图像时使用较高的步数;快速试验效果时可使用较低的步数。

指导系数(Guidance Scale)

  • 控制模型生成结果对输入文本提示(Prompt)的依赖程度。
    • 较高的指导系数让生成结果更贴近文本描述,但可能过度饱和或降低画面自然度。
    • 较低的指导系数赋予模型更多创造力,但可能会偏离你的 Prompt 描述。
  • 应用场景:生成精确符合描述的画面时调高,追求发散创意时适当调低。

随机种子(Seed)

  • 控制生成过程中的随机性。当设置相同种子、相同 Prompt 和相同初始图像时,会生成一致的输出内容;不同种子则会产生多样化结果。
  • 应用场景:在微调其他参数时,固定随机种子有利于对比生成效果;需要探索不同创意时,可以使用随机种子。

4. 代码示例

import requests
import json

url = "https://xxxxxxxxxxxx.space.opencsg-stg.com" # endpoint url
headers = {
'Content-Type': 'application/json'
}
data = {
"image": "your_base64_encoded_initial_image",
"prompt": "your prompt describing desired modifications",
"parameters": {
"strength": 0.75,
"num_inference_steps": 20,
"guidance_scale": 7.5,
"negative_prompt": "blurry, low quality"
}
}
response = requests.post(url=url, json=data, headers=headers)
response.raise_for_status()