Abstract

基于全卷积网络的主流目标检测器已经取得了令人印象深刻的性能。而其中大多数仍然需要手工设计的非最大抑制(NMS)后处理,这阻碍了完全的端到端训练。在本文中,我们给出了丢弃NMS的分析,结果表明,正确的标签分配起着至关重要的作用。为此,对于完全卷积检测器,我们引入了一种预测感知的一对一(POTO)标签分配用于分类,以实现端到端检测,其性能与NMS相当。此外,提出了一种简单的3D最大滤波(3DMF),利用多尺度特征,提高了卷积在局部区域的可分辨性。通过这些技术,我们的端到端框架实现了与COCO和CrowdHuman数据集上的NMS的许多最先进的检测器相比具有竞争力的性能。代码可以在https://github.com/Megvii-BaseDetection/DeFCN上找到。

1. Introduction

目标检测是计算机视觉的一个基本课题,它为每个图像预测一组带有预定义类别标签的边界框。大多数主流检测器使用一些手工设计,如基于锚的标签分配和非最大抑制(NMS)。最近,人们提出了大量的方法,通过使用距离感知和基于分发的标签分配来消除预定义的锚盒集合。虽然他们取得了显著的进步和卓越的性能,但丢弃NMS后处理仍然是一个挑战,这阻碍了完全端到端(E2E)训练。

针对此问题,可学习的NMS,软NMS 和其他NMS变体和CenterNet被提出来改进重复删除,但它们仍然没有提供有效的端到端培训策略。同时,许多基于循环神经网络的方法被引入,使用自回归解码器来预测每个实例的包围盒。这些方法为边界盒的预测提供了自然顺序的建模方法。但它们只在一些小数据集上进行计算,没有现代检测器,迭代方式使推理过程效率低下。

最近,DETR引入了一种基于二部分匹配的训练策略和带有并行解码器的变压器来实现端到端检测。它实现了与许多最先进的探测器竞争的性能。然而,目前的DETR训练时间长得多,覆盖范围广,在小对象上的性能相对较低。为此,本文探索了一个新的视角:完全卷积网络能否实现竞争性的端到端目标检测?

在本文中,我们试图从标签分配和网络结构两个维度来回答这个问题。如图1所示,大多数全卷积检测器采用一对多的标签分配规则,即为一个ground-truth实例分配多个预测作为前景样本。该规则为获得强鲁棒的特征表示提供了足够的前景样本。然而,大量的前景样本导致单个实例的预测框重复,这阻碍了端到端检测。为了证明这一点,我们首先对现有的不同手工设计标签分配进行了实证比较。我们发现,单对单标签分配在消除重复去除后处理中起着至关重要的作用。然而,手工设计的一对一作业仍然有一个缺点。固定的分配可能会导致歧义问题,并降低特征的可甄别性,因为实例的预定义区域可能不是训练的最佳选择。为了解决这一问题,我们提出了一种预测感知的一对一(POTO)标签分配方法,该方法根据分类和回归的质量同时对前景样本进行动态分配。

图1如虚线框所示,大多数基于全卷积网络的检测器对每个实例采用多重预测和NMS后处理。通过提出的预测感知一对一标签分配和3D最大过滤,我们的端到端检测器可以直接对每个实例执行单个预测,而无需后处理

此外,对于基于现代FPN的检测器,广泛的实验表明,重复的边界框主要来自跨相邻尺度的最有把握的预测的附近区域。因此,我们设计了一个3D Max滤波(3DMF),它可以作为一个微分模块嵌入到FPN头中。该模块通过在相邻尺度上使用简单的3D max滤波算子来提高局部区域中卷积的可分辨性。此外,为了给特征表示学习提供足够的监督,我们修改了一对多分配作为辅助损失。

