AIGC-Stable Diffusion发展及原理总结

目录

一. AIGC介绍

1. 介绍

2. AIGC商业化方向

3. AIGC是技术集合

4. AIGC发展三要素

4.1 数据

4.2 算力

4.3 算法

4.3.1 多模态模型CLIP

4.3.2 图像生成模型

二. Stable Diffusion 稳定扩散模型

1. 介绍

1.1 文生图功能(Txt2Img)

1.2 图生图功能(Img2Img)

2. 技术架构

step1 CLIP Text Encoder

(1) CLIP介绍

(2) CLIP架构

step2 LDM之VAE Encoder

step3 LDM之Diffusion

(1) 前向扩散:加噪

(2) 反向扩散:去噪

a) SD核心:U-Net

b) Transformer2DModel: 加入条件控制

(3) 如何训练噪声预测器?

step4 LDM之VAE Decoder

三. 参考


一. AIGC介绍

这两年,短视频平台上“AI绘画“非常火爆,抖音一键换装、前世今生之类的模板大家没玩过也应该听说过。另一个火爆应用当属ChatGPT,自2022年ChatPGT3.5发布后,快速累积了超百万用户,可谓家喻户晓。这两个概念均来自同一个领域,即AIGC。

1. 介绍

AIGC全称是AI Generated Content, 直译:人工智能生成内容,也叫生成式人工智能

AIGC是继­专业生产内容(PGC, Professional-genrated Content)、用户生产内容(UGC,User-generated Content)之后的新型内容创作方式,是互联网内容创作方式的一次革新。AIGC可以在对话、故事、图像、视频和音乐制作等方面,打造全新的数字内容生成与交互形式。


 

2022年8月,一位没有绘画基础的参赛者利用AI绘画工具 Midjourney创作的《太空歌剧院》在美国科罗纳州举办的新型数字艺术家竞赛中,获得“数字艺术/数字修饰照片”类别一等奖,由此,AI绘画进入大众视野。同年,AI绘图模型Stable Diffusion开源,助力AI绘画破圈得到广泛关注。

2022年11月30日,ChatGPT推出,5天后用户破百万,两个月后月活用户突破1亿,称为史上用户增长速度最快的消费级应用程序。

2021年开始,风投对AIGC的投资金额出现爆发式增长,2022年超20亿美元。据美国财经媒体Semafer报道,微软预计向ChatGPT的开发者OpenAI投资100亿美元。

2022年,因此被称为“AIGC元年”

2. AIGC商业化方向

AIGC的出现,打开了一个全新的创作世界,为人们提供了无尽的可能性。AIGC生成的内容种类和范围随着技术的发展也在不断扩大。目前,常见的内容包括:

  • AI文本生成,OpenAI GPT系列为代表的模型,实现自动写邮件、广告营销方案等

  • AI文生图/图生图如使用“跨模态模型CLIP+扩散模型Diffusion“实现的文生图模型Stable Diffusion

  • AI文生视频,如OpenAI今年2.16日发布的Sora,颠覆了全球AI生成视频市场的格局

更多AIGC应用可见:AIGC工具导航 | 生成式AI工具导航平台-全品类AI应用商店!

3. AIGC是技术集合

AIGC不是某一个单一的技术或者模型,AIGC使一个技术集合。概括来说,它是基于生成对抗网络GAN、大型预训练模型等人工智能技术,通过已有数据寻找规律,并通过适当的泛化能力生成相关内容的技术集合。简单理解就是所有的AIGC方向的模型,都不是单一模型实现的,而是通过刚才说的技术组合训练得到的。

4. AIGC发展三要素

4.1 数据

UGC生成的规模化内容,创造了大量学习素材,互联网数据规模快速膨胀。

4.2 算力

图形处理器GPU张量处理器TPU等算力设备性能不断提升,A100,H100等加速卡

4.3 算法

当前AIGC技术已经从最初追求生成内容的真实性的基本要求,发展到满足生成内容多样性、可控性的进阶需求,并开始追求生成内容的组合型。数字内容的组合性一方面关注复杂场景、长文本等内容中各个元素的组合,如虚拟数字世界中人、物和环境间的交互组合,并生成整体场景;另一方面,追求概念、规则等抽象表达的组合,以此完成更加丰富和生动的数字内容生成。这些新需求对传统单一模态的人工智能算法框架提出了新的挑战

