当前位置: 首页 > news >正文

三维点云Transformer局部感受野构建:理论、方法与挑战

三维点云Transformer局部感受野构建:理论、方法与挑战

在计算机视觉和三维感知领域,点云因其能够直接捕获物体表面几何信息而成为不可或缺的数据表示形式。然而,点云固有的无序性、非结构化、稀疏性和密度变化等特性,使其处理极具挑战性。近年来,Transformer架构凭借其强大的全局上下文建模能力和长距离依赖捕捉能力,在自然语言处理和二维图像领域取得巨大成功,并迅速扩展到三维点云处理领域。然而,直接将为序列数据设计的Transformer应用于点云存在诸多困难,其中局部感受野的合理构建成为发挥Transformer优势、克服点云处理难题的核心关键。

本文将深入探讨三维点云Transformer中局部感受野构建的理论基础、主要技术路线、代表性方法、面临的挑战以及未来发展方向。
在这里插入图片描述

一、 引言:背景与意义

  1. 点云数据的特性与挑战:

    • 无序性 (Unordered): 点云中点的顺序不包含信息,算法必须具有置换不变性。
    • 非结构化 (Irregular): 点云在三维空间中不规则分布,缺乏像图像那样的规则网格结构。
    • 稀疏性 (Sparse): 点云数据在三维空间中通常非常稀疏,尤其对于大场景或远距离物体。
    • 密度变化 (Varying Density): 由于传感器视角、遮挡和物体距离等因素,点云不同区域的密度差异显著。
    • 刚性变换不变性需求 (Invariance): 点云的几何结构应对平移、旋转等刚性变换保持不变。
  2. Transformer的崛起与优势:

    • 全局上下文建模: 自注意力机制理论上可以捕获任意两点之间的依赖关系,有助于理解整体场景结构和物体关系。
    • 长距离依赖捕捉: 克服了传统卷积神经网络 (CNN) 感受野受限的问题。
    • 强大的表示能力: 能够学习复杂的非线性关系。
    • 灵活性: 对输入序列长度没有严格要求(虽然计算成本随长度增加)。
  3. 核心问题:为何需要局部感受野?

    • 计算复杂度: 标准的全局自注意力计算复杂度为 O(N²),对于动辄成千上万点的点云(N 很大),计算开销巨大,难以承受。
    • 局部性先验: 三维物体的几何和语义信息往往具有很强的局部相关性。邻近点更可能属于同一物体表面或具有相似的属性(法线、曲率等)。局部特征提取是理解整体结构的基础。
    • 信息过载与噪声: 全局注意力可能引入大量不相关的、远距离的、甚至噪声点的信息,干扰对局部结构和细节的学习。
    • 泛化能力: 关注局部邻域有助于模型学习更通用的几何模式,对密度变化和局部遮挡更具鲁棒性。
    • 层级特征学习: 深度学习通常采用由局部到全局的层次化特征提取策略。构建局部感受野是实现点云处理中特征层次聚合的关键步骤。

因此,在点云Transformer中,如何高效、合理、自适应地构建局部感受野,平衡局部细节提取与全局上下文建模,成为模型设计成败的关键

二、 局部感受野构建的核心策略

