【NeRF大总结】基于NeRF的三维视觉年度进展报告

news2024/11/20 13:24:02

基于NeRF的三维视觉年度进展报告

清华大学:刘烨斌

原文链接:【NeRF大总结】基于NeRF的三维视觉年度进展报告–清华大学刘烨斌 (by 小样本视觉与智能)

目录

文章目录

  • 基于NeRF的三维视觉年度进展报告
    • 01 背景介绍
      • NeRF
      • NeRF与三维视觉
      • 三维表征与可微渲染
      • 背景价值
    • 02 基于NeRF的研究进展
      • 效率优化
        • 01 利用稀疏几何表达
        • 02 体素化
        • 03 体素压缩(哈希表)
        • 04 体素分解
        • 05 体素分解(4D推广)
      • 动态建模
        • 01 动态前景感知
        • 02 体素化
      • 人体重建与化身生成
        • 01 动态人体化身
        • 02 人与物体、场景交互
        • 03 数字人生成
      • 人脸重建与化身生成
        • 01 稀疏视点重建
        • 02 人脸化身生成
      • 可泛化NeRF重建
        • 01 基于扩散模型重建
      • 3D生成
        • 01 3D GAN类别对象生成
        • 02 3D GAN类别对象生成(三平面改进)
        • 03 3D GAN类别对象生成(超分辨)
        • 04 通用3D对象生成(2D升维)
        • 类别对象3D生成(原生3D)
      • 3D 编辑
        • 01 物体/场景NeRF的编辑
        • 02 基于GAN的NeRF编辑
        • 03 基于Diffusion的NeRF编辑
      • 4D生成与编辑
        • 基于Diffusion动态NeRF生成与编辑
      • 光影编辑
      • 表征增强
      • 场景建模
    • 03 NeRF年度发展趋势
      • 趋势1: 高质量动态建模
      • 趋势2: 与大模型的结合
      • 趋势3: 更丰富的信息嵌入
      • 趋势4: 应用到其他领域
    • 04 NeRF研究的展望

01 背景介绍

NeRF

NeRF:基于可微体渲染和神经场三维表征的新视角合成方法。

Fig 1. 不同场景的自由视角渲染

NeRF的两个核心要素:

  • 隐式神经场:用基于坐标的全连接网络标识颜色场与体密度场
  • 体渲染公式:将颜色场合体密度场渲染为图像

Fig 2. NeRF核心流程. 更详细的流程参见[1]

NeRF与三维视觉

NeRF的核心优化手段: 端到端可微渲染(紧致-高效的三维视觉信息表达)

从更本质的角度建立了二维图像与三维世界的联系

Fig 3. NeRF建模了视觉成像机理,更接近视觉世界本质

三维表征与可微渲染

Fig 4. NeRF与传统三维表征方法的对比。

背景价值

应用场景包括:

  • 三维内容生成与编辑
  • 机器人视觉定位与导航
  • 三维重建与渲染
  • 真实感可驱动数字人
  • 城市级别街景地图
  • 物理模拟
  • ……

自2020年被提出以来,NeRF已经成为三维视觉领域的基本研究范式之一,推动了三维视觉的重建、渲染、定位、生成、理解等任务的发展。

02 基于NeRF的研究进展

效率优化

研究动机:朴素的NeRF训练时间长,渲染时间长。 其计算瓶颈在于:复杂度 = 单个采样点网络查询时间x采样点数量

01 利用稀疏几何表达

解决思路: 利用稀疏几何表达(稀疏体素、八叉树、曲面等)排除对积分无贡献的采样区域,减少采样数。

  • NSVF,SNeRG,Plenoxels,Plenoctrees:删去无几何区域体素,细化物体表面附近体素,得到稀疏体素或八叉树表达。

  • MobileNeRF: 将NeRF提取到三角网格曲面的稀疏几何上,可利用光栅化在移动端实时渲染。

02 体素化

解决思路:利用体素空间存储高维特征或轻量化网络,实现低复杂度查询。

  • KiloNeRF: 空间体素化,每个体素用轻量网络,显著降低运算量并加渲染约数千倍。

  • DVGO: 通过体素网格低密度初始化、插值后激活等训练策略直接优化体素表达的NeRF密度场与颜色特征场,实现分钟级别的训练收敛。

