检测摄像设备移动的方法、装置、计算机设备和存储介质与流程

文档序号:26008025发布日期:2021-07-23 21:27阅读:121来源:国知局
检测摄像设备移动的方法、装置、计算机设备和存储介质与流程

本申请涉及监控设备领域,特别是涉及一种检测摄像设备移动的方法、装置、计算机设备和计算机可读存储介质。



背景技术:

在维护公共安全领域,监控摄像设备得到广泛应用。监控摄像设备需要固定拍摄的范围并且保证镜头的稳定,摄像设备发生微小的移动也会导致监控范围出现偏差,影响公共安全的维护。但是随着监控摄像设备的部署范围逐渐扩张,人力无法保证实时检查每一个监控摄像设备的状态,因此需要摄像设备具备检查自身是否发生移动的能力。

传统利用相邻图像的像素值变化判断摄像设备是否发生移动的方法检测准确率低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高检测准确率的检测摄像设备移动的方法、装置、计算机设备和存储介质。

第一方面,提供了一种检测摄像设备移动的方法,该方法包括:

获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;

提取该第一图像和第二图像中的关键点信息;

将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;

根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;

根据该匹配矩阵判断该摄像设备是否移动。

在其中一个实施例中,将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,包括:

将该关键点信息输入训练好的图注意力网络模型,将该关键点信息通过多层感知机进行编码,得到该第一图像中关键点信息对应的第一张量集合和该第二图像中关键点信息对应的第二张量集合;

将该第一张量集合中每一个第一张量进行自注意力和交叉注意力处理,得到第一注意力特征集合,将该第二张量集合中每一个第二张量进行自注意力和交叉注意力处理,得到第二注意力特征集合。

在其中一个实施例中,根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵,包括:

在该第一注意力特征集合加入无法匹配项,得到第一最终特征集合,在该第二注意力特征集合加入无法匹配项,得到第二最终特征集合;

根据该第一最终特征集合与该第二最终特征集合进行计算,得到匹配矩阵;

根据该匹配矩阵判断该摄像设备是否移动,包括:

根据该匹配矩阵得到该第一图像与第二图像的匹配点;

根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动。

在其中一个实施例中,根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动,包括:

依次从该第一图像与第二图像的匹配点中选取四个匹配点,根据该四个匹配点计算从该第一图像变换到该第二图像的变换矩阵,得到多个变换矩阵;

计算该第一图像经过该多个变换矩阵中的每一个变换矩阵投影后能够与该第二图像匹配的匹配点数;

根据该匹配点数中最大值对应的变换矩阵对该第一图像中对应的四个匹配点进行变换,得到变换后的四个匹配点;

计算该四个匹配点与变换后的四个匹配点之间的距离,当该四个距离中任意一个距离超过了预设阈值,则判断该摄像设备发生了移动。

在其中一个实施例中,将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,包括:

将该关键点信息输入训练好的知识蒸馏模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,其中该训练好的知识蒸馏模型是根据该训练好的图注意力网络模型进行提取训练得到的。

在其中一个实施例中,该图注意力网络模型的训练过程,包括:

获取该摄像设备拍摄的第一样本图像,根据变换矩阵对将该第一样本图像进行变换得到第二样本图像;

提取该第一样本图像和第二样本图像中的关键点信息,根据该关键点信息确定第一样本图像和第二样本图像中关键点的匹配关系;

将该第一样本图像、该第二样本图像以及该关键点的匹配关系一起输入初始的图注意力网络模型,得到样本匹配矩阵;

根据该样本匹配矩阵与该关键点的匹配关系计算损失值,当该损失值大于预设准确率,得到该训练好的图注意力网络模型。

在其中一个实施例中,该方法还包括:

将该第一样本图像、该第二样本图像、该关键点的匹配关系以及该样本匹配矩阵一起输入初始的知识蒸馏模型,得到知识蒸馏样本匹配矩阵;

根据该知识蒸馏样本匹配矩阵与该关键点的匹配关系计算真实损失值,根据该知识蒸馏样本匹配矩阵与该样本匹配矩阵计算模型损失值,根据该真实损失值与该模型损失值确定蒸馏损失值,当该蒸馏损失值大于预设蒸馏准确率,得到该训练好的知识蒸馏模型。

第二方面,提供了一种检测摄像设备移动的装置,该装置包括:

获取模块,用于获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;

提取模块,用于提取该第一图像和第二图像中的关键点信息;

输入模块,用于将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;

输出模块,用于根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;

判断模块,用于根据该匹配矩阵判断该摄像设备是否移动。

第三方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现以下步骤:

获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;

提取该第一图像和第二图像中的关键点信息;

将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;

根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;

根据该匹配矩阵判断该摄像设备是否移动。

第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;

提取该第一图像和第二图像中的关键点信息;

将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;

根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;

根据该匹配矩阵判断该摄像设备是否移动。