点云Transformer中局部感受野构建主要围绕“如何定义查询点(Query Point)的邻域”以及“如何在该邻域内应用注意力机制”展开。以下是几种主流策略:

  1. 基于空间邻近性的划分:

    • 核心思想: 直接利用点之间的欧氏距离在三维空间中定义邻域。这是最直观、最符合几何意义的方法。
    • 主要方式:
      • K最近邻 (K-Nearest Neighbors, KNN): 对于每个查询点,选择在欧氏距离上最近的 K 个点作为其局部邻域。优点:邻域大小固定(K),计算相对高效;能自适应不同密度区域(在稀疏区域,邻域范围会自动扩大)。缺点:在密度极高区域,K个点可能只覆盖很小的物理范围,丢失稍远但可能相关的上下文;在密度极低区域,K个点可能覆盖过大的物理范围,引入不相关点。
      • 球查询 (Ball Query / Radius Search): 对于每个查询点,设定一个半径 r,选择所有落在以该点为中心、半径为 r 的球体内的点作为邻域。优点:邻域的物理范围固定。缺点:邻域内点的数量不固定,计算效率受密度影响大(密集区域点数多,计算慢);在稀疏区域,邻域内点可能非常少甚至为空,导致信息不足。
      • 混合策略 (KNN + Radius): 结合 KNN 和 Radius 的优点,例如:在半径 r 内找点,但点数不少于 K_min 或不多于 K_max。或者在 KNN 的基础上,增加一个最大距离限制。这能在一定程度上平衡邻域大小和点数。
    • 代表性工作:
      • Point Transformer: 提出“向量自注意力”,明确为每个查询点使用 KNN 查找局部邻域。其注意力权重计算不仅考虑特征相似性,还显式地编码了查询点与键值点之间的相对位置(三维坐标差),显著提升了局部几何感知能力。
      • Point-BERT: 在掩码自编码预训练框架中,也采用 KNN 来定义用于计算局部注意力(在Transformer块内)的邻域。
    • 特点: 几何意义明确,易于实现。KNN 因其稳定性和效率被广泛采用。关键在于如何有效地将三维位置信息(相对坐标)融入注意力权重计算,以捕获局部几何结构。
  2. 基于图的构建:

    • 核心思想: 将点云视为一个图 (Graph),其中点是图的节点,点之间的连接(边)定义邻域关系。感受野通过图上的邻接关系或图上的信息传播(如 GCN)来定义。注意力机制可以自然地应用于图结构上。
    • 主要方式:
      • 静态图构建: 预处理阶段,基于 KNN 或 Radius 方法为每个点构建一个固定的邻域图。感受野在模型前向传播过程中保持不变。
      • 动态图构建: 在每一层或每个Transformer块中,根据当前点的特征(通常是特征空间的距离,而非原始坐标空间的距离)动态地重新计算邻接关系(边连接)。这使得感受野能够根据学习到的语义信息自适应调整。
      • 图上的注意力: 注意力机制应用于每个节点及其在图上的邻居(一阶或高阶)之间。图结构定义了注意力计算的范围。
    • 代表性工作:
      • Point Cloud Transformer (PCT): 虽然其核心是偏移注意力(关注点自身特征与邻居特征聚合结果的差异),但其邻居的定义通常基于输入空间或特征空间的 KNN,可以看作图构建的一种形式。
      • Graph Transformer Networks: 更明确地将图神经网络 (GNN) 与 Transformer 结合。利用 GNN 层(如 GCN, GAT)进行消息传递来聚合局部信息,或者直接在图的邻接结构上应用自注意力。
    • 特点: 图结构能显式地建模点之间的关系。动态图构建能实现语义驱动的感受野自适应,有助于学习更具判别性的特征。计算效率取决于图的稀疏性。
  3. 基于体素/空间划分的构建:

    • 核心思想: 将三维空间规则地划分为体素(Voxel)或空间网格(Grid)。局部感受野被限制在查询点所在的局部体素单元内,或者包含该单元及其相邻单元。
    • 主要方式:
      • 体素内注意力: 将落在同一个体素内的点视为一个局部组,在该组内应用自注意力。
      • 局部体素窗口: 借鉴 Swin Transformer 的思想,在三维空间定义局部、非重叠(或重叠)的体素窗口(如 3x3x3 体素组成的立方体)。注意力计算仅限于每个窗口内的所有点。窗口之间可以通过“窗口移动”或池化/下采样进行信息交互。
    • 代表性工作:
      • Voxel Transformer / Fast Point Transformer: 将点云体素化,然后在每个非空体素内或者局部体素邻域内应用自注意力。通常需要处理点与体素的映射关系。
      • Swin3D / Stratified Transformer: 将 Swin Transformer 的窗口划分策略扩展到三维点云。在规则的三维网格上定义局部窗口(如 4x4x4 网格单元),窗口内的点进行自注意力计算。通过窗口移位实现跨窗口连接。
    • 特点: 规则化的空间划分显著降低了计算复杂度(复杂度与点数的线性关系更强),尤其利于处理大规模点云。可以利用高效的稀疏卷积或哈希表等技术加速。缺点:体素化会引入量化误差,丢失原始点的精确位置信息;空间划分可能破坏自然的局部几何结构(特别是当划分边界与物体边界不重合时)。
  4. 基于特征相似性的构建:

    • 核心思想: 不直接依赖空间距离,而是根据点特征在特征空间中的相似性(如余弦相似度、欧氏距离)来定义邻域。查询点的感受野是其特征空间中最相似的 K 个点。
    • 特点: 感受野是语义驱动的,能跨越空间距离的限制,将语义上相似的点聚集在一起(例如,一只鸟的头部点可能和另一只鸟的头部点更相似,即使它们在空间上很远)。这对于识别具有相似部件但空间分离的物体非常有用。挑战: 如何在早期层(特征尚未充分学习时)构建有意义的邻域?计算特征空间 KNN 的开销?如何保证局部几何结构不被完全忽略?
  5. 混合构建策略:

    • 核心思想: 认识到单一策略的局限性,结合多种策略的优点。常见组合包括:
      • 空间邻近 + 特征相似性: 首先通过空间邻近(KNN/Radius)筛选出一个候选邻域,然后在该候选邻域内基于特征相似性进行重排序或加权,或者只选择特征最相似的 Top-K 个点。
      • 空间划分 + 局部邻近: 在空间划分(如体素窗口)的基础上,在窗口内再使用 KNN 或图结构来构建更精细的局部关系。
      • 层级构建: 在浅层网络使用空间邻近构建感受野,学习基础几何特征;在深层网络引入特征相似性构建感受野,捕获高级语义关联。
    • 特点: 灵活性高,能更好地适应不同任务和场景的需求。设计更复杂,需要仔细调优。

