文生图大模型

简介: DALL·E 是由 OpenAI 开发的基于深度学习的图像生成模型,能够根据文本描述生成原创图像。从 2021 年初的 DALL·E 到 2022 年的 DALL·E 2,再到最新的 DALL·E 3,其功能不断升级,包括生成、扩展、修改图像及生成变体图像。DALL·E 3 在提示优化、清晰度和多风格支持方面进行了增强,广泛应用于定制图像生成、虚拟设定、产品设计和广告营销等领域。

简介

Dall-E 由 OpenAI 发布,是一种基于深度学习的生成模型,它是一种改进的 GPT 模型,专门用于图像生成。Dall-E 可以根据文本描述生成与之相符合的原创性、真实的图像。

Dall-E 通过一个拥有 120 亿参数的 Transformer 模型来理解自然语言的输入,并生成相应的图片。这些图片不仅限于现实中已存在的图像,还包括虚拟的、现实中不存在的图像。

Dall-E 发展

Dall-E 和 Dall-E 2

Dall-E 最早发布于 2021 年 1 月 5 日由 OpenAI 发布,它具备生成逼真图像的能力。一年后的 2022 年 4 月 OpenAI 宣布了新版本的 DALL-E 2,这一版本具备更为强大的功能,并且在分辨率方便也提高了 4 倍。以下是 Dall-E 所具备的扩展的功能:

  • 图像生成。
  • 扩展图像。
  • 修改已有图像。
  • 根据已有的图像生成新的图像。

Dall-E 2 的局限性

尽管 Dall-E 2 的功能已经非常强大,然而开发者也公开提出了它的局限性,对于图像的属性,Dall-E 2 是没有一个很准确的判断的,并且细节方面还有很多的欠缺。

并且基于安全考虑,Dall-E 2 是不会生成包含暴力、政治等敏感图片的。

Dall-E 3 的增强

相比较 Dall-E 2 的图像生成,Dall-E 3 对图像的增强有以下几个方面:

  • 提示优化:详细的提示会带来更为准确的图片结果。
  • 清晰度:可选择standard标准与HD高清两种。
  • 多尺寸:接受三种尺寸(1024px x 1024px、1792px x 1024px 和 1024px x 1792px)。
  • 多风格:natural 自然和 vivid 生动两种。

应用场景

  • 定制化图像生成
  • 虚拟设定和游戏开发
  • 产品设计和广告营销
  • 自然语言处理和计算机视觉研究

实战示例

OpenAI 提供了三种 API 调用的方式,如下所示:

  • Dall-E 3 和 Dall-E 2:根据文本提示从头开始创建图像。
  • Dall-E 2:根据新的文本,替换预先存在的图像的某些区域。
  • Dall-E 2:根据图像生成图像的变体。

生成图像

前提:已安装 openai 库

保存图片需要提前下载 requests 库:pip install requests

# 实例化 openai 的对象
client = OpenAI(base_url="xxx",api_key="xxxx")
def generate_image_path():
    # 生成图片路径
    return os.path.join("img_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") + ".png")
def test_image_normal():
    # 文生图,指定模型,给出提示语和大小限制
    response = client.images.generate(
        model="dall-e-3",
        prompt="一只猫在窗户边睡觉",
        size="1024x1024",
    )
    # 得到生成的图片链接
    image_url = response.data[0].url
    print(image_url)
    # 下载并保存图像
    image_response = requests.get(image_url)
    with open(generate_image_path(), 'wb') as f:
        f.write(image_response.content)

增加图像生成的条件


def test_image_style():
    # 文生图
    response = client.images.generate(
        model="dall-e-3",
        prompt="一只猫在窗户边睡觉",
        size="1024x1024",
        style="natural",
        quality="standard",
        n=1
    )
    image_url = response.data[0].url
    print(image_url)

生成多个图像

def test_image_num():
    response = client.images.generate(
        model="dall-e-2",
        prompt="一只猫在窗户边睡觉",
        n=3
    )
    for i, image in enumerate(response.data):
        image_response = requests.get(image.url)
        with open(generate_image_path(), 'wb') as f:
            f.write(image_response.content)
        print(f"生成的第{i}张图片地址是:{image.url}")

修改图像

下载 img1.png 下载 img2.png