03 体素压缩(哈希表)

解决思路:
使用哈希技术压缩高分辨率的体素网格存储

  • InstantNGP: 建立多尺度体素网格存储高维特征,将高分辨率网格用哈希压缩,可在低复杂度的条件下实现高分辨率与快速渲染。

04 体素分解

解决思路: 体素网格分解为低维平面网格表达,空间占用降为平方级。

  • EG3D: 将三维坐标对应的体素特征定义为三个正交投影平面的特征。
  • TensoRF: 将体素网格分解为 向量-平面 张量积形式的低秩张量之和。
  • MeRF: 低分辨率体素+高分辨率平面投影

05 体素分解(4D推广)

解决思路: 沿用3D->2D的分解思路,进行4D->2D的分解

  • Tensor4D: 4D 网格 -> 3个3D网格 -> 3x3=9个2D网格
  • HumanRF:4D网格 -> 4个3D网格与1D网格的张量积,其中3D网格使用哈希压缩。
  • HexPlane,K-Planes: 4D网格->(x,y,z,t)坐标两两组合得到6个2D网格。

动态建模

研究动机:扩展NeRF表征非静止内容,运行对动态场景进行新视点合成。
早期工作:D-NeRF,Nerfies,Hyper-NeRF。
解决思路:将动态场景建模为标准空间和变形场,利用变形场将不同帧观测到的外观信息映射到标准空间,实现外观与运动信息的解耦。

现有局限和改进方向:

01 动态前景感知

研究动机: 对于单目相机拍摄的含较大运动变形的真实场景,现有基于变形场的动态表征方法无法准确解耦物体的运动,难以恢复高质量动态纹理。

解决思路:
通过改变表征或引入额外的信息来增强NeRF对于动态前景的感知能力。

  • FSDNeRF: 构建隐式速度场的表征方法,引入单目预测帧间光流信息,为速度场施加时间域正则化。
  • Nerfplayer: 设计实时域相关的动态残差NeRF,减少运动信息与动态纹理的耦合。
  • RoDynRF: 引入动态NeRF显示建模前景分割,并通过联合相机位姿优化增强合成外观质量。

02 体素化

解决思路:
使用体素存储高维特征或轻量级网络,实现分钟级别动态建模和高清实时渲染。

  • TineuVox: 将标准空间NeRF改造为基于体素的显示表征,利用多尺度特征采样策略确保优化过程中体素全局感知能力。
  • Fourier Plenoctrees: 结合离散傅里叶变换,使用FT参数建模逐帧体素辐射参数
  • Dynamic MLP masps:: 由体素级别局部轻量网络组合表征3D场景,结合2D超参数卷积网络高效生成逐帧MLP网络参数。

人体重建与化身生成

研究动机:动态NERF建模方法难以适用于人体大范围运动的场景。
早期工作:以人体参数化模型SMPL为先验,建立帧间大尺度骨架运动联系,同时优化非刚性变形场与标准姿势下的NeRF

01 动态人体化身

近期路线: 更高质量的可驱动数字人,关注动态衣服细节的建模。

  • Remelli et al.: 引入额外图像驱动信号,提供更丰富的外观信息。
  • AvatarRex: 提出局部神经辐射场以及局部特征块以编码细粒度人体衣物细节。
  • PoseVocab: 提出姿势表征库以编码不同姿态下的人体外观高频变化。

02 人与物体、场景交互

解决方案:

  • Instant-NVR: 结合非刚性跟踪以及Instant-NGP实现人和物体NeRF的在线重建。
  • HOSNeRF: 引入状态隐编码以表征人和物体、场景的不同交互状态。
  • Hou et al. 引入人和物体的隐编码以解耦人和物体的接触关系,合成新姿态下人和物体的交互。

03 数字人生成

解决方法:SMPL+NERF+(GAN/Diffusion)

  • AvatarCLIP: 以CLIP为先验,分别生成静态数字人已经运动序列。
  • EVA3D:提出组合式人体NERF,在标准空间中学习三维人体GAN.
  • DreamAvatar: 以Stable Diffusion为先验,约束基于NeRF渲染的图像满足语义输入。

