香港科技大学新作:速度场如何在复杂城市场景规划中大显身手

news2024/11/6 7:26:17

导读:

本篇文章提出了一种局部地图表示方法(即速度场)来解决无法为所有场景设计通用规划规则的问题。此外,本文开发了一种高效的迭代轨迹优化器,其与速度场无缝兼容,实现了训练和推理过程。实验结果表明,本文方法为提高自动驾驶系统的规划性能和增强其模仿人类驾驶行为的能力提供了一种有前景的解决方案。©️【深蓝AI】编译

1. 摘要

轨迹规划涉及生成一系列在不久的将来车辆要跟随的空间点。然而,由于驾驶环境的复杂性和不确定性,自动驾驶汽车(AVs)不可能为优化未来轨迹而设计详尽的规划规则。为了解决这一问题,本文提出了一种局部地图表示方法,称为速度场。该方法为轨迹规划任务提供了航向和速度先验,简化了复杂城市驾驶场景中的规划过程。通过本文所提出的损失函数,可以从人类驾驶员的演示中学习航向和速度先验。此外,本文开发了一种基于迭代采样的规划器来训练和比较局部地图表示方法之间的差异。本文研究了局部地图表示形式在现实世界数据集上的规划性能。与学习的栅格代价地图相比,本文方法具有更高的可靠性和计算效率。

2. 介绍

轨迹规划是自动驾驶系统的重要组成部分,因为它使车辆沿着目标路径到达预期的目的地,同时保证了效率和安全性。现有的规划方法可以分为两类:基于规则的方法和基于学习的方法。

基于规则的方法依赖于人工设计的规则来避免与驾驶环境中的目标发生碰撞,例如距离测量和基于距离的速度策略,如图1(a)所示。然而,这些规则通常受限于特定场景,从而限制了它们的泛化能力。基于学习的方法(特别是那些基于模仿学习的方法)学习轨迹和驾驶环境之间的映射,从而提供了更广泛的应用。然而,直接将驾驶环境映射到规划轨迹通常被认为具有较差的可解释性。

图1|计算给定时间步长下行驶代价的三种方法。红色汽车代表自车,最右侧的白色实线代表交通灯的停止线。(a)测量自车和其它车辆之间的距离以及交通信号;(b)代表一类地图表示,其为驾驶上下文中的每个点提供驾驶代价;(c)使用速度矢量来引导车辆的驾驶轨迹©️【深蓝AI】编译

神经运动规划器(NMP)引入了一种新的方法,它结合了基于规则的方法和基于学习的方法的优势,从而提高了规划模块的泛化能力和可解释性。具体而言,该方法采用深度神经网络将感知信息转换为场景中每个时空点的驾驶代价(图1(b)),并且选择总代价最低的采样轨迹。然而,由卷积神经网络生成的代价地图带来了巨大的计算负担并且无法满足实时要求。此外,在高速场景中的规划需要更大的地图范围,而过大的栅格尺寸会导致规划精度降低。同时,汽车后方或者不可达区域也有相当一部分大规模栅格被预测,这导致计算资源的浪费。因此,该方法面临着计算时间、地图范围和栅格尺寸之间的权衡。此外,纯代价值仅提供有关时空位置的信息,而没有考虑高阶运动信息。例如,车辆行驶到路边和沿着路边行驶的代价应该有所不同,代价地图无法传达有关道路限速的信息。

为了应对这些挑战,本文提出了速度场(VF),它包括两个新的关键设计。首先,为了克服计算权衡,本文提出了基于注意力机制实现隐式地图的概念。在该方法中,驾驶上下文信息被编码为键值对,同时轨迹采样位置被编码为查询,以获得该位置处的驾驶代价。该方法避免了将潜在变量显式解码为栅格地图并且输出不相关位置的代价值,从而提高了计算效率,并且不需要在栅格范围和尺寸之间进行权衡。其次,类似于占用地图和占用流之间的关系,本文使用速度矢量替换了原始的代价值(图1(c)),这引入了更高阶的运动信息,它通过计算轨迹速度和速度先验之差来估计行驶代价。本文在记录现实世界场景的数据集上验证了所提出的方法。

