【亚马逊云新春特辑③】构生成式 AI 文生图工具之借助ControlNet进行AI绘画创作【使用OpenPose优化人物二维码】

文章目录

  • 2.1 使用OpenPose优化人物二维码
    • 1)数据及环境准备
    • 2)导入骨架数据并启用OpenPose控制单元
    • 3)导入二维码并生成美化后的二维码图片

2.1 使用OpenPose优化人物二维码

在上一节体验到了使用ControlNet并结合QR Code生成二维码,在本节中将会了解到如何通过ControlNet的OpenPose模型与二维码结合,使用 OpenPose 相关模型来生成人体姿势并将其用作 QR 码的输入。

OpenPose 姿态检测可生成图像中角色动作姿态的骨架图,这个骨架图可用于控制生成角色的姿态动作。

例如,您可以看到以下图像是使用 QR Code 和 OpenPose 作为输入生成的。 通过一些构图技巧,可以将观看者的焦点转移到图像的其他部分,并使二维码不那么明显。

1)数据及环境准备

本次动手训练营为您准备了样例OpenPose骨架数据以及二维码,您可以参考以下教程或者设计您的OpenPose骨架数据与二维码开始体验。请点击以下链接下载样例数据。

【OpenPose样例数据】

https://static.us-east-1.prod.workshops.aws/public/73d53c8f-3878-4a26-b8fd-992124ba53c1/static/example/pose.json

【样例二维码】
https://static.us-east-1.prod.workshops.aws/public/73d53c8f-3878-4a26-b8fd-992124ba53c1/static/example/example-qr-code.png

为了叠加QR Code与OpenPose效果,需要开启多个ControlNet Unit以叠加使用模型。要激活多个ControlNet Unit,请进入设置标签页

image-20240201173940075

左侧选择ControlNet。拖动拉杆,设置需要使用的ControlNet Unit数量,不小于2。

image-20240201174134580

随后在页面顶部,点击“保存设置”,并点击“重载前端”。

image-20240201174209035

重载界面后,请在“文生图”标签页中,展开ControlNet菜单,检查是否展示为多个ControlNet单元。

image-20240201174339118

2)导入骨架数据并启用OpenPose控制单元

本次动手训练营为您准备了经过设计后的OpenPose骨架数据。请跟随以下步骤导入骨架数据。

  • 点击OpenPose编辑器
  • 点击加载JSON,选中您下载的pose.json文件,并点击确定
  • 随后您应当能看到右侧出现的骨架图,如图所示。确认骨架图无误后,请点击下方的 “发送到文生图“按钮

image-20240201174910022

随后页面会自动跳转到"文生图"标签页中,若没有自动跳转,请选择在“文生图”标签页中,展开ControlNet菜单。并注意以下几个选项的配置:

  • 勾选 “启用” 按钮 :以确保 ControlNet 在图片生成过程中生效;
  • 模型选框:请选择 “control_v11p_sd15_openpose” 来使用ContolNet Openpose进行姿态控制;

image-20240201175127214

可以观察到,骨架在图片的左侧,为一个蜷缩的状态,随后您将使用提示词来生成为一个正在睡觉的女孩。

3)导入二维码并生成美化后的二维码图片

随后点击 “ControlNet Unit 1",进入第二个ControlNet单元,以叠加使用二维码控制模型。请点击上传,选择您下载的样例二维码文件example-qr-code.png,并跟随以下几个选项配置ControlNet单元:

  • 勾选 “启用” 按钮 :以确保 ControlNet 在图片生成过程中生效;
  • 模型选框:请选择 “control_v1p_sd15_qrcode_monster” 来使用ControlNet二维码控制模型;
  • 控制权重:对于叠加OpenPose使用,建议设置为1.7

image-20240201175408855

可以看到,二维码的整体在图片右侧,作为一种构图技巧其目是为与骨架躯体相呼应,使得人物生成更加的自然。

在文生图配置中调整两组数值:

  • 迭代步数:建议在 30-50 之间,默认值 20 不足以引导生成一个高质量的二维码图片
  • 宽度/高度:直接从 ControlNet 发送二维码原图的宽高比至上方

image-20240201175506052

我们希望骨架可以生成为一个正在睡觉且躺在木地板上的的女孩,同时以向日葵作为二维码的定位点。随后请参照以下提示词例子输入,并点击生成:

正向提示词:

(1girl:1.6, side lying sleep, on the garden, sunflowers), wooden floor

反向提示词:

extra hands, extra fingers, extra legs, fewer fingers, (low quality, worst quality:1.4), (bad anatomy), (inaccurate limb:1.2),bad composition, inaccurate eyes, extra digit,fewer digits,(extra arms:1.2), signature, easynegative

image-20240201175627267

最终生成的结果如图所示:

image-20240221140443903

在本例子的设计中,我们通过与OpenPose叠加,偏移二维码等设计和构图技巧,将观看者的焦点转移到图像的其他部分,同时避开了二维码的核心区域,使得人像更加自然。

image-20240221140621339

如果生成的二维码不能够达到期望,可以选择微调以下几个参数,并增加生成的总批次数,不断尝试抽卡以逼近最终期望的效果:

  • 提示词
  • 采样方法
  • OpenPose骨架的结构与位置
  • ControlNet 控制权重
  • ControlNet 引导介入/终止时机

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/496924.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键安装|卸载 mysql 8.2.0 shell脚本

场景:为了在无网、外网 mysql 安装方便,这里分享一个自己编写得 shell脚本 这里以当前最新版 mysql 8.2.0;centos-7 二进制包下载: 下载地址 mysql_install.sh #!/bin/bash # 解压安装包 tar -xf mysql-8.2.0-linux-glibc2.17-x8…

【机器人最短路径规划问题(栅格地图)】基于蚁群算法求解

基于蚁群算法求解机器人最短路径规划问题的仿真结果 仿真结果 收敛曲线变化趋势 蚁群算法求解最优解的机器人运动路径 各代蚂蚁求解机器人最短路径的运动轨迹

C语言:数据在内存中的存储

C语言:数据在内存中的存储 整数存储原码、反码、补码转换规则数据与内存的关系 大小端字节序浮点数存储IEEE 754标准存储过程取用过程 数据的存储范围 整数存储 原码、反码、补码 整数的2进制表示方法有三种,即原码、反码和补码 三种表示方法均有符号位…

Swagger接口文档管理工具

Swagger 1、Swagger1.1 swagger介绍1.2 项目集成swagger流程1.3 项目集成swagger 2、knife4j2.1 knife4j介绍2.2 项目集成knife4j 1、Swagger 1.1 swagger介绍 官网:https://swagger.io/ Swagger 是一个规范和完整的Web API框架,用于生成、描述、调用和…

捕获在野SMBGhost本地提权攻击样本

前言 从Windows10 v1903/Windows Server v1903开始,微软在协议SMB3.1.1中开启了对数据压缩传输的支持,但是由于SMB没有正确处理压缩的数据包,在客户端/服务端解压数据的时候,没有对COMPRESSIN_TRANSFORM_HEADE结构进行安全校验&a…

Unity中的UI系统之GUI

目录 概述工作原理和主要作用基础控件重要参数及文本和按钮多选框和单选框输入框和拖动条图片绘制和框 复合控件工具栏和选择网络滚动视图和分组窗口 自定义整体样式自定义皮肤样式 概述 什么是UI系统 UI是User Interface(用户界面)的简称,用…

Java特性之设计模式【命令模式】

一、命令模式 概述 ​ 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象&…

springcloud -服务注册治理之nacos

任务 查询: CPU密集型和IO密集型对 CPU内核之间的关系。—线程池 什么是Nacos **服务(Service)**是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理: Kubernetes Service gRPC & Dubbo RPC S…

打卡今天内存管理

首先我们的体系结构是这样的,根据小林coding 来写的笔记 寄存器,速度非常快, 32位的可以存4个字节,64位的可以存8个字节 多少位只是在32位以上 地址空间 分为两种地址空间 : 物理,逻辑 地址空间 地址空间…

【文献管理】zotero插件4——获取知网pdf、中文文献识别与目录生成

文章目录 zotero获取知网PDFzotero——中文文献识别(茉莉花插件)学位论文目录生成 zotero获取知网PDF zotero——中文文献识别(茉莉花插件) 为下载的学位论文添加目录中文文献识别:jasminum 下载pdflabs下载茉莉花插…

百度翻译相关介绍

官网地址:百度翻译(baidu.com) 通用文本翻译API 通用翻译API是百度翻译依托领先的自然语言处理技术推出的在线文本翻译服务,可支持中、英、日、韩等200语言互译,100语种自动检测。 传入待翻译内容,并指定要翻译的源语言&#xf…

2.27数据结构

1.链队 //link_que.c #include "link_que.h"//创建链队 Q_p create_que() {Q_p q (Q_p)malloc(sizeof(Q));if(qNULL){printf("空间申请失败\n");return NULL;}node_p L(node_p)malloc(sizeof(node));if(LNULL){printf("申请空间失败\n");return…