Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning翻译CVPR2017

本文提出了一种基于深度强化学习的跟踪器ADNet,它通过动作决策网络控制的序列性动作来跟踪目标。该方法结合了有监督学习和强化学习,实现了高效的目标跟踪,并在OTB数据集上取得了先进水平的性能。

本文提出一种由顺序性跟踪动作控制的新颖跟踪器,该控制方法是从深度强化学习中学习到的。跟现有的使用深度网络的跟踪器相比,我们提出的跟踪器的设计思想是在实现令人满意的跟踪位置精度和跟踪尺度精度的同时,也得到一种轻量级计算。控制动作的深度网络,是在各种各样的训练序列上预训练过的,并且会在跟踪过程中微调,在线自适应目标和背景的变化。预训练是通过深度强化学习进行的,这同时也是一种有监督学习。强化学习的使用使得即使是被部分标记的数据也可以成功地用于半监督学习。通过OTB数据集的评估,提出的跟踪器将被验证,以达到跟踪速度是当前基于深度网络的先进跟踪器速度的三倍这样的一种竞争性能。该方法的快速版本,在GPU上实时运行,胜过了最先进的实时跟踪器。

1.  引言

视觉跟踪是计算机视觉领域的一个最基本问题。因为运动模糊、遮挡、光照变化、背景杂乱等跟踪障碍的存在,使得找到目标的准确位置很困难。传统跟踪算法跟踪目标使用低水平的手工特征。尽管它们实现了计算效率和可以比较的跟踪性能,但是由于缺乏足够的特征表示,在解决上述障碍方面仍然非常有限。

近年来,基于卷积神经网络的跟踪方法在被用于实现鲁棒性的跟踪,并且在跟踪性能上有巨大的提升,这得益于卷积神经网络丰富的特征表示。几个跟踪算法使用的是在大规模分类数据集(例如ImageNet)上预先训练过的CNNs。然而,由于分类和跟踪问题之间存在差距,预训练好的CNNs模型不足以解决跟踪中比较棘手的问题。Nam等人提出一种基于在跟踪视频数据集预训练过的CNNs模型的检测跟踪算法,并且实现了跟传统算法相比更好的性能。然而,这种方法通常侧重于提升使用外观模型辨别目标和背景的能力,因此可能忽略一下问题:(1)采用效率低下的跟踪算法,即探索感兴趣区域并通过匹配跟踪模型来搜索最佳候选对象;(2)需要大量标记的跟踪序列进行训练,并且在半监督情况下不能使用没有标记的视频帧。

在本文中,为了解决上述问题,我们提出一种新的跟踪器,通过动作决策网络控制的重复性动作来实现目标的跟踪。本文提出的跟踪算法的基本概念在图1中描述。动作决策网络的设计就是要产生一个能在新一帧能找到目标位置和尺寸的动作。ADNet学习这样的一种策略,即从目标当前位置的状态中选择最优的动作来跟踪目标。在ADNet中,策略网络是用卷积神经网络设计的,它的输入是前一个状态的位置下裁剪得到的图像块,输出是包括平移和尺度缩放的动作概率分布。这个动作选择过程相比滑动窗口或者候选抽样方法有更少的步骤。另外,我们的方法可以精准定位目标,像边界框回归这样的后期处理我们是不需要的。

我们也提出一种基于有监督学习和强化学习的联合学习算法来训练ADNet。在有监督学习阶段,我们使用训练视频中提取得到的样本来训练我们的网络选择动作以跟踪目标位置。在这个阶段,网络学会了在没有序列信息的情况下跟踪一般物体。在强化学习阶段,我们把在有监督学习阶段训练好的网络作为初始网络。我们使用包含采样状态、动作、激励在内的训练序列进行跟踪仿真,进而实现强化学习。网络是采用基于策略梯度的深度强化学习进行训练,并且使用了跟踪仿真过程获得的激励。即使是在训练视频桢被部分标记的情况下(半监督),我们提出的算法,根据跟踪仿真结果分配激励,也同样成功学习了未标记的视频帧。

2.  相关工作

2.1视觉跟踪

就像调查的那样,各种各样的跟踪器亦将在各种跟踪基准测试集上展示了它们的性能和有效性。基于检测跟踪的算法旨在建立一个判别式分类器,以便区分目标和背景。通常这些方法使用分类器检测大多数匹配位置来捕获目标。在线提升方法被提出,在线更新判别模型。多示例学习(MIL)和跟踪学习检测(TLD)方法被提出,用来更新对于噪声鲁棒的跟踪模型。基于相关滤波的跟踪方法,由于其计算效率和具有竞争性的性能表现吸引了众多目光。这种方法以一种比较低的计算负荷在频域学习相关滤波器。Bolme等人提出一种最小均方误差输出滤波器(mosse),Henriques等人提出一种带有多通道特征的核相关滤波器(KCF)。洪等人提出一种同时采用短期相关跟踪和长期内存存储的联合系统。Choi等人提出综合跟踪系统来处理各种类型的含有注意机制的相关滤波器。为了克服手工特征不能充分表示的问题,我们把深度卷积特征应用到相关滤波器中,并取得了领先水平的表现性能。然而,由于它们需要训练大量多尺度滤波器来应对尺度变化和计算深度特征,所以,它们比基于传统相关滤波器的放慢慢得多。

最近,基于卷积神经网络(CNN)的算法被提出用于跟踪。早期的尝试因为缺乏数据训练网络而困难重重。为了解决数据缺乏问题,转移方法被提出,即使用在诸如ImageNet等大规模分类数据集上预先训练好的CNNs。但是,这些方法因为目标分类与跟踪的不同领域而存在诸多限制。像最近提出的一些方法,通过在大量跟踪序列数据集上训练网络,成功克服这个领域限制。Held等人提出通过深度回归网络捕捉目标位置的方法,但是,由于在线更新模块的缺失,它在应对目标快速移动或者遮挡时仍然存在跟踪困难。TaoNam等人提出的检测跟踪算法能够区分目标和背景并成功实现领先水平的跟踪性能;但是,这些方法需要采用例如滑动窗和候选采样等计算效率低下的搜索算法。

2.2深度强化学习

强化学习的目标就是学习一种,通过最大化累积未来激励来决定顺序行为的策略。强化学习领域的目前趋势是,通过将强化学习模型表示为价值函数或策略来对深度神经网络和强化学习算法进行联合。通过使用深度特征,许多像玩雅达利游戏或Go等的难题可以在一种半监督的环境下成功解决。同样的,其他几种利用深度强化学习算法的方法,也被提出用于解决像目标定位或者动作识别等计算机视觉问题。

在深度强化学习算法里边有两种流行的方法:深度Q网络(DQN)和策略梯度。DQN是一种利用深度神经网络进行函数逼近的q-学习方式。DQN的目标就是学习一个状态动作值函数,这是通过深度网络最小化时间差分误差来实现。以DQN算法基础,像Double DQN 和DDQN等各种各样的网络架构被提出用于提升性能和保持稳定性。

策略梯度方法使用梯度下降法,通过优化关于未来预期激励的深度策略网络来直接学习策略。Williams等人提出了强化算法,简单的使用即时激励来估计策略的价值。Silver等人提出一种决定性跟踪算法,一体神在高纬度动作空间策略梯度的性能或有效性。在Silver等人的工作中显示,在使用策略梯度之前对策略网络进行有监督学习的预训练可以提升性能。在跟踪问题上,我们利用有监督学习的方法训练网络,来学习目标对象的外观特征;利用策略梯度的强化学习方法训练跟踪目标的动作动态。

3.  由动作控制的跟踪计划

3.1概述

视觉跟踪要解决的问题就是从当前位置找到目标在新一帧中的位置。我们提出的跟踪器是通过如图2所示的由动作决策网络(ADNet)控制的序列性动作来对目标进行跟踪。提出的网络预测了从跟踪器当前位置跟踪目标的动作。跟踪器利用预测到的动作从当前状态开始移动,然后从这个移动过后的位置来预测下一个动作。通过在测试序列上不断地重复这个过程,我们可以解决目标跟踪问题。ADNet不仅通过监督学习进行预训练,同样也经过强化学习进行预训练。在实际跟踪过程中,在线自适应也被执行。

3.2问题设定

基本上我们的跟踪策略遵循马尔科夫决策过程(MDP)。马尔科夫决策过程是由状态s、动作a、状态转移函数f、激励r组成。在我们的马尔科夫决策过程公式中,跟踪器被定义为一个代理,它的目的就是用一个边界框捕捉目标。动作是被定义在一个离散空间的,我们利用一系列的动作和状态反复的在每一帧中进行最终边界框位置和尺度的跟踪。

在每一帧,代理决定一些列连续动作直到找到目标位置,然后,进入下一帧。状态表示包括在目标的边界框和先前动作下的外观信息。代理通过决策自己是否成功跟踪目标,来获得第l帧最终状态的激励状态和动作分别被表示为St,l和At,l。Tl代表第l帧的最终步骤,L代表视频帧数。第l帧的最终状态将被平移到下一帧。在接下来除了4.2和4.3的部分,当我们描述马尔科夫决策过程时,为了简化,每一帧我们都将省略下标l。

动作。动作空间A11种动作组成,包括平移、尺度变化、停止动作,如图3.平移包括上下左右四个方向,当然也包括着四个方向两倍大的移动。尺度变化在保证目标宽高比不变的情况下,定义了尺度放大和缩小两种变化。每一个动作都用一种很火热的形式编码成11维向量。

状态。状态St被定义为一个元组(Pt,dt,Pt(112x112x3)代表边界框内图像块,dt(11x10,一个动作是11维向量,总共存储10个动作)代表动态操作,用一个向量表示,这个向量包括在第t个迭代过程中的前k个动作。图像块用4维向量表示,bt代表边界框的的中心和宽高……。在F帧图像中,第t次迭代的的图像块定义为公式(1)。预处理函数,按照bt标准从F帧中裁剪出图像块,然后再缩放到适合网络输入的尺寸(112x112)。动作动态向量dt的定义就是连接过去的k个动作向量。我们在动作动态向量里边存储过去的k个动作,一种很火热的流形编码函数。k=10。状态转移函数。在状态时做出动作的决策以后,下一个状态是从状态转移函数中得到:图像块转移函数和动作动态函数。图像块转移函数被定义为,通过相应动作移动图像块位置。移动增量定义为:

       和                        公式(2)

我们实验中=0.03,。。。。。。

如果我们选择停止动作,我们就把目标在当前帧中的图像块位置确定下来,代理(跟踪器)会收到这个激励,然后这个结果状态会被传递到下一帧的初始状态。

激励。由于代理从状态s处获得激励,跟动作a无关,所以。。。。激励在每一帧的马尔科夫决策过程迭代中都保持为0。(应该是只在每一帧的最终位置处有定义)。跟踪打分函数=,可以用来在强化学习中更新模型。

3.3动作决策网络

我们用预先训练好的VGG-M模型初始化我们的网络。像VGG-M一样小型的卷积神经网络模型,在视觉跟踪问题中,比深层的网络更加有效。如图2所示,我们的网络有3个卷积层,这跟VGG-M的卷积层是一样的。接下来的两个全连接层(fc4,fc5)是跟非线性relu层和丢弃层相结合,两个全连接层每个都有512个输出节点。全连接层fc5和拥有110维度的动作动态向量连接。最后的全连接层(fc6,fc7)预测了给定状态的动作概率和置信度分数。第i层的权重参数用表示,整个网络的参数用W表示。

fc6层有11个输出单元跟softmax层连接,代表着给定状态下的条件概率分布。条件概率分布代表着在状态下选择动作a的概率。如图2,网络反复定位目标位置。代理(跟踪器)连续地选择动作并更新状态直到最终定位目标位置。最后的状态是通过选择停止动作或在振荡情况下下降来达到的。例如,当序列性动作是(左右左)时,意味着代理将返回先前的状态,这就是发生了振荡。置信度层(fc7)产生在给定状态下对应目标或者背景类别概率的两个输出单元。目标概率被用作跟踪器在状态下的置信度分数,这个置信度分数在跟踪过程中用于在线自适应。

4.动作决策网络的训练

这一部分我们描述了动作决策网络的训练框架。首先,在离线模式下,我们用训练视频对网络进行有关监督学习(4.1)和强化学习(4.2)的预训练,使网络学会跟踪一般物体。在有监督学习阶段,训练网络对于一个给定状态预测出一个合适的动作。在强化学习阶段,在训练序列上进行跟踪仿真,并利用动作动态对网络进行更新。在对网络离线预训练后,进行了在线自适应(4.3,为了使网络适应在跟踪测试序列时目标的外观变化和形变。在4.4部分我们描述训练ADNet的实施细节。

4.1利用有监督学习训练ADNet

在有监督学习节段,我们训练网络参数,{,……,}。我们首先需要产生训练样本来训练ADNet()。训练样本包括图像块{},动作标签,类别标签。在这个阶段,不需要考虑动作动态,我们把动作动态向量的元素设为0训练数据集包括视频帧和真值图像块位置和尺度。通过对ground truth添加高斯噪声得到样本图像块,对应的动作标签通过公式(4)得到:

G是真值图像块,代表动作a之后从移动过后的新图像块。类别标签。 。。。。。。一个训练批次由一组随机选择的训练样本组成(从1到m个,每一个都是三部分)。我们使用随机梯度下降法最小化多任务损失函数来训练ADNet。如下,多任务损失函数定义为最小化损失,(公式(6)中的i有何意义?)m代表批次个数,L代表交叉熵损失,。。。。。。

4.2用强化学习训练ADNet

在强化学习阶段,我们训练除了fc7层以外所有的网络参数,,{……})。在这阶段,用强化学习训练网络的目的就是通过策略梯度方法的使用提升性能。初始的强化学习网络拥有和被监督学习训练()过的网络同样的参数。动作动态在每次迭代中都进行更新,更新方式为积累最近k个动作并且按照“先进先出”的策略移动它们。由于强化学习的目的就是学习状态动作策略,在跟踪阶段需要的fc7置信度层我们就忽略了。

用强化学习训练ADNet的细节算法在补充材料中描述,在训练迭代环节,我们首先随机选取一个训练序列。我们随后用被标注过的训练图像序列进行跟踪模拟,进行强化学习。一个跟踪模拟过程可以产生一系列的序列性状态,对应的动作和激励,对应时间是1到。。。,帧数是从1到L。状态下的动作被指定为:公式(7)

代表状态条件概率。当我们进行跟踪模拟时,跟踪分数{}是用真值{}来计算的。就像公式(3)定义的,跟踪分数是跟踪模拟在第l帧终止状态时的激励,跟踪成功为+1,失败为-1,。我们可以使用随机梯度下降法最大化预期跟踪分数来更新网络参数,如下公式(8).

如图4展示的半监督设置一样,即使只给定部分真值{},我们的架构依然可以训练ADNet。有监督学习的框架并不能够学习没有标记的视频帧,但是,强化学习可以以一种半监督的方式学习利用未标记视频帧。在强化学习中为了训练ADNet,跟踪分数{}应该被确定,但是在未标记序列中,跟踪分数不能立马确定。相反,我们指定跟踪分数到跟踪模拟结果的激励。换句话说,未标记数据跟踪模拟的结果评估的跟有标记数据一样成功的话,未标记帧的跟踪分数被给定为+1,若不成功,则为-1,如图4。

4.3跟踪过程中在线自适应

我们的网络是在跟踪过程中在线更新。在线自适应机制可以使跟踪算法在应对外观变化或者形变时更加鲁棒。当更新ADNet时,我们固定卷积滤波器{w1,w2,w3},微调全连接层{w4,w5,w6,w7},因为卷积层应该具有一般的跟踪信息,而全连接层应该有特定视频的知识。在补充材料中描述了所提出的跟踪和在线适应方案的详细过程。我们通过使用状态动作概率来决策序列性动作,实现跟踪。我们通过使用跟踪过程中生成的时间训练样本进行监督学习,进而微调ADNet实现在线自适应。有监督学习需要被标记的样本,进而需要确定真值(ground truth)。网络确定的图像块位置用来作为时间真值。跟监督学习类似,用于在线自适应的训练样本集(大花S),其中包括在被跟踪图像块位置周围随机采样得到的图像块集合{},和对应的动作标签及类别标签。标签通过公式(4)和公式(5)可以得到。初始帧,初始样本集(大花S)使用目标初始位置产生的,微调ADNet以适应给定目标。在后续帧,如果被估计目标的置信度分数大于0.5的话,我们采用被跟踪图像块的位置产生训练样本集(大花S)。状态下的置信度分数被定义为全连接层(fc7)的目标概率。我们使用训练样本集(大花Sk),每I帧在线自适应一次,这意味着采用过去J帧产生的训练样本集。当置信度分数低于-0.5,说明目标丢失,此时启动重检测模块再次不捕获目标。我们利用随机高斯噪声在当前目标位置产生目标位置候选。重检测目标位置通过公式(9)获得,。。。。。。。

通过目标位置和动态动作向量可以指定状态。

4.3实施细节

预训练ADNet。在每一帧,通过添加高斯噪声产生训练样本,噪声均值为零,协方差矩阵为。。。。。。预训练ADNet时,每帧采集250个样本。卷积层学习率设置为0.0001,全连接层设置为0.001,动量为0.9,权重衰减到0.0005,最小批次为128。预训练有K个视频,每个视频迭代300次。在强化学习的每次迭代过程,我们随机选取长度为L的序列进行跟踪模拟。

跟踪过程中的在线自适应。在线自适应,我们只训练全连接层,学习率为0.001。在初始帧,我们通过300次迭代进行微调ADNet,通过30次迭代进行在线自适应过程。每I(10)帧在线训练一次,训练数据从前边J(20)帧重采样。对于重检测,我们采集Ndet(256)个目标候选位置。在线自适应阶段,初始帧产生N1(3000)个训练样本,在跟踪过程中置信度分数大于0.5的帧产生N0(250)个样本。另外,为了减少实际跟踪中的计算量,我们可以采用ADNet快速版本即将少量样本用于在线自适应,被称为“ADNet-fast”。在“ADNet-fast”中,我们设置N1=300,N0=50,I=30, Ndet=64。使用ADNet-fast,性能下降3%,但是,实时速度比标准版本快4倍。

5.实验

我们在广受好评的视觉跟踪基准测试集上评估我们的算法,跟现存跟踪器进行比较。同时,我们通过论证各种自我比较来验证ADNet的有效性。在我们的设置下,ADNet和ADNet-fast在GPU上分别以3 fps和15 fps运行。

我们评估算法用OTB-50和OTB-100。为了预训练ADNet,我们采用来自VOT2013,VOT2014,VOT2015和ALOV300等的训练视频,这些视频中跟OTB-50和OTB-100重复的已经被剔除在外。跟踪性能是通过包含中心位置误差和重叠率这两个指标的单通评估来测量的。中心位置误差测量的是被跟踪帧的中心和groundtrouth中心之间的距离,边界框重叠率测量的是被跟踪边界框和groundtrouth边界框之间的交比并重叠率。

5.1分析

自我比较。为了验证ADNet组件有效性,我们分析了ADNet的四种变形,并用OTB-100评估。我们首先进行最基本的“ADNet-init”,该网络没有进行预训练,简单采用初始参数;该网络卷积层参数采用VGG-M模型初始化,全连接层参数用随机噪声初始化。“ADNet+SL”是经过预训练的模型,并且采用训练序列中全被标记过的帧进行了有监督学习。“ADNet+SS”网络采用部分标记数据以半监督学习设定训练的,groundtrouth标记每10帧给一次。然后,我们利用强化学习分别训练ADNet+SL 和ADNet+SS,进而进行“ADNet+SL+RL”和 “ADNet+SS+RL”实验。ADNet+SL+RL就是我们提出的版本。精度和成功率的自我比较如图6。通过增加监督学习(SL)阶段,跟ADNet-init相比,ADNet+SL 和ADNet+SS在精度上分别提升了3.6%和2.6%。,这两者之间1%的精度差距是由于半监督学习缺乏真值标签。在进行强化学习阶段,ADNet+SL+RL 和 ADNet+SS+RL相比ADNet+SL 和 ADNet+SS,在精度上分别提升了1.9%和1.0%。结果显示,强化学习不仅可以提升监督学习下的性能,还可以提升半监督学习下的性能。

动作分析。在实验中,需要采用重检测的帧占全部帧数目的9%左右,需要超过五个动作来捕获目标的帧占全部帧只有4%左右,也就是说,大部分视频,每帧只需要少于5个动作来捕获目标。如图5 ,跟现存基于检测跟踪的跟踪器相比,我们的算法根据序列性动作捕捉目标的性能如图5。在图5第二列,绿色框,红色框,蓝色框分别代表以前目标位置,当前目标位置,和产生的候选候选目标。图5第三列,显示了基于选择序列性动作的ADNet网络的跟踪过程。我们搜索步骤包括需要的动作,重检测候选目标等,平均数是28.26每帧,比当前先进水平的跟踪器例如MDNet(平均步骤数目是256每帧)小得多。

5.2先进水平比较

我们以一种较为全面的方式,将ADNet与13中最先进的跟踪器进行比较。图7 展示了分别基于中心位置误差和重叠率的精度图和成功率图,表1用帧率总结了跟踪器跟踪性能的比较。我们的算法在精度和成功率上,都跟先进水平的跟踪器展现了可媲美的性能。我么的算法在计算上非常有效率,ADNet 比MDNet 和C-COT快大约三倍。ADNet-fast跟ADNet相比,性能下降3%,但是却达到实时速度(15帧/s),表1也展示了它跟其他基于卷积神经网络的跟踪其性能的比较。正如表1所示,ADNet-fast在所有实时跟踪算法里边性能最好。图8展示了ADNet选择序列性动作的例子。从初始位置(蓝色)到捕获的目标位置(红色)的边界框流显示在最左边的列中,状态的序列性转移也被图像块和选择的动作呈现出来。图9显示了该方法的一些失败案例。在铁人序列中,ADnet未能跟踪快速移动的目标,而所提出的动作无法适应潜水序列急剧的宽高比变化。

6.总结

本文提出一种通过ADNet控制比较新颖的跟踪器,它跟踪目标是通过反复地序列性动作。据我们所知,这是采用经强化学习训练过的序列性动作进行跟踪的第一次尝试。基于动作的跟踪对于计算复杂度的降低贡献显著。另外,强化学习使得部分标记的数据可以使用,这将极大地惠及实际应用。根据评估结果,我们的跟踪器实现了3fps的先进水平性能,比现存基于深度网络并采用检测跟踪策略的跟踪器快3倍。此外,这款追踪器的快速版本实现了实时速度(15 fps),它的精度超过了最先进的实时追踪器。


本文转自https://blog.csdn.net/susansmile1014/article/details/77968635(如有侵权,请及时告知)

代码在Windows 版本配置TensorFlow已跑通,论文正在研究中,如需代码和论文可以和我联系。


源码下载地址: https://pan.quark.cn/s/a4b39357ea24 Altium Designer 18是一款功能丰富的电子设计自动化工具,其集成了电路原理图绘制、PCB布局规划、三维视图展示、电路仿真分析以及生产文件生成等多项核心功能,为电子工程师们提供了一个全面的硬件设计解决方案。该软件的官方中文指导材料系统地阐述了从项目初始阶段到最终完成的全过程操作方法。 在“AD18 官方中文指导材料”中,使用者可以掌握以下核心内容要点: 1. **系统配置与界面认知**:熟悉Altium Designer 18的工作平台,涵盖菜单选项、工具栏配置、工作区域安排,以及个性化工作界面的设定方法。 2. **项目创建流程**:掌握如何建立新的项目工程,包括工程参数配置、项目模板选取,以及项目文件的添加操作。 3. **电路图绘制技术**:学习电路原理图的绘制流程,包括元件库的维护管理、元件放置技巧、连接线路绘制、属性编辑操作,以及网络表的自动生成方法。 4. **元件库构建与管理**:了解如何建立自定义元件库,执行元件的导入与导出任务,以及利用Altium Designer自带的元件资源库。 5. **PCB布局设计方法**:掌握PCB设计的基本准则,如元件布局策略、布线技巧、层叠结构调整、布线规则优化,以及冲突检测与短路处理技术。 6. **设计规范与约束条件**:理解设定设计规范和电气约束条件的关键性,包括间距参数设定、焊盘尺寸规格、过孔尺寸要求等,以及运用规则检查进行设计验证的流程。 7. **三维模型整合应用**:学习如何将三维模型与PCB设计内容相结合,以实现更为直观的机械配合验证。 8. **电路性能仿真技术**:掌握使用Altium Des...
源码链接: https://pan.quark.cn/s/a4b39357ea24 ### 接口测试知识要点说明 #### 一、接口测试的定义及分类 1. **概念阐释**: - 接口测试作为软件测试的关键环节,主要对系统之间的交互点进行验证。 - 它旨在核实接口的正确性、稳定性和功能性,保障各个系统组件能够依照预期执行交互操作。 2. **实施情境**: - 适用于多系统联合开发的环境。 - 适用于包含多个子系统的复杂应用系统开发过程。 3. **适用范围**: - 为其他系统提供支持的底层基础架构系统。 - 负责协调中心服务的系统架构。 4. **分类标准**: - **模块接口测试**:通常作为单元测试的一部分,适用于独立构建的功能模块。 - **Web接口测试**: - **服务端接口测试**:针对客户端与服务器端之间的接口进行验证。 - **外部接口测试**:对第三方提供的接口进行测试,例如支付平台提供的授权登录接口。 5. **测试角度**: - **接口功能验证**:核实接口功能是否满足预期要求。 - **接口性能评估**:衡量接口的处理能力及响应时间。 - **接口稳定性考察**:检测接口在长时间运行中的表现情况。 - **接口安全检测**:确保接口能够抵御非法访问或数据篡改。 6. **测试手法**: - **参数细致测试**:深入测试接口的输入参数和输出结果。 - **场景模拟测试**:依据实际业务场景进行测试验证。 #### 二、接口测试的详细流程 1. **测试规划**: - 明确测试范围、目标及所需资源。 - 规划测试策略,选择适宜的工具和技术手段。 2. **测试用例设计**: - 依据需求文档和接口规格文档设计测试用例。 - 覆...
内容概要:本文研究基于遗传算法(GA)与粒子群算法(PSO)相结合的无人机三维路径规划方法,旨在解决无人机在复杂三维环境中避障与路径优化的关键问题。通过构建包含障碍物、威胁区域等约束的三维仿真环境,系统实现了GA与PSO两种智能优化算法的Matlab代码,并对其在路径规划中的性能进行全面对比分析,重点关注路径长度、飞行安全性、算法收敛速度等核心指标。研究充分利用GA的全局搜索能力与PSO的快速局部收敛特性,提出一种混合优化策略,有效克服单一算法易陷入局部最优或收敛缓慢的缺陷。文中不仅详细阐述了算法的设计流程、数学模型与实现细节,还提供了完整的仿真结果,验证了所提混合方法在复杂动态场景下的优越性、有效性和鲁棒性,为无人机自主导航提供了可靠的理论依据和技术方案。; 适合人群:具备一定Matlab编程基础和优化算法理论知识,从事无人机系统设计、智能控制、路径规划、人工智能应用等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于城市峡谷、山区、灾害救援等复杂三维环境中的无人机自主避障与最优任务路径规划;②为智能优化算法(GA、PSO及其混合策略)的学习、性能对比与工程化应用提供详实的实践案例和代码参考;③服务于高校科研教学、算法原型快速复现、以及在此基础上的进一步改进与创新研究。; 阅读建议:建议读者结合所提供的Matlab代码进行仿真运行与调试,深入理解两种算法的参数设置、适应度函数设计及路径生成机制,可通过修改环境地图、增加动态障碍物或调整优化目标函数等方式进行扩展性研究,以深化对算法本质和应用场景的理解。
内容概要:LTK8870S是一款单通道H桥有刷直流电机驱动器,支持6.5V至20V工作电压,具备3.0A峰值电流驱动能力,适用于打印机、家用电器及工业设备等机电一体化应用。该芯片采用PWM控制接口,可通过IN1和IN2逻辑输入实现电机正转、反转、滑行与制动等多种工作模式,并支持快衰减和慢衰减两种电流衰减方式以优化电机控制性能。器件集成电流调节功能,通过VREF引脚和外部检测电阻设定限流值,有效控制电机电流并降低系统功耗。同时具备低功耗休眠模式,在IN1和IN2均为低电平时自动进入,显著节省能耗。LTK8870S还集成了多重保护机制,包括VM欠压锁定(UVLO)、过温保护(TSD)、过流保护(OCP)及自动故障恢复功能,提升系统可靠性。其ESOP-8封装带裸露焊盘,利于散热,符合无铅环保标准。; 适合人群:电子硬件工程师、电机控制系统开发者、嵌入式系统设计人员,尤其适用于从事电机驱动电路设计的中级技术人员。; 使用场景及目标:①用于控制中小型有刷直流电机的正反转与调速;②应用于需要电流限制和节能休眠功能的电池供电设备;③作为工业自动化、智能家电或办公设备中的核心驱动模块;④帮助开发者理解H桥驱动、PWM调速、电流衰减模式及保护电路的设计原理。; 阅读建议:此资源技术细节丰富,建议结合典型应用电路图与电气参数表进行硬件设计参考,重点关注PWM控制逻辑、电流调节设置及保护机制的实现方式,并在实际应用中配合示波器调试输出波形与电流响应。
内容概要:本文提出了一种基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法,旨在通过合作博弈框架协调风电、光伏与氢能系统之间的运行决策,实现多能源主体在满足个体理性前提下的整体效益最优。研究构建了考虑可再生能源出力随机性与氢能系统动态响应特性的多主体协同优化模型,采用纳什谈判机制设计利益分配规则,有效解决了各方在联合运行中的竞争与协作矛盾。通过Matlab平台完成了模型编程求解与仿真验证,结果表明该方法能够显著提升系统经济性、增强清洁能源消纳能力,并促进多主体间的合作意愿,为高比例可再生能源系统的市场化协同运行提供了理论依据与技术路径。; 适合人群:具备电力系统分析、优化建模与博弈论基础,从事新能源系统调度、综合能源系统规划与运行、能源市场机制设计等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究风–光–氢多能互补系统的协同优化机制与利益分配策略;②构建基于合作博弈的综合能源系统运行模型并进行仿真分析;③支撑硕士、博士论文复现及高水平学术论文撰写与投稿。; 阅读建议:建议结合Matlab代码深入理解纳什谈判模型的数学建模过程,重点掌握目标函数构造、约束条件处理及均衡求解算法的实现细节,同时可尝试将其拓展至Shapley值等其他合作博弈方法的对比研究,以深化对多主体协同机制的理解。
源码下载地址: https://pan.quark.cn/s/2a998390025c 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源,包含带管理端功能的报名预约系统源代码。 微信小程序开发资源...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值