风靡朋友圈的妙鸭相机,到底用了哪些底层技术?

2023-10-27

不知道大家近期的朋友圈有没有被和海马体、天真蓝如出一辙的AI写真刷屏!

在这里插入图片描述

这些面若桃花、精致到头发丝、光影充满氛围感的写真都是一款叫“妙鸭相机”的小程序生成的!只要9.9,就能体验999写真!

在这里插入图片描述

虽然只要9.9,但生成的照片真的很逼真!

在大家被ChatGPT和Midjourney所惊艳之后,如今又惊叹于妙鸭相机的写真能力!

它到底用到了什么AI技术才做到这么厉害的呢?

本文就带大家来探索一下!

01
AIGC关键技术

无论是ChatGPT,还是Midjourney、妙鸭相机,都属于人工智能创造内容(AI Generated Content,AIGC)!

AIGC有两项关键技术:

一个是ChatGPT所代表的大模型(Large Language Model,LLM)技术。

另一个是Midjourney、妙鸭相机等AI绘画作图背后的扩散模型(Diffusion Model)技术。

AI绘画、AI对话、AI游戏创作等这些产物的背后是深度生成模型,它可以根据已有的数据和计算机程序生成新的数据。

真实世界的数据是复杂的,其维度高、分布复杂,变量之间还存在非线性关系,例如,图片数据被认为是二维空间的像素点数据,并且图片内容决定了像素点之间有着复杂的交互关系。这对使用传统模型进行拟合数据分布提出了巨大挑战。

此外,我们不仅希望AI生成的内容有真实性,也希望其是新颖的,即可以对问题提出新的解决方案,而不只是复制已有的内容;高效地利用计算机的运算能力,实现高效的自动化生产;根据用户需求提供相应的内容,等等。

在这些需求下,扩散模型能够捕捉复杂的数据分布、产生真实、新颖的内容,并且能够实现个性化的、高效的生产。因此,引起了人们的广泛关注。

深度生成模型源于生成式建模和深度学习。

生成建模认为数据在相应的空间存在着概率密度分布,其目的就是建模和学习这种潜在分布。早期的生成建模如高斯混合模型(GMM),隐马尔可夫模型(HMM)在表达能力和可扩展性方面存在局限性,在现实数据的复杂性面前表现得较为吃力。

VAE将深度神经网络与变分推断技术相结合,学习潜在先验并生成新样本。它们提供了端到端训练的框架,并提供了更灵活的生成建模能力。

GAN在深度生成模型的历史中是另一个重要的里程碑,GAN引入了一种新颖的对抗训练方法,同时训练生成器网络和判别器网络。该架构通过生成器和判别器网络之间的最小、最大博弈来生成高度逼真的样本。

深度生成模型还有基于能量的模型和基于流的模型,等等。

02
扩散模型

扩散模型于2020年被提出,但其发源可以追溯到2015年,理论背景甚至可以追溯到20世纪对于随机过程、随机微分方程的研究。

扩散模型通过向原始数据逐步加入噪声来破坏原始信息,然后再逆转这一过程生成样本。相较于以往的深度生成模型,扩散模型生成的数据质量更高、多样性更强,并且扩散模型的结构也很灵活,这使得扩散模型很快成为了研究和应用的热点。在《扩散模型:生成式AI模型的理论、应用与代码实践》一书中就详细讨论了扩散模型与其他深度生成模型的关系。

我们可以考虑一个物理过程来通俗地理解扩散模型。把真实世界的数据比作空气中的一团分子,它们互相交织,形成了具有特定结构的整体。由于这个分子团过于复杂,我们无法直接了解其结构,但我们可以理解在空气中做无规则运动的某种粒子,即对应着服从标准高斯分布的某个变量。从无规则运动的粒子出发,我们不断变换这些粒子的相对位置,每次只变换一小步,最终将这些粒子的分布状态变换为我们想要的复杂的分子的形态。也就是说,从纯噪声开始,我们进行了很多小的“去噪”变换,逐渐地将噪声的分布转换为数据的分布,这样就可以利用得到的数据分布进行采样,得到新的数据。可以看到,我们需要知道的信息就是——该如何进行每一步的变换。这比直接学习原始数据的分布简单得多,并且朴素地解释了扩散模型的有效性。《扩散模型:生成式AI模型的理论、应用与代码实践》一书会详细、严格地介绍扩散模型的原理和算法。