三、 局部感受野构建的关键技术要素

构建好邻域后,如何在局部感受野内应用注意力机制并有效编码信息至关重要:

  1. 位置编码 (Positional Encoding):

    • 作用: 为无序的点云提供顺序或位置信息,使模型能够感知点在空间中的相对或绝对位置。这对于理解几何结构至关重要。
    • 主要类型:
      • 相对位置编码: 编码查询点 i 与其邻域内键/值点 j 之间的相对位移 Δp_ij = p_i - p_j。这是点云Transformer最常用、最有效的方式。编码方式包括:
        • 直接拼接/相加:Δp_ij 或其变换(如MLP)拼接到点特征上,再计算注意力权重或值。
        • 可学习的映射: 使用一个小型神经网络(如MLP)将 Δp_ij 映射为一个位置编码向量,再与特征结合。
        • 正弦编码: 类似原始Transformer,但对三维坐标应用。
      • 绝对位置编码: 为每个点 i 的坐标 p_i 编码一个位置向量。效果通常不如相对位置编码。
    • 重要性: 缺乏有效的位置编码,注意力机制将退化为仅基于特征相似性的聚合,无法感知空间几何结构,性能会大幅下降。Point Transformer 的成功很大程度上归功于其精心设计的相对位置编码(在注意力权重计算中显式引入 Δp_ij)。
  2. 注意力权重的计算:

    • 标准点积注意力: Attention(Q, K, V) = softmax(QK^T / √d_k) V。在局部邻域内计算。
    • 向量自注意力 (Vector Attention - Point Transformer): 将注意力权重视为一个向量函数,其输入包括查询特征 f_i、键特征 f_j 和相对位置 Δp_ijα_ij = φ(f_i, f_j, Δp_ij)。权重 α_ij 本身可以是一个向量,用于调制值向量 V_j。这种设计更灵活地整合了位置信息。
    • 偏移注意力 (Offset Attention - PCT): 注意力权重用于计算特征差异:Output_i = f_i + ψ( softmax(QK^T / √d_k) (V - f_i) )。它更关注邻居特征与中心点特征的差异,强调了局部变化。
    • 其他变体: 引入门控机制、多头注意力(Multi-Head)以关注不同子空间信息等。
  3. 邻域特征的聚合:

    • 注意力加权求和: 标准的聚合方式:f_i' = Σ_j (α_ij * g(V_j)),其中 g 是值变换函数(如线性层),α_ij 是注意力权重。
    • 结合最大/平均池化: 有时会将注意力聚合的结果与邻域内的最大池化或平均池化特征拼接或相加,作为额外的上下文信息。
    • 层级聚合: 在局部感受野聚合后,通过下采样(如最远点采样 FPS、体素网格下采样、随机采样)或池化操作减少点数,扩大后续层的感受野范围,形成层级特征金字塔。

