文生图大模型

简介

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 的用法。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容