预训练大模型多模态方向的发展,为AIGC技术发展和升级提供了基石

4.3.1 多模态模型CLIP

由于CLIP 两模块之一的Text Encoder是基于Transformer的模型,所以Transformer才被称为”跨模态重要开端之一“

4.3.2 图像生成模型

模型

组成

优点

缺点

GAN

GAN = 生成器 + 判别器

  • 生成器将一个随机噪声向量映射到数据空间,生成一个伪造的样本
  • 判别器接收来自真实数据和生成器的样本,进行判断分类成真实还是伪造
  • 生成器的训练是通过与判别器的对抗性训练来实现的,即生成器试图生成能够愚弄判别器的样本,而判别器则试图区分真实样本和生成样本 

生成的图片逼真

  • 由于要同时训练判别器和生成器这两个网络,训练不稳定
  • GAN主要优化目标是使图片逼真,导致图片多样性不足
  • GAN的生成是隐式的,由网络完成,不遵循概率分布,可解释性不强

VAE

VAE = 编码器 + 解码器

AVE将输入数据编码成一个符合正态分布的数据分布,学习图片的数据分布特征

学习的概率分布,可解释性强,图片多样性足

​产生图片模糊,原因可参考:破解VAE的迷思_vae生成的图像为什么模糊-CSDN博客

Diffusion

Diffusion = 前向扩散 + 反向扩散

  • 生成的图片逼真
  • 数学可解释性强

由于是在像素空间做的扩散,数据量多,训练成本高昂、速度慢,需要多步采样

Latent Diffusion

Latention Diffusion = VAE+Diffusion

潜在扩散模型

Latent Diffusion通过引入VAE, 解决速度慢的问题:VAE将像素空间的输入压缩编码成Latent潜在空间的概率分布,SD的Latent Space为4x64x64, 比图像像素空间3x512x512小48倍,减少空间占用,之后再进行模型扩散,这样可以加速训练。

  • 生成的图片逼真
  • 数学可解释性强
  • 训练成本低、速度快


二. Stable Diffusion 稳定扩散模型

1. 介绍

Stable Diffusion 是Stability AI公司于 2022 年10月发布的深度学习文字到图像生成模型。它主要用于根据文字的描述产生详细图像,能够在几秒钟内创作出令人惊叹的艺术作品。Stable Diffusion的源代码和模型权重已分别公开发布在GitHubHugging Face,它的参数量只有1B左右,可以在大多数配备有适度GPU的电脑硬件上运行。

训练数据集

LAION-5B是一个公开的数据集,源自网络上抓取的图片-标题数据,这是一个由6亿张带标题的图片组成的子集。这个最终的子集也排除了低分辨率的图像和被人工智能识别为带有水印的图像。对该模型的训练数据进行的第三方分析发现,在从所使用的原始更广泛的数据集中抽取的1200万张图片的较小子集中,大约47%的图像样本量来自100个不同的网站

训练成本

亚马逊云计算服务平台,256 x NV A100 GPU, 15万个GPU小时(单卡约73h=3day),成本为60万美元

发行版本

1.1 文生图功能(Txt2Img)

Stable Diffusion演示 

1.2 图生图功能(Img2Img)


2. 技术架构

Stable Diffusion是潜在扩散模型Latent Diffusion Model(简称LDM)的一种变体。

Stable Diffusion = CLIP Text Encoder + Latent Diffusion(VAE+Diffusion)


step1 CLIP Text Encoder

SD只用到了CLIP模型的Text Encoder预训练模型,权重固定,它会将文本编码成语义向量,该语义向量对应一个图像。

(1) CLIP介绍
  • 全称:Contrastive Languange-Image Pre-Training,是OpenAI 2021.1发布的基于对比学习的文图多模态模型,核心是“Connecting text and images
  • 训练数据集:WIT(WebImage Text,OpenAI自己网页爬虫创建的一个超过4亿图像-文本对数据集)
  • 模型组成:
    • 基于Transformer Text Encoder
    • 基于CNN/VITImage Encoder两个模型

(2) CLIP架构

CLIP会提取文本特征和图像特征,通过对比学习,计算文本特征和图像特征的余弦相似性(cosine similarity),让模型学习到文本和图像的匹配关系。

