您现在的位置是:首页 > 编程 > 

探索 AIGC 生图:原理、案例与代码示例

2025-07-28 05:57:04
探索 AIGC 生图:原理、案例与代码示例 引言 在当今数字化浪潮汹涌澎湃的时代,人工智能生成内容(AIGC)领域正以令人瞩目的速度不断演进与拓展。 其中,AIGC 生图技术作为一颗璀璨的明星,正逐渐改变着我们对于图像创作与生成的传统认知。从艺术设计到商业广告,从影视特效到游戏开发,AIGC 生图技术都展现出了其独特的魅力与巨大的潜力。 本文将深入剖析 AIGC 生图的技术原理,通过详细

探索 AIGC 生图:原理、案例与代码示例

引言

在当今数字化浪潮汹涌澎湃的时代,人工智能生成内容(AIGC)领域正以令人瞩目的速度不断演进与拓展。 其中,AIGC 生图技术作为一颗璀璨的明星,正逐渐改变着我们对于图像创作与生成的传统认知。从艺术设计到商业广告,从影视特效到游戏开发,AIGC 生图技术都展现出了其独特的魅力与巨大的潜力。 本文将深入剖析 AIGC 生图的技术原理,通过详细的代码示例揭示其背后的技术奥秘,并展示一系列丰富多样的应用案例,带领读者全面领略 AIGC 生图技术所构建的奇妙视觉世界,探寻其如何在各个领域中掀起创新变革的浪潮,为技术爱好者、创作者以及相关从业者提供一份全面而深入的 AIGC 生图技术指南。

一、AIGC 生图技术原理

6d074d82847aed051a694ba46824f515.jpeg

AIGC 生图主要基于深度学习和生成式模型,特别是生成对抗网络(GA)和扩散模型(Diffusion Model)等先进技术。通过学习大量图像数据中的规律和模式,能够生成具有高度真实感和多样性的图像。

(一)技术基础

1.深度学习:

利用神经网络技术模拟人脑学习过程,在 AIGC 图像生成中,通过学习大量图像数据掌握生成图像所需的特征和规律。

深度学习是机器学习的一个重要分支,它采用神经网络结构来模拟人脑的学习方式。在 AIGC 图像生成领域,深度学习模型通过对海量的图像数据进行学习,逐步理解图像的各种特征,如颜、纹理、形状等,以及更高层次的语义信息。这些模型能够从数据中自动提取特征,并利用这些特征来生成新的图像。

2.生成式模型:

根据输入数据生成新数据的模型,在 AIGC 图像生成中,捕捉训练数据中的分布信息,生成与真实图像相似的图像。

生成式模型是一类能够根据输入数据生成新数据的模型。在 AIGC 图像生成中,生成式模型的作用是捕捉训练数据中的分布信息,从而能够生成与真实图像相似的图像。这些模型可以接受各种类型的输入,如文本、噪声等,并通过学习数据的分布规律,生成具有特定特征和风格的图像。

(二)主要模型

1.生成对抗网络(GA):

由生成网络和判别网络组成,两者在训练过程中相互对抗,不断优化,直至生成网络能生成足够真实的图像以欺骗判别网络。

生成对抗网络(GA)是 AIGC 图像生成中一种重要的模型。它由生成网络(Generator)和判别网络(Discriminator)两部分组成。生成网络的任务是生成逼真的图像,而判别网络则负责判断输入的图像是真实的还是由生成网络生成的。在训练过程中,生成网络和判别网络相互对抗,不断优化自身的性能。生成网络试图生成更加真实的图像来欺骗判别网络,而判别网络则努力提高自己的辨别能力。通过这种对抗训练,生成网络逐渐能够生成足够真实的图像,以骗过判别网络。

2.扩散模型(Diffusion Model):

分为去噪和采样两个阶段,通过不断优化去噪过程,从噪声中生成高质量的图像。

扩散模型也是 AIGC 图像生成中的一种重要模型。它分为去噪和采样两个阶段。在去噪阶段,模型通过学习如何从噪声中去除干扰,逐步还原出图像的信息。在采样阶段,模型根据去噪后的结果生成高质量的图像。通过不断优化去噪过程,扩散模型能够从噪声中生成具有高度真实感和多样性的图像。

(三)工作原理