利用所提出的技术,我们的端到端检测框架实现了与许多最先进的检测器相竞争的性能。在COCO 数据集上,我们基于FCOS框架和ResNeXt-101 主干的端到端检测器显著优于具有NMS的基线1.1% mAP。此外,我们的端到端检测器对于拥挤检测更加鲁棒和灵活。为了证明在拥挤场景中的优越性,我们在CrowdHuman 数据集上构建了更多的实验。在ResNet-50主干网下,我们的端到端检测器实现了3.0% AP50和6.0% mMR绝对增益,超过了NMS的FCOS基线。

2. Related Work

2.1. Fully Convolutional Object Detector

由于卷积网络的成功,在过去十年中,目标检测取得了巨大的进步。现代单阶段探测器或两阶段探测器严重依赖锚或基于锚的方案。在这些检测器中,锚定框由预定义的滑动窗口组成,这些窗口被指定为具有边界框偏移的前景或背景样本。由于人工设计和数据独立的锚盒,基于锚的检测器的训练目标通常是次优的,需要仔细调整超参数。最近,FCOS和CornerNet通过引入无锚框架,为全卷积检测器提供了不同的视角。然而,这些框架仍然需要手动设计的后处理步骤来消除重复,即非最大抑制(NMS)。由于NMS是一种启发式方法,并对所有实例采用恒定阈值,因此需要仔细调整,并且可能不具有鲁棒性,尤其是在拥挤的场景中。相比之下,基于无锚框架,本文提出了一种预测感知的一对一分类分配规则,以丢弃不可训练的神经网络。

2.2. End-to-End Object Detection

为了实现端到端检测,在以前的文献中探讨了许多方法。具体而言,在早期的研究中,大量基于循环神经网络的检测框架都试图直接生成一组bounding boxes 。尽管它们原则上允许端到端学习,但它们只在一些小数据集上被证明有效,而不是在现代基线上。同时,提出了可学习的NMS,通过使用非常深入和复杂的网络来学习重复删除,实现了与NMS相当的性能。但它是由离散构件构造的,不能有效地解决端到端训练的实现问题。近年来,关系网络和DETR将注意力机制应用于对象检测,对不同预测之间的成对关系进行建模。通过使用一对一分配规则和直接设置损失,它们不需要任何额外的后处理步骤。然而,当执行大量的预测时,这些方法需要非常昂贵的成本,使得它们不适合密集的预测框架。由于缺乏图像先验和多尺度融合机制,DETR的训练时间也比主流检测器长得多,在小目标上的性能也较差。与上述方法不同的是,我们的方法首次实现了基于完全卷积网络的端到端目标检测。

3. Methodology

3.1. Analysis on Label Assignment

为了揭示标签分配对端到端目标检测的影响,我们在COCO数据集上构建了几个传统标签分配的消融研究。如表1所示,所有的实验都是基于FCOS框架,去除其中心分支来实现头对头的比较。实验结果证明了一对多分配在特征表示上的优越性和一对一分配在丢弃NMS上的潜力。下面几节将详细阐述分析。

表1:COCO val集上端到端对象检测的不同标签分配规则的比较。 ∆表示有和没有NMS之间的差距。“Aux”是提出的辅助损失。所有模型都基于ResNet-50主干,训练迭代180k。

3.1.1 One-to-many Label Assignment

由于NMS后处理在密集预测框架中被广泛采用,一对多标签分配成为分配训练目标的常规方式。足够的前景样本导致强有力的和稳健的特征表示。然而,当丢弃NMS时,由于一对多标签分配的冗余前景样本,重复的假阳性预测可能导致性能的急剧下降,例如,在FCOS基线上28.4%的mAP绝对下降。此外,表格1中报告的mAR表示前100个分数的预测的召回率。如果没有NMS,一对多分配规则会导致大量高分重复预测,从而降低召回率(针对正样本的查全率)。因此,仅仅依靠一对多的分配,检测器很难实现有竞争力的端到端检测。

3.1.2 Hand-designed One-to-one Label Assignment

