当前位置: 首页 > news >正文

亚马逊云科技与伊克罗德推出AI绘画解决方案——imAgine

 在过去的数月中,亚马逊云科技已经推出了多篇介绍如何在亚马逊云科技上部署Stable Diffusion,或是如何结合Amazon SageMaker与Stable Diffusion进行模型训练和推理任务的内容。

 为了帮助客户快速、安全地在亚马逊云科技上构建、部署和管理应用程序,众多合作伙伴与亚马逊云科技紧密合作。他们提供各种各样的服务、深入的技术知识、最佳实践和解决方案,包括基础设施迁移、应用程序现代化、安全和合规性、数据分析、机器学习、人工智能、云托管、DevOps、咨询和培训。

 最近,亚马逊云科技核心级服务合作伙伴eCloudrover(伊克罗德)推出了基于Stable Diffusion的AI绘画解决方案——imAgine,既拥有经过广泛验证且易于部署的先进AI算法模型,又提供丰富且高性价比的云端资源以优化成本,旨在帮助游戏、电商、媒体、影视、广告、传媒等行业快速构建AIGC应用通路,打造AI时代的领先生产力。

 Stable Diffusion实战技巧

 古语有云:“万事开头难”,“致广大而尽精微”。这对应了在Stable Diffusion实战中,客户最常遇到的两方面问题,一是如何选择合适的提示词起手式,来生成满足期望的图片;二是如何对图片进行细节优化,使最终产出的结果能够满足生产应用需求。

 根据过往服务客户使用Stable Diffusion的经验,整理了以下内容作为推荐的最佳实践,希望对读者使用Stable Diffusion进行创作时提供参考。

 提示词工程

 随着Stable Diffusion版本不断迭代,AI对语义的理解越来越接近“常识”之后,对提示词(Prompts)的要求也会越来越高。很多提示词上的误区有时会对绘图产生反作用。

 Prompt的基本概念

 提示词分为正向提示词(positive prompt)和反向提示词(negative prompt),用来告诉AI哪些需要,哪些不需要。

 Prompt的误区

  • Prompt在于精确,不在于数量;用最简短的单词阐述画面,比自然语言要更有效。

  • 提升质量的描绘词绝不是无脑堆砌、越多越好。

  • 经常出现的起手式:“masterpiece”“best quality”等,很多时候会成为提示词中的累赘。这些词语在NovelAI时代是有意义的,因为当时NovelAI训练模型时大量使用了这些词汇来对图像进行评价;但在如今,经过Civitai上模型作者们不断重新炼制模型,这些提示词已经很难在生图结果中展现应有的作用。

 调整提示词的权重

  • 词缀的权重默认值都是1,从左到右依次减弱

  • 提示词权重会显著影响画面生成结果

  • 通过小括号+冒号+数字来指定提示词权重,写法如(one girl:1.5)

 注意提示词的顺序

  • 比如景色Tag在前,人物就会小,相反的人物会变大或半身

  • 选择正确的顺序、语法来使用提示词,将更好、更快、更有效率地展现所想所愿的画面

 Prompt中的Emoji

  • Prompt支持使用emoji,且表现力较好,对于特定的人脸表情或动作,可通过添加emoji图来达到效果

  • 为了防止语义偏移,优先考虑emoji,然后少用不必要的with一类的复杂语法

 视角Prompt推荐

 参数

 解释

 extreme closeup

 脸部特写

 close up

 头部

 medium close up

 证件照

 medium shot

 半身

 cowboy shot

 无腿

 medium full shot

 无脚

 full shot

 全身

 图片优化

 很多时候我们生成了一张差强人意的图片,希望对这个结果进行进一步的优化,但往往不知道从何下手。这时您或许可以参考以下图片参数调优的最佳实践:

 哪些参数需要调整

  • CFG Scale:图像与提示词的相关度。该值越高,提示词对最终生成结果的影响越大,契合度越高。

 CFG 2-6:有创意,但可能太扭曲,没有遵循提示。对于简短的提示来说,可以很有趣和有用。

 CFG 7-10:推荐用于大多数提示。创造力和引导力度之间的良好平衡。

 CFG 10-15:当您确定提示是详细且非常清晰的,对图片内容有极明确的要求时使用。

 CFG 16-20:除非提示非常详细,否则通常不推荐。可能影响一致性和质量。

 CFG >20:几乎无法使用。

  • Sampling Steps迭代步数:步骤越多,每一步图像的调整也就越小、越精确。同时也会成比例地增加生成图像所需要的时间。

 对于大部分采样器,迭代越多次效果越好,但超过50步后就收效甚微。

  • Sampling method采样方法:不同的采样方法,对应的最佳迭代步数是不同的,在进行对比时需要综合考虑。

 Euler a:富有创造力,不同步数可以生产出不同的图片。并且这是一个效率较高的采样方法,可以用来快速检查prompt效果的好坏。

 DPM2 a Karras:适合跑真实模型,30步以后不好把控。

 DPM++ 2M Karras:在高步数下表现优异,步数越高细节越多。

 DDIM:收敛快,但效率相对较低,因为需要很多step才能获得好的结果,适合在重绘时候使用。

 不同模型与采样方法搭配出的结果也不同,以上仅供参考,在进行采样方法的选择时,最好使用X/Y/Z图表进行对比。

  • Seed随机种子:随机种子值很多时候对构图的影响是巨大的,这也是SD生图随机性的最主要来源。

 保持种子不变,同样的提示词和模型,保持所有参数一致的情况下,相同的种子可以多次生成(几乎)相同的图像。

 在确定好一个合适的画面构图时,固定种子,对细节进行进一步打磨,是最合适的做法。

 如何对比寻找最佳参数

 利用X/Y/Z图找最佳参数:通过使用X/Y/Z图,我们可以很清晰地对比不同参数下的结果,快速定位合适的参数范围,进行进一步的生成控制。

 图片尺寸优化

  • 图片质量并不直接与图像尺寸挂钩。

  • 但尺寸在一定程度上影响了主题/图片内容,因为它潜在代表选择的类别(比如竖屏人物,横屏风景,小分辨率表情包等)。

  • 当出图尺寸太宽时,图中可能会出现多个主体。

  • 1024之上的尺寸可能会出现不理想的结果,并且对服务器显存压力是巨大的。推荐使用小尺寸分辨率+高清修复。

 优化多人物/宽幅单人物的生成

  • 单纯使用txt2img无法有效指定多人物情况下,单个人物的特征。

  • 较为推荐的方案是制作草稿+img2img或ControlNet的方式。

  • 宽幅画作+单人物生成最好打草图,进行色彩涂抹,确定画面主体;或使用ControlNet的OpenPose做好人物骨架。

  • 多人物确定人物数量,最好使用ControlNet的OpenPose来指定;该方案也适合画同一人物的三视图。

 进行手部修复

  • 将图片送入img2img inpaint,使用大致相同的提示词,将关于“手”的提示放在前面,根据希望手部特征变动多少来设置重绘幅度(如果只是希望手更完整,调至0.25以下),然后保留步骤和CFG与txt2img相同。

  • 找到一个满足期望的手部图片,借助ControlNet的Canny或OpenPose_hands等预处理器+模型,结合inpaint操作,能实现更精确的手部控制。

 进行面部修复

  • 在绘制人物主体较小的图片时,经常会出现面部崩坏的情况。尤其是本文之后会介绍的生成艺术二维码流程,人物的面部经常会因为二维码码点的存在而崩坏。

  • 对面部的重绘,更推荐使用!After Detailer插件实现,通称ADetailer。

  • 该插件会使用yolo算法对图片中的物体进行识别,我们设定其识别人物面部,并提供面部重绘的提示词和模型;该插件会在识别到的面部位置进行局部重绘,完成面部修复。

  • ADetailer插件可以满足面部和手部的识别与修复。

  • 在ADetailer中也能引用Lora模型进行局部重绘生成。