1.数据学习:

学习大量图像数据,为模型提供丰富的视觉信息。

在训练阶段,AIGC 图像生成模型会学习大量的图像数据。这些数据涵盖了各种风格、场景和对象的图像,为模型提供了丰富的视觉信息。通过对这些图像数据的学习,模型能够掌握不同图像的特征和规律,为后续的图像生成做好准备。

2.特征提取:

自动提取图像中的特征和规律。

通过深度学习技术,模型能够自动提取图像中的特征和规律。这些特征包括颜、纹理、形状等低层次特征,以及更高级别的语义特征。低层次特征描述了图像的基本视觉属性,而语义特征则反映了图像的内容和含义。通过提取这些特征,模型能够更好地理解图像,并在生成图像时利用这些特征来创造出更加逼真和有意义的图像。

.图像生成:

根据输入的数据生成新的图像,生成过程通常涉及随机性。

在生成阶段,模型会根据输入的数据生成新的图像。输入数据可以是文本描述、噪声等。生成过程通常涉及随机性,这是为了确保生成的图像具有多样性。通过引入随机性,模型可以在生成图像时产生不同的结果,从而满足用户对多样化图像的需求。

4.优化调整:

通过 GA 或扩散模型的优化调整,生成的图像不断接近真实图像的质量,并进行合规检测。

生成的图像会通过 GA 或扩散模型进行优化调整。在这个过程中,模型会不断地改进生成的图像,使其质量不断接近真实图像。同时,模型还会进行合规检测,确保生成的图像不包含违法和不良信息。合规检测是非常重要的一步,它可以保证生成的图像符合法律法规和道德规范,避免出现不良影响。

二、AIGC 生图代码示例

4967be25a51189fc6b19ea2217d8a2.png

1.安装所需的库和工具,如 Data-Juicer、DiffSynth-Studio、peft、lightning、pandas、torchvision 等。

  • 安装过程可以参考以下步骤:首先安装 simple-aesthetics-predictor;接着以开发模式安装 data-juicer;然后卸载 pytorch-lightning;再安装 peft、lightning、pandas 和 torchvision;最后以开发模式安装 DiffSynth-Studio。具体命令如下:

代码语言:javascript代码运行次数:0运行复制
   !pip install simple-aesthetics-predictor
   !pip install -v -e data-juicer
   !pip uninstall pytorch-lightning -y
   !pip install peft lightning pandas torchvision
   !pip install -e DiffSynth-Studio

2.从魔搭数据集中下载数据集,并进行数据筛选过滤。

  • 从魔搭数据集中下载名为 “AI-ModelScope/lowres_anime” 的数据集,代码如下:

代码语言:javascript代码运行次数:0运行复制
    from  import MsDataset
    ds = MsDataset.load('AI-ModelScope/lowres_anime',subset_name='default',split='train',cache_dir="/mnt/workspace/kolors/data")
  • 对下载的数据集进行预处理,将图像转换为 RGB 格式并保存,同时将每张图像的路径和对应的标签写入 metadata.jsonl 文件。然后定义配置文件,对数据集进行清洗,包括图像尺寸和宽高比的筛选。清洗后的数据处理包括读取结果文件,提取文本描述和图像路径,保存为 CSV 文件。代码如下:
代码语言:javascript代码运行次数:0运行复制
    import json, os
    from data_juicer._utils import SpecialTokens
    from tqdm import tqdm
    ("./data/lora_dataset/train", exist_ok=True)
    ("./data/data-juicer/input", exist_ok=True)
    with open("./data/data-juicer/input/metadata.jsonl", "w") as f:
        for data_id, data in enumerate(tqdm(ds)):
            image = data["image"].convert("RGB")
            image.save(f"/mnt/workspace/kolors/data/lora_dataset/train/{data_id}.jpg")
            metadata = {"text": "二次元", "image": [f"/mnt/workspace/kolors/data/lora_dataset/train/{data_id}.jpg"]}
            f.write(json.dumps(metadata))
            f.write("\n")
    # 配置文件定义与数据清洗
    data_juicer_config = """
    # global parameters
    project_name: 'data-process'
    dataset_path: './data/data-juicer/input/metadata.jsonl'  # path to your dataset directory or file
    np:4  # number of subprocess to process your dataset
    text_keys: 'text'
    image_key: 'image'
    image_special_token: '<__dj__image>'
    export_path: './data/data-juicer/output/result.jsonl'
    # process schedule
    # a list of several process operators with their arguments
    process:
    - image_shape_filter:
        min_width: 1024
        min_height: 1024
        any_or_all: any
    - image_aspect_ratio_filter:
        min_ratio: 0.5
        max_ratio: 2.0
        any_or_all: any
    """
    with open("data/data-juicer/data_juicer_config.yaml", "w") as file:
        file.write(data_juicer_config.strip())
   !dj-process --config data/data-juicer/data_juicer_config.yaml
    # 清洗后数据集处理
    import pandas as pd
    import os, json
    from PIL import Image
    from tqdm import tqdm
    texts, file_names = [], []
    ("./data/data-juicer/output/images", exist_ok=True)
    with open("./data/data-juicer/output/result.jsonl", "r") as f:
        for line in tqdm(f):
            metadata = json.loads(line)
            texts.append(metadata["text"])
            file_names.append(metadata["image"][0])
    df = pd.DataFrame({"text": texts, "file_name": file_names})
    _csv("./data/data-juicer/output/", index=False)

.下载可图模型,如 Kolors、SDXL-vae-fp16-fix。

  • 下载模型代码如下:

代码语言:javascript代码运行次数:0运行复制
    from diffsynth import download_models
    download_models(["Kolors", "SDXL-vae-fp16-fix"])

4.使用不同的工具和技术进行图像生成,如 Stable Diffusion、腾讯云的大模型图像创作引擎等,包括创建虚拟环境、搭建 torch 环境、使用特定的函数模块进行线稿生图等。

  • 使用 Stable Diffusion 进行图像生成需要安装相关软件和依赖,如 Python、torch 等,并加载预训练模型。以下是一个简单的示例代码:

代码语言:javascript代码运行次数:0运行复制
    # 注册账号并开通服务
    # 在使用大模型图像创作引擎服务前,需要先注册腾讯云账号。
    # 注册并通过实名认证后,登录腾讯云大模型图像创作引擎控制台,阅读和同意服务条款,单击立即开通,即可获得大模型图像创作引擎的 API 接口调用权限。
    # 新建/查看云 API 密钥
    # 在控制台访问管理中,点击访问密钥菜单栏,进入 API 密钥管理页面,新建或查看密钥,保存 secretId 和 secretKey。
    # 新建项目文件夹并安装依赖
    # 进入项目目录,打开终端,输入以下命令安装依赖:
    npm install tencentcloud-sdk-nodejs-aiart
    # 新建云 API 函数模块 tencentCloudApi.js 文件
    import tencentcloud from "tencentcloud-sdk-nodejs-aiart";
    ct AiartClient = tencentcloud.aiart.v20221229.Client;
    ct clientConfig = {
        credential: {
            secretId: "AKIDjIcgU1HI2VhcHxxxxxxxxxxxxxxxxxxxxx",
            secretKey: "KOBhwykFagX8UaS5Sxxxxxxxxxxxxxxxx",
        },
        region: "ap-shanghai",
        profile: {
            httpProfile: {
                endpoint: "",
            },
        },
    };
    ct client = new AiartClient(clientConfig);
    export async function sketchToImage(prompt, inputImage) {
        ct params = {
            "Prompt": prompt,
            "InputImage": inputImage,
            "RspImgType": "url",
        };
        try {
            ct respe = await client.SketchToImage(params);
            if (!respe.RequestId) {
                throw new Error(`HTTP error!`);
            }
            return respe;
        } catch (error) {
            (`Error fetching`, error);
            throw error;
        }
    }
    # 新建保存 Url 图片功能函数 saveImageFromUrl.js
    import https from 'https';
    import fs from 'fs';
    export async function saveImageFromUrl(url, outputFilePath) {
        return new Promise((resolve, reject) => {
            ct file = (outputFilePath);
            https.get(url, (respe) => {
                if (respe.statusCode!== 200) {
                    reject(new Error(`Failed to get image, status code: ${respe.statusCode}`));
                    return;
                }
                respe.pipe(file);
                ('finish', () => {});
            });
        });
    }
  • 使用腾讯云的大模型图像创作引擎进行线稿生图,步骤如下:
代码语言:javascript代码运行次数:0运行复制
    # 注册账号并开通服务
    # 在使用大模型图像创作引擎服务前,需要先注册腾讯云账号。
    # 注册并通过实名认证后,登录腾讯云大模型图像创作引擎控制台,阅读和同意服务条款,单击立即开通,即可获得大模型图像创作引擎的 API 接口调用权限。
    # 新建/查看云 API 密钥
    # 在控制台访问管理中,点击访问密钥菜单栏,进入 API 密钥管理页面,新建或查看密钥,保存 secretId 和 secretKey。
    # 新建项目文件夹并安装依赖
    # 进入项目目录,打开终端,输入以下命令安装依赖:
    npm install tencentcloud-sdk-nodejs-aiart
    # 新建云 API 函数模块 tencentCloudApi.js 文件
    import tencentcloud from "tencentcloud-sdk-nodejs-aiart";
    ct AiartClient = tencentcloud.aiart.v20221229.Client;
    ct clientConfig = {
        credential: {
            secretId: "AKIDjIcgU1HI2VhcHxxxxxxxxxxxxxxxxxxxxx",
            secretKey: "KOBhwykFagX8UaS5Sxxxxxxxxxxxxxxxx",
        },
        region: "ap-shanghai",
        profile: {
            httpProfile: {
                endpoint: "",
            },
        },
    };
    ct client = new AiartClient(clientConfig);
    export async function sketchToImage(prompt, inputImage) {
        ct params = {
            "Prompt": prompt,
            "InputImage": inputImage,
            "RspImgType": "url",
        };
        try {
            ct respe = await client.SketchToImage(params);
            if (!respe.RequestId) {
                throw new Error(`HTTP error!`);
            }
            return respe;
        } catch (error) {
            (`Error fetching`, error);
            throw error;
        }
    }
    # 新建保存 Url 图片功能函数 saveImageFromUrl.js
    import https from 'https';
    import fs from 'fs';
    export async function saveImageFromUrl(url, outputFilePath) {
        return new Promise((resolve, reject) => {
            ct file = (outputFilePath);
            https.get(url, (respe) => {
                if (respe.statusCode!== 200) {
                    reject(new Error(`Failed to get image, status code: ${respe.statusCode}`));
                    return;
                }
                respe.pipe(file);
                ('finish', () => {});
            });
        });
    }

三、AIGC 生图应用案例

57c6c5faf0c0bb9846f1df25f25ee7.jpeg

1.设计提效:

缩短概念风格、设计初稿和设计终稿的反复沟通时间,提升效率 25 - 55%。

当未使用 Midjourney 和 Stable Diffusion 时,设计师在设计参考阶段需要花费大量时间参考图,还需绘制设计草图,然后与业务确认风格和草图,接着进行设计建模和细化设计,最后确定设计定稿。而有了 AIGC 工具的辅助,如使用 Midjourney 生成设计参考图,可快速与业务确认设计风格,绘制线稿草图后,通过 Stable Diffusion 直接生成设计图,设计师再做细节优化,极大地缩短了整个设计流程的时间,提升了效率。

2.活动弹窗设计:

运用 ChatGPT 获取设计思路,通过 Stable Diffusion 生成更有质感和高级感的设计主体元素。

先运用 ChatGPT 获取弹窗的设计思路,从多角度切入设计,使设计方案更完善。通过 ChatGPT 分析后,提取关键词如黑金、高级感、精致、质感等,再具象延伸添加宝石、荣耀感、坚硬感和钻石等关键词,并转化为英文。将初稿中的钻石图放进 Stable Diffusion 图生图功能,输入关键词,重复幅度调到 5 以下,反复多批量产出后筛选出想要的结果,通过 Stable Diffusion 生成更有质感和高级感的设计主体元素,节省大量设计细节的时间。

.勋章图标设计:

利用 Stable Diffusion 制作勋章图标,从简化版设计深入刻画精细版。

Midjourney 和 Stable Diffusion 可以制作勋章图标。勋章一般有简化版和精细版,用于不同尺寸的场景。以网易大神梦幻西游武神坛勋章为例,借助 Stable Diffusion,输出简化版本的设计,让 Stable Diffusion 深入刻画。从勋章自带荣誉感属性出发,得到宝石、金属质感、闪耀感和高级感等关键词,转化为英文后输入,得到设计图。然后用生成最满意的图继续下一轮刻画,以达到最贴合需求的出图效果。