人脸重建与化身生成

01 稀疏视点重建

研究动机:稀疏视点人脸重建,NeRF容易过拟合到每个视点,新视点合成出现伪影。

解决方案:引入人脸大数据,关键点和人脸模板等先验,优化NeRF重建质量。

  • LP3D(静态+实时):使用EG3D生成的人脸数据训练,输入单图像,推理三平面表达的NeRF。
  • HAvatar(动态化身): 采用3DMM投影的三平面神经辐射场约束,实现高质量人头动态化身。
  • NeRSemble(动态):引入3DMM表情参数,构建带表情语义空间变形场,拟合复杂表情动态。

02 人脸化身生成

研究动机: 动态NeRF重建方法,无法通过音视频对人脸模型进行后续表情,嘴型驱动。
近期研究: 引入预训练模型扩展到到单图像重建; 更好的NeRF表达方式和表情表达方式。

  • Huang et al.: 从语音学习隐式表情参数,相比于传统3DMM表情,具备更强的表达能力。
  • OTAvatar: 无需视频作为训练,仅输入单帧图像,通过预训练EG3D生成可驱动NeRF模型。

可泛化NeRF重建

01 基于扩散模型重建

研究动机:朴素的NeRF需要对每个物体或者场景进行密集的拍摄以及独立的训练,因此希望实现从稀疏视点图像中直接推荐得到NeRF。

早期工作: 从大规模数据中学习图像特征空间对齐的NeRF。

近期路线:基于扩散模型的单图像NeRF重建

  • ReRDi: 从预训练的latent diffusion model中获得输入图像的语义信息,并约束新视点渲染图像符合语义信息。
  • GeNVS: 提出3D-aware扩散模型,以体渲染得到的特征图为条件进行去噪过程。
  • Make-It-3D: 提出NeRF到点云的两阶段优化方法,进一步提升纹理质量。

3D生成

研究动机: 利用大规模2D图像先验,获得对象的生成式先验模型,以支持稀疏视点重建和各类编辑任务。
近期路线: 类别对象3D生成-> GAN,通用对象3D生成 -> Diffusion

01 3D GAN类别对象生成

研究动机: NeRF具有可微渲染的特点,可以从2D图片的监督中优化网络参数,因此将NeRF与GAN结合,构建生成式神经辐射场,学习3D内容生成。

解决方法: 基于神经辐射场的MLP网络,利用GAN的对抗式训练策略从2D图片中学习生成式神经辐射场,通过随机噪声产生隐式编码控制其几何与纹理。

02 3D GAN类别对象生成(三平面改进)

研究动机:3D GAN受限于MLP的显存消耗和表达能力,生成结果分辨率低.

解决方案和创新性: 提出基于三平面的三维表达,将神经辐射场的高频信号存储在三平面上从而轻量化MLP网络,在不损失表达能力的同时,大大降低显存消耗和提升渲染速率,利用高效的2D styleGAN生成具有高频细节的triplane,从而提升生成质量;利用2D超分辨提高渲染分辨率

03 3D GAN类别对象生成(超分辨)

研究动机:2D超分辨网络将视角信息和图像特征耦合,破坏了三维一致性

解决方案和创新性:用3D超分辨代替2D超分辨

  • Gram-hd : 在神经辐射场中设置一组隐式曲面流形,并对曲面流形进行超分。
  • Mimic3D :通过让生成器的3D渲染分支合成的图像模仿其2D超分辨率分支生成的图像,使3DGAN能够生成高质量的图像,同时保持其严格的3D一致性。

04 通用3D对象生成(2D升维)

研究动机:2D生成式大模型具有强大的文本生成图片能力;NeRF具有表征连续复杂三维对象的能力,并且其渲染方式一种可微逆渲染,因此可通过2D监督反向优化辐射场的网络参数,实现通用物
体或场景的三维生成。

