2021亚洲机器学习会议:面向单阶段跨域检测的域自适应YOLO(ACML2021)

原文标题:Domain Adaptive YOLO for One-Stage Cross-Domain Detection

中文标题:面向单阶段跨域检测的域自适应YOLO

1Abstract

域转移是目标检测器在实际应用中推广的主要挑战。两级检测器的域自适应新兴技术有助于解决这个问题。然而,两级检测器由于其耗时较长,并不是工业应用的首选。本文提出了一种新颖的域自适应 YOLO(DA-YOLO)来提高单级检测器的跨域性能。图像级特征对齐用于严格匹配纹理等局部特征,并松散地匹配照明等全局特征。提出多尺度实例级特征对齐以有效减少实例域偏移,例如目标外观和视点的变化。对这些域分类器进行共识正则化以帮助网络生成域不变检测。我们在 Cityscapes、KITTI、SIM10K 等流行数据集上评估我们提出的方法。在不同的跨域场景下进行测试时,结果表明有显著的改进。

关键词:域转移、域适应、单阶段检测器、YOLO

2、Introduction

2.1、目标检测面临的挑战

目标检测旨在对给定图像中感兴趣的目标进行定位和分类。近年来,自深度卷积神经网络(CNN)出现以来,大量成功的目标检测模型一直被提出。然而,一个被称为“领域转移”的新挑战开始困扰计算机视觉社区。域漂移是指源域和目标域之间的分布不匹配导致性能下降。它是由图像的变化引起的,包括不同的天气条件,相机的视角,图像质量等。以自动驾驶为例,一个可靠的目标检测模型应该在任何情况下都能稳定地工作;然而训练数据通常是在视野清晰的晴天收集的,而实际上汽车可能会遇到恶劣的天气条件,包括雪和雾,导致能见度受到影响,此外相机的位置在测试环境中可能会有所不同,从而导致视点变化。

2.2、领域自适应的发展

理想情况下,在目标域上重新标记是解决域转移问题的最直接的方法。但这种手工注释会带来昂贵的时间和经济成本。出于对无需注释方法的期望,领域适应努力消除领域差异,而无需对目标领域进行监督。领域自适应(DA)首先被广泛应用于分类任务中,使用最大平均差异(MMD)等距离度量单位来衡量域偏移,并监督模型学习领域不变特征。后来,使用领域分类器和梯度反转层(GRL)的对抗训练策略被证明是一种更有效的学习鲁棒跨领域特征的方法。在训练阶段,领域分类器对源域和目标域数据的区分能力逐渐提高,骨干特征提取器学习生成更多的领域不可区分特征。最后,特征提取器能够生成域不变特征。

2.3、域自适应目标检测

1用于目标检测的 DA 继承并扩展了相同的对抗训练思想。与分类 DA 类似,检测 DA 对骨干特征提取器采用对抗性训练。然而除了分类之外,目标检测器还需要对每个感兴趣的物体进行定位和分类。因此使用一个额外的域分类器对每个实例特征进行分类,以促使特征提取器在实例级别上是域不变的。这种对抗性检测自适应方法是由Chen等人(2018)首创的,他们使用Faster R-CNN作为基本检测器模型。随后的研究遵循了这一惯例,Faster R-CNN成为了主要的领域自适应检测器。此外,Faster R-CNN的两阶段特性使得它非常适合在实例级特征上应用域自适应。区域建议网络(RPN)和兴趣区域池(ROI)产生的统一实例级特征便于领域分类器直接使用。

2尽管 Faster R-CNN 很受欢迎并且可以方便地利用区域提议网络(RPN),但在时间性能至关重要的现实应用中,Faster R-CNN 并不是理想选择。与 Faster R-CNN 相比,YOLO (2016)是一种具有代表性的单阶段检测器,由于其惊人的实时性能、简单性和便携性而成为更有利的选择。YOLOv3 (2018)是YOLO的流行版本,广泛应用于工业领域,包括视频监控、人群检测和自动驾驶。然而,对单阶段检测器的域自适应研究仍然很少。

2.4、本文提出的方法