MultiBox 和YOLO展示了在密集预测框架中应用一对一标签分配的潜力。在本文中,我们评估了两个一对一的标签分配规则,以揭示与丢弃NMS之间的联系。这些规则通过两种广泛使用的一对多标签分配来修改:锚点规则和中心规则。具体而言,锚规则基于RetinaNet,每个地面实况实例仅被分配给具有最大交集/并集(IoU)的锚。中心规则基于FCOS,每个groundtruth实例仅分配给预定义要素图层中最靠近实例中心的像素。此外,其他锚点或像素被设置为背景样本。

如表1所示,与一对多的标签分配方式相比,一对一的标签分配方式使不使用NMS的完全卷积检测器大大缩小了使用NMS和不使用NMS之间的差距,达到了合理的性能。例如,基于Center规则的检测器在FCOS基线上获得21.5%的mAP绝对增益。避免了NMS在复杂场景下的错误抑制,从而进一步提高了召回率。然而,仍然存在两个尚未解决的问题。首先,当应用一对一标签分配时,使用NMS和不使用NMS的检测器之间的性能差距仍然不可忽略。其次,由于对每个实例的监督较少,一对一标签分配的性能仍然低于FCOS基线。

3.2. Our Methods

在本文中,为了实现竞争性的端到端目标检测,我们提出了一种混合标签分配和一种新的3D最大滤波(3DMF)。混合标签分配由预测感知的一对一(POTO)标签分配和改进的一对多标签分配(辅助损失)组成。通过这些技术,我们的端到端框架可以摒弃NMS后处理,保持较强的特征表示。

3.2.1 Prediction-aware One-to-one Label Assignment

手工设计的一对一标签分配遵循一个固定的规则。但是,对于复杂场景中的各种实例,该规则可能不是最优的,例如,对于一个偏心对象的Center规则。因此,如果强制分配过程将次优预测分配为唯一的前景样本,网络的收敛难度将大大增加,导致更多的假阳性预测。为此,我们提出了一种名为预测感知1 - 1标签分配(POTO)的新规则,根据预测的质量动态分配样本。

Ψ表示所有预测的索引集。G和N分别对应地面真实情况和预测的次数,在密集预测探测器中通常是G≪N。表示N个预测的G-置换。我们的POTO旨在生成一个合适的排列的预测作为前景样本。训练损失公式为公式(1),包括前景损失和背景损失

式中为分配的前景样本对应的索引集。对于第i个ground-truth, 分别是它的类别标签和边界框坐标。对于第个预测,分别对应其预测的分类得分和预测的框坐标。

为了实现竞争性的端到端检测,我们需要找到一个合适的标签分配。如公式(2)所示,前人将其作为二部匹配问题,以前景损失作为匹配代价,利用匈牙利算法可以快速求解。

然而,前景损失通常需要额外的权重来缓解优化问题,如训练样本不平衡和多任务联合训练。如表格1所示,该属性使得训练损失不是匹配成本的最佳选择。因此,如公式(3)和公式(4)所示,我们提出了一个更干净和有效的公式(POTO)来找到一个更好的分配。

这里的表示第i个ground-truth与π(i)个预测的拟议匹配质量。它同时考虑了空间先验、分类置信度和回归质量。表示第i个ground-truth的候选预测集,即空间先验。空间先验广泛用于训练阶段。例如,FCOS中采用了中心采样策略,该策略仅将ground-truth实例中心部分的预测视为前景样本。我们还将其应用于POTO以实现更高的性能,但丢弃NMS并不是必需的(更多详细信息请参阅第4.2.2节)。为了达到平衡,我们通过公式(4)中的 分类分数和回归质量的加权几何平均值来定义质量。超参数α∈ [0,1]调整分类和回归之间的比率,其中默认采用α=0.8,第4.2.2节详述了更多消融研究。如表1所示,POTO不仅缩小了与NMS的差距,而且提高了性能。

3.2.2 3D Max Filtering

