掌桥专利:专业的专利平台
掌桥专利
首页

信标角点的定位方法、装置、终端设备及介质

文献发布时间:2024-04-18 19:52:40


信标角点的定位方法、装置、终端设备及介质

【技术领域】

本申请实施例涉及计算机技术领域,尤其涉及一种信标角点的定位方法、装置、终端设备及介质。

【背景技术】

无人机在降落的过程中,利用视觉信息进行空间位置的判断是一种直观、有效并且成本较低的方法。为了提高无人机降落的精确度,需要给无人机提供一个参考物,一种类似于二维码的aruco信标就是一种十分有效的参考物。

因此能够准确地检测出aruco信标的角点对于解码无人机空间位置是至关重要的。现有的针对aruco信标角点进行检测的方法基本有两种:1.利用Harris等角点检测的传统算法2.基于回归思路的神经网络算法。

但是目前的信标角点进行检测的方法存在实现难度大、精度差等缺点。

【发明内容】

本申请实施例提供了一种信标角点的定位方法、装置、终端设备及介质,以降低定位方法复杂性,提高角点定位精度。

第一方面,本申请实施例提供一种信标角点的定位方法,包括:将信标图输入信标角点检测模型,获取所述信标角点检测模型输出的所述信标图的无偏高斯特征,其中,所述信标角点检测模型是用于处理所述信标图的深度神经网络,所述无偏高斯特征包括以所述信标图的角点为高斯核,对所述信标图生成的高斯值分布,且所述高斯值分布未取整;对所述无偏高斯特征进行解码,以获取所述信标图的信标角点的坐标。

上述信标角点的定位方法中,并未采用现有技术的直接从信标图出发以对角点的坐标的预测,而是先识别出信标图的无偏高斯特征,再由无偏高斯特征得到角点的坐标,相比现有技术中级联的回归方法,本申请通过引入高斯特征,所使用的模型可以进行end-to-end(端到端)的训练,从而简化模型结构,降低了定位方法的实现难度,且基于高斯特征可以在关注全局信息的基础上,给予局部信息更多的关注,相同计算量的前提下,精度高于现有技术。

其中一种可能的实现方式中,所述无偏高斯特征为高斯热力图,所述高斯热力图中包括围绕每一角点形成的多个区域,所述对所述无偏高斯特征进行解码,以获取所述信标图的信标角点的坐标,包括:将所述高斯热力图的尺寸调整为与所述信标图相同;对所述高斯热力图的不同区域,获取每一区域的最大高斯值在所述高斯热力图中的位置作为初始位置;对所述初始位置进行修正,获得修正位置;获取所述修正位置的坐标作为所述信标角点的坐标。

其中一种可能的实现方式中,所述对所述初始位置进行修正,包括:依据预设的偏移量对所述初始位置进行修正。

其中一种可能的实现方式中,所述对所述初始位置进行修正,包括:在所述初始位置处进行泰勒展开并求导等于零,以获取偏移量;依据所述偏移量对所述初始位置进行修正。

其中一种可能的实现方式中,依据所述偏移量对所述初始位置进行修正,包括:

其中,X表示在所述高斯热力图中修正后的位置,X

第二方面,本申请实施例提供一种信标角点的定位装置,设置在终端设备中,所述定位装置包括:信标角点检测模型,用于获取输入的信标图的无偏高斯特征,其中,所述信标角点检测模型是用于处理所述信标图的深度神经网络,所述无偏高斯特征包括以所述信标图的角点为高斯核,对所述信标图生成的高斯值分布,且所述高斯值分布未取整;解码模块,用于对所述无偏高斯特征进行解码,以获取所述信标图的信标角点的坐标。

其中一种可能的实现方式中,所述无偏高斯特征为高斯热力图,所述高斯热力图中包括围绕每一角点形成的多个区域,所述解码模块,包括:调整模块,用于将所述高斯热力图的尺寸调整为与所述信标图相同;位置获取模块,用于对所述高斯热力图的不同区域,获取每一区域的最大高斯值在所述高斯热力图中的位置作为初始位置;修正模块,用于对所述初始位置进行修正,获得修正位置;信标角点坐标获取模块,用于获取所述修正位置的坐标作为所述信标角点的坐标。

其中一种可能的实现方式中,所述修正模块具体用于依据预设的偏移量对所述初始位置进行修正。

其中一种可能的实现方式中,所述修正模块包括:偏移量获取子模块,用于在所述初始位置处进行泰勒展开并求导等于零,以获取偏移量;修正子模块,用于依据所述偏移量对所述初始位置进行修正。

其中一种可能的实现方式中,所述依据所述偏移量对所述初始位置进行修正,包括:

其中,X表示在所述高斯热力图中修正后的位置,X

第三方面,本申请实施例提供一种终端设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的方法。

应当理解的是,本申请实施例的第二~四方面与本申请实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。

【附图说明】

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请一个实施例提供的信标角点的定位方法的流程图;

图2为本申请一个实施例提供的aruco信标的示意图;

图3为本申请一个实施例提供的信标图的高斯热力图的3D示意图;

图4为本申请一个实施例提供的信标图对应的高斯热力图的2D示意图;

图5为本申请一个实施例示出的信标角点周围的热力图的2D示意图;

图6为本说明书一个实施例提供的二维函数离散空间得到的极值点与连续空间极值点的不同;

图7为本说明书一个实施例提供的信标角点的定位装置的结构示意图。

【具体实施方式】

为了更好的理解本说明书的技术方案,下面结合附图对本申请实施例进行详细描述。

应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。

在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

现有相关技术中,对于信标角点进行检测的方法,存在以下明显的不足:

利用Harris等角点检测的传统算法,泛化能力不够强,不能够很好地处理模糊、光照变化等特殊情况。

基于回归的方法,默认角点是不同的,则想采用该方法就需要先对角点顺序进行处理,保证从算法角度来看四个角点是互不相同的,导致不能end-to-end(端到端)进行模型的训练。且该方法学习的是一种全局信息,对于局部信息关注度不够。基于回归的方法想提高定位精度的话,一般只能采用级联的方式对初始输出位置进行微调,计算复杂度高。

基于以上问题,本申请实施例提供一种信标角点的定位方法,降低定位方法复杂性,提高角点定位精度。

图1为本申请一个实施例提供的信标角点的定位方法的流程图,如图1所示,上述信标角点的定位方法可以包括:

步骤101,将信标图输入信标角点检测模型,获取所述信标角点检测模型输出的所述信标图的无偏高斯特征,其中,所述信标角点检测模型是用于处理所述信标图的深度神经网络,所述无偏高斯特征包括以所述信标图的角点为高斯核,对所述信标图生成的高斯值分布,且所述高斯值分布未取整。

信标图指如apritag、aruco等标志,所述信标图可通过特定的标志供校准设备如无人机等进行快速地检测,并计算相对位姿。图2示出了一个aruco信标的示例。

所述信标角点检测模型检测所输入的信标图,输出所述信标图的无偏高斯特征,所述信标角点检测模型是深度神经网络,该模型已经经过训练。高斯特征是以信标图的每一个角点为高斯核,对信标图所生成的高斯值分布,无偏是指一个高斯特征的位置是未取整的。示例的,一种高斯特征,将每一坐标点都作为一个高斯核,在坐标点周围填充上高斯函数计算值,距离坐标点越远,计算值越小,使用3D热力图形式进行表示如图3所示。

所述信标角点检测模型的训练过程可以是:

获取训练样本集及模型,所述模型是用于训练的神经网络如CNN,所述训练样本集中每一样本包括:训练数据和标记数据,其中,训练数据为信标图,标记数据为该信标图的无偏高斯特征。

每一个样本集中,高斯特征应当是无偏的,无偏是指一个高斯特征的位置是未取整的。示例的,高斯特征采用高斯热力图进行输出,输入的信标图的原尺寸为16.5x24.5,一个角点坐标为(9,9),将信标图缩小4倍生成高斯热力图,在现有技术中会直接以压缩的倍数进行取整,本申请认为该种方式是“有偏”的,如缩小4倍生成为4x8的热力图,则热力图上的角点坐标(3,3),其中3是由9/4=2.25取整得到,现有技术中如果将热力图上的坐标映射回信标图,则会认为角点坐标为12x12,显然该方法会造成高斯核偏移,从而使得定位出的角点较真实值出现偏移。因此,对于本申请,高斯图需要是“无偏”的,缩小后不取整,使其的位置与原图位置成比例对应,例如上述16x24的信标图,缩小4倍,无偏的热力图应当为4.125x6.125。

引入无偏高斯特征进行训练,能够提升角点的预测精度。

神经网络最基本的结构是常说的神经元,神经元具结合自身的映射函数,在阈值和权重的辅助下完成线性或非线性转换并进行记忆(记住所学习到的东西,并通过权重的改变来记忆,而阈值是恒定不变的)。BP神经网络最基本的机构明确的来讲应该是感知机。一个感知机其实就是一个最简单的BP神经网络。它由两层神经元组成,输入层接受外界输入信号后传递给输出层,输出层是M-P神经元(具有阀值函数的神经元)。

在进行神经网络训练之前需要先对网络参数进行设定,主要包括网络结构参数和训练参数的设定。网络结构参数主要包括网络层数和各层节点数的设置。

设置超参数完成后,使用所述训练样本集训练CNN,以调整CNN模型中的权重,得到信标角点检测模型。

对于训练任务,可能是基于多个批次训练,也可能是对于单个样本的训练,无论训练任务的具体执行形式,其原理都可以描述为:将信标图输出模型中,按照模型当前的参数处理信标图,得到输出值,计算输出值和无偏高斯特征的差值,得到损失,损失乘以梯度,回传进行网络参数的调整。

进行N个循环迭代训练,直到模型进行收敛。

神经网络模型一般包括训练和测试两个阶段,经训练后,在测试阶段只需要输入一张图片,信标角点检测模型就会输出该图片对应的无偏高斯特征。当高斯特征采用热力图的形式时,模型对图2的aruco信标进行处理后输出的2D高斯热力图如图4所示,图4示出了信标图对应的高斯热力图,图4中每一个白色的区域都代表一个角点及周围区域,该角点及周围的热力图如图5所示,图5中,中间白色部分表示高斯核,距离高斯核越远,高斯值越小,颜色越深。

步骤102,对所述无偏高斯特征进行解码,以获取所述信标图的信标角点的坐标。

信标角点检测模型得到的只是高斯特征值,还需依据所获取的高斯值进行解码,获取信标角点的坐标。

在一种可行的实施方式中,所述无偏高斯特征为高斯热力图,所述高斯热力图中包括围绕每一角点形成的多个区域,所述对所述无偏高斯特征进行解码,以获取所述信标图的信标角点的坐标,包括:

步骤S1,将所述高斯热力图的尺寸调整为与所述信标图相同。

本实施例中信标角点检测模型输出的无偏高斯特征采用高斯热力图的形式,得到高斯热力图后,将高斯热力图进行缩小/放大,使高斯热力图的尺寸与信标图相同。

步骤S2,对所述高斯热力图的不同区域,获取每一区域的最大高斯值在所述高斯热力图中的位置作为初始位置。

高斯热力图中的一个区域是指围绕一个角点形成的高斯分布,一个区域如图5所示。

对于每一区域,获取热力图中该区域中的最大的高斯值的位置,对于被获取的位置,本申请称为初始位置。

步骤S3,对所述初始位置进行修正,获得修正位置;

步骤S4,获取所述修正位置的坐标作为所述信标角点的坐标。

对于初始位置,其无法准确的反应最大值的位置,一种影响因素是由于图片本身的属性,如在一张800ⅹ800的热力图中,最大值的位置可能在(29.5,29.5),但由于图片的单位都是整数,所获得最大值的位置只能表示为(30,30)。

为了消除误差,需要对所获取的初始位置进行修正,将修正后的位置作为所述信标角点的坐标。

在本申请一个可行实施例中,所述对所述初始位置进行修正,包括:

依据预设的偏移量对所述初始位置进行修正。

为了消除这一误差,预先计算一个偏移量,在所获取的初始位置上减去偏移量,得到一个修正位置,这一修正位置将其作为角点的位置。

进一步的,在所述初始位置处进行泰勒展开并求导等于零,以获取偏移量;依据所述偏移量对所述初始位置进行修正。

示例的,上述修正中使用的偏移量的计算过程如下:

信标角点检测模型训练完成后,输入一张信标图,获取其的无偏高斯特征。对于无偏高斯特征中的任一角点所形成的区域,获取每一高斯特征值在信标图对应的位置。

由于图片只有整数的单位,所获得的位置也只能为整数,因此所获取的位置并不是连续的,呈现为一个离散的状态。而离散空间的极值点并不是真正的极值点,示例的,在上述位置生成的空间中插值得到连续空间,得到的结果如图6所示,图6显示了二维函数离散空间得到的极值点与连续空间极值点的不同。

在所述极大值处进行泰勒展开并求导等于零,以获取所述偏移量。

在特征空间的“离散极大值”处进行泰勒展开并求导等于0,可以得到特征空间中“连续极大值”相对于“离散极大值”的偏移量,可以利用该偏移量针对初始位置进行微调。该偏移量的获取过程可以表示为:

其中,X

在一种可行的实施方式中,所述依据所述偏移量对所述初始位置进行修正,包括:

其中,X表示在所述高斯热力图中修正后的位置,X

上述步骤还进一步的利用预测位置之间的特征梯度获取偏移量,对位置进行微调,精度更高,简单高效,可解释性强。

上述信标角点的定位方法中,并未采用现有技术的直接从信标图出发以对角点的坐标的预测,而是,先识别出信标图的无偏高斯特征,再由无偏高斯特征得到角点的坐标,相比现有技术中级联的回归方法,本申请通过引入高斯特征,所使用的模型可以进行end-to-end(端到端)的训练,简化模型结构,降低了定位方法的实现难度,且基于高斯特征可以在关注全局信息的基础上,给予局部信息更多的关注,相同计算量的前提下,精度高于现有技术。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图7为本发明一个实施例提供的信标角点的定位装置的结构示意图,上述图像美化效果的显示装置设置在终端设备中,如图7所示,上述信标角点的定位装置可以包括:信标角点检测模型71和解码模块72;

其中,信标角点检测模型71,用于获取输入的信标图的无偏高斯特征,其中,所述信标角点检测模型是用于处理所述信标图的深度神经网络,所述无偏高斯特征包括以所述信标图的角点为高斯核,对所述信标图生成的高斯值分布,且所述高斯值分布未取整;

解码模块72,用于对所述无偏高斯特征进行解码,以获取所述信标图的信标角点的坐标。

在一种可行的实施方式中,所述无偏高斯特征为高斯热力图,所述高斯热力图中包括围绕每一角点形成的多个区域,所述解码模块,包括:

调整模块,用于将所述高斯热力图的尺寸调整为与所述信标图相同;

位置获取模块,用于对所述高斯热力图的不同区域,获取每一区域的最大高斯值在所述高斯热力图中的位置作为初始位置;

修正模块,用于对所述初始位置进行修正,获得修正位置,将所述修正位置作为信标角点的位置;

信标角点坐标获取模块,用于获取所述修正位置的坐标作为所述信标角点的坐标。

在一种可行的实施方式中,所述修正模块具体用于依据预设的偏移量对所述初始位置进行修正。

在一种可行的实施方式中,所述修正模块包括:

偏移量获取子模块,用于在所述初始位置处进行泰勒展开并求导等于零,以获取偏移量;

修正子模块,用于依据所述偏移量对所述初始位置进行修正。

在一种可能的实现方式中,所述依据所述偏移量对所述初始位置进行修正,包括:

其中,X表示在所述高斯热力图中修正后的位置,X

上述实施例提供的信标角点的定位装置可用于执行本说明书所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。

本申请实施例提供一种终端设备的结构示意图,上述终端设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书所示实施例提供的信标角点的定位方法。

其中,上述终端设备可以为智能手机、平板电脑或笔记本电脑等智能电子设备,本实施例对上述终端设备的形式不作限定。

本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书所示实施例提供的信标角点的定位方法。

上述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(readonly memory,ROM)、可擦式可编程只读存储器(erasable programmable read onlymemory,EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(radio frequency,RF)等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localarea network,LAN)或广域网(wide area network,WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本发明实施例的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

需要说明的是,本申请实施例中所涉及的终端可以包括但不限于个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、无线手持设备、平板电脑(tablet computer)、手机、MP3播放器、MP4播放器等。

在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

相关技术
  • 一种低定位力双边型直线电机及削减定位力的方法
  • 双边模块化低定位力永磁同步直线电机及其性能优化方法
技术分类

06120116333405