4.IP 设计:

通过 Stable Diffusion 结合线稿和关键词生成 IP 形象,包括选择合适的模型和插件、设置 controlnet 面板等步骤。

在设计 IP 前期,确定 IP 的应用场景和角动作。以网易大神 IP 霸哥为例,讲解如何用 Stable Diffusion 制作 IP 素材。首先绘制角动作线稿,给角设定动作如单手持玩具,眼神坚毅望向前方,注意草图线稿要干净连贯。然后选择并下载合适模型以及插件,结合 IP 形象特点,在 C 站选择相对应的模型,如大模型 MeinaMix,Lora 插件 blindbox。接着设置 controlnet 面板,在文生图界面到 Controlet 一栏,上传绘制好的线稿草稿,勾选启用,若线稿图片背景为白,可勾选反模式,并选择好预处理器和模型。最后输入关键词并设置参数,如描述霸哥形象特征的关键词,生成 IP 形象。

5.其他应用案例:

如模特宣传海报生成、表情包生成等,展示了 Midjourney 在不同领域的应用。

  • 模特宣传海报生成:利用 Midjourney 生成模特宣传海报。首先通过 Midjourney 的图生文功能获取关键词灵感,生成模特素材,如 “Full body photo of a Chinese female model standing in front of a bright wall, Asian style, Product photography, Sophisticated and high-end, Panoramic view, 100mm lens, Super details of the highest quality, 8K --ar 9:16 --v 5.2”。然后生成服饰素材,用服装名称作为关键词,如 “a Plaid cardigan, White background, 8K --v 5.2 --no people”。接着把衣服素材抠图后叠到选好的模特图上,上传初步融合的模特图,通过垫图 + 关键词的方法批量生成模特图。最后挑选合适的模特图进行后期微调排版,完成海报。
  • 表情包生成:使用 Midjourney 生成表情包。首先通过 Midjourney 的图生文功能获取关键词灵感,结合关键词描述的基本句式,如 “画面主体:企鹅卡通贴纸;画面修饰:企鹅的各种表情和动作,快乐的,生气的,悲伤的,失望的,吃惊的等;细节描述:白背景,九宫格布局,插画设计,皮克斯风格;参数后缀:--niji 5”,生成一大批小企鹅。然后可以通过 Variati 升频控制等方法保持表情包的一致性。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-02,如有侵权请联系 cloudcommunity@tencent 删除设计数据原理aigc模型

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1205448.html

相关标签:无
上传时间: 2025-07-24 08:17:56
留言与评论(共有 16 条评论)
本站网友 狗发烧的症状
21分钟前 发表
exist_ok=True) with open("./data/data-juicer/output/result.jsonl"
本站网友 苏州整形美容
21分钟前 发表
即可获得大模型图像创作引擎的 API 接口调用权限
本站网友 松山湖二手房
30分钟前 发表
纹理
本站网友 hiromi
5分钟前 发表
"ap-shanghai"
本站网友 annaaj
0秒前 发表
可快速与业务确认设计风格
本站网友 民主党
24分钟前 发表
Sophisticated and high-end
本站网友 去黑头小窍门
4分钟前 发表
首先绘制角动作线稿
本站网友 脉络宁注射液
25分钟前 发表
通过垫图 + 关键词的方法批量生成模特图
本站网友 雪燕的功效与作用
14分钟前 发表
确定 IP 的应用场景和角动作
本站网友 微波杀菌
29分钟前 发表
通过对这些图像数据的学习
本站网友 奉贤二手房出售
11分钟前 发表
status code
本站网友 女性生殖器官图
29分钟前 发表
正逐渐改变着我们对于图像创作与生成的传统认知
本站网友 像一团火在烧
15分钟前 发表
输入数据可以是文本描述
本站网友 erbitux
25分钟前 发表
代码如下:代码语言:javascript代码运行次数:0运行复制 from import MsDataset ds = MsDataset.load('AI-ModelScope/lowres_anime'
本站网友 晚期乳腺癌
24分钟前 发表
低层次特征描述了图像的基本视觉属性