四、 代表性方法与案例分析

  1. Point Transformer (Zhao et al., 2021):

    • 核心贡献: 系统地将Transformer应用于点云,提出向量自注意力可区分的分组(KNN查找邻域)。
    • 局部感受野构建: 明确采用 KNN 为每个点查找局部邻域。
    • 位置编码与注意力: 在计算注意力权重时,显式注入相对位置 Δp_ijα_ij = MLP(f_i - f_j + δ),其中 δΔp_ij 通过一个小型位置编码网络得到的向量。然后进行加权求和聚合。
    • 效果: 在多个点云分类、分割基准数据集上取得当时SOTA性能,证明了局部注意力+相对位置编码的有效性。
  2. Point Cloud Transformer (PCT - Guo et al., 2021):

    • 核心贡献: 提出偏移注意力 (Offset Attention) 机制和邻居嵌入 (Neighbor Embedding) 模块。
    • 局部感受野构建: 隐式地基于特征相似性或输入空间 KNN 构建图结构(用于邻居嵌入)。注意力本身在全局计算,但通过拉普拉斯算子和归一化,隐式地增强了局部性。
    • 偏移注意力: O = LayerNorm(f + FFN(softmax((QK^T)/√d) (V - f) + f))。它关注特征差异 (V - f),并通过注意力权重聚合这些差异。
    • 效果: 同样在分类、分割任务上表现优异,其偏移注意力设计提供了一种不同的局部特征提取视角。
  3. Point-BERT (Yu et al., 2022):

    • 核心贡献: 首个将 BERT 式掩码自编码预训练范式引入点云领域。
    • 局部感受野构建: 在标准的Transformer编码器块内部,采用 KNN 定义局部邻域,进行局部自注意力计算(而非全局注意力)。这是其降低计算复杂度的关键。
    • 位置编码: 使用 MLP 编码相对位置 Δp_ij
    • 意义: 证明了基于局部感受野的Transformer在自监督预训练中的巨大潜力,学习到了强大的通用点云特征表示。
  4. Fast Point Transformer (FPT - Wu et al., 2022) / Voxel Transformer:

    • 核心问题: 解决标准点Transformer(如Point Transformer)在大规模点云(如自动驾驶场景)上计算效率低的问题。
    • 局部感受野构建: 采用体素化 (Voxelization)。将点云量化到稀疏的体素网格中。
      • Voxel-Wise Attention: 在非空体素内部应用自注意力(将体素内所有点视为一个组)。
      • Window Attention (类似Swin3D): 将三维空间划分为局部非重叠的体素窗口(如 4x4x4 体素)。注意力计算仅限于每个窗口内的所有点。通过窗口移位 (Shifted Window) 在下一层实现跨窗口连接。
    • 加速技术: 利用哈希表 (Hash Table)高效的稀疏卷积/注意力算子来管理非空体素和窗口,避免对空区域的计算。
    • 位置编码: 通常使用相对位置编码(基于体素坐标差或原始坐标差)。
    • 效果: 在处理包含数十万甚至上百万点的大规模场景点云时,计算效率显著提升(接近线性复杂度),同时保持甚至超过基于 KNN 的Point Transformer 的精度(尤其在语义分割任务上)。
  5. Stratified Transformer (Pan et al., 2022):

    • 核心贡献: 直接在原始点云上实现类似 Swin Transformer 的层级局部窗口注意力,避免体素化的量化误差。
    • 局部感受野构建:
      • 层级最远点采样 (Hierarchical FPS): 在不同层生成不同尺度的关键点集。
      • 球查询 + KNN: 在每一层,以关键点为中心,使用球查询(半径 r)定义局部邻域。为了控制计算量,在每个球邻域内,进一步使用 KNN 选择固定数量(K)的点参与计算。这些球邻域本质上就是三维空间中的局部窗口
      • 窗口注意力: 在每个由球查询和 KNN 定义的局部窗口(即每个关键点及其邻域点组成的组)内应用自注意力。
      • 窗口移位: 在连续层之间移动关键点位置(通过扰动采样位置实现),使窗口重叠,实现跨窗口信息交互。
    • 位置编码: 使用 MLP 编码相对位置 Δp_ij
    • 效果: 在点云分类、分割、检测任务上达到 SOTA 性能,特别是在 ScanNet 等室内场景分割数据集上表现突出。平衡了效率(通过局部窗口和 KNN 限制点数)和效果(避免体素量化,保留精确位置)。

表:主要局部感受野构建策略与方法比较

