Datawhale X魔搭AI夏令营 AIGC方向Task02学习笔记
一,了解AI生图
1)简介
AIGC(AI-Generated Content)是通过人工智能技术自动生成内容的生产方式,很早就有专家指出,AIGC将是未来人工智能的重点方向。
2)发展历史
最早的AI生图可追溯到20世纪70年代,当时由艺术家哈罗德·科恩(Harold Cohen)发明AARON,可通过机械臂输出作画。改造相关行业和领域生产内容的方式。
2015年,谷歌推出了“深梦”(Deep Dream)图像生成工具,类似一个高级滤镜,可以基于给定的图片生成梦幻版图片——
2021 年 1 月 OpenAI 推出DALL-E模型(一个深度学习算法模型,是GPT-3 语言处理模型的一个衍生版本),能直接从文本提示“按需创造”风格多样的图形设计。
在当时,就已经被一些媒体评价为:“ 秒杀50%的设计行业打工人应该是没有问题的,而且是质量和速度双重意义上的“秒杀” ”。
在2022年8月,AI生图真正走进了大众的视野,让各个领域无法忽视。当时让AI生图破圈的是AI绘画作品《太空歌剧院》,该作品在美国科罗拉多州举办的新兴数字艺术家竞赛中获得了比赛“数字艺术/数字修饰照片”类别一等奖,引起了当时艺术家们的广泛议论。
3) 难点与挑战
在之前的AI作品中,我们不难发现许多照片有很浓的“AI味”,这也是很多研究人员所致力于解决的问题(比如一些图片中的人物有六只手指
AI生图的难点在于AI是否真正理解了图片背后所代表的世界的特征,是否理解了图片的含义。
而现在经过科研人员不断努力,大部分作品的“AI味”已经有所减弱,我们要想辨别出一个作品是否为AI所作,可以这样子分辨:
-
观察图片的细节。仔细检查人物的面部特征,尤其是眼睛和嘴巴
-
检查光线和阴影。分析图片中的光源是否一致,阴影的方向是否与光源相符,是否存在不自然的光线或阴影
-
分析像素。放大图片,寻找是否有模糊或像素化的部分。
-
注意背景。检查背景中是否有不协调的元素,比如物体边缘是否平滑,背景中是否有不自然的重复模式。
而这些细节上的AI特性,也许就是我们在某些特定场景下需要解决的挑战。
二,认识通义千问
通义千问是具有信息查询、语言理解、文本创作等多能力的AI助手。编程与技术支持能力是他的强项之一。
作为AI助手,通义千问可以帮你解决许多生活中遇到的难题,是你贴心助教都不二人选。
操作指南:
链接: https://tongyi.aliyun.com/qianwen/
1)注册
2)操作模块
在之前的task1中,有些人可能根据流程指引可以顺利完成任务,但是对于其中的代码可能理解不了,那么这个时候通义千问可以帮你解决这个难题。
首先我们来直观感知下这个文生图代码的框架结构:
然后我们便可以利用通义千问,辅助我们对代码进行分析。(出于篇幅长度考虑,本文只收录部分详解)
安装和卸载依赖包
-
使用
!pip
命令来安装或卸载 Python 包。包括:-
simple-aesthetics-predictor
,data-juicer
,peft
,lightning
,pandas
,torchvision
, 和DiffSynth-Studio
的安装。 -
卸载
pytorch-lightning
(使用-y
自动确认卸载)。 -
数据预处理
-
-
将数据集中的图像转换为 RGB 模式,并保存到指定目录。
-
创建包含图像路径和文本描述的元数据文件
metadata.jsonl
。 -
编写并保存
data_juicer_config.yaml
配置文件,用于后续的数据过滤和处理。-
使用 Data-Juicer 进行数据处理
-
-
使用
dj-process
命令根据配置文件对数据进行过滤和处理,生成result.jsonl
文件。
(以上两图表示向通义的提问及解答页面)
(上图表示部分通义对代码的具体解释)
三,演练操作
1)提示词
2)根据通义提示调整prompt
3)在baseline中修改prompt得到你需要的图片
eg:图一
正向:古风,水墨画,一个黑色长发少女,坐在教室,盯着黑板,深思,上半身,红色长裙
反向:丑陋,变形,嘈杂,模糊,低对比度
然后根据场景描述和我所给的例子对后续七张图片的prompt进行同样的修改,最终得到八张有相关连续性的作品。
四,认识Scepter Webui
1)魔搭体验网址:
https://www.modelscope.cn/studios/iic/scepter_studio
2)初步认识Scepter Webui
Scepter是一个轻量级的开源工具,它提供了一种方便的方式来管理和操作云服务提供商如AWS(亚马逊网络服务)。通过WebUI,用户可以直观地控制资源,比如创建EC2实例、管理负载均衡、配置存储等,而无需直接使用命令行接口CLI。Scepter允许你在浏览器中查看实时状态,并支持一键部署、模板化等特性,简化了云计算环境的运维工作。