SD只用到了步骤(1)的成果:

  1. CLIP是自监督模型,就是说,CLIP不像传统的视觉模型,如Resnet系列模型,需要用标注好类别的图像进行训练,CLIP使用的数据集本身带有文本-图片的对应关系。
  2. 前向推理时,N组图片-文本数据,分别编码得到语义特征和图片特征后,计算其相似度,得到NxN个预测值,表明文本特征和每一个图片特征的相似度
  3. 若对角线是匹配的文本-图像对,则记为正样本,其他位置则记为不匹配的负样本;
  4. 定义对比损失函数Contrastive Loss,计算正负样本的相似度,得到损失函数的结果值(这个损失函数的目标是:最大化正样本对的相似度, 同时最小化负样本对的相似度——计算原理暂未研究)
  5. 对损失函数进行求导,计算梯度,用于指导参数的更新方向
  6. 更新模型参数,迭代优化

对比学习预训练学习的是整个句子与其描述的图像之间的关系,而不是像猫、狗、树等单一类别;比如传统的视觉模型,如Resnet系列模型,ResNet使用的是有监督学习,训练集是经过标注的图片,标注信息就是图片的分类,这个信息相比CLIP而言就很单一了。

当在整个句子上进行训练时,模型可以学习更多的东西(而非单一的类别),找到图像和文本之间的关系。CLIP在图像分类等比赛中的表现,也证明了CLIP对于文本-图像对比学习的优越性。

 

所以,我们若问SD为什么选择了CLIP Text Ecnoder作为其文本编码器?

CLIP开创性地提出训练模型学习图像和文本之间的联系,并在各项视觉比赛中证明了其优越性。CLIP预训练模型的Text Encoder编码处理的语义向量,有对应近似的图像特征向量,便于跨模态处理图像相关的下游任务,如图像生成等。


step2 LDM之VAE Encoder

CLIP全称:Varitional AutoEncoder(VAE) 变分自编码器

CLIP思路:VAE将输入转换成Latent空间的概率分布,如标准高斯分布;
  SDLatent Space4x64x64, 比图像像素空间3x512x51248倍,减少空间占用,加速训练

CLIP组成:Encoder + decoder 

Encoder编码器?

将图像压缩为潜空间中的低维表示,这会使图像损失一部分无用信息,保留主要的特征信息。
 

为什么不会丢失关键信息?
自然图像不是随机的数据,它们具有很高的规律性,如:面部遵循眼睛、脸颊和嘴巴之间的特定空间关系。下面是基于CNN的VAE下采样(Encoder),主要使用卷积(conv)和池化(pool)操作构建编码器,从这两个操作说明为什么不会丢失重要特征。(cnn

  1. conv捕捉特征的框大小是filter_size,一般就是channel 2-7, 也就是说,在原图上划分N个 2x2~7x7的方格,每个小方格中各像素点分别乘以权重,然后累加得到一个特征值。经过训练的权重weight可以分辨小方格中哪个像素点比较有价值,所以可以把最重要的特征信息提取出来,比如说轮廓信息,主要的颜色分布等。
  2. pool用于进一步缩小特征图,pool操作也是在特征图上划分N个小方格,然后通过max/mean等方式取小方格中最大或者均值来代表这个小方格的特征,我们知道,一张图如果放大,某个像素点周围的点大部分不会突变,比如一个2x2的小方格,一共有四个像素点,很多时候,这四个点颜色是渐变/一样的,对应该像素的数据值,就是一个点255,一个点254的区别,对于单channel的灰度图,254和255也就是一个不太白,一个纯白的却别,但是主要的颜色特征还是保留下来的。


step3 LDM之Diffusion

扩散模型的目的:学习从噪声生成图片的方法

先宏观了解LDM做了什么(下为图生图样例,有图片输入+关键字)

  1. 隐向量通过前向扩散增加噪声图像数据点的复杂分布逐渐转为简单分布
  2. 通过CLIP Text Encoder编码出来的语义向量作为监督信号作用噪过程
  3. 噪声向量通过反向扩散去除噪声,得到图像最终的隐向量

动图示例icon-default.png?t=N7T8https://stable-diffusion-art.com/wp-content/uploads/2022/12/cat_euler_15.gif

Q: 图像逐渐从噪声中转变而来,这一过程是如何实现的呢?

A: 训练噪声预测器

(1) 前向扩散:加噪

向图像逐渐添加高斯噪声以破坏图像原始的特征,直到图像完全无法识别。这个过程就像一滴墨水滴入了一杯水中,墨水在水里diffuses(扩散).几分钟后,墨水会随机分散并融入水里。数据通过逐步添加噪声,从一个真实图像的复杂分布逐渐过渡到噪点图的简单分布(符合高斯分布)

  • 为什么添加高斯噪声?

高斯噪声是一种正太分布的噪声,正态分布在自然界中广泛存在,如人的身高、体重、智商等都可以用正态分布来描述。因此使用高斯噪声可以称为一个正确的基本假设,符合真实世界规律。

  • 如何添加噪声?

  • 如何反向去除噪声?

正向过程不同,不能使用q(xₜ₋₁|xₜ)来反转噪声,因为它是难以处理的(无法计算)。所以我们需要训练神经网络(xₜ₋₁|xₜ)来近似q(xₜ₋₁|xₜ)。近似(xₜ₋₁|xₜ)服从正态分布。

小结

1. LDM前向扩散可以用封闭形式的固定公式计算

2. LDM反向扩散可以用训练好的神经网络来完成(Noising Predictor, U-Net)

    为了近似所需的去噪步骤,我们只需要使用神经网络推理结果近似预期噪声

因此噪声预测器实际训练的就是反向扩散的U-Net网络 !!

(2) 反向扩散:去噪

前面已经讲了,反向扩散要想像时光倒流一样,将噪点图逐渐恢复到原图,需要教会该神经网络预测(1)中添加的噪声,然后从前向扩散得到的符合高斯分布的噪声矩阵中,连续减去预测噪声,最终恢复到原图。这个神经网络就是U-Net网络。

a) SD核心:U-Net