上述检测摄像设备移动的方法、装置、计算机设备和存储介质,通过获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;提取该第一图像和第二图像中的关键点信息;将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;根据该匹配矩阵判断该摄像设备是否移动。第一注意力特征集合中融合了第一图像中所有关键点信息之间的关系,第二注意力特征集合中融合了第一图像与第二图像中关键点之间的关系,根据这些关键点信息可以准确获得两张图像的变换关系,进而判断摄像设备是否移动,提高了检测的准确率。

附图说明

图1为一个实施例中检测摄像设备移动的方法的应用环境图;

图2为一个实施例中检测摄像设备移动的方法的流程示意图;

图3为一个实施例中检测摄像设备移动的装置的结构框图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

随着监控摄像设备的部署范围逐渐扩张,人力无法保证实时检查每一个监控摄像设备的状态,因此需要摄像设备具备检查自身是否发生移动的能力。

传统的图像关键点匹配方法有最近邻匹配、匈牙利等,上述算法的核心原理是根据不同图像的关键点的描述子之间的相似度高低进行最优匹配,利用这种算法计算匹配关系的准确程度不高。而在匹配点不准确的情况下利用图像匹配算法判断摄像设备是否发生移动方法也会造成摄像设备较高的误报率。

因此本申请根据不同图像之间关键点信息的位置关系以及相互关系提出检测摄像设备移动的方法,可以准确检测的准确率。

本申请提供的检测摄像设备移动的方法,可以应用于如图1所示的应用环境中。其中,终端104通过网络获取摄像设备102拍摄的视频或者图像,终端104通过网络与服务器106进行通信。其中,终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种检测摄像设备移动的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤202,获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像。

其中,用于监控的摄像设备在正常情况下应固定放置,但是在人为或自然力的作用下摄像设备会发生移动,这种移动会造成监测区域的变化,不利于公共安全的维护。因此通过本申请所提供的技术方案,能够检测出摄像设备是否发生移动。

具体地,终端从摄像设备拍摄并存储的图像中选择不同时刻拍摄的两帧图像作为第一图像和第二图像,或者终端从摄像设备拍摄并存储的视频中提取不同时刻的两帧图像作为第一图像和第二图像。终端可以选择摄像设备在不同日期同一时刻的拍摄两帧图像,如第一图像为一天的上午10点摄像设备拍摄的图像,第二图像为另一天的上午10点摄像设备拍摄的图像。终端还可以选择同一日期中的不同时刻拍摄的两帧图像作为第一图像和第二图像,或者将不同日期的不同时刻拍摄的两帧图像作为第一图像和第二图像,都可用于实现本申请中检测摄像设备是否移动的问题。

步骤204,提取该第一图像和第二图像中的关键点信息。

其中,关键点是指图像中一些十分突出的不会因光照、尺度、旋转等因素而消失的点。关键点信息包括关键点坐标和描述子信息,关键点坐标是指关键点在图像中的坐标,描述子信息是指关键点在图像中的梯度信息。

具体地,根据图像关键点提取算法提取第一图像和第二图像中的关键点信息,可以得到第一图像的关键点信息集合和第二图像的关键点信息集合。图像关键点提取算法可以为sift(scale-invariantfeaturetransform,尺度不变特征转换)算法或者surf(speededuprobustfeatures,加速稳健特征)算法。进一步地,对于第一图像和第二图像中的每一帧图像,利用sift算法或者surf算法首先搜索所有尺度上的图像位置,通过高斯差分函数来识别潜在的关键点;通过拟合的模型确定潜在关键点的坐标位置,选择坐标位置的稳定程度较高的点作为关键点;基于图像局部的梯度方向,为每一个关键点分配一个或多个方向,后续所有操作都相对于关键点的方向、尺度和位置进行变换,可以保证变换的不变性;在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度,这些梯度作为该关键点的描述子信息。不同图像关键点提取算法的描述子信息包含内容不同,但都能够反应该关键点的内容。

步骤206,将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合。

其中,图注意力网络模型可以融合第一图像和第二图像中的关键点之间的关系,第一注意力特征集合是指第一图像中关键点之间的关系,第二注意力特征集合是指第一图像与第二图像中关键点之间的关系。

具体地,将第一图像的关键点信息集合和第二图像的关键点信息集合输入训练好的图注意力网络模型,通过图注意力网络模型中的注意力机制层提取第一图像中每一个关键点与第一图像中其他关键点之间的关系、第一图像中每一个关键点与第二图像中每一个关键点之间的关系,得到第一注意力特征集合,提取第二图像中每一个关键点与第二图像中其他关键点之间的关系、第二图像中每一个关键点与第一图像中每一个关键点之间的关系,得到第二注意力特征集合。

步骤208,根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵。

其中,匹配矩阵中的数据表示第一图像中的每个关键点与第二图像中每个关键点匹配的概率。

