IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【NeRF】原始论文解读 -> 正文阅读

[人工智能]【NeRF】原始论文解读

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

🔗 PDF Link

Introduction

本文通过一个直接优化连续5D场景表征的参数的形式解决了一个长期存在的视角生成的问题。可以尝试把静态的场景看作是一个5D的函数,其中三个维度 ( x , y , z ) (x,y,z) (x,y,z) 表示空间位置,( θ , ? ) \theta, \phi) θ,?)表示在特定位置上的辐射方向。

关于辐射方向,实际上是指观察角度。假设相机与物体两者固定,其中 θ \theta θ表示(光线)与 (特定物体点与相机连线)两条线之间的夹角, ? \phi ?表示光线与物体点的投影平面之间的夹角。

在这里插入图片描述

p.s. 中间的网格状的平面其实就是光栅

对应的编码输出会有一个密度值,类似于微分不透明度的形式,表示了光纤通过该空间位置累计的辐射量。本文的方法中不涉及任何的卷积,仅采用了MLP来实现从5D坐标 ( x , y , z , θ , ? ) (x,y,z,\theta,\phi) (x,y,z,θ,?)到单体素的RGB颜色(视角相关)以及密度的映射。为了实现这种特定视角下neural radiance field(NeRF)的渲染

  • 尝试让相机的来采样一组3D点
  • 使用这些点以及对应的观察方向作为Model的输入,以RGB颜色以及Density作为Model的输出
  • 采用经典的Voxel rendering技术来把RGB颜色以及对应的密度累计并展示到图像中。因为这个累计的过程是自然可微分的,所以可以采用BP来优化模型。整个Model的损失就演变成了真实的图像结果和渲染结果之间的误差。下图展示了整个的一个pipeline。

在这里插入图片描述

我们发现,在针对复杂场景的神经辐射场的表面进行优化的过程中,想要实现足够高的分辨率基本是很难收敛的,同时样本也是远远不够。因此,尝试使用位置编码来转换输入的5D信息。这种位置编码能够使得MLP能够学到更高频的信息。此外提出了一种分层采样的策略来减少训练数据量。

我们的方法继承了体积表示的优点:两者都可以表示复杂的真实世界几何体和外观,非常适合使用投影图像进行基于梯度的优化。关键是,我们的方法克服了在高分辨率下建模复杂场景时离散体素网格的高昂存储成本。总之,主要技术贡献是:

  • 提出了一种将具有复杂几何形状和材质的连续场景表示为5D神经辐射度的方法。
  • 基于经典体素渲染技术的可微分的渲染过程,我们使用该过程从标准RGB图像优化这些表示。这包括分层采样策略,用于将MLP的网络空间容量分配给具有可见场景内容的空间。
  • 将每个输入5D坐标映射到更高维空间的位置编码,使我们能够成功优化神经辐射场,以表示高频场景内容。

从定量化和定性的角度,我们证明了神经雷达场对比传统的试图合成方法有着更优异的性能。据我们所知,本文是首次提出连续场景表示的方法,这个方法能够根据自然捕捉到的RGB图像中捕捉到映射关系,并进行新的视角下的高分辨率照片渲染。

Related Work

CV领域里面有一个很有意思的方向是通过使用MLP来对物体以及场景进行编码,直接对一个形状的3D空间位置到一个隐式表示进行编码。但是,目前来看这些方法依然还不能够使用离散表征(三角形的网格或者是体素网格)那样的离散表示一样复制生成非常逼真的虚拟场景。

有一个类似的方法:使用MLPs来实现低维坐标到颜色空间的映射,这种方法也常被用于表示其他图形功能,如图像,纹理材料和间接照明值。

Neural 3D shape representations