构建策略代表方法核心机制优点缺点计算复杂度
空间邻近 (KNN)Point TransformerKNN 邻域 + 向量自注意力 + 相对位置编码几何直观,自适应密度,实现相对简单密集区物理范围小,稀疏区范围大;感受野形状各向异性O(K*N) / O(N log N)
空间邻近 (Radius)常用辅助球查询邻域物理范围固定点数不固定(稀疏区少,密集区多);稀疏区可能信息不足O(N) 或 O(N log N)
图构建 (动态)PCT (部分) / GTA基于特征距离动态构建邻接图 + 图注意力感受野语义自适应,能学习长程语义关联构建动态图开销大;早期层特征不可靠;可能忽略局部几何较高 (取决于图稀疏度)
空间划分 (体素)Fast Point Transformer体素化 + 体素内或体素窗口内注意力计算效率极高(接近线性),适合大规模点云;规则结构利于优化量化误差;破坏自然几何结构;边界效应O(N) 或 O(M), M<<N (非空体素数)
空间划分 (窗口)Swin3D / Stratified三维空间划分窗口 (网格或球域) + 窗口内注意力效率高;保留原始点位置 (Stratified);层级结构清晰窗口边界可能割裂物体;需要精心设计窗口移位;Stratified 的球域查询仍有开销O(N) (窗口大小固定)
特征相似性较少独立使用特征空间 KNN 构建邻域语义驱动,能发现空间分离的相似部件计算特征 KNN 开销大;早期层不可靠;可能完全脱离空间几何O(N²) 或 O(N log N)
混合策略多种方法结合如 KNN + 特征重排; 体素 + KNN结合优势,灵活性高设计更复杂,参数/超参数更多取决于组合方式

五、 挑战与未来方向

尽管三维点云Transformer局部感受野构建研究取得了显著进展,但仍面临诸多挑战,并存在广阔的发展空间:

  1. 高效性与可扩展性:

    • 挑战: 虽然体素/窗口方法大幅提升了效率,但处理超大规模点云(如城市场景、高精度扫描)时,计算和内存开销仍是瓶颈。动态图构建、特征空间 KNN 等方法开销更大。
    • 方向:
      • 更优的稀疏化策略: 设计更智能的点采样、分组或哈希方法,进一步减少参与计算的点数或注意力对的数量。
      • 近似注意力: 探索低秩近似、核方法、局部敏感哈希 (LSH) 等高效注意力机制在点云上的应用。
      • 硬件感知设计: 设计更适合 GPU/NPU 等硬件并行计算的局部感受野构建和注意力算子。
      • 量化与压缩: 研究模型和特征的量化压缩技术,减少内存占用和计算量。
  2. 动态与非刚性场景:

    • 挑战: 现有方法主要针对静态点云。对于动态点云(如时序点云、非刚性变形物体),局部感受野需要随时间变化,并能捕捉点运动的连续性。
    • 方向:
      • 时序局部感受野: 结合光流估计、点跟踪或时空图构建,定义跨时间帧的局部邻域。
      • 可变形注意力: 设计能根据点的运动状态或形变场自适应调整感受野位置和形状的注意力机制。
  3. 各向异性感受野与几何感知:

    • 挑战: KNN 和球查询定义的感受野在空间中通常是各向同性的(球形)。然而,物体表面具有方向性(法线、切平面),特征分布也常呈现各向异性(如边缘、棱角)。各向同性的感受野可能无法最优地捕获这种结构。
    • 方向:
      • 几何引导的邻域选择: 利用局部几何信息(如法线、曲率)调整邻域搜索范围或形状(如椭球)。
      • 注意力权重的几何调制: 更精细地利用相对位置和方向向量(不仅是位移大小,还包括方向)来调制注意力权重,使模型对表面方向更敏感。
  4. 多尺度与自适应感受野:

    • 挑战: 不同物体、不同部件、不同层级需要不同尺度的感受野。当前方法通常需要预先设定 K 或 r,或者依赖层级下采样间接扩大感受野,缺乏细粒度的、数据驱动的自适应尺度选择
    • 方向:
      • 可学习的邻域参数: 让模型学习每个点、每个层的最优 K 或 r。
      • 多尺度注意力融合: 在同一个层内,为每个点构建多个不同尺度(不同 K 或 r)的邻域,分别计算注意力并融合结果。
      • 注意力权重隐含尺度: 设计注意力机制,使其权重分布能自然地覆盖不同的空间尺度。
  5. 鲁棒性:

    • 挑战: 对点云噪声、离群点、严重遮挡、极端密度变化的鲁棒性仍需加强。噪声和离群点可能被选入邻域干扰注意力计算;遮挡会导致局部信息缺失;密度变化使得固定 K 或 r 的策略失效。
    • 方向:
      • 鲁棒的邻域选择: 设计能过滤噪声点和离群点的邻域构建机制。
      • 注意力机制的抗干扰: 如引入鲁棒聚合函数(加权中值、截断平均)或注意力正则化,降低异常点的影响。
      • 遮挡推理与补全: 在局部感受野构建和特征聚合中,融入对遮挡可能性的推理,尝试利用上下文信息进行局部补全。
  6. 理论理解与可解释性:

    • 挑战: 对局部感受野Transformer为何有效、如何工作的理论理解仍不充分。注意力权重分布的可解释性较差。
    • 方向:
      • 分析感受野影响: 系统研究不同构建策略和参数如何影响特征学习和任务性能。
      • 可视化与归因: 开发工具可视化局部感受野的范围、注意力权重分布,理解模型关注哪些点进行决策。
      • 建立与经典方法的联系: 探索局部注意力与点卷积 (PointConv)、连续卷积 (Continuous Conv) 等之间的理论联系和等价性。
  7. 统一框架与泛化能力:

    • 挑战: 方法众多,各有侧重(效率、精度、任务),缺乏一个统一、灵活、强大的框架。
    • 方向: 探索更通用的局部感受野构建模块,能够根据数据特性、任务需求和计算资源自适应地选择或融合不同的策略。

