DreamBooth为何有能力让第一个应用创建者年赚2500万美金?

news/2024/11/24 3:29:56/

DreamBooth 是一种个性化的文本到图像生成模型,它可以通过向扩散模型(比如Stable Diffusion)中注入少量主体对象,从而达到对基础模型的微调。使用微调后的模型可以生成在不同的场景、姿势和视角中的该主体上下文图像。

Dreambooth由Google提出,使用Dreambooth,一旦系统捕获了对象,就可以合成该对象的任何图像,也就是梦有多远,就能带你走多远。

It’s like a photo booth, but once the subject is captured, it can be synthesized wherever your dreams take you.

听起来不错,但它是如何工作的呢?

我们先看几个例子:

输入几只狗的图片,生成这只狗在不同场景下的图片:

上面的狗有的在游泳,有的在笼子里,有的在睡觉等。

输入几张狗的照片,就可以生成同一个狗的多种艺术风格的照片:

生成的狗有的是梵高风格,有的是达芬奇风格等。

重点是狗还是这同一只狗!

如果你接触文生图不久,或者经验不多,也许你并不觉得惊奇,其实现在的文生图包括图生图的一大挑战就是在不同场景生成同一主体对象。下面我一步步来解释这个问题。

当前的文生图模型,很难做到保持原有主体对象的关键视觉特征,举个例子:对于下面的输入图像:

使用当前模型,比如OpenAI的 DALL-E2和Google 的Imagen 模型 ,使用文生图基于prompt生成新的图像:

retro style yellow alarm clock with a white clock face and a yellow number three on the right part of the clock face in the jungle

在丛林中的复古样式的黄色闹钟,白色的钟面,在钟面的右边有黄色的数字3

对比看下生成的效果:

DAEE-E2没有遵从指令表现在:没有丛林背景,数字3没有在右边,数字3不是黄色。一致性和上下文都没有遵从指令要求。

Imagen 没有遵从指令表现在:数字3没有在右边,数字3不是黄色。上下文遵从指令要求,但是一致性没有遵从指令要求。

最后是DreamBooth 上下文和一致性都完美遵从了指令要求。

DreamBooth是如何做到的呢?为了避免过拟合问题,DreamBooth并没有基于大模型重新训练,而是通过引入带有唯一标识的文本prompt和输入图像对:

,下面图例中的[V] 表示占位符

来对文生图模型进行微调。

还有一种类似的技术叫做文本反转。不同之处在于,Dreambooth 对整个模型进行了微调,而文本倒置注入了一个新单词,而不是重用一个罕见的单词,并且只对模型的文本嵌入部分进行了微调。

通过这种方法,能够在不同环境中保持对象的细节,以及场景和主体之间的真实交互:

比如不同场景中的太阳镜:

不同场景中的包包:

不同场景中的花瓶:

不同场景中的紫砂壶:

上面这些图非常适合拍摄商品图啊。下面来看一个活物,题外话:不知道为什么论文作者喜欢写狗的照片!不同场景中的宠物狗:

还可以展示动物不同角度:

变换颜色:

动物杂交(将两种动物合成一种新的动物),比如将狗和犀牛糅合在一起,当然如果你愿意(看),还有人杂交的图片,比如拜登和特朗普:

还可以给狗装扮不同的饰品:

这么厉害的模型可以怎么用呢?

我还是从一个场景中说起:有些人在写网文小说,也有人在做儿童绘本,但是在不同场景中人物形象就是难以控制一致,最好绞劲脑汁,折腾出来了各种奇淫异技,包括我之前也写过几篇这种文章,包括:

《在Stable Diffusion中如何保持人物形象一致性》【如何让Stable Diffusion在不同场景保持人物形象的一致性 - 知乎】

《如何在Midjourney中保持人物形象一致性》【如何在Midjourney 中创建形象一致的人物角色 - 知乎】

这些方法不能说完全没有效果,只是准确度不高,比较费力,属于治标不治本的技能范畴。

除了上面文章中提到的这些方法,这篇文章顺带在介绍一个方法,这是最省力的方法。

使用名人形象作为自己的身份角色,比如:

medium-full shot of [NAME OF CELEBRITY] with a warm smile, sitting in a charming soho cafe filled with plants, looking out the window as people walk by

除了政治人物,还有明星,运动员,知名科学家等的形象都可以拿来用,但是不足之处在于这种名人效应太强了,商业作品有可能侵权,还有种办法,修改名人形象,比如生成名人儿童照片,像下面这样:

其他冷门名人也可以用类似生成你想要的角色:

[NAME OF CELEBRITY] as a 25 year old female scientist, (walking in a tunnel), blue hair, wispy bangs, (white lab coat), (pants), smiling, stunningly beautiful, zeiss lens, half length shot, ultra realistic, octane render, 8k

