没有合适的资源?快使用搜索试试~ 我知道了~
3252基于图像的摄像机定位的连续学习算法王树哲 * Zakaria Laskar* Iaroslav Melekhov Xiaotian Li Juho Kannala AaltoUniversityfirstname. aalto.fi摘要对于诸如增强现实、自动驾驶和机器人等若干新兴技术,视觉定位是关键组成部分。 直接回归凸轮- 使用深度神经网络从输入图像中提取2D姿态/3D场景坐标已经显示出巨大的潜力。然而,这样的方法假设在训练期间所有场景同时可用的静态数据分布在这篇文章中,我们在一个持续学习的设置中处理视觉定位的问题我们的研究结果表明,与分类域类似,非平稳数据在深度网络中导致灾难性遗忘,用于视觉定位。为了解决这个问题,提出了基于存储和重放来自固定缓冲器的图像的强基线。此外,我们提出了一种新的采样方法的基础上覆盖分数(Buff-CS),适应现有的采样策略在缓冲过程中的视觉定位的问题。结果表明,一致的改进,在标准的缓冲方法上的两个挑战性的数据集1. 介绍摄像机重新定位是一个基本问题,旨在估计6度的自由度(DoF)的相机相对于一个已知的环境的姿态。视觉定位旨在解决这个问题,只需要RGB图像作为输入[52传统方法[50-最近随着深度神经网络的成功,现在可以通过直接回归相机姿势[12,31这已经被证明比基于特征的方法更准确(至少对于小的*前两位作者贡献相当。1代码和材料可从https://github.com/AaltoVision/CL_HSCNet获得。规模环境)。用于视觉定位的端到端回归方法的限制之一是对具有若干场景的较大环境的有限可扩展性。虽然这些方法在单个场景上训练和评估时表现良好,但在多个场景上联合训练时性能迅速下降。这通过考虑分层方法[37]来定位给定的输入图像来缓解-在这项工作中,我们将这些方法进一步推向一般的智能设置-在此设置下,所有场景在训练期间都不可用,但会依次遇到,如图1所示。在样本和记忆效率方面,以连续的方式学习任务比在所有任务上联合训练的设置有几个好处在联合训练设置中,每次场景发生变化时,模型都需要在数据库中的所有场景上重新训练向数据库添加新场景还需要模型再训练,这会影响可扩展性。由于上述问题,需要将完整数据集存储在存储器中。相比之下,持续学习(CL)[1,2,19,35]旨在通过仅在更改/新场景和存储在小缓冲区中的先前场景的图像上微调模型来降低计算成本。此外,还降低了存储器成本,因为仅当前场景的数据需要与来自先前场景的图像的小缓冲区一起存储在存储器中。这对于存储容量受设备限制的移动应用特别重要仅对来自当前场景的图像进行训练会导致对从先前场景获得的知识的灾难性遗忘。这归因于来自当前任务图像的梯度与在先前场景上学习的模型参数的干扰。在连续学习的领域下,神经网络在这种非平稳数据分布CL问题被广泛地分类为i)类/任务CL:来自当前类/任务的所有数据都是可用的,并且3253权重转移权重转移......场景1场景2场景N缓冲器输入缓冲器输入缓冲器更新缓冲器更新缓冲器更新缓冲图1.概述我们基于回放的持续学习视觉定位方法。在每个场景(任务)迭代期间,使用当前和先前的任务样本更新模型。前者是从一个小的固定大小的缓冲区采样。在训练结束之后,通过替换来自先前任务的存储数据的部分,将当前任务样本的小子集存储在缓冲器模型被允许重复通过整个数据集,和ii)在线CL:任务边界改变sud-100。为了减轻CL的挑战,提出了几种方法:i)正则化方法[1,35,45],其使被认为对先前场景重要的权重的变化永久化或直接在训练目标中施加正交约束,ii)模块化方法[2,28,49],其增加为每个任务分配新参数的模型容量,以及iii)重放方法[22,48],其执行先前的训练目标。通过将来自先前场景的样本存储在固定大小的缓冲器中或使用生成模型来生成过去场景的图像,可以实现场景重放。所有这三种方法都导致有限的存储器和计算成本,因为正则化方法需要像基于重放的方法那样将过去的梯度或特征图存储在存储器中,而模块化方法需要增加模型大小。对于固定的模型大小,与正则化方法相比,基于经验重放的方法表现出更好的性能,并且在最近的一些工作中[19],两者的组合也会产生良好的结果。在这项工作中,我们考虑的任务CL设置的视觉定位的问题的背景下,经验重放为基础的解决方案。我们采用一些缓冲- 使用来自文献-使用这些方法创建了一个强大的基线,并突出了视觉定位问题的特定挑战。与每个图像代表整个类的分类域不同,视觉定位场景由不同的图像组成图像集跨越整个3D环境。现有的缓冲方法不考虑3D场景布局。仅存储来自场景的一部分的图像并不能保证泛化到来自其他不相交部分的图像为了保留场景的几个部分的性能,我们提出了一个缓冲过程,确保存储在缓冲区中的图像将有更高的场景覆盖率。这通过计算覆盖分数因子来完成,该覆盖分数因子指示缓冲新的传入图像是否将改善缓冲图像的现有覆盖分数。该缓冲算法在7个场景、12个场景和19个场景的数据集上的性能优于现有的缓冲算法总而言之,我们做出了以下贡献:• 介绍了视觉定位的持续学习问题。• 从跨多个室内数据集的现有缓冲方法创建强大的体验重放基线。• 提出了一种新的缓冲策略的三维几何场景的条件。2. 相关工作视觉定位。视觉定位是从图像估计6-DoF相机姿态的任务。常规方法[50-相机3254不| |→→→∈然后可以在RANSAC [25]优化循环中从2D-3D匹配中恢复姿态。最近,随着深度神经网络的成功,已经提出了基于学习的方法来解决该问题。学习整个洛-[33]第一个被证明是正确的。提出了直接回归绝对相机姿态从RGB图像,并在[12,31,32,42,47,57,63,67]中进行了改进和研究。不是直接回归-在[4,23,36,70]中,训练神经网络以相对于姿态已知的数据库图像预测查询姿态场景坐标回归方法[668,69],与姿态回归方法不同,其专注于直接从图像预测2D-3D对应关系,并且可以使用如在常规流水线中的预测的对应关系来求解相机姿态。不断学习。正则化方法惩罚对先前任务重要的权重参数的变化[1,35,45]。模块化方法[2,24,28,49]为每个新任务分配新的任务特定参数,达到零遗忘。然而,这会带来额外的内存需求。基于元学习的方法[5,30,46]使用元学习来学习顺序任务。基于重放的方法[22,29,48]使用知识蒸馏[27]来使用从先前任务存储的数据的小情景记忆进行另一方面,一些作品[3,21,40]使用情景记忆作为优化约束,其惩罚先前任务中损失的增加。储层采样[66]对数据的子集进行采样。Aljundi等[3]提出了两种采样方法,试图最大化缓冲存储器中存储的样本的梯度方向Chrysakis等人最近提出的采样方法。[22]提出了一种平衡缓冲策略来处理不平衡的类分布。3. 方法在本节中,我们提供了持续学习的简要背景,以及在持续学习设置中使用的视觉定位管道。其次是提出缓冲策略,以适应现有的持续学习解决方案的视觉定位问题。3.1. 不断学习我们考虑一个参数化的映射,如深度神经网络工作fog:xy,其中xRW×H×3是输入图像,gΘ:xy~对中间表示进行编码,并且fθ:y~y将中间表示映射到最终输出空间。给定非平稳iid数据流,D t,t=1…T,持续学习的目的是学习模型的参数f〇 g使用以下损失函数:L=argminΣLt(1)θ,Θt=1其中Lt=E(x,y)Dte(y,y),e(. )是指误差函数,例如y(和对应的地面实况标签y之间的欧几里德损失或交叉熵损失。缓冲。为了防止灾难性的遗忘,一个小在固定大小的缓冲器中存储先前数据量B。来自当前任务/类的输入图像和对应的标签被存储在缓冲器中。我们将这个在缓冲区中存储图像的过程称为Img-buff。除了图像之外,还存储提供更好的流形结构的中间表示例如,存储前softmax层logit提供编码类间语义关系的类概率的分布。缓冲器Bz存储这些表示对于缓冲器中的每个图像,B. 缓冲中间体表示被称为Rep-buff。重播重放是在学习当前任务的同时通过来自存储在缓冲器中的过去场景的对于当前任务样本和来自缓冲器B的任务样本两者,最终损失被计算为:L=Lt+E(x,y)Be(y,y)(2)存储在Bz中的中间表示可以通过知识蒸馏过程用作伪标签例如,来自当前网络状态的logit被约束为类似于存储在缓冲存储器Bz中的相应logit。L=Lt+E(x,y,y~)Bz(e(y(,y)+e(y(~,y~)(3)算法。缓冲算法决定当前任务中的哪些样本将被存储用于将来重放,以及存储在缓冲器中的哪些样本将被替换。第一阶段包括填充缓冲器直到其满为止。第二阶段则决定广告传入实例的缓冲概率。这里我们讨论两种基线方法:库采样将新实例的缓冲概率分配为B /N,其中N是观察到的实例的总数。类平衡:库采样的限制之一是类不平衡问题-缓冲区中不同类之间的基数差异。因此,不同类别的重播率也不平衡。若要创建平衡缓冲区,则在缓冲区已满时仅替换最大类中的实例。如果对应于当前样本(x)本身的类c是最大类,则缓冲器中的其样本之一以概率mc/nc被替换,其中mc是样本的数量。3255≡∼←∅←←∅←Σ∼←←∅b=1l=1--定义为y=y3D{yl}L其中y(x)对应于Sc是当前存储的c的实例,而nc是观察到的类c的总实例。补充资料中提供了库和类平衡采样的伪代码3.2. 视觉定位视觉定位的目的是从给定的输入图像中估计6DoF相机姿态。虽然已经提出了许多深度学习方法,但我们专注于一类特定的方法:深度结构化模型已被证明比基于特征的方法更准确[8,9,37]。在这些方法中,只有最近提出的HSCNet[37]具有算法1缓冲1:输入流:(x,y D t)2:c类(x)第三章: 缓冲存储器:B4:对于i=l至n,do5:如果B未被填充,则6:B(x,y)7:其他8:储液器/类平衡/缓冲液-CS9:如果结束10:结束显示了对大量不相交场景的可伸缩性一个单一的深度模型。与相关工作不同,HSCNet[37]在一组参数化分层网络层中维护场景的隐式表示,这些网络层预测每个2D像素位置的3D场景坐标使用PnP,使用2D-3D对应关系来获得最终查询相机估计。地面实况3D点y3D被分层地聚类到离散标签的从粗到细的集合yl中,其中l=1,2. L是从粗到细的集群级别,使得|y|y< 2|...|... < |y L|S<|y三维|. 组合标签集为l=1算法2Buff-CS1:如果c不是最大,则2:选择最大类3:替换为(x,y)4:其他5:国旗6:csCoverageScore(c,(x,y))7:如果CS不是,则8:标志19:其他10:mc←当前存储的c输入x的标签。我们建议读者参阅补充资料-详细的解释。对于给定图像中的每个输入像素,HSCNet[37]以粗略到精细的方式预测相应的聚类标签,其中更精细的预测是基于使用调节层的先前层的粗略预测输入图像X的视觉定位的任务损失是在所有像素上求和的每个聚类级别处的损失的总和:LLt=αl·e(y≠l,yl(x))+β·e(y≠3D,y3D(x))(4)l=1其中α1和β是加权系数。在连续学习设置中,场景被顺序地呈现1使用Eq. 4.第一章对于Img-buff,仅输入图像和对应的3D场景坐标y被存储在B. 此外,中间集群级预测,y=y3D{y?l}L也被存储用于Rep_b_u_f(c.f. 秒 4).11:nc观察到的c的12:u随机(0,1)13:如果u mc/nc,则14:标志115:如果结束16:如果结束17:如果Flag不是,则18:用(x,y)替换c的实例19:其他第20章:不想21:如果结束二十二: end if算法3Coverage Score输入:c类input:new instance(x,y)一曰: 样本数据 x b,yb|BC|从B级到C级2:使用等式(1)计算cs 1 63:返回cs13.3. 覆盖分数缓冲与分类问题不同,视觉定位场景/类在视觉上是多样的并且是独立的-在特定子场景的图像上学习定位不能够泛化到场景的其他部分。为了保持给定场景的所有子场景上的定位性能,缓冲区需要保持使场景覆盖最大化的图像。在本节中,我们提出了一种方法提供改进的场景覆盖的样本图像-称为Buff-CS。与类平衡的根本区别在于当前场景是缓冲区中最大的类的情况,并且每个新实例以概率mc/nc进行缓冲。随着nc的增加,或对于较小的mc,缓冲概率急剧下降。因此,后来的观察3256c,y (B)={||y(x)}3Dc3Db∈∅|| ≪||Σ我×被缓冲的概率较低2.在这项工作中,我们增加缓冲概率为1,如果传入的新的instance提供新的场景观察相比,观察到的缓冲图像的实例。示例场景观察可以是地面实况3D场景坐标。给定新实例x看到的3D场景坐标y3D(x)和类的缓冲图像看到这是一个由所有19个场景组成的场景。这三个大场景由 i7S ( ca. 125m3total ) , i12S ( ca.520m3total ) ,andi19S(ca.645m3)。基线。在这项工作中,我们采用两种缓冲方法作为基线,即水库[66]和类平衡[22]。这两种方法被称为Reser-Bcb=1评分因子:我们计算覆盖率分别是Voir和Class-balance。库的目的是从未知大小的输入流中采样k个数据实例,其中k是预定义的样本大小。数据cs3D=y3D ( x ) |y3D (Bc )(5)如果cs3D不是,则x观察到图像Ibc看不到的新的3D点,因此将被配准到缓冲器B中。由于在缓冲过程期间针对每个样品计算覆盖分数,因此需要有效的方法来计算覆盖分数。虽然y3D提供了覆盖分数的准确估计,但是对于密集的3D模型,这变得计算密集。我们提出了一个有效的方法来计算覆盖率分数,通过替换方程中的y3D具有最粗聚类级别y1:cs1=y1(x)|y1(Bc)(6)由于y1y3D,计算效率显著提高,但代价是较低的覆盖分数准确度。使用粗级聚类信息获得的覆盖分数的增益(参见图11)可以是最小的。表1)指示AP-近似方法仍然实现比近似方法更高的覆盖率得分。在我们的实验中,从输入流中选择的是i7S、i12S或i19S的训练帧,并且该方法保证了单个帧被选择到缓冲器中的相同概率。班级均衡旨在进一步解决在线继续学习中的班级不均衡问题。该方法保持类尽可能平衡,同时保留每个类/场景的分布除了上述方法,我们还考虑了一个弱基线-在我们将这种方法称为W/O缓冲。评估指标。在[60]之后,我们使用姿势精度评估这些方法姿势准确度定义为误差小于5cm和5mm的查询图像的百分比。我们既考虑了训练完成后的准确度,也考虑了训练过程不同阶段的平均准确度与[20]类似,后者定义为:N类平衡法算法2和算法3是Buff-CS和我们的覆盖评分方法的伪代码。A=1aN−i+1j=ii、j(七)4. 实验在本节中,我们描述了我们的实验装置。4.1. 基准和环境设置数据集。与在分类基准上评估的标准持续学习任务不同,我们选择了两个视觉定位基准,7Scenes[60]和12Scenes[64]进行实验。7Scenes记录了七个不同室内场景的RGB- D图像序列,每个序列由500- 1000帧组成12 Scenes是另一个室内RGB-D数据集,包含4个大场景 , 总 共 12 个 房 间 , 使 用 与 iPad 彩 色 相 机 耦 合Structure.io深度传感器两个数据集还提供密集的3D点和地面实况相机姿势。为了以顺序方式评估CL方法,我们将单独的七个场景和十二个场景整合到单个坐标系中,并产生类似于[9,37]的两个大场景。此外,我们还合成了最大2注意,当当前场景不是最大时,样本将具有缓冲概率1其中,N是场景的总数,并且ai,j表示在场景j上的模型的训练完成之后场景i上的模型的准确度。4.2. 实现细节在视觉定位的持续学习任务中,各个场景以增量方式被馈送到训练网络-也就是说,第一个场景中的数据被训练以估计场景坐标,然后训练权重被用作第二场景的初始化。为了在连续学习设置中训练HSCNet [37],在相应场景的训练完成后,对每个场景的训练数据进行采样并存储在缓冲器中如前所述,仅缓冲输入图像和对应的标签被称为Img-buff,并且另外缓冲中间表示被称为Rep-buff。对于Img-buff,我们将RGB图像、深度图和地面实况姿态存储到缓冲区,并且以与[37]中相同的方式生成用于训练的地面实况标签。对于Rep-buff,我们另外存储pre-softmax层logit和预测的场景坐标3257目前的模式。我们保持[37]中的大部分训练设置不变。然而,一些变化,使其适应我们的continual学习设置。首先,所有网络都使用Adam [34]优化器进行训练,学习率较小,为5e-5。第二,不同于Li等人。[37]他们用300K次迭代训练每个 这是由于连续学习任务的顺序性,即连续学习任务的连续性。每个场景上的训练仅在前一个场景完成之后才开始在[37]中报道,每个场景的训练时间约为12小时,因此如果我们保持实验的迭代次数不变,则训练将变得不切实际。此外,我们还发现,使用30K次迭代的训练仍然会产生类似的结果。5. 结果5.1. 与基线的在本节中,我们将Buff-CS方法与三个组合场景上的两个强基线(水库和类平衡)进行表1报告了在训练完成之后在所有场景上平均的姿势准确度方面的性能,以及覆盖分数(等式1)。(六)。实验了四种不同的缓冲区大小,范围从B=128到B=1024。我们还提出了两种类型的缓冲信息,即Img-buff和Rep-buff的方法的结果。除了上述方法,我们在最后一行报告了HSCNet的结果。同样值得注意的是,由于我们任务的训练时间不切实际,我们没有像[15,20,22]那样在表1中报告结果的95%置信区间然而,为了支持我们的结果,我们报告了消融研究中i7S结果准确度的95%置信区间(见表4)。我们观察到Buff-CS在所有设置中实现了最高的覆盖分数,并且在姿势准确度方面在大多数实验中优于其他两种方法。在缓冲区大小B=256和B=512的情况下,我们的方法的更高覆盖分数在所有三个组合场景上产生更好的姿态准确度。结果表明,水库基线的性能显着超过其他两种方法,由于低覆盖率得分。我们注意到,类平衡方法实现了与缓冲区大小B=128和B=1024的Buff-CS相当的性能。我们看到,在大缓冲区大小B=1024的情况下,这两种方法的覆盖率得分都超过93%,这表明场景的几乎所有部分都出现在缓冲区中,并且使用覆盖率得分的有效性变窄。其他因素,如RANSAC [25]在相机姿态估计中的鲁棒性,也会影响最终结果。在i19S上使用极小的缓冲区大小B=128,图2.在i7S上完成训练后,缓冲区大小= 256的三种方法的内存分布。当Class-balance和Buff-CS中的样本平衡时,水库遭受数据不平衡和Buff-CS的平均表现为100倍,优于水库。当比较两种缓冲策略Img-buff和Rep-buff时,我们观察到Rep-buff在较大场景和较小缓冲器长度上表现更好。特别地,在i19 S和B=128中观察到Img-buff和Rep-buff之间的最大性能差距。对于较大的缓冲区大小,B=1024,性能相当。Rep-buff的详细分析见补充资料。虽然CL方法的性能落后于联合训练设置(表1中的最后一行),但记忆(参见图1)和训练设置(参见图2)的性能都是相同的。秒5.3),并且计算效率提供了在CL设置中追求视觉定位的足够动机。为了在approaches之间进行更详细的比较,我们报告了训练完成后i7S每个场景的准确性。表2显示了使用Img缓冲液和缓冲液大小B=256的方法的结果。事实上,在[37]中的所有场景中一起训练可以实现最佳性能。当我们在没有缓冲的增量场景中训练模型时,如表2所示,先前遇到的场景的准确度为0%,这表明视觉定位网络在以连续方式训练时也遭受水库超过了国际象棋,办公室和Redkitchen的类平衡和Buff-CS这可以归因于存储在缓冲器中的对应于这些场景的更大数量的样本,参见图1B。2用于样品分配。然而,由于缓冲区中场景样本的数量减少,在Fire和Heads上的准确性急剧下降Buff-CS设法平衡缓冲区中的样本数量,并且与Class-balance相比有效地提高了覆盖分数。因此,在所有采样方法中,它通常实现更好的准确性,同时保持缓冲器中的平衡类分布。表3中的平均准确度评估了三种方法在完成新任务后对先前任务的表现。表3给出了平均准确度3258缓冲区大小缓冲方法i7Si12Si19S覆盖评分(平均百分比)准确度(%)覆盖评分(平均百分比)准确度(%)覆盖评分(平均百分比)准确度(%)IMG-buffRep-buffIMG-buffRep-buffIMG-buffRep-buff水库26.756.859.7958.367.5170.2339.633.234.371282959.664.2563.974.475.7255.247.9854.12班级平衡Buff-CS(我们的)33.261.261.1366.975.477.3358.846.4351.86水库79.369.369.4675.482.5485.8258.647.5349.4825687.370.0669.7676.585.7287.3671.164.767.31班级平衡Buff-CS(我们的)92.67271.3486.391.8592.7876.76870.09水库91.373.472.348993.6794.3370.560.1562.3451292.574.2473.690.795.6395.6386.178.6179.06班级平衡Buff-CS(我们的)97.475.8176.0695.796.4295.8591.380.9379.51水库95.875.777.0794.297.2697.1486.380.9479.5102496.977.0974.7196.398.4398.4993.185.3684.17班级平衡Buff-CS(我们的)98.776.8975.2297.798.998.119685.2385.42HSCNet(联合训练)[37]10084.1910099.010092.5表1.训练完成后,我们的方法和i7S,i12S和i19S上的两个基线的覆盖率得分和准确性。覆盖分数在所有场景上被平均。方法中的最佳和次佳结果分别以蓝色和红色突出显示。图3.在训练的每个阶段,i7S的各个场景(最后一个场景除外)的准确度(误差5cm,5◦
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功