扩散模型也有其内在的缺点,如采样速度慢、对结构化数据处理能力较差,等等。例如,扩散模型在将噪声分布逐步转换为数据分布的过程中需要大量调用神经网络,这就导致了生成高质量图片时采样时间较长。后续大量的研究就是致力于提升扩散模型各个方面的性能,使扩散模型可以真正帮助人们高效解决现实问题。《扩散模型:生成式AI模型的理论、应用与代码实践》一书将详细分析扩散模型的优缺点,并系统地讲解扩散模型的进一步发展。

03
扩散模型应用

得益于扩散模型的强大性能,图片生成的应用Stable Diffusion、DALLE·2、Midjourney、妙鸭相机等在实际生产中都有利用扩散模型进行创造性内容生成。

这些应用程序利用扩散模型进行条件生成,即基于输入,引导、生成符合条件的内容。这种引导可以是自然语句,可以是部分图像,也可以用低分辨率的图像作为引导,生成高分辨率的图像,等等。

此外还有利用扩散模型生成语音、视频等各种模态数据的应用。艺术创作者们可以使用这些应用进行直接创作,或者使用它来提供灵感。在生成内容上进行修改可以大大提升工作效率。

但同时,扩散模型的强大能力和广泛引用也导致了潜在的负面影响。

AI的高效让部分创作者面临失业的风险;

扩散模型生成的内容存在版权问题、隐私问题和偏见问题;

AI生成的内容可能被用于有害的用途;

……

此外,扩散模型在科学研究领域也有应用,比如分子结构生成、分子动力学模拟。扩散模型可以生成表示分子的3D表示、分子的图结构,或者二者同时生成,以及控制生成分子的性质。这对于AI制药领域是又一大研究贡献。

在工业界的应用有点云生成和补全、异常检测等。

在医学领域的应用包括医学图像重建和病灶检测等。

总的来看,扩散模型在各个领域正处于一个百花齐放的状态。

《扩散模型:生成式AI模型的理论、应用与代码实践》一书也会详细介绍扩散模型在各个领域的应用研究。

为了推进扩散模型的发展和应用,需要多个学科领域的合作,包括机器学习算法、深度生成学习理论、随机分析理论,各领域的应用研究、隐私保护、法律与监管要求等。

目前扩散模型在各领域的发展和应用的介绍分散于论文和网络上,因此有必要在《扩散模型:生成式AI模型的理论、应用与代码实践》这本书中进行系统地介绍。

《扩散模型 : 生成式AI模型的理论、应用与代码实践》是一本从浅入深、全面系统地介绍扩散模型的书籍,其具备丰富的实践案例,以及前沿视角,受到一众专家、学者的认可、推荐。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