这样稍微变通,既能保持了名人的基本形貌,也不至于跟原人物形象雷同。甚至还可以将名人变性,改变性别,种族等方法 :

[NAME OF CELEBRITY] as a 25 year old sexy gorgeous thai female mechanic, blue hair, wispy bangs, ((thicc)), (((dirty clothes))), smiling, stunningly beautiful, zeiss lens, half length shot, ultra realistic, octane render, 8k

Negative: Male, man, cartoon, 3d, video game, unreal engine, illustration, drawing, digital illustration, painting, digital painting, sketch, black and white

[NAME OF CELEBRITY] as a 25 year old jacked handsome Jamaican male mechanic, buzzed haircut, chiled jaw, ((swole)), ((huge biceps)), (((dirty clothes))), smiling, stunningly handsom, zeiss lens, half length shot, ultra realistic, octane render, 8k

这是没办法中的办法,尽管如此,我们还是能够在不违法法理的情况下得到了一致性的人物形象。

如果你实在是对人物形象要求比较高,那只能寄出大杀器了,训练自己的模型,在Stable diffusion中主要有三个可选:

  1. Textual Inversion (cheap and good)
  2. DreamBooth (expensive and best)
  3. Hypernetwork (cheap and ok)

在要求较高的场景中 DreamBooth是你的首选,尽管效果最好,但是成本也最高,其他一般场景 Hypernetwork和ControlNet Deep preprocessing 也可以选,至少比上面文章中列举的目前网络上在用的方法更好。

最后,关于DreamBooth训练方法,因为调参比较复杂,还不一定能成功,我在接下来的文章中视情况再做介绍。

题外话,最近很火的生成个人写真的小程序很火,妙鸭,网上大多推测它使用了LoRA模型训练,如果真是这样的话,说明它还不够先进,国外有基于DreamBooth训练个人形象:只需要花费3美元,就可以在一个月内无限迭代生成自己的专属形象,据报告最早做这个网站的人已经赚了2500万美金。

本文首发 纵横AI大世界 公众号。加入我的知识星球,带你了解更多关于AI方面的前沿技术、应用案例以及变现机会。


http://www.ppmy.cn/news/998765.html

相关文章

攻防世界-web-lottery

题目描述:里面有个附件,是网站的源代码,还有一个链接,是线上的网站 主页告诉了我们规则: 1. 每个人的初始金额为20美元 2. 一支彩票2美元,挑选7个数字,根据匹配上的数字有不同的奖励 我们先体…

软件外包开发的PHP开发框架

PHP有许多流行的开发框架,每个框架都有其独特的特点和优势。下面列举的只是一部分PHP开发框架,还有其他一些框架如Slim、Zend Framework等也值得一提。选择合适的框架取决于项目的需求和开发团队的偏好,您可以根据项目规模、复杂性和功能需求…

JS之new Date(‘yyyy-MM-dd‘)多8小时问题

new Date(‘yyyy-MM-dd’)多8小时问题 原因 //会多8小时的转化 new Date("2023-08-02") //不会多8小时的转化 new Date("2023-8-2")因为月和天为个位数时前面带有0,这时会当你处于格林尼治国际标准时的时区(0时区)而你…

探索现代前端工程化工具与流程:提升开发效率和项目质量

文章目录 引言前端工程化的背景和发展1. 构建工具的出现2. 模块化开发3. 包管理工具的兴起4. 自动化测试和持续集成5. 组件化开发和前端框架的崛起 前端工程化对项目开发和团队协作的重要性 前端工程化基础前端工程化的定义和目标前端工程化的核心概念和原则 前端工程化工具与流…

三种简单易用的制作符合要求的证件照片的方法

在生活和学习中,我们经常需要上传一些证件照片。但是在准备上传之前,我们可能会发现底色不正确,这会导致无法通过审核。重新拍照既费时间又浪费金钱,这让人感到非常困扰。然而,我们可以借助一些方法和工具来轻松更改证…

django使用mysql数据库

Django开 发操作数据库比使用pymysql操作更简单,内部提供了ORM框架。 下面是pymysql 和orm操作数据库的示意图,pymysql就是mysql的驱动,代码直接操作pymysql ,需要自己写增删改查的语句 django 就是也可以使用pymysql、mysqlclient作为驱动&a…

Docker 容器常用的命令和操作

1.容器操作 - 运行容器: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 示例: docker run -it --rm ubuntu /bin/bash - 查看正在运行的容器: docker ps [OPTIONS] 示例: docker ps -a - 停止容器: docker stop CONTAINER [CONTAINER...] 示…

Git(丢失stash数据恢复)

在这里总结一下昨天遇到的问题,我本想将本地代码push到远端仓库,依次运行了以下命令 git init //初始化 git add . //将本地代码添加到暂存区 git commit -m 注释 //将暂存区内容添加到本地仓库中。 结果这时发生了代码冲突,我的代码全没了&a…