抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

DataWhaleX魔搭_AI夏令营_四期AIGC方向_task02 学习笔记

接上文。

本次的任务是利用AI继续精读代码、利用AI完成一次比赛任务。

AI生图前沿

在仔细阅读Task02所给的教程之后,我内心其实是有一些震惊的。在上一篇学习笔记中,我也大量地提到了AI生图目前的局限性——我提到了细节绘图能力不行、画不好手等等,但教程中的信息告诉我,这都是一年多前的老黄历了,目前业界已有相当多的解决方案。

给图片里的人手打上标记,像把手掌、拇指、食指啥的,都给清楚地标出来

是的,这个解决方案在我的上一篇笔记中也设想过……虽然麻烦,但是确实是有效的。

过去文生图主要以 SD 系列基础模型为主,仅支持英文的prompt,但可图是支持中文的文生图模型,文生图的prompt格式较为固定,魔搭社区还开源了专门的各种风格的可图优质咒语书,可以针对600+种不同风格,完善prompt,生成各种风格图片,可以在我们的学习当中使用。

这样一来,我们对于prompt的使用不局限于第三方工具了。同时,我经过测试发现,靠前的prompt似乎权重更大。

在我的上一篇文章中,还提到了AI生成图片时一般无法正确生成文字的问题。看过教程后我发现,这一点竟然也已经有了解决方案。

在某些设计的场景中,我们还希望AI能为我们将特定的文字生成在图片当中,比如下面这种海报——

但实际上,这种固定文字生成,往往难度较大,一是具体生成在哪些位置,往往需要人为设定,为了更方便地制作类似这样的海报还产生了PS等图片编辑工具,才能实现相应的效果,想要让AI稳定生成相似效果的图片可想而知难度之大。

像我们Task1中介绍的创意海报生成工具,早已在代码中固定了相应的文字位置和对应的字体,才能进行相应的生成,且大概率是进行了两个步骤——

  • 一个步骤是AI生成背景,
  • 另一个步骤是通过代码将对应的文字显示到对应位置,
  • 然后渲染,合成图片,给到我们。

这真的让我比较吃惊了,虽然是通过曲线救国的方式,但确实解决了一大难题,使得AI生图能在更多更广的领域派上用场。

总之,我发现我对于AI生图的理解(上一篇笔记中聊到的)竟然相当过时了。我确实是在23年年底一段时间关注该领域相当多,但我没想到技术发展这么快,很多当时认为的难点都已经早早攻克了。我对AI生图,包括AI生成视频(我得也再多多关注一下生成视频的新发展)原本是不报有很大的希望的,认为短时间内它们还不能取代人类工作者,但现在我认为在一般的领域,它们已经完全可以胜任工作了。上面那张海报真的让我看傻了,直接给我的话,我绝对是分辨不出来的。这一顿吃多少画师啊。

魔搭社区在学习方面确实有着相当丰富的资料,这些工具也相当好用啊。

写笔记写到这里,我也去试了试魔搭的海报生成工具。效果其实还算中规中矩吧,并没有上图宣传的那么震撼,也可能是我的prompt描述不到位。但是这个工具集成了AI扩展文本描述和扩展提示词,有几种风格可以选择,还可以提升结果分辨率和做细节修复,总的来说呢还是很好用的,应付一般需求是足够的。

我是顺手拿这个工具做了两张海报。

总之,可以直接使用,就算不太满意,上PS稍微调一调、多加点元素绝对没问题了。

向AI提问、精读代码

杂谈

本次Task主要任务是通过提问AI的方式来精读baseline代码,夏令营使用的是通义千问大语言模型。

我日常使用大语言模型还是比较频繁的,主要使用的是文心一言、讯飞星火和ChatGPT。ChatGPT我身边很多同学使用国内不知道哪儿找的,应该是调用的接口,也可以正常使用。我是魔法上网在官网用的,当初GPT推出以后没多久就搞了国外临时手机号注册的,不知道现在那方法还能不能用。这样算有利有弊吧,利的方面来说我可以肯定我这是ChatGPT,而我同学们使用的,我仔细观察总觉得是骗人的,看着还挺智障的,并且我没花钱(搞国外临时手机号花了一点点来着)(可能他们那种也没花钱,这要看搞这东西的人的良心的)。弊的方面来讲,我是永远不会使用新的GPT的,一直只用了3.5,是因为没精力搞,也是因为没钱,而我的同学们那种呢,反正宣传上是4.0。是不是真的4.0呢?可能吧~

关于各厂家的大语言模型实际使用体验怎么样,我也不在这里多说。其实我认为,用着顺手的就是好的。平常不太重要的事情我就问讯飞星火了,我爸公司经常需要做PPT,我爸也不会,我也准备给他推荐讯飞星火了。涉及一些有风险的事情,我就去魔法上网问问ChatGPT,比如写思政课论文

代码