具体地,将第一图像中的每一个关键点信息映射到第二图像中的关键点上,得到第一图像中每一个关键点与第二图像中每一个关键点的匹配概率。进一步地,将第一注意力特征集合中的每一个关键点与第二注意力特征集合进行点乘,得到特征矩阵,将特征矩阵通过sinkhom算法转换为匹配矩阵。

步骤210,根据该匹配矩阵判断该摄像设备是否移动。

具体地,获取匹配矩阵中第一图像与第二图像的匹配点,将第一图像中的匹配点通过变换矩阵投影到第二图像上,判断第一图像中投影后匹配点与第二图像中匹配点的匹配关系,当匹配关系为不匹配时,则说明摄像设备发生了移动,则终端发出报警信号。

上述检测摄像设备移动的方法中,通过获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;提取该第一图像和第二图像中的关键点信息;将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;根据该匹配矩阵判断该摄像设备是否移动。第一注意力特征集合中融合了第一图像中所有关键点信息之间的关系,第二注意力特征集合中融合了第一图像与第二图像中关键点之间的关系,根据这些关键点信息可以准确获得两张图像的变换关系,进而判断摄像设备是否移动,提高了检测的准确率。

在一个实施例中,将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,包括:

将该关键点信息输入训练好的图注意力网络模型,将该关键点信息通过多层感知机进行编码,得到该第一图像中关键点信息对应的第一张量集合和该第二图像中关键点信息对应的第二张量集合;

将该第一张量集合中每一个第一张量进行自注意力和交叉注意力处理,得到第一注意力特征集合,将该第二张量集合中每一个第二张量进行自注意力和交叉注意力处理,得到第二注意力特征集合。

具体地,将第一图像中的每一个关键点信息中的关键点坐标与描述子信息通过多层感知机编码成固定长度的张量,得到第一张量集合;将第二图像中的每一个关键点信息的关键点坐标与描述子信息通过多层感知机编码成固定长度的张量,得到第二张量集合。进一步地,首先将关键点信息中的关键点坐标和描述子信息合成一个向量,如该关键点的坐标为(x,y),该描述子信息是一个长度为n的一维向量,合成的方式可以为将x和y加入长度为n的一维向量中,得到一个长度为n+2的向量。多层感知机是一个多层的全连接神经网络,能够将输入的多个数据集映射到单一的输出的数据集上,该多层感知机的输入为由关键点坐标和描述子信息合成的向量,输出为一个固定长度的张量dmij,其中m表示多层感知机,i表示图像的序号,j表示图像中关键点的序号。通过该多层感知机能够将每一个关键点的信息转换为一个固定长度的张量,张量的长度可以通过经验值来确定或者人为指定,本实施例在此不做限定。

图注意力网络模型中的注意力机制层包括自注意力机制层和交叉注意力机制层。首先将第一张量集合中的每一个第一张量输入自注意力机制层与第一图像中其他第一张量进行融合,得到第一自注意力特征集合,将第二张量集合中的每一个第二张量输入自注意力机制层与第二图像中其他第二张量进行融合,得到第二自注意力特征集合;然后将第一自注意力特征集合输入交叉注意力机制层与第二自注意力特征进行融合,得到第一注意力特征集合,将第二自注意力特征集合输入交叉注意力机制层与第一自注意力特征进行融合,得到第二注意力特征集合。第一图像与第二图像中的所有关键点共享自注意机制层以及交叉注意力机制层的参数。

进一步地,张量dmij首先会经过一个自注意力机制层,得到自注意力特征张量dslij,其中s1表示第一层自注意力机制层,自注意力机制层的目的是让dmij融合同一张图像中其它关键点的信息,进一步更新该关键点的特征张量为dslij;dslij经过交叉注意力机制层,得到交叉注意力特征张量dclij,其中c1表示第一层交叉注意力机制层,交叉注意力机制层的目的是让dclij融合另一张图像中所有关键点的信息,进一步更新该关键点的注意力特征为dclij。

自注意力机制层的计算过程如下:假设这同一张图一共有k个关键点,即{n1,n2,...,nk},假设每个关键点的张量长度为n,用n1表示这第一个点的张量(也叫特征);对于n1,我们可以用余弦相似度计算n1与其他所有关键点的特征相似度,即similarity=cos<n1,ni>,i是1到k,那么它自己对它自己的相似度为1,其它的为小于1,所有的相似度集合{s11,s21,s31,...,sk1},s是相似度similarity的缩写,sk1表示第k个点和第1个点的相似度;相似度集合其实就是一维的一个相似度值构成的值,对它进行softmax计算,得到的还是长度为k的一个一维的值,每个值表示的是第k个点对第一个点的相似度(经过softmax转换后的所有相似度相加为1)。每个相似度乘以他们自身的特征的和就是最终用来表征这个第一个关键点最后的特征。譬如经过转换后的第一个关键点的特征第k个点则就是一次自注意力层就是对两张图像中的每个关键点都经过这样的一次计算,得到经过转换后的每个点的特征。

交叉注意力机制层的计算和自注意力机制层的计算类似,唯一的不同是,交叉注意力机制层计算的关键点的集合是它自身这个点加上另一张图像的所有关键点。自注意力是自身这个关键点加上同一张图像中剩余的所有关键点。一次交叉注意力层就是对两张图像中的每个点都经过这样的一次计算。

进一步地,图注意力网络模型中自注意力机制层和交叉注意力机制层是成组设计的,经过n次的注意力机制层计算后,每个关键点的特征张量由dmij转换成张量dcnij,其中cn表示第n层交叉注意力机制层,设计n组注意力机制的目的是增加模型非线性和参数量。

本实施例中通过自注意力机制层和交叉注意力机制层融合第一图像与第二图像中所有关键点信息,可以更加准确描述两帧图像之间的关系,提升匹配的准确率,从而提升检测摄像设备是否移动的准确率。

在一个实施例中,根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵,包括:

在该第一注意力特征集合加入无法匹配项,得到第一最终特征集合,在该第二注意力特征集合加入无法匹配项,得到第二最终特征集合;

根据该第一最终特征集合与该第二最终特征集合进行计算,得到匹配矩阵;

根据该匹配矩阵判断该摄像设备是否移动,包括:

根据该匹配矩阵得到该第一图像与第二图像的匹配点;

根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动。

其中,第一最终特征集合中的每个数据表示第一图像中概关键点的最终特征值,第二最终特征集合中的每个数据表示第二图像中概关键点的最终特征值。

具体地,由于第一图像中不是所有的关键点都可以与第二图像中的关键点匹配上,本申请实施例增加了无法匹配项,在第一注意力特征集合加入无法匹配项,得到第一最终特征集合,在第一注意力特征集合加入无法匹配项,得到第二最终特征集合。将第一最终特征集合中所有关键点的最终特征值和第二最终特征集合中所有关键点的最终特征值进行点乘,得到特征矩阵;将特征矩阵通过sinkhorn算法转换为匹配矩阵。其中,无法匹配项中填充的数是一个可学习的超参数,通过模型的训练可获得超参数的值。

选取匹配矩阵中与某个关键点匹配概率最高的关键点的概率作为当前这个关键点的匹配概率,再将当前这个关键点的匹配概率与匹配阈值进行比较,将匹配矩阵中匹配概率高于匹配阈值的点作为第一图像与第二图像的匹配点,将第一图像中的匹配点通过单应性矩阵投影到第二图像上,根据第一图像中投影后匹配点与第二图像中匹配点的匹配关系判断相机是否发生移动。

例如,第一图像中有n个关键点,第二图像中有m个关键点,第一注意力特征集合中所有关键点的最终特征值和第二注意力特征集合中所有关键点的最终特征值点乘之后会得到n*m的特征矩阵。增加无法匹配项后,把n*m的矩阵填充为(n+1)*(m+1)。sinkhorn变换是对特征矩阵的每一行进行softmax计算,再对每一列进行softmax计算,进行n轮的计算(n的值可以根据经验值设定,可以设置为20、50或者其他值,本申请实施例在此不做限定),得到的(n+1)*(m+1)的矩阵,每一行或者每一列的值相加为1,每一行中的最大值也就是每一列中的最大值。实现了第一图像中每个关键点唯一分配到了第二图像中的m+1个点中的某一个点,若分配到第m+1个点就表示它没有匹配点。

本申请实施例中,通过增加无法匹配项将第一图像中无法与第二图像中关键点匹配的点投影到无法匹配项上,可以更加准确描述两张图像关键点之间的关系,提高匹配的准确率,进而提高检测摄像设备是否移动的准确率。

在一个实施例中,根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动,包括:

依次从该第一图像与第二图像的匹配点中选取四个匹配点,根据该四个匹配点计算从该第一图像变换到该第二图像的变换矩阵,得到多个变换矩阵;

计算该第一图像经过该多个变换矩阵中的每一个变换矩阵投影后能够与该第二图像匹配的匹配点数;

根据该匹配点数中最大值对应的变换矩阵对该第一图像中对应的四个匹配点进行变换,得到变换后的四个匹配点;

计算该四个匹配点与变换后的四个匹配点之间的距离,当该四个距离中任意一个距离超过了预设阈值,则判断该摄像设备发生了移动。

其中,匹配点是成对出现的,第一图像中的一个匹配点与第二图像中的某一个匹配点相对应。

具体地,根据匹配矩阵获取第一图像与第二图像的所有匹配点,依次从这些匹配点中任选四个匹配点,计算从第一图像变换到第二图像的单应性矩阵,得到多个单应性矩阵,其中选取的匹配点应为局内点。进一步地,假设共有n个匹配点,任意选择其中4个匹配点计算从第一图像变换到第二图像的单应性矩阵。匹配点的挑选共有种选择方式,对应个单应性矩阵,每一种选择方式对应一个单应性矩阵。

将第一图像中的所有匹配点通过多个单应性矩阵中的每一个单应性矩阵进行变换,计算变换后与第二图像可以匹配的匹配点个数,选择使得匹配点个数最多的单应性矩阵作为最佳单应性矩阵。进一步地,可以匹配是指经过单应性矩阵转换后的第一图像中的某个匹配点和第二图像中的匹配点重合,也可以说是重叠或者位置吻合,是在同一位置的(例如,可以计算这两个匹配点的欧氏距离,若欧氏距离小于一个阈值,则两个匹配点重合,则说明这个单应性矩阵对这个点可以投影匹配正确)。那么计算n个点中有多少个点投影匹配正确,假设有k个,k小等于n。对个单应性矩阵就有个k,选择最大的k对应的单应性矩阵作为最佳单应性矩阵。

将最佳单应性矩阵所使用的第一图像中的四个匹配点经过最佳单应性矩阵进行变化,得到变换后的四个匹配点。计算四个匹配点与变换后的四个匹配点之间的欧式距离,当四个距离都未超出预设距离阈值,则判断摄像设备未发生移动,当四个距离中任意一个距离超出了预设距离阈值,则判断摄像设备发生了移动。

匹配矩阵输出的所有匹配点可以被分为局内点、局外点以及错误匹配点;局内点是指两帧图像对应点的像素内容和坐标相同的匹配点,如图像中的门框、地板等无法移动的事物;局外点是指两帧图像对应点的像素内容相同,但坐标不同的匹配点,如两天的摆放位置不同的桌腿;错误匹配点是指两帧图像对应的像素内容和坐标均不同;如果选择的4个点中存在局外点和错误匹配的点,利用该4个点计算得到的单应性矩阵无法准确反映第一图像到第二图像的变换;因此上述过程是选择4个局内点,使利用该4个点计算得到的单应性矩阵能够准确反映第一图像到第二图像的变换。

本实施例中,通过计算多个单应性矩阵,从中选择最佳单应性矩阵,可以更准确地计算第一图像与第二图像的匹配关系,提高模型的泛化性以及准确率。

在一个实施例中,该图注意力网络模型的训练过程,包括:

获取该摄像设备拍摄的第一样本图像,根据变换矩阵对将该第一样本图像进行变换得到第二样本图像;

提取该第一样本图像和第二样本图像中的关键点信息,根据该关键点信息确定第一样本图像和第二样本图像中关键点的匹配关系;

将该第一样本图像、该第二样本图像以及该关键点的匹配关系一起输入初始的图注意力网络模型,得到样本匹配矩阵;

根据该样本匹配矩阵与该关键点的匹配关系计算损失值,当该损失值大于预设准确率,得到该训练好的图注意力网络模型。

具体地,终端从摄像设备拍摄并存储的图像中选择不同时刻且未发生移动的两组图像作为样本图像,两组图像中包含多对图像,每对图像中的不同时刻为不同日期中的同一时刻,例如第一组图像中某天的上午10点摄像设备拍摄的图像,第二组图像中另一天的上午10点摄像设备拍摄的图像,且第二组图像相对第一组图像而言,未发生移动。在不考虑极端天气影响的情况下,不同日期同一时刻的两帧图像的光线情况大致相同,能够将光线情况对图像关键点匹配的影响降到最低。将前一天的第一组图像中的多帧图像作为第一样本图像,将后一天的第二组图像中的多帧图像经过一定区间的随机系数进行旋转、平移和缩放的单应性矩阵变换后得到第二样本图像,此时第二样本图像就模拟为第一样本图像发生了移动,但两张图像其中大部分内容是一致的。

通过sift或surf算法提取第一样本图像和第二样本图像中的关键点信息,并通过人为标记确定第一样本图像和第二样本图像中的关键点的匹配关系。将第一样本图像、第二样本图像作为训练集,第一样本图像和第二样本图像中的关键点的匹配关系作为训练集的标签。

将第一样本图像和第二样本图像中的关键点以及训练集的标签输入到初始的图注意力网络模型,将关键点信息通过多层感知机进行编码,得到第一样本图像中关键点信息对应的第一样本张量集合和所述第二样本图像中关键点信息对应的第二样本张量集合。将所述第一样本张量集合中每一个第一样本张量进行自注意力和交叉注意力处理,得到第一样本注意力特征集合,将所述第二样本张量集合中每一个第二样本张量进行自注意力和交叉注意力处理,得到第二样本注意力特征集合。

在第一样本注意力特征集合加入无法匹配项,得到第一样本最终特征集合,在第二样本注意力特征集合加入无法匹配项,得到第二样本最终特征集合。根据第一样本最终特征集合与第二样本最终特征集合进行点乘,得到样本匹配矩阵。具体的细化过程参见应用过程实施例中的解释,本实施例在此不再赘述。

根据样本匹配矩阵中匹配正确的点与训练集标签中的匹配点总数的比值作为模型的损失,当损失大于预设损失阈值,则得到训练好的图注意力网络模型。当损失小于预设损失阈值,则反向传播更新模型中的参数,继续训练,直到得到训练好的图注意力网络模型。

在一个实施例中,将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,包括:

将该关键点信息输入训练好的知识蒸馏模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,其中该训练好的知识蒸馏模型是根据该训练好的图注意力网络模型进行提取训练得到的。

具体地,对训练好的图注意力网络模型进行剪枝操作,减少一部分的自注意力机制层和一部分的交叉注意力机制层的层数得到初始的知识蒸馏模型,将训练集的标签作为真实标签,图注意力网络模型输出的匹配矩阵作为软标签对初始的知识蒸馏模型进行有监督地训练,直到得到训练好的知识蒸馏模型。进一步地,知识蒸馏模型中注意力机制的层数可以为图注意力网络中的一半,也可以根据经验值来获得,本申请实施例在此不做限定。真实标签是硬标签,也就是第一图像中一个关键点匹配到第二图像中的某个关键点的概率是100%,其它所有点的概率全都是0,e.g.[0,0,0,0,1,0,0,0]。软标签是指第一图像中一个关键点匹配到第二图像中的的每个关键点都有一定的概率,总的概率和是1,譬如[0.001,0.001,0.997,0.001],把概率最高且大于一定阈值(譬如0.2或者其他数值)的点当作它匹配到的点,选择大于一定阈值的关键点作为匹配点是因为每个关键点总会存在与之匹配概率最大的一个关键点,但这个关键点概率太低有可能是错误的匹配点。

将关键点信息输入训练好的知识蒸馏模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合。

本实施例中的知识蒸馏模型减少了注意力机制层的层数,通过知识蒸馏网络来检测摄像设备是否移动,可以提高计算效率;通过真实标签与软标签同时对知识蒸馏模型进行训练,可以提高知识蒸馏模型的准确率和泛化性,进一步提高检测摄像设备是否移动的准确率、泛化性以及计算效率。

在一个实施例中,该方法还包括:

将该第一样本图像、该第二样本图像、该关键点的匹配关系以及该样本匹配矩阵一起输入初始的知识蒸馏模型,得到知识蒸馏样本匹配矩阵;

根据该知识蒸馏样本匹配矩阵与该关键点的匹配关系计算真实损失值,根据该知识蒸馏样本匹配矩阵与该样本匹配矩阵计算模型损失值,根据该真实损失值与该模型损失值确定蒸馏损失值,当该蒸馏损失值大于预设蒸馏准确率,得到该训练好的知识蒸馏模型。

具体地,将第一样本图像、该第二样本图像作为训练集,将关键点的匹配关系作为真实标签,将样本匹配矩阵作为软标签,有监督地训练知识蒸馏网络,通过知识蒸馏模型得到知识蒸馏样本匹配矩阵。根据知识蒸馏样本匹配矩阵中匹配正确的点与训练集标签中的匹配点总数的比值作为真实损失值。根据知识蒸馏样本匹配矩阵与样本匹配矩阵用交叉熵函数计算模型损失值。根据真实损失值与模型损失值确定蒸馏损失值,蒸馏损失值的计算公式为loss=lossh+λ*lossd,其中loss表示蒸馏损失值,lossh表示真实损失值,表示lossd模型损失值,λ用来调节二者loss的权重,是一个经验值,介于0-1之间,可以通过反向传播来调节λ。

进一步地,图注意力网络模型输出的样本匹配矩阵与知识蒸馏模型输出的知识蒸馏样本匹配矩阵都是经过sinkhorn计算过后的匹配矩阵。sinkhorn的计算形式是行的方向和列的方向都计算softmax来实现分配。因此在计算模型损失值的时候,首先可以选定行或列(选一个即可),譬如用行计算,就用图注意力网络模型的样本匹配矩阵的第一行(假设长度为m+1)和知识蒸馏模型的知识蒸馏样本匹配矩阵的第一行(假设长度为m+1)用交叉熵函数进行计算得到一个值,每行都是这样计算的(假设共n+1行),再把每行得到的值(共n+1个)求和,得到的就是最终的模型损失值,λ用来调节二者loss的权重。

应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图3所示,提供了一种检测摄像设备移动的装置,包括:获取模块302、提取模块304、输入模块306、输出模块308和判断模块310,其中:

获取模块302,用于获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;

提取模块304,用于提取该第一图像和第二图像中的关键点信息;

输入模块306,用于将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;

输出模块308,用于根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;

判断模块310,用于根据该匹配矩阵判断该摄像设备是否移动。

在一个实施例中,输入模块306还用于将该关键点信息输入训练好的图注意力网络模型,将该关键点信息通过多层感知机进行编码,得到该第一图像中关键点信息对应的第一张量集合和该第二图像中关键点信息对应的第二张量集合;

以及将该第一张量集合中每一个第一张量进行自注意力和交叉注意力处理,得到第一注意力特征集合,将该第二张量集合中每一个第二张量进行自注意力和交叉注意力处理,得到第二注意力特征集合。

在一个实施例中,输出模块308还用于在该第一注意力特征集合加入无法匹配项,得到第一最终特征集合,在该第二注意力特征集合加入无法匹配项,得到第二最终特征集合;

以及根据该第一最终特征集合与该第二最终特征集合进行计算,得到匹配矩阵;

判断模块310还用于根据该匹配矩阵得到该第一图像与第二图像的匹配点;

以及根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动。

在一个实施例中,判断模块310还用于依次从该第一图像与第二图像的匹配点中选取四个匹配点,根据该四个匹配点计算从该第一图像变换到该第二图像的变换矩阵,得到多个变换矩阵;

以及计算该第一图像经过该多个变换矩阵中的每一个变换矩阵投影后能够与该第二图像匹配的匹配点数;

以及根据该匹配点数中最大值对应的变换矩阵对该第一图像中对应的四个匹配点进行变换,得到变换后的四个匹配点;

以及计算该四个匹配点与变换后的四个匹配点之间的距离,当该四个距离中任意一个距离超过了预设阈值,则判断该摄像设备发生了移动。

在一个实施例中,输入模块306还用于将该关键点信息输入训练好的知识蒸馏模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,其中该训练好的知识蒸馏模型是根据该训练好的图注意力网络模型进行提取训练得到的。

在一个实施例中,检测摄像设备移动的装置还包括训练模块,用于获取该摄像设备拍摄的第一样本图像,根据变换矩阵对将该第一样本图像进行变换得到第二样本图像;

以及提取该第一样本图像和第二样本图像中的关键点信息,根据该关键点信息确定第一样本图像和第二样本图像中关键点的匹配关系;

以及将该第一样本图像、该第二样本图像以及该关键点的匹配关系一起输入初始的图注意力网络模型,得到样本匹配矩阵;

以及根据该样本匹配矩阵与该关键点的匹配关系计算损失值,当该损失值大于预设准确率,得到该训练好的图注意力网络模型。

在一个实施例中,训练模块还用于将该第一样本图像、该第二样本图像、该关键点的匹配关系以及该样本匹配矩阵一起输入初始的知识蒸馏模型,得到知识蒸馏样本匹配矩阵;

以及根据该知识蒸馏样本匹配矩阵与该关键点的匹配关系计算真实损失值,根据该知识蒸馏样本匹配矩阵与该样本匹配矩阵计算模型损失值,根据该真实损失值与该模型损失值确定蒸馏损失值,当该蒸馏损失值大于预设蒸馏准确率,得到该训练好的知识蒸馏模型。

关于检测摄像设备移动的装置的具体限定可以参见上文中对于检测摄像设备移动的方法的限定,在此不再赘述。上述检测摄像设备移动的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种检测摄像设备移动的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;

提取该第一图像和第二图像中的关键点信息;

将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;

根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;

