CN117953050A - 一种视觉定位方法及相关装置 - Google Patents

一种视觉定位方法及相关装置 Download PDF

Info

Publication number
CN117953050A
CN117953050A CN202211289232.4A CN202211289232A CN117953050A CN 117953050 A CN117953050 A CN 117953050A CN 202211289232 A CN202211289232 A CN 202211289232A CN 117953050 A CN117953050 A CN 117953050A
Authority
CN
China
Prior art keywords
image
precision
matching
target
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211289232.4A
Other languages
English (en)
Inventor
王海川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211289232.4A priority Critical patent/CN117953050A/zh
Priority to PCT/CN2023/123970 priority patent/WO2024083010A1/zh
Publication of CN117953050A publication Critical patent/CN117953050A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例公开了一种视觉定位方法及相关装置,可应用于交通领域,其中该方法包括:获取目标设备处于参考位置时采集的目标图像;在视觉指纹库存储的参考位置对应的高精图像中,确定与目标图像匹配的参考高精图像;视觉指纹库用于存储高精设备采集的对应于室外场景的高精图像、以及高精图像中的特征点在世界坐标系下的三维位置信息,视觉指纹库存储的数据根据普通设备采集的标精图像更新;根据目标图像和参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对;根据目标匹配特征点对中属于参考高精图像的特征点的三维位置信息和属于目标图像的特征点的二维位置信息,确定目标设备的高精度定位结果。该方法能够实现高精度的室外场景定位。

Description

