如何用Stable Diffusion模型生成个人专属创意名片?

目录

  • 1 什么是二维码?
  • 2 什么是扩散模型?
  • 3 Stable Diffusion环境搭建
  • 4 开始制作创意名片
  • 结语

1 什么是二维码?

二维码是一种用于存储和传输信息的方便而广泛使用的图像编码技术。它是由黑色方块和白色空白区域组成的二维图形,可以通过扫描设备(如智能手机)进行解码。二维码基于特定的编码标准和解码算法——其中包括错误检测和纠错编码,以确保在图像损坏或部分遮挡的情况下仍能正确解码。二维码的优点是可以存储大量信息,并且能够快速扫描和解码,因此在商业、营销、物流等领域得到广泛应用

在日常生活中,二维码已成为我们个人名片的一种展示方式,如何通过人工智能生成内容(AI Generated Content, AIGC)技术让我们的名片二维码更有创意?这就要涉及到扩散模型Stable Diffusion,下面是最终的生成效果

在这里插入图片描述

平台审核原因,二维码做了打码处理

2 什么是扩散模型?

所谓扩散算法diffusion是指先将一幅画面逐步加入噪点,一直到整个画面都变成白噪声。记录这个过程,然后逆转过来给AI学习。

AI看到的是什么?一个全是噪点的画面如何一点点变清晰直到变成一幅画,AI通过学习这个逐步去噪点的过程来学会作画。

diffusion和之前大火的GAN模型相比,有什么优势呢?用OpenAI的一篇论文内容来讲,用diffusion生成的图像质量明显优于GAN模型;而且与GAN不同,diffusion不用在鞍点问题上纠结——涉及稳定性问题,只需要去最小化一个标准的凸交叉熵损失即可,这样就大大简化了模型训练过程中,数据处理的难度。

总结来说,目前的训练技术让diffusion直接跨越了GAN领域调模型的阶段,而是直接可以用来做下游任务,是一个新的数学范式在图像领域应用的实例

diffusion在工程应用中的基本概念列举如下:

  • Stable Diffusion: Stable Diffusion的功能是从文本描述中生成高质量、高分辨率的图像。它由Stability Al首次公开发布,其代码和模型权重均免费开源;
  • Stable Diffusion webui: 是一个基于网页的用户界面,可以更方便地使用Stable Diffusion模型。它支持多种功能和设置,是Stable Difusion使用中最方便的工具。Automatic1111就是用户社区常用的网络Stable Diffusion webui
  • txt2lmg: txt2lmg指输入文字,并看到生成的图像;
  • Img2lmg: Img2lmg指输入图像和文字,生成一张新的图像。新的图像保留了原始图像的颜色和构图,但是根据文字的描述,改变了图像的风格和特征
  • ControlNet: ControlNetStable Diffusion webui的一个扩展,可以根据输入的图像和文字,对图像进行各种控制,例如改变图像的姿态、表情、服装、背景或风格,生成不同角度和光照的图像等。ControlNettile是多种生成方法的基础支撑之一,同时ControlNet也是Stable Diffusion目前效果最好的扩展

接下来介绍如何部署Stable Diffusion模型生成个人专属创意名片

3 Stable Diffusion环境搭建

主要分为以下步骤:

  • 创建Python3.10的虚拟环境

    conda create -n ai_draw python=3.10
    

    虚拟环境相关操作请参考:Anaconda安装与Python虚拟环境配置保姆级图文教程(附速查字典)

  • 在虚拟环境中安装Pytorch
    这步比较涉及显卡相关的配置,比较复杂,请参考:最新CUDA/cuDNN与Pytorch保姆级图文安装教程(速查字典版)

  • 下载模型stable-diffusion-webui

    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
    
  • 安装依赖库
    首先进入虚拟环境

    conda activate ai_draw
    

    接着进入stable-diffusion-webui根目录运行

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
    

    采用清华源可以更快完成安装
    在这里插入图片描述

  • 下载模型
    这里采用ghostmix模型,下载完成后移动到这个目录stable-diffusion-webui-master\models\Stable-diffusion

    在这里插入图片描述

  • 根目录运行启动文件

    python launch.py
    

    期间会下载一些新的依赖,有可能超时报错,多启动几次即可

4 开始制作创意名片

通过第三节的配置,成功后即可在终端看到

在这里插入图片描述
开放了一个本地端口,在浏览器中输入即可