根据该匹配矩阵判断该摄像设备是否移动。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,包括:将该关键点信息输入训练好的图注意力网络模型,将该关键点信息通过多层感知机进行编码,得到该第一图像中关键点信息对应的第一张量集合和该第二图像中关键点信息对应的第二张量集合;将该第一张量集合中每一个第一张量进行自注意力和交叉注意力处理,得到第一注意力特征集合,将该第二张量集合中每一个第二张量进行自注意力和交叉注意力处理,得到第二注意力特征集合。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵,包括:在该第一注意力特征集合加入无法匹配项,得到第一最终特征集合,在该第二注意力特征集合加入无法匹配项,得到第二最终特征集合;根据该第一最终特征集合与该第二最终特征集合进行计算,得到匹配矩阵;根据该匹配矩阵判断该摄像设备是否移动,包括:根据该匹配矩阵得到该第一图像与第二图像的匹配点;根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动,包括:依次从该第一图像与第二图像的匹配点中选取四个匹配点,根据该四个匹配点计算从该第一图像变换到该第二图像的变换矩阵,得到多个变换矩阵;计算该第一图像经过该多个变换矩阵中的每一个变换矩阵投影后能够与该第二图像匹配的匹配点数;根据该匹配点数中最大值对应的变换矩阵对该第一图像中对应的四个匹配点进行变换,得到变换后的四个匹配点;计算该四个匹配点与变换后的四个匹配点之间的距离,当该四个距离中任意一个距离超过了预设阈值,则判断该摄像设备发生了移动。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,包括:将该关键点信息输入训练好的知识蒸馏模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,其中该训练好的知识蒸馏模型是根据该训练好的图注意力网络模型进行提取训练得到的。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:该图注意力网络模型的训练过程,包括:获取该摄像设备拍摄的第一样本图像,根据变换矩阵对将该第一样本图像进行变换得到第二样本图像;提取该第一样本图像和第二样本图像中的关键点信息,根据该关键点信息确定第一样本图像和第二样本图像中关键点的匹配关系;将该第一样本图像、该第二样本图像以及该关键点的匹配关系一起输入初始的图注意力网络模型,得到样本匹配矩阵;根据该样本匹配矩阵与该关键点的匹配关系计算损失值,当该损失值大于预设准确率,得到该训练好的图注意力网络模型。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:该方法还包括:将该第一样本图像、该第二样本图像、该关键点的匹配关系以及该样本匹配矩阵一起输入初始的知识蒸馏模型,得到知识蒸馏样本匹配矩阵;根据该知识蒸馏样本匹配矩阵与该关键点的匹配关系计算真实损失值,根据该知识蒸馏样本匹配矩阵与该样本匹配矩阵计算模型损失值,根据该真实损失值与该模型损失值确定蒸馏损失值,当该蒸馏损失值大于预设蒸馏准确率,得到该训练好的知识蒸馏模型。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取摄像设备在不同时刻拍摄的两帧图像,得到第一图像和第二图像;

提取该第一图像和第二图像中的关键点信息;

将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合;

根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵;

根据该匹配矩阵判断该摄像设备是否移动。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,包括:将该关键点信息输入训练好的图注意力网络模型,将该关键点信息通过多层感知机进行编码,得到该第一图像中关键点信息对应的第一张量集合和该第二图像中关键点信息对应的第二张量集合;将该第一张量集合中每一个第一张量进行自注意力和交叉注意力处理,得到第一注意力特征集合,将该第二张量集合中每一个第二张量进行自注意力和交叉注意力处理,得到第二注意力特征集合。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据该第一注意力特征集合以及该第二注意力特征集合进行计算,得到匹配矩阵,包括:在该第一注意力特征集合加入无法匹配项,得到第一最终特征集合,在该第二注意力特征集合加入无法匹配项,得到第二最终特征集合;根据该第一最终特征集合与该第二最终特征集合进行计算,得到匹配矩阵;根据该匹配矩阵判断该摄像设备是否移动,包括:根据该匹配矩阵得到该第一图像与第二图像的匹配点;根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据该第一图像与第二图像的匹配点计算变换矩阵,根据该变换矩阵判断摄像设备是否发生移动,包括:依次从该第一图像与第二图像的匹配点中选取四个匹配点,根据该四个匹配点计算从该第一图像变换到该第二图像的变换矩阵,得到多个变换矩阵;计算该第一图像经过该多个变换矩阵中的每一个变换矩阵投影后能够与该第二图像匹配的匹配点数;根据该匹配点数中最大值对应的变换矩阵对该第一图像中对应的四个匹配点进行变换,得到变换后的四个匹配点;计算该四个匹配点与变换后的四个匹配点之间的距离,当该四个距离中任意一个距离超过了预设阈值,则判断该摄像设备发生了移动。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将该关键点信息输入训练好的图注意力网络模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,包括:将该关键点信息输入训练好的知识蒸馏模型,得到该第一图像对应的第一注意力特征集合和该第二图像对应的第二注意力特征集合,其中该训练好的知识蒸馏模型是根据该训练好的图注意力网络模型进行提取训练得到的。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:该图注意力网络模型的训练过程,包括:获取该摄像设备拍摄的第一样本图像,根据变换矩阵对将该第一样本图像进行变换得到第二样本图像;提取该第一样本图像和第二样本图像中的关键点信息,根据该关键点信息确定第一样本图像和第二样本图像中关键点的匹配关系;将该第一样本图像、该第二样本图像以及该关键点的匹配关系一起输入初始的图注意力网络模型,得到样本匹配矩阵;根据该样本匹配矩阵与该关键点的匹配关系计算损失值,当该损失值大于预设准确率,得到该训练好的图注意力网络模型。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:该方法还包括:将该第一样本图像、该第二样本图像、该关键点的匹配关系以及该样本匹配矩阵一起输入初始的知识蒸馏模型,得到知识蒸馏样本匹配矩阵;根据该知识蒸馏样本匹配矩阵与该关键点的匹配关系计算真实损失值,根据该知识蒸馏样本匹配矩阵与该样本匹配矩阵计算模型损失值,根据该真实损失值与该模型损失值确定蒸馏损失值,当该蒸馏损失值大于预设蒸馏准确率,得到该训练好的知识蒸馏模型。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1