一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视觉信息特征指纹库构建方法、定位方法及装置与流程

2021-10-24 12:28:00 来源:中国专利 TAG:定位 方法 指纹 装置 构建


1.本发明涉及定位技术领域,尤其涉及一种视觉信息特征指纹库构建方法、定位方法及装置。


背景技术:

2.近年来,服务类机器人已经越来越多地走进了人们的日常生活中,各式各样的人工智能服务给我们的生活带来了很大的便捷,精准的位置信息对保证它们的服务能力而言意义重大。由于墙壁等障碍物的遮挡,在室内环境中,若仅仅依靠卫星信号进行室内定位,定位精度和稳定性都会受到影响。在获取位置信息时,定位精度和稳定性是首要的需求,大多数情况下也需要有实时性的保证。精度高、稳定性强、实时性优良的室内定位技术已经成为各国研究的热点。
3.由于室内环境较为复杂,基于无线信号的定位技术往往会受到多径、非视距等因素的影响,导致定位结果稳定性降低。移动机器人还可以使用自身搭载的传感器感知周围环境,完成室内定位任务,例如,视觉传感器、红外传感器、激光雷达、超声波等。视觉传感器具有易于搭载、经济实用的优势,且室内复杂的环境为基于视觉信息的定位技术提供了便利。但基于视觉信息几何计算的定位技术计算和存储资源开销较大,且高精度建图需要的设备价格昂贵,难以在大众普及的低成本室内移动机器人上实现。而基于视觉信息位置指纹的定位技术可以通过位置指纹获取绝对位置参照,且不需要对室内空间建立稠密地图,在满足室内移动机器人对定位精度、稳定性和实时性需求的同时可以降低机器人成本、节约计算和存储资源,成为了机器人室内定位技术的重要研究方向。
4.在基于视觉信息的指纹定位技术中,指纹点分布情况、指纹库的构建方式和指纹映射方式会影响到定位精度与实时性。增加指纹点数量可能对提高定位精度有一定帮助,但也可能增加指纹点之间的相互干扰,并且会增加指纹库规模,降低定位精度和速度。指纹库规模和指纹内容直接影响定位速度,由于室内环境复杂且相邻指纹点的视觉信息存在包含关系,通过直接提取视觉信息特征建立的指纹库存在冗余信息,导致指纹库庞杂、指纹数据冗余。传统的位置指纹库中,指纹点与指纹信息之间存在唯一的映射关系,但在视觉信息指纹库中,视觉信息的包含关系降低了位置指纹的特异性,逐个指纹点匹配的方法不再适用且速度较慢。因此,需要针对视觉特征描述子和室内环境中视觉信息的特点设计合理的位置指纹点分布策略,并从构建轻量级指纹库和改变指纹映射方式的角度设计基于视觉信息特征描述的轻量级指纹定位算法,提高定位精度和速度。
5.目前,有很多利用室内空间视觉信息建立指纹库实现室内定位的方法。部分研究人员通过辅助定位的标志或设备建立视觉信息与位置的指纹映射关系。例如,使用二维码提供真实位置,通过室内机器人运动到二维码附近时完成扫码、解码的操作来直接获取自身真实位置。或者,使用外观不同的多种地标提供绝对位置的辅助,在定位过程中按照识别出的待定位目标获取到的图像中的地标对地标的优先度进行排序,并根据数据库中地标的位置计算出待定位目标所在的位置。也有使用led灯作为位置指纹的方法,将位置信息编码
进led灯光中,通过相机拍摄到的灯光闪烁条纹解码出灯所在的位置,从而为待定位目标提供位置参考。
6.这些直接提供绝对位置信息的地标作为视觉信息指纹的方法可以得到较为精确的定位结果。但在一些服务类机器人工作的场所中,二维码、地标、led灯等辅助定位标志或设备不易布设,且容易受到外界影响或损毁,进而影响到定位效果。
7.在使用原始图像作为位置指纹或构建点云地图作为指纹库时,全局的视觉信息或视觉特征描述子相关信息被保存下来,这些完整的视觉信息对导航、避障等功能有一定帮助,但是对基本的定位功能来说信息量较高,会影响到指纹库的检索速度,进而影响定位速度。在人流密集、环境复杂的应用场景内张贴额外的辅助标志时,辅助标志会被遮挡、破坏或出现污损,从而导致定位效果受到影响。二维码、位置信息编码等需要扫描、解码来完成信息传输的方式对信息码的完整性要求更高。


技术实现要素:

8.有鉴于此,本发明提供了一种视觉信息特征指纹库构建方法、定位方法及装置,以在保证定位精度与稳定性的同时提高定位速度。
9.为了达到上述目的,本发明采用以下方案实现:
10.根据本发明实施例的一个方面,提供了一种视觉信息特征指纹库构建方法,包括:
11.根据设定视觉特征提取与描述算法所使用的尺度金字塔层数和尺度因子,计算用于保证相应视觉特征描述子尺度不变性的有效范围;
12.根据设定室内环境中不同两个视觉障碍物之间的距离和所述有效范围,计算相应两个视觉障碍物之间范围内不同两个相邻指纹点之间的有效间隔,根据有效间隔确定相应两个相邻指纹点之间的相对位置;
13.根据设定室内环境中各两个相邻指纹点之间的相对位置布设所述设定室内环境中的指纹点;
14.采集所述设定室内环境中的各指纹点处的视觉信息,并利用所述设定视觉特征提取与描述算法对指纹点处的视觉信息进行处理,得到相应指纹点处的视觉特征描述子,形成相应指纹点的位置与包括视觉特征描述子的视觉特征信息的映射关系,从而得到所述设定室内环境对应的初始视觉信息特征指纹库;
15.对初始视觉信息特征指纹库中位于同一直线位置的指纹点在相同方向上采集的视觉信息对应的视觉特征信息进行聚类分析,以得到去冗余后的视觉信息特征指纹库。
16.在一些实施例中,对初始视觉信息特征指纹库中位于同一直线位置的指纹点在相同方向上采集的视觉信息对应的视觉特征信息进行聚类分析,以得到去冗余后的视觉信息特征指纹库,包括:
17.根据初始视觉信息特征指纹库中位于同一行位置或同一列位置的指纹点的数量和相应指纹点在相同方向上采集的视觉信息对应的视觉特征信息中的特征点的数量确定聚类质心数量;
18.根据初始视觉信息特征指纹库中位于同一行位置或同一列位置的指纹点在相同方向上采集的视觉信息对应的视觉特征信息中的视觉特征描述子,得到参与聚类计算的视觉特征描述子集合;
19.从参与聚类计算的视觉特征描述子集合中随机选择一个视觉特征描述子,作为收集的聚类质心,并计算选择的视觉特征描述子与参与聚类计算的视觉特征描述子集合中其余视觉特征描述子的距离,得到参与聚类计算的视觉特征描述子集合中与选择的视觉特征描述子的距离最远的视觉特征描述子,作为收集的聚类质心;
20.根据选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离的一半,将参与聚类计算的视觉特征描述子集合中的视觉特征描述子分为两部分视觉特征描述子集合,利用每部分视觉特征描述子集合更新参与聚类计算的视觉特征描述子集合,迭代执行从参与聚类计算的视觉特征描述子集合中随机选择一个视觉特征描述子,作为收集的聚类质心,并计算选择的视觉特征描述子与参与聚类计算的视觉特征描述子集合中其余视觉特征描述子的距离,得到参与聚类计算的视觉特征描述子集合中与选择的视觉特征描述子的距离最远的视觉特征描述子,作为收集的聚类质心,直到所有收集的聚类质心的数量为确定的聚类质心数量;
21.根据所有收集的聚类质心得到去冗余后的视觉信息特征指纹库。
22.在一些实施例中,计算选择的视觉特征描述子与参与聚类计算的视觉特征描述子集合中其余视觉特征描述子的距离,得到参与聚类计算的视觉特征描述子集合中与选择的视觉特征描述子的距离最远的视觉特征描述子,包括:
23.从参与聚类计算的视觉特征描述子集合中其余视觉特征描述子中遍历视觉特征描述子,计算选择的视觉特征描述子与当前遍历的视觉特征描述子的距离,若选择的视觉特征描述子与当前遍历的视觉特征描述子的距离大于选择的视觉特征描述子与之前遍历的所有视觉特征描述子的距离,则将选择的视觉特征描述子与当前遍历的视觉特征描述子的距离更新为当前与选择的视觉特征描述子的距离最远的视觉特征描述子,直到参与聚类计算的视觉特征描述子集合中其余视觉特征描述子中的每个视觉特征描述子被遍历完,得到参与聚类计算的视觉特征描述子集合中与选择的视觉特征描述子的距离最远的视觉特征描述子,以及参与聚类计算的视觉特征描述子集合中各视觉特征描述子与选择的视觉特征描述子的距离的排序;
24.根据选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离的一半,将参与聚类计算的视觉特征描述子集合中的视觉特征描述子分为两部分视觉特征描述子集合,包括:
25.根据选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离的一半,依据参与聚类计算的视觉特征描述子集合中各视觉特征描述子与选择的视觉特征描述子的距离的排序,将参与聚类计算的视觉特征描述子集合中的视觉特征描述子分为两部分视觉特征描述子集合;
26.根据所有收集的聚类质心得到去冗余后的视觉信息特征指纹库,包括:
27.重新计算每个收集的聚类质心对应的视觉特征描述子集合的聚类质心向量,得到相应的修正后的聚类质心;
28.根据修正后的聚类质心得到相应的指纹点和包含相应的视觉特征描述子的视觉特征信息的映射关系,从而得到去冗余后的视觉信息特征指纹库。
29.在一些实施例中,聚类质心数量表示为:
[0030][0031]
其中,k表示聚类质心数量,m表示初始视觉信息特征指纹库中位于同一行位置或同一列位置的指纹点的数量,n表示指纹点在相同方向上采集的视觉信息对应的视觉特征信息中的特征点数量的平均值,r表示用于保证相应视觉特征描述子尺度不变性的有效范围;
[0032]
在视觉特征描述子为非二进制描述子的情况下,修正后的聚类质心表示为:
[0033][0034]
在视觉特征描述子为二进制描述子的情况下,修正后的聚类质心表示为:
[0035][0036]
其中,表示修正后的聚类质心的向量中的第j位,j的取值范围为1到q的整数,q表示视觉特征描述子的维数,i表示参与聚类计算的视觉特征描述子集合中的每个视觉特征描述子,u表示参与聚类计算的视觉特征描述子集合中视觉特征描述子的数量,d
max
表示选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离;
[0037]
用于保证相应视觉特征描述子尺度不变性的有效范围表示为:
[0038]
r=(σ)
(q

1)

[0039]
其中,r表示有效范围,σ表示尺度因子,q表示尺度金字塔层数;
[0040]
两个相邻指纹点之间的有效间隔表示为:
[0041][0042]
其中,d表示有效间隔,w表示两个视觉障碍物之间的距离,r表示有效范围。
[0043]
根据本发明实施例的另一个方面,还提供了一种基于视觉信息特征指纹的定位方法,包括:
[0044]
利用采集设备实时采集设定室内环境中的视觉信息;
[0045]
利用设定视觉特征提取与描述算法对实时采集的视觉信息进行处理,得到实时视觉特征描述子;
[0046]
获取利用上述任一实施例所述的视觉信息特征指纹库构建方法得到的去冗余后的视觉信息特征指纹库,并从去冗余后的视觉信息特征指纹库中按直线位置检索实时视觉特征描述子,得到与实时视觉特征描述子匹配的视觉特征描述子对应的指纹点的位置,用于得到采集设备的实时位置,其中,所述直线位置为行位置或列位置。
[0047]
在一些实施例中,利用采集设备实时采集设定室内环境中的视觉信息,包括:
[0048]
利用采集设备上方向相反的两个摄像头分别采集设定室内环境中的视觉信息;
[0049]
利用设定视觉特征提取与描述算法对实时采集的视觉信息进行处理,得到实时视
觉特征描述子,包括:
[0050]
利用设定视觉特征提取与描述算法分别对实时采集的每个视觉信息进行处理,得到相应两个方向上的实时视觉特征描述子;
[0051]
从去冗余后的视觉信息特征指纹库中按直线位置检索实时视觉特征描述子,得到与实时视觉特征描述子匹配的视觉特征描述子对应的指纹点的位置,用于得到采集设备的实时位置,包括:
[0052]
从去冗余后的视觉信息特征指纹库中按直线位置分别检索两个方向上的实时视觉特征描述子,得到与每个实时视觉特征描述子匹配的视觉特征描述子对应的指纹点的位置,结合两个方向上的实时视觉特征描述子对应的指纹点的位置得到采集设备的实时位置。
[0053]
在一些实施例中,从去冗余后的视觉信息特征指纹库中按直线位置检索实时视觉特征描述子,得到与实时视觉特征描述子匹配的视觉特征描述子对应的指纹点的位置,用于得到采集设备的实时位置,包括:
[0054]
根据去冗余后的视觉信息特征指纹库中同一直线位置的与实时视觉特征描述子匹配的视觉特征描述子的数量与所有直线位置的与实时视觉特征描述子匹配的视觉特征描述子的数量的比值计算直线位置的位置置信度;
[0055]
根据位置置信度最高的前设定数量的直线位置的匹配出的视觉特征描述子对应的指纹点的位置确定采集设备的实时位置。
[0056]
在一些实施例中,根据位置置信度最高的前设定数量的直线位置的匹配出的视觉特征描述子对应的指纹点的位置确定采集设备的实时位置,包括:
[0057]
利用位置置信度对位置置信度最高的前设定数量的直线位置的匹配出的视觉特征描述子对应的指纹点的位置进行加权计算,得到加权后的指纹点的位置,作为采集设备的实时位置。
[0058]
根据本发明实施例的另一个方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
[0059]
根据本发明实施例的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
[0060]
本发明实施例的视觉信息特征指纹库构建方法、基于视觉信息特征指纹的定位方法、电子设备及计算机可读存储介质,通过先确定用于保证相应视觉特征描述子尺度不变性的有效范围,再利用有效范围确定指纹点的合理间隔,并布设室内环境的指纹点,以此能够在保证指纹点定位精度的情况下,使得指纹点尽可能分布稀疏,是视觉特征指纹库轻量化。另外,通过进一步对视觉特征信息进行聚类,以此能进一步对指纹点匹配的多个视觉特征信息去冗余,从而使得实际使用中的视觉特征指纹库更加轻量化。在保证指纹区分度的同时有效地减少了指纹点数量,去除了指纹库中的冗余信息,加快了指纹库检索速度,在满足定位精度和稳定性需求的前提下显著提高了定位速度。
附图说明
[0061]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0062]
图1是本发明一实施例的视觉信息特征指纹库构建方法的流程示意图;
[0063]
图2是本发明一实施例的基于视觉信息特征指纹的定位方法的流程示意图;
[0064]
图3是本发明一具体实施例的基于视觉信息特征指纹的定位方法的算法结构示意图。
具体实施方式
[0065]
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
[0066]
需要预先说明的是,下述实施例或示例的描述或其中所提及的特征可以以相同或类似的方式,与其他实施例或示例中的特征组合,或替换其他实施例或示例中的特征,以形成可能的实施方式。另外,本文所使用的术语“包括/包含”是指特征、要素、步骤或组件的存在,但并不排除还存在一个或多个其他特征、要素、步骤或组件。
[0067]
发明人经过对现有方法进行研究与分析,发现现有研究对指纹点的位置和位置指纹的采集方式进行了描述,但缺少对在指纹定位过程中指纹点分布的合理性的探索。基于此,本发明提出了指纹点的稀疏化分布策略,从理论层面通过相关研究得出了在室内空间中利用视觉信息特征作为位置指纹时指纹点间的有效间隔,以此能够在保证指纹特异性和覆盖全面的前提下建立轻量级指纹库,从而能够保证定位精度与稳定性的同时提高定位速度。
[0068]
图1是本发明一实施例的视觉信息特征指纹库构建方法的流程示意图,如图1所示,该些实施例的视觉信息特征指纹库构建方法,可包括以下步骤s110~步骤s150。
[0069]
下面将对步骤s110至步骤s150的具体实施方式进行详细说明。
[0070]
步骤s110:根据设定视觉特征提取与描述算法所使用的尺度金字塔层数和尺度因子,计算用于保证相应视觉特征描述子尺度不变性的有效范围。
[0071]
该步骤s110中,在利用视觉特征提取与描述算法进行视觉特征提取时,为了保证视觉特征描述子的尺度不变性,会利用不同尺度的图像构建图像金字塔,而在构建图像金字塔时进行上采样和降采样时会用到尺度因子。所以,利用尺度金字塔的层数和尺度因子可以有效得到保证相应视觉特征描述子尺度不变性的有效范围。
[0072]
在一些实施例中,尺度金字塔层数和尺度因子可以是以幂次关系计算得到有效范围,在其他实施例中可以以其他函数关系(如乘积)得到有效范围。
[0073]
例如,用于保证相应视觉特征描述子尺度不变性的有效范围可表示为:
[0074]
r=(σ)
(q

1)

[0075]
其中,r表示有效范围,σ表示尺度因子,q表示尺度金字塔层数。
[0076]
该实施例中,r具体可以表示像素变化比例范围。
[0077]
步骤s120:根据设定室内环境中不同两个视觉障碍物之间的距离和所述有效范围,计算相应两个视觉障碍物之间范围内不同两个相邻指纹点之间的有效间隔,根据有效
间隔确定相应两个相邻指纹点之间的相对位置。
[0078]
该步骤s120中,基于有效范围确定有效间隔,可以在保证视觉指纹定位精确度的情况下使用尽可能稀疏的指纹点。
[0079]
在一些实施例中,可以根据两个视觉障碍物之间的距离除以根据有效范围确定的分割的空间的数量得到有效间隔(或称合理间隔)。在其他实施例中,不排除可以采用其他方式结合有效范围得到有效间隔。
[0080]
例如,两个相邻指纹点之间的有效间隔可表示为:
[0081][0082]
其中,d表示有效间隔,w表示两个视觉障碍物之间的距离,r表示有效范围。
[0083]
步骤s130:根据设定室内环境中各两个相邻指纹点之间的相对位置布设所述设定室内环境中的指纹点。
[0084]
该步骤s130中,可以根据得到的有效间隔确定一个室内环境中的指纹点分布。具体实施时,可以使指纹点在室内环境中均匀分布。
[0085]
步骤s140:采集所述设定室内环境中的各指纹点处的视觉信息,并利用所述设定视觉特征提取与描述算法对指纹点处的视觉信息进行处理,得到相应指纹点处的视觉特征描述子,形成相应指纹点的位置与包括视觉特征描述子的视觉特征信息的映射关系,从而得到所述设定室内环境对应的初始视觉信息特征指纹库。
[0086]
该步骤s140中,该视觉信息可以是图像,可以利用待定位设备(如机器人)上的摄像头采集图像。可以利用算法对采集的图像进行特征提取,并可以根据提取的特征形成视觉特征描述子。初始视觉信息特征指纹库可以包括室内环境中各个指纹点位置和相应视觉特征信息的映射关系。视觉特征信息包括视觉特征描述子,还可包括其他相关信息。基于保持尺度不变性的有效范围确定有效范围,进而布设指纹点,采集视觉信息,可以大大减少采集的视觉信息的数量。
[0087]
步骤s150:对初始视觉信息特征指纹库中位于同一直线位置的指纹点在相同方向上采集的视觉信息对应的视觉特征信息进行聚类分析,以得到去冗余后的视觉信息特征指纹库。
[0088]
该步骤s150中,该直线位置,可以是指指纹点位于同一行的位置,或者位于同一列的位置。相同方向可以是指采集视觉信息的时摄像头的朝向相同。可以利用各种可行的聚类算法进行聚类分析。考虑到在实际的指纹库构建工作中,不同位置指纹点处能够完成特征匹配的视觉特征描述子仍然较多,而这些完成匹配的描述子在距离上是相近的,且与其他描述子在距离上相差较远,所以通过聚类分析可以减少这样的视觉特征描述子的数量,且能保证定位精度。
[0089]
在一些实施例中,可以利用aik

means算法对视觉特征信息进行聚类分析。可以根据指纹点数量和特征点数量进行聚类分析。
[0090]
示例性地,上述步骤s150中,对初始视觉信息特征指纹库中位于同一直线位置的指纹点在相同方向上采集的视觉信息对应的视觉特征信息进行聚类分析,以得到去冗余后的视觉信息特征指纹库,具体可包括步骤:s151,根据初始视觉信息特征指纹库中位于同一行位置或同一列位置的指纹点的数量和相应指纹点在相同方向上采集的视觉信息对应的
视觉特征信息中的特征点的数量确定聚类质心数量;s152,根据初始视觉信息特征指纹库中位于同一行位置或同一列位置的指纹点在相同方向上采集的视觉信息对应的视觉特征信息中的视觉特征描述子,得到参与聚类计算的视觉特征描述子集合;s153,从参与聚类计算的视觉特征描述子集合中随机选择一个视觉特征描述子,作为收集的聚类质心,并计算选择的视觉特征描述子与参与聚类计算的视觉特征描述子集合中其余视觉特征描述子的距离,得到参与聚类计算的视觉特征描述子集合中与选择的视觉特征描述子的距离最远的视觉特征描述子,作为收集的聚类质心;s154,根据选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离的一半,将参与聚类计算的视觉特征描述子集合中的视觉特征描述子分为两部分视觉特征描述子集合,利用每部分视觉特征描述子集合更新参与聚类计算的视觉特征描述子集合,迭代执行从参与聚类计算的视觉特征描述子集合中随机选择一个视觉特征描述子,作为收集的聚类质心,并计算选择的视觉特征描述子与参与聚类计算的视觉特征描述子集合中其余视觉特征描述子的距离,得到参与聚类计算的视觉特征描述子集合中与选择的视觉特征描述子的距离最远的视觉特征描述子,作为收集的聚类质心,直到所有收集的聚类质心的数量为确定的聚类质心数量;s155,根据所有收集的聚类质心得到去冗余后的视觉信息特征指纹库。
[0091]
上述步骤s151中,可以将同一行或列位置的相同方向上对应的所有指纹点作为参与聚类的指纹点,可以利用参与聚类的指纹点的数量和每个指纹点的特征点数量,确定聚类质心数量。进一步的实施例中,还可以结合有效范围计算聚类质心数量。
[0092]
例如,聚类质心数量可表示为:
[0093][0094]
其中,k表示聚类质心数量,m表示初始视觉信息特征指纹库中位于同一行位置或同一列位置的指纹点的数量,n表示指纹点在相同方向上采集的视觉信息对应的视觉特征信息中的特征点数量的平均值(或者说是单个指纹点处采集的特征点数量),r表示用于保证相应视觉特征描述子尺度不变性的有效范围。
[0095]
上述步骤s153中,随机选择视觉特征描述子作为聚类质心计算距离,可以具有较好的随机性。在计算其他视觉特征描述子与该聚类质心的距离是,可以每次选取一个描述子与该聚类质心计算距离,若该距离较大则保留,较小则放弃,以此可以同时对各距离进行排序。
[0096]
示例性地,上述步骤s153,即,计算选择的视觉特征描述子与参与聚类计算的视觉特征描述子集合中其余视觉特征描述子的距离,得到参与聚类计算的视觉特征描述子集合中与选择的视觉特征描述子的距离最远的视觉特征描述子,具体可包括步骤:s1531,从参与聚类计算的视觉特征描述子集合中其余视觉特征描述子中遍历视觉特征描述子,计算选择的视觉特征描述子与当前遍历的视觉特征描述子的距离,若选择的视觉特征描述子与当前遍历的视觉特征描述子的距离大于选择的视觉特征描述子与之前遍历的所有视觉特征描述子的距离,则将选择的视觉特征描述子与当前遍历的视觉特征描述子的距离更新为当前与选择的视觉特征描述子的距离最远的视觉特征描述子,直到参与聚类计算的视觉特征描述子集合中其余视觉特征描述子中的每个视觉特征描述子被遍历完,得到参与聚类计算的视觉特征描述子集合中与选择的视觉特征描述子的距离最远的视觉特征描述子,以及参
与聚类计算的视觉特征描述子集合中各视觉特征描述子与选择的视觉特征描述子的距离的排序。
[0097]
该实施例中,通过不断选择视觉特征描述子计算与聚类质心的距离,并不断更新最远距离对应的描述子,可以在计算距离的同时对各距离进行排序,以此可以提高排序效率。
[0098]
进一步地,上述步骤s154中,根据选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离的一半,将参与聚类计算的视觉特征描述子集合中的视觉特征描述子分为两部分视觉特征描述子集合,具体可包括步骤:s1541,根据选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离的一半,依据参与聚类计算的视觉特征描述子集合中各视觉特征描述子与选择的视觉特征描述子的距离的排序,将参与聚类计算的视觉特征描述子集合中的视觉特征描述子分为两部分视觉特征描述子集合。
[0099]
该实施例中,通过根据排序后的距离将视觉特征描述子按小于选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离的一半或大于选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离的一半分成两部分,可以较为方便,效率较高。
[0100]
通过上述步骤s154,可以通过选择的聚类质心和与其距离最远的视觉特征描述子之间的距离,将描述子集合分成两部分,进而以类似的方式对每部分描述子集合确定聚类质心并寻找距离最远的视觉特征描述子,继续将描述子集合分成两部分,依次不断迭代进行,可以得到上述步骤s151中确定的聚类质心数量的聚类质心。
[0101]
由于通过距离排序后的描述子进行划分,失去了选择聚类质心的随机性,所以为了进一步保证找到的聚类质心的随机性,可以重新确定最终划分得到的每个描述子集合中描述子的聚类质心。
[0102]
示例性地,上述步骤s155,即,根据所有收集的聚类质心得到去冗余后的视觉信息特征指纹库,具体可包括步骤:s1551,重新计算每个收集的聚类质心对应的视觉特征描述子集合的聚类质心向量,得到相应的修正后的聚类质心;s1552,根据修正后的聚类质心得到相应的指纹点和包含相应的视觉特征描述子的视觉特征信息的映射关系,从而得到去冗余后的视觉信息特征指纹库。
[0103]
上述步骤s1551中,例如,在视觉特征描述子为非二进制描述子的情况下,修正后的聚类质心可表示为:
[0104][0105]
再例如,在视觉特征描述子为二进制描述子的情况下,修正后的聚类质心可表示为:
[0106]
[0107]
其中,表示修正后的聚类质心的向量中的第j位,j的取值范围为1到q的整数,q表示视觉特征描述子的维数,i表示参与聚类计算的视觉特征描述子集合中的每个视觉特征描述子,u表示参与聚类计算的视觉特征描述子集合中视觉特征描述子的数量,d
max
表示选择的视觉特征描述子和与其距离最远的视觉特征描述子之间的距离。
[0108]
该实施例中,可以仅对被选作聚类质心的集合重新计算聚类质心,而对于距离最远的视觉特征描述子可以不进行聚类质心修正。
[0109]
上述各实施例的视觉信息特征指纹库构建方法,通过先确定用于保证相应视觉特征描述子尺度不变性的有效范围,再利用有效范围确定指纹点的合理间隔,并布设室内环境的指纹点,以此能够在保证指纹点定位精度的情况下,使得指纹点尽可能分布稀疏,是视觉特征指纹库轻量化。另外,通过进一步对视觉特征信息进行聚类,以此能进一步对指纹点匹配的多个视觉特征信息去冗余,从而使得实际使用中的视觉特征指纹库更加轻量化。
[0110]
另外,本发明实施例还提供了一种基于视觉信息特征指纹的定位方法,如图2所示,该些实施例的基于视觉信息特征指纹的定位方法,具体可包括步骤s210~步骤s230。
[0111]
下面将对步骤s210至步骤s230的具体实施方式进行详细说明。
[0112]
步骤s210:利用采集设备实时采集设定室内环境中的视觉信息。
[0113]
步骤s220:利用设定视觉特征提取与描述算法对实时采集的视觉信息进行处理,得到实时视觉特征描述子。
[0114]
步骤s230:获取利用本发明任一实施例所述的视觉信息特征指纹库构建方法得到的去冗余后的视觉信息特征指纹库,并从去冗余后的视觉信息特征指纹库中按直线位置检索实时视觉特征描述子,得到与实时视觉特征描述子匹配的视觉特征描述子对应的指纹点的位置,用于得到采集设备的实时位置,其中,所述直线位置为行位置或列位置。
[0115]
本发明实施例所述的视觉信息特征指纹库构建方法按直线(如行或列)的方式确定指纹点的位置,通过上述步骤s230在进行检索时,配合本发明实施例所述的视觉信息特征指纹库构建方法得到的视觉特征指纹库,按行位置或列位置进行检索,可以使得在线定位效率更高。在每行或列位置中的指纹点中检索时,可以选择距离较近的指纹点,并以此得到定位结果。
[0116]
为了使得定位结果更准确,可以根据匹配的视觉特征描述子的数量等设置置信度来确定定位结果。
[0117]
示例性地,上述步骤s230,从去冗余后的视觉信息特征指纹库中按直线位置检索实时视觉特征描述子,得到与实时视觉特征描述子匹配的视觉特征描述子对应的指纹点的位置,用于得到采集设备的实时位置,具体可包括步骤:s231,根据去冗余后的视觉信息特征指纹库中同一直线位置的与实时视觉特征描述子匹配的视觉特征描述子的数量与所有直线位置的与实时视觉特征描述子匹配的视觉特征描述子的数量的比值计算直线位置的位置置信度;s232,根据位置置信度最高的前设定数量的直线位置的匹配出的视觉特征描述子对应的指纹点的位置确定采集设备的实时位置。
[0118]
进一步地,具体实施时,上述步骤s232,即,根据位置置信度最高的前设定数量的直线位置的匹配出的视觉特征描述子对应的指纹点的位置确定采集设备的实时位置,具体可包括步骤:s2321,利用位置置信度对位置置信度最高的前设定数量的直线位置的匹配出的视觉特征描述子对应的指纹点的位置进行加权计算,得到加权后的指纹点的位置,作为
采集设备的实时位置。
[0119]
该步骤s2321,例如,可以取前三或五个最大的位置置信度,并对其指纹点位置进行加权计算得到最终定位结果。
[0120]
在一些实施例中,采集设备(如机器人)可以采用多个摄像头采集视觉信息进行定位,摄像头可以具有一定的方向关系,可以利用这些摄像头的方向关系,综合定位采集设备,以使定位精度更高。
[0121]
示例性地,上述步骤s210,即,利用采集设备实时采集设定室内环境中的视觉信息,具体可包括步骤:利用采集设备上方向相反的两个摄像头分别采集设定室内环境中的视觉信息。更具体地,可以利用两对该种摄像头采集视觉信息,该四个摄像头可以分别固定在正方体盒子的四个面上,即认为相邻摄像头之间的夹角为直角,同时采集“前后左右”四个方向的视觉信息。
[0122]
上述步骤s220,即,利用设定视觉特征提取与描述算法对实时采集的视觉信息进行处理,得到实时视觉特征描述子,具体可包括步骤:利用设定视觉特征提取与描述算法分别对实时采集的每个视觉信息进行处理,得到相应两个方向上的实时视觉特征描述子。
[0123]
上述步骤s230中,从去冗余后的视觉信息特征指纹库中按直线位置检索实时视觉特征描述子,得到与实时视觉特征描述子匹配的视觉特征描述子对应的指纹点的位置,用于得到采集设备的实时位置,具体可包括步骤:从去冗余后的视觉信息特征指纹库中按直线位置分别检索两个方向上的实时视觉特征描述子,得到与每个实时视觉特征描述子匹配的视觉特征描述子对应的指纹点的位置,结合两个方向上的实时视觉特征描述子对应的指纹点的位置得到采集设备的实时位置。
[0124]
该些实施例中,采集设备相反方向的摄像头在室内环境中采集的两个图像具有一定对应关系,而视觉特征指纹库中对应两个位置的视觉特征信息也具有一定对应关系,所以利用两个相反方向的视觉信息进行综合定位,可以得到更准确的定位结果。
[0125]
另外,本发明实施例还提供了一种基于视觉信息特征指纹的定位装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的视觉信息特征指纹库构建方法或基于视觉信息特征指纹的定位方法的步骤。
[0126]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的视觉信息特征指纹库构建方法或基于视觉信息特征指纹的定位方法的步骤。
[0127]
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。
[0128]
图3是本发明一具体实施例的基于视觉信息特征指纹的定位方法的算法结构示意图,参见图3,定位方法可以包括在离线阶段构建视觉特征指纹库阶段和在线利用指纹库进行检索阶段。
[0129]
(1)离线阶段构建指纹库:
[0130]
该实施例中,轻量级视觉信息特征指纹库的构建是通过稀疏化分布指纹点、减少指纹点数量和去除指纹库中的冗余信息、减小指纹库规模来实现的。在计算指纹点分布策略时,利用视觉信息特征描述子尺度不变性的有效范围,从理论角度对视觉信息特征指纹
特异性的有效范围进行分析与计算,在能够保证位置指纹高区分度的情况下使指纹点分布尽量稀疏,以减少指纹点数量。在去除指纹库中的冗余信息时,改变指纹库中位置指纹与各个独立指纹点的映射方式,并利用aik

means聚类算法将位于同一直线上的视觉信息描述子分成多个集群,每个集群包含一个聚类质心,并且保证各个集群之间的描述子距离最大、集群之内的视觉特征距离最小,从而使指纹库规模更小,视觉特征位置指纹内容更简洁。构建指纹库具体可包括如下步骤:
[0131]
s1.确定构建视觉信息特征指纹库时使用的视觉特征提取与描述算法,通过视觉特征提取与描述算法使用的尺度金字塔层数和尺度因子计算该视觉特征描述子尺度不变性的有效范围,并根据进行位置指纹点布置的实际室内环境的特点计算在该房间中位置指纹点的有效间隔和相对位置(计算得到的是指纹点之间的合理间隔,该间隔是确定的,所以在设置指纹点时,可以根据这个相对间隔得到绝对的指纹点位置,不同指纹点之间就具有相对位置)。
[0132]
在视觉信息充足的室内环境中高区分度视觉信息指纹点的稀疏化分布策略是设计轻量级视觉信息指纹库的基础。
[0133]
在提取视觉特征时,为了保证特征描述子的尺度不变性,通常会利用不同尺度的图像构建出图像金字塔,设σ为构建图像金字塔时进行上采样和降采样所使用的尺度因子,其表示相邻两层之间的尺度变化关系,q表示尺度金字塔的层数,则q

1表示金字塔底层与顶层图像相比尺度因子计算的次数。所以,尺度不变性的有效范围计算如下:
[0134]
r=(σ)
(q

1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0135]
其中,r表示理论上在像素的变化比例范围为r内能够保证视觉特征描述子的尺度不变性。例如,r为3,则距离变化三倍之内造成的像素尺度变化是可以较为稳定地保证尺度不变性的。
[0136]
相机的成像模型为小孔成像的模型,三维空间中的点和该点在相机成像平面上的像点之间的连线经过相机的光学中心,与光轴和光心构成的两个三角形为相似三角形。对摄像机获取到的图像来说,像素比例发生例如三倍尺度变化(r为三)的情况对应于在实际空间中摄像头与物体的距离扩大三倍的情况。另外,由于在贴近室内物体的情况下不便于图像采样,且紧贴室内物体采集视觉信息会由于摄像头被阻挡而导致视觉信息过少,可用性降低,无法利用这些信息完成室内定位工作。
[0137]
为了保证不同指纹点处视觉信息的稳定性与有效性,最多均匀设置r个指纹点。例如,比如r为3但是两面墙之间设置了5个指纹点,那以两端的两个指纹点为例,设最左端的指纹点与左墙的距离为1,则最右端指纹点与左墙的距离为5,向左获取的视觉信息之间的变化倍数就超过了r,不能稳定保证尺度不变性。当指纹点继续增加时,相隔r个及以上间隔的指纹点处便不能保证在同一方向获取的视觉信息特征的尺度不变性,在进行特征点匹配时会增加误匹配的可能性。因此,设w为两个视觉障碍物(“视觉障碍物”可以用来确定待定位区域。例如可以是墙壁、仓库中的货架等大障碍物,可以根据两面墙壁之间的距离确定这两面墙壁之间的指纹点间隔。)之间的距离,r 1表示同一直线上指纹点数量为r时两个视觉障碍物之间划分出来的空间数量,结合服务类机器人运动场景以及指纹点均匀分布的要求,指纹点的合理间隔计算如下:
[0138][0139]
其中,d表示两个相邻指纹点之间的间隔。按照计算得到的d在室内空间中均匀布置指纹点,可以在不设置多余指纹点的情况下最大程度地利用视觉特征描述子的尺度不变性,实现指纹点的稀疏化分布。
[0140]
s2.布设指纹点并在指纹点处采集视觉信息。通过视觉特征提取与描述算法对各指纹点处获取到的视觉信息进行处理后,建立原始的视觉信息特征指纹库。
[0141]
s3.使用aik

means聚类算法对视觉信息特征指纹库中位于同一行或同一列上的位置指纹点在相同方向上获取到的视觉信息特征进行聚类,构建出轻量级的视觉信息特征指纹库。
[0142]
视觉特征指纹库的构建方法是在指纹点处利用室内移动机器人搭载的多方位摄像头捕捉机器人所在空间的视觉信息,并利用特征描述子将视觉信息简化为低维度的特征矩阵,作为视觉指纹与指纹点信息一并存入指纹库。而在实际的指纹库构建工作中,不同位置指纹点处能够完成特征匹配的视觉特征描述子仍然较多,这些完成匹配的描述子在距离上是相近的,且与其他描述子在距离上相差较远,因此,本发明提出aik

means(adaptive iterative k

means clustering algorithm,自适应迭代k均值聚类算法)聚类算法重构指纹库。aik

means聚类算法以视觉特征描述子之间的距离作为度量相似性的评价指标,对位于同行和同列的指纹点处相同方向的视觉信息进行聚类,去冗余后构建出轻量级视觉特征指纹库。
[0143]
利用aik

means聚类算法进行聚类分析可包括如下步骤:
[0144]
s31.根据参与聚类的指纹点数量和每个指纹点的特征数量自适应地计算聚类质心数量k;
[0145]
首先根据参与聚类的指纹点数量和每张图中提取的特征数量计算聚类质心数量k。设m表示参与聚类的指纹点数量,n表示每张图中提取的特征数量,则聚类质心数k的计算公式如公式(3)所示:
[0146][0147]
其中,k为聚类质心数,r为公式(1)计算得到的尺度不变性的有效范围。
[0148]
s32.随机选择一个描述子向量作为第一个聚类质心,计算各个描述子与的距离并进行排序,标记与描述子距离最远的描述子并建立描述子距离d与描述子集合set的映射
[0149]
在随机选取一个描述子作为第一个聚类质心后,对于聚类集合中的每个输入描述子根据距离度量计算该样例所属的距离集合并将按照输入描述子与聚类质心的距离更新最远描述子
[0150]
[0151][0152]
其中,c()表示集合,dis()表示计算描述子和描述子的距离,表示向量i即描述子,d
b
表示表示描述子与描述子的距离,也就是最远距离,描述子表示的是距离最远的描述子。
[0153]
s33.以和之间距离的一半为标准,将描述子集合分为两部分;
[0154]
将和之间距离的一半为标准,对排序后的聚类集合划分为集合1和集合2。
[0155]
s34.将和作为这两部分描述子集合各自的聚类质心,迭代执行步骤s32和步骤s33,直到获得k个聚类质心;
[0156]
s35.对获得的个描述子集合进行聚类,计算新的聚类质心。
[0157]
对集合1来说,与向量的距离是排好序的,如果再迭代进行步骤s32会减少聚类的随机性,影响聚类效果,因此需要再次随机选取新的聚类质心。
[0158]
迭代完成后得到k个描述子集群,即为聚类产生的k个类。然后重新计算各类的聚类质心。对于非二进制描述子,聚类质心向量计算如下:
[0159][0160]
对于二进制描述子,聚类质心向量计算如下:
[0161][0162]
其中,为最终得到的聚类质心向量,j表示向量的每一位,取值范围为1到q,q表示描述子维度,u表示所在的集合中描述子的数量,i表示参与聚类质心计算的集合中的每个描述子。
[0163]
根据参与聚类的指纹点可以自适应计算聚类质心数量,并可以迭代计算聚类质心。经过聚类之后,指纹点所在的每行或列保留自适应的k个修正后的聚类质心,构建出轻量级的视觉特征指纹库。与不处理的视觉特征指纹库相比,轻量级视觉特征指纹库去除了指纹库中冗余的特征点,降低了指纹库的规模,使指纹信息更简洁。
[0164]
(2)在线阶段检索指纹库
[0165]
在轻量级视觉信息特征指纹库构建之后,建立同行或同列中所有位置指纹点相同方向上获取到的视觉信息与该行或列的坐标轴映射关系。由于指纹库中的位置指纹和各个指纹点的映射方式被改变,在线定位阶段从指纹库中进行指纹检索时的检索方式和指纹是否匹配的判定方式也需要有相应的改进。轻量级视觉信息特征指纹库的快速检索策略将行或列作为“位置坐标轴”,并在指纹检索时按照行或列进行检索,从而快速获取指纹库中距
离较近的位置指纹坐标。
[0166]
由于采集视觉信息的四个单目摄像头是由两对方向相反的摄像头组成,在相反方向的两个摄像头获取到的视觉信息将共同决定机器人所在的行或列,这样即使机器人在运动轨迹上发生了一定的角度偏转,互为反向的两个摄像头也可以互为补充校正,得到正确鲁棒的定位结果。
[0167]
在进行位置指纹匹配时,将可以完成匹配的视觉信息特征描述子数量作为待定为目标点与指纹点相似性的度量标准来进行位置估计。但是由于视觉特征描述子在进行匹配时可能存在一定的误匹配,因此需要将各行或各列的视觉信息特征指纹匹配数量作为权重,在权重归一化后加权计算出位置估计结果。根据该行或列的特征匹配数量与所有行或列中总的特征匹配数量的比值计算位置坐标置信度。归一化权重的计算公式如式(7)所示。
[0168][0169]
其中,w表示该行或列的归一化置信度。n
match
表示当前图像与该行或列的特征指纹匹配数量,n
match_sum
表示当前图像所有行或列中总的特征指纹匹配数量。在计算置信度之后取置信度最高的三个行或列进行加权计算,得出最终的加权定位结果,如式(8)所示。
[0170][0171]
其中,x表示最终的定位坐标中的横坐标,y表示最终的定位坐标中的横坐标,x
i
表示参与计算的第i个指纹点的横坐标,y
i
表示参与计算的第i个指纹点的纵坐标,w
i
表示参与计算的第i个指纹点的置信度权重。
[0172]
该实施例,提出了轻量级视觉特征指纹库的构建算法,并提出了一种基于轻量级视觉特征指纹库的指纹定位算法。离线阶段构建轻量级视觉特征指纹库时,提出了高区分度指纹点分布策略,提出aik

means聚类算法去除特征指纹库中的冗余指纹信息,构建出轻量级视觉特征指纹库;在线阶段检索指纹库时,建立指纹信息与指纹点所在坐标轴之间的映射关系,实现指纹库快速检索,在保证定位精度和稳定性的同时有效提高定位速度。在保证指纹区分度的同时有效地减少了指纹点数量,去除了指纹库中的冗余信息,加快了指纹库检索速度,在满足定位精度和稳定性需求的前提下显著提高了定位速度。
[0173]
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
[0174]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序
产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0175]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0176]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0177]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0178]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