接下来选择ghostmix模型,并通过国内镜像ControlNet安装扩展

在这里插入图片描述
接着点击img2img上传个人二维码,这里怕和谐就不放图片了

在这里插入图片描述
参数配置如下:

  • Resize mode: Just resize
  • Sampling method: DPM++2M Karras
  • Sampling step: 50
  • Width: 768
  • Height: 768
  • CFG Scale: 7
  • Denoising strength: 0.75

接着配置ControlNet

在这里插入图片描述

参数配置如下:

  • Enable: Yes
  • Control Type: Tile
  • Preprocessor: tile_resample
  • Model: control_xxx_tile,这个模型在ControlNet-v1-1下载
  • Control Weight: 0.87
  • Starting Control Step: 0.23
  • Ending Control Step: 0.9

最后输入正反向提示词

  • 正向:a cubism painting of a town with a lot of houses in the snow with a sky background, Andreas Rocha, matte painting concept art, a detailed matte painting
  • 反向:ugly, disfigured, low quality, blurry, nsfw

点击生成即可

在这里插入图片描述

结语

我们要对技术保持敬畏,法条约束的暂时缺位并非默许用技术来作恶。

更多AIGC文章请看:

  • CV不存在了?体验用Segment Anything Meta分割清明上河图
  • 如何免费使用ChatGPT进行学术润色?你需要这些指令…
  • 如何用AI制作电影级镜头?Midjourney v5体验教程(附prompts大全)
  • AI绘画突然爆火?快速体验二次元画师NovelAI(diffusion)
  • AI绘画进军三次元,有人用它打造赛博女友?(diffusion)
  • 我用python/C++调用ChatGPT自制了一个聊天机器人
  • 本手、妙手、俗手?我用AI写2022高考全国作文题,会被看出来?

🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《Pytorch深度学习实战》
  • 《机器学习强基计划》
  • 《运动规划实战精讲》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

简化生活之让AI以指定格式输出

原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 今天京东也宣布即将发布了自己的大模型,那么使用AI大模型进行工作或者生活将是必不可少的步骤。 建立命令 AI大模型是一种生成式聊天对话模型,我们可以通过预先定义命令的方式…

SpringBoot集成Flowable工作流

SpringBoot集成Flowable工作流 Flowable是什么?一、添加依赖二、flowable配置三、定义流程文件1.使用流程文件定义工作流2.idea使用插件来定义流程图1.安装插件2.创建bpmn文件并画流程图3.右击流程用模型设计器打开文件 四、测试controller Flowable是什么&#xff…

IDEA运行TOMCAT出现404

就这种问题,每个人的原因都不一定一样,我出现这种问题的解决方法在这里记录一下。顺便把我的配置记录一下。 除了本文的问题,还有可能是默认打开的文件名错了,或者端口被占用。 软件版本IDEA2023 TOMCAT9 亲测:IDE…

linux文件锁(保证只能同时启动一个实例,不同时启动多个实例)

文章目录 C如果程序异常退出,会自动释放锁码? shell脚本python脚本 C 可以使用Linux中的进程锁来实现只能启动一个实例的功能。一种常见的方法是使用文件锁(File Locking)。 可以在程序启动时创建一个特定的文件,并尝…

54、Mysql索引的数据结构,各自优劣

Mysql索引的数据结构,各自优劣 索引的数据结构和具体存储引擎的实现有关在MySQL中使用较多的索引有Hash索引,B树索引等InnoDB存储引擎的默认索引实现为: B树索引。对于哈希索引来说,底层的数据结构就是哈希表,因此在绝大多数需求…

Jmeter四种关联方法讲解

目录 方法一,从前一个请求中取,用正则表达式提取器。 二、json path extractor 三、json extractor 四、XPath Extractor 方法一,从前一个请求中取,用正则表达式提取器。 具体方法,在需要获得数据的请求上右击添加…

python+selenium进行cnblog的自动化登录测试

Web登录测试是很常见的测试,手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文就基于pythonselenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试,可提供点参考!下面就包括测试代…

出海企业系列风险分析--网站需要验证码吗?

最近接待了几位从discuz来的用户,说是想要给自己海外的网站安装验证码,但是discuz境外服务器还要解析安装中心的DNS到境外服务器上,所以基于discuz建站的不好之处就在这里。 而且我们还讨论到一个问题,海外的网站,需要…

