Datawhale X 魔搭 AI夏令营夏令营第四期 Task1:从零入门AI生图原理与实践
siri_177 2024-08-15 11:31:02 阅读 63
一、AI生成图原理
1.1AI生成图思维导图
1.2AI生成图原理与基础知识
1.2.1文生图的历史
早期探索(20世纪60年代-20世纪90年代)
文生图的概念最早出现于计算机视觉和图像处理的早期研究中。早期的图像生成技术主要依赖于规则和模板匹配,通过预定义的规则将文本转换为简单的图形。然而,由于计算能力和算法的限制,这一阶段的技术能力非常有限,生成的图像质量较低,应用场景也非常有限。
基于统计模型的方法(2000年代)
进入2000年代,随着统计模型和机器学习技术的发展,文生图技术开始得到更多关注。研究者们开始利用概率图模型和统计语言模型来生成图像。尽管这一阶段的技术在生成图像的多样性和质量上有了一定提升,但由于模型的复杂性和计算资源的限制,生成的图像仍然较为粗糙,不够逼真。
深度学习的崛起(2010年代)
2010年代是文生图技术发展的一个重要转折点。随着深度学习,尤其是卷积神经网络(CNN)和生成对抗网络(GAN)的发展,文生图技术取得了突破性进展。2014年,Goodfellow等人提出的GAN模型通过生成器和判别器的对抗训练,极大地提升了图像生成的质量。随后,各类变种GAN模型被提出,如DCGAN、Pix2Pix等,使得文生图技术在生成逼真图像方面达到了前所未有的高度。
大规模预训练模型(2020年代)
进入2020年代,大规模预训练模型如OpenAI的CLIP、DALL-E以及Stable Diffusion等的出现,标志着文生图技术进入了一个新的时代。CLIP通过大规模的文本和图像配对数据训练,能够理解和生成高度一致的文本和图像;DALL-E和Stable Diffusion进一步提升了生成图像的创意和细节表现能力,使得通过简单的文本描述生成高质量、复杂图像成为可能。这些技术的应用范围从艺术创作、广告设计到辅助医疗诊断,展现了广泛的商业价值和社会影响力。
1.2.2文生图基础知识介绍
提示词prompt
在大模型不断发展的当下,要想最大化利用AI的能力,学会提示词的书写尤为重要。
如果想学习prompt书写,在这里推荐大佬吴恩达的prompt engineering视频。 链接如下:https://www.bilibili.com/video/BV1Z14y1Z7LJ?vd_source=d5c273d5653d67113086e25129228670
在AI生成图中,提示词也很重要,一般写法:主体描述,细节描述,修饰词,艺术风格,艺术家。例如:
【promts】Beautiful and cute girl, smiling, 16 years old, denim jacket, gradient background, soft colors, soft lighting, cinematic edge lighting, light and dark contrast, anime, super detail, 8k
【负向prompts】(lowres, low quality, worst quality:1.2), (text:1.2), deformed, black and white,disfigured, low contrast, cropped, missing fingers
总之,通过promts与负向prompts的书写与调整基本能够得到想要的图形。
Lora
Stable Diffusion中的Lora(LoRA)模型是一种轻量级的微调方法,它代表了“Low-Rank Adaptation”,即低秩适应。Lora不是指单一的具体模型,而是指一类通过特定微调技术应用于基础模型的扩展应用。在Stable Diffusion这一文本到图像合成模型的框架下,Lora被用来对预训练好的大模型进行针对性优化,以实现对特定主题、风格或任务的精细化控制。
同时,Lora的优点包括:低资源需求,模型性能稳定以及适应性强等。
ComfyUI
ComfyUI 是一个工作流工具,主要用于简化和优化 AI 模型的配置和训练过程。通过直观的界面和集成的功能,用户可以轻松地进行模型微调、数据预处理、图像生成等任务,从而提高工作效率和生成效果。
其主要特点包括:模块化设计、可视化流程图、支持多种模型、实时预览、开源与社区支持等。
参考图控制
ControlNet是一种用于精确控制图像生成过程的技术组件。它是一个附加到预训练的扩散模型(如Stable Diffusion模型)上的可训练神经网络模块。扩散模型通常用于从随机噪声逐渐生成图像的过程,而ControlNet的作用在于引入额外的控制信号,使得用户能够更具体地指导图像生成的各个方面(如姿势关键点、分割图、深度图、颜色等)。
二、AI生成图实践
2.1AI实践baseline主要流程
2.1.1安装Data-Juicer和DiffSynth-Studio
其中Data-Juicer是一个用于处理和优化数据集的工具,它的主要功能有数据清洗、转换、增强和可视化。DiffSynth-Studio是用于图像合成和增强的工具,他的主要功能是提供一个强大的平台,用于创建和编辑生成的图像。
2.1.2加载数据集
2.1.3数据处理
使用data-juicer处理数据
保存处理好的数据
2.1.4训练模型
1.下载模型,导入download_models包
2.查看训练脚本的输入参数
3.训练模型
4.加载模型
5.生成图像
2.2实践中出现的问题及解决方案
2.2.1出现的问题
1.在进行图片生成过程中,得到的图片有时出现人物面部扭曲模糊、手指根数不符合正常健康生理人类数量,以及场景为提示词部分内容而非完全呈现等等。
2.在生成图片时,产生过CUDA out of memory. Tried to allocate 20.00 MiB. GPU的错误提示,空间不足。
2.2.2解决方案
1.对于问题一,通过进一步修改微调prompts以及约束negative_prompts,使人物更加正常化、使场景更加精确。
2.由于1中经常对prompt进行修改,导致内存不足。因此在出现以上报错的情况下,可以通过减少推理次数、降低图片分辨率等来解决。但以上两种方法都会对图片本身产生影响,因此最简单粗暴的方法就是重启实例,重新运行即可。
三、结果展示
在此次实践中,通过AI生成8张图片,这8张照片之间具有叙事性。
本作品主题为"Future Daily Life"主要展示的是一位亚洲女性在未来生活的一天。整张图片从左到右从上到下进行编号。图一表示的是早晨,主角从家中醒来,早餐由机器人助手提供。图二显示在早餐后,主角从家离开,在路边等待飞行汽车的到来,准备前往工作场所。图三为主角在办公场所工作,其手下方为3D全息模型,身后是开放式办公场所。图四是在午休期间,主角前往到顶楼绿色花园放松休息,植物与未来建筑完美结合,体现了自然与科技的完美结合。图五显示的是主角接收到紧急任务,乘坐飞行车辆前往任务突发地。其背景总还有其他出行的人员。图六是主角在落地后直接开展工作,实验室内充满尖端设备与全息屏幕。图片色调偏冷,表明了气氛的紧张。图七展示的是在结束工作后,主角前往餐厅与朋友聚会,背景色彩鲜艳、十分热闹。暖色调也表明了任务的圆满结束。图八是在结束一天的行程后,主角回到家中,登上阳台俯瞰城市夜景。远处大楼灯火辉煌,空中飞行器光轨十分绚烂,主角在迷人的夜色中放松身心,结束忙碌的一天。
虽然故事相对俗套且部分科技早已在如今实现,但通过AI直接生成未来相关图片别有一番属于"未来的科技感"。同时,由于主语均为中长黑发亚洲女性,因此在部分图中人物占据图片的绝大部分,场景展示不充分。因此,可以在日后通过对提示词的不断调整,得到更好的视觉效果。
四、收获与感悟
作为一名AI小白,从最有意思的文生图开始入手是一个很棒的选择。在任务完成过程中,对于baseline可以读懂,但是对于其内部深层的意义与作用还是不太了解。因此在接下来的一段时间内可以深入学习相关知识,不断增强自己对AIGC的理解。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。