除了标签分配之外,我们还试图设计一种有效的架构来实现更具竞争力的端到端检测。为此,我们首先揭示了重复预测的分布。如表2所示,对于基于FPN的现代检测器,当将NMS分别应用于每个尺度时,性能会显著下降。此外,我们发现重复预测主要来自最可靠预测的附近空间区域。因此,我们提出了一种称为3D最大滤波(3DMF)的新模块来抑制重复预测。

表2:比较COCO值集NMS后处理的不同配置。“跨尺度”表示将NMS应用到特征金字塔网络的多个相邻阶段。“空间范围”表示每个尺度中重复去除的空间范围。

卷积是具有平移等方差的线性运算,它在不同的位置为相似的模式产生相似的输出。然而,这一特性对去重有很大的障碍,因为对于密集预测检测器,同一实例的不同预测通常具有相似的特征。Max滤波器是一种基于秩的非线性滤波器,可用于补偿局部区域中卷积的鉴别能力。此外,最大值滤波器也已用于基于关键点的检测器,例如CenterNet 和CornerNet ,作为一种新的后处理步骤来取代非最大值抑制。它展示了执行重复去除的一些潜力,但是不可训练的方式阻碍了有效性和端到端训练。同时,最大值滤波器仅考虑单尺度特征,这不适用于广泛使用的基于FPN的检测器。

因此,我们将最大值过滤器扩展为多尺度版本,称为3D最大值过滤,它在FPN的每个尺度上变换特征。在特征图的每个通道中分别采用3D Max滤波。

具体来说,如公式(5)所示,给定FPN尺度s中的输入特征,我们首先采用双线性算子[28]将来自个相邻尺度的特征插值为与输入特征相同大小。

如公式(6)所示。对于尺度s中的空间位置i,然后在具有尺度和φ × φ空间距离的预定义3D相邻管中获得最大值。这种操作可以通过高效的3D max-pooling运算符轻松实现。

此外,为了将3D Max Filtering嵌入到现有框架中,实现端到端训练,我们提出了一个新的模块,如图3所示。该模块利用max滤波来选择局部区域中激活值最高的预测,可以增强与其他预测的区别,这在第4.2.1节中有进一步的验证。由于这一特性,如图2所示,我们采用3DMF对粗密度预测进行细化,抑制重复预测。此外,所有模块均由简单的可微算子构造,计算开销较小。

图2:在FPN阶段使用3D Max滤波(3DMF)的头部示意图。“POTO”表示提出的预测感知的一对一标签分配规则,以实现端到端检测。Conv + σ表示一个卷积层,后面是一个sigmoid函数,输出粗略的分类分数。“辅助损耗”是为了改善特征表示而提出的辅助损耗。虚线用于突出显示训练阶段的其他组件,这些组件在推断阶段被放弃。

图3:3D Max滤波示意图。虚线框显示了3D max滤波的详细过程。“GN”和“σ”分别表示群归一化和sigmoid激活函数。

3.2.3 Auxiliary Loss

另外,在使用NMS时,如表1所示,POTO和3DMF的性能仍然低于FCOS基线。这可能是由于一对一标签分配提供的监督较少,使得网络难以学习到强鲁棒的特征表示。这进一步减少分类辨别的能力,从而造成效果的下降。为此,受许多前人研究的启发,我们引入了一种基于一对多标签分配的辅助损失来提供充分的监督,如图2所示。

与ATSS相似,我们的辅助损失采用了focal损失,并修改了一对多标签分配。具体来说,一对多标签分配首先根据公式(4)中提出的匹配质量,在每个FPN阶段将排名前9的预测作为候选。然后,它将匹配质量超过统计阈值的候选样本作为前景样本。统计阈值由所有候选匹配质量的均值和标准差之和计算得到。此外,辅助损失的不同形式的一对多标签分配也在补充材料中作了详细的报告。

4. Experiments

4.1. Implement Detail