代码在Task02任务文档中给出。

  1. 以下代码为方便大家阅读理解,故放在了一起。但不能一键运行跑通,如何跑通代码,请直接参考task1中的内容。

代码内容比较长,并且在本篇文章中我们不需要人为的去一字一句看代码,因此我将其放入folding中以便展开和收起。

代码点这里

首先我们来直观感知下这个文生图代码的框架结构:

分析代码的主体架构

依然还是老样子,我们需要一个prompt。

你是一个优秀的python开发工程师,现在我们需要你帮我们分析这个代码的主体框架,你需要把代码按照工作流分成几部分,用中文回答我的问题。{此处替换前面的代码}

打开(随便一个)大语言模型,输入上面的prompt。

等一下,我突然发现一件事:我现在使用的不是3.5,而是ChatGPT 4o mini。不过这不是什么重要的事情了。

来看看它的输出。因为有大标题小标题啥的,而且直接复制也是MarkDown形式,我使用外部.md文件的形式来呈现。

输出

逐行解释代码

prompt:

你是一个优秀的python开发工程师,现在我们需要你帮我们逐行分析这个代码,用中文回答我的问题。{此处替换前面的代码}
输出

实战演练

这次我选择魔搭平台GPU免费Notebook实例。

让ChatGPT帮我选的故事主题、写的故事梗概、写的prompt,自己稍微调整了一下prompt。

故事主题:时间旅行的笑话-主角偶然发现了一个时间旅行的装置,但每次使用都会发生搞笑的意外情况。

内容:

故事内容详述

第1格

画面:一个不起眼的车库里,一名主角(可以是一个有点邋遢的科学家或发明家)在摆弄一个看起来非常复杂的机器。机器上贴满了“警告”和“试验中”的标签。

文字:主角自言自语:“今天是大日子,我终于完成了我的时间旅行机!”

第2格

画面:主角激动地按下机器上的大按钮,机器开始发出闪烁的灯光和奇怪的声音。
文字:主角兴奋地说:“让我们看看未来有什么有趣的事物吧!”

第3格

画面:机器在闪烁光芒中开始旋转,主角突然消失,周围的物品也跟着闪烁。
文字:旁白:“经过一阵强烈的光芒,主角进入了未来。”

第4格

画面:主角出现在一个看起来很平常的现代办公室里,四周是高科技设备和未来风格的办公桌。
文字:主角满怀期待地观察四周:“哇!这是未来吗?!”

第5格

画面:一位未来的办公室职员(穿着超前卫的工作服)看到主角,表现出困惑和惊讶。
文字:职员说:“你是从哪里来的?今天不是穿越时空的日子。”

第6格

画面:主角挠头,尴尬地解释:“呃,我好像搞错了日期,我以为这是未来的日子。”

第7格

画面:职员微笑着,递给主角一个现代的日历和时光机的使用手册。
文字:职员说:“时间旅行有时需要准确的计划。这里是正确的时间表和使用指南。”

第8格

画面:主角看着手中的日历和手册,一脸的无奈和搞笑的困惑。背景是未来办公室的职员们在窃笑。
文字:主角叹气道:“看来我得先学会时间管理了!”

prompt

prompt

第1格

未调整:一个车库里,一名邋遢的科学家正在操作一个复杂的时间旅行机器。机器上贴满了‘警告’和‘试验中’的标签,科学家神情兴奋,车库里充满了各种工具和零件。

调整后:漫画风,美漫,一个车库里,一名邋遢的科学家正在头操作一个复杂的时间旅行机器,科学家只出现侧影,科学家胡子较长、头发是暗黄色的,体格壮实,大约四五十岁,佝偻着背,机器上贴满了标签,科学家神情兴奋,车库里充满了各种工具和零件。

未调整:不要画一个干净整洁的实验室或现代化的研究环境,也不要画出没有标签和警告的机器。

调整后:二次元,不要出现科学家的正脸,不要出现歪曲的手指、膨大的关节,不要画一个干净整洁的实验室或现代化的研究环境,也不要画出没有标签和警告的机器。

第2格

未调整:科学家激动地按下时间旅行机器上的大按钮,机器开始发出闪烁的灯光和奇怪的声音。画面中可以看到按钮被按下,机器发出光芒。

调整后:漫画风,美漫,一个车库里,一名邋遢的科学家正在头操作一个复杂的时间旅行机器,科学家只出现侧影,科学家胡子较长、头发是暗黄色的,体格壮实,大约四五十岁,佝偻着背,机器上贴满了标签,科学家激动地按下时间旅行机器上的大按钮,机器发出光芒。

未调整:不要画出没有任何动作的机器,或是科学家没有进行任何操作的画面。

调整后:二次元,不要出现科学家的正脸,不要出现歪曲的手指、膨大的关节,不要画一个干净整洁的实验室或现代化的研究环境,也不要画出没有标签和警告的机器,不要画出没有任何动作的机器,或是科学家没有进行任何操作的画面。