在本文中,我们介绍了一种新颖的域自适应 YOLO(DA-YOLO),它使用单级检测器 YOLOv3 执行域自适应。该模型的总体架构如下图1所示。首先,我们提出回归图像对齐(Regressive Image Alignment,RIA)来减少图像级别的域差异。RIA 在 YOLOv3 特征提取器的不同层使用三个域分类器来预测特征图的域标签。然后,它采用对抗性训练策略(adversarial training strategy)来对齐图像级别特征。通过为这些图像级域分类器分配不同的权重,RIA 严格对齐局部特征并宽松地对齐全局特征。其次,我们提出多尺度实例对齐(Multi-Scale Instance Alignment,MSIA)用于实例级域适应。由于没有两阶段检测器中的区域建议网络RPN,MSIA 利用了 YOLOv3 的三尺度检测。MSIA 使用三个域分类器进行这些检测,以对齐实例级特征。最后,我们将多级一致性正则化(Multi-Level Consensus Regularization,MLCR)应用于域分类器,以驱动网络产生域不变检测。

2.5、本文贡献

综上所述,我们在本文中的贡献有三个方面:

1)我们设计了两个新的领域自适应模块来解决领域移位问题。

2)我们提出了一种用于一级检测器的领域自适应范式。 据我们所知,这是第一个提出统一一级检测器的图像级和实例级自适应的工作。

3)利用Cityscapes、Foggy Cityscapes、KITTI、SIM10K数据集进行了广泛的领域自适应实验。结果表明,本文提出的自适应YOLO在不同的跨域场景下是有效的。

3、Related Works

3.1、Object Detection

随着深度神经网络的应用,目标检测方法蓬勃发展。它们大致可分为两类:两阶段法和单阶段法。R-CNN系列是两阶段检测器的代表,首先生成兴趣区域提案,然后对其进行分类。同时,YOLO作为单阶段检测器的代表,以其实时性成为应用广泛的一种检测器。YOLOv2 (2017) 和YOLOv3 (2018)是作为增量改进引入的,集成了残差块等有效技术。YOLOv4 (2020)是各种技巧的组合,可以实现最佳的速度和准确性。

3.2、Domain Adaptation

领域自适应旨在通过使用带注释的源域数据来提高模型在目标领域上的性能。首先通过匹配源域和目标域的边缘分布和条件分布,将其应用到分类任务中。以往工作包括TCA(2010)、JDA(2013)、JAN(2017)。随着生成式对抗网络GAN(2014) 的出现,对抗训练策略因其有效性而受到欢迎。事实证明,该策略在学习领域不变特征方面非常有帮助,并导致了一系列对抗性领域自适应的研究,包括DANN(2016),DSN(2016),SAN(2018)等等。

3.3、Domain Adaptation for Object detection

Domain Adaptive Faster R-CNN(2018)使用两阶段检测器Faster R-CNN探索了目标检测的对抗性域自适应。后续若干研究遵循了两阶段的范式,并做出了相当大的改进。尽管两级检测器便于域自适应,但在工业应用中很少使用。在实际应用中,单阶段探测器具有无可比拟的速度性能。因此,将单阶段检测器与领域自适应相结合具有重要的意义,但相关研究很少。这种情况促使我们开展本文提出的工作。

关于单阶段检测器的域自适应的研究有限。YOLO in the Dark Sasakawa and Nagahara (2020) 通过合并多个预先训练的模型来适应 YOLO。MS-DAYOLO (2021) 对 YOLO 模型采用多尺度图像级自适应。然而,它没有考虑实例级自适应,而实例级自适应被证明是同等甚至是更重要的。实例特征适应是一项更具挑战性的任务,因为在单阶段检测器中没有两阶段检测器中的区域建议网络RPN。在本文中,我们通过使用 YOLO 的检测来解决这个问题。

4、Methodology

4.1、Problem Definition(问题定义)

1域适应的目标是将从已标记的源域 Ds 学到的知识转移到未标记的目标域 Dt。Dt 的分布与 Ds 类似,但不完全相同。源域提供了完整的注释,表示为 Ds = {(xsi , ysi , bsi )}nsi,其中 bsi ∈ Rk×4 表示图像数据 x 的边界框坐标,ysi ∈ Rk× 1 表示相应边界框的类别标签。相应地,目标域没有注释,表示为 Dt = {(xtj)}ntj 。通过使用已标记的源域数据 Ds 和未标记的目标域数据 Dt,源检测器可以很好地推广到目标域。

2源域和目标域的联合分布分别表示为 PS(C, B, I) 和 PT(C, B, I),其中 I 代表图像表示,B 代表边界框,C ∈ {1, .. .,M} 表示对象的类别标签(M 是类别总数)。域偏移源于域之间的联合分布不匹配,即 PS(C, B, I) \= PT(C, B, I)。

3联合分布可以用两种方式分解:P(C, B, I) = P(C, B | I)P(I) 和 P(C, B, I) = P(C | B , I)P(B, I​​)。通过强制 PS(I) = PT(I) 和 PS(B, I​​) = PT(B, I​​),我们可以减轻图像级别和实例级别上的域不匹配。

4.2、A Closer Look at Domain Adaptive Object Detection(仔细研究域自适应目标检测)

1作为对抗性自适应检测的开创性工作,Domain Adaptive Faster R-CNN(2018) 提出:

a、图像对齐,重点是弥合由图像级别变化(例如不同的图像质量和照明)引起的域间隙;

b、实例对齐,重点是减少由实例级别变化(例如对象大小差异)引起的实例级别域偏移;

c、一致性正则化,旨在增强域不变定位能力。

2尽管这样的范例是有效的,但是基于Faster R-CNN的域自适应不能很好地应用于现实世界。原因是双重的;首先,像Faster R-CNN这样的两级检测器需要对骨干、RPN和检测头进行训练,设置既不方便也不直接;其次,两级检测器的时间性能不理想,例如由Facebook AI Research实现的最先进的两级探测器Detectron2几乎无法达到实时性能。相反,像YOLO这样的单阶段检测器因其在实践中的优越性而在工业应用中得到了广泛的应用。例如,PP-YOLO (2020)广泛应用于行人检测、汽车检测和产品质量检测。单阶段检测器易于使用,可自由定制,并且在时间成本和计算成本方面可以实现高性能。

3代表性的单阶段检测器YOLOv3由两部分组成:主干特征提取器Darknet-53和三个不同尺度的检测层。特征提取器以图像作为输入,分别向三个检测层提供三个不同大小的特征图。因此在三个不同的尺度上产生检测输出,并组合在一起作为最终输出。YOLOv3的训练损失由定位损失、分类损失和置信度损失组成:

其中,前两项是定位损失,后两项是分类损失,最后一项是置信损失。

4.3、Domain Adaptive YOLO(基于YOLO的域自适应)

4.3.1、Regressive Image Alignment(回归图像对齐)

1在Chen等人(2018)的研究中,图像级对齐被证明是一种有效的域自适应方法。然而由于梯度消失,仅对最终特征图(final feature map)中的特征进行对齐,无法充分消除域漂移。因此,Xie等人(2019)和Hnewa和Radha(2021)都提出在中间特征图上使用额外的领域分类器,这被证明是一种有效的方法。然而正如Saito et al.(2019)所指出的那样,对于那些具有大感受野(large receptive field)的特征,即特征提取器后半部分的特征,如果进行过于强烈的匹配(strong matching),在处理大的领域偏移时可能会导致负迁移(negative transfer)。负迁移是指源领域的模型在目标领域上的性能不仅没有提升,反而下降了。负迁移的原因:大感受野的特征通常捕捉了更多的上下文信息,这些信息在源领域和目标领域之间可能差异很大。如果这些特征被过于强烈地匹配,那么模型可能会过度适应源领域的特定上下文,而忽略了那些对目标领域更重要的、更加通用的特征。

2为了解决这个问题,我们提出了回归图像对齐(RIA)。我们首先像以前的工作一样将多个域分类器应用于中间特征图和最终特征图。然后当这些分类器采用更深的特征图作为输入时,我们为这些分类器分配递减的权重。RIA 损失函数可以写为:

其中,Φ(u,v)i,k 表示第 i 个图像对应的位于二维坐标 (u, v) 处第 k 个特征图的激活函数输出值。fk 表示域分类器。Di 是第 i 个训练图像的域标签,在有监督的源领域Di通常是1;在无监督的目标领域Di通常是 0。λk 表示分配给域分类器的权重,随着 k 增加(即从浅层到深层),λk​ 会减小,这意味着对深层特征的对齐强度会减弱,以避免负迁移。RIA 完全适应骨干特征提取器,同时减少可能的负迁移。fk(Φ(u,v)i,k这是第 k 个领域分类器的输出,它预测特征激活值 Φ(u,v)i,k 来自源领域的概率。

4.3.2、Multi-Scale Instance Alignment(多尺度实例对齐)

Hnewa和Radha(2021)是第一个在单阶段检测器中引入对抗性域适应的工作,但只是初级的。因为它没有考虑实例对齐,这与Chen等人(2018)所展示的图像对齐效果差不多。对于单阶段检测器来说,实例对齐是一项具有挑战性的任务,因为实例特性不像在两阶段检测器中那样可以随意得到。我们提出了多尺度实例对齐(MSIA)来解决这一挑战。具体来说,我们从YOLOv3的三个不同尺度检测层中提取检测结果,并使用ROI池从相应的特征图中提取实例级特征。通过访问实例特性,我们可以合并实例对齐丢失,它可以写为:

其中,pki,j 表示第 i 个图像中第 k 个尺度的第 j 个检测框的概率输出。对齐实例特征有助于消除源域和目标域的感兴趣目标之间的外观、形状、视点的差异。

4.3.3、Multi-Level Consistency Regularization(多级一致性正则化)

通过采用图像和实例对齐,网络能够产生域不变特征。然而它不能保证产生域不变的检测,这对于对目标检测也至关重要。理想情况下,我们期望获得域不变的边界框预测器 P(B|I)。 但实际上,边界框预测器 P(B|D, I) 是有偏差的,其中 D 表示域标签。我们有:

为了减轻边界框预测器偏差,有必要强制执行 P(D|B, I) = P(D|I),这是实例级和图像级域分类器之间的共识。因此,P(B|D, I) 将近似于 P(B|I)。

由于YOLOv3在三种不同尺度上检测目标,我们提出了多级一致性正则化来自适应地检测不同尺度上的目标,可以写为:

其中,|Ik| 表示第 k 个特征图上的激活数量。通过实施这种多级正则化,YOLO 的每个检测层都被鼓励产生域不变检测。

4.3.4、Network Overview(网络概况)

1我们网络的完整架构如下图 1 所示。我们在 YOLOv3 上构建了我们提出的域自适应模块,它们的组合构成了域自适应 YOLO。请注意,所示的架构是专门为训练阶段设计的,而检测器是测试阶段的唯一组件。

2YOLOv3首先使用一系列特征提取器来生成小、中、大尺度的三个特征图。两个连续的上采样层将最后一个特征图(小比例)作为输入,并生成一个新的中型和大型特征图,并与之前的特征图连接起来。最新的三个特征图被输入到检测层并生成最终检测结果。

3RIA模块将三个尺度特征图作为输入,并使用领域分类器来预测它们的领域标签。MSIA模块使用不同的尺度检测来提取实例级特征,并将它们提供给域分类器。通过eq.(2)和eq.(3)计算RIA和MSIA的域分类损失,以适应网络。最后通过MLCR模块对相应的图像级和实例级域分类器进行正则化,监督网络生成域不变检测。

完整的训练损失函数如下:

其中,λ为平衡域自适应损失影响的超参数。这种域适应损失被GRL逆转来进行对抗性训练。

5、Experiments

在本节中,我们对提出的DA-YOLO模型在三种域适应场景下进行了评估:

1)从晴朗到有雾(from clear to foggy):源域是晴天采集的照片,目标域是雾天。

2)从一个场景到另一个场景(from one scene to another):源域和目标域包含不同场景下不同相机拍摄的照片。

3)从合成到真实(from synthetic to real):源域是电脑游戏中的图像,目标域是现实世界。

5.1、Datasets

5.1.1、Cityscapes(2016)

收集了50个不同城市良好/中等天气条件下的城市街景。它有30个类别的5000张注释图像。

5.1.2、Foggy Cityscapes(2018)

使用Cityscapes的相同图像模拟雾蒙蒙的场景,使其成为领域适应实验的理想选择。它从Cityscapes中继承了相同的注释。

5.1.3、KITTI(2015)

通过在中型城市卡尔斯鲁厄、农村地区和高速公路上驾驶来收集图像。它有14999张图片,包括 person 和 car 等类。在我们的实验中,我们只使用 car 的 6684 个训练图像和注释。

5.1.4、SIM10K(2016)

从一款名为侠盗猎车手 V(GTA V)的视频游戏中收集合成图像。它总共有 10,000 张图像和注释,主要是针对汽车的。

5.2、Protocols

我们报告了每个类别的平均精度(AP)和平均平均精度(mAP),评估阈值为0.5。为了验证我们提出的方法,我们不仅报告了网络的最终结果,还报告了不同变体(RIA, MSIA, MLCR)的结果。我们使用原始的YOLOv3作为基线,它在源域数据上进行训练,而不使用域适应。通过使用带注释的目标域数据训练YOLOv3,我们展示了理想的性能(oracle)。我们还将我们的结果与基于Faster R-CNN的现有SOTA方法进行了比较。

5.3、Experiments Details

实验遵循传统无监督域自适应设置。源域提供了完整的注释,而目标域没有。每一个训练批次由来自源域的一张图像和来自目标域的一张图像组成。每个图像被调整为宽度416和高度416,以适应YOLOv3网络。我们的代码是基于PyTorch实现的YOLOv3和Domain Adaptive Faster RCNN。在执行自适应之前,使用预训练的权重对网络进行初始化,并且所有超参数保持上述两种实现的默认值。具体来说,骨干特征提取器的学习率为0.001,其余层的学习率为0.01。采用了0.0005权值衰减的标准SGD算法。

5.4、Results

1表1将我们的模型与其他基于Faster R-CNN的模型进行了比较。我们在两个域适应设置中进行了评估,KITTI到Cityscapes和SIM10K到Cityscapes。虽然DAF(2018)是有效的,但它只对Faster R-CNN的最终特征映射进行图像级对齐。MADAF(2019)和MLDAF(2019)对DAF进行扩展,并在骨干特征提取器的不同层次上对齐图像级特征。STRWK(2019)对局部特征进行强对齐,对全局特征进行弱对齐。它们都没有有效地扩展实例对齐模块。我们提出的方法在图像和实例级别上进行多级对齐,实现了17.6%和4.5%的性能提升,领先于其他模型。

2下图2为检测结果示例。在图中,基线模型(仅在源域数据上训练)遗漏了一些汽车,但本文提出的模型可以正确地检测到它们。

3如下图3所示,我们使用 t-SNE 可视化了从Cityscapes到Foggy Cityscapes的域适应中的图像级特征。红色和蓝色分别表示源域和目标域。我们可以看到,左图中源域和目标域的特征明显分离,而右图中源域和目标域的特征更加接近或重叠,这表明模型成功地减少了领域之间的分布差异。因此,与仅源模型(在源域上训练而不进行域适应)相比,我们的自适应模型全局特征对齐得很好。

t-SNE(t-distributed Stochastic Neighbor Embedding)是一种常用的数据可视化技术,它可以直观地观察高维特征在低维空间中的分布情况。

5.5、Ablation Study

1通过Cityscapes对Foggy Cityscapes和KITTI对Cityscapes两种域适应场景的消融研究,验证了三个模块的有效性。性能结果总结在下表2和下表3中。在从Cityscapes到Foggy Cityscapes的任务中,通过对每个图像级域分类器应用同等权重的图像对齐(EIA),我们获得了0.5%的性能提升。

2将MSIA和MLCR进一步汇总,可以分别提高0.4%和1.2%,说明这两个模块是有效的。最后用RIA代替EIA,我们有1.5%的提升。这验证了回归权值分配在图像级自适应中的显著有效性。与常规多级图像对齐方法相比,RIA对图像级域分类器的权重递减。这将强烈匹配局部特征,这对域适应更重要。

3在从KITTI到Cityscapes的任务中,也取得了类似的结果。具体来说,对各个模块进行累加,分别获得5.8%、13.6%、15.4%、17.6%的性能增益。再次验证各模块的有效性。EIA表示每个图像级域分类器具有相同权重的图像对齐。RIA表示三个图像级域分类器的权值递减的图像对齐,即RIA模块。

6、Conclusion

本文提出了一种有效的单阶段跨域自适应DA-YOLO算法。与以往的方法相比,我们在单阶段检测器上建立了域自适应模型。此外,我们还成功地为单阶段检测器引入了实例级自适应。在多个跨域数据集上的充分实验表明,我们的方法优于先前基于Faster R-CNN的方法,并且提出的三个域自适应模块都是有效的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

现场总是发生急停,很可能是PLC和设置间网络中断

如果你的现场总是发生急停,很可能是PLC和设置间网络中断,本文用一个真实案例告诉你问题背后的原因和解决方法! 这是一台生产汽车配件的机器,使用1500F的控制器连接机器人控制器,现场装置总会莫名其妙的发生急停故障。…

部署前后端分离若依项目--CentOS7Docker版

一、准备 centos7虚拟机或服务器一台 若依前后端分离项目:可在下面拉取 RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 二、环…

JavaEE进阶----19.<Mybatis进阶(动态SQL)>

详解动态SQL <if>标签、<trim>标签、<where>标签、<set>标签、<foreach>标签、<include>标签 & <SQL>标签 MySQL&#xff08;进阶&#xff09; 一、动态SQL 也就是SQL语句中指定的属性&#xff0c;若我们不想输入进行查询&…

查缺补漏----分组交换所需时间计算

总结以及图片来源&#xff1a;b站湖科大真题计网讲解 对于报文交换&#xff0c;路由器完整接收整个报文后&#xff0c;才能对报文进行转发。对于分组交换&#xff0c;则是将报文划为更小的分组进行传送&#xff0c;路由器边接收分组边转发分组。 报文交换&#xff1a; 分组交换…

文件上传漏洞及安全

文件上传 文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题&#xff0c;对于如何确保这类安全问题&#xff0c;一般会从原生态功能中的文件内容&#xff0c;文件后缀&#xff0c;文件类型等方面判断&#xff0c;但是漏洞可能不仅在本身的代码…

Java的查找算法和排序算法

Java的查找算法和排序算法 一、查找算法1. 基本查找a. 示例 2. 二分查找a. 示例 3. 插值查找4. 斐波那契查找5. 分块查找a. 示例 二、排序算法1. 冒泡排序a. 示例 2. 选择排序a. 示例 3、插入排序a. 示例 4. 快速排序&#xff08;效率最高&#xff09;a. 示例 一、查找算法 1.…

期权懂|2024年期权最新止损策略有哪些?

本期让我懂 你就懂的期权懂带大家来了解&#xff0c;2024年期权最新止损策略有哪些&#xff1f;有兴趣的朋友可以看一下。期权小懂每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 2024年期权最新止损策略有哪些&#xff1f; 一、浮亏比例…

Pandas模块之垂直或水平交错条形图

目录 df.plot() 函数Pandas模块之垂直条形图Pandas模块之水平交错条形图 df.plot() 函数 df.plot() 是 Pandas 中的一个函数&#xff0c;用于绘制数据框中的数据。它是基于 Matplotlib 库构建的&#xff0c;可以轻松地创建各种类型的图表&#xff0c;包括折线图、柱状图、散点…

PCM5102A具有PLL和32位、384kHz PCM/I2S接口的2.1VRMS、112dB音频立体声DAC

PCM5102A外观和丝印 1 特性 1•超低带外噪声 •具有BCK基准的高性能集成音频锁相环(PLL)&#xff0c;可在内部生成SCK •直接线路电平2.1VRMS输出 •无需隔直电容 •线路电平输出支持低至1kΩ的负载 •智能静音系统&#xff1b;软斜升或斜降搭配模拟静音&#xff0c;实现120dB…