与FCOS一样,我们的检测器分别采用一对4卷积头进行分类和回归。3DMF中第一卷积和第二卷积的输出通道数分别为256和1。所有的骨干都在ImageNet数据集上用冻结的批归一化进行预训练。在训练阶段,对输入图像进行重构,使其短边为800像素。如果没有特别说明,所有训练超参数与Detectron2中的2x时刻表(180k迭代)相同。

4.2. Ablation Studies on COCO

4.2.1 Visualization

如图4所示,我们展示了FCOS基线和我们提出的框架中分类分数的可视化。就单个实例而言,具有一对多分配规则的FCOS基线输出大量重复预测,这些预测高度激活,并且具有与最自信的预测相当的激活分数。这些重复预测被评估为假阳性样本,极大地影响了性能。相反,通过使用提出的POTO规则,可以显著抑制重复样本的分数。该特性对于检测器实现无需NMS的直接bounding boxes预测至关重要。此外,通过提出的3DMF模块,该特性得到了进一步增强,尤其是在最可靠预测的附近区域。此外,由于3DMF模块引入了多尺度竞争机制,检测器可以在不同的FPN阶段很好地执行独特的预测,例如,图4中的一个实例在各个阶段具有单个高度激活的分数。

图4.不同方法预测分类分数的可视化。输入图像有三个不同比例的实例,即人、领带和锅。每种方法从左到右的热图分别对应于FPN阶段“P5”、“P6”和“P7”中的分数图Aux’表示提出的辅助损耗。我们基于POTO的检测器显著抑制了针对vanilla FCOS框架的重复预测。3DMF增强了局部区域在相邻尺度上的显著性。此外,辅助损耗可以进一步改善特征表示。

4.2.2 Prediction-Aware One-to-One Label Assignment

Spatial prior. 如表3所示,对于分配的空间范围,在COCO数据集上,中心抽样策略相对优于盒子内和全局策略。它反映了图像的先验知识在真实场景中至关重要。

表3.COCO-val集上具有不同α和空间先验配置的POTO的结果。α=0等于单独考虑分类,α=1等于单独考虑回归。”“中心采样”和“盒子内”均遵循FCOS。“/”用于区分无NMS和有NMS的结果。

Classification vs. regression. 超参数α,如公式4所示,是控制分类和回归之间的重要性比例。如表3所示,当α = 1时,与NMS的差距并没有缩小。这可能是由于分类和回归的最佳位置之间的错位。当α = 0时,分配规则仅依赖于分类的预测得分。在此条件下,与NMS的差距得到了很大的消除,但绝对性能仍然不理想,这可能是由于次优初始化过拟合造成的。相反,选择适当的分类与回归融合质量,绝对性能得到显著提高。

Quality function. 我们进一步探讨了不同融合方法对质量函数的影响,如公式(4)。如表4所示,“添加”方法用替换,它的形式与[19]类似。然而,我们发现乘法融合,即“Mul”,更适合端到端检测,它比“添加”融合方法获得0.7%的mAP绝对增益。

表4:各质量函数对COCO值设定的影响。' / '用于区分没有NMS和有NMS的结果。
“Add”和“Mul”表示两种融合功能

4.2.3 3D Max Filtering

Components. 如表5所示,在没有NMS后处理的情况下,我们使用POTO的端到端检测器比普通FCOS获得了19.0%的mAP绝对增益。通过使用提出的3DMF,性能进一步提高了1.8% mAP,与NMS的差距缩小到0.2% mAP。如图4所示,结果显示了多尺度和局部距离抑制在端到端目标检测中的关键作用。所提出的辅助损耗提供了充分的监督,使我们的检测器获得了与具有NMS的FCOS相竞争的性能。

表5:提出的3DMF模块中各子模块对COCO值集的影响。“3DMF”和“Aux Loss”分别表示使用3D Max Filtering和辅助Loss。' / '用于区分没有NMS和有NMS的结果。