从上图中放大UNet模块:

U-Net主要对Forward Diffusion输出的高斯噪声矩阵进行迭代降噪,并且每次都使用CLIP Text-encoder的文本特征向量+timesteps作为条件控制来预测噪声,然后在高斯噪声矩阵上去除预测噪声,经过多次迭代后,将高斯噪声矩阵转换成图片的Latent特征。

U-Net原本的结构

SD中的U-Net,在原本Encoder-Decoder(下采样-上采样)结构基础上,增加了新模块:

  1. Time Embedding 时间编码
    将时间信息映射到一个连续的向量空间,使得时间之间的关系可以被模型学习和利用。这些时间嵌入帮助神经网络获得图像当前处于哪个状态(步骤)的某些信息。这对于了解图像中当前是否存在更多或更少的噪声很有用,从而使模型减去更多或更少的噪声。
  2. Cross Attenion模块(交叉注意力机制)
  3. Self-Attention模块(自注意力机制)

b) Transformer2DModel: 加入条件控制

先说一下注意力机制中QKV的作用:

举个例子,我在网页上输入关键字“Query”来搜索某些信息,网站会根据Q去数据库查询相关联的“Key”, 然后返回给我”Key”对应的“Value”。

更通俗的说法可以是:QKV模式就像是你在找答案时,先提出问题(Query),然后根据问题找到相关的关键信息(Key),最终得到你想要的具体答案或内容(Value)。

详见:Transformer_transformer qkv不同源-CSDN博客

SD的U-Net既用到了自注意力,也用到了交叉注意力。

  • Self-Attention用于图像特征自己内部信息聚合
  • Cross-Attention用于让生成图像对齐文本,其Q来自图像特征,K,V来自文本编码。我们知道CLIP Text Encoder编码出来的文本编码跟其对应的图像向量是近似的,所以这个文本编码本身也对应表示一幅图像Cross-attentionKV替换成来自文本编码的KV, 就可以关联原图像和关键字,生成的图片会既和原本生成的图相似,也会和参考图像相似。(个人理解)
(3) 如何训练噪声预测器?

(不知道为啥,上传清晰的图片总是失败。。。图只能这么糊了,大致也能分清字)


step4 LDM之VAE Decoder

看看step2就行了,知道这一步是将 去噪后的矩阵解码回像素空间就行。具体VAE的原理没有过多研究。