本文的贡献主要有如下三点:

1)本文探索了一种新的可解释的矢量化驾驶局部地图表示方法,称为速度场(VF),它以直接且高效的方式提升了规划性能;

2)本文开发了一种高效的迭代轨迹优化器,其与所提出的地图表示方法无缝兼容,实现了训练和推理过程;

3)本文以闭环形式在现实世界记录的场景中部署基于速度场和迭代优化的规划器,展现了所提出方法实现的人类相似性和安全性提升。

3. 方法

3.1 问题描述

该任务的目标是生成一组自车的未来轨迹点,表示为 P = [ p 1 , . . . , p T ] \mathbf P = [p^1,...,p^T] P=[p1,...,pT]。在短时间 T T T内,给定其他智能体 h a h_a ha和自车 h e h_e he的历史跟踪数据,以及当前时间的地图信息 M \mathcal M M,包括参考车道 m r e f m_{ref} mref、交通灯状态 m t l m{tl} mtl和静态障碍物 m o b m_{ob} mob。驾驶上下文由 S = ( h a , h e , M ) \mathcal S = (h_a,h_e,\mathcal M) S=(ha,he,M)表示,并且本文模型旨在建立从驾驶上下文到轨迹点的映射 P = F ( S ) \mathbf P = \mathcal F(\mathcal S) P=F(S)。整体方法如图2所示。

图2|所提出的速度生成和规划模块框架及其训练过程©️【深蓝AI】编译

3.2 驾驶上下文编码

与Vectornet类似,本文实现了一个图神经网络,其为预测模块编码矢量化上下文信息。 T T T时间步长自车历史数据 h e ∈ R T × [ x , y , y a w , x ˙ , y ˙ ] h_e \in \mathbb R^{T \times [x, y, yaw, \dot x, \dot y]} heRT×[x,y,yaw,x˙,y˙] N a N_a Na辆周围汽车 h a ∈ R N a × T × [ x , y , y a w , x ˙ , y ˙ , t y p e ] h_a \in \mathbb R^{N_a \times T \times [x, y, yaw, \dot x, \dot y, type]} haRNa×T×[x,y,yaw,x˙,y˙,type]特征被连接到一起,并且由门控循环单元(GRU)嵌入来编码时间相关信息。随后,在256维空间中提取的特征由多层感知器(MLP)处理。分段车道和人行横道多边形等地图元素最初由MLP直接编码。所有256维编码特征在第一维中连接起来,并且由全局多头注意力网络(GAT)聚合,以获得车辆到车辆和车辆到上下文的关系。整体场景上下文嵌入用符号 S \mathcal S S表示。

该模块生成相邻智能体的预测未来轨迹以及自车的初始规划猜测。通过计算平滑的 L 1 L1 L1损失,数据集的轨迹回放直接作为监督信号,从而引导轨迹优化过程。

3.3 迭代高斯采样轨迹优化器

在训练和推理过程中,采用一种基于迭代高斯采样的规划器来提高采样效率和采样精度。在本工作中,采样器对包括加速度和转向 ( a , s ) (a,s) (a,s)在内的控制变量进行高斯采样,这是通过对初始猜测进行微分来获得的。它选择最佳的k个样本作为新的均值,并且在判断出迭代限制后进行重采样。第一次循环中的样本由三类轨迹组成:控制变量概率栅格采样器、lattice状态采样器和基于vanilla模仿学习的初始猜测。加速度和转向的采样方差由两个独立的超参数 ( σ a , σ s ) (\sigma_a, \sigma_s) (σa,σs)控制,并且它们独立采样。

值得注意的是,第一次迭代中的扰动是时间常量,而在随后的迭代中,它是随时间变化的,其方差逐渐减小。第一次循环旨在确保探索最可行的轨迹,而随后的迭代优化最佳选择。

3.4 隐式速度场