End-to-end.  为了证明端到端训练方式的优越性,我们将CenterNet的2D Max滤波替换为3D Max滤波,作为新的重复消除后处理。该后处理进一步应用于FCOS检测器。如表5所示,端到端方式实现了1.1%的绝对增益。

Kernel size.  如表6所示,我们评估了3DMF中空间范围φ和比例范围τ的不同设置。当φ=3且τ=2时,我们的方法在COCO数据集上获得了最高的性能。这种现象反映了重复预测主要来自相邻尺度的局部区域,这与第3.2.2节中的观察结果类似。

表6:提出的3DMF模块中超参数对COCO值集的影响。τ = 0等价于应用2D Max滤波在单个尺度上变换特征。' / '用于区分没有NMS和有NMS的结果

Performance w.r.t. training duration. 如图5(a)所示,在一开始,我们的端到端检测器在COCO val集合上的性能不如使用NMS的检测器。随着训练的进行,成绩差距越来越小。经过180k的训练迭代,我们的方法最终超越了其他使用NMS的检测器。这种现象在CrowdHuman val集合上也存在,如图5(c)所示。此外,由于去掉了手工设计的后处理,图5(b)展示了我们的方法相对于基于NMS的方法在召回率方面的优势。评价标准可以参考目标检测中的常见评价指标。

图5:性能、培训时间对比图。横轴的值对应训练迭代次数。所有模型都基于ResNet-50主干。设置网管阈值为0.6。

4.2.4 Larger Backbone

为了进一步证明我们方法的鲁棒性和有效性,我们提供了更大骨干的实验。具体结果见表7。具体来说,当使用ResNet-101作为骨干时,我们的方法比FCOS略优0.5% mAP。但是当引入更强的主干时,例如ResNeXt-101和可变形卷积,我们的端到端检测器比使用NMS的FCOS实现了1.1%的mAP绝对增益。这可能与可变形卷积的灵活空间建模有关。此外,提出的3DMF是有效的,易于实现的。如表7所示,我们的3DMF模块与使用NMS的基线检测器相比只存在轻微的计算开销。

表7:在COCO2017测试开发集上对所提出的具有更大骨干的框架进行了实验。所有模型的超参数都遵循官方设置。

4.3. Evaluation on CrowdHuman

我们在CrowdHuman数据集上评估我们的模型,这是一个带有各种遮挡的大型人类检测数据集。与COCO数据集相比,CrowdHuman的场景更加复杂拥挤,给传统的重复去除带来了严峻的挑战。我们的端到端检测器在拥挤的场景中更加健壮和灵活。如表8和图5所示,我们的方法显著优于使用nms的几种最先进的检测器,例如,与FCOS相比,3.0%的mAP和6.0%的mMR绝对增益。此外,该方法的召回率甚至优于带有NMS的ground-truth box。

表8:CrowdHuman val数据集上全卷积检测器的比较。所有模型都基于ResNet-50主干。“Aux”表示辅助损失。

5. Conclusion

本文提出了一种预测感知的一对一标签分配和3D最大滤波,以弥合完全卷积网络和端到端目标检测之间的差距。借助辅助损耗,我们的端到端框架在COCO和CrowdHuman数据集上使用NMS实现了对许多最先进的检测器的卓越性能。我们的方法也被证明在复杂和拥挤的场景中具有巨大的潜力,这可能有利于许多其他实例级任务。

