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

一种图像中直线段匹配方法、图像定位方法及电子设备与流程

2022-04-09 09:09:39 来源:中国专利 TAG:


1.本发明涉及图像识别技术领域,尤其是涉及一种图像中直线段匹配方法、图像定位方法及电子设备。


背景技术:

2.图像匹配是计算机视觉与图像处理领域中的关键任务,在遥感图像分析、视觉导航、目标识别等领域有着十分重要的作用。实际场景中存在着大量的直线特征,这些直线特征往往存在于物体的边界、纹理等,能够反应真实场景的结构信息。对图像中直线的匹配非常多的应用在视觉slam(同步定位与建图)、三维重建等领域,因此,如何精准的匹配两幅图像中的直线特征尤为重要。
3.现有的图像直线段匹配算法基于传统的视觉方法,首先计算每条线段在图像中的描述子,如lbd描述子和msld描述子。基于这些描述子的距离得到最终的匹配结果。
4.现有技术只利用直线的描述子进行匹配,而忽略了直线在图像中的几何信息,当图像中出现地板砖的边界线等重复纹理的情况时,只利用描述子发生错误匹配,另外,直线的几何信息在匹配中往往会存在一致性,如在一张图像上的位置相近的两条线,在另一张图像上与之匹配的两条线段位置也通常相近,或者在一张图像上的相互垂直的两条线,在另一张图像上与之匹配的两条线段也通常会相互垂直,忽略几何信息的匹配会使得具有一致性的直线段重复进行匹配,降低图像中直线段的匹配效率。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种图像中直线段匹配方法、图像定位方法及电子设备,以提高直线段匹配的准确性和匹配效率。
6.第一方面,本发明实施例提供一种图像中直线段匹配方法,该方法包括:获取第一图像对应的第一直线段集合和第二图像对应的第二直线段集合中每个直线段的描述子信息和几何特征信息;其中,几何特征信息包括直线段分别在第一图像和第二图像中的位置、方向和长度中的至少一者;根据每个直线段的描述子信息和几何特征信息,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
7.进一步地,上述根据每个直线段的描述子信息和几何特征信息,确定第一直线段集合和第二直线段集合中相互匹配的直线段的步骤,包括:对于每个直线段,将该直线段对应的几何特征信息添加到该直线段对应的描述子信息中,得到该直线段对应的初始融合特征;根据初始融合特征,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
8.进一步地,上述将该直线段对应的几何特征信息添加到该直线段对应的描述子信息中,得到该直线段对应的初始融合特征的步骤,包括:根据该直线段的几何特征信息,确定与该直线段的描述子信息维度相同的几何特征向量;将几何特征向量和该直线段的描述子信息相加,得到该直线段的初始融合特征。
9.进一步地,上述根据初始融合特征,确定第一直线段集合和第二直线段集合中相
互匹配的直线段的步骤,包括:将每个直线段对应的初始融合特征以及图注意力神经网络,确定直线段对应的注意力图;根据注意力图,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
10.进一步地,上述根据注意力图确定每个直线段的特征表示向量的步骤,包括:计算注意力图中每个边的注意力系数;对每个注意力系数进行归一化处理,得到每个边的归一化注意力系数;将每个直线段的初始融合特征与该直线段对应边的归一化注意力系数进行特征聚合,得到该直线段的聚合特征;通过聚合特征对初始融合特征进行更新,得到更新后的融合特征,将更新后的融合特征确定直线段的特征表示向量。
11.进一步地,上述根据注意力图确定每个直线段的特征表示向量的步骤,包括:通过图神经网络中的每个注意力模块确定每个直线段的模块特征表示向量;其中,图神经网络包括至少两个注意力模块;将每个直线段对应的多个模块特征表示向量进行组合,得到该直线段的特征表示向量。
12.进一步地,上述根据注意力图确定每个直线段的特征表示向量的步骤,包括:通过当前注意力网络层对注意力图进行处理,得到每个直线段的网络层特征;判断当前注意力网络层是否是图神经网络的最后一层,如果是,将网络层特征确定为直线段的特征表示向量;其中,图神经网络包括至少两个注意力网络层,每个注意力网络层包括至少一个注意力模块;如果否,通过网络层特征更新注意力图,并继续通过下一个注意力网络层对更新后的注意力图进行处理。
13.进一步地,上述图神经网络包括自注意力网络层和交叉注意力网络层,自注意力网络层与交叉注意力网络层交替连接;上述输入自注意力网络层中的注意力图为自注意力图,输入交叉注意力网络层中的注意力图为交叉注意力图;其中,自注意力图中的边为第一直线段集合中的任意两个直线段的连线或第二直线段集合中的任意两个直线段的连线;交叉注意力图中的边为第一直线段集合中任意一个直线段与第二直线段集合中任意一个直线段的连线。
14.进一步地,上述图神经网络通过以下方法训练得到:获取第一样本图像对应的第一样本直线段集合和第二样本图像对应的第二样本直线段集合中每个样本直线段的描述子信息和几何特征信息;对于每个样本直线段,均将该样本直线段的描述子信息和几何特征信息融合为该样本直线段的初始融合特征,并根据该样本直线段的初始融合特征确定该样本直线段对应的注意力图;根据每个样本直线段对应的注意力图,通过图神经初始网络确定每个样本直线段的预测特征表示向量;根据预测特征表示向量,确定预测得分矩阵;预测得分矩阵中的每个元素表征两个不属于同一个样本图像的样本直线段的相似度得分;基于预测得分矩阵求解最优化问题得到预测指派矩阵;预测指派矩阵中的每个元素表征分别属于第一样本图像和第二样本图像中的样本直线段间的匹配概率;根据预测指派矩阵、第一样本图像和第二样本图像分别对应的标签特征确定损失值,并根据损失值训练图神经初始网络,直到满足训练停止条件,得到训练完毕的图神经网络。
15.第二方面,本发明实施例还提供一种图像定位方法,该方法包括:通过上述第一方面的图像中直线段匹配方法对两个待定位图像进行直线段匹配,确定待定位图像中相互匹配的直线段;根据相互匹配的直线段的位置信息,确定其中一幅待定位图像在另一幅待定位图像中的位置。
16.第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面的图像中直线段匹配方法以及上述第二方面的图像定位方法。
17.第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述第一方面的图像中直线段匹配方法以及上述第二方面的图像定位方法。
18.第五方面,本发明实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述第一方面的图像中直线段匹配方法以及上述第二方面的图像定位方法。
19.本发明实施例提供的上述图像中直线段匹配方法、图像定位方法及电子设备,通过获取第一图像对应的第一直线段集合和第二图像对应的第二直线段集合中每个直线段的描述子信息和几何特征信息;根据每个直线段的描述子信息和几何特征信息,确定第一直线段集合和第二直线段集合中相互匹配的直线段。本发明在确定匹配的直线对的过程中,不仅考虑了描述子信息,还考虑了直线段的几何特征信息,提高了匹配效率,并有效提升匹配结果的精度。
20.本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
21.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
22.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明实施例提供的一种电子系统的结构示意图;
24.图2为本发明实施例提供的一种图像中直线段匹配方法的流程图;
25.图3为本发明实施例提供的另一种图像中直线段匹配方法的流程图;
26.图4为本技术实施例提供的一种图神经网络的结构示意图;
27.图5为本发明实施例提供的一种图神经网络的训练方法的流程图;
28.图6为本发明实施例提供的一种图像定位方法的流程图;
29.图7为本发明实施例提供的一种图像中直线段匹配装置;
30.图8为本发明实施例提供的一种图像定位装置;
31.图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
32.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚地描述。
33.近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(artificial intelligence,ai)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、行为识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(slam)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安防、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
34.目前的直线段匹配方法中由于没有考虑直线段的几何特征而导致直线段的匹配准确性不高,基于此,本技术实施例提供一种图像中直线段匹配方法、图像定位方法及电子设备,可以有效提升图像中直线段匹配的准确性和匹配效率。
35.参照图1所示的电子系统100的结构示意图。该电子系统可以用于实现本发明实施例的图像中直线段匹配方法、图像定位方法和装置。
36.如图1所示的一种电子系统的结构示意图,电子系统100包括一个或多个处理设备102、一个或多个存储装置104、输入装置106、输出装置108以及一个或多个图像采集设备110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子系统100的组件和结构只是示例性的,而非限制性的,根据需要,电子系统也可以具有其他组件和结构。
37.处理设备102可以为服务器、智能终端,或者是包含中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对电子系统100中的其它组件的数据进行处理,还可以控制电子系统100中的其它组件以执行图像中直线段匹配功能以及图像定位功能。
38.存储装置104可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理设备102可以运行程序指令,以实现下文的本发明实施例中(由处理设备实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
39.输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
40.输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
41.图像采集设备110可以获取包含直线段信息的图像,并且将该图像存储在存储装
置104中以供其它组件使用。
42.示例性地,用于实现根据本发明实施例的图像中直线段匹配方法、图像定位方法及电子设备中的各器件可以集成设置,也可以分散设置,诸如将处理设备102、存储装置104、输入装置106和输出装置108集成设置于一体,而将图像采集设备110设置于可以采集到图像的指定位置。当上述电子系统中的各器件集成设置时,该电子系统可以被实现为诸如移动机器人、相机、智能手机、平板电脑、计算机、车载终端等智能终端。
43.图2为本发明实施例提供的一种图像中直线段匹配方法的流程图,如图2所示,该方法包括:
44.s202:获取第一图像对应的第一直线段集合和第二图像对应的第二直线段集合中每个直线段的描述子信息和几何特征信息;其中,几何特征信息包括直线段分别在第一图像和第二图像中的位置、方向和长度中的至少一者;
45.直线段集合可以是一个长度与该图像包含的直线段数量相同的向量,每条直线段用该直线段在图像中的两个端点的坐标来表示。直线段集合中的每个直线段对应的描述子可以采用现有的提取描述子的方法获得,例如可以通过lsd(lsd,line segment detector,直线检测分割算法)获取描述子,lsd算法能在线性的时间内得出亚像素级精度的检测结果,还可以通过lbd算法来获取描述子,本发明对描述子的获取方式不做限定。其中,每个描述子用一个固定维度的向量来表示,在一些方法里描述子被编码成线段邻域的像素梯度直方图。描述子不包含位置信息,只用了像素的亮度信息。
46.上述直线段的几何特征包括直线段的位置、方向和长度,其中,直线段在第一图像和第二图像中的位置可以通过直线段在第一图像的中心点坐标来表示,也可以通过直线段在第一图像和第二图像中的起始坐标来表示。直线段的方向可以是直线段与图像水平线或垂直线的夹角。将直线段的上述信息连接起来,构成该直线段对应的几何特征。
47.需要注意的是,在获取直线段的描述子信息的过程中,为了得到每个像素邻域的梯度信息,会使用到该直线段的起点和终点坐标等几何信息,但这些几何信息是用于获取描述子信息的中间过程,最终获取的描述子信息仍然只反映了直线段的外观信息,而并没有包含相关的几何信息。
48.s204:根据每个直线段的描述子信息和几何特征信息,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
49.直线段的描述子信息用于描述直线段的一些属性,例如形状、大小等,但是并不能表征直线段与所在图像之间的几何位置关系,在确定匹配直线段的过程中,除了考虑描述子信息,还考虑了直线段的几何特征信息,可以首先排除在集合关系上不可能匹配的直线段,节省了匹配时间,并提高了匹配结果的准确性。
50.本发明提供的上述图像中直线段匹配方法,通过获取第一图像对应的第一直线段集合和第二图像对应的第二直线段集合中每个直线段的描述子信息和几何特征信息;根据每个直线段的描述子信息和几何特征信息,确定第一直线段集合和第二直线段集合中相互匹配的直线段。本发明在确定匹配的直线对的过程中,不仅考虑了描述子信息,还考虑了直线段的几何特征信息,提高了匹配效率,并有效提升匹配结果的精度。
51.在一些可能的实施方式中,上述实施例中的步骤s204可以具体是:
52.(1)对于每个直线段,将该直线段对应的几何特征信息添加到该直线段对应的描
述子信息中,得到该直线段对应的初始融合特征;
53.对于每个直线段,确定初始融合特征的方法可以是:根据该直线段的几何特征信息,确定与该直线段的描述子信息维度相同的几何特征向量;将几何特征向量和该直线段的描述子信息相加,得到该直线段的初始融合特征。
54.具体地,可以将直线段的几何特征进行维度转换,转换成与该直线段描述子维度相同的一个向量,我们称之为几何特征向量。例如,可以通过mlp(多层感知机)将几何特征映射到跟描述子相同的维度。
55.在得到几何特征向量之后,将相同维度的几何特征向量和描述子信息相加,得到该直线段对应的初始融合特征,具体地,可以采用如下公式进行融合,即hi=di mlp(gi),其中,hi表示第i条直线段的初始融合特征,di表示第i条直线段的描述子,gi为上述第i条直线段的几何特征,mlp包含可学习的参数,且所有初始融合特征在获取的过程中共用一套mlp参数。
56.需要注意的是,由于两个图像中会存在一些直线段在另一个图像中没有与之匹配的直线段的情况,因此在一些实施方式中,可以设定一个无效的直线段,并将该无效直线段添加到直线段集合中,该无效直线段对应的初始融合特征可以是随机设置的一个特征向量,例如将特征向量中的每个元素设置成0。基于此,当某个直线段没有与之匹配的另一个图像中的直线段时,就将该直线段与另一个图像中的无效直线段建立匹配。无效直线段的初始融合特征的维度与其他直线段的初始融合特征的维度相同,具体获取无效直线段的融合特征的方法可以采用机器学习的方法,且两个图像中增加的无效直线段的过程中使用的参数是共享的。通过增加无效直线段,能够有效找出不存在匹配关系的直线段,避免这种不存在匹配关系的直线段参与到其他直线段的匹配中影响其他直线段的匹配精度,因此,可以进一步提高直线段匹配的结果的准确度。
57.(2)根据初始融合特征,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
58.对于每个直线段,均将该直线段的描述子信息和几何特征信息融合为该直线段的初始融合特征,并根据该直线段的初始融合特征确定该直线段对应的注意力图;其中,注意力图中的节点是该直线段,边是该直线段与另一直线段的连线;
59.其中,注意力图中的每个节点代表一个直线段,边代表任意两个直线段的连线,每个直线段对应的特征是通过融合描述子信息和几何特征信息得到的初始融合特征。需要注意的是,当注意力图中的节点只包括第一图像中的直线段,或者当注意力图中的节点只包括第二图像中的直线段的时候,该注意力图是自注意力图,自注意力图中的边表示第一图像中的任意两个直线段代表的节点之间的连线,或者第二图像中的任意两个直线段代表的节点之间的连线。当注意力图中的节点包括第一图像中的直线段和第二图像中的直线段,并且,边是第一图像中的任意一个直线段对应的节点与第二图像中的任意一个直线段对应的节点之间的连线时,该注意力图称为交叉注意力图。
60.请参见图3,图3示出了本发明实施例提供的另一种图像中直线段的匹配方法的流程图,该方法具体包括:
61.s302:获取第一图像对应的第一直线段集合和第二图像对应的第二直线段集合中每个直线段的描述子信息和几何特征信息;
62.第一图像和第二图像是包含直线段集合的两个待匹配的图像,可以用a表示第一图像,其包含m条直线段,b表示第二图像,其包含n条直线段。
63.通过计算得到每个直线段的中心c,角度θ和长度l之后,将其连接起来组成该直线段的几何特征。
64.s304:对于每个直线段,将该直线段对应的几何特征信息添加到该直线段对应的描述子信息中,得到该直线段对应的初始融合特征;
65.s306:将每个直线段对应的初始融合特征以及图注意力神经网络,确定直线段对应的注意力图;
66.s308:根据注意力图,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
67.本发明实施例提供的方法,可以基于交叉注意力图确定第一直线段集合和第二直线段集合中相互匹配的直线段,也可以基于自注意力图和交叉注意力图共同确定第一直线段集合和第二直线段集合中相互匹配的直线段。
68.在一些可能的实施方式中,上述步骤可以具体实现为:
69.步骤1:根据注意力图确定每个直线段的特征表示向量;
70.特征表示向量具体可以通过图神经网络确定,通过图神经网络获取特征表示向量的过程,将在下文中纤细阐述,在此不再赘述。
71.步骤2:根据特征表示向量,确定第一直线段集合中的每个直线段与第二直线段集合中的每个直线段的匹配概率;
72.具体地,可以根据特征表示向量,确定第一直线段集合中的每个直线段与第二直线段集合中的每个直线段的相似性,相似性可以是两个直线段对应的特征表示向量之间的距离,进一步地,根据两个直线段的相似性确定这两个直线段的匹配概率。
73.在一些实施方式中,上述匹配概率,可以按照如下方式获取:
74.(1)通过特征表示向量确定第一直线段集合中的每个直线段与第二直线段集合中的每个直线段之间的相似度得分,并根据相似度得分确定得分矩阵;
75.具体地,直线段i和直线段j的相似度得分为具体地,直线段i和直线段j的相似度得分为其中s
i,j
表示得分矩阵s的第i行第j列元素,表示第一图像中第i条直线段的特征表示向量,表示第二图像中第j条直线段的特征表示向量,t表示转置。得分矩阵用于反应两个节点(即直线段)的相似度,相似度越高则得分越高,这两个直线段越有可能形成匹配。
76.(2)基于得分矩阵确定最优解对应的指派矩阵;指派矩阵中的每个元素用于表征第一直线段集合中的每个直线段与第二直线段集合中的每个直线段的匹配概率。
77.其中,需要求解指派矩阵p∈[0,1]
(n 1)
×
(m 1)
,p的每个元素p
i,j
表示第一图像中第i条直线段和第二图像中第j条直线段匹配的概率大小,n表示第一图像中的直线段数量,m表示第二图像中直线段的数量,根据以上描述可知,每个图像中都加入了一个无效直线段,因此,指派矩阵的大小是(n 1)
×
(m 1)。指派矩阵p具有如下约束,且
通过求解最优化问题来得到最优接对应的指派矩阵p。上述带约束的最优化问题可以通过sinkhorn算法以可微分的方式进行求解。
[0078]
步骤3:根据匹配概率,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
[0079]
可以理解的是,指派矩阵中每个直线段对应的所有匹配概率的和为1,例如,第一图像中有两条直线段a1和a2以及无效直线段a3,第二图像中有三条直线段b1、b2和b3以及无效直线段b4,经过本发明实施例提供的匹配方法得到的指派矩阵为可见,该指派矩阵中对应于直线段a1的四个概率,分别是a1与b1的匹配概率为0.9,a1与b2的匹配概率为0.1,a1与b3的匹配概率为0,a1与b4的匹配概率为0,四个概率相加等于1,对于其他直线段也同理。
[0080]
进一步地,在一些实施方式中,可以预设概率阈值,大于概率阈值的一对直线段被视为相互匹配的直线段,续接前例,预设概率阈值为0.6,则匹配概率大于0.6的直线段对为:a1和b1,a2和b3,虽然a3和b2的匹配概率也大于概率阈值,但是a3是无效直线段,说明在第一图像中没有与b2匹配的直线段,因此,第一图像和第二图像中最终的直线段匹配结果为:a1和b1以及a2和b3相互匹配。
[0081]
上述步骤s310中根据注意力图确定每个直线段的特征表示向量,具体地,可是通过图神经网络对注意力图进行处理,进而确定直线段的特征表示向量。
[0082]
在一些实施方式中,特征表示向量可以按照如下方式确定:
[0083]
(1)计算注意力图中每个边的注意力系数;
[0084]
具体地,可以通过e
ij
=a(whi,whj)确定注意力系数,其中,e
ij
表示注意力图中的节点i和节点j构成的边的注意力系数,hi,hj表示节点i和节点j的初始融合特征,w为可学习的参数。a为注意力机制,可选的,本发明中采用单层前向神经网络,即采用a(whi,whj)=σ(a
t
[whi||whj]),其中,w为可学习参数,a
t
为权重向量,σ为激活函数。
[0085]
(2)对每个注意力系数进行归一化处理,得到每个边的归一化注意力系数;
[0086]
对于注意力图中存在的每条边,对其注意力系数进行归一化,即对于注意力图中存在的每条边,对其注意力系数进行归一化,即其中α
ij
为节点i和j之间连线的归一化注意力系数,e
ij
为节点i和j之间连线的注意力系数,为节点i的邻居节点,根据当前的边是属于自注意力图还是属于交叉注意力图而进行不同的选取。
[0087]
(3)将每个直线段的初始融合特征与该直线段对应边的归一化注意力系数进行特征聚合,得到该直线段的聚合特征;
[0088]
对于特征图中的每个节点,进行特征聚合,具体地,可以采用如下公式进行特征聚合,即:其中,hi′
表示节点i聚合后的特征表示,即节点i代表的直
线段的聚合特征,为节点i的邻居节点,w为可学习的参数,hj为节点j的初始融合特征,α
ij
为节点i和j之间连线的归一化注意力系数,σ为激活函数。
[0089]
(4)通过聚合特征对初始融合特征进行更新,得到更新后的融合特征,将更新后的融合特征确定直线段的特征表示向量。
[0090]
对注意力图中的每个节点,进行特征更新,用聚合后的聚合特征来更新节点的初始融合特征,其更新方式有很多,可选的,可以采用如下更新方式:其中表示节点i更新后的融合特征,表示节点i更新前的初始融合特征,hi′
表示节点i的聚合特征,||表示连接操作,w
t
为可学习的参数,σ为激活函数。
[0091]
在另一些实施方式中,上述图神经网络可以采用多头机制,即图神经网络包括至少两个注意力模块,通过该多头图神经网络确定每个直线段的特征表示向量的方法,可以具体是:
[0092]
(1)通过图神经网络中的每个注意力模块确定每个直线段的模块特征表示向量;
[0093]
其中,多个注意力模块是并列的注意力模块,多个注意力模块的结构相同,但每个注意力模块的参数不同,具体的参数可以根据经验人工设定,或者通过对样本图像的学习获取。将注意力图中的所有节点输入多个注意力模块,多个注意力模块并行处理,每个模块都得到每个直线段的特征表示向量,可以称之为该直线段对应于该注意力模块的模块特征表示向量。
[0094]
(2)将每个直线段对应的多个模块特征表示向量进行组合,得到该直线段的特征表示向量。
[0095]
具体地,上述每个模块得到了模块特征表示向量后,将同一个直线段对应的多个模块特征表示向量进行组合,得到该直线段对应的特征表示向量,具体的组合方式可以是取均值,或者其他组合方式,本发明对此不进行限定。
[0096]
为了有针对性的增加节点的特征之间的交流和传播,可以根据注意力图的类别有针对性的进行特征表示向量的提取,即在一个阶段只对自注意力图中的节点进行特征表示向量的提取,在另一个阶段只对交叉注意力图中的节点进行特征表示向量的提取,这样,在每个阶段中,提取到的特征表示向量能够更加充分体现节点和节点之间的关系。
[0097]
基于此,在一些可能的实施方式中,上述图神经网络还可以包括多个注意力层,每个注意力层中包括至少一个注意力模块,可以通过以下方法确定直线段的特征表示向量:
[0098]
(1)通过当前注意力网络层对注意力图进行处理,得到每个直线段的网络层特征;
[0099]
具体地,图神经网络中包括多个注意力网络层,对于每个注意力网络层,可以包括一个注意力模块,也可以包括多个注意力模块,每个注意力模块采用本发明实施例提供的上述方法提取特征表示向量,当存在多个注意力模块时,多个模块特征表示向量进行组合,得到直线段对应的特征表示向量,该特征表示向量作为该注意力网络层对应的网络层特征。
[0100]
(2)判断当前注意力网络层是否是图神经网络的最后一层,如果是,将网络层特征确定为直线段的特征表示向量;其中,图神经网络包括至少两个注意力网络层,每个注意力网络层包括至少一个注意力模块;
[0101]
(3)如果否,通过网络层特征更新注意力图,并继续通过下一个注意力网络层对更新后的注意力图进行处理。
[0102]
具体地,以图注意力网络包括两层为例,如果当前的注意力网络层是第一层时,得到该注意力网络层对应的网络层特征,可以将该网络层特征作为每个直线段的初始融合特征,输入第二个注意力网络层,得到第二个注意力网络层对应的网络层特征,该第二个注意力网络层对应的网络层特征就是直线段对应的最终的特征表示向量。
[0103]
在一些实施方式中,图神经网络包括自注意力网络层和交叉注意力网络层,自注意力网络层与交叉注意力网络层交替连接;如图4所示,图4是本技术实施例提供的一种图神经网络的结构示意图。
[0104]
其中,左侧的多头网络为自注意力网络层,右侧的多头网络为交叉注意力网络层,每个网络层都包含3个注意力模块。
[0105]
其中,输入自注意力网络层中的注意力图为自注意力图,输入交叉注意力网络层中的注意力图为交叉注意力图;
[0106]
其中,自注意力图中的边为第一直线段集合中的任意两个直线段的连线或第二直线段集合中的任意两个直线段的连线;交叉注意力图中的边为第一直线段集合中任意一个直线段与第二直线段集合中任意一个直线段的连线。
[0107]
可以理解的是,当图神经网络包含多个自注意力网络层和交叉注意力网络层时,自注意力网络层和交叉注意力网络层可以交替链接,也可以是顺序连接,例如,图神经网络包括3个自注意力网络层,用self1-self3表示,还包括5个交叉注意力层网络层,用cross1-cross5表示,那么图神经网路可以采用self1-self2-self3-cross1-cross2-cross3-cross4-cross5的形式,也可以采用self1-cross1-self2-cross2-self3-cross3-cross4-cross5的形式。
[0108]
为了便于理解,下面结合实际应用场景描述如何通过本发明实施例提供的直线段匹配方法进行图像中直线段匹配:
[0109]
(1)给定两幅图像a和b,及图像中的直线段集合,(1)给定两幅图像a和b,及图像中的直线段集合,以及直线段的描述子集合以及直线段的描述子集合m、n分别为图像a、b中直线段的个数。
[0110]
(2)获取每个直线段对应的几何特征g=c
x
||cy||cos(θ)||l,||表示连接运算符。
[0111]
(3)将每个直线段的几何特征通过mlp进行映射,得到和描述子维度相同的几何特征,并将变换后的几何特征和描述子进行融合,得到每条直线段的融合后的特征表示。
[0112]
(4)构造图神经网络,该图神经网络包括三个自注意力层和三个交叉注意力层,其中自注意力层和交叉注意力层交叉排列且首尾相接,每个注意力层中包括两个注意力模块。
[0113]
(5)在自注意力层的每个注意力模块中,计算每个边对应的注意力系数,并对注意力系数归一化,得到归一化注意力系数。
[0114]
(6)对于每个点,基于归一化注意力系数进行特征聚合,得到聚合后的第一特征向量。
[0115]
(7)将当前自注意力网络层中的两个注意力模块得到的每个节点的特征向量进行
组合,得到每个节点对应于当前自注意力网络层的第二特征向量。
[0116]
(8)将第二特征向量输入到下一个交叉注意力网络层,采用上述方法得到每个节点对应于当前交叉注意力网络层的第三特征向量。
[0117]
(9)重复上述过程,直到得到最后一个交叉注意力网络层的输出。
[0118]
(10)根据最终输出的特征向量,计算第一图像中的任意一个直线段与第二图像中任意一个直线段之间相似度得分的得分矩阵。
[0119]
(11)基于得分矩阵,求解最优化问题,得到最优指派矩阵。
[0120]
为了使通过图神经网络得到的特征表示向量能够更准确的表征直线段的特征,上述图神经网络通过图5所示的图神经网络的训练方法训练得到:
[0121]
s502:获取第一样本图像对应的第一样本直线段集合和第二样本图像对应的第二样本直线段集合中每个样本直线段的描述子信息和几何特征信息;
[0122]
其中,第一样本图像和第二样本图像中包含直线段集合,同时,第一样本图像和第二样本图像中标记有实际相互匹配的直线段。例如,可以用标签矩阵来表示真实的匹配标签,即表明第一样本图像(a)中的第i条直线段与第二样本图像(b)中的第j条直线段为真实的匹配。
[0123]
s504:对于每个样本直线段,均将该样本直线段的描述子信息和几何特征信息融合为该样本直线段的初始融合特征,并根据该样本直线段的初始融合特征确定该样本直线段对应的注意力图;
[0124]
s506:根据每个样本直线段对应的注意力图,通过图神经初始网络确定每个样本直线段的预测特征表示向量;
[0125]
s508:根据预测特征表示向量,确定预测得分矩阵;预测得分矩阵中的每个元素表征两个不属于同一个样本图像的样本直线段的相似度得分;
[0126]
s510:基于预测得分矩阵求解最优化问题得到预测指派矩阵;预测指派矩阵中的每个元素表征分别属于第一样本图像和第二样本图像中的样本直线段间的匹配概率;
[0127]
s512:根据预测指派矩阵、第一样本图像和第二样本图像分别对应的标签特征确定损失值,并根据损失值训练图神经初始网络,直到满足训练停止条件,得到训练完毕的图神经网络。
[0128]
具体地,假设第一样本图像a中包含m条直线段,第二样本图像b中包含n条直线段,在第一样本图像中加入一个无效直线段,在第二样本图像中同样加入一个无效直线段,那么第一样本图像的直线段集合包含m 1个元素,第二样本图像的直线段集合包含n 1个元素,经过上述步骤后,得到的预测指派矩阵是一个(m 1)
×
(n 1)的二维向量,在每次得到预测指派矩阵后,将预测指派矩阵与标签信息进行损失值计算,得到当前网络的损失值,标签信息如上,可以是标签矩阵基于此,可以采用如下损失函数来确定损失值,loss=-∑
(i,j)∈gt logp
i,j-∑
i∈a logp
i,n 1-∑
j∈b logp
m 1,j
,其中,pi,j表示在标签矩阵中相互匹配的第一样本图像中的第i条直线段和第二样本图像中的第j条直线段,pi,n 1代表第一样本图像中第i条直线段与第二样本图像中无效直线段的匹配概率,pm 1,j,代表第二样本图像中第j条直线段与第一样本图像中无效直线段的匹配概率。
[0129]
通过上述损失值来迭代训练图神经网络,当满足训练停止条件时,停止训练,得到
训练完毕的图神经网络。
[0130]
图6是本发明实施例提供的一种图像定位方法的流程图,参见图6,该方法包括:
[0131]
s602:通过本发明实施例提供的任一直线段匹配方法对两个待定位图像进行直线段匹配,确定待定位图像中相互匹配的直线段;
[0132]
具体地,相互匹配的直线段可以用向量的形式表示,也可以直接在两个待定位图像中进行标注。
[0133]
s604:根据相互匹配的直线段的位置信息,确定其中一幅待定位图像在另一幅待定位图像中的位置。
[0134]
在得到相互匹配的直线段的信息后,可以根据这些匹配的直线段在各自图像中的位置,确定一幅待定位图像在另一幅图像中的位置。例如,在移动摄像设备移动的过程中,需要实时监控移动摄像设备在地图中的位置,在某一时刻,通过移动摄像设备获取到设备当前的环境图像,则需要根据该环境图像和地图图像进行匹配,具体地,可以通过本技术实施例提供的上述直线段匹配方法确定出相互匹配的直线段,基于这些匹配的直线段,确定出匹配的环境或者目标物体,进而确定该移动摄像设备在地图中所处的位置。
[0135]
通过上述方法可以得到一个图像在另一个图像中的位置,由于在匹配过程中,充分考虑了直线段的外观属性与几何特性,有效提高了匹配的精度和效率。
[0136]
基于上述方法实施例,本发明实施例还提供一种图像中直线段匹配装置,参见图7所示,该装置包括:
[0137]
信息获取模块702,用于获取第一图像对应的第一直线段集合和第二图像对应的第二直线段集合中每个直线段的描述子信息和几何特征信息;其中,几何特征信息包括直线段分别在第一图像和第二图像中的位置、方向和长度中的至少一者;
[0138]
确定模块704,用于根据每个直线段的描述子信息和几何特征信息,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
[0139]
本发明提供的上述图像中直线段匹配装置,通过获取第一图像对应的第一直线段集合和第二图像对应的第二直线段集合中每个直线段的描述子信息和几何特征信息;根据每个直线段的描述子信息和几何特征信息,确定第一直线段集合和第二直线段集合中相互匹配的直线段。本发明在确定匹配的直线对的过程中,不仅考虑了描述子信息,还考虑了直线段的几何特征信息,提高了匹配效率,并有效提升匹配结果的精度。
[0140]
上述根据每个直线段的描述子信息和几何特征信息,确定第一直线段集合和第二直线段集合中相互匹配的直线段的过程,包括:对于每个直线段,将该直线段对应的几何特征信息添加到该直线段对应的描述子信息中,得到该直线段对应的初始融合特征;根据初始融合特征,确定第一直线段集合和第二直线段集合中相互匹配的直线段。
[0141]
上述将该直线段对应的几何特征信息添加到该直线段对应的描述子信息中,得到该直线段对应的初始融合特征的过程,包括:根据该直线段的几何特征信息,确定与该直线段的描述子信息维度相同的几何特征向量;将几何特征向量和该直线段的描述子信息相加,得到该直线段的初始融合特征。
[0142]
上述根据初始融合特征,确定第一直线段集合和第二直线段集合中相互匹配的直线段的过程,包括:将每个直线段对应的初始融合特征以及图注意力神经网络,确定直线段对应的注意力图;根据注意力图,确定第一直线段集合和第二直线段集合中相互匹配的直
线段。
[0143]
上述根据注意力图确定每个直线段的特征表示向量的过程,包括:计算注意力图中每个边的注意力系数;对每个注意力系数进行归一化处理,得到每个边的归一化注意力系数;将每个直线段的初始融合特征与该直线段对应边的归一化注意力系数进行特征聚合,得到该直线段的聚合特征;通过聚合特征对初始融合特征进行更新,得到更新后的融合特征,将更新后的融合特征确定直线段的特征表示向量。
[0144]
上述根据注意力图确定每个直线段的特征表示向量的过程,包括:通过图神经网络中的每个注意力模块确定每个直线段的模块特征表示向量;其中,图神经网络包括至少两个注意力模块;将每个直线段对应的多个模块特征表示向量进行组合,得到该直线段的特征表示向量。
[0145]
上述根据注意力图确定每个直线段的特征表示向量的过程,包括:通过当前注意力网络层对注意力图进行处理,得到每个直线段的网络层特征;判断当前注意力网络层是否是图神经网络的最后一层,如果是,将网络层特征确定为直线段的特征表示向量;其中,图神经网络包括至少两个注意力网络层,每个注意力网络层包括至少一个注意力模块;如果否,通过网络层特征更新注意力图,并继续通过下一个注意力网络层对更新后的注意力图进行处理。
[0146]
上述图神经网络包括自注意力网络层和交叉注意力网络层,自注意力网络层与交叉注意力网络层交替连接;上述输入自注意力网络层中的注意力图为自注意力图,输入交叉注意力网络层中的注意力图为交叉注意力图;其中,自注意力图中的边为第一直线段集合中的任意两个直线段的连线或第二直线段集合中的任意两个直线段的连线;交叉注意力图中的边为第一直线段集合中任意一个直线段与第二直线段集合中任意一个直线段的连线。
[0147]
上述图神经网络通过以下方法训练得到:获取第一样本图像对应的第一样本直线段集合和第二样本图像对应的第二样本直线段集合中每个样本直线段的描述子信息和几何特征信息;对于每个样本直线段,均将该样本直线段的描述子信息和几何特征信息融合为该样本直线段的初始融合特征,并根据该样本直线段的初始融合特征确定该样本直线段对应的注意力图;根据每个样本直线段对应的注意力图,通过图神经初始网络确定每个样本直线段的预测特征表示向量;根据预测特征表示向量,确定预测得分矩阵;预测得分矩阵中的每个元素表征两个不属于同一个样本图像的样本直线段的相似度得分;基于预测得分矩阵求解最优化问题得到预测指派矩阵;预测指派矩阵中的每个元素表征分别属于第一样本图像和第二样本图像中的样本直线段间的匹配概率;根据预测指派矩阵、第一样本图像和第二样本图像分别对应的标签特征确定损失值,并根据损失值训练图神经初始网络,直到满足训练停止条件,得到训练完毕的图神经网络。
[0148]
基于上述方法实施例,本发明实施例还提供一种图像定位装置,参见图8所示,该装置包括:
[0149]
匹配模块802,用于通过本技术实施例提供的任意种直线段匹配方法对两个待定位图像进行直线段匹配,确定待定位图像中相互匹配的直线段;
[0150]
定位模块804,用于根据相互匹配的直线段的位置信息,确定其中一幅待定位图像在另一幅待定位图像中的位置。
[0151]
通过上述装置可以得到一个图像在另一个图像中的位置,由于在匹配过程中,充分考虑了直线段的外观属性与几何特性,有效提高了匹配的精度和效率。
[0152]
本发明实施例提供的图像中直线段匹配装置以及图像定位装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,上述装置的实施例部分未提及之处,可参考前述图像中直线段匹配方法及图像定位方法实施例中的相应内容。
[0153]
本发明实施例还提供了一种电子设备,如图9所示,为该电子设备的结构示意图,其中,该电子设备包括处理器901和存储器902,该存储器902存储有能够被该处理器901执行的计算机可执行指令,该处理器901执行该计算机可执行指令以实现上述图像中直线段匹配方法及图像定位方法。
[0154]
在图9示出的实施方式中,该电子设备还包括总线903和通信接口904,其中,处理器901、通信接口904和存储器902通过总线903连接。
[0155]
其中,存储器902可能包含高速随机存取存储器(ram,randomaccess memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口904(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线903可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线903可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0156]
处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器,包括中央处理器(centralprocessing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器901读取存储器中的信息,结合其硬件完成前述实施例的图像中直线段匹配方法及图像定位方法的步骤。
[0157]
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述图像中直线段匹配方法及图像定位方法,具体实现可参见前述方法实施例,在此不再赘述。
[0158]
本发明实施例所提供的图像中直线段匹配方法、图像定位方法及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
[0159]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0160]
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0161]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0162]
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献