第3格

未调整:时间旅行机器在闪烁光芒中旋转,科学家和周围的物品一起被包裹在光芒中,画面中显示出物品和科学家被传送的效果。

调整后:漫画风,美漫,一个车库里,一名邋遢的科学家正在头操作一个复杂的时间旅行机器,科学家只出现侧影,科学家胡子较长、头发是暗黄色的,体格比一般人略微壮实一些,大约四五十岁,佝偻着背,机器上贴满了标签,时间旅行机器在剧烈的闪烁白色光芒中旋转,科学家和周围的物品一起被包裹在白色光芒中,画面中显示出物品和科学家被传送的效果。

未调整:不要画出没有时间旅行效果的画面,也不要画出科学家静止不动的情况。

调整后:二次元,不要出现科学家的正脸,不要画一个肥胖的科学家,不要出现歪曲的手指、膨大的关节,不要画一个干净整洁的实验室或现代化的研究环境,也不要画出没有标签和警告的机器,不要画出没有时间旅行效果的画面,也不要画出科学家静止不动的情况。

第4格

未调整:科学家出现在一个现代办公室,办公室里有高科技设备和未来风格的办公桌。科学家看起来惊讶和好奇。

调整后:漫画风,美漫,画风写实、粗犷,一名邋遢的科学家出现在一个现代办公室,科学家胡子较长、头发是暗黄色的,体格壮实,大约四五十岁,佝偻着背,办公室里有高科技设备和未来风格的办公桌。科学家看起来惊讶和好奇。

未调整:不要画传统或普通的办公室环境,也不要画出科学家没有表现出惊讶或好奇的情况。

调整后:二次元,不要出现歪曲的手指、膨大的关节,不要画传统或普通的办公室环境,也不要画出科学家没有表现出惊讶或好奇的情况。

第5格

未调整:一位未来风格的办公室职员穿着超前卫的工作服,看到科学家后表现出困惑和惊讶,背景是现代化的办公室。

调整后:漫画风,美漫,两个人面对面相隔较远,画出全身。一名邋遢的科学家,科学家胡子较长、头发是暗黄色的,体格壮实,大约四五十岁,佝偻着背,表情十分惊讶;一位未来风格的男性办公室职员,穿着超前卫的工作服,看到科学家后表现出一丝困惑和惊讶,背景是现代化的办公室。

未调整:不要画穿着普通衣服的职员,也不要画出职员没有表现出困惑和惊讶的情景。

调整后:二次元,不要出现歪曲的手指、膨大的关节,不要画传统或普通的办公室环境,也不要画出科学家没有表现出惊讶或好奇的情况。不要画穿着普通衣服的职员,也不要画出职员没有表现出困惑和惊讶的情景。

第6格

未调整:科学家挠头,尴尬地解释自己的误会。画面中可以看到科学家手舞足蹈,职员则听着他的解释。

调整后:漫画风,美漫,两个主要人物。一名邋遢的科学家科学家挠头,科学家胡子较长、头发是暗黄色的,体格壮实,大约四五十岁,佝偻着背,画面中可以看到科学家手舞足蹈;另一名职员冷静地听着他的解释。背景是白色的未来风办公室。

未调整:不要画出科学家没有任何动作或表情的画面,也不要画出职员没有听科学家解释的情况。

调整后:二次元,不要画出科学家没有任何动作或表情的画面,也不要画出职员没有听科学家解释的情况。

第7格

未调整:职员微笑着,递给科学家一个现代的日历和时间旅行机的使用手册。科学家看起来有些困惑但接受了这些物品。

调整后:漫画风,美漫,两个人面对面相隔较远,画出全身。一名职员微笑着,递给科学家一个现代的日历和一本使用手册;一名科学家,看起来有些困惑,接受了职员给的这些物品。科学家胡子较长、头发是暗黄色的,体格壮实,大约四五十岁,佝偻着背

未调整:不要画出职员没有递送物品或科学家没有接受物品的画面。

调整后:二次元,不要画出职员没有递送物品或科学家没有接受物品的画面。

第8格

未调整:科学家看着手中的日历和手册,表现出无奈和搞笑的困惑,背景中职员们在窃笑。画面充满幽默感。

调整后:漫画风,美漫,科学家看着手中的日历和手册,表现出无奈和搞笑的困惑,背景中职员们在窃笑。画面充满幽默感。

未调整:不要画出科学家没有任何情绪表现的画面,也不要画出背景中职员们没有表现出窃笑的情况。

调整后:二次元,不要画出科学家没有任何情绪表现的画面,也不要画出背景中职员们没有表现出窃笑的情况。

感觉似乎ChatGPT并不是十分理解什么是文生图prompt。而且为了上下图中人物长相的一致性,我们还需要增添许多细节描述。

结果展示

额,后面的搞丢了。我会抽时间重新跑一遍的。

评论

评论区不是无人区喵