风靡朋友圈的妙鸭相机,到底用了哪些底层技术? 的相关文章

  • uniapp项目中给相机相册图片添加水印功能。

    效果如图 废话不多说 直接上代码吧 哦多说一句 在使用下面组件时需要在uniapp项目中安装uView组件库uView官网 详细的安装流程可以看这篇文章uView安装教程 也可以去官网查看官方文档 上面介绍的很清楚 添加水印组件hpy wa
  • C# 联合Halcon开发的完整项目案例(三套完整源码)附下载连接

    C 联合Halcon开发的完整项目案例 三套完整源码 点我下载三套项目源码 1 C 联合Halcon开发的程序 一整套源码 相机点胶定位 图像采集 数据查询相机间通讯具体情况如下图所示 案例注释详细 方便二次开发 2 C Halcon Vi
  • 三维重建(单目、双目、多目、点云、SFM、SLAM)

    1 相机几何与标定 1 1 相机模型中的坐标系 1 2 四种坐标系之间的转换 1 3 相机内参 1 4 相机标定 2 传统三维重建 2 1 RGBD三维重建 2 1 1 KinectFusion 2 1 2 BundleFusion 2 1
  • 【Unity2D】相机移动以及设置相机边界

    添加相机 添加相机时 首先需要在unity中添加 Cinemachine 包 第一次使用这个包时 需要在Package Manager中搜索并安装 安装Camera Mechine包后 添加2D Camera 设置跟随对象为Ruby 从Hi
  • vue3调用摄像头,做校验,没有摄像头或者不成功,提示用户

    检查浏览器是否支持getUserMedia方法 if navigator mediaDevices navigator mediaDevices getUserMedia 请求访问相机设备 navigator mediaDevices ge
  • 关于colmap+nerf对数据集进行预处理的使用总结

    前言 零零碎碎的东西太多 有必要统一记录一下 因为是回忆步骤 所以可能有不准确的地方 Colmap的使用 1 下载 下载链接 colmap 下载之后直接解压就能使用 点击COLMAP bat 2 colmap 这里到处都是很详细的操作步骤
  • Urban Radiance Fields

    Urban Radiance Fields 城市辐射场 摘要 这项工作的目标是根据扫描平台捕获的数据执行 3D 重建和新视图合成 这些扫描平台通常部署用于城市室外环境中的世界地图绘制 例如 街景 给定 RGB 图像序列和通过室外场景移动的相
  • 晚上弱光拍照不够清晰,学会这几招画面清晰效果好

    很多小伙伴喜欢夜晚拍摄 然而拍摄出来的照片经常画面偏暗甚至模糊不清 这是怎么回事 弱光环境是很多人都比较头疼的拍摄场合 由于光线弱曝光不好把控 并且还很容易出现细节性问题 想要将照片拍好就非常不容易了 因为光线太弱 相机对焦识别会比较困难
  • Agisoft Metashape 坐标系选择 坐标转换

    Metashape 坐标系选择 坐标转换 文章目录 Metashape 坐标系选择 坐标转换 前言 一 软件设置 二 坐标系选择 1 有带号坐标系选择 2 无带号坐标系选择 二 坐标转换 以WGS84转CGCS2000投影坐标系为例 1 保
  • opencv图像畸变矫正:源码学习

    参考资料 相机标定 4 矫正畸变 undistort 和initUndistortRectifyMap 背景 opencv提供了直接进行畸变矫正的代码 因在项目中需要使用畸变矫正 因此研究一下opencv中畸变矫正的相关接口与代码 便于学习
  • 【Unity-Cinemachine相机】虚拟相机旋转Composer属性详解

    Look At和Aim本质是控制虚拟相机自身的旋转 并不一定非要看着 或者并不一定非要瞄着这里的游戏对象 Look At和Aim是以Look At里面的对象作为参考来旋转自身 Do nothing 表现出来的行为和Look At空出来一样
  • 基于Camera2和MediaRecorder实现视频录制

    一 概述 视频录制 在一般开发中很少遇到 大部分开发工作都是写写页面 请求接口 展示数据等等 真要遇到 可能采用第三方库实现 一来实现快速 二来可能觉得别人实现的比较好 特别是在开发周期很紧的情况下 一般都不会自己花时间实现 其实最好是使用
  • 【Unity小游戏】游戏开发案例-Unity打造畅玩无阻的小游戏(下)

    击球方阵 乒乓克隆 使用立方体建造竞技场 球拍和球 移动球和球拍 击球并得分 让相机感受到冲击力 给游戏一个抽象的霓虹灯外观 这是有关基础游戏的系列教程中的第一个教程 在其中 我们将创建一个简单的 Pong 克隆 本教程是使用 Unity
  • python-opencv对极几何 StereoRectify

    OpenCV如何正确使用stereoRectify函数 函数介绍 用于双目相机的立体校正环节中 这里只谈谈这个函数怎么使用 参数具体指哪些 函数参数 随便去网上一搜或者看官方手册就能得到参数信息 但是 相对关系非常容易出错 这里详细解释一下
  • Android 使用Camera2 API 和 GLSurfaceView实现相机预览

    GLSurfaceView 和 SurfaceView 是 Android 中用于显示图像的两个视图类 它们在实现方式和使用场景上有一些区别 实现方式 GLSurfaceView 基于 OpenGL ES 技术实现 可以通过 OpenGL
  • 三维重建入门学习————建模软件Blender入门篇

    背景介绍 关于近期在进行三维重建相关算法学习的时候 学得越深 发现对各个方面的知识要求得越多 之前是补了相机的拍照原理 成像原理知识 再后来还补了主流的点提取 匹配算法等等 到了最近 论文 抑或是其他技术性文章出现的纹理 贴图等等词 总会让
  • 0基础学习VR全景平台篇第129篇:认识单反相机和鱼眼镜头

    上课 全体起立 大家好 欢迎观看蛙色官方系列全景摄影课程 一 相机 单反和微单 这里说的相机是指可更换镜头的单反 微单数码相机 那两者有何差异呢 1 取景结构差异 两者最直观的 区别 在于 微单相机
  • 眼神矫正AI一键修改你的眼睛眼球,直视相机!

    1 系统要求 软件运行支持32位 64位window 10 11系统 硬性要求 英伟达 RTX20系列或者更高级别 其他要求无 2 下载安装 链接 百度网盘 请输入提取码 提取码 1234 复制这段内容后打开百度网盘手机App 操作更方便哦
  • 讲解SurfaceTexture BufferQueue has been abandoned

    目录 讲解SurfaceTexture BufferQueue has been abandoned 背景知识 问题描述 问题原因和解决方法 1 检查相机状态 2 检查SurfaceTexture状态 3 处理图像数据源中断 4 销毁和重建
  • 友思特分享 | CamSim相机模拟器:极大加速图像处理开发与验证过程

    来源 友思特 机器视觉与光电 友思特分享 CamSim相机模拟器 极大加速图像处理开发与验证过程 原文链接 https mp weixin qq com s IED7Y6R8WE4HmnTiRY8lvg 欢迎关注虹科 为您提供最新资讯 随着

随机推荐

  • chatgpt基于Qt实现的To-Do List小项目(内附源码),码农将何去何从....

    笔者前言 OpenAI前一段发布聊天机器人模型ChatGPT 迅速出圈全网 chatgpt的出现 让LLMs走进了普通人的视野 同时 也让传统的AI助手变成了原始人 chatgpt向我们展示了LLM目前的天花板 而且这个天花板还相当高 在突
  • 基本的线程机制

    一 线程概念 并发编程使我们可以将程序划分成多个分离的 独立运行的任务 通过使用多线程机制 这些独立任务中的每一个都将由执行线程来驱动 一个线程就是在进程中的一个单一的顺序控制流 因此 单个进程可以拥有多个并发执行的任务 但是你的程序是的每
  • PostgreSQL:流复制环境清除 pg_xlog 日志

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 今天一流复制 Streaming Replication 数据库一目录空间告警 经查是 pg xlog 目录 WAL 日志文件过多 已超过阀值 pg xlog 是数据库重做
  • springboot整合LogstashTcpSocketAppender日志保存到ELK

    1 安装elasticsearch 2 安装kibana 3 安装logstash 配置logstash springboot logstash conf文件如下 input tcp mode gt server host gt 127 0
  • CMAKE 中 add_definitions的用法.

    1 官方的说明 Adds D define flags to the compilation of source files add definitions DFOO DBAR Adds definitions to the compile
  • 树莓派安装MJPG-streamer

    文章目录 一 简介 1 MJPG streamer方案的实现 2 JPEG MJPG格式简介 二 测试USB摄像头 1 开启摄像头服务 2 显示USB设备 3 查看设备文件 三 安装 1 更新源 2 安装必要的库 3 下载安装文件 4 编译
  • IPsec中IKE与ISAKMP过程分析(主模式-消息1)

    IPsec协议族中IKE Internet Key Exchange 是一种基于ISAKMP的协议 它为建立IPSec安全通信隧道提供了一种无痕密钥交换的机制 简单来说 IKE就是ISAKMP的扩展 为ISAKMP提供了更加高效 灵活和安全
  • ERP系统31.83版本发布,解决企业供应链管理难题

    近日 ERP系统31 83版本正式发布 无处不在的互联网 正在改变企业与用户的连接方式 一旦享受过什么叫实时 就再也无法忍受延迟 一旦感受过什么叫便捷 就再也无法忍受繁琐 企业如何全方位提高服务效率和用户体验 此次升级的智邦国际ERP系统3
  • [git] 小乌龟工具TortoiseGit记住账号密码 ——简单版操作指南

    如何让小乌龟 记住用户名和密码的操作指南 问题描述 步骤1 步骤2 问题描述 在小乌龟的使用过程中 每次push或者pull都要重复输入账号密码 非常麻烦 如果能记住账号密码就好了 这样就省去了时间 那么 怎么设置记住密码 步骤1 打开自己
  • JS中的类相关操作

    1 类相关操作 注意是 通过style属性来修改元素的样式 每修改一个样式 浏览器就需要重新渲染一次页面 这样的执行的性能是比较差的 而且这种形式当我们修改多个样式时 也不太方便 解决方案是 通过修改的class类名的方式 来达到效果 可以
  • 从零开始搭建游戏服务器第二天

    1 搭建开发环境 因为游戏服务器大多部署在linux系统下 所以这里选择的是Centos 7作为开发环境的镜像 预期以后的编译和调试也会在这个镜像上面进行开发 用镜像的方式开发有一个好处是可以随时打包带走 避免到一台新的机器上又要重新搭建开
  • 大数据--关联规则挖掘案例

    环境 虚拟机hive 本地spark python pyspark 数据 商品订单数据 商品种类数据 步骤 将数据上传到hdfs后 在python中完成hive表的创建 数据处理 关联规则挖掘 数据可视化 实现功能 对商品订单中的信息进行挖
  • 初 等 矩 阵

    定义 对单位阵进行一次初等变换后得到的矩阵称为初等矩阵 三种初等矩阵 初等矩阵的性质 初等矩阵的转置仍为同类型的初等矩阵 初等矩阵的行列式 初等矩阵都是非奇异的 矩阵行变换相当于左乘初等矩阵 矩阵列变换相当于右乘初等矩阵 以下命题是等价的
  • Spring的基础知识点,面试常问

    1 Spring是什么 Spring是一个轻量级的IoC和AOP容器框架 是为Java应用程序提供基础性服务的一套框架 目的是用于简化企业应用程序的开发 它使得开发者只需要关心业务需求 常见的配置方式有三种 基于XML的配置 基于注解的配置
  • 基于深度学习的CSI反馈(CsiNet)

    目录 前言 文章主旨 文章背景 现有CSI反馈方法 1 基于码本的CSI反馈方法 2 基于压缩感知的CSI反馈 研究动机 创新点 将CSI视为 图像 CsiNet特性 系统模型和CSI反馈 模型实现 encoder到decoder的层数按顺
  • 修改 input 中 placeholder的 颜色和 字体大小

    在微信小程序中使用 修改 input 中 placeholder 的字体大小 直接在里面添加 style 第一种 只能修改微信小程序
  • python paramiko_Python--Paramiko

    一 基本使用 paramiko是SSH协议的python实现 用于连接远程服务器进行命令交互和文件传输 import paramiko cmd ls task info ps aux 创建客户端对象 ssh paramiko SSHClie
  • python爬虫selenium---Boss直聘

    爬虫初衷是为了练习python爬虫和数据的收集及分析能力 内容均为网站用户可访问到的内容 不涉及隐私 爬了两份数据 一个是设计师岗位 一个是python岗位 爬虫过程 1 爬虫内容始终为正在加载 由于Boss直聘是动态网页 所以需要先观察网
  • 数据库SQL查询(二)之连接查询

    本文介绍SQL查询 如何在海量数据中筛选想要数据 数据库管理系统选择 关系型数据库mysql 数据库管理工具选择 navicat 本文中查询语句和查询案例参考自 https edu csdn net course detail 27673
  • 风靡朋友圈的妙鸭相机,到底用了哪些底层技术?

    不知道大家近期的朋友圈有没有被和海马体 天真蓝如出一辙的AI写真刷屏 这些面若桃花 精致到头发丝 光影充满氛围感的写真都是一款叫 妙鸭相机 的小程序生成的 只要9 9 就能体验999写真 虽然只要9 9 但生成的照片真的很逼真 在大家被Ch