解决方案:将预训练 2D生成式大模型作为先验,利用得分蒸馏采样(SDS )损失,最小化NeRF可
微渲染图与扩散模型生成图像之间分布的KL散度,优化NeRF参数,实现文本到三维的生成。代表工作: Dreamfusion, Magic3D , Fantasia3D

研究动机:得分蒸馏采样(SDS )的优化目标是让单个NeRF的渲染图满足给定文本下预训练模型的图片分布的似然最大值,使得该NeRF被优化成符合该图片分布的某个最值:生成的三维模型过饱和、过平滑,且缺少多样性

解决方案:给定文本下预训练模型的图片分布对应一组(大于等于一)NeRF的分布,从概率角度下对NeRF参数进行变分推断。变分得分蒸馏采样(VSD)将优化的目标从单点的NeRF改为NeRF的分布;用粒子建模 NeRF的分布,通过迭代优化这些粒子使得其渲染图片分布接近预训练模型的分布,因此生成的三维模型的多样性和细节质量更高。

类别对象3D生成(原生3D)

研究动机: 利用Diffusion优化NeRF的方法(2D升维)费时(小时级);神经辐射场中的MLP网络没有显式的结构,无法直接基于diffusion对其进行优化;3D diffusion所需的内存存储与计算开销几乎无法承受,

解决方案:构建具有三维感知的扩散模型:将神经辐射场表征为显式的三平面结构(Rodin,NFD,SSDNeRF),体素网格(DiffRF),通过学习神经辐射场的去噪过程,可以直接从噪声中生成神经辐射场,无需优化。目前仅支持类别对象生成。

3D 编辑

01 物体/场景NeRF的编辑

研究动机: 传统神经辐射场拟合或生成场景或物体,无法对其编辑。

解决方案:利用不同的网络和隐含向量解耦形状和外观;用户在二维渲染图片上编辑,利用网络和隐含向量进行反向传播优化或前向编辑。

早期工作 : EditNeRF, NeRF-Editing,NeuMesh ,ARF

02 基于GAN的NeRF编辑

研究动机: PiGAN,GRAF等3D GAN生成丰富的三维人脸,但无法对其进行细粒度编辑。

解决方案:将外部信号映射到神经辐射场,对其特征进行编辑。

  • IDE3D:提出一个几何和材质解耦的生成式神经语义场,通过在几何分支网络中额外输出语义mask,对齐三维语义和几何;编辑原理是2D语义图编辑映射到语义场,从而编辑三维语义和与其对齐的几何。
  • Next3D:提出了一个基于神经纹理贴图的动态三平面表达,驱动表情信号会通过神经纹理光栅化,引起平面特征形变,进而渲染具有相应表情的图像。

代表工作:IDE3D, NeRFaceEditing,AnifaceGAN, Next3D

03 基于Diffusion的NeRF编辑

研究动机: 基于文生图的扩散模型,利用文本对NeRF实现更直观,交互性更好的3D或4D编辑。

解决方案:利用扩散模型不断迭代编辑训练集,同时优化神经辐射场参数,使得NeRF渲染结果和给定文本生成的编辑图像趋于一致;

代表工作:InstructNeRF2NeRF,Instruct3D-to-3D

4D生成与编辑

基于Diffusion动态NeRF生成与编辑

研究动机: 现有扩散模型只能编辑生成2D图像,借助动态NeRF可以从2D升维到4D,实现高质量且一致的4D编辑生成。

  • Control4D: 将Tensor4D与GAN结合实现了一个4D GAN,利用4D GAN来学习扩散模型在不同时刻视角生成的图像分布,避免了图像的直接监督从而实现高质量的编辑生成效果,4DGAN判别器产生的监督信号相比扩散模型更加平滑,使得4D场景编辑的时空一致性更好且网络收敛更快。

光影编辑

研究动机:扩展NeRF表征材质信息进而实现光影编辑。、

早期工作:NeRFactor, InvRender,PhySG。

解决思路: 将NeRF颜色表征分解为“几何(Normal)+材质(BRDF)+光照(Lighting)“重新组合渲染实现重光照与材质编辑。

表征增强

研究动机:隐式曲面场具有表示几何的优越性,但难以通过NeRF光线步进的方法渲染训练:若使用朴素方法将隐式曲面函数转换为密度函数,光线积分所估计的表面位置会略近于真实表面。