深度学习实战项目】基于OPenCV的人脸识别考勤系统软件开发【python源码+UI界面+功能源码详解】

背景及意义 人脸识别&#xff08;Face Recognition&#xff09;是基于人的脸部特征信息进行身份识别的一种生物识别技术&#xff0c;可以用来确认用户身份。本文详细介绍了人脸识别基本的实现原理&#xff0c;并且基于python与pyqt开发了人脸识别与信息管理软件&#xff0c;主要…

Go第三方框架--gorm框架(一)

前言 orm模型简介 orm模型全称是Object-Relational Mapping&#xff0c;即对象关系映射。其实就是在原生sql基础之上进行更高程度的封装。方便程序员采用面向对象的方式来操作数据库&#xff0c;将表映射成对象。 这种映射带来几个好处&#xff1a; 代码简洁&#xff1a;不用…

AVL树介绍与构建

目录 AVL树的概念 二叉树的构建 平衡因子的更新 旋转 左单旋 旋转过程 左单旋代码 右单旋 旋转过程 右单旋代码 左右双旋 发生情况 抽象图 具体图 平衡因子更新 左右双旋代码 右左双旋 右左双旋旋代码 验证测试AVL树 测试成员函数 测试代码 AVL树实现代码…

使用virtualenv导入ssl模块找不到指定的模块

最近在学习tensorflow&#xff0c;由于教程里面使用的是virtualenv&#xff0c;所以就按照教程开始安装了虚拟环境。但是在使用的时候&#xff0c;卡在了import ssl这一步&#xff0c;提示如下错误 >>> import ssl Traceback (most recent call last):File "<…

兼容Lodash的真正替代者

大家好&#xff0c;我是农村程序员&#xff0c;独立开发者&#xff0c;前端之虎陈随易。 这是我的个人网站&#xff1a;https://chensuiyi.me&#xff0c;欢迎一起交朋友~ 今天给大家分享一个前端工具库 Lodash 的替代品 es-toolkit。 仓库地址&#xff1a;https://github.com…

Android 自定义 Dialog 实现列表 单选,多选,搜索

前言 在Android开发中&#xff0c;通过对话框让用户选择&#xff0c;筛选信息是很方便也很常见的操作。本文详细介绍了如何使用自定义 Dialog、RecyclerView 以及自定义搜索框 来实现选中状态和用户交互&#xff0c;文中大本分代码都有明确注释&#xff0c;主打一个简单明了&a…

A survey of loss functions for semantic segmentation——论文笔记

摘要 图像分割一直是一个活跃的研究领域&#xff0c;因为它有着广泛的应用范围&#xff0c;从自动疾病检测到自动驾驶汽车。过去五年中&#xff0c;各种论文提出了用于不同场景&#xff08;如数据偏斜、稀疏分割等&#xff09;的目标损失函数。在本文中&#xff0c;我们总结了…

NVR监测软件/设备EasyNVR多个NVR同时管理构建智慧城市的大数据解决方案

在当今的数字化时代&#xff0c;安防视频监控已成为各行各业不可或缺的一部分&#xff0c;无论是在智慧工地、智慧工厂、智慧景区还是智慧水利等领域&#xff0c;都需要高效、可靠的监控系统来保障安全。 一、背景需求分析 随着科技的发展&#xff0c;智慧城市建设成为城市发展…

★ 算法OJ题 ★ 前缀和算法(上)

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;将和大家一起做几道前缀和算法题 ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 算法专栏&#xff1a;★ 优选算法100天 ★_椎名澄嵐的博客-CSDN博客 ❄️❄️❄…

毕业设计选题:基于Django+Vue的物资配送管理系统的设计与实现

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录界面 管理员功能界面 申领者管理 后勤处管理 物资信息管理 入库信息管理 …

i春秋web题库——题目名称:SQLi

WEB——SQLi 写在之前&#xff1a;题目简介&#xff1a;题目分析&#xff1a; 写在之前&#xff1a; 本题在CSDN上或是其它博客上有过解答&#xff0c;只不过不知是什么原因&#xff0c;我没有找到解题过程比较完整的文章。于是我决定在CTF初学阶段写一篇这样的博客&#xff0…