End-to-End Object Detection with Fully Convolutional Network相关推荐

  1. End-to-End Object Detection with Fully Convolutional Network 论文笔记

    background 任务:目标检测任务中,去除不可训练的NMS,实现端到端的训练 关键词:POTO,3DMF Introduction 传统的目标检测会用到不可训练的NMS,严重阻碍了端到端的训练. ...

  2. 深度学习——3D Fully Convolutional Network for Vehicle Detection in Point Cloud模型实现

    1. 参考文献 3D Fully Convolutional Network for Vehicle Detection in Point Cloud 2. 模型实现 ''' Baidu Inc. R ...

  3. 快速多尺度人脸检测2--Multi-Scale Fully Convolutional Network for Face Detection in the Wild

    Multi-Scale Fully Convolutional Network for Face Detection in the Wild CVPRW2017 上一篇文献的姊妹篇吧,如何能够快速的实 ...

  4. 快速多尺度人脸检测--Multi-Scale Fully Convolutional Network for Fast Face Detection

    Multi-Scale Fully Convolutional Network for Fast Face Detection BMVC 2016 如何能够快速的实现多尺度人脸检测了? 本文的思路是 ...

  5. 论文阅读笔记:Retinal blood vessel segmentation using fully convolutional network with transfer learning

    Retinal blood vessel segmentation using fully convolutional network with transfer learning 使用全卷积网络与迁 ...

  6. 论文分享 DeepCenterline: A Multi-task Fully Convolutional Network for Centerline Extraction

    DeepCenterline: a Multi-task Fully Convolutional Network for Centerline Extraction 摘要 提出了一种新的中心线提取框架 ...

  7. 【U-net】【粗读】Retinal blood vessel segmentation using fully convolutional network with transfer...

    Retinal blood vessel segmentation using fully convolutional network with transfer learning 摘要 介绍 数据集 ...

  8. FCN(Fully Convolutional Network)与Unet:谈到语义分割不得不提的两个网络

    转载请注明出处:https://blog.csdn.net/wyzjack47/article/details/81107980 语义分割经典之作:FCN(Fully Convolutional Ne ...

  9. Fully convolutional network

    Fully convolutional network 讲解 简单的来说,FCN与CNN的区域在把于CNN最后的全连接层换成卷积层,输出的是一张已经Label好的图片. 全连接层和卷积层之间唯一的不同 ...

最新文章

  1. predicate 列存储索引扫描_在SQL SERVER中导致索引查找变成索引扫描的问题分析
  2. 图像分割在医学影像学中的应用(一)
  3. WebSphere安装
  4. LeetCode Mini Parser(栈操作)
  5. Redis集群架构搭建详解
  6. 嵌入式中断服务函数的一些特点
  7. oracle查询cpu占用率高,ORACLE杀掉cpu占用率高的session
  8. 免费开通二级域名的论坛
  9. wince6下usb摄像头(UVC)使用指南
  10. leetcode python3 简单题136. Single Number
  11. C# 2.0泛型编程基础(1)
  12. 面试题ajax干什么的,ajax面试题
  13. vue的json格式化工具json-viewer
  14. 模块化的机器学习系统就够了吗?Bengio师生告诉你答案
  15. 专业显卡深度学习_MacOS+AMD-eGPU打造深度学习环境 | 第2期
  16. 潜意识幻想-思维幻觉-昏迷中的加速思考
  17. conan入门(二十六):使用make编译erpc/erpcgen(makefile)
  18. Elasticsearch Ingest Pipeline
  19. MFC使用Windows API实现U盘插拔检测,获取U盘容量,U盘内容移动删除,开启和关闭U盘以及获取盘符
  20. 关于思杰桌面虚拟化的一次交流

热门文章

  1. Knockout.js----使用计算属性(Computed Observable)
  2. Python基础之Flask快速入门
  3. Banner在线制作网站介绍以及如何Springboot中使用
  4. samba Error NT_STATUS_CONNECTION_REFUSED Failed to connect with SMB1 -- no workgroup available
  5. 【定位设备】蓝牙信标接近距离的计算方式及其部署原则
  6. 全角和半角相互转换(C语言实现)
  7. spring启动流程(一):启动流程概览
  8. ardupilot软件仿真及调试(vscode版)
  9. 邵阳学院计算机系主任,湖南教育大平台-湖南省计算机教育年会在邵阳学院召开...
  10. 酷睿i5 1155g7相当于什么水平 i51155g7属于哪个档次