早期工作:VolSDF、NeuS、DoubleField、UNISURF

解决思路:1)对光线采样点重新分配积分的权重,使最终积分能落在表面,2)对光线采样点重采样,使采样点集中在表面。

场景建模

研究动机:扩展NeRF表征大场景内容,允许对空间跨度大、几何纹理复杂的非结构化图像集合进行准确重建和新视点合成

早期工作:NeRF++、Mip-NeRF、Mip-NeRF 360

解决思路:通过引入全空间非线性参数化模型,解决无界3D场景下NeRF建模问题,通过引入考虑采样点高斯区域的集成位置编码,解决NeRF在多尺度重建下模糊和混叠问题。

03 NeRF年度发展趋势

趋势1: 高质量动态建模

尽管2022年以前的NeRF方法在静态场景下表现优越,但是对于复杂动态场景的建模效果仍然存在改进空间。本年度大量工作在此方向作出努力,既包括了对于一般动态场景的4D建模改进,也有对于人脸人体的建模改进部分工作甚至在保证实时性的前提下取得了惊艳的效果。

趋势2: 与大模型的结合

大模型的落地应用已然势不可挡。本年度有大量工作致力于将生成式大模型与NeRF相结合,从而实现NeRF的生成创作。与大模型结合之后,NeRF不再局限于重建现实物体或场景,而是具备了“无中生有”的创造力。

趋势3: 更丰富的信息嵌入

2022年以前的NeRF工作主要着眼于新视点渲染,因此只考虑了几何和纹理的建模。本年度的工作中,研究者为NeRF引入了更多的信息,包括丰富的材质属性,以及更高层次的语义内涵。语义信息的引入则进一步拓宽了NeRF的潜在应用场景。

趋势4: 应用到其他领域

在上一年度,NeRF仅仅在三维视觉领域受到关注。在本年度,NeRF实现了“破圈”,在机器人、自动驾驶医疗等领域也有了应用,其新视点生成能力能够有效辅助这些领域的数据生成与场景理解。

04 NeRF研究的展望

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

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

相关文章

信号与系统与MATLAB应用(一)

文章目录 前言一、基本信号表示1、周期方波信号2、周期锯齿波信号3、指数函数信号4、抽样函数信号5、单位阶跃信号 二、信号的基本运算1、信号的相加和相乘2、信号的平移3、信号的反折4、信号的尺度变换(缩展)5、信号的微分和积分未完待续... 前言 说起…

WEBGIS系统整体设计

城市地下电力管线管理系统是一个基于B/S 架构的应用系统。系统的网络拓扑结构如 PostgreSQL 数据库以及文件系统作为数据服务器。另外,使用GeoServer 作为GIS 服务器,提供符合OpenGIS 规定的WFS 、WMS 等协议的GIS 服务。 遵循MVC 的分层设计思想&#x…

第三十四章 开发Productions - ObjectScript Productions - Defining Business Metrics

文章目录 第三十四章 开发Productions - ObjectScript Productions - Defining Business Metrics定义业务指标业务指标简介业务指标属性 单实例和多实例业务指标作为业务服务的业务指标 第三十四章 开发Productions - ObjectScript Productions - Defining Business Metrics 定…

Linux常用命令——ftpwho命令

在线Linux命令查询工具 ftpwho 显示当前每个ftp会话信息 补充说明 ftpwho命令ftp服务器套件proftpd的工作指令,用于显示当前每个ftp会话信息。 语法 ftpwho(选项)选项 -h:显示帮助信息; -v:详细模式,输出更多信…

SpringBoot使用Session防止表单重复提交(提供Gitee源码)

前言:在日常开发中,客户可能会存在反复点击提交按钮导致表单的重复提交,这个问题也是非常需要重视的,在本篇博客中,采用的是session、自定义注解和拦截器的方式来防止重复表单的重复提交,提高整体代码的优雅…

管理类联考——写作——素材篇——论说文——写作素材07——制篇:积累·习惯08——制篇:容让·宽厚