三. 参考

  1. 中国信通院-京东探索研究所-人工智能生成内容(AIGC)白皮书(2022年).pdf
  2. AIGC深度报告:新一轮内容生产力革命的起点(国海证券).pdf
  3. 硬核解读Stable Diffusion(完整版)
  4. https://zh.wikipedia.org/wiki/Stable_Diffusion
  5. 7. 稳定扩散模型(Stable diffusion model) — 张振虎的博客 张振虎 文档
  6. 深入浅出完整解析Stable Diffusion(SD)核心基础知识
  7. CLIP:用文本作为监督信号训练可迁移的视觉模型
  8. OpenAI CLIP模型的简单实现:教程
  9. 神器CLIP:连接文本和图像,打造可迁移的视觉模型
  10. 【Stable Diffusion】之原理篇
  11. LDM(Latent Diffusion Model)详解
  12. stable diffusion原理解读通俗易懂,史诗级万字爆肝长文!
  13. Stable Diffusion 文生图技术原理_stable diffusion csdn-CSDN博客  

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

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

相关文章

数据结构(六)——图的应用

6.4 图的应用 6.4.1 最小生成树 对于⼀个带权连通⽆向图G (V, E),⽣成树不同,每棵树的权(即树中所有边上的权值之和)也可能不同。设R为G的所有⽣成树的集合,若T为R中边的权值之和最小的生成树,则T称为G的…

计算机视觉新巅峰,微软牛津联合提出MVSplat登顶3D重建

开篇:探索稀疏多视图图像的3D场景重建与新视角合成的挑战 3D场景重建和新视角合成是计算机视觉领域的一项基础挑战,尤其是当输入图像非常稀疏(例如,只有两张)时。尽管利用神经场景表示,例如场景表示网络&a…

代码随想录第27天 | 39. 组合总和、40.组合总和II、131.分割回文串

一、前言 今天的主题还是回溯算法&#xff0c;还是根据那个backtracking模板&#xff0c;但是今天会涉及到去重和一些小细节的问题。 二、组合总和 1、思路&#xff1a; 我一开始的想法就是在for循环转化为&#xff1a; for(int i 0; i < size; i) 但是这个是会陷入一…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果 一、简单介绍 二、简单颜色反转效果实现原理 三、简单颜色反转效果案例实现简单步骤 四、注…

壁纸小程序Vu3(预览页面:弹窗)

1.展示跳转后的分类列表图片 classlist.vue <template><view class"classlist"><view class"content"><navigator class"item" v-for"item in 10"><image src"../../common/images/64.png" mode…

基于arkTS开发鸿蒙app应用案例——通讯录案例

1.项目所用技术栈 arkTS node.js express mongoDB 2.效果图 3.源码 Index.ets&#xff08;登录页&#xff09; 登陆时让前端访问数据库中已经存好的账号密码&#xff0c;如果可以查询到数据库中的数据&#xff0c;则账号密码正确&#xff0c;登录成功&#xff0c;否则登录…

Docker容器赋能TitanIDE:引领编程新纪元的集成开发环境

Docker是一种容器化技术&#xff0c;它可以将应用程序和其所有的依赖项打包到一个轻量级、可移植的容器中。以下是Docker的基本概念和优势&#xff1a; 基本概念&#xff1a; 镜像&#xff08;Image&#xff09;&#xff1a;一个镜像是一个只读的模板&#xff0c;可以用于创建…

17.应用负载压力测试

早些点&#xff0c;下午题考&#xff0c;最近几年出现的少&#xff1b; 备考较为简单&#xff1b;历年真题相似度高&#xff1b; 主要议题&#xff1a; 1.负载压力测试概述 注意这些测试细微的差别&#xff1b; 负载测试和压力测试的方法比较相似&#xff0c;但是目的不同&a…

学习 MongoDB:打开强大的数据库技术大门

一、基本概念 MongoDB 是一个基于分布式文件存储的文档数据库&#xff0c;由 C 语言编写。它旨在为 Web 应用提供可扩展的高性能数据存储解决方案。 相信MySQL我们非常的熟悉&#xff0c;那么MySQL的表结构与MongoDB的文档结构进行类比的话可能更好理解MongoDB。 MySQL的数据…

ubuntu 20 虚拟机配置静态ip