六、 结论

局部感受野的构建是三维点云Transformer成功应用的基石。它巧妙地解决了全局注意力计算开销巨大与点云处理需要局部几何感知之间的矛盾。从基于空间邻近的 KNN、球查询,到基于图的动态构建,再到基于空间划分的体素和窗口方法,以及特征相似性驱动和混合策略,研究者们不断探索更高效、更有效、更鲁棒、更自适应的局部感受野定义方式。

核心的技术要素——特别是相对位置编码和融入几何信息的注意力权重计算——对于捕获局部结构至关重要。Point Transformer、PCT、Point-BERT、Fast Point Transformer/Voxel Transformer、Stratified Transformer 等代表性工作展示了不同策略的威力和适用场景。

然而,挑战依然严峻。面向未来,追求更高效率以处理海量点云,探索动态场景和非刚性形变的处理,设计更几何感知和各向异性的感受野,实现细粒度的多尺度自适应,增强对噪声遮挡的鲁棒性,深化理论理解和可解释性,以及构建更统一的框架,将是推动三维点云Transformer向前发展的关键研究方向。随着这些挑战的逐步攻克,基于Transformer的模型有望在三维感知的各个领域(如自动驾驶、机器人导航、AR/VR、智能制造、地理信息、生物医学成像等)发挥更核心的作用,更深入地理解和重构我们身处的三维世界。

http://www.dtcms.com/a/276582.html

相关文章:

  • 【图像处理基石】如何入门大规模三维重建?
  • 宁德时代2025年社招入职Verify测评语言理解数字推理考点及SHL测评真题整理
  • Augmented Nested Arrays With Enhanced DOF and Reduced Mutual Coupling
  • C++面试问题集锦
  • Linux系统编程——目录 IO
  • C++ 算法题常用函数大全
  • 独立开发第二周:构建、执行、规划
  • 数智管理学(三十二)
  • ATE-市场现状及趋势
  • AI:机器人行业发展现状
  • 用 Jpom 10 分钟搭好一套轻量级 CICD + 运维平台
  • 傅里叶方法求解偏微分方程2
  • 【C/C++】迈出编译第一步——预处理
  • 并查集理论以及实现
  • QILSTE/旗光 H6-108QHR
  • SSM项目上传文件的方式及代码
  • Java使用Langchai4j接入AI大模型的简单使用(二)
  • 线程同步:互斥锁与条件变量实战指南
  • 猿人学js逆向比赛第一届第二十题
  • 关于赛灵思的petalinux zynqmp.dtsi文件的理解
  • 二叉树算法进阶
  • 《Spring 中上下文传递的那些事儿》Part 8:构建统一上下文框架设计与实现(实战篇)
  • 深入理解设计模式之工厂模式:创建对象的艺术
  • Pandas 模块之数据的读取
  • 暑期前端训练day6
  • 【人工智能99问】开篇!
  • 【leetcode】1757. 可回收且低脂的产品
  • FastAdmin项目开发三
  • Python数据容器-集合set
  • 什么是 Bootloader?怎么把它移植到 STM32 上?