原标题:借助 ControlNet生成艺术二维码——基于Stable Diffusion的AI绘画方案

相关文章:

亚马逊云科技与伊克罗德推出AI绘画解决方案——imAgine

在过去的数月中,亚马逊云科技已经推出了多篇介绍如何在亚马逊云科技上部署Stable Diffusion,或是如何结合Amazon SageMaker与Stable Diffusion进行模型训练和推理任务的内容。 为了帮助客户快速、安全地在亚马逊云科技上构建、部署和管理应用程序&#x…...

机器学习课后习题 --- 逻辑回归

(一)单选题 1.一监狱人脸识别准入系统用来识别待进入人员的身份,此系统一共包括识别4种不同的人员:狱警,小偷,送餐员,其他。下面哪种学习方法最适合此种应用需求: A:二分类问题 …...

软件设计师学习笔记9-进程调度

目录 1. PV操作 1.1进程的同步与互斥 1.1.1互斥 1.1.2同步 1.2 PV操作 1.2.1信号量 1.2.2 PV操作的概念 2.信号量与PV操作 2.1 PV操作与互斥模型 2.2 PV操作与同步模型 2.3 互斥与同步模型结合 3.前趋图与PV操作 1. PV操作 1.1进程的同步与互斥 1.1.1互斥 互斥&…...

09:STM32-------USART串口通信+串口数据包

目录 一:串口协议 1:通信接口 2:串口通信 3:硬件电路 4:电平标准 5:串口参数及其时序 二:USART介绍 1:简历 2:USART框图 3:USART的基本结构 4:数据帧 5: 波特率发生器 6:数据模式 三:案例 A:串口发送--单发送 1:连接图 2:函数介绍 3:代码 B:串口发送接收 1…...