近期有一些研究尝试通过优化深度网络(网络实现了 x y z xyz xyz坐标到Signed Distance Function或者是 x y z xyz xyz到occupancy field的映射),探索了将连续3D空间中的形状作为level sets的隐式表示(?行吧,这句话看不明白)。然而,这些模型由于需要获得真实的3D几何图形作为Ground Truth(例如ShapeNet数据集,一个点云数据集),这使得模型的应用收到限制。后续有一些工作通过约定可微分的渲染函数来缓解这一状况,此时隐式表示只需要使用2D的图像就可以进行优化了。Niemeyer, et,al. 将表面表示为三维占位场,并使用数值方法找到每条射线与物体表面的交点,然后使用隐式微分计算出精确的导数。每条射线的交点位置都被提供给一个神经三维纹理场,以预测该点的diffuse color。Sitzmann et, al. 使用了一个不那么直接的神经三维表示法,即只是在每个连续的三维坐标上输出一个特征向量和RGB颜色,并提出了一个由递归神经网络组成的可微分渲染函数,沿着每条射线行进来确定表面的位置。

虽然这些提到的体积能够有可能实现复杂、高分辨率的物体表征,但迄今为止这些方案都局限于去表征一些复杂度较低的简单形状,造成了一些oversmoothed的渲染结果。

View synthesis and image-based rendering

在有特定视角下的密集采样数据的前提下,可以通过简单的光场采样插值技术重建出照片级的新视角图片。对于具有稀疏采样前提下的新视角图像合成,CV领域以及图形学领域通过观察输入图像来预测传统几何形状的外观这方面已经取得了巨大的进展。一套比较流行的方案是使用mesh-based场景表征,利用可微分的光栅和路径追踪可以直接利用反向传播优化mesh表征来重构输入图片。然而基于梯度的mesh优化在image reprojection方面一直是一个很大的困难。一些可能的问题是因为局部极小值或者是损失函数的优化过程中存在着一些难以达到的条件。此外,这类方法通常还要求有一个拥有固定拓扑结构的mesh模板作为一个初始化,这一点显然不太适用于无约束的自然场景。

另一类方法使用volumetric表征来解决从一组输入RGB图像合成高质量照片级视角图像的任务。基于volumetric的方法能够真实地表示复杂的形状和材料,非常适合基于梯度的优化场景,并且与基于mesh-based的方法相比,产生更少的视觉伪影。早期volumetric的方法使用观察到的图像直接为体素网格着色。最近,有一些方法使用多个场景的大型数据集来训练深度网络,这些网络从一组输入图像中预测采样的volumetric表征,然后使用alpha-compositing或沿光线学习合成来在测试时渲染新视角图像(? 行吧,没看明白)。也有其他一些工作,尝试针对每个特定场景使用CNNs和采样voxel grids的组合进行优化,这使得CNN可以补偿来自低分辨率体素网格的离散化伪影,或者允许预测的体素网格根据输入时间或动画控制而变化。虽然这些基于volumetric的技术在新的视角图像合成方面取得了令人印象深刻的成果,但由于其离散采样,在适配更高分辨率图像的时候,会从从根本上受到时间和空间复杂性的限制(渲染更高分辨率的图像需要对三维空间进行更高的采样)。我们通过在Fully-Connected DNNs的参数内编码连续体积来避免这个问题,该神经网络不仅生成比以前的体积方法更高质量的渲染,而且采用的存储成本大幅降低。

Neural Radiance Field Scene Representation

我们尝试把连续的场景看作是一个5D的向量函数,其中包含一个3D的位置信息 x = ( x , y , z ) \textbf{x}=(x,y,z) x=(x,y,z)以及一个2D的视角方向变量 ( θ , ? ) (\theta, \phi) (θ,?),对应的模型的输出是对应的反射颜色 c = ( r , g , b ) \mathbf{c} = (r,g,b) c=(r,g,b)以及对应的volume密度 σ \sigma σ。在实际表示过程中,实际可以将方向看作是一个3D笛卡尔坐标系的单位向量 d \mathbf{d} d,我们使用MLP网络来模拟这种映射关系: F Θ : ( x , d ) → ( c , σ ) F_{\Theta}:(\mathbf{x},\mathbf{d}) \rightarrow (\mathbf{c}, \sigma) FΘ?:(x,d)(c,σ)