隐式速度场是一个将位置 ( x , y ) (x,y) (x,y)和时间戳 t t t查询映射到关于场景上下文嵌入的推荐速度矢量 v = f ( x , y , t ∣ S ) v = f(x,y,t|\mathcal S) v=f(x,y,tS)。注意力机制计算查询(Q)和键(K)之间的距离作为权重,并且将其乘以值(V),如图3所示。该方法有效地捕获了驾驶上下文中各种元素之间的关系和交互。

图3|在初始猜测附近采样的规划轨迹被编码为查询。编码的地图表示被重组为与查询具有相同维度的D个嵌入©️【深蓝AI】编译

本文将查询框架集成到所提出方法中。将具有时间嵌入的位置 ( x , y , t , s i n ( t ) , c o s ( t ) ) (x,y,t,sin(t),cos(t)) (x,y,t,sin(t),cos(t))作为正交方向 ( x ˙ , y ˙ ) (\dot x, \dot y) (x˙,y˙)上速度尺度的查询。通过以下等式生成关于轨迹样本 T s a m p l e = [ T 1 , . . . , T N ] \mathcal T_{sample} = [\mathcal T_1,...,\mathcal T_N] Tsample=[T1,...,TN]的速度矢量:

V p , M t , n = M ( p T t , n ∣ S ) \mathcal V^{t,n}_{p,M} = \mathcal M(p^{t,n}_{\mathcal T} | \mathcal S) Vp,Mt,n=M(pTt,nS)

其中, M \mathcal M M是速度查询函数, p T t , n p^{t,n}_{\mathcal T} pTt,n n n n个轨迹点在时间 t t t的位置, V p , M t , n \mathcal V^{t,n}_{p,M} Vp,Mt,n是从隐式速度场模块中获得的速度矢量。最近的 n n n个样本的速度被认为是可接受的速度值。每个速度模仿损失乘以演示轨迹的 [ x , y , y a w ] [x,y,yaw] [x,y,yaw]和采样位置之间的 L 2 L2 L2距离的指数映射:

L i m i t = 1 Z ∑ n = 0 N ∑ t = 0 T e − ∥ p T , y a w t , n − p T e , y a w t ∥ 2 2 ( V p , M t , n − V p , T t , n ) \mathcal L_{imit} = \frac{1}{Z}\sum^{N}_{n = 0} \sum^{T}_{t = 0} e^{-\frac{\lVert p^{t,n}_{\mathcal T, yaw} - p^t_{\mathcal T_e, yaw} \rVert_2}{2}}(\mathcal V^{t,n}_{p, M} - \mathcal V^{t, n}_{p, \mathcal T}) Limit=Z1n=0Nt=0Te2pT,yawt,npTe,yawt2(Vp,Mt,nVp,Tt,n)

本文引入了速度修正损失,为每个位置分配适当的速度。假设当前时刻的速度应该能够引导自车沿着演示轨迹点行驶。这种设计是为了确保规划与预期轨迹保持一致,同时维持平滑性和安全性。修正损失定义如下:

V ^ p , T t , n = ( p T e t + 1 , n − p T t , n ) / d t \hat{\mathcal V}^{t,n}_{p,\mathcal T} = (p^{t+1,n}_{\mathcal T_e} - p^{t,n}_{\mathcal T}) / dt V^p,Tt,n=(pTet+1,npTt,n)/dt
L c o r r e c t = 1 Z ∑ n = 0 N ∑ t = 0 T − 1 e − ∥ p T t , n − p T e t ∥ 2 2 ∥ V ^ p , T t , n − V p , M t , n ∥ 2 \mathcal L_{correct} = \frac{1}{Z}\sum^{N}_{n = 0} \sum^{T-1}_{t = 0}e^{-\frac{\lVert p^{t,n}_{\mathcal T} - p^t_{\mathcal T_e} \rVert_2}{2}}\lVert \hat{\mathcal V}^{t,n}_{p, \mathcal T} - \mathcal V^{t, n}_{p, M} \rVert_2 Lcorrect=Z1n=0Nt=0T1e2pTt,npTet2V^p,Tt,nVp,Mt,n2

速度场构建损失定义为:

L V F = L i m i t + L c o r r e c t \mathcal L_{VF} = \mathcal L_{imit} + \mathcal L_{correct} LVF=Limit+Lcorrect

3.5 行驶代价估计

行驶代价估计函数由拉格朗日项构建,包括加速度、加加速度、转向、转向变化以及采样速度和地图建议速度之间的速度差 V d i f f \mathcal V_{diff} Vdiff。这些分量使用可学习的系数 w c w_c wc的加权和进行组合,使优化过程能够高效地适应和响应各种驾驶场景。原始测量矢量为:

KaTeX parse error: Undefined control sequence: \dddot at position 42: …}[\ddot x^2_t, \̲d̲d̲d̲o̲t̲ ̲x^2_t, \dot H^2…

目标函数在数学上可以表示为:

C T = D w c T \mathcal C_{\mathcal T} = \mathcal D w^T_c CT=DwcT

NMP将专家轨迹和负样本之间的平均距离误差(ADE)直接映射到行驶代价,以平滑负样本的代价值。与NMP不同,本文将平均距离仿射到概率空间。选择损失通过下式来计算采样轨迹集 T s \mathcal T_s Ts的代价分布和距离分布的交叉熵(CE):

P ( A D E ) = S o f t m a x ( 1 − η ( ∥ T s − T e ∥ 2 ) ) \mathcal P(ADE) = Softmax(1 - \eta(\lVert \mathcal T_s - \mathcal T_e \rVert_2)) P(ADE)=Softmax(1η(∥TsTe2))
P ( C T s a m p ) = S o f t m a x ( 1 − η ( C T s a m p ) ) \mathcal P(\mathcal C_{\mathcal T_{samp}}) = Softmax(1 - \eta(\mathcal C_{\mathcal T_{samp}})) P(CTsamp)=Softmax(1η(CTsamp))
L s e l e = C E ( P ( C T s ) , P ( A D E ) ) \mathcal L_{sele} = CE(\mathcal P(\mathcal C_{\mathcal T_s}), \mathcal P(ADE)) Lsele=CE(P(CTs),P(ADE))

其中, η \eta η是沿采样候选轨迹的归一化函数。请注意,并非所有样本都进行损失计算,而只考虑具有较小代价的20个样本。

除了 L V F \mathcal L_{VF} LVF L s e l e \mathcal L_{sele} Lsele以外,本文引入了多模态模仿学习规划和多智能体预测头来分别生成初始猜测和提供多模态信息。对于初始猜测和预测头,损失定义如下:

L I L = L A D E p l a n + L F D E p l a n + L A D E p r e + L m o d a l \mathcal L_{IL} = \mathcal L^{plan}_{ADE} + \mathcal L^{plan}_{FDE} + \mathcal L^{pre}_{ADE} + \mathcal L_{modal} LIL=LADEplan+LFDEplan+LADEpre+Lmodal

其中, L m o d a l \mathcal L_{modal} Lmodal是模型选择的交叉熵损失。规划和预测误差之和最小的模态预计具有最高的概率。最后,整体训练损失为:

L = L V F + L s e l e + L I L \mathcal L = \mathcal L_{VF} + \mathcal L_{sele} + \mathcal L_{IL} L=LVF+Lsele+LIL

4. 实验

4.1 实现细节

1)数据集

本文在Waymo open motion数据集上进行实验,该数据集包含在复杂城市路线上采集的现实世界驾驶样本。高精地图和交通信号/参与者的标注以10Hz的频率提供,并且提供了1000个包,每个包中包含100个场景。这些场景被处理为7秒的目标轨迹。

为了缓解模仿学习中的领域漂移问题,本文提出了一种新的方法,该方法利用时变高斯分布来增强驾驶历史的控制变量。具体而言,本文应用公式1和公式2来引入控制输入的可变性,同时保持未来轨迹不变。在所有实验中,数据增强都是在没有特殊说明的情况下实现的。

U h i s a u g = U h i s + N ( 0 , ϵ ⋅ u l i m ) ( 1 ) \mathcal U^{aug}_{his} = \mathcal U_{his} + \mathcal N(0, \epsilon \cdot {\mathbf u}_{lim}) \qquad(1) Uhisaug=Uhis+N(0,ϵulim)(1)

X h i s a u g = B i c y c l e M o d e l ( U h i s a u g , X h i s t = 0 ) ( 2 ) \mathcal X^{aug}_{his} = BicycleModel(\mathcal U^{aug}_{his}, \mathcal X^{t = 0}_{his})\qquad(2) Xhisaug=BicycleModel(Uhisaug,Xhist=0)(2)

2)训练

在配备4×RTX3090 GPU和2×48线程Intel(R)Xeon(R)Gold 5318S CPU @2.10GHz的服务器上,使用AdamW优化器和学习率1e-4进行20个周期的训练。迭代采样优化器在训练过程中进行3次迭代,在验证过程中进行10次迭代。在迭代采样过程中,选择最佳的10个样本作为父样本。本实验进行两阶段的监督学习过程。首先从所有车辆中训练预测模型,然后通过模仿自车行为演示来进行地图参数和代价函数训练过程。

3)评估

本实验将模型和数据集上的其它基线与通用指标进行比较。此外,引入了平均距离误差(ADE)和终点距离误差(FDE)来说明模仿专家行为的能力。碰撞率(CR)、偏离道路率(ORR)和交通灯违规率(TLV)是安全性指标。加速度、加加速度用于衡量舒适性。

4.2 基线

模仿学习(IL)的输入是矢量化上下文,并且直接输出多模态未来自规划控制和其它智能体的轨迹。

微分集成的运动预测和规划(DIPP)是一种基于逆最优控制的规划方法。该方法使用IL模型来提供其它智能体的初始猜测和轨迹预测。对与道路上目标的欧式距离和轨迹平滑性进行加权求和,以估计驾驶代价。请注意,数据增强不适用于此方法。

基于采样的DIPP(EULA)也使用与DIPP相同的代价函数来测量欧式距离,但是在训练和评估过程中都使用所提出的迭代采样规划器来实现。

代价场(CF)使用与所提出的速度场相同的框架,但是矢量输出被求和以直接表示查询点的驾驶代价。

4.3 开环比较

表1展示了上述方法的开环结果。

表1|开环比较©️【深蓝AI】编译

标有“Human”的第一行表示,尽管仿真系统中的数据大致准确,但是存在一些噪声和不准确之处。总体而言,所有基于深度神经网络的方法(包括IL)都能够准确模仿人类驾驶员的行为,证明了深度学习在模式识别中的有效性。比较DIPP和EULA,观察到模仿指标的降低,这表明本文的迭代采样规划器可以找到与专家演示非常相似的低代价轨迹。通过比较CF和VF指标,发现加入先验速度矢量可以提高代价计算的准确性,并且获得更精确的结果。总体而言,这些开环结果表明,本文所提出的方法在模仿人类驾驶行为、安全性和舒适性方面可以达到与最先进的基线相当或者更好的性能。

4.4 闭环比较

表2展示了闭环结果,对模型处理领域漂移和泛化到现实世界驾驶场景的能力进行更真实的评估。

表2|闭环比较©️【深蓝AI】编译

尽管使用了数据增强技术,但是深度神经网络(DNN)规划器难以应对复杂的动态驾驶环境。相比之下,DIPP利用人工设计的规则来优化模型的规划策略,从而显著提升规划安全性。通过比较DIPP和EULA,发现EULA中使用的规划模块在寻找最优轨迹方面不如高斯-牛顿方法有效,但是在安全性和与人类驾驶员相似性方面仍然优于基于DNN的方法,并且取得了与DIPP相当的结果。对于CF方法,在碰撞率、相似性方面不如VF方法,这证明了CF方法的能力有限。VF方法有效地利用专家数据来形成信息丰富的局部地图,避免了人工设计和各种交通信息交互模式造成的偏差。因此,VF方法在安全性和模仿能力方面取得了更好的效果。

4.5 运行时间

运行时间评估是在配备Intel 19200K和NVIDIA RTX3080Ti的PC上进行的。生成规划结果的平均运行时间为0.048s(最快0.017s,最慢0.111s)。运行时间满足实时性要求。

5. 总结

在本项工作中,证明了速度场是一种为局部路径规划提供行驶代价的信息方式,并且通过实验证明了迭代采样规划器生成安全轨迹的有效性。与基线DIPP方法相比,本文方法显著提高了规划性能。具体而言,它将碰撞概率降低了33.3%,闯红灯的概率降低了80%,并且与人类驾驶员的相似性提高了43.81%。总体而言,本文方法为提高自动驾驶系统的规划性能和增强其模仿人类驾驶行为的能力提供了一种有前景的解决方案。
©️【深蓝AI】

Ref:
Velocity Field: An Informative Traveling Cost Representation for Trajectory Planning
编译|auto_driver
审核|Los

本文首发于微信公众号【深蓝AI】,移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态👇
深蓝AI·赋能自动驾驶+机器人+AI

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux操作系统中Redis

1、什么是Redis Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 可以理解成一个大容量的map。…

《向量数据库指南》——Milvus 和 Fivetran 如何为 AI 构建基础

哈哈,说起 Milvus 和 Fivetran 如何为 AI 构建基础,这可真是个有意思的话题!来,让我这个向量数据库领域的“老司机”给你详细讲解一番,保证让你听得津津有味,还能学到不少干货! Milvus 和 Fivetran:AI 搜索解决方案的黄金搭档 在当今这个数据爆炸的时代,AI 已经成为…

《软件工程概论》作业一:新冠疫情下软件产品设计(小区电梯实体按钮的软件替代方案)

课程说明:《软件工程概论》为浙江科技学院2018级软件工程专业在大二下学期开设的必修课。课程使用《软件工程导论(第6版)》(张海藩等编著,清华大学出版社)作为教材。以《软件设计文档国家标准GBT8567-2006》…

net core mvc 数据绑定 《2》 bind fromquery,FromRoute,fromform等,自定义模型绑定器

