KITTI SOTA!Dual Fusion:减少Lidar-Camera融合特征不对齐问题

2023-11-19

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【多传感器融合】技术交流群

后台回复【多传感器融合综述】获取图像/激光雷达/毫米波雷达融合综述等干货资料!

摘要

融合来自相机和激光雷达传感器的数据是实现鲁棒3D目标检测的关键技术。相机-LiDAR融合的一个关键挑战是,在融合两个传感器的特征时,在坐标和数据分布方面缩小两个传感器之间的大区域差距。在本文中,作者提出了一种新的相机-LiDAR融合架构,称为3D Dual fusion,该架构旨在减轻相机和LiDAR数据的特征表示之间的差距。该方法融合了相机视图和3D体素视图域的特征,并通过可变形的注意力对它们的交互进行建模。作者重新设计了Transformer融合编码器,以聚合来自两个域的信息。两个主要变化包括:1)基于双重查询的可变形关注,以交互方式融合双重域特征;2)在双重查询解码之前,3D局部自关注,以编码体素域查询。实验评估结果表明,所提出的相机-LiDAR功能架构在KITTI和nuScenes数据集上取得了具有竞争力的性能,在某些3D目标检测基准类别中具有SOTA性能。

介绍

3D目标检测器根据传感器数据识别3D世界坐标系中目标的存在、位置和类别。相机和LiDAR传感器都为3D 目标检测提供了有用的信息。这两个传感器具有明显不同的特点,因为它们使用不同的物理源和测量过程。相机传感器提供密集的视觉信息,如他们的颜色,纹理和形状,而激光雷达传感器产生准确但相对稀疏的距离测量。因此,这些传感器表现出不同的行为和性能特点取决于场景和目标条件。相机-激光雷达传感器融合旨在结合两种传感模式提供的互补信息,实现强大的3D目标检测。

最近,深度神经网络(DNN)模型在3D目标检测任务中取得了相当大的成功,并且为基于激光雷达的3D目标检测开发了许多 DNN 架构。这些检测器使用主干网络对激光雷达点云进行编码,并根据编码器获得的特征对目标进行检测。基于体素的编码是一种广泛使用的 LiDAR 编码方法,它在3D空间中对 LiDAR 点进行体素化,并对每个体素中的点进行编码[1] ,[2]。相机图像也为3D 目标检测提供了有用的信息。将卷积神经网络(CNN)模型应用于相机图像所获得的视觉特征也可以用于执行3D目标检测。为了充分利用多个传感器提供的多样化信息,提出了一种特征级融合策略,将体素特征和相机特征结合起来进行3D目标检测。然而,这些方法涉及两个特征在不同的坐标域(即相机视图与体素域)中表示的挑战,因此其中一个坐标表示必须对齐并适应到另一个坐标表示中,而不会丢失原始域的信息。因此,开发减少这样的域间隙聚合双域特征是提高相机-激光雷达传感器融合方法性能的关键。

现有的相机-激光雷达融合方法在点级、特征级和proposal级采用了各种域变换策略。点级融合方法[4]-[6]将从相机图像中获得的语义信息投影到3D空间中的激光雷达点上,并将数据与点级激光雷达特征相结合。这些方法的一个局限性是激光雷达数据不能像相机特征那样在同一语义层次上参与融合。proposal级融合方法[6]-[8]从相机图像和每个proposal相关的激光雷达点生成2D 检测proposal。然后,将相机特征和激光雷达特征进行融合,完善每个proposal。然而,这些方法的性能受到所生成proposal的准确性的限制。特征级融合方法[9]-[15]设计用于从相机图像和激光雷达数据中分别提取语义特征,并在体素域中进行聚合。MMF [9] ,ContFuse [10] ,PointAugmenting[11] ,EPNet [12]和3D-CVF [13]使用标定矩阵将图像特征转换为体素域,并进行元素特征融合。Transfusion[14]和AutoAlign[15]采用了Transformer的注意力机制,将相机视图域中的相机特征的相关部分合并到体素域。

本文旨在通过缩小相机特征和激光雷达特征之间的域间距来提高传感器融合的效果。作者提出了一个新的相机-激光雷达融合架构,称为3D Dual-Fusion,为3D目标检测。该方法的核心思想是双域交互式特征融合,即将相机域特征和体素域 LiDAR 特征相互转换,同时在每个域内进行融合。为此,作者设计了一个由3D局部自注意力和双查询变形注意力组成的Dual-Fusion Transformer结构。首先,3D局部自注意力利用自注意力对每组非空体素中的体素域特征进行编码。双查询变形注意力使用两种查询(称为双查询)通过多层变形注意力逐步细化相机域特征和体素域特征。

b7dd05d5bf8742c01e7e99fb7e72a358.png

如果特征转换在特定阶段只执行一次,并且不执行其他域之间的后续交互,则该策略可以保留可能丢失的信息。这种相机视图和体素域之间的协同特征融合产生了强大的密集鸟瞰图(BEV)特征图,可以由任何现成的3D 目标检测进行处理。所提出的双域特征融合的关键概念如下图3所示。作者评估了3D Dual-Fusion在两个广泛使用的公共数据集上的性能,包括 KITTI 数据集[16]和 nuScenes 数据集[17]。作者表明,所提出的3D Dual-Fusion,比其他相机-激光雷达融合方法和官方 KITTI 和 nuScenes 排行榜记录,实现了一个显著的性能改善。

e902f0de70fd2dc2d5e8af5ab7807c5d.png

本文具体贡献如下:

  1. 作者提出了一种新的相机-激光雷达传感器融合的双查询可变形注意力结构。原有的可变形注意力结构在支持交叉注意力融合多模态特征方面受到限制。为了解决这个问题,作者引入了双查询的概念,它可以通过变形注意力实现跨域特征的同时聚合。

  2. 作者利用激光雷达点的稀疏性来降低3D Dual-Fusion的计算复杂度和内存使用。作者只为非空体素和从这些体素投影出来的相机特征的相应像素分配双查询。因为只有一小部分体素是非空的,所以用于双域交互式特征融合的查询数量要比整个体素的大小小得多。此外,采用可变形注意力结构的3DDual-Fusion结构相对于全局注意力结构是轻量级的。

  3. 与 TransFusion 探测头相结合后[14] ,拟议的3D 双重融合方法在某些类别的 KITTI 和 nuScenes 基准上实现了最先进的性能。

  4. 这项工作中使用的源代码将公开发布。

相关工作

激光雷达的3D 目标检测

许多架构已经被提出来执行基于激光雷达点云的3D 目标检测。有两个著名的主干网络来编码 LiDAR 数据,包括基于体素的[1] ,[2] ,[18]和基于 PointNet++ 的主干网络[19]-[21]。基于体素的主干网使用体素或柱体结构对 LiDAR 点进行分区,并对每个网格元素的点进行编码。相比之下,基于 PointNet++ 的主干网使用最远点采样算法对点进行分组,并以分层的方式增加点特征的语义级别。最近,Transformer模型已经被用来编码激光雷达点云[22] ,[23]。

相机-激光雷达3D目标检测融合

迄今为止,各种相机-激光雷达传感器融合方法已被提出,以实现强大的3D目标检测。这些方法大致可以分为点级、特征级和proposal级融合方法。点级融合增强了从相机图像中获得的语义信息,从而增强了从激光雷达数据中提取的点特征。MVXNet [4]转换了从2D 目标检测器提取的视觉特征,而 PointPainn [5]和 FusionPainn [24]将语义分割掩码转移到 LiDAR 点。proposal级融合依赖于通过处理单个传感器获得的检测proposal来实现传感器融合。RoarNet [25] ,F-PointNet,[8]和 PointFusion [7]预测了基于相机图像的2D检测proposal,并使用proposal关联相应的 LiDAR 点平截头体。MV3D[26]和AVOD[27]使用LiDAR数据预测了3D检测proposal,并收集了与每个3D框proposal相对应的相机和LiDAR特征。特征级融合从两个传感器收集的数据中提取特征,并通过域变换将其聚合。EPNet[12]和3D-CVF[13]通过将在不同尺度上获得的图像特征转换到相机域,增强了LiDAR特征的语义信息。MMF[9]和ContFuse[10]使用连续卷积来融合从每个传感器获得的多尺度卷积特征图。VFF[28]提出了一种射线融合,以利用体素场中的补充上下文。最近,DeepFusion[29]、AutoAlign[15]和TransFusion[14]使用Transformer架构动态捕捉相机和LiDAR特征之间的相关性。C.可变形DETR回顾可变形DETR[30]使用局部注意力机制以低计算复杂性实现了Transformer注意力[31]。可变形的注意力只关注参考点周围的一小组关键采样点。为了简洁起见,作者跳过了可变形核的多尺度项。给定输入特征映射,让q用特征和参考点pq索引查询。可变形注意力由

545526903c5e9166606a06062e0bc574.png

其中M表示注意力头部,k表示采样键,K表示采样键的总数。和表示可学习投影矩阵。根据查询特征预测的注意力权重在[0,1]范围内,是参考点的预测偏移,()是位置的输入特征。在这项研究中,作者定制了可变形DETR,以支持提出的相机和激光雷达特征的双域融合。

3D Dual-Fusion

总体架构

所提出的3D Dual-Fusion的总体架构如下图2所示。相机图像由标准CNN主干编码,其中和分别表示相机图像的宽度和高度。在多视图相机设置中,CNN分别对多个相机图像进行编码。LiDAR点云也由体素编码主干进行编码,其中N是LiDAR点数。使用宽度、长度和高度的体素网格结构对LiDAR点进行体素化。从[2]中采用了体素编码主干的结构。作者还使用了DeepLabV3[32]的CNN主干。体素编码主干网络产生体素域LiDAR特征。CNN主干网络产生相机域图像特征。

dab1a8a6ef2e3b17b7b2d25a865baa9f.png

体素域LiDAR特征和相机域图像特征被馈送到Dual-Fusion变换器中。在此之前,通过自适应门控融合网络(AGFN)增强相机域图像特征。AGFN将体素域LiDAR特征投影到相机域,并将其与相机域特征相结合。作者将AGFN增强的特征表示为。Dual-Fusion变换器应用3D局部自注意力(3D-LSA)和双查询可变形注意力(DDA)来融合和。非空体素中的体素域特征首先通过3D局部自注意力进行编码。然后,DDA通过交叉注意力和双重查询在相机视图和体素域中同时进行特征融合。在多个关注层之后,最终的体素域特征被转换为鸟瞰图(BEV)特征[2]。BEV特征通过检测头以生成3D边界框和分类分数。注意力,3D Dual Fusion的整个网络是端到端可训练的。

双重查询

双重查询包括相机查询(c-Query)和体素查询(v-Query)。假设LiDAR体素化步骤产生Q个非空体素,其中Q可以根据输入点云的分布而变化。v查询,,,,,、被分配给非空体素,并用于细化其体素域特征。c查询,,,,,、被分配给通过将非空体素的中心点投影到相机域中所指示的图像像素,并用于细化图像域特征。

3D局部自注意力

在开始时,使用非空体素中的Li-DAR特征初始化v查询。自注意力层通过对v查询的空间关系进行建模,对其进行连续编码。由于全局自注意力是计算密集型的,因此设计了3D局部自注意力以减少局部区域内的关注范围。通过对非空体素的中心点应用最远点采样算法[19],将其聚类为局部区域。作者在每个局部区域的中心周围的固定半径内找到K个体素。设å’Œ分别是一组查询特征和分配给质心的3D位置。然后,3D-LSA模块以以下公式执行自注意力:

020c6f04be42ba8355eedd3fdcddaee9.png

其中,,和分别代表查询矩阵、键矩阵和值矩阵,l是L层Transformer块的索引,d是标准化点积注意力的缩放因子。FFN(·)表示位置前馈网络,是位置编码函数,通过FFN对两个3D坐标和的差值进行编码。如果半径中非空体素的数量大于K,作者随机选择K个体素。与一组K个体素相关联的v查询由自注意力单独编码[31]。在多个自注意力层之后,输入的v查询,,,由新的v查询,,,更新。

跨注意力双查询

原始的可转换注意力[30]仅支持单个模态上的注意力,因此需要进行一些修改以支持2D和3D模态上的联合注意力。DDA的结构如前面图3所示。让q索引Q个非空体素。考虑第q个非空体素的中心点处的3D参考点。相应的2D参考点,,通过在相机域上投影并在像素网格上对其进行量化来确定。在多视图相机设置中,可以投影到多个图像上。在这种情况下,仅选择单个图像进行投影。为了保持一致性,作者将相机选择在自我车辆行驶方向的最右侧。c查询由参考点指示的相机域特征初始化。v查询是从3D局部自注意获得的。

深度感知位置编码首先应用于v查询和c查询。不是在原始可变形DETR中使用基于(u,v)的编码,而是基于的深度x来计算位置嵌入,

a7809f938acdd4f515fdc5119c3cf1af.png

其中i和分别是查询向量的索引和维度。然后将这种深度感知位置嵌入添加到两个查询中。双查询交叉关注解码多个关注层上的双查询和。首先,使用相机特征作为关键字和值,将可变形注意力应用于转换c查询。对于给定的2D参考点,将具有自适应偏移和权重的可变形掩模应用于相机域特征。掩模偏移和掩模权重确定为

9d935d98a45ce67009db7c08d660abab.png

其中+表示逐元素求和,FFN表示前馈网络。注意力,掩码权重是使用v查询和c查询确定的。该设计旨在通过基于体素区域和相机区域特征确定关注权重来增强特征融合的效果。给定偏移和权重,注意力值,,计算为

6734538cf41807b0b3751e91a73540fb.png

其中M为注意力头,k为采样键,K为采样键的总数。å’Œ表示可学习投影矩阵。查询和由门控融合机制进一步转换[41]。也就是说,和以不同比率进行融合:

d7e629cdc6b130bb2542222508cefe87.png

其中,×表示元素乘法,σ(·)是S形函数,Conv1(·)和Conv2(·)为具有不同权重的卷积层。注意力,由于组合比率是和的函数,因此组合比率可根据输入特征自适应调整。最后,DDA生成解码查询和。它们用作下一个Dual Fusion Transformer层的输入查询。

E.自适应门控融合网络

AGFN将LiDAR特征投影到相机域,并将投影的特征与相机特征融合。AGFN还使用门控融合机制结合了两个特征[41]。AGFN通过以下操作

4669ab68137553582c6b51f6dc78ed96.png

其中T(·)表示摄像头域上的投影,而⊕表示串联操作。

实验

在本节中,作者评估了KITTI数据集[16]和nuScenes数据集[17]上3D Dual-Fusion的性能。实验设置等细节请参考原文。

主要结果

KITTI :作者在KITTI测试集上评估了所提出的3D Dual-Fusion的性能。下表I将3D Dual Fusion的检测精度与排行榜中排名靠前的其他3D目标检测器的检测精度进行了比较。在作者的比较中,作者包括了仅LiDAR和基于相机LiDAR融合的方法。作者没有包括使用多帧序列数据的方法。其他3D检测方法的性能是从KITTI官方排行榜上获得的。表I显示,对于3D目标检测任务,3D Dual-Fusion在所有容易、中等和困难类别的候选项中取得了最佳性能。对于BEV目标检测任务,3D Dual Fusion仅在中等类别中获得最佳性能,在其他类别中获得竞争性能。特别是,3D Dual Fusion提供了超越当前最佳方法Focals Conv的最新性能。与仅基于LiDAR的基线Voxel R-CNN相比,提出的传感器融合方法。

0a19afdcce90212356fae76df022793b.png

在3D目标检测任务的简单、中等和硬类别上分别提高了0.11%、0.78%和2.33%。值得注意力的是,硬类别的性能增益要大得多,这表明传感器融合在检测困难物体方面特别有效。

nuScenes :作者还评估了nuScenes测试集和val集上3D Dual Fusion的性能。下表II显示了nuScenes排行榜中顶级3D目标检测器的检测精度比较。在mAP和NDS之上,作者为每个目标类类别使用AP度量。3D Dual Fusion(T)和3D Dual Fusion(C)都与最新的3D目标检测方法具有竞争力。特别是,3D Dual-Fusion(T)在mAP和NDS度量方面优于所有其他3D目标检测方法。与当前SOTA的BEVFusion相比,3D Dual Fusion(T)的mAP性能提高了0.4%,NDS性能提高了0.2%。与CenterPoint基线相比,3DDual-Fusion(C)提供了4.2%的NDS增益和7.6%的mAP增益[42]。3D Dual Fusion(T)与Transfusion基线相比,mAP增加1.7%,NDS增加1.4%[14]。这种性能改进是通过向TransFusion的检测头提供通过所提出的双域融合增强的密集特征图来实现的。

45590c812baa215a270e622fb1b9e8f1.png

性能分析

消融研究 :下表III评估了3D Dual Fusion每个模块对其整体性能的贡献。作者提供了KITTI和nuScene数据集的评估结果。

1bde3008baaebb5e9df47fe85aea0d37.png 49db8fe651d6599549bf51cd43a3fecd.png

下表V显示了针对三个不同距离范围内的物体评估的3D双融合(C)性能。

3141c361c4602ede8542d98b091feba0.png

位置编码 :下表VI显示了深度感知位置编码方法的有效性。作者将基于深度的位置编码与原始可变形DETR中使用的基于(u,v)的位置编码进行了比较。表VI显示,与基于(u,v)的编码相比,所提出的深度感知位置编码实现了mAP的1.5%改进和NDS的1.6%增益。这似乎是因为所提出的位置编码为DDA提供了深度感,允许更好地利用视觉上下文特征。

9ea3b010fa2bf9cfd656ceebb3e0034a.png

DDA行为分析 :表VII和表VIII分别显示了KITTI验证集和nuScene验证集上解编码器层数量的性能趋势。在KITTI数据集中,随着层数增加到4,性能逐渐提高。由于GPU内存的限制,作者无法尝试超过4层。在nuScenes数据集中,前两层的性能快速提高,之后停止。这表明,作者的双重查询注意力逐渐提高了用于3D目标检测的特征的质量。表IX比较了作者的双摄像头查询和单摄像头查询。单相机查询意味着只有相机查询通过可变形的注意力进行更新。具体而言,可变形遮罩偏移和权重仅由摄影机查询确定。在没有门控融合的情况下,DDA通过将变形关注的输出添加到体素查询来生成更新的相机查询。注意力,在nuScenes上,双摄像头查询的mAP和NDS性能分别比单摄像头查询高2.4%和0.9%。在表X中,作者研究了在DDA中使用门控融合块的益处。作者比较了不同的查询融合方法:1)级联、2)求和和3)门控融合。作者观察到,与其他两种查询融合方法相比,门控融合块实现了显著的性能提升。

6e5bb13bfb1d2c4116cace663c4babe9.png cc6933a6f2ed416489ed95af090ba6e2.png

结论

在本文中,作者提出了一种新的用于3D目标检测的相机-激光雷达融合方法,称为3D Dual-Fusion。作者引入了双域特征融合的概念,其中相机和LiDAR特征以交互方式聚集在体素和相机域中。为此,作者设计了一个3D Dual-Fusion变换器,它使用双查询通过多个注意力层聚合相关的相机和激光雷达特征。作者设计了一种新颖的双查询交叉注意力,通过解码双查询实现同时的双域特征融合。作者还添加了3D局部自注意力和自适应门控融合网络,以进一步提高性能。作者对KITTI和nuScenes数据集进行的评估证实,与基线方法相比,所提出的想法提供了显著的性能提升,并且所提出的3D Dual Fusion在基准测试中实现了SOTA的性能。

参考

[1] 3D Dual-Fusion: Dual-Domain Dual-Query Camera-LiDAR Fusion for 3D Object Detection

国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

bdd2127c3b861747ab79ceb3a3a31dd4.jpeg

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

c94768e006e0f8f638858e9aacaeb220.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

KITTI SOTA!Dual Fusion:减少Lidar-Camera融合特征不对齐问题 的相关文章

随机推荐

  • Linux USB摄像头使用

    Linux USB摄像头使用 一 使用V4l2工具调试摄像头 1 v4l2 ctl 常用操作 安装V4l2工具包 sudo apt install v4l utils 通过v4l2查看摄像头设备 sudo v4l2 ctl list dev
  • 在Java中产生随机数的两个方法

    一 利用random方法来生成随机数 在Java语言中生成随 机数相对来说比较简单 因为有一个现成的方法可以使用 在Math类中 Java语言提供了一个叫做random的方法 通过这个方法可以让系统产生随机 数 不过默认情况下 其产生的随机
  • C语言多级指针含义归纳

    前言 今天在实习二叉排序树的结点删除时 用到了三级指针 一下子有些困惑了 一番思考 才觉得对指针的理解更透彻了 条理地总结一下 从多个角度来分析 可以让思路更清晰 不同角度的含义单独来看不复杂 但是组合在一起就容易使我们陷入困惑 理解了各个
  • ctfshow_web175

    此文章是为了记录本人对知识理解 如有错误望敬请指出并谅解 打开场景可以看到在本题中 页面的拦截方式做了改变 检查结果是否有flag if preg match x00 x7f i json encode ret ret msg 查询成功 x
  • C语言写游戏——扫雷

    实现效果比较简陋 如图 写游戏需要不同的文件构成 首先看一下资源管理器清楚框架结构 在test c文件里编写整个游戏的运行逻辑 具体代码 define CRT SECURE NO WARNINGS 1 include game h 测试游戏
  • 数据决定AIGC的高度,什么又决定着数据的深度?

    有人曾言 数据决定人工智能发展的天花板 深以为然 随着ChatGPT等AIGC应用所展现出的强大能力 人们意识到通用人工智能的奇点正在来临 越来越多的企业开始涌入这条赛道 在AIGC浪潮席卷全球之际 数据的重要性也愈发被业界所认同 之所以会
  • Linux-挖矿木马清理

    一 什么是挖矿木马 挖矿木马会占用CPU进行超频运算 从而占用主机大量的CPU资源 严重影响服务器上的其他应用的正常运行 黑客为了得到更多的算力资源 一般都会对全网进行无差别扫描 同时利用SSH爆破和漏洞利用等手段攻击主机 部分挖矿木马还具
  • ConstraintLayout系列:ConstraintLayout实现左右均分布局

    效果图 关键代码 android layout width 0dp 0dp在ConstraintLayout中的含义是match constraint 完整代码
  • CTex的基本用法

    主要内容 Latex简介 命令和环境 文档排版和组织 普通文本编辑 数学公式编辑 图形 插图 表格 文献等的编辑 一 Latex简介 1 概述 首先要从TEX介绍起 TEX是斯坦福大学的教授Donald E Knuth 图灵奖获得者 开发的
  • django.db.utils.DataError: (1406, “Data too long for column ‘name‘ at row 1“)

    报错现象 django db utils DataError 1406 Data too long for column name at row 1 排除故障 当时第一反应是上网百度 结果搜出来的结果都是改字符集 但明显我这个和字符集关系不
  • 单片机语音识别原理

    语音识别是一门交叉学科 近二十年来 语音识别技术取得显著进步 开始从实验室走向市场 人们预计 未来10年内 语音识别技术将进入工业 家电 通信 汽车电子 医疗 家庭服务 消费电子产品等各个领域 语音识别听写机在一些领域的应用被美国新闻界评为
  • 基于SSM框架的多文件上传Controller类编写

    前端代码
  • Spring Boot 从Json静态文件中读取数据

    Spring Boot 从Json静态文件中读取数据 在实体中 通常使用类似字典表的文件来表示属性 文件大都配置在配置文件中 也可以是静态文件 本次记录如何从静态json文件中读取所需字段 1 文件格式以及路径 2 加载文件 import
  • QT进程间通信 详细介绍

    在QT中 信号和槽的机制取代了这种繁杂的 易崩溃的对象通信机制 信号是当对象状态改变时所发出的 槽是用来接收发射的信号并响应相应事件的类的成员函数 信号和槽的连接是通过connect 函数来实现的 AD 1 QT通信机制 为了更好的实现QT
  • MVC三层架构

    1 什么是MVC Model View Controller 模型 视图 控制器 模型就是Java对应数据库的那些字段 实体类 视图 就是JSP页面 控制器 就是Servlet负责跳转页面 Controller作用 Controller其实
  • Android addview—动态添加view

    一 前言 在日常的开发中经常遇到需要动态添加子view的情况 addview是ViewGroup的特有方法 可以在布局中动态添加view 而view是不存在这个方法的 二 使用方式 1 方法介绍 addview有以下几种方式 addView
  • vue+websocket+express+mongodb实战项目(实时聊天)(二)

    原项目地址 vue websocket express mongodb实战项目 实时聊天 一 http blog csdn net blueblueskyhua article details 70807847 github地址 https
  • JAVA按钮编程_Java编程实现swing圆形按钮实例代码

    Swing是一个为Java设计的GUI工具包 Swing是JAVA基础类的一部分 Swing包括了图形用户界面 GUI 器件如 文本框 按钮 分隔窗格和表 Swing提供许多比AWT更好的屏幕显示元素 它们用纯Java写成 所以同Java本
  • Linux——pthread_create()

    1 pthread create pthread create是 Unix Linux Mac OS X 等操作系统的创建线程的函数 它的功能是创建线程 实际上就是确定调用该线程函数的入口点 在线程创建以后 就开始运行相关的线程函数 函数原
  • KITTI SOTA!Dual Fusion:减少Lidar-Camera融合特征不对齐问题

    点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 多传感器融合 技术交流群 后台回复 多传感器融合综述 获取图像 激光雷达 毫米波雷达融合综述等干货资料 摘要 融合来自相机和激光雷达传感器的数据是