管理类专业学位联考 (写作能力) 论说文素材 07——制篇:积累习惯 论文说材料: 合抱之木,生于毫末;九层之台,起于累土;千里之行,始于 足下。 ——《老子》 一:道理论据 操千曲而后晓声&#…

HTTP代理出现503错误是什么原因,怎么处理

HTTP代理出现503错误表示代理服务器无法连接到目标服务器或无法获得对目标服务器的响应。这意味着您的请求无法被代理服务器处理,因此您无法访问所请求的网站或资源。 HTTP代理出现503错误的原因 HTTP代理出现503错误可能有以下原因: 1. 代理服务器与目…

基于Springboot+vue的网上商城购物系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

力控软件与S7-200SMART无线PPI通信

在实际系统中,人机界面与PLC通常不在一起,中心计算机一般放置在控制室,而PLC安装在现场车间,二者之间距离往往从几十米到几千米。如果布线的话,需要挖沟施工,比较麻烦,这种情况下比较适合采用无…

awk常用用法详解

作为运维工程师,使用awk来处理日常工作中的文本数据是很常见的。以下是一些常见的awk用法,可以帮助你更高效地处理文本数据: 目录 1. 查看文件的行数 2. 过滤数据 3. 统计数据 4. 格式化输出 1. 查看文件的行数 使用awk可以很快地查看文…

sed命令常用用法详解

sed 是一款流式文本编辑器,通常被用来编辑文本文件、数据流以及管道输入等。作为运维工程师,我们可以使用sed来快速处理文本数据。以下是sed的一些常见用法: 目录 1. 替换文本 2. 插入和删除行 3. 格式化输出 总 结: 1. 替换…

C++基础(6)——类和对象(运算符重载)

前言 本文主要介绍了C中运算符重载的基本知识。 4.5.1:加号运算符重载(成员函数和全局函数都可实现) 运算符重载:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 1:成员…

如何使用 RestTemplate 调用 RESTful API

如何使用 RestTemplate 调用 RESTful API? 在开发 Web 应用程序时,调用 RESTful API 是一个常见的任务。为了调用 RESTful API,我们需要使用 HTTP 协议向 API 发送请求,并解析 API 返回的响应。为了简化这个过程,可以…

为生信写的Python简明教程 | 视频6

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…

【前端特效篇】过渡与动画

变形和动画都是前端开发过程中,用来提高用户体验的一种方式。增加一些动效,可以使页面看起来不那么枯燥无味。 一、变形 transform transform 属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜…

opencloudos安装nginx新版本

opencloudos基本上完全兼容centos的操作,源管理方式也适用的yum。 ​ 装了一个opencloudos之后,想安装一下nginx。 默认的情况下安装使用: yum install nginx不过默认安装的是 1.14 版本,这个版本有几个 http 的漏洞&#xff…

【JUC进阶】03. Java对象头和内存布局

1、前言 为了后面更好的学习锁优化以及运作过程,需要我们对HotSpot虚拟机的Java对象内存布局有一定的了解,也作为技术储备。 2、对象的内存布局 在HotSpot虚拟机中,对象在堆内存中存储的布局可以划分为三个部分:对象头&#xf…

逍遥子All in阿里云,阿里“压舱石”与“秘密武器”接任

激荡中的阿里,又宣布了组织变革的最新进展:张勇将在2023年9月10日卸任阿里巴巴控股集团董事会主席兼CEO职务,此后将专职担任阿里云智能集团董事长兼CEO。蔡崇信将接任阿里集团董事长,吴泳铭出任阿里集团CEO并继续兼任淘天集团董事…

Linux 学习记录37(C高级篇)

Linux 学习记录37(C高级篇) 本文目录 Linux 学习记录37(C高级篇)一、常见的shell解析器二、变量1. shell脚本外部传参2. 输入输出(1. 输出(2. 输入 3. 命令置换符4. shell中的数组 三、shell中的算数运算1. (())运算2. $[ ]运算3. let运算4. expr指令(1.数据运算(3. 字符运算 四…

STM32单片机(七)ADC模拟数字转换器----第二节:ADC模数转换器练习(AD单通道和AD多通道)

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…