一种视觉定位方法及相关装置
技术领域
本申请涉及定位技术领域,尤其涉及一种视觉定位方法及相关装置。
背景技术
目前常见的室外场景定位方式普遍依赖基于卫星的全球定位系统实现,但是由于平流层和对流层的空气密度变化较大,导致电磁波在介质中的传播速度不可测量,因而导致全球定位系统难以达到较高的定位精度。
视觉定位技术是近年来的热点研究方向,该技术用于根据图像信息实现高精度的定位;视觉定位技术目前主要用于实现室内场景定位,例如,基于手机或机器人拍摄的图像定位其在室内中的位置。受到室外场景复杂、室外场景变化幅度大(如跟随天气、季节、光照等因素的改变而变化)等因素的限制,视觉定位技术难以可靠地应用在室外场景中实现高精度的定位。
发明内容
本申请实施例提供了一种视觉定位方法及相关装置,能够将视觉定位技术应用在室外场景中,实现高精度的室外场景定位。
有鉴于此,本申请第一方面提供了一种视觉定位方法,所述方法包括:
获取目标设备处于参考位置时采集的目标图像;
在视觉指纹库存储的所述参考位置对应的高精图像中,确定与所述目标图像匹配的参考高精图像;所述视觉指纹库用于存储高精设备采集的对应于室外场景的高精图像、以及所述高精图像中的特征点在世界坐标系下的三维位置信息,所述视觉指纹库存储的数据根据普通设备采集的标精图像更新;
根据所述目标图像和所述参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对;
根据所述目标匹配特征点对中属于所述参考高精图像的特征点在世界坐标系下的三维位置信息、以及所述目标匹配特征点对中属于所述目标图像的特征点在图像坐标系下的二维位置信息,确定所述目标设备对应的定位结果;所述定位结果的定位精度高于所述参考位置。
本申请第二方面提供了一种视觉定位装置,所述装置包括:
图像获取模块,用于获取目标设备处于参考位置时采集的目标图像;
匹配图像确定模块,用于在视觉指纹库存储的所述参考位置对应的高精图像中,确定与所述目标图像匹配的参考高精图像;所述视觉指纹库用于存储高精设备采集的对应于室外场景的高精图像、以及所述高精图像中的特征点在世界坐标系下的三维位置信息,所述视觉指纹库存储的数据根据普通设备采集的标精图像更新;
匹配特征点确定模块,用于根据所述目标图像和所述参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对;
高精定位模块,用于根据所述目标匹配特征点对中属于所述参考高精图像的特征点在世界坐标系下的三维位置信息、以及所述目标匹配特征点对中属于所述目标图像的特征点在图像坐标系下的二维位置信息,确定所述目标设备对应的定位结果;所述定位结果的定位精度高于所述参考位置。
本申请第三方面提供了一种计算机设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的视觉定位方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的视觉定位方法的步骤。
本申请第五方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的视觉定位方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种视觉定位方法,该方法基于存储有对应于室外场景的高精图像、以及高精图像中的特征点在世界坐标系下的三维位置信息的视觉指纹库,实现室外场景的高精度定位,并且该视觉指纹库存储的数据可以根据普通设备采集的标精图像更新;由于普通设备采集标精图像的成本较低,因此可以频繁地获取到普通设备采集的标精图像,并利用获取的标精图像更新视觉指纹库存储的数据,如此使得视觉指纹库存储的数据兼具高精度和新鲜度,可以更好地适用于在复杂多变的室外场景中进行定位。基于该视觉指纹库进行定位时,可以先根据待定位的目标设备的低精度位置信息,在该视觉指纹库存储的该低精度位置信息对应的高精图像中,确定与该目标设备处于该低精度位置信息时采集的目标图像匹配的参考高精图像;然后,根据该目标图像和该参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对,并根据目标匹配特征点对中属于参考高精图像的特征点在世界坐标系下的三维位置信息、以及目标匹配特征点对中属于目标图像的特征点在图像坐标系下的二维位置信息,确定该目标设备的高精度定位信息;如此,基于该视觉指纹库,实现在室外场景中对于目标设备的高精度、高效率、高可靠性定位。
附图说明
图1为本申请实施例提供的视觉定位方法的应用场景示意图;
图2为本申请实施例提供的视觉定位方法的流程示意图;
图3为本申请实施例提供的目标图像与参考高精图像中的匹配特征点对的示意图;
图4为本申请实施例提供的目标图像与参考高精图像中的参考匹配特征点对的示意图;
图5为本申请实施例提供的目标图像与参考高精图像中的目标匹配特征点对的示意图;
图6为本申请实施例提供的示例性的定位结果示意图;
图7为本申请实施例提供的视觉指纹库构建方法的流程示意图;
图8为本申请实施例提供的高精设备的示意图;
图9为本申请实施例提供的高精图像中特征点的示意图;
图10为本申请实施例提供的示例性的帧内匹配示意图;
图11为本申请实施例提供的滑动窗口算法的示意图;
图12为本申请实施例提供的一种示例性的帧间匹配示意图;
图13为本申请实施例提供的另一种示例性的帧间匹配示意图;
图14为本申请实施例提供的G矩阵公式推导示意图;
图15为本申请实施例提供的确定标精图像与待更新高精图像中关联元素的示意图;
图16为本申请实施例提供的一种视觉定位装置的结构示意图;
图17为本申请实施例提供的终端设备的结构示意图;
图18为本申请实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
智能交通系统(Intelligent Traffic System,ITS)又称智能运输系统(Intelligent Transportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。本申请实施例提供的视觉定位方法可以辅助智能交通系统的工作运行。
本申请实施例提供的视觉定位方法可以由具备图像处理能力的计算机设备执行,该计算机设备可以是终端设备或服务器。其中,终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。服务器可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群或者分布式系统,还可以是云服务器。
为了便于理解本申请实施例提供的视觉定位方法,下面以该视觉定位方法的执行主体为服务器为例,对该视觉定位方法的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的视觉定位方法的应用场景示意图。如图1所示,该应用场景包括车辆110、服务器120和视觉指纹库130。车辆110与服务器120之间可以通过网络进行通信;服务器120可以通过网络访问视觉指纹库130,或者视觉指纹库130可以集成在服务器120中。
在实际应用中,车辆110上的车载终端可以通过全球定位系统确定车辆110当前所处的参考位置(其定位精度较低),与此同时,车辆110上安装的行车记录仪可以采集目标图像,并将该目标图像传输给该车载终端。进而,车载终端可以将该参考位置、以及行车记录仪在车辆110处于该参考位置时采集的目标图像,通过网络发送给服务器120。
服务器120接收到参考位置和目标图像之后,可以先在视觉指纹库130中确定该参考位置对应的高精图像,进而,在该参考位置对应的高精图像中确定与目标图像相匹配的参考高精图像;如此分级搜索,可以提高参考高精图像的搜索效率,避免全量搜索耗费过长的时间。需要说明的是,视觉指纹库130中存储有高精(High Definition,HD)设备采集的对应于室外场景的高精图像、以及高精图像中的特征点在世界坐标系下的三维位置信息,并且该视觉指纹库130存储的数据可以根据普通设备采集的标精(Standard Definition,SD)图像更新;由于普通设备采集标精图像的成本较低,因此可以频繁地获取到普通设备采集的标精图像,并根据所获取的标精图像更新视觉指纹库130,如此保证该视觉指纹库130存储的数据兼具高精度和新鲜度。
服务器120确定出与目标图像匹配的参考高精图像后,可以检测该目标图像和该参考高精图像中具有匹配关系的特征点,并基于这些具有匹配关系的特征点进行外点滤除处理,得到可靠度较高的目标匹配特征点对。进而,服务器120可以根据各目标匹配特征点对中属于参考高精图像的特征点在世界坐标系下的三维位置信息、以及各目标匹配特征点对中属于目标图像的特征点在图像坐标系下的二维位置信息,确定该目标设备对应的高精度的定位结果。
应理解,图1所示的应用场景仅为示例,在实际应用中,本申请实施例提供的视觉定位方法也可以应用在其它场景中,例如,也可以用于实现对于手机的室外场景定位等等。在此不对本申请实施例提供的视觉定位方法的应用场景做任何限定。
下面通过方法实施例对本申请提供的视觉定位方法进行详细介绍。
参见图2,图2为本申请实施例提供的视觉定位方法的流程示意图。为了便于描述,下述实施例仍以该视觉定位方法的执行主体为服务器为例进行介绍。如图2所示,该视觉定位方法包括以下步骤:
步骤201:获取目标设备处于参考位置时采集的目标图像。
在本申请实施例中,服务器可以获取目标设备当前所处的参考位置、以及该目标设备处于该参考位置时采集的目标图像。需要说明的是,本申请实施例中的目标设备为待定位的设备,该目标设备例如可以为待定位的车辆、移动终端等等。目标设备所处的参考位置是定位精度较低的位置信息,该参考位置通常可以是基于全球定位系统(如GPS(GlobalPositioning System)、北斗系统等)确定的定位结果。目标图像是目标设备处于参考位置时采集的图像,该目标图像例如可以是待定位的车辆上安装的行车记录仪采集的图像,又例如可以是待定位的移动终端通过其摄像头采集的图像。
以目标设备为待定位的目标车辆为例,目标车辆上的车载终端可以根据全球定位系统的定位信号,确定目标车辆当前所处的参考位置(其定位精度较低),同时,车载终端还可以接收目标车辆上的行车记录仪采集的目标图像;进而,车载终端可以将该参考位置和该目标图像发送给服务器。
当然,在实际应用中,服务器也可以通过其它方式获取目标设备所处的参考位置和目标图像,本申请在此不对服务器获取参考位置和目标图像的方式做任何限定。
步骤202:在视觉指纹库存储的所述参考位置对应的高精图像中,确定与所述目标图像匹配的参考高精图像;所述视觉指纹库用于存储高精设备采集的对应于室外场景的高精图像、以及所述高精图像中的特征点在世界坐标系下的三维位置信息,所述视觉指纹库存储的数据根据普通设备采集的标精图像更新。
服务器获取到目标设备所处的参考位置、以及目标设备处于该参考位置时采集的目标图像后,可以先根据该参考位置,在视觉指纹库存储的大量高精图像中确定该参考位置对应的高精图像;进而,服务器可以在该参考位置对应的高精图像中确定与目标图像匹配的高精图像作为参考高精图像。如此在视觉指纹库中分级搜索参考高精图像,可以提高对于参考高精图像的搜索效率,进而提高对于目标设备的定位效率。
示例性的,视觉指纹库中存储的高精图像可以均关联有位置信息,高精图像所关联的位置信息是高精设备采集该高精图像时该高精设备所处的位置信息;基于此,服务器可以先根据目标设备的参考位置,在视觉指纹库中查找该参考位置对应的高精图像,如查找所关联的位置信息与该参考位置之间的距离小于预设距离阈值的高精图像,作为该参考位置对应的高精图像。
进而,服务器可以在该参考位置对应的高精图像中,进一步查找与目标图像相匹配的参考高精图像。例如,服务器可以针对参考位置对应的每张高精图像,计算其与目标图像之间的相似度;进而,确定与目标图像之间的相似度超过预设相似度阈值的高精图像作为参考高精图像,或者确定与目标图像之间的相似度最高的高精图像作为参考高精图像。又例如,服务器可以通过特征提取算法(如superpoint算法)确定目标图像的特征描述子、以及参考位置对应的各张高精图像各自的特征描述子,然后针对参考位置对应的每张高精图像,根据目标图像的特征描述子和该高精图像的特征描述子,确定该高精图像与目标图像之间的匹配度;进而,确定与目标图像之间的匹配度超过预设匹配度阈值的高精图像作为参考高精图像,或者确定与目标图像之间的匹配度最高的高精图像作为参考高精图像。
当然,在实际应用中,服务器也可以通过其它方式确定参考位置对应的高精图像、以及与目标图像匹配的参考高精图像,本申请在此不对确定参考位置对应的高精图像以及参考高精图像的方式做任何限定。
需要说明的是,上文中提及的视觉指纹库是基于高精设备采集的高精图像构建的,其中存储有高精设备采集的对应于室外场景的高精图像、以及各高精图像中的特征点在世界坐标系下的三维位置信息;该视觉指纹库还可以存储各特征点的三维位置信息的更新时间,该更新时间用于指示该特征点的三维位置信息最近一次被检测是否有效的时间。此外,上述视觉指纹库存储的数据可以根据普通设备采集的标精图像更新;具体的,可以根据普通设备采集的标精图像对特征点的三维位置信息的更新时间进行更新,也可以根据普通设备采集的标精图像对高精图像进行更新,如在高精图像中重建室外场景中新增的元素。下文将通过另一方法实施例,介绍上述视觉指纹库的构建方式、以及根据普通设备采集的标精图像更新该视觉指纹库存储的数据的方式,详细可参见该方法实施例,本方法实施例暂不赘述。
步骤203:根据所述目标图像和所述参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对。
此外,服务器可以通过特征提取算法检测目标图像中的特征点;例如,可以通过superpoint算法、尺度不变特征变换(Scale-invariant feature transform,SIFT)算法等,检测目标图像中的特征点。进而,服务器可以通过特征匹配算法检测该目标图像和参考高精图像中具有匹配关系的特征点;例如,可以通过superglue算法、SIFT算法等确定目标图像与参考高精图像中具有匹配关系的特征点,也即确定目标图像和参考高精图像中的匹配特征点对;图3为一种示例性的目标图像与参考高精图像中的匹配特征点对的示意图,其中301为目标图像,302为参考高精图像。
考虑到通过上述方式确定的匹配特征点对的可靠度可能较低,其中掺杂有匹配关系不可靠的匹配特征点对,为了避免匹配关系不可靠的匹配特征点对影响后续确定的定位结果的准确性和可靠性,本申请实施例可以针对这些匹配特征点对进行外点滤除操作,滤除其中匹配关系不可靠的匹配特征点对,保留匹配关系较可靠的匹配特征点对作为目标匹配特征点对,以便后续基于目标匹配特征点对进行定位。
在一种可能的实现方式中,服务器可以基于基础矩阵(Fundamental Matrix,F矩阵)或本质矩阵(Essential Matrix,E矩阵)进行外点滤除操作。即,服务器可以基于目标图像和参考高精图像中具有匹配关系的特征点,构建候选匹配特征点对。然后,基于候选匹配特征点对执行多次一级外点滤除操作;该一级外点滤除操作包括:在候选匹配特征点对中选择基础匹配特征点对,根据基础匹配特征点对确定目标设备的预测位姿,根据该预测位姿和各候选匹配特征点对,确定该一级外点滤除操作的滤除结果和滤除效果。进而,在多次一级外点滤除操作中确定滤除效果最优的目标一级外点滤除操作,根据该目标一级外点滤除操作的滤除结果,确定目标匹配特征点对。
示例性的,服务器可以将通过特征匹配算法检测出的目标图像和参考高精图像中各对具有匹配关系的特征点,均作为候选匹配特征点对。然后采用随机抽样一致(Randomsample consensus,Ransac)算法,基于候选匹配特征点对执行多次一级外点滤除操作;Ransac算法是基于一组含有外点(outliers)的数据中正确估计数学模型参数的迭代算法,外点一般指的是数据中的噪声,在本申请实施例中外点指的是匹配关系不可靠的候选匹配特征点对。
具体执行每次一级外点滤除操作时,服务器可以在各候选匹配特征点对中随机选出预设数量的基础匹配特征点对,然后,根据所选出的基础匹配特征点对确定E矩阵或F矩阵,所确定的E矩阵或F矩阵能够反映目标设备的预测位姿,该预测位姿用于表征目标设备相对于参考高精图像的采集设备的位姿,即该预测位姿本质上为相对位姿。例如,当需要基于E矩阵反映目标设备的预测位姿时,可以在各候选匹配特征点对中选出五个基础匹配特征点对,进而,采用五点法,根据五个基础匹配特征点对各自包括的特征点的位置信息确定E矩阵。又例如,当需要基于F矩阵反映目标设备的预测位姿时,可以在各候选匹配特征点对中选出七个或八个基础匹配特征点对,进而,采用七点法或八点法,根据七个或八个基础匹配特征点对各自包括的特征点的位置信息确定F矩阵。
确定出目标设备的预测位姿后,可以根据目标设备的预测位姿,在目标图像与参考高精图像之间构建极线,然后,基于极线约束确定本次一级外点滤除操作中需要滤除的候选匹配特征点对(即外点)、以及需要保留的候选匹配特征点对(即内点)。需要说明的是,如果两个相机在不同的位置拍摄同一物体,或者一个运动的相机在不同时刻拍摄同一物体,那么拍摄得到的多张图片中各点之间存在着几何对应关系,该种几何对应关系可以用对极几何来描述,也即极线约束;在本申请实施例中,可以根据目标设备的预测位姿,构建用于反映目标图像与参考高精图像之间的几何对应关系的极线,若候选匹配特征点对中的各特征点与极线之间的距离均小于预设距离阈值,则可以认为该候选匹配特征点对为可以保留的候选匹配特征点对,反之,若候选匹配特征点对中存在任一特征点与极线之间的距离超过预设距离阈值,则可以认为该候选匹配特征点对为需要滤除的候选匹配特征点对。
通过上述方式确定的需要滤除的候选匹配特征点对以及需要保留的候选匹配特征点对,即为本次一级外点滤除操作的滤除结果。服务器可以将通过本次一级外点滤除操作确定的需要保留的候选匹配特征点对的数量,作为本次一级外点滤除操作的滤除效果,需要保留的候选匹配特征点对的数量越多,则说明本次一级外点滤除操作的滤除效果越好;或者,服务器也可以将通过本次一级外点滤除操作确定的需要滤除的候选匹配特征点对的数量,作为本次一级外点滤除操作的滤除效果,需要滤除的候选匹配特征点对的数量越少,则说明本次一级外点滤除操作的滤除效果越好;又或者,服务器也可以统计各候选匹配特征点对中的特征点与所构建的极线之间的距离总和,作为本次一级外点滤除操作的滤除效果,距离总和越小,则说明本次一级外点滤除操作的滤除效果越好;当然,在实际应用中,服务器也可以采用其它指标作为一级外点滤除操作的滤除效果,本申请对此不做任何限定。
服务器基于候选匹配特征点对执行完预设次数的一级外点滤除操作后,可以在所执行的各次一级外点滤除操作中选择滤除效果最优的一级外点滤除操作,将该一级外点滤除操作确定为目标一级外点滤除操作。并且,根据该目标一级外点滤除操作的滤除结果,即根据通过该目标一级外点滤除操作保留下来的候选匹配特征点对,确定目标匹配特征点对。
如此,通过上述方式基于E矩阵或F矩阵进行外点滤除,可以有效地避免目标设备的相机内参误差对外点滤除的影响,从而保证保留下来的候选匹配特征点对的数量。
在一种可能的情况下,服务器可以直接将通过上述目标一级外点滤除操作保留下来的候选匹配特征点对,作为目标匹配特征点对。
在另一种可能的情况下,考虑到位于极线附近的误匹配特征点对难以基于E矩阵或F矩阵进行滤除,例如目标图像和参考高精图像中位于纹理重复区域的候选匹配特征点对存在较多误匹配的情况,而这种误匹配的特征点对难以基于E矩阵和F矩阵进行滤除,因此本申请实施例在上述一级外点滤除操作的基础上,进一步提出了基于PnP(pespective-n-point)算法进行二级外点滤除的方案。
即,服务器可以确定通过目标一级外点滤除操作保留下来的候选匹配特征点对,作为参考匹配特征点对。然后,基于参考匹配特征点对执行多次二级外点滤除操作;二级外点滤除操作包括:根据假设旋转参数、假设平移参数、以及参考匹配特征点对中属于参考高精图像的特征点的三维位置信息,确定属于该参考高精图像的特征点的二维位置信息;根据各参考匹配特征点对中属于参考高精图像的特征点的二维位置信息以及属于目标图像的特征点的二维位置信息,确定该二级外点滤除操作的滤除结果和滤除效果。进而,在多次二级外点滤除操作中确定滤除效果最优的目标二级外点滤除操作,根据该目标二级外点滤除操作的滤除结果,确定目标匹配特征点对。
示例性的,服务器可以将通过目标一级外点滤除操作保留下来的各候选匹配特征点对,均作为参考匹配特征点对。然后基于各参考匹配特征点对,采用PnP算法执行多次二级外点滤除操作;PnP算法是一种求解二维和三维点对位姿的算法,也就是说,在已知n个三维空间点坐标及其二维投影位置的情况下估计相机位姿的算法,本申请实施例利用PnP算法的逆运算,实现在已知相机位姿和三维空间点坐标的情况下估计三维空间点的二维投影位置的计算。
具体执行每次二级外点滤除操作时,服务器可以先设定本次二级外点滤除操作对应的假设旋转参数和假设平移参数,也即预设假设本次二级外点滤除操作所依据的相机位姿;各次二级外点滤除操作各自对应的假设旋转参数和假设平移参数不同。然后,根据该假设旋转参数、假设平移参数、以及各参考匹配特征点对中属于参考高精图像的特征点在世界坐标系下的三维位置信息,确定各参考匹配特征点对中属于参考高精图像的特征点在目标设备的相机坐标系(也即目标图像的图像坐标系)下的二维位置信息,此处的参考高精图像的特征点在世界坐标系下的三维位置信息可以从视觉指纹库中获取。进而,服务器可以针对每个参考匹配特征点对,根据该参考匹配特征点对中属于参考高精图像的特征点在图像坐标系下的二维位置信息、以及该参考匹配特征点对中属于目标图像的特征点在图像坐标系下的二维位置信息,确定该参考匹配特征点对中两个特征点之间的参考二维距离;若该参考二维距离小于预设的二维距离阈值,则可以确定该参考匹配特征点对为本次二级外点滤除操作需要保留的参考匹配特征点对,即确定该参考匹配特征点对为内点;反之,若该参考二维距离超过预设的二维距离阈值,则可以确定该参考匹配特征点对为本次二级外点滤除操作需要滤除的参考匹配特征点对,即确定该参考匹配特征点对为外点。
通过上述方式确定的需要滤除的参考匹配特征点对以及需要保留的参考匹配特征点对,即为本次二级外点滤除操作的滤除结果。服务器可以将通过本次二级外点滤除操作确定的需要保留的参考匹配特征点对的数量,作为本次二级外点滤除操作的滤除效果,需要保留的参考匹配特征点对的数量越多,则说明本次二级外点滤除操作的滤除效果越好;或者,服务器也可以将通过本次二级外点滤除操作确定的需要滤除的参考匹配特征点对的数量,作为本次二级外点滤除操作的滤除效果,需要滤除的参考匹配特征点对的数量越少,则说明本次二级外点滤除操作的滤除效果越好;又或者,服务器也可以统计各参考匹配特征点对各自对应的参考二维距离的总和,作为本次二级外点滤除操作的流程结果,参考二维距离的总和越小,则说明本次二级外点滤除操作的滤除效果越好;当然,在实际应用中,服务器也可以采用其它指标作为二级外点滤除操作的滤除效果,本申请对此不做任何限定。
服务器基于参考匹配特征点对执行完预设次数的二级外点滤除操作后,可以在所执行的各次二级外点滤除操作中选择滤除效果最优的二级外点滤除操作,将该二级外点滤除操作确定为目标二级外点滤除操作。并且,根据该目标二级外点滤除操作的滤除结果,即根据通过该目标二级外点滤除操作保留下来的参考匹配特征点对,确定目标匹配特征点对,例如可以直接将通过该目标二级外点滤除操作保留下来的参考匹配特征点对,作为目标匹配特征点对。
图4为一种示例性的目标图像与参考高精图像中的参考匹配特征点对的示意图,图5为一种示例性的目标图像与参考高精图像中的目标匹配特征点对的示意图。通过对比图3和图4可以发现,图4中的参考匹配特征点对相比图3中的候选匹配特征点对具有更高的可靠性;通过对比图4和图5可以发现,图5中的目标匹配特征点对相比图4中的参考匹配特征点对具有更高的可靠性,图5中基本不存在误匹配的特征点对。
如此,通过上述方式基于PnP算法进行二次外点滤除,可以有效地减少图像中纹理重复区域内误匹配的特征点对,进一步提高所保留的匹配特征点对的纯度,也即保证保留下来的目标匹配特征点对具有较高的可靠性。
应理解,在实际应用中,服务器也可以采用其它方式,对目标图像和参考高精图像中的匹配特征点对进行外点滤除操作,本申请对此不做任何限定。
步骤204:根据所述目标匹配特征点对中属于所述参考高精图像的特征点在世界坐标系下的三维位置信息、以及所述目标匹配特征点对中属于所述目标图像的特征点在图像坐标系下的二维位置信息,确定所述目标设备对应的定位结果;所述定位结果的定位精度高于所述参考位置。
服务器通过步骤203筛选出可靠性较高的目标匹配特征点对后,可以根据各目标匹配特征点对中属于参考高精图像的特征点在世界坐标系下的三维位置信息、以及各目标匹配特征点对中属于目标图像的特征点在图像坐标系下的二维位置信息,确定该目标设备对应的高精度的定位结果。其中,目标匹配特征点对中属于参考高精图像的特征点在世界坐标系下的三维位置信息,可以从视觉指纹库中获取;目标匹配特征点对中属于目标图像的特征点在图像坐标系下的二维位置信息,可以直接根据该特征点在目标图像中的位置确定。目标设备对应的定位结果具体可以通过目标设备在世界坐标系下的位置和姿态来表示,该定位结果的定位精度可高达30cm,基于该定位结果可以实现各类对定位精度要求较高的业务,如车道级导航、自动驾驶等。
在一种可能的实现方式中,可以通过BA(Bundle Adjustment)优化算法确定目标设备的定位结果。即,服务器可以根据各目标匹配特征点对中属于参考高精图像的特征点的三维位置信息、各目标匹配特征点对中属于目标图像的特征点的二维位置信息、目标设备的相机内参、目标设备的姿态参数和位置参数,确定投影误差;然后,通过最小化该投影误差,优化目标设备的姿态参数和位置参数,进而根据优化后的目标设备的姿态参数和位置参数,确定该目标设备的高精度的定位结果。
需要说明的是,BA优化算法又称光束法平差,也即基于光束抹平误差的算法;BA优化算法的本质是优化模型,其可以通过最小化投影误差优化相机的位置和姿态。
需要说明的是,相机内参具体可以包括内参矩阵和畸变参数。内参矩阵可以根据fx、fy、cx和cy构建;fx=F/dx,fy=F/dy,其中,F表示相机焦距的长度,dx和dy分别表示x轴方向和y轴方向上一个像素对应多少长度单位,即一个像素在x轴方向和y轴方向代表的实际物理值的大小;cx和cy分别表示图像中心像素坐标和图像原点像素坐标之间相差的横向像素数和纵向像素数。畸变参数是将图像坐标系中的点转换至像素坐标系的参数,其通常包括径向畸变参数和切向畸变参数。在本申请实施例中,若目标设备能够向服务器提供其相机内参,即目标设备标定有其相机内参,则服务器可以直接使用该目标设备提供的相机内参确定目标设备的位置和姿态;若目标设备无法向服务器提供其相机内参,则服务器需要使用BA优化算法估计该相机内参。
示例性的,服务器可以通过如下式(1),实现基于视觉投影误差来优化相机的位置和姿态:
minR,t∑||K(RPw+t)-psd||2 (1)
其中,K表示目标设备的相机内参,R表示目标设备的相机在世界坐标系下的姿态参数(通常通过旋转矩阵表示),t表示目标设备的相机在世界坐标系下的位置参数(通常通过经度、维度和高度表示),Pw表示目标匹配特征点对中属于参考高精图像的特征点在世界坐标系下的三维位置信息(从视觉指纹库中获取),psd表示目标匹配特征点对中属于目标图像的特征点在图像坐标系下的二维位置信息,Pw对应的特征点与psd对应的特征点属于同一目标匹配特征点对。
服务器通过上述式(1)最小化投影误差,并在此过程中优化目标设备的姿态参数R和目标设备的位置参数t;当投影误差满足预设的最小化条件时,可以根据此时优化得到的目标设备的姿态参数R和位置参数t,确定该目标设备在世界坐标系下的高精度的定位结果。
图6为一种示例性的定位结果示意图。图6中黑色圆圈表示用于采集高精图像的高精设备的位姿,图6中白色圆圈表示通过上述流程确定的目标设备的位姿,通过对比黑色圆圈的轨迹和白色圆圈的轨迹可以发现,目标设备与高精设备的定位差异基本在一个车道左右。
本申请实施例提供的视觉定位方法,基于存储有对应于室外场景的高精图像、以及高精图像中的特征点在世界坐标系下的三维位置信息的视觉指纹库,实现室外场景的高精度定位。具体基于该视觉指纹库进行定位时,可以先根据待定位的目标设备的低精度位置信息,在该视觉指纹库存储的该低精度位置信息对应的高精图像中,确定与该目标设备处于该低精度位置信息时采集的目标图像匹配的参考高精图像;然后,根据该目标图像和该参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对,并根据目标匹配特征点对中属于参考高精图像的特征点在世界坐标系下的三维位置信息、以及目标匹配特征点对中属于目标图像的特征点在图像坐标系下的二维位置信息,确定该目标设备的高精度定位信息;如此,基于该视觉指纹库,实现在室外场景中对于目标设备的高精度、高效率、高可靠性定位。
下面通过方法实施例,对图2所示的视觉定位方法中应用的视觉指纹库的构建方法进行详细介绍。
参见图7,图7为本申请实施例提供的视觉指纹库构建方法的流程示意图。为了便于描述,下述实施例仍以该视觉指纹库构建方法的执行主体为服务器为例进行介绍,当然,该视觉指纹库构建方法的执行主体也可以为终端设备。
如图7所示,该视觉指纹库构建方法包括以下步骤:
步骤701:获取所述高精设备上刚性连接的多台相机各自采集的高精图像。
在本申请实施例中,高精设备可以通过其上安装的多台刚性连接的相机采集高精图像,进而,将所采集的高精图像传输给服务器,以便服务器根据这些高精图像构建视觉指纹库。需要说明的是,本申请实施例中的高精设备是指可以高精度地确定自身的定位结果的设备,该高精设备例如可以是具备高精度定位性能的车辆等等。
示例性的,图8为本申请实施例提供的一种高精设备的示意图。如图8所示,该高精设备为具备高精度定位性能的车辆,该车辆上可以安装有实时动态(Real-timekinematic,RTK)装置、惯性测量单元(Inertial Measurement Unit,IMU)、和高精度的轮速检测装置,这些部件可以帮助车辆实现高精度定位。此外,该车辆上可以安装5台相机,图8中编号分别为1、2、3、4和5的箭头指示了相机的安装位置以及相机的镜头朝向,每两个相邻的相机之间的夹角约为72度,每个相机可以向上有一个20度左右的仰角,5个相机之间通过刚体连接。
应理解,图8所示的高精设备仅为示例,在实际应用中,高精设备也可以表现为其它形式的设备,如移动终端等;并且高精设备上多台相机的安装位置也可以根据实际需求设定,本申请实施例对此不做任何限定。
步骤702:检测所述高精图像中的特征点,基于所述高精图像中的特征点进行帧内匹配和帧间匹配,确定匹配特征点对。
服务器获取到高精设备传输的其上的相机采集的高精图像后,可以针对每张高精图像检测其中的特征点。例如,可以通过superpoint、SIFT等特征点检测模型或特征点检测算法,处理所接收的高精图像,从而确定其中包括的特征点;图9为本申请实施例提供的一种高精图像中特征点的示意图。
进而,服务器可以采用帧内匹配和帧间匹配的方式,基于所接收的各张高精图像中的特征点确定匹配特征点对,即确定两张不同的高精图像中具有匹配关系的特征点。例如,可以采用superglue、SIFT等特征点匹配算法,确定两张高精图像中具有匹配关系的特征点。
需要说明的是,帧内匹配是指针对同一时刻不同相机拍摄的高精图像中的特征点做匹配处理。以图8所示的高精设备为例,所采用的帧内匹配策略例如可以是,相机1采集的高精图像中的特征点与相机2采集的高精图像中的特征点做匹配,相机2采集的高精图像中的特征点与相机3采集的高精图像中的特征点做匹配,相机3采集的高精图像中的特征点与相机4采集的高精图像中的特征点做匹配,相机4采集的高精图像中的特征点与相机5采集的高精图像中的特征点做匹配,相机5采集的高精图像中的特征点与相机1采集的高精图像中的特征点做匹配。图10为本申请实施例提供的一种示例性的帧内匹配示意图,图10展示了相机1(前视相机)和相机2(左前相机)在同一时刻拍摄的高精图像中的特征点的匹配情况。
需要说明的是,帧间匹配是指针对不同时刻相同或不同相机拍摄的高精图像中的特征点做匹配处理。本申请实施例具体可以基于滑动窗口算法(Sliding-Windowalgorithm)进行帧间匹配,即设定固定时间长度的窗口,对窗口对应的时间段内所有相机采集的高精图像进行特征点匹配,通过不断地移动窗口,实现更多的高精图像之间的帧间匹配;图11为本申请实施例提供的一种滑动窗口算法的示意图,如图11所示,在窗口1101内,服务器需要对t5时刻每个相机采集的每张高精图像,将其中包括的特征点与t1至t4时刻各个相机各自采集的各张高精图像中的特征点进行匹配处理,在窗口1102内,服务器需要对t6时刻每个相机采集的每张高精图像,将其中包括的特征点与t2至t5时刻各个相机各自采集的各张高精图像中的特征点进行匹配处理,以此类推。图12和图13为本申请实施例提供的示例性的帧间匹配示意图,图12展示了同一相机在不同时刻拍摄的高精图像中的特征点的匹配情况,图13展示了不同相机在不同时刻拍摄的高精图像中的特征点的匹配情况。
可选的,为了提高通过步骤702确定的匹配特征点对的可靠性,本申请实施例可以在基于高精图像中的特征点进行帧内匹配和帧间匹配,确定匹配特征点对之前,对所接收的每张高精图像进行预处理。即,服务器可以针对每张高精图像,通过分割模型确定该高精图像中的纹理重复元素和动态障碍元素,并对该高精图像中的所述纹理重复元素和所述动态障碍元素进行遮盖处理。进而,基于遮盖处理后的高精图像中的特征点进行帧内匹配和帧间匹配,确定匹配特征点对。
具体的,考虑到高精设备上的相机采集的对应于室外场景的高精图像中通常存在很多纹理重复元素(如道路地面等)和动态障碍元素(如道路上的车辆和行人等),由于这些纹理重复元素和动态障碍元素在室外场景定位应用中无法有效地起到定位参照作用,甚至可能影响所确定的定位结果的准确性,因此,本申请实施例可以在针对高精图像进行特征点匹配处理前,先遮盖掉高精图像中的纹理重复元素和动态障碍元素,避免高精图像中对应于纹理重复元素和动态障碍元素的特征点之间的误匹配,进而影响后续确定的高精图像中特征点的三维位置信息的准确性。
示例性的,可以采用分割模型(如Mask RCNN模型等),检测高精图像中的纹理重复元素和动态障碍元素,并通过该分割模型将所检测到的纹理重复元素和动态障碍元素从高精图像中分割出去,也即将高精图像中的纹理重复元素和动态障碍元素mask掉。相应地,基于高精图像中的特征点进行帧内匹配和帧间匹配时,被mask掉的元素上的特征点将不参与匹配。如此,既可以在一定程度上减少后续处理所需的计算资源,还可以减少误匹配的特征点对,有助于提高后续确定的高精图像中特征点的三维位置信息的准确性。
步骤703:基于所述匹配特征点对执行外点滤除操作,得到内匹配特征点对。
考虑到通过步骤702确定的匹配特征点对中可能包括匹配关系不可靠的匹配特征点对,即外匹配特征点对,而这些外匹配特征点对可能影响后续计算的准确性和可靠性,因此,服务器需要基于通过步骤702确定的匹配特征点对执行外点滤除操作,以滤除其中匹配关系不可靠的外匹配特征点对,仅保留其中匹配关系较可靠的内匹配特征点对。
在一种可能的实现方式中,本申请实施例创新性地提出了一种基于通用相机模型本质矩阵(GeneralMatrix,G矩阵)执行外点过滤操作的方式。即,服务器可以针对每个匹配特征点对,确定该匹配特征点对对应的旋转参数和平移参数;然后,根据该旋转参数和该平移参数,确定该匹配特征点对对应的通用相机模型本质矩阵;进而,根据该通用相机模型本质矩阵、以及该匹配特征点对中各特征点各自对应的光线表示,检测该匹配特征点对是否属于内匹配特征点对。
图14为本申请实施例提供的一种G矩阵公式推导示意图。图14所示为普吕克坐标系(Plucker coordinates);其中,点P代表三维点,对应高精图像的采集相机在世界坐标系下的三维位置信息;q代表相机光线(projection ray)的方向向量,其可以根据图像坐标系下像素点的位置信息和相机的内参计算出来,相机光线上的三维点在相机光线方向上有一个尺度因子α。
普吕克坐标系是三维直线的一种常用表达,如图14所示,q代表直线的方向向量,P代表直线上的一个三维点,则q′=P×q表示原点和该直线构成的平面的法向量,进而存在qTq′=0,那么直线上的三维点的方程可以表示为如下式(2):
(q×q′)+αq (2)
对于普吕克坐标系下的相机C1的光线L可以表示为如下式(3):
那么,对于与相机C1刚性连接的相机C2在同一时刻的光线L′,或者相机C1或相机C2在另一时刻的光线L′,可以表示为如下式(4):
其中,R和t分别表示相机C1与相机C2之间的旋转参数和平移参数,或者分别表示相机C1在不同时刻之间的旋转参数和平移参数,或者分别表示相机C1与相机C2之间在不同时刻之间的旋转参数和平移参数。
如果光线和/>相交于一点,那么存在如下式(5)所示的关系:
结合上述公式(4)和公式(5),可以得出如下式(6)所示的关系:
对式(6)进行化简处理,可得如下式(7):
将式(7)改成写矩阵形式,可得如下式(8):
其中,即为本次外点滤除操作所需的通用相机模型本质矩阵。其中,R和t分别代表同一相机在不同时序中的旋转参数和平移参数,或者不同相机在同一时序中的旋转参数和平移参数,或者不同相机在不同时序中的旋转参数和平移参数。
在本申请实施例中,可以通过以下方式确定上述G矩阵中的旋转参数和平移参数:若匹配特征点对是通过帧内匹配确定的,则确定该匹配特征点对中各特征点各自所属的高精图像的采集相机,根据采集相机之间的位置关系参数,确定该匹配特征点对对应的旋转参数和平移参数;若匹配特征点对是通过帧间匹配确定的,则确定该匹配特征点对中各特征点各自所属的高精图像之间的采集时间差,对该采集时间差对应的时间段内的高精设备的运动参数进行预积分,得到该高精设备的参考旋转参数和参考平移参数;根据该参考旋转参数和该参考平移参数,确定该匹配特征点对对应的旋转参数和平移参数。
具体的,对于通过帧内匹配确定匹配关系的匹配特征点对,服务器可以确定该匹配特征点对中各特征点各自所属的高精图像的采集相机,也即采集该特征点所属的高精图像的相机,然后直接根据高精设备上标定的各相机间的位置关系参数,确定这两个采集相机之间的旋转参数和平移参数,并将其带入上述G矩阵的表达式中,得到用于检测该匹配特征点对是否属于内匹配特征点对的G矩阵。
对于通过帧间匹配确定匹配关系的匹配特征点对,服务器可以通过对该高精设备的运动参数进行预积分(PreIntegration),确定该匹配特征点对对应的参考旋转参数和参考平移参数。具体对运动参数进行预积分的公式分别如下式(9)、式(10)和式(11)所示:
vt+1=vt+(R(am-ab)+g)Δt (10)
其中,pt+1和pt分别表示高精设备在t+1时刻和t时刻的位置,vt+1和vt分别表示高精设备在t+1时刻和t时刻的速度,qt+1和qt分别表示高精设备在t+1时刻和t时刻的旋转角度(通常表示为四元组);v为高精设备的实际轮速,am和ab分别为实际测得的加速度和加速度误差,Δt为t+1时刻与t时刻之间的时间差,R为高精设备的IMU测得的旋转参数,g为重力加速度,q为IMU测得的旋转角度,ωt和ωb分别为实际测得的角速度和角速度误差。
在本申请实施例中,对于通过帧间匹配确定匹配关系的匹配特征点对,可以根据(pa-pb)确定该匹配特征点对对应的参考平移参数,其中,a和b表示匹配特征点对中两个特征点各自所属的高精图像的采集时间,pa和pb分别为高精设备在a时刻和b时刻所处的位置;并且可以根据(qa-qb)确定该匹配特征点对对应的参考旋转参数,其中,qa和qb分别为高精设备在a时刻和b时刻的旋转角度。
对于基于同一相机采集的高精图像进行帧间匹配确定的匹配特征点对,服务器可以直接将通过上述方式确定的该匹配特征点对对应的参考旋转参数和参考平移参数,带入G矩阵的表达式中,得到用于检测该匹配特征点对是否属于内匹配特征点对的G矩阵。对于基于不同相机采集的高精图像进行帧间匹配确定的匹配特征点对,服务器还需要在该匹配特征点对对应的参考旋转参数和参考平移参数的基础上,融合两张高精图像各自的采集相机之间的位置关系参数,确定用于检测该匹配特征点对是否属于内匹配特征点对的G矩阵。
确定出匹配特征点对对应的G矩阵后,可以将该匹配特征点对中各特征点的光线表示和该匹配特征点对对应的G矩阵,带入上述公式8中的计算该匹配特征点对中两个特征点之间的匹配度,若计算得到的匹配度满足预设匹配条件(如小于预设阈值),则可以确定该匹配特征点对属于内匹配特征点对,反之,若计算得到的匹配度不满足该预设匹配条件,则可以确定该匹配特征点对属于外匹配特征点对,需要滤除。
经试验,可以有效地滤除外匹配特征点对,试验中经上述外点滤除操作,匹配特征点对的数量从208个下降到了183个,所保留的内匹配特征点对基本不存在误匹配的情况。相比传统的基于极线过滤外点的方式,本申请实施例提出的基于G矩阵过滤外点的方式,可以有效地将图像中纹理重复区域内的外匹配特征点对过滤掉,具有更优的外点滤除效果。
应理解,在实际应用中,服务器除了可以采用上述方式滤除匹配特征点对中的外匹配特征点对外,也可以采用其它方式滤除匹配特征点对中的外匹配特征点对,本申请对此不做任何限定。
步骤704:根据所述内匹配特征点对、以及所述内匹配特征点对中的特征点所属的高精图像对应的位姿进行三角化计算,确定所述内匹配特征点对中的特征点在世界坐标系下的三维位置信息;所述高精图像对应的位姿为采集所述高精图像的相机采集所述高精图像时的位姿。
服务器通过步骤703滤除匹配特征点对中的外匹配特征点对后,可以进一步根据保留下来的各内匹配特征点对中特征点在图像坐标系下的二维位置信息、以及各内匹配特征点对中特征点所属的高精图像对应的位姿,进行三角化计算,从而确定内匹配特征点对中的特征点在世界坐标系下的三维位置信息。其中,高精图像对应的位姿可以理解为采集该高精图像的相机采集该高精图像时的位置和姿态,本申请实施例可以通过上述步骤702介绍的预积分确定高精设备的位置和姿态,相应地,可以根据相机在高精设备上的部署位置,确定该相机的位置和姿态。
需要说明的是,三角化(Triangulation)计算又称三角化测量,是指基于在不同位置观测一个三维空间中的特征点时的夹角,测得该特征点的深度值的算法;在本申请实施例中,在已知高精图像对应的位姿、以及高精图像中具有匹配关系的特征点在图像坐标系下的二维位置信息的情况下,可以通过三角化计算,确定该具有匹配关系的特征点在世界坐标系下的三维位置信息。
应理解,特征点在世界坐标系下的三维位置信息,本质上可以反映该特征点所属的实际元素(例如现实世界中的建筑物、树木、指示牌等元素)在世界坐标系下的位置,这些实际元素在世界坐标系下的位置可以作为在室外场景中进行视觉定位的参照,辅助确定待定位的设备在室外场景中的高精度定位结果。
可选的,考虑到通过对运动参数进行预积分确定高精设备的位姿,可能会存在累积误差,为了避免该累积误差影响所确定的特征点的三维位置信息的准确度和可靠度,在本申请实施例中,服务器可以每隔预设时段,基于RTK载波相位差分技术,消除通过预积分确定的高精设备的位姿的累积误差。
示例性的,可以通过如下式(12),基于RTK消除累积误差:
其中,rp(x)为边缘化产生的先验因子对应的残差,rL(m,X)是点云特征匹配对应的残差,在本申请实施例中可以理解为视觉重投影误差,是IMU预积分产生的残差。
通过RTK的位姿约束绝对位姿,可以消除预积分过程中的累积误差,从而构建一个位姿图优化高精设备的位姿,消除预积分的累积误差。
本申请实施例通过上述步骤701至步骤704可以完成初始的视觉指纹库的构建,即基于高精设备采集的高精图像构建视觉指纹库,在该视觉指纹库中存储高精设备采集的对应于室外场景的高精图像、以及高精图像中特征点在世界坐标系下的三维位置信息。
此外,在本申请实施例提供中,视觉指纹库存储的数据还可以根据普通设备采集的标精图像进行更新,从而保证该视觉指纹库存储的数据兼具精度和鲜度。服务器具体可以通过以下方式,根据普通设备采集的标精图像更新视觉指纹库存储的数据:获取普通设备采集的标精图像;在视觉指纹库中确定与该标精图像匹配的待更新高精图像;通过极线搜索技术,根据该标精图像和该待更新高精图像,确定在该标精图像和该待更新高精图像中均存在的关联元素;进而,将视觉指纹库中该关联元素对应的特征点的三维位置信息的更新时间,调整为该标精图像的采集时间。
示例性的,服务器可以接收普通设备上传的其采集的标精图像,此处的普通设备可以是具备定位能力、但定位精度较低的设备,例如可以是安装有行车记录仪的车辆;在本申请实施例中,车辆可以通过其上安装的车载电脑,将其上安装的行车记录仪采集的标精图像上传给服务器,同时,为了方便服务器快速地确定与该标精图像匹配的待更新高精图像,车载电脑也可以将该车辆采集该标精图像时的低精度定位结果上传给服务器。服务器获取到普通设备上传的标精图像和低精度定位结果后,可以先根据该低精度定位结果,在视觉指纹库中查找该低精度定位结果对应的高精图像;进而,可以将该低精度定位结果对应的高精图像均作为待更新高精图像,或者,也可以从该低精度定位结果对应的高精图像中,选出与该标精图像匹配度较高的高精图像作为待更新高精图像,具体选择待更新高精图像的方式与上文图2所示实施例中选择目标图像匹配的参考高精图像的方式相类似。
进而,服务器可以采用极线搜索技术,确定标精图像与待更新高精图像中均存在的元素,并将其作为关联元素。图15为本申请实施例提供的一种确定标精图像与待更新高精图像中关联元素的示意图,如图15所示,服务器通过极线搜索技术,基于标精图像和待更新高精图像进行数据差分,可以确定其中元素1501为标精图像和待更新高精图像中共存的关联元素。对于该关联元素,服务器可以认为该关联元素在采集该标精图像时仍在现实世界中存在,且位置未发生改变,因此,可以将视觉指纹库中该关联元素对应的特征点的三维位置信息的更新时间均调整为该标精图像的采集时间,此处特征点的三维位置信息的更新时间用于表征最近一次检测该特征点是否有效的时间,将该更新时间调整为标精图像的采集时间,即表明该特征点的三维位置信息在该标精图像的采集时间仍有效。
应理解,根据标精图像的采集时间对特征点的三维位置信息的更新时间进行更新,有利于实际进行视觉定位时考量特征点的三维位置信息的可靠性。若实际进行视觉定位时,发现所使用的某特征点的三维位置信息的更新时间较早,则说明该特征点的三维位置信息的可靠度较低,因此可以降低该特征点的三维位置信息的置信度,即降低视觉定位时对该特征点的三维位置信息的考虑程度,以避免该特征点的三维位置信息影响所确定的定位结果的准确度和可靠度。
此外,若确定标精图像中存在非关联元素,则服务器需要根据包括该非关联元素的多张标精图像、以及这多张标精图像各自对应的位姿,确定该非关联元素在世界坐标系下的三维位置信息,并在待更新高精图像中重建该非关联元素。此处的非关联元素为标精图像中存在、待更新高精图像中不存在的元素,标精图像对应的位姿为采集该标精图像的普通设备采集该标精图像时的位姿。
在实际应用中,室外场景复杂多变,可能会因气象变化或者城市规划等因素而发生改变,例如,经常会发生室外场景相比采集高精图像时新增其它元素的情况。对于该种情况,本申请实施例可以基于后续接收的标精图像,在标精图像对应的待更新高精图像中重建新增的元素,也即重建标精图像中存在、但待更新高精图像中不存在的非关联元素。
示例性的,如图15所示,服务器通过极线搜索技术,没有在待更新高精图像中搜索到与元素1502相匹配的元素,因此可以确定标精图像中的该元素为非关联元素。进而,服务器可以获取多张包括该非关联元素的标精图像,这多张标精图像可以来自同一普通设备,也可以来自不同的普通设备;然后,通过三角化计算,根据这多张标精图像中对应于该非关联元素的特征点在各自所属的标精图像中的二维位置信息、以及这多张标精图像各自对应的位姿,确定对应于该非关联元素的特征点在世界坐标系下的三维位置信息;应理解,此处确定非关联元素的特征点在世界坐标系下的三维位置信息的实现方式,与上文介绍的基于高精图像确定其中特征点在世界坐标系下的三维位置信息的实现方式相类似,详细可参见上文的相关介绍内容。进而,服务器可以根据对应于该非关联元素的特征点在世界坐标系下的三维位置信息,在待更新高精图像中三维重建该非关联元素,从而实现对于视觉指纹库的补充。
应理解,由于上述非关联元素的特征点在世界坐标系下的三维位置信息是根据普通设备的位姿确定的,因此,此类特征点的三维位置信息相比高精图像中特征点的三维位置信息的精度更低,在实际进行视觉定位时,若需要使用此类特征点的三维位置信息进行定位,可以适当降低此类特征点的三维位置信息的置信度,以避免因此类特征点的三维位置信息而降低所确定的定位结果的精度。
本申请实施例提供的视觉指纹库构建方法,可以基于高精设备采集的高精图像,确定高精图像中的特征点在世界坐标系下的三维位置信息,并据此构建视觉指纹库,并且该视觉指纹库存储的数据还可以根据普通设备采集的标精图像更新;由于普通设备采集标精图像的成本较低,因此可以频繁地获取到普通设备采集的标精图像,并利用获取的标精图像更新视觉指纹库存储的数据,如此使得视觉指纹库存储的数据兼具高精度和新鲜度,可以更好地适用于在复杂多变的室外场景中进行定位。
针对上文描述的视觉定位方法,本申请还提供了对应的视觉定位装置,以使上述视觉定位方法在实际中得以应用及实现。
参见图16,图16是与上文图2所示的视觉定位方法对应的一种视觉定位装置1600的结构示意图。如图16所示,该视觉定位装置1600包括:
图像获取模块1601,用于获取目标设备处于参考位置时采集的目标图像;
匹配图像确定模块1602,用于在视觉指纹库存储的所述参考位置对应的高精图像中,确定与所述目标图像匹配的参考高精图像;所述视觉指纹库用于存储高精设备采集的对应于室外场景的高精图像、以及所述高精图像中的特征点在世界坐标系下的三维位置信息,所述视觉指纹库存储的数据根据普通设备采集的标精图像更新;
匹配特征点确定模块1603,用于根据所述目标图像和所述参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对;
高精定位模块1604,用于根据所述目标匹配特征点对中属于所述参考高精图像的特征点在世界坐标系下的三维位置信息、以及所述目标匹配特征点对中属于所述目标图像的特征点在图像坐标系下的二维位置信息,确定所述目标设备对应的定位结果;所述定位结果的定位精度高于所述参考位置。
可选的,所述匹配特征点确定模块1603具体用于:
基于所述目标图像和所述参考高精图像中具有匹配关系的特征点,构建候选匹配特征点对;
基于所述候选匹配特征点对执行多次一级外点滤除操作;所述一级外点滤除操作包括:在所述候选匹配特征点对中选择基础匹配特征点对,根据所述基础匹配特征点对确定所述目标设备的预测位姿,根据所述预测位姿和各所述候选匹配特征点对,确定所述一级外点滤除操作的滤除结果和滤除效果;
在所述多次一级外点滤除操作中确定滤除效果最优的目标一级外点滤除操作,根据所述目标一级外点滤除操作的滤除结果,确定所述目标匹配特征点对。
可选的,所述匹配特征点确定模块1603具体用于:
确定通过所述目标一级外点滤除操作保留下来的候选匹配特征点对,作为参考匹配特征点对;
基于所述参考匹配特征点对执行多次二级外点滤除操作;所述二级外点滤除操作包括:根据假设旋转参数、假设平移参数、以及所述参考匹配特征点对中属于所述参考高精图像的特征点的三维位置信息,确定属于所述参考高精图像的特征点的二维位置信息;根据各所述参考匹配特征点对中属于所述参考高精图像的特征点的二维位置信息以及属于目标图像的特征点的二维位置信息,确定所述二级外点滤除操作的滤除结果和滤除效果;
在所述多次二级外点滤除操作中确定滤除效果最优的目标二级外点滤除操作,根据所述目标二级外点滤除操作的滤除结果,确定所述目标匹配特征点对。
可选的,所述高精定位模块1604具体用于:
根据各所述目标匹配特征点对中属于所述参考高精图像的特征点的三维位置信息、各所述目标匹配特征点对中属于所述目标图像的特征点的二维位置信息、所述目标设备的相机内参、所述目标设备的姿态参数和位置参数,确定投影误差;
通过最小化所述投影误差,优化所述目标设备的姿态参数和位置参数,根据优化后的所述目标设备的姿态参数和位置参数,确定所述定位结果。
可选的,所述装置还包括指纹库构建模块;所述指纹库构建模块包括:
高精图像获取单元,用于获取所述高精设备上刚性连接的多台相机各自采集的高精图像;
特征点匹配单元,用于检测所述高精图像中的特征点,基于所述高精图像中的特征点进行帧内匹配和帧间匹配,确定匹配特征点对;
外点滤除单元,用于基于所述匹配特征点对执行外点滤除操作,得到内匹配特征点对;
位置信息确定单元,用于根据所述内匹配特征点对、以及所述内匹配特征点对中的特征点所属的高精图像对应的位姿进行三角化计算,确定所述内匹配特征点对中的特征点在世界坐标系下的三维位置信息;所述高精图像对应的位姿为采集所述高精图像的相机采集所述高精图像时的位姿。
可选的,所述外点滤除单元具体用于:
针对每个所述匹配特征点对,确定所述匹配特征点对对应的旋转参数和平移参数;根据所述旋转参数和所述平移参数,确定所述匹配特征点对对应的通用相机模型本质矩阵;根据所述通用相机模型本质矩阵、以及所述匹配特征点对中各特征点各自对应的光线表示,检测所述匹配特征点对是否属于所述内匹配特征点对。
可选的,所述外点滤除单元具体用于:
若所述匹配特征点对是通过帧内匹配确定的,则确定所述匹配特征点对中各特征点各自所属的高精图像的采集相机,根据所述采集相机之间的位置关系参数,确定所述匹配特征点对对应的旋转参数和平移参数;
若所述匹配特征点对是通过帧间匹配确定的,则确定所述匹配特征点对中各特征点各自所属的高精图像之间的采集时间差,对所述采集时间差对应的时间段内的所述高精设备的运动参数进行预积分,得到所述高精设备的参考旋转参数和参考平移参数;根据所述参考旋转参数和所述参考平移参数,确定所述匹配特征点对对应的旋转参数和平移参数。
可选的,所述指纹库构建模块还包括:
分割单元,用于在所述基于所述高精图像中的特征点进行帧内匹配和帧间匹配,确定匹配特征点对之前,针对每张所述高精图像,通过分割模型确定所述高精图像中的纹理重复元素和动态障碍元素,对所述高精图像中的所述纹理重复元素和所述动态障碍元素进行遮盖处理;
则所述特征点匹配单元具体用于:
基于遮盖处理后的所述高精图像中的特征点进行帧内匹配和帧间匹配,确定所述匹配特征点对。
可选的,所述指纹库构建模块还包括:
误差消除单元,用于每隔预设时段,基于载波相位差分技术,消除通过预积分确定的所述高精设备的位姿的累积误差。
可选的,所述指纹库构建模块还包括:
标精图像获取单元,用于获取所述普通设备采集的所述标精图像;
标精图像匹配单元,用于在视觉指纹库中确定与所述标精图像匹配的待更新高精图像;
关联元素确定单元,用于通过极线搜索技术,根据所述标精图像和所述待更新高精图像,确定在所述标精图像和所述待更新高精图像中均存在的关联元素;
数据更新单元,用于将所述视觉指纹库中所述关联元素对应的特征点的三维位置信息的更新时间,调整为所述标精图像的采集时间。
可选的,所述数据更新单元还用于:
若确定所述标精图像中存在非关联元素,则根据包括所述非关联元素的多张标精图像、以及所述多张标精图像各自对应的位姿,确定所述非关联元素在世界坐标系下的三维位置信息,并在所述待更新高精图像中重建所述非关联元素;所述非关联元素为所述标精图像中存在、所述待更新高精图像中不存在的元素,所述标精图像对应的位姿为采集所述标精图像的普通设备采集所述标精图像时的位姿。
本申请实施例提供的视觉定位装置,基于存储有对应于室外场景的高精图像、以及高精图像中的特征点在世界坐标系下的三维位置信息的视觉指纹库,实现室外场景的高精度定位,并且该视觉指纹库存储的数据可以根据普通设备采集的标精图像更新;由于普通设备采集标精图像的成本较低,因此可以频繁地获取到普通设备采集的标精图像,并利用获取的标精图像更新视觉指纹库存储的数据,如此使得视觉指纹库存储的数据兼具高精度和新鲜度,可以更好地适用于在复杂多变的室外场景中进行定位。基于该视觉指纹库进行定位时,可以先根据待定位的目标设备的低精度位置信息,在该视觉指纹库存储的该低精度位置信息对应的高精图像中,确定与该目标设备处于该低精度位置信息时采集的目标图像匹配的参考高精图像;然后,根据该目标图像和该参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对,并根据目标匹配特征点对中属于参考高精图像的特征点在世界坐标系下的三维位置信息、以及目标匹配特征点对中属于目标图像的特征点在图像坐标系下的二维位置信息,确定该目标设备的高精度定位信息;如此,基于该视觉指纹库,实现在室外场景中对于目标设备的高精度、高效率、高可靠性定位。
本申请实施例还提供了一种用于实现视觉定位的计算机设备,该计算机设备具体可以是终端设备或者服务器,下面将从硬件实体化的角度对本申请实施例提供的终端设备和服务器进行介绍。
参见图17,图17是本申请实施例提供的终端设备的结构示意图。如图17所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、车载电脑等任意终端设备,以终端为车载电脑为例:
图17示出的是与本申请实施例提供的终端相关的车载电脑的部分结构的框图。参考图17,车载电脑包括:射频(Radio Frequency,RF)电路1710、存储器1720、输入单元1730(其中包括触控面板1731和其他输入设备1732)、显示单元1740(其中包括显示面板1741)、传感器1750、音频电路1760(其可以连接扬声器1761和传声器1762)、无线保真(wirelessfidelity,WiFi)模块1770、处理器1780、以及电源1790等部件。本领域技术人员可以理解,图17中示出的车载电脑结构并不构成对车载电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1720可用于存储软件程序以及模块,处理器1780通过运行存储在存储器1720的软件程序以及模块,从而执行车载电脑的各种功能应用以及数据处理。存储器1720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据车载电脑的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1780是车载电脑的控制中心,利用各种接口和线路连接整个车载电脑的各个部分,通过运行或执行存储在存储器1720内的软件程序和/或模块,以及调用存储在存储器1720内的数据,执行车载电脑的各种功能和处理数据。可选的,处理器1780可包括一个或多个处理单元;优选的,处理器1780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1780中。
在本申请实施例中,该终端所包括的处理器1780还用于执行本申请实施例提供的视觉定位方法的任意一种实现方式的步骤。
参见图18,图18为本申请实施例提供的一种服务器1800的结构示意图。该服务器1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1822(例如,一个或一个以上处理器)和存储器1832,一个或一个以上存储应用程序1842或数据1844的存储介质1830(例如一个或一个以上海量存储设备)。其中,存储器1832和存储介质1830可以是短暂存储或持久存储。存储在存储介质1830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1822可以设置为与存储介质1830通信,在服务器1800上执行存储介质1830中的一系列指令操作。
服务器1800还可以包括一个或一个以上电源1826,一个或一个以上有线或无线网络接口1850,一个或一个以上输入输出接口1858,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图18所示的服务器结构。
其中,CPU 1822还可以用于执行本申请实施例提供的视觉定位方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种视觉定位方法中的任意一种实施方式。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的一种视觉定位方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (15)

1.一种视觉定位方法,其特征在于,所述方法包括:
获取目标设备处于参考位置时采集的目标图像;
在视觉指纹库存储的所述参考位置对应的高精图像中,确定与所述目标图像匹配的参考高精图像;所述视觉指纹库用于存储高精设备采集的对应于室外场景的高精图像、以及所述高精图像中的特征点在世界坐标系下的三维位置信息,所述视觉指纹库存储的数据根据普通设备采集的标精图像更新;
根据所述目标图像和所述参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对;
根据所述目标匹配特征点对中属于所述参考高精图像的特征点在世界坐标系下的三维位置信息、以及所述目标匹配特征点对中属于所述目标图像的特征点在图像坐标系下的二维位置信息,确定所述目标设备对应的定位结果;所述定位结果的定位精度高于所述参考位置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标图像和所述参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对,包括:
基于所述目标图像和所述参考高精图像中具有匹配关系的特征点,构建候选匹配特征点对;
基于所述候选匹配特征点对执行多次一级外点滤除操作;所述一级外点滤除操作包括:在所述候选匹配特征点对中选择基础匹配特征点对,根据所述基础匹配特征点对确定所述目标设备的预测位姿,根据所述预测位姿和各所述候选匹配特征点对,确定所述一级外点滤除操作的滤除结果和滤除效果;
在所述多次一级外点滤除操作中确定滤除效果最优的目标一级外点滤除操作,根据所述目标一级外点滤除操作的滤除结果,确定所述目标匹配特征点对。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标一级外点滤除操作的滤除结果,确定所述目标匹配特征点对,包括:
确定通过所述目标一级外点滤除操作保留下来的候选匹配特征点对,作为参考匹配特征点对;
基于所述参考匹配特征点对执行多次二级外点滤除操作;所述二级外点滤除操作包括:根据假设旋转参数、假设平移参数、以及所述参考匹配特征点对中属于所述参考高精图像的特征点的三维位置信息,确定属于所述参考高精图像的特征点的二维位置信息;根据各所述参考匹配特征点对中属于所述参考高精图像的特征点的二维位置信息以及属于目标图像的特征点的二维位置信息,确定所述二级外点滤除操作的滤除结果和滤除效果;
在所述多次二级外点滤除操作中确定滤除效果最优的目标二级外点滤除操作,根据所述目标二级外点滤除操作的滤除结果,确定所述目标匹配特征点对。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标匹配特征点对中属于所述参考高精图像的特征点在世界坐标系下的三维位置信息、以及所述目标匹配特征点对中属于所述目标图像的特征点在图像坐标系下的二维位置信息,确定所述目标设备对应的定位结果,包括:
根据各所述目标匹配特征点对中属于所述参考高精图像的特征点的三维位置信息、各所述目标匹配特征点对中属于所述目标图像的特征点的二维位置信息、所述目标设备的相机内参、所述目标设备的姿态参数和位置参数,确定投影误差;
通过最小化所述投影误差,优化所述目标设备的姿态参数和位置参数,根据优化后的所述目标设备的姿态参数和位置参数,确定所述定位结果。
5.根据权利要求1所述的方法,其特征在于,所述视觉指纹库是通过以下方式构建的:
获取所述高精设备上刚性连接的多台相机各自采集的高精图像;
检测所述高精图像中的特征点,基于所述高精图像中的特征点进行帧内匹配和帧间匹配,确定匹配特征点对;
基于所述匹配特征点对执行外点滤除操作,得到内匹配特征点对;
根据所述内匹配特征点对、以及所述内匹配特征点对中的特征点所属的高精图像对应的位姿进行三角化计算,确定所述内匹配特征点对中的特征点在世界坐标系下的三维位置信息;所述高精图像对应的位姿为采集所述高精图像的相机采集所述高精图像时的位姿。
6.根据权利要求5所述的方法,其特征在于,所述基于所述匹配特征点对执行外点滤除操作,得到内匹配特征点对,包括:
针对每个所述匹配特征点对,确定所述匹配特征点对对应的旋转参数和平移参数;根据所述旋转参数和所述平移参数,确定所述匹配特征点对对应的通用相机模型本质矩阵;根据所述通用相机模型本质矩阵、以及所述匹配特征点对中各特征点各自对应的光线表示,检测所述匹配特征点对是否属于所述内匹配特征点对。
7.根据权利要求6所述的方法,其特征在于,所述确定所述匹配特征点对对应的旋转参数和平移参数,包括:
若所述匹配特征点对是通过帧内匹配确定的,则确定所述匹配特征点对中各特征点各自所属的高精图像的采集相机,根据所述采集相机之间的位置关系参数,确定所述匹配特征点对对应的旋转参数和平移参数;
若所述匹配特征点对是通过帧间匹配确定的,则确定所述匹配特征点对中各特征点各自所属的高精图像之间的采集时间差,对所述采集时间差对应的时间段内的所述高精设备的运动参数进行预积分,得到所述高精设备的参考旋转参数和参考平移参数;根据所述参考旋转参数和所述参考平移参数,确定所述匹配特征点对对应的旋转参数和平移参数。
8.根据权利要求5所述的方法,其特征在于,在所述基于所述高精图像中的特征点进行帧内匹配和帧间匹配,确定匹配特征点对之前,所述方法还包括:
针对每张所述高精图像,通过分割模型确定所述高精图像中的纹理重复元素和动态障碍元素,对所述高精图像中的所述纹理重复元素和所述动态障碍元素进行遮盖处理;
所述基于所述高精图像中的特征点进行帧内匹配和帧间匹配,确定匹配特征点对,包括:
基于遮盖处理后的所述高精图像中的特征点进行帧内匹配和帧间匹配,确定所述匹配特征点对。
9.根据权利要求5所述的方法,其特征在于,所述方法还包括:
每隔预设时段,基于载波相位差分技术,消除通过预积分确定的所述高精设备的位姿的累积误差。
10.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述普通设备采集的所述标精图像;
在视觉指纹库中确定与所述标精图像匹配的待更新高精图像;
通过极线搜索技术,根据所述标精图像和所述待更新高精图像,确定在所述标精图像和所述待更新高精图像中均存在的关联元素;
将所述视觉指纹库中所述关联元素对应的特征点的三维位置信息的更新时间,调整为所述标精图像的采集时间。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
若确定所述标精图像中存在非关联元素,则根据包括所述非关联元素的多张标精图像、以及所述多张标精图像各自对应的位姿,确定所述非关联元素在世界坐标系下的三维位置信息,并在所述待更新高精图像中重建所述非关联元素;所述非关联元素为所述标精图像中存在、所述待更新高精图像中不存在的元素,所述标精图像对应的位姿为采集所述标精图像的普通设备采集所述标精图像时的位姿。
12.一种视觉定位装置,其特征在于,所述装置包括:
图像获取模块,用于获取目标设备处于参考位置时采集的目标图像;
匹配图像确定模块,用于在视觉指纹库存储的所述参考位置对应的高精图像中,确定与所述目标图像匹配的参考高精图像;所述视觉指纹库用于存储高精设备采集的对应于室外场景的高精图像、以及所述高精图像中的特征点在世界坐标系下的三维位置信息,所述视觉指纹库存储的数据根据普通设备采集的标精图像更新;
匹配特征点确定模块,用于根据所述目标图像和所述参考高精图像中具有匹配关系的特征点,确定目标匹配特征点对;
高精定位模块,用于根据所述目标匹配特征点对中属于所述参考高精图像的特征点在世界坐标系下的三维位置信息、以及所述目标匹配特征点对中属于所述目标图像的特征点在图像坐标系下的二维位置信息,确定所述目标设备对应的定位结果;所述定位结果的定位精度高于所述参考位置。
13.一种计算机设备,其特征在于,所述设备包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至11中任一项所述的视觉定位方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至11中任一项所述的视觉定位方法。
15.一种计算机程序产品,包括计算机程序或者指令,其特征在于,所述计算机程序或者所述指令被处理器执行时,实现权利要求1至11中任一项所述的视觉定位方法。
CN202211289232.4A 2022-10-20 2022-10-20 一种视觉定位方法及相关装置 Pending CN117953050A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211289232.4A CN117953050A (zh) 2022-10-20 2022-10-20 一种视觉定位方法及相关装置
PCT/CN2023/123970 WO2024083010A1 (zh) 2022-10-20 2023-10-11 一种视觉定位方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211289232.4A CN117953050A (zh) 2022-10-20 2022-10-20 一种视觉定位方法及相关装置

Publications (1)

Publication Number Publication Date
CN117953050A true CN117953050A (zh) 2024-04-30

Family

ID=90736879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211289232.4A Pending CN117953050A (zh) 2022-10-20 2022-10-20 一种视觉定位方法及相关装置

Country Status (2)

Country Link
CN (1) CN117953050A (zh)
WO (1) WO2024083010A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057183B2 (ja) * 2010-03-31 2012-10-24 アイシン・エィ・ダブリュ株式会社 風景マッチング用参照データ生成システム及び位置測位システム
CN106447585A (zh) * 2016-09-21 2017-02-22 武汉大学 城市地区和室内高精度视觉定位系统及方法
CN109186616B (zh) * 2018-09-20 2020-04-07 禾多科技(北京)有限公司 基于高精度地图和场景检索的车道线辅助定位方法
CN113096185B (zh) * 2021-03-29 2023-06-06 Oppo广东移动通信有限公司 视觉定位方法、视觉定位装置、存储介质与电子设备
CN113580134B (zh) * 2021-08-03 2022-11-04 亿咖通(湖北)技术有限公司 视觉定位方法、设备、机器人、存储介质及程序产品

Also Published As

Publication number Publication date
WO2024083010A1 (zh) 2024-04-25

Similar Documents

Publication Publication Date Title
CN110070615B (zh) 一种基于多相机协同的全景视觉slam方法
CN108717710B (zh) 室内环境下的定位方法、装置及系统
CN110033489B (zh) 一种车辆定位准确性的评估方法、装置及设备
KR102200299B1 (ko) 3d-vr 멀티센서 시스템 기반의 도로 시설물 관리 솔루션을 구현하는 시스템 및 그 방법
CN109461208B (zh) 三维地图处理方法、装置、介质和计算设备
US20110261187A1 (en) Extracting and Mapping Three Dimensional Features from Geo-Referenced Images
EP3818741A1 (en) Method, apparatus and computer program for performing three dimensional radio model construction
CN109596121B (zh) 一种机动站自动目标检测与空间定位方法
CN111830953A (zh) 车辆自定位方法、装置及系统
CN112348886B (zh) 视觉定位方法、终端和服务器
CN109871739B (zh) 基于yolo-sioctl的机动站自动目标检测与空间定位方法
CN113888639B (zh) 基于事件相机与深度相机的视觉里程计定位方法及系统
CN111623773B (zh) 一种基于鱼眼视觉和惯性测量的目标定位方法及装置
US20200279395A1 (en) Method and system for enhanced sensing capabilities for vehicles
CN114359476A (zh) 一种用于城市峡谷环境导航的动态3d城市模型构建方法
WO2021017211A1 (zh) 一种基于视觉的车辆定位方法、装置及车载终端
CN112348887A (zh) 终端位姿确定方法以及相关装置
CN114969221A (zh) 一种更新地图的方法及相关设备
Zingoni et al. Real-time 3D reconstruction from images taken from an UAV
CN113838129B (zh) 一种获得位姿信息的方法、装置以及系统
KR102249381B1 (ko) 3차원 영상 정보를 이용한 모바일 디바이스의 공간 정보 생성 시스템 및 방법
CN111829522B (zh) 即时定位与地图构建方法、计算机设备以及装置
CN113129422A (zh) 一种三维模型构建方法、装置、存储介质和计算机设备
Huang et al. Image-based localization for indoor environment using mobile phone
KR102225321B1 (ko) 복수 영상 센서로부터 취득한 영상 정보와 위치 정보 간 연계를 통한 도로 공간 정보 구축을 위한 시스템 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination