自动驾驶3D目标检测综述(三)
前两篇综述阅读理解放在这啦,有需要自行前往观看:
第一篇:自动驾驶3D目标检测综述(一)_3d 目标检测-CSDN博客
第二篇:自动驾驶3D目标检测综述(二)_子流行稀疏卷积 gpu实现-CSDN博客
本篇是第三篇,从第四章开始介绍。
目录
一、单目3D目标检测
(一)仅基于图像的单目3D目标检测
1、单阶段基于锚点的方法
2、单阶段无锚点的方法
3、两阶段方法
4、潜力和挑战
(二)深度信息辅助的单目3D目标检测
1、基于激光雷达伪图像的方法
2、潜力和挑战
(三)先验引导的单目3D目标检测
1、目标形状
2、几何一致性
3、时间限制
4、分割
5、潜力和挑战
二、基于立体图像的3D目标检测
三、多视角3D目标检测
第四章 基于相机的3D目标检测
在这个章节主要介绍一些基于相机的3D目标检测的方法,分别会回顾和分析单目3D目标检测(又分为仅基于图像、深度信息辅助和先验引导的方法)、基于立体图像的3D目标检测和多相机下的3D目标检测方法。首先看一张基于相机3D目标检测方法的总体回顾图。

由图可以看到,基于立体图像和先验引导的3D目标算子最早被提出(2015年),紧接着是深度信息辅助的算子(2018年),再是仅基于图像的算子(2019),最后是多相机的3D目标算子(2021)。其中基于先验引导的算子方法最多,截止2022年共有19种不同的方法提出;基于多相机的算子方法最少,截止2022年仅有两种方法,分别是DERT3D和ImVoxelNet。
一、单目3D目标检测
单个图像所提供的深度信息有限(甚至可以说从单图像上无法获取深度信息),这也就导致了在3D空间中使用单图像进行目标检测非常困难。主要困难还是准确地预测3D目标的位置。虽然科学家们也在解决这个问题方面做出了很大的努力,例如例如几何约束和形状先验的方法从图像中推断深度信息,但问题仍未得到很好解决。单目的3D检测方法依旧比基于雷达的方法效果更差,这也是由于3D定义的能力较差,这也为整个研究界留下了一个开放性的挑战。
(一)仅基于图像的单目3D目标检测
启发于2D的检测方法,单目3D目标检测的一种直接的解决方案就是通过卷积神经网络从图像中回归得到3D边界框参数。这种直接回归的方法也就很自然地向2D检测网络架构借用了一些设计思路,并且能够以端到端的方式进行训练。这些方法能够被分为单阶段/两阶段或者基于锚点/无锚点的方法。仅基于图像的单目3D检测方法示意如下图所示:

可以看到分别是单阶段基于锚点的方法、单阶段无锚点和两阶段的方法。下面会详细介绍。
下图是这两种方法分类图:

1、单阶段基于锚点的方法
基于锚点的单目检测方法依靠的是一种置于每一个图像像素的2D到3D锚点框,并且使用了一种2D卷积神经网络从锚点中回归得到目标参数。每一个像素表示为[u,v],3D锚点框[,
,
,
]
,分别代表宽(width)、高(height)、长(length)和偏转角度。2D边界框[
,
]
,分别表示宽和高,深度信息锚点
是预先定义好的。一张图像首先通过卷积网络预测3D边界框的偏移量
=[
,
,
,
,
,
,
,
]和2D边界框偏移量
=[
,
,
,
]。于是,2D边界框
=[x,y,w,h]可以解码为:
[x,y]=[u,v]+[
,
]
[
,
]
,
[w,h]=
3D边界框可以解码为:
,
,
,
其中[,
]是图像平面上的投影目标中心。最后,投影中心及其深度信息一起被转换成3D目标的中心
:
其中K和T是摄像头的内参数和外参数。
2、单阶段无锚点的方法
单阶段无锚点的单目检测方法不借助锚点的辅助从图像中预测3D目标的各种属性。图像首先经过一个2D卷积神经网络然后再应用多个检测头单独预测目标的属性。检测头通常包含一个预测目标种类的种类检测头、一个预测大致中心点[u,v]的关键点预测头、一个基于中心点来预测中心偏移offset[,
]的偏移检测头、一个预测深度偏移
的深度检测头、一个预测目标尺寸[w,h,l]的尺寸检测头和一个预测目标偏转角
的航向角检测头。三维目标的中心点[x,y,z]可以由投射中心[
,
]和深度信息
得到:
这里的指的是sigmoid函数。目标的偏航角
可以由观察角
转换得到:
3、两阶段方法
两阶段单目检测方法通常是将传统的两阶段二维目标检测框架延伸到三维目标检测上。具体来说就是在第一阶段使用二维的检测器从输入特征图中生成二维边界框,然后在第二阶段通过从二维ROI中预测三维目标参数将二维边界框拓展到三维空间中。
4、潜力和挑战
这种仅基于图像的方法旨在通过修改的二维目标检测框架从图像中直接回归得到三维边界框参数。由于这些方法是从二维检测方法中获取灵感的,故它们也就自然地受益于二维目标检测和基于图像的网络架构的进步。大部分的方法可以不进行预训练和置后处理从而端到端的进行训练,而这是非常简单和高效的。
这种方法的关键挑战就是对于每个目标能够精准预测其深度信息。然而,基于单目图像的深度评估是一个非常困难的问题,并且这个问题也会因为只有边框级别的监督信号而变得越来越严重。
(二)深度信息辅助的单目3D目标检测
在单目三维目标检测中深度评估是非常困难和具有挑战性的,为了能够得到更加精确的结果,许多文章中都采用了预训练的辅助性深度评估网络。具体一点就是单目图像首先经过一个预训练的深度评估器生成深度图像,接下来有两种处理单目图像和深度图像的方法:基于深度图像的方法融合图像和深度地图,采用一种专门的神经网络生成深度注意特征,这种特征能够增强检测性能。激光雷达伪图像将深度图像转换成一种激光雷达伪图像点云图,基于激光雷达的检测器被应用在点云上以预测三维目标。基于深度信息辅助的单目三维目标检测的大致阐述如下图所示:

这上面主要有三种方法:基于深度信息的单目三维目标检测方法、基于激光雷达伪图像的单目三维目标检测方法和基于碎片化的单目三维目标检测方法。
这些方法的分类如下表所示:

其中2D指的是二维的卷积神经网络,3D是点云的网络。
1、基于激光雷达伪图像的方法
基于激光雷达伪图像的方法将深度图像转换成激光雷达伪图像点云图,之后应用基于激光雷达的检测器从点云图中检测三维目标。Wang等人首先将激光雷达伪图像点云图作为一种数据表示方法引入,他们将深度地图转换成伪点云图
。就是对于深度图像中每一个像素点[u,v]及其深度值d,相机坐标系统下的相应三维点坐标[x,y,z]按照以下公式进行计算:
[]代表相机主点,
分别是水平和垂直坐标轴上的焦距。因此伪点云图D就能够通过在三维空间对深度地图中的每个像素点进行反向投影得到。D用作表示伪激光雷达点云图:其本质上是一种三维点云图但是是从深度图像而非真实激光雷达传感器中提取的。最终,将基于激光雷达的三维目标检测器应用在这种伪激光雷达点云图上来预测三维目标。有许多文章都尝试对其进行改进:有使用颜色信息对这种伪点云图进行增强的、还有引入实例分割的、设计渐进式坐标转换方案的、通过独立前景和背景的预测来增强基于像素的深度评估、从真实激光雷达点云中进行领域适应的以及一种新型物理传感器设计。
还有些人对传统利用伪激光雷达表示进行单目三维目标检测的观点进行挑战。他们进行深度调查并提供了一种有见地的观察:伪激光雷达表示的力量来自于坐标转换而不是点云表示。因此每个像素编码为一个三维坐标的坐标地图就可以通过获得与伪激光雷达点云表示相当的结果。这种观察让我们能够直接在坐标地图上应用二维卷积网络来预测三维目标,这样就省去了采用费时间的基于激光雷达的点云检测器的需要了。
2、潜力和挑战
深度信息辅助的单目三维目标检测方法更加追求通过预训练的深度预测网络来获得准确的深度信息。深度图像表示和伪激光雷达表示都能够很大程度上提高单目检测的性能。然而,与进需要三维边界框释文的仅基于图像的方法相比,预训练的深度预测网络需要更多昂贵的地面实况深度图,并且它也对端到端训练的整体框架产生更大的危害。另外,预训练的深度评估网络泛化能力差,预训练深度图通常在目标数据集上校准较差,尤其是其标准需要根据目标数据集进行调整。因此在用于深度预训练的源域和单目检测的目标域之间存在一条无形的域沟。鉴于驾驶场景通常都多样且复杂,在某一限制域进行的预训练深度网络可能在现实世界表现不那么好。
(三)先验引导的单目3D目标检测
许多方法都尝试通过采用来自图像的目标形状和场景几何的隐式先验知识解决单目三维目标检测方法的问题。先验知识能够通过引入预训练的子网络和辅助性任务获得,且它们能够提供额外信息或限制帮助精准定位三维目标。广泛使用的先验知识包括目标形状、几何一致性、时间限制以及分割信息。先验类型的展示如下图所示:

我们可以看到,形状先验知识通常是一些目标模型,如CAD模型、点线框架、SDF、点云和体素;几何一致性通常是二维到三维边界框一致性、关键点评估、目标高度深度限制、目标间关系和地平面限制;分割信息通常是将图像中不同目标进行分割;时间限制展示的一帧图像前后帧的图像对比。
这种方法的分类表如下:

1、目标形状
许多方法都直接从图像中对三维目标进行形状重建,重建的形状能够被进一步用来决定三维目标的位置和姿态。上述展示图中展示了五种重建表示:CAD(计算机设计辅助模型)、点线模型、SDF(有符号距离函数)、点和体素。
2、几何一致性
给一个外在矩阵,它能够将目标框架下的3D坐标转换成相机框架,并且相机内在矩阵K能够将3D坐标投影到图像平面,目标框架下的三维点[x,y,z]投影成图像像素左边[u,v]可以表示为:
其中d是相机框架下转换后的3D坐标深度信息,上述公式提供了三维点和二维图像像素坐标之间的几何关系,这种关系可以用在支持预测的三维目标与图像上的二维目标之间一致性的许多种方法上。主要有五种集合限制的单目检测:2D到3D边界框一致性、关键点、目标高度到深度关系、物体间关系以及地平面限制。
在某些工作中,最小化重投影误差被用来支持2D到3D边界框的一致性。这些方法引入了后处理步骤来最优化3D目标参数,这通常是在图像上逐渐将3D边界框你拟合到2D边界框。
3、时间限制
三维目标时间关联也能作为一种强有效的先验知识。 时间目标关系已经被用作深度指令和带有三维卡尔曼过滤器的多框架目标融合。
4、分割
图像分割主要在两个方面帮到单目三维检测:在某些工作中,目标分割对实力形状重建至关重要;分割能够揭示图像像素在透视图视角下是否存在于三维目标内部,而这种信息能够帮助定位三维目标。
5、潜力和挑战
通过形状重建能够从图像中获得更多目标形状的细节信息,而这对三维目标检测是非常有帮助的。我们也能通过投影或渲染比较损失获得更多准确的检测结果。然而,对于这种方法仍有两项挑战:形状重建通常需要预训练一个重建网络这样一个额外步骤,这将破坏端到端单目检测管道的训练;其次,目标形状通常从CAD模型而非现实世界获得,这也就导致了增加了一项将重建目标泛化于现实世界场景中去的挑战。
几何一致性广泛应用并且能够提高检测精确度。然而,一些方法将几何一致性表述为一种最优化问题并在后处理中优化目标参数,这是非常耗费时间且破坏端到端的。
图像分割在单目三维检测中是非常有用的信息。然而,训练分割网络需要昂贵的像素注释。额外数据集上的预训练分割模型将会遇到泛化的问题。
二、基于立体图像的3D目标检测
问题和挑战 基于立体图像的三维目标检测旨在通过一对图像检测三维目标。相比于单目图像,一对立体图像能够提供更多用于推测精确深度信息的几何限制。因此,基于立体图像的方法通常能够在检测性能上获得比单目检测更好的结果。然而,立体相机通常需要非常精确的校准和同步,这在实际应用上难以实现。
给予立体图像方法的阐述如下图所示:

这种方法的分类表如下:

立体匹配和深度估计 一个立体相机拍摄一次能够产生一对图像,即左图像和右图像
。通过立体匹配技术,利用多视图几何从成对的立体图像估计视差图。理想状态下,左图像上的每个像素点(u,v)都在右图像上有一个对应的像素点(u,v+p),其中p是视察值。这样两个像素点就在图像上的相同三维位置。最终,多视图也可以通过下面的公式转换成深度图像:
其中d是深度值,f是焦距,b是立体相机的基准线长度。来自图像的基于像素的多视图限制相比于单目深度预测提供了更加准确的深度评估。
基于二维检测的方法 传统二维目标检测框架能够经过修改来解决立体图像检测问题。具体而言,成对的立体图像传入一个基于图像的检测器和Siamese骨干网络分别为左右图像生成左右兴趣区域(RoIs)。在第二阶段左右兴趣区域被融合用于评估三维目标参数。立体R-CNN首次提出拓展二维检测框架到立体三维检测。这种设计样式已经被应用在很多文章中:Qin提出了一种在第二阶段的新颖的立体三角剖分学习子网络;Xu等人通过以目标为中心的立体匹配和实例分割学习实例级差异;Peng等人提出了一种自适应实例级时差估计;Chen等人介绍了一种基于能量的立体三维目标检测框架。
基于伪激光雷达的方法 从立体图像中预测的视差图能够转换成深度图像然后再转为伪激光雷达点。因此,与单目检测方法相似,伪激光雷达表示也能够用于基于立体图像的三维目标检测方法中。这些方法尝试改进立体匹配中的视差估计,以实现更精确的深度预测。You等人在立体匹配网络中引入了一种深度成本量;Qian等人提出了一种端到端立体匹配和检测框架;Kongigshof等人使用语义分割并为分别为前景和背景单独预测视差;Garg等人提出了一种视差估计的Wassertein损失。
基于体积的方法 有许多方法直接跳过伪激光雷达表示并且直接在三维立体体积上执行三维目标检测。DSGN提出了一种从立体匹配网络中衍生出的三维几何体积并在体积上应用一种基于网格的三维检测器检测三维目标。Guo和Wang等人分别通过知识蒸馏和三维特征体积对其进行了改进。
潜力和挑战 与单目检测方法相比,基于立体图像的方法通过立体匹配技术能够获得更精确的深度信息和视差估计,这同样带来了更强壮的目标定位能力且显著提高了三维目标检测性能。然而,辅助性的立体匹配网络也带来了额外时间和内存占用。与基于激光雷达的三维目标检测相比,从立体图像中检测能在自动驾驶场景中够作为一个更便宜的三维感知的解决方案。然而,在基于立体图像和基于激光雷达的三维目标检测方法之间仍存在不可忽视的性能差距。
三、多视角3D目标检测
问题和挑战 自动驾驶车辆通常配备多摄像头以从多视角获取完整的环境信息。最近,多视角三维目标检测迅速发展,一些多视角三维检测方法视图通过投影多视角图像到鸟瞰图来构造一个统一的BEV空间,之后将基于BEV的检测器应用到统一的BEV特征图之上检测三维目标。没有精确的深度信息是很难完成从相机视角到鸟瞰图的转换的,所以图像像素和他们对应的鸟瞰图位置无法完美对齐。如何完成从相机视角到鸟瞰图视角的转换是这种方法的主要挑战。其他方法采用由鸟瞰图视角生成的三维目标查询并且应用跨视图注意的Transformers进行目标查询和多视图图像特征。主要挑战就是如何恰当地生成三维目标查询和在Transformers中设计更多有效的注意方法。
多视角三维目标检测方法阐述如下:

基于BEV的多视角三维目标检测 LSS Philion和Fidler是一项开创性的工作,它提出了一种lift-splat-shoot样式来解决多视角相机的BEV感知问题。LSS主要有三个步骤。Lift:基于堆栈的深度预测被用于图像像素、多视角图像特征被提升至具有深度堆栈的三维截锥。Splat:三维截锥被溅射进一个统一的BEV平面、图像特征以端到端的方式转换成BEV特征。Shoot:下游感知任务在BEV特征图上执行。这种范式已经成功应用于许多下面的工作中:BEVDet使用一种四步骤的多视角检测管道来改进LSS,其中图像视角编码器从多视角图像中编码特征,视角转换器将图像特征从相机视角转换成鸟瞰图,BEV编码器进一步编码BEV特征,最后检测头应用到BEV特征上进行三维检测。Huang等人工作中的主要瓶颈是深度预测,因为这总是不精确的且会导致相机视角到鸟瞰图的不精确特征转换。为了获得更精确的深度信息,许多文章采用最小化从多视角图像和过去帧图像中获取的附加信息,例如Li等人采用显示深度监督,Wang等人引入环绕视角时间立体,Li等人使用东塔时间立体图像,Park等人结合短期和长期时间立体图像用作深度预测。另外,也有些文章(Xie等人,Huang等人)完全摈弃了深度堆栈的设计和分类深度预测。他们仅假设沿射线的深度分布不均匀,所以相机到鸟瞰图转换也能够以更高的效率完成。
基于查询的多视角三维目标检测 除了基于BEV的方法,还有一种方法中目标查询从鸟瞰图中生成并与相机视图特征交互。受到目标检测中Transformers改进的启发,DETR3D引入了一组稀疏的三维目标查询并且每组查询斗鱼一个三维参考点相关联。三维参考点通过投影它们的三维位置到多视角图像平面后目标查询与图像特征通过Transformers层进行交互进行图像特征的收集。最终,每一个目标查询将会解码出一个三维边界框。下面许多文章视图改进这种设计范式,例如引进空间感知跨视图注意(Doll等人)并在图像特征上添加三维位置嵌入(Liu等人)。BEVFormer(Li等人)介绍了一种基于密集网格的BEV查询并且每一个查询与一组涵盖一组三维参考点的柱子相关联。空间交叉注意应用在目标查询和空间图像特征上以获取空间信息,时间自注意用于目标查询和过去的BEV查询以融合时间信息。
相关文章:
自动驾驶3D目标检测综述(三)
前两篇综述阅读理解放在这啦,有需要自行前往观看: 第一篇:自动驾驶3D目标检测综述(一)_3d 目标检测-CSDN博客 第二篇:自动驾驶3D目标检测综述(二)_子流行稀疏卷积 gpu实现-CSDN博客…...
【GESP】C++三级练习 luogu-B3661, [语言月赛202209] 排排
三级知识点一维数组练习,除了应用了数组以外,其余逻辑比较简单,适合初学者。 题目题解详见:https://www.coderli.com/gesp-3-luogu-b3661/ 【GESP】C三级练习 luogu-B3661, [语言月赛202209] 排排队 | OneCoder三级知识点一维数…...
【PPTist】添加PPT模版
前言:这篇文章来探索一下如何应用其他的PPT模版,给一个下拉菜单,列出几个项目中内置的模版 PPT模版数据 (一)增加菜单项 首先在下面这个菜单中增加一个“切换模版”的菜单项,点击之后在弹出框中显示所有的…...
大疆上云api开发
目前很多公司希望使用上云api开发自己的无人机平台,但是官网资料不是特别全,下面浅谈一下本人开发过程中遇到的一系列问题。 本人使用机场为大疆机场2,飞机为M3TD,纯内网使用 部署 链接: 上云api代码. 首先从github上面拉去代码 上云api代码github. 后…...
IDEA2023 SpringBoot整合MyBatis(三)
一、数据库表 CREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL,age INT,gender ENUM(Male, Female, Other),email VARCHAR(100) UNIQUE,phone_number VARCHAR(20),address VARCHAR(255),date_of_birth DATE,enrollment_date DATE,cours…...
【Apache Paimon】-- 6 -- 清理过期数据
目录 1、简要介绍 2、操作方式和步骤 2.1、调整快照文件过期时间 2.2、设置分区过期时间 2.2.1、举例1 2.2.2、举例2 2.3、清理废弃文件 3、参考 1、简要介绍 清理 paimon (表)过期数据可以释放存储空间,优化资源利用并提升系统运行效率等。本文将介绍如何清理 Paim…...
C语言数据结构——详细讲解 双链表
从单链表到双链表:数据结构的演进与优化 前言一、单链表回顾二、单链表的局限性三、什么是双链表四、双链表的优势1.双向遍历2.不带头双链表的用途3.带头双链表的用途 五、双链表的操作双链表的插入操作(一)双链表的尾插操作(二&a…...
Shell脚本基础(4):条件判断
内容预览 ≧∀≦ゞ Shell脚本基础(4):条件判断声明导语基本的if语句结构数值比较运算符文件测试运算符扩展:使用elif和else使用&&和||结合条件判断小结 Shell脚本基础(4):条件判断 声明…...
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
文章目录 前言摘要描述题解答案题解代码题解代码分析示例测试及结果时间复杂度空间复杂度总结 前言 本题由于没有合适答案为以往遗留问题,最近有时间将以往遗留问题一一完善。 LeetCode - #140 单词拆分 II 不积跬步,无以至千里;不积小流&…...
win10中使用ffmpeg和MediaMTX 推流rtsp视频
在win10上测试下ffmpeg推流rtsp视频,需要同时用到流媒体服务器MediaMTX 。ffmpeg推流到流媒体服务器MediaMTX ,其他客户端从流媒体服务器拉流。 步骤如下: 1 下载MediaMTX github: Release v1.9.3 bluenviron/mediamtx GitHub…...
16. 【.NET 8 实战--孢子记账--从单体到微服务】--汇率获取定时器
这篇文章我们将一起编写这个系列专栏中第一个和外部系统交互的功能:获取每日汇率。下面我们一起来编写代码吧。 一、需求 根据文章标题可知,在这片文章中我们只进行汇率的获取和写入数据库。 编号需求说明1获取每日汇率1. 从第三方汇率API中获取汇率信…...
C#元组详解:创建、访问与解构
在C#中,元组(Tuple)是一种数据结构,用于将多个元素组合成一个单一的对象。元组可以包含不同类型的元素,并且每个元素都有一个指定的位置(索引)。元组在需要临时组合多个值而不想创建自定义类时非…...
wsl2安装
Windows Subsystem for Linux 2 (WSL2) 是 Windows 10 和 Windows 11 中用于运行 Linux 二进制可执行文件的兼容层。WSL2 是 WSL 的最新版本,提供了更快的文件系统性能和完整的系统调用兼容性。本教程将指导你如何在 Windows 系统上安装 WSL2。 前提条件 操作系统要…...
android studio无法下载,Could not GET xxx, Received status code 400
-- 1. 使用下面的地址代替 原地址: distributionUrlhttps\://services.gradle.org/distributions/gradle-6.5-all.zip 镜像地址: distributionUrlhttps\://downloads.gradle-dn.com/distributions/gradle-6.5-all.zips 上面的已经不好用了 https\://mirrors.cloud.tencent.c…...
RUST学习教程-安装教程
文章目录 参考文档安装教程更新卸载 参考文档 https://course.rs/first-try/installation.html 安装教程 Linux或者mac安装教程 curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh安装完成,当出现command not found的时候,需要source一下…...
redis6.0之后的多线程版本的问题
一、redis早期版本和新版本的讨论 这个问题其实有些废话,哪个版本肯定都有不同啊。其实这里主要是提到的网上的大家对Redis6.0中的多线程版本的不同即以前宣传的Redis是单线程程版的,之后变成了多线程版本的。网上对这个讨论非常激烈,反正各…...
python的 pandas.Dataframe 和 pandas.Series基础内容
目录 0 有一个比较麻烦琐碎的地方 1 python pandas.Dataframe 2 pd.concat() 可以合并 pd.Dataframe 2.1 pd.concat() 合并规则 3 pd.Dataframe.drop() 删除行列的操作 4 pd.Dataframe 列操作 5 pd.Dataframe 行操作 5.1 sample_dataframe2.head(n2) 取前面的n行&…...
golang学习5
为结构体添加方法 异常处理过程...
【C语言】11月第二次测试 ing
文章目录 1.输入n名同学的成绩和学号,对成绩排序,输出对应学号 要求重复的学号重新输入 计算n名同学的平均值,对小于60分的同学删除分数 大于60分的同学输出:优秀:几人,良好:几人,中…...
行列式的理解与计算:线性代数中的核心概念
开发领域:前端开发 | AI 应用 | Web3D | 元宇宙 技术栈:JavaScript、React、ThreeJs、WebGL、Go 经验经验:6 年 前端开发经验,专注于图形渲染和 AI 技术 开源项目:github 简智未来、数字孪生引擎、前端面试题 大家好&a…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