def test_change_image():
    # 将图1根据提示在图2的标记上进行修改
    response = client.images.edit(
        model="dall-e-2",
        image=open("img1.png", "rb"),
        mask=open('img2.png', 'rb'),
        prompt="A sunlit indoor lounge area with a pool containing a flamingo",
        n=1,
        size="256x256"
    )
    # 生成的图像路径
    image_url = response.data[0].url
    # 存储图片
    image_response = requests.get(image_url)
    with open(generate_image_path(), 'wb') as f:
        f.write(image_response.content)

生成变体图像

下载ori_img.png


def test_variation_image():
    response = client.images.create_variation(
        model="dall-e-2",
        # 给出原图像
        image=open("ori_img.png", "rb"),
        n=1,
        size="1024x1024",
    )
    # 获取生成的图片路径
    image_url = response.data[0].url
    # 保存图片
    image_response = requests.get(image_url)
    with open(generate_image_path(), 'wb') as f:
        f.write(image_response.content)

总结

  • 了解 Dall-E 的功能。
  • 了解 Dall-E 的用法。
相关文章
|
2月前
|
JSON 人工智能 物联网
西游再现,一键部署 Flux 文生图大模型生成西游人物
从花果山的灵石出世,到取经路上的九九八十一难,再到大闹天宫的惊心动魄……这些耳熟能详的西游场景,如今都能通过 Flux 模型,以超乎想象的细节和真实感呈现在你眼前。本次实验在函数计算中内置的 flux.1-dev-fp8 大模型,搭配 Lora 模型,无需复杂的配置,一键部署,你就能成为这场视觉盛宴的创造者。
358 17
|
6月前
|
机器学习/深度学习 自然语言处理
文生图模型-Stable Diffusion | AIGC
所谓的生成式模型就是通过文本或者随机采样的方式来得到一张图或者一段话的模型,比如文生图,顾名思义通过文本描述来生成图像的过程。当前流行的文生图模型,如DALE-2, midjourney以及今天要介绍的Stable Diffusion,这3种都是基于Diffusion扩散模型【1月更文挑战第6天】
834 0
|
6月前
|
人工智能 开发工具 git
【AI绘画】Stable Diffusion 客户端搭建
【AI绘画】Stable Diffusion 客户端搭建
183 0
【AI绘画】Stable Diffusion 客户端搭建
|
人工智能 物联网
AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)
AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)
1418 0
|
人工智能
AI 绘画Stable Diffusion 研究(十二)SD数字人制作工具SadTlaker插件安装教程
AI 绘画Stable Diffusion 研究(十二)SD数字人制作工具SadTlaker插件安装教程
937 0
|
5月前
|
机器学习/深度学习 人工智能 算法
Stable Diffusion AI绘画
Stable Diffusion是人工智能领域的文本到图像生成模型,基于概率的连续扩散过程,学习数据潜在分布并生成新样本。模型使用Web UI进行交互,提供不同采样器如Euler和DPM++,后者常配以Karras算法。提示词对生成效果至关重要,可以利用GPT等生成提示词。用户还能调整参数如高清修复和批处理次数来影响生成的图像。此外,模型文件(ckpt/safetensors)和Lora微调模型需存放在正确目录以确保功能正常。
|
4月前
|
人工智能
AI绘画,Stable Diffusion如何使用中文简体包,黑色页面切换参数http://127.0.0.1:7860/?__theme=dark 两个__,中文包下载和安装
AI绘画,Stable Diffusion如何使用中文简体包,黑色页面切换参数http://127.0.0.1:7860/?__theme=dark 两个__,中文包下载和安装
|
4月前
|
人工智能
AI绘画---Stable Diffusion checkpoint 插件无法安装,中文包无法下载怎么办?这里该如何解决,扩展无法出现
AI绘画---Stable Diffusion checkpoint 插件无法安装,中文包无法下载怎么办?这里该如何解决,扩展无法出现
|
6月前
Stable Diffusion文生图-图生图-ControINet插件-线稿上色-生产全套表情包-3D Openpose-局部重绘-换衣服,换姿势人设三视图一键生成教程大全(二)
Stable Diffusion文生图-图生图-ControINet插件-线稿上色-生产全套表情包-3D Openpose-局部重绘-换衣服,换姿势人设三视图一键生成教程大全(二)
270 4
|
6月前
|
编解码 人工智能 自然语言处理
Stable Diffusion文生图-图生图-ControINet插件-线稿上色-生产全套表情包-3D Openpose-局部重绘-换衣服,换姿势人设三视图一键生成教程大全(一)
Stable Diffusion文生图-图生图-ControINet插件-线稿上色-生产全套表情包-3D Openpose-局部重绘-换衣服,换姿势人设三视图一键生成教程大全(一)
481 1