你知道mp3转换器怎么用吗?分享在线音频转换mp3怎么弄

飒飒:嘿,你有没有想过如何将在线音频转换为mp3格式? 潇潇:是的,我确实有过这个需求。在网上找到了一些工具和方法,可以帮助我们完成这个任务。 飒飒:那太好了!你能告诉我一些详细的…

JS代码加密技术:僵尸代码植入

JS混淆加密:僵尸代码 僵尸代码植入,是JS混淆加密中一项很有用的技术。 比如JShaman,作为国内知名的JS混淆加密产品,便具备这一功能。 它可以给原始代码中增加一些额代的功能代码,比如:变量定义、函数调用…

Linux dpkg和dpkg-deb常用参数使用说明

名词解释 “dpkg ”是“ Debian Packager ”的简写。为“Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都会使用 “dpkg”,例如 “ Ubuntu ”、“Knoppix ”等。 dpkg-deb和dpkg的区别 dpkg-de…

一次元数据空间内存溢出的排查记录 | 京东云技术团队

在应用中,我们使用的 SpringData ES的 ElasticsearchRestTemplate来做查询,使用方式不对,导致每次ES查询时都新实例化了一个查询对象,会加载相关类到元数据中。最终长时间运行后元数据出现内存溢出; 问题原因&#xf…

Node.js下载安装和环境变量配置(详细教程)

目录 一、官网地址下载安装包 二、安装程序 三、环境配置 四、测试 五、安装淘宝镜像 5.1、附加:如果有出现问题的小伙伴们可以检查一下自己的配置有没有出错 一、官网地址下载安装包 https://nodejs.org/zh-cn/download/ 选择你的项目或系统对应的node.js版本…

Openlayers实战:加载GeoJSON

在OPenlayers的交互中,经常性的我们要加载一些数据,在这个实战中,演示的是加载GeoJSON文件。 GeoJSON 是一种使用JavaScript 对象表示法(JSON) 对地理数据结构进行编码的格式。简而言之,GeoJSON 为你提供了一种简单的格式来表示简单的地理特征以及它们的非空间属性。 效果…

【CentOS安装make】

问题: bash: make: command not found 1、去官网查找最新版本 http://ftp.gnu.org/pub/gnu/make/ 查找最新安装包 2、下载解压缩 wget http://ftp.gnu.org/pub/gnu/make/make-4.2.tar.gz tar -zxvf make-4.2.tar.gz cd make-4.2mkdir buildcd build../configure…

在vite创建的vue3项目中使用Cesium加载czml路径信息和无人机模型

在vite创建的vue3项目中使用Cesium加载czml路径信息和无人机模型 用到的区域文件、地图标记文件、路径信息文件、模型文件 提取码:99jq 使用vite创建vue3项目 npm create vitelatestcd到创建的项目文件夹中 npm install安装Cesium npm i cesium vite-plugin-cesium…

opencv实战--角度测量和二维码条形码识别

文章目录 前言一、鼠标点击的角度测量二、二维码条形码识别 前言 一、鼠标点击的角度测量 首先导入一个带有角度的照片 然后下面的代码注册了一个鼠标按下的回调函数, 还有一个点的数列,鼠标事件为按下的时候就记录点,并画出点,…

uniapp左右滑动切换月份

左右滑动触发事件 给组件绑定事件,主要利用组件的触摸开始和触摸结束事件来实现: <view @touchstart="touchStart" @touchend="touchEnd"> 2,声明初始化点击位置变量startX data() {return {list:[],pageNum:1,pageSize:10,//初始化点击位置…

css之:is()、:where()和:has()伪元素的运用、使用、important

文章目录 简介1、:is()2、:where()3、:has() 简介 :is()、:where()和:has()伪元素是CSS中用于样式化元素的非常强大的工具。它们是在CSS选择器Level4规范中引入的。它们允许我们将样式应用于符合特定条件的任何元素&#xff0c;例如元素的类型、元素的位置和元素的后代。 1、:i…

【C#】并行编程实战:实现数据并行(4)

本章继续学习实现数据并行&#xff0c;本文主要介绍并行循环中的线程存储。这也是本章节的最后一篇。 本教程对应学习工程&#xff1a;魔术师Dix / HandsOnParallelProgramming GitCode 5、了解并行循环中的线程存储 默认情况下&#xff0c;所有并行循环都可以访问全局…