在/etc/netplan/ 中得文件里&#xff08;类似&#xff1a;01-network-manager-all.yaml&#xff09;添加 # Let NetworkManager manage all devices on this system network:ethernets:ens33:dhcp4: noaddresses: [192.168.40.128/24]gateway4: 192.168.40.2optional: truenam…

【iOS ARKit】3D 视频

在AR 中播放视频也是一种常见的需求&#xff0c;如在一个展厅中放置的虚拟电视上播放宣传视频&#xff0c;或者在游戏中为营造氛围而设置的虚拟电视视频播放&#xff0c;或者在识别的2D个人名片上播放自我介绍视频&#xff0c;因视频具有静态图像无法比拟的综合信息展示能力&am…

华为数通方向HCIP-DataCom H12-821题库(多选题:241-260)

第241题 [RTAospf100 [RTA-ospf-100]silent-intefaceGigabitEthernet 1/0/0上面是路由器RTA的部分配置,对于此部分的配置描述,正确的是: A、接口gigabitethemet 1/0/0的直连路由仍然可以发布出去 B、无法与该接口的直连邻居形成邻居关系 C、禁止接口gigabi tethemet 1/0/0发…

vscode 自用的一些配置

目录 1&#xff0c;修改默认配置1&#xff0c;关闭预览模式2&#xff0c;取消自动定位到左侧边栏 2&#xff0c;自定义快捷键1&#xff0c;手动定位到左侧边栏2&#xff0c;关闭其他3&#xff0c;其他常用快捷键 3&#xff0c;插件1&#xff0c;和 git 相关的GitlensGit Histor…

C++ 2024-4-1 作业

#include <iostream> using namespace std;class A { public:int a;A(int a):a(a){cout<<"A的有参构造"<<endl;} }; class B:virtual public A { public:int b;B(int a,int b):A(a),b(b){cout<<"B的有参构造"<<endl;} }; cl…

用Wireshark解码H.264

H264&#xff0c;你不知道的小技巧-腾讯云开发者社区-腾讯云 这篇文章写的非常好 这里仅做几点补充 init.lua内容&#xff1a; -- Set enable_lua to false to disable Lua support. enable_lua trueif not enable_lua thenreturn end-- If false and Wireshark was start…

华为云RDS for Mysql入门与配置

华为云RDS for MySQL支持混合SSD实例&#xff0c;它结合了华为云容器、本地SSD盘和高速云盘。 优势&#xff1a; 主备实例提供故障自动切换和手动切换&#xff0c;业务中断时间为秒级&#xff0c;以及异地灾难备份&#xff0c;最大程度上在出现故障的情况下保障整个数据库集群…

适用于智能断路器、新能源汽车充电枪锁、电动玩具、电磁门锁等的直流电机驱动芯片D6289ADA介绍

应用领域 适用于智能断路器&#xff08;家用或工业智能空开&#xff09;、新能源汽车充电枪锁、电动玩具、电磁门锁、自动阀门等的直流电机驱动。 功能介绍 D6289ADA是一款直流马达驱动芯片&#xff0c;它有两个逻辑输入端子用来控制电机前进、后退及制动。该电路具有良好的抗干…

天池医疗AI大赛[第一季] Rank8解决方案[附TensorFlow/PyTorch/Caffe实现方案]

团队成员&#xff1a;北京邮电大学 模式识别实验室硕士研究生 今年5月&#xff0c;参加了天池医疗AI大赛&#xff0c;这次比赛是第一次参加此类的比赛&#xff0c;经过接近半年的比赛&#xff0c;终于10月落下帷幕&#xff0c;作为第一次参加比赛&#xff0c;能在接近3000支队…

标定系列——预备知识-OpenCV中矫正相关函数(十二)

标定系列——预备知识-OpenCV中矫正相关函数&#xff08;十二&#xff09; 说明记录 说明 记录了OpenCV中的矫正相关函数的使用 记录

Can‘t connect to server on ‘localhost‘ (10061)

问题&#xff1a;电脑关机重启后&#xff0c;连接不上mysql了&#xff0c;报错信息如下&#xff1a;2002 - Cant connect to server on localhost (10061)解决办法&#xff1a;很大的原因是mysql服务没有启动&#xff0c;需要你重启一下mysql&#xff1a; 以管理员的身份运行cm…