“安全即服务”为网络安全推开一道门

8月30日,三六零(下称“360”)集团发布了2023年半年报,其中安全业务第二季度收入6.54亿元,同比增长98.76%,环比增长157.16%,安全第二增长曲线已完全成型!特别值得一提的是&#xff0c…...

vue3的生命周期

1.vue3生命周期官方流程图 2.vue3中的选项式生命周期 vue3中的选项式生命周期钩子基本与vue2中的大体相同,它们都是定义在 vue实例的对象参数中的函数,它们在vue中实例的生命周期的不同阶段被调用。生命周期函数钩子会在我们的实例挂载,更新…...

[E2E Test] Python Behave Selenium 一文学会自动化测试

前言 本文将使用Python Behave与Selenium,和同学们一起认识自动化测试,并附上完整的实践教程。 项目源码已上传:CSDN 郭麻花 Azure Repo python-behave-selenium 核心概念 1. 什么是E2E Test E2E即End-to-end,意思是从头到尾…...

Knowledge Graph Prompting for Multi-Document Question Answering

本文是LLM系列文章,针对《Knowledge Graph Prompting for Multi-Document Question Answering》的翻译。 多文档问答中的知识图谱提示 摘要1 引言2 符号3 知识图谱构建4 LM引导的图形遍历器5 实验6 相关工作7 结论 摘要 大型语言模型的“预训练、提示、预测”范式…...

ElMessageBox.prompt 点击确认校验成功后关闭

ElMessageBox.prompt(, 验证取货码, {inputPattern: /^.{1,20}$/,inputErrorMessage: 请输入取货码,inputPlaceholder: 请输入取货码,beforeClose: (action, instance, done) > {if (action confirm) {if (instance.inputValue) {let flag false;if (flag) {done()} else …...

调整Windows11桌面图标间隔

调整Windows11桌面图标间隔 WinR 快捷键如何使用 在Windows系统中,通过 WinR 的快捷键可以快速打开Windows系统的“运行”窗口,然后在这里输入相应的命令就可以快速执行指定的任务。 具体的操作方法是,同时按下键盘上的Windows键和R键即可。…...

Spring最佳实践: 构建高效可维护的Java应用程序

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

stable diffusion webui中的sampler

Stable Diffusion-采样器篇 - 知乎采样器:Stable Diffusion的webUI中,提供了大量的采样器供我们选择,例如Eular a, Heum,DDIM等,不同的采样器之间究竟有什么区别,在操作时又该如何进行选择&…...

MySQL表的内连和外连

文章目录 MySQL表的内连和外连1. 内连接(1) 显示SMITH的名字和部门名称 2. 外连接2.1 左外连接(1) 查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来 2.2 右外连接(1) 对stu表和exam表联合查询,把所有的成绩都显示出来…...

StatefulSets In K8s

摘要 StatefulSets是Kubernetes的一种资源对象,用于管理有状态应用程序的部署。与Deployment不同,StatefulSets保证应用程序的有序部署和有状态的维护,确保每个Pod都有唯一的标识和稳定的网络标识。这些特性使得StatefulSets非常适合部署需要…...

leetcode刷题笔记——单调栈

1.模板&#xff1a; stack<int> st; for(int i 0; i < nums.size(); i){while(!st.empty() && st.top() > nums[i]){st.pop();//计算、存放结果}st.push(nums[i]); }2.注意事项&#xff1a;需要注意单调栈中stack存放元素为nums数组的『下标』还是nums数…...

关于 ogbg-molhi数据集的个人解析

cs224w_colab2.py这个图属性预测到底咋预测的 dataset.meta_info.T Out[2]: num tasks 1 eval metric rocauc download_name …...

RabbitMQ:hello结构

1.在Linux环境上面装入rabbitMQ doker-compose.yml version: "3.1" services:rabbitmq:image: daocloud.io/library/rabbitmq:managementrestart: alwayscontainer_name: rabbitmqports:- 6786:5672- 16786:15672volumes:- ./data:/var/lib/rabbitmq doker-compos…...

SpringBoot整合Redis 并 展示使用方法

步骤 引入依赖配置数据库参数编写配置类构造RedisTemplate创建测试类测试 1.引入依赖 不写版本号&#xff0c;也是可以的 在pom中引入 <!--redis配置--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-…...

js中如何实现字符串去重?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用 Set 数据结构⭐ 使用循环遍历⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感…...

Axure RP仿QQ音乐app高保真原型图交互模板源文件

Axure RP仿QQ音乐app高保真原型图交互模板源文件。本套素材模板的机型选择华为的mate30&#xff0c;在尺寸和风格方面&#xff0c;采用标准化制作方案&#xff0c;这样做出来的原型图模板显示效果非常优秀。 原型中使用大量的动态面板、中继器、母版&#xff0c;涵盖Axure中技…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...