通过限制预测网络的密度 σ \sigma σ 仅为位置 x \mathbf{x} x的函数,同时设置RGB颜色 c \mathbf{c} c可以根据位置 x \mathbf{x} x以及视角方向 σ \sigma σ,借此我们来保证多视图的一致性(?这里不明白为啥)。为此,MLP模型 F Θ F_{\Theta} FΘ?首先使用8层全连接层来处理输入的3D坐标 x \mathbf{x} x(使用ReLU激活函数且每一层为256个通道),并输出 σ \sigma σ以及256维的特征向量。利用这个特征向量与相机的观察方向串联,输入到另一个额外的全连接层(使用ReLU和128个通道)从而输出view-dependent的RGB颜色值。下图给出了只是用 x \mathbf{x} x的情况下的结果。

在这里插入图片描述

Volume Rendering with Radiance Fields

在介绍这一部分之前实际上有一部分前置需要介绍的东西,也即是什么是Volume Rendering,这里参考一篇博客的介绍以及推导。

Volume Rendering针对的对象通常为半透明材质,比如烟、云等,发生如下现象:

  • 吸收(absorption):光能转化为介质内其它形式的能(如热能);
  • 外散射(out-scattering):光打在介质粒子上散射到其它方向去了;
  • 自发光(emission):介质内其它形式的能(如热能)转化成光能;
  • 内散射(in-scattering):其它方向来的光打在介质粒子上恰好散射到本方向上;

其中前两者使光线亮度衰减,后两者使光线亮度增强。

一条沿 ω \omega ω方向行进的光线,在上任取一点 P P P P P P点出线元为 d t dt dt,光线在经过点 P P P之前亮度为 L L L,通过 P P P亮度获得增量 d L dL dL
对于吸收 d L = σ a ? L ? d t dL = \sigma_a * L * dt dL=σa??L?dt,其中 σ a \sigma_a σa?为吸收系数。

对于外散射 d L = σ s ? L ? d t dL = \sigma_s * L * dt dL=σs??L?dt,其中 σ s \sigma_s σs?为散射系数。

对于自发光 d L = L e ? d t dL = L_e * dt dL=Le??dt,基本的自发光单元不会受到入射光线影响。

对于内散射:明确一个概念,对于亮度为 L i L_i Li?的光线从 ω i \omega_i ωi?角度射向 P P P点,在这其中假设光线会有 p ( ω i → ω ) p(\omega_i \rightarrow \omega) p(ωi?ω)的概率从 ω i \omega_i ωi?方向散射到 ω \omega ω方向上,那么对应的散射亮度贡献函数应该为: L i ? σ s ? d t ? p ( ω i → ω ) d ω i L_i * \sigma_s * dt * p(\omega_i \rightarrow \omega) d\omega_i Li??σs??dt?p(ωi?ω)dωi?。实际上散射角度是无限多的,因此需要考虑所有方向的散射情况,因此对上面那个式子做球面积分(也就是把所有散射情况全部考虑),积分完就可以得出 P P P点的总亮度:
d L = ∫ Ω L i ? σ s ? d t ? p ( ω i → ω ) d ω i = ( σ s ∫ Ω p ( ω i → ω L i d ω i ) ) dL = \int_\Omega L_i * \sigma_s * dt * p(\omega_i \rightarrow \omega) d\omega_i = \left ( \sigma_s\int_{\Omega} p(\omega_i \rightarrow \omega L_id_{\omega_i})\right ) dL=Ω?Li??σs??dt?p(ωi?ω)dωi?=(σs?Ω?p(ωi?ωLi?dωi??))