mvc core 模型绑定 控制绑定名称 》》》Bind 属性可以用来指定 模型应该 绑定的前缀 public class MyController : Controller {[HttpPost]public ActionResult Create([Bind(Prefix "MyModel")] Ilist<MyModel> model){// 模型绑定将尝试从请求的表单数据中…

Vue2实现主内容滚动到指定位置时,侧边导航栏也跟随选中变化

需求背景&#xff1a; PC端项目需要实现一个有侧边导航栏&#xff0c;可点击跳转至对应内容区域&#xff0c;类似锚点导航&#xff0c; 同时主内容区域上下滚动时&#xff0c;可实现左侧导航栏选中样式能实时跟随变动的效果。 了解了一下&#xff0c;Element Plus 组件库 和 …

从源码中学习动态代理模式

动态代理模式 动态代理是 Java 反射&#xff08;Reflection&#xff09;API 提供的一种强大机制&#xff0c;它允许在运行时创建对象的代理实例&#xff0c;而不需要在编译时静态地创建。 Java 提供了两种主要的方式来实现动态代理&#xff1a; 基于接口的动态代理&#xff1a…

2024/9/29周报

文章目录 摘要Abstract污水处理工艺流程整体介绍粗格栅细格栅曝气沉砂池提升泵房峰谷平策略 初沉池&#xff08;一级处理&#xff09;工作原理运行管理 氧化沟生化池&#xff08;二级处理&#xff09;二沉池工作原理运行参数 高效沉淀池功能与特点工作原理 深度处理&#xff08…

[BUUCTF从零单排] Web方向 03.Web入门篇之sql注入-1(手工注入详解)

这是作者新开的一个专栏《BUUCTF从零单排》&#xff0c;旨在从零学习CTF知识&#xff0c;方便更多初学者了解各种类型的安全题目&#xff0c;后续分享一定程度会对不同类型的题目进行总结&#xff0c;并结合CTF书籍和真实案例实践&#xff0c;希望对您有所帮助。当然&#xff0…

html+css+js实现dialog对话框

实现效果 HTML部分 <span class"text">点击打开 Dialog</span><!-- 警告框 --><div class"alert"><div class"header"><i>X</i> </div><div class"content">确认关闭</di…

Python 实现 YouTube 视频自动上传

文章目录 前言申请 Google API 秘钥启用 API创建项目凭证配置 API下载生成的凭据文件 youtube-upload 工具使用安装配置秘钥使用 其它问题程序尚未完成 Google 验证流程 个人简介 前言 youtube-upload 库 Python 中一个用于实现 YouTube 视频自动上传的实用工具。以下是关于如…

【 微信机器人+ AI 搭建】

摘要&#xff1a; 各种大模型已经出来好久了&#xff0c;各类app也已经玩腻了&#xff0c;接下来&#xff0c;就在考虑&#xff0c;怎么让大模型&#xff0c;利益最大化。 本人没有显著的家世&#xff0c;没有富婆包养&#xff0c;只能自己抽点时间&#xff0c;研究下技术&…

Java使用BeanUtils.copyProperties实现对象的拷贝

1、BeanUtils.copyProperties() 方法的使用 BeanUtils.copyProperties 方法是 Java 中 Spring 框架提供的一个非常实用的工具方法&#xff0c;它用于将一个 JavaBean 对象的属性值拷贝到另一个 JavaBean 对象中。这个方法主要用于简化对象之间的数据转换过程&#xff0c;尤其是…

数学-傅里叶级数的推导

目录&#xff1a; 1、矢量的正交分解 2、信号的正交分解 3、傅里叶级数形式★ 本篇摘录“信号与系统3-傅里叶变换与频域分析”的小部分内容。 1、矢量的正交分解 两矢量V1与V2正交&#xff0c;夹角为90&#xff0c;那么两正交矢量的内积为零&#xff0c;如下图所示。 图4.2…

Excel实现省-市-区/县级联

数据准备 准备省份-城市映射数据&#xff0c;如下&#xff1a; 新建sheet页&#xff0c;命名为&#xff1a;省-市数据源&#xff0c;然后准备数据&#xff0c;如下所示&#xff1a; 准备城市-区|县映射数据&#xff0c;如下&#xff1a; 新建sheet页&#xff0c;命名为&#x…

Open WebUI部署自己的大模型

相关代码地址见文末 1. 概述 Text Generation WebUI 是一个基于网页的界面,提供使用不同语言模型(如Transformers、Llama、ExLlamav2等)进行文本生成的功能。该软件支持以下主要功能: 模型加载:支持从多种框架加载单个或多个LoRA。LoRA微调:在支持的加载器上进行低秩适…

计算神经学笔记01

- **The term neuromorphic is generally used to describe analog, digital, mixed-mode analog/digital VLSI, and software systems that implement several models of neural systems.** - 神经形态一词通常用于描述模拟、数字、混合模式的模拟/数字超大规模集成电路&…

YOLO V8半自动标注工具设计

前提&#xff1a; 对于某些边界不明确的小目标&#xff0c;要是目标由比较多的话&#xff0c;标注起来就会非常麻烦。 如何利用已有训练模型&#xff0c;生成框&#xff0c;进行预标注。再通过调节预标注框的方式&#xff0c;提高标注的效率。 1 通过预先训练的模型生成yolo 格…

12.C++程序中的自定义函数

11.C程序中的常用函数-CSDN博客https://blog.csdn.net/fly_binbin/article/details/142643406上面说的是C程序中内置的一些函数&#xff0c;这些函数是由编译器提供的&#xff0c;可以方便大家的使用&#xff0c;但是很多时候&#xff0c;单纯的内置函数无法满足人们的需求&…

排序题目:重新排列后的最大子矩阵

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;重新排列后的最大子矩阵 出处&#xff1a;1727. 重新排列后的最大子矩阵 难度 7 级 题目描述 要求 给定一个大小为 m n \texttt{m} \times \tex…

第三方供应商不提供API接口?教你四步破解集成难题

API开放需求 在企业数字化转型过程中&#xff0c;异构系统之间的连接是信息化阶段不可或缺的一环。通过应用API&#xff0c;企业能够实现不同系统、平台和应用之间的数据交换与功能调用&#xff0c;从而形成端到端的业务流程协同。然而&#xff0c;很多企业在集成第三方供应商…