综合上面四种状况,合计的光线强度叠加:
d L = ? σ a ? L ? d t ? σ s ? L ? d t + ( σ s ∫ Ω p ( ω i → ω L i d ω i ) ) ? d t dL = -\sigma_a * L *dt - \sigma_s * L * dt + \left ( \sigma_s\int_{\Omega} p(\omega_i \rightarrow \omega L_id_{\omega_i})\right )* dt dL=?σa??L?dt?σs??L?dt+(σs?Ω?p(ωi?ωLi?dωi??))?dt
简化公式:
d L d t = ? σ t L + S where : σ t = σ a + σ s where : S = L e + σ s + ∫ Ω p ( ω i , ω ) d ω i \frac{dL}{dt} = -\sigma_tL +S \\ \text{where} : \sigma_t = \sigma_a + \sigma_s \\ \text{where} : S = L_e + \sigma_s + \int_{\Omega}p(\omega_i, \omega)d\omega_i dtdL?=?σt?L+Swhere:σt?=σa?+σs?where:S=Le?+σs?+Ω?p(ωi?,ω)dωi?
简化完成后的 σ t \sigma_t σt?就是衰减系数, S S S是自发光和内散射的和,成为源亮度,针对 ? σ t L -\sigma_tL ?σt?L则是衰减项。对上面这个式子算积分得到 L L L:
L = e ? ∫ σ t ( t ) d t ∫ S ( t ) e σ t ( t ) d t d t + C e ? ∫ σ t ( t ) d t L = e^{-\int\sigma_t(t)dt} \int S(t)e^{\sigma_t(t)dt}dt +Ce^{-\int \sigma_t(t)dt} L=e?σt?(t)dtS(t)eσt?(t)dtdt+Ce?σt?(t)dt
当然上面这个式子还是可以做一些恒等变换,这部分内容可以去参考我上面提到的博客。

————————————————
版权声明:这部分引文描述为个人转述CSDN博主「Leo-Peng」的原创文章,遵循CC 4.0 BY-SA版权协议。
原文链接:https://blog.csdn.net/weixin_44580210/article/details/122284120

我们的5D神经雷达场将场景表示为空间中任意点的体积密度和定向发射辐射。我们使用经典volume rendering原理渲染穿过场景的任何光线的颜色。因此,volume的密度 σ ( x ) \sigma(\mathbf{x}) σ(x)可以被定义为光纤位置 x \mathbf{x} x上的一个微小粒子上终止时候的可微分概率。因此,相机在附近 t n t_n tn?和远端 t f t_f tf?期望的颜色 C ( r ) = r ( t ) = o + t d C(\mathbf{r})=\mathbf{r}(t) = \mathbf{o} + t\mathbf{d} C(r)=r(t)=o+td可以被定义为:

🏷注意这里和前面介绍里面的亮度 L L L有一点差异,这里是对颜色进行积分,但是从原理上看,颜色的决定因素是光的波长。还是参考上面提到的那个博客,波长的变化实际上会遵循Alpha Blending原理:
C a = ( 1 ? α ) C b + α C O C_a = (1 - \alpha)C_b+\alpha C_O Ca?=(1?α)Cb?+αCO?
其中, C a C_a Ca?为输出颜色, C b C_b Cb?为输入颜色, C o C_o Co?为半透明物体的颜色,设计 σ \sigma σ为单位不透明度,上面的式子就变成:
C a ? C b = σ ( C o ? C b ) d t C_a - C_b = \sigma(C_o - C_b)dt Ca??Cb?=σ(Co??Cb?)dt
σ ( t ) = σ , c ( t ) = C o \sigma(t) = \sigma, c(t) = C_o σ(t)=σ,c(t)=Co?,则可以得到和前面提到的形式一致的微分方程:
d C d t = ? σ ( t ) C + σ ( t ) c ( t ) \frac{dC}{dt} = -\sigma(t)C + \sigma(t)c(t) dtdC?=?σ(t)C+σ(t)c(t)

C ( r ) = ∫ t n t f T ( t ) σ ( r ( t ) ) c ( r ( t ) , d ) d t , ?where? T ( t ) = exp ( ? ∫ t n t σ ( r ( s ) ) d s ) C(\mathbf{r}) = \int_{t_n}^{t_f} T(t)\sigma(\mathbf{r}(t))\mathbf{c}(\mathbf{r}(t), \mathbf{d})dt, \text{ where } T(t) = \text{exp} \left( -\int_{t_n}^{t}\sigma(\mathbf{r}(s))ds \right) C(r)=tn?tf??T(t)σ(r(t))c(r(t),d)dt,?where?T(t)=exp(?tn?t?σ(r(s))ds)

函数 T ( t ) T(t) T(t)表示的是随着光线从 t n t_{n} tn? t t t过程中的累计透过率,换而言之就是光线从从 t n t_{n} tn? t t t过程中的没有遇到其他粒子的概率。从我们的连续神经辐射场渲染视图需要估计通过所需虚拟摄像机的每个像素跟踪的摄像机光线的积分 C ( r ) C(\mathbf{r}) C(r)

我们使用求积数值(quadrature)估计这个连续积分。确定性求积通常用于绘制离散体素网格,它将有效地限制我们表示的分辨率,因为MLP只会在一组离散位置进行mapping。对此,我们尝试着使用了一个分层抽样的方法,将 [ t n , t f ] [t_n, t_f] [tn?,tf?]划分成 N N N个均匀的bins,然后从每一个bin中均匀随机抽样:
t i ~ U [ t n + i ? 1 N ( t f ? t n ) , t n = i N ( f f ? t n ) ] t_i \sim \mathbf{U} [t_n + \frac{i-1}{N}(t_f - t_n), t_n = \frac{i}{N}(f_f - t_n)] ti?U[tn?+Ni?1?(tf??tn?),tn?=Ni?(ff??tn?)]
虽然我们使用离散样本集来估计积分,但分层采样使我们能够表示连续场景表示,因为它导致在优化过程中在连续位置评估MLP模型。基于这些采样点,实际我们可以简化上面那个积分:
C ^ ( r ) = ∑ i N T i ( 1 ? e x p ( ? σ i δ i ) ) c i , where? T i = e x p ( ? ∑ j = 1 i ? 1 σ j δ j ) \hat C(\textbf{r}) = \sum_{i}^{N}T_i(1 - exp(-\sigma_i\delta_i))\textbf{c}_i, \text{where } T_i = exp\left( -\sum_{j=1}^{i-1} \sigma_j\delta_j \right) C^(r)=iN?Ti?(1?exp(?σi?δi?))ci?,where?Ti?=exp(?j=1i?1?σj?δj?)
其中, δ i = t i + 1 ? t i \delta_i = t_{i+1} -t_i δi?=ti+1??ti?是相邻两个采样点之间的距离。

总而言之,就是空间的一个位置上的一条光线,在这条光线上随机采样5D点,利用MLP模型来映射5D位置信息以及颜色+密度(或者说不透明度)。

Optimizing a Neural Radiance Field

上面一个章节对核心组件进行了一些描述,但是我们注意到上面提到的这些东西不足以去实现一个SOTA的图片渲染,我们对此采用了两个技巧来实现高精度的复杂场景表征。

Positional encoding

尽管神经网络是通用函数近似器,但我们发现,让网络 F Θ F_\Theta FΘ?直接处理 x y z θ σ xyz\theta\sigma xyzθσ会导致渲染在高频区域的表征能力不足。这与Rahaman et,al. 最近的工作一致,这表明深度网络倾向于学习低频函数。他们还表明,在将输入传递到网络之前,使用高频函数将输入映射到更高维空间,可以更好地处理包含高频变化的数据。

我们利用了这些现有的探索,重新将 F Θ F_\Theta FΘ? 定义定义为 F Θ ′ ° γ F'_\Theta \circ\gamma FΘ?°γ ,其中 γ \gamma γ表示一个映射将 R \mathbb{R} R到高维空间 R 2 L \mathbb{R}^{2L} R2L,且 F Θ ′ F'_\Theta FΘ?依旧是一个简单的常规MLP模块。从形式上来看,Encoding Function其实可以被定义为:
γ ( p ) = ( s i n ( 2 0 π p ) , c o s ( 2 0 π p ) , . . . , s i n ( 2 L ? 1 π p ) , c o s ( 2 L ? 1 π p ) ) \gamma(p) = \left ( sin(2^0\pi p), cos(2^0 \pi p), ..., sin(2^{L-1}\pi p), cos(2^{L-1} \pi p) \right) γ(p)=(sin(20πp),cos(20πp),...,sin(2L?1πp),cos(2L?1πp))
这么来看,实际上就是针对 x \mathbf{x} x中的每一个 x y z θ δ xyz\theta\delta xyzθδ坐标都应用依次 γ ( ? ) \gamma(\centerdot) γ(?)进行依次编码,其中每一个坐标都需要被提前进行归一化到 [ ? 1 , 1 ] [-1, 1] [?1,1]。其中 L L L就是Position Encoding的维度,本文的实验中针对 x y z xyz xyz设置的是10,针对视觉角度设置的是4。

实际上位置编码的概念在Transformer里面也有,但是Transformer用这个玩意儿实际上就是未来确定token的顺序,我们这里是将输入坐标映射到高维空间便于优化。

Hierarchical volume sampling

我们的渲染策略是沿着相机光线找到 N N N个点来对MLP网络进行训练。但是考虑到对于一些自由空间以及遮挡区域依旧采用这种方案时,会产生很多的无效点从而导致效率低下(🏷这里其实就是因为我们没有任何的先验信息,我们不知道哪些是有效的采样点,只能低效地进行大量重复采样,一个简单的解决方案就是先粗后精的方案)。

我们尝试同时优化两个网络,一个粗模块,一个精模块。首先采样出 N c N_c Nc?个位置,然后用粗网络在这些位置上进行评估。然后根据生成的结果,沿着光线产生一个精细的采样点,且这些采样点的位置倾向于有意义的点。从实际上看,就是首先利用粗网络合成颜色 C ^ c ( r ) \hat C_c(\mathbf{r}) C^c?(r),然后将这个结果作为沿着光线上所有的采样点的weighted sum:
C ^ c ( r ) = ∑ i = 1 N c w i c i , ? w i = T i ( 1 ? e x p ( ? σ i δ i ) ) \hat C_c(\mathbf{r}) = \sum^{N_c}_{i=1}w_ic_i, \ w_i=T_i(1-exp(-\sigma_i\delta_i)) C^c?(r)=i=1Nc??wi?ci?,?wi?=Ti?(1?exp(?σi?δi?))
然后对这些权重进行一些Normalization,让 w ^ i = w i ∑ j = 1 N c w j \hat w_i = \tfrac{w_i}{\sum^{N_c}_{j=1}w_j} w^i?=j=1Nc??wj?wi??,从而沿着光线生成一个常数分段的概率密度函数。然后利用逆变换采样 N f N_f Nf?数量的位置集合,然后利用两次采样的样本送入精网络然后进行评估。借此方法,我们可以针对实际的物体区域进行更大数量的采样。

Implementation details

这一章节实际没啥太多要说的,总结来看就是把粗网络和精网络两个部分的损失进行了叠加,损失的计算公式是:
L = ∑ r ∈ R [ ∣ ∣ C ^ c r ? C ( r ) ∣ ∣ 2 2 + ∣ ∣ C ^ f ( r ) ? C ( r ) ∣ ∣ 2 2 ] L = \sum_{r \in \mathbf{R}}[ || \hat C_c{\mathbf{r}} - C(\mathbf{r}) ||_{2}^{2} + || \hat C_{f} (\mathbf{r}) - C(\mathbf{r}) ||^{2}_{2}] L=rR?[∣∣C^c?r?C(r)22?+∣∣C^f?(r)?C(r)22?]
其中 R \mathbf{R} R表示光线的集合, C ^ r , C ^ c r , C ^ f r \hat C{\mathbf{r}}, \hat C_c{\mathbf{r}}, \hat C_f{\mathbf{r}} C^r,C^c?r,C^f?r分别表示的Ground Truth,粗网络输出以及精网络的输出。

在本文的实验过程中,batch size使用了4096条光线, N c = 64 , N f = 128 N_c=64, N_f=128 Nc?=64,Nf?=128,使用了Adam作为优化器,学习率是 5 × 1 0 ? 4 5 \times 10^{-4} 5×10?4,然后指数下降到 5 × 1 0 ? 5 5 \times 10^{-5} 5×10?5,Adam的参数设置选择默认 β 1 = 0.9 , β 2 = 0.999 , ? = 1 0 ? 7 \beta_1=0.9, \beta_2 = 0.999, \epsilon=10^{-7} β1?=0.9,β2?=0.999,?=10?7。整个优化过程大约需要100-300k轮迭代,在单个NVIDIA V100 GPU上大约需要1-2天。

Results

结果展示就不写了,实际上很多其他文章应该都有介绍了,就放一张图看看就行。
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:44:55  更:2022-08-06 10:47:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/19 7:55:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码