CN117011481A - 构建三维地图的方法、装置、电子设备及存储介质 - Google Patents
构建三维地图的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117011481A CN117011481A CN202211074200.2A CN202211074200A CN117011481A CN 117011481 A CN117011481 A CN 117011481A CN 202211074200 A CN202211074200 A CN 202211074200A CN 117011481 A CN117011481 A CN 117011481A
- Authority
- CN
- China
- Prior art keywords
- road
- image
- road image
- elements
- information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims abstract description 116
- 238000012546 transfer Methods 0.000 claims abstract description 76
- 238000001514 detection method Methods 0.000 claims description 77
- 230000002776 aggregation Effects 0.000 claims description 76
- 238000004220 aggregation Methods 0.000 claims description 76
- 230000011218 segmentation Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 26
- 238000001914 filtration Methods 0.000 claims description 19
- 238000010276 construction Methods 0.000 claims description 17
- 230000007704 transition Effects 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 216
- 238000012549 training Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 29
- 230000006870 function Effects 0.000 description 23
- 210000003128 head Anatomy 0.000 description 11
- 230000009466 transformation Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 229920001651 Cyanoacrylate Polymers 0.000 description 1
- 239000004830 Super Glue Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003571 electronic cigarette Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Computer Graphics (AREA)
- Remote Sensing (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Image Processing (AREA)
Abstract
本申请涉及地图技术领域,公开了一种构建三维地图的方法、装置、电子设备及存储介质,该方法包括:计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵;根据特征点相匹配的道路元素所对应的转移矩阵,将第一道路图像中的道路元素与第二道路图像中的道路元素进行语义关联;根据被语义关联的道路元素所对应多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定被语义关联的道路元素对应的三维空间信息;根据被语义关联的道路元素的三维空间信息和被语义关联的道路元素所属的元素类型,构建三维地图;本方案可以降低构建三维地图的成本,而且降低了对数据采集的要求。
Description
技术领域
本申请涉及地图技术领域,更具体地,涉及一种构建三维地图的方法、装置、电子设备及存储介质。
背景技术
通过计算机视觉技术构建三维地图是地图相关业务中的一个非常重要的任务,在道路生产自动化、高精地图构建、自动驾驶等等中有着广泛的应用。相关技术中,一般是通过大量的道路图像匹配和激光雷达采集的到点云数据来构建三维地图,该种方法由于需要利用到激光雷达采集到的点云数据,对数据采集的要求较高,而且,需要对道路图像和点云数据进行处理,因此,数据处理量较大。如果地图更新的频率较高,则三维地图构建的数据处理量对应加大。总结来说,按照图像匹配和激光雷达配合的方式,构建三维地图的成本较高。
发明内容
鉴于上述问题,本申请实施例提出了一种构建三维地图的方法、装置、电子设备及存储介质,以解决相关技术中三维地图构建成本高的问题。
根据本申请实施例的一个方面,提供了一种构建三维地图的方法,该方法包括:计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵;第一道路图像和所述第二道路图像是在间隔距离不超过距离阈值的两个采集点所采集到的不同的道路图像;根据特征点相匹配的道路元素所对应的转移矩阵,将所述第一道路图像中的道路元素与所述第二道路图像中的道路元素进行语义关联,其中,被语义关联的两道路元素表示空间中的同一道路元素;根据被语义关联的道路元素所对应多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定被语义关联的道路元素对应的三维空间信息;根据所述被语义关联的道路元素的三维空间信息和所述被语义关联的道路元素所属的元素类型,构建三维地图。
根据本申请实施例的一个方面,提供了一种构建三维地图的装置,该装置包括:转移矩阵确定模块,用于计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵;第一道路图像和所述第二道路图像是在间隔距离不超过距离阈值的两个采集点所采集到的不同的道路图像;语义关联模块,用于根据特征点相匹配的道路元素所对应的转移矩阵,将所述第一道路图像中的道路元素与所述第二道路图像中的道路元素进行语义关联,其中,被语义关联的两道路元素表示空间中的同一道路元素;三维空间信息确定模块,用于根据被语义关联的道路元素对应的多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定被语义关联的道路元素对应的三维空间信息;地图构建模块,用于根据所述被语义关联的道路元素的三维空间信息和所述被语义关联的道路元素所属的元素类型,构建三维地图
根据本申请实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上的构建三维地图的方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上构建三维地图的方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上的构建三维地图的方法。
在本申请的方案中,在对第一道路图像和第二道路图像进行特征点匹配后,计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵,并根据转移矩阵来将不同道路图像中的道路元素进行语义关联,之后,根据语义关联的道路元素在两道路图像中的位置信息来确定道路元素的三维空间信息,并进而根据道路元素的三维空间信息来构建三维地图。在该过程中实现了利用针对道路环境在两个视角下采集到的道路图像来进行三维地图构建,而不涉及利用激光雷达来进行点云数据采集,从而,消除了三维地图构建对激光雷达设备的依赖,降低了构建三维地图的成本。而且,本方案可以在道路进行更新时,可以即使基于更新后的道路图像进行三维地图更新。
此外,在本申请的方案中,在对两张道路图像进行特征点提取的基础上,不仅将不同道路图像中的特征点进行特征点匹配,而且基于转移矩阵来进一步将两张道路图像中的道路元素进行语义关联,相较于仅根据特征点匹配来将道路元素进行关联的方式,本方案中参考的信息更多,从而可以保证对道路元素所进行语义关联的准确性,保证所确定道路元素的三维空间信息的准确性,进而保证所生成三维地图的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请一实施例示出本申请的应用场景的示意图。
图2是根据本申请的一实施例示出的构建三维地图的方法的流程图。
图3A示例性示出了一图像中的像素点通过单应矩阵进行变换的示意图.
图3B示例性像素点和对极线的映射关系的示意图。
图4示例性示出了对道路图像中的多个道路元素进行聚组的示意图。
图5是根据本申请一实施例示出的对聚合组进行膨胀的示意图。
图6是图2对应实施例中的步骤220在一实施例中的流程图。
图7是图2对应实施例中的步骤220在另一实施例中的流程图。
图8示出了小孔成像的原理图。
图9示例性示出了从第一采集点向第一道路图像所对应的道路轨迹进行投影的示意图。
图10是根据本申请一实施例示出的将十字路口进行划分的示意图。
图11是根据本申请另一实施例示出的构建三维地图的方法的流程图。
图12是根据本申请一实施例示出的一道路图像中的道路元素的示意图。
图13是根据本申请一实施例示出的对道路图像中的特征点进行过滤的示意图。
图14是根据本申请一具体实施例示出的构建三维地图的方法的流程图。
图15是根据本申请一实施例示出的多任务解析网络的结构示意图。
图16是根据本申请一实施例示出的构建三维地图的装置的框图。
图17示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用图像采集设备和计算机代替人眼对目标进行识别、测量等机器视觉,并进一步做图形处理,使计算机处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
通过计算机视觉技术构建三维地图是地图相关业务中的一个非常重要的任务,在道路生产自动化、高精地图构建、自动驾驶等等中有着广泛的应用。相关技术中,一般是通过大量的道路图像匹配和激光雷达采集的到点云数据来构建三维地图,该种方法由于需要利用到激光雷达采集到的点云数据,对数据采集的要求较高,而且,需要对道路图像和点云数据进行处理,因此,数据处理量较大。如果地图更新的频率提高,则对应加大三维地图构建的数据处理量。总结来说,按照图像匹配和激光雷达配合的方式,构建三维地图的成本较高。基于此,提出了本申请的方案。
图1是根据本申请一实施例示出本申请的应用场景的示意图,如图1所示,该应用场景中包括多个终端110和与各终端110通过有线或者无线网络通信连接的服务端120。其中,终端110是具备图像采集功能的电子设备,其可以是搭载行车记录仪的车辆、摄像头、相机、智能手机、平板电脑、智能语音交互设备、车载终端、飞行器等。
该终端110可以在道路上沿行进轨迹运动的过程中,对道路所在的环境进行图像采集,从而获得该条行进轨迹上的道路图像;例如在车辆行驶过程中,通过其上的行车记录仪或者其他具备图像采集功能的车载终端间隔进行图像采集,获得对应行进轨迹上的多张道路图像。
终端110可以在道路图像采集过程中,获取拍摄道路图像时终端110的位置信息(如经纬度坐标,例如GPS(Global Positioning System,全球定位系统)信息),并将道路图像与拍摄时终端110的位置信息进行关联存储,以用于后续进行三维地图构建。
由于车辆的行驶覆盖面较广,从而,通过车辆中具有图像采集功能的设备来进行图像采集,可以保证道路图像的覆盖面,进而,可以提供用于构建三维地图的较全面的道路图像。
终端110可以将采集到的多张道路图像发送到服务端120,由此,服务端120可以按照本申请的方法来构建三维地图,具体的,服务端120可按照如下的过程构建三维地图:确定两张道路图像中相匹配的道路元素之间的转移矩阵;根据转移矩阵将两张道路图像中的道路元素进行语义关联;根据被语义关联的道路元素中的特征点对,确定该道路元素的三维空间信息;根据道路元素的三维空间信息构建三维地图。
服务端120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请的实施例中的方案可应用于三维地图、导航、自动驾驶、智能车辆控制、车联网、智能交通、辅助驾驶以及云计算等技术领域。
以下对本申请实施例的技术方案的实现细节进行详细阐述。
图2是根据本申请的一实施例示出的构建三维地图的方法的流程图,该方法可以由图1中的服务端120执行。参照图2所示,该方法至少包括步骤210至240,详细介绍如下:
步骤210,计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵;第一道路图像和第二道路图像是在间隔距离不超过距离阈值的两个采集点所采集到的不同的道路图像。
第一道路图像和第二道路图像可以是在行进过程中通过图像采集装置面向道路所在环境进行图像采集的得到的。具体的,图像采集装置可以是车辆上的行车记录仪,对应的,车辆可以是在道路上行驶过程中间隔进行图像采集。图像采集装置还可以是智能手机、平板电脑、摄像机、相机等,在此不进行具体限定。
第一道路图像和第二道路图像可以是在同一行驶轨迹下在相同位置点或者在间隔距离小于距离阈值的两个位置点所采集到的不同的道路图像,也可以是在不同行驶轨迹下在间隔距离小于距离阈值的两个位置点所采集到的不同的道路图像。这样,第一道路图像和第二道路图像中表示相同的道路元素的数量较多,可以提升三维地图的构建效率。
道路元素是指用于标识道路环境的元素,道路元素可以是交通指示灯(例如红绿灯)、限速牌、电子眼、危险标牌、道路名称牌、禁止通行指示牌、掉头指示牌等。
在步骤210之前,可以分别对第一道路图像和第二道路图像进行目标检测,从而确定第一道路图像中所包括的道路元素和各道路元素在第一道路图像中的位置信息,以及确定第二道路图像中所包括的道路元素和各道路元素在第二道路图像中的位置信息。
在一些实施例中,可以通过目标检测模型来对道路图像进行目标检测。其中,目标检测模型是通过一种或者多种神经网络构建的模型,该目标检测模型可以用于识别道路图像中所包括的道路元素,以及道路元素在道路图像中的位置信息。在具体实施例中,目标检测模型可以基于输入的道路图像,输出道路图像中各道路元素所属的元素类型,以及各道路元素所对应的检测框的位置信息。其中,检测框可以是包围道路元素的框(例如矩形框等),将检测框所包围的区域作为道路元素所在的区域。
如上所描述,道路元素可以是交通指示灯、限速牌、电子眼等,可以预先将道路元素划分为多种元素类型,例如元素类型包括用于指示为交通指示灯的元素类型,用于指示为限速牌的元素类型、用于指示为电子烟的元素类型、用于指示为危险标牌的元素类型、用于指示道路名称牌的道路类型、用于指示禁止通行指示牌的元素类型等等。
为了保证目标检测模型所输出检测框的位置信息以及道路元素所属元素类型的准确性,需要预先通过第一训练数据对目标检测模型进行训练。第一训练数据包括多张第一训练图像和各第一训练图像对应的第一标签信息,第一标签信息用于指示所对应第一训练图像中所包括各道路元素的位置信息和道路元素所属的元素类型。之后,将第一训练图像输入到目标检测模型中,由目标检测模型进行道路元素检测和识别,并输入对应的道路元素识别信息,其中,道路元素识别信息用于指示所预测到第一训练图像中各道路元素对应的预测位置信息和各道路元素的预测元素类型。其后,根据第一训练图像对应的道路元素识别信息和所对应的第一标签信息,计算目标检测模型所对应第一损失函数的函数值,并根据所计算得到的函数值反向调整目标检测模型的参数,直至达到第一训练结束条件,该第一训练结束条件可以是第一损失函数收敛,或者迭代次数达到次数阈值等。
在具体实施例中,可以对第一道路图像和第二道路图像进行特征点提取,然后将第一道路图像中的特征点与第二道路图像中的特征点进行特征点关联,之后,根据特征点关联结果来确定第一道路图像中与第二道路图像中特征点相匹配的道路元素。具体的,如果第一道路图像中道路元素A中存在N个特征点与第二道路图像中道路元素B中的特征点相关联,如果N大于数量阈值,则将第一道路图像中的道路元素A与第二道路图像中的道路元素B确定为特征点相匹配的道路元素。
特征点可以是图像中灰度值发生显著变化的点或者图像边缘上曲率较大的点(例如两个边缘的交点)。在特征点提取过程中,对应获得了特征点对应的特征描述子,该特征描述子可以认为是特征点的身份认证,其为一个具有固定长度的向量,或者说,特征描述子是指用于特征点的特征描述向量。
一般而言,同一空间点在不同视角下的特征点具有高度相似的特征描述子,因此,可以根据特征点对应的特征描述子来将第一道路图像中的特征点与第二道路图像中的特征点进行关联。具体的,针对第一道路图像中的特征点I和第二道路图像中的特征点II,如果特征点I所对应的特征描述子与特征点II对应的特征描述子的之间相似度超过相似度阈值,则确定第一道路图像中的特征点I和第二道路图像中的特征点II为相关联的特征点,或者相匹配的特征点。
特征点相匹配的道路元素对应的转移矩阵用于描述在第一道路图像中该道路元素中的多个特征点与第二道路元素中所对应道路元素中的多个特征点之间的位置变换关系。即,若第一道路图像中的道路元素A与第二道路图像中的道路元素B是特征点相匹配的道路元素,则所对应的转移矩阵用于描述第一道路图像中的道路元素A所包括的多个特征点与第二道路图像中道路元素B所包括的相关联的多个特征点之间的位置变换关系。
转移矩阵可以是单应矩阵,也可以是基础矩阵。其中,单应矩阵约束了物理空间中的同一点在两个像素平面的二维齐次坐标,即单应矩阵描述的是两个不同像素平面上像素点与像素点之间的约束关系,通过单应矩阵可确定一像素点在另一图像中对应的像素点的位置。
图3A示例性示出了一图像中的像素点通过单应矩阵进行变换的示意图,示例性的,第一图像中的像素点C1通过单应矩阵可以变换到第二图像中的像素点C2,第一图像中的像素点D1通过单应矩阵可以变换到第二图像中的像素点D2,第一图像中的像素点E1通过单应矩阵可以变换到第二图像中的像素点E2。
反之,如果已知两张图像中多组相对应的像素点的位置信息,可以逆向确定对应的单应矩阵。通常的,通过4组相关联的特征点对的位置信息可以确定3*3的单应矩阵。在其他实施例中,也可以利用opencv软件包中的findHomography()函数来基于多组相关联的特征点对的位置信息输出对应的单应矩阵。
基础矩阵描述的是3维场景的对极约束关系,和三维场景的结构无关,只依赖于相机的内参数以及外参数,需要两个相机的位置有旋转和平移。其描述的是点和线的约束关系,即基础矩阵表示的是像点和另一幅图像上的对极线的映射关系。
图3B示出了像素点和对极线的映射关系的示意图。在该图中,平面P2是图像采集装置在位置O1拍摄平面P1对应的成像平面,平面P3是图像采集装置在位置O2拍摄平面P1对应的成像平面,即O1和O2分别为图像采集装置的相机中心。相机中心的连线O1 O2称为基线。e1和e2分别是基线与平面P2和P3的交点,e1为图像采集装置在位置O1拍摄平面P1时O2在平面P2的像素点,e2为图像采集装置在位置O2拍摄平面P1时O1在平面P2上的像素点。
其中,x1为平面P1中的点A1在平面P2上对应的像素点,x2为平面P1中的点A1在平面P3的像素点。对极线为对极平面和成像平面的交线,对极平面为过基线的平面,且e1、e2、O1、O2、x1、x2以及A1在同一平面。
从以上信息可知,对于平面P1在不同视角得到的平面P2和平面P3,平面P2中任一个像素点,在平面P3中都有一条与之对应的对极线。如平面P2中的像素点x 2与平面P3中的对极线l1相对应,即Fx2=l1。其中,F为基础矩阵,表示像素点x 2与平面P3中的对极线l1的映射关系。
对于三维空间中的点A2,其与O1和A1在同一直线上,因此图像采集装置在位置O1拍摄平面P1时A1和A2在平面P2的像素点相同而图像深度不同。基于图3中的B图可知,图像采集装置在位置O 2拍摄平面P1时A1和A2分别在平面P2的像素点x2和x3仍然位于同一对极线之上。
反过来,基于针对物理空间中所得到的在两个视角下的图像,根据该两张图像中相对应的特征点对在对应图像中的位置信息,可以反过来计算对应的基础矩阵。
基础矩阵F也是一个3×3的矩阵,蕴含了立体像对的两幅图像在拍摄时相互之间的空间几何关系以及相机检校参数,包括旋转、位移、像主点坐标和焦距。通常的,可以通过7组相对应的特征点对在对应图像中的位置信息,确定基础矩阵。还可以直接使用opencv软件包中的findFundamentalMat()函数计算基础矩阵。在具体实施例中,当两个视角下对应的图像采集装置之间只旋转不平移时,可以通过单应矩阵来描述两张图像之间的变换关系。
可以理解的是,在本申请中,基于道路元素所确定的转移矩阵可以认为是局部转移矩阵,因为其并不是对应第一道路图像到第二道路图像全局的变换关系,而是反映特征点关联的两道路元素之间的变换关系。
在一些实施例中,步骤210,包括:根据第一道路图像与第二道路图像中特征点相匹配的道路元素,确定特征点相匹配的道路元素对应的多个特征点对,各特征点对包括在第一道路图像中特征点相匹配的道路元素中的第一特征点和在第二道路图像中特征点相匹配的道路元素中的第二特征点;根据多个特征点对中第一特征点的位置信息和第二特征点的位置信息,确定特征点相匹配的道路元素对应的转移矩阵。
举例来说,若第一道路图像中的道路元素A与第二道路图像中的道路元素B是特征点相匹配的道路元素,则在位于第一道路图像中道路元素A和位于第二道路图像中道路元素B中的K组特征点对的位置信息,来确定对应的转移矩阵;如上所描述K大于等于4。
可以理解的是,如上的实施例适用于特征点相匹配的道路元素之间存在的相关联的特征点对的数量不低于4的情况;如果道路元素之间存在的相关联的特征点对的数量小于4,则可以按照如下的实施例来确定转移矩阵。
在另一些实施例中,步骤210,包括:对于第一道路图像中待计算转移矩阵的第一目标道路元素,确定第一目标道路元素所属的第一目标聚合组;根据第一目标聚合组和第二目标聚合组中具有对应关系的多个特征点对,确定第一目标聚合组与第二目标聚合组之间的转移矩阵,第二目标聚合组是指第二道路图像中与第一目标聚合组相对应的聚合组;将第一目标聚合组与第二目标聚合组之间的转移矩阵作为第一道路图像中第一目标道路元素与第二道路图像中第二目标道路元素之间的转移矩阵;第二目标道路元素是指第二道路图像中特征点位于第二目标聚合组中的道路元素。
在本实施例中,可以预先将第一道路图像中的道路元素进行聚组,确定第一道路图像中的多个聚合组,以及将第二道路图像中的道路元素进行聚组,确定第二道路图像中的多个聚合组。
第二道路图像中与第一目标聚合组相对应的聚合组是指第二道路图像中,与第一目标聚合组中的特征点相关联的特征点所在的聚合组。
在本实施例中,在将道路元素进行聚组之后,根据第一道路图像中第一道路元素所属的第一聚合组和在第二道路图像中相对应的第二聚合组中相对应的特征对来确定转移矩阵,可以有效减小因将噪声点或者外点误作为特征点对转移矩阵的影响,起到了较好的平滑作用,进而保证后续基于转移矩阵进行语义关联的准确性和有效性。
在一些实施例中,步骤210之前,该方法还包括:根据第一道路图像对应的深度估计信息和各道路元素在第一道路图像中的位置信息,将第一道路图像中的道路元素进行聚组,确定第一道路图像中的聚合组;根据第二道路图像对应的深度估计信息和各道路元素在第二道路图像中的位置信息,将第二道路图像中的道路元素进行聚组,确定第二道路图像中的聚合组;根据第一道路图像与第二道路图像的特征点关联结果,确定第一道路图像与第二道路图像中相对应的聚合组。
第一道路图像对应的深度估计信息用于指示第一道路图像中各像素点的深度,其中,深度估计信息所是指像素点的深度可以是相对深度。
在具体实施例中,可以通过深度预测网络模型来估计第一道路图像中各像素点的深度,输出第一道路图像对应的深度估计信息,该深度估计信息可以是第一道路图像对应的相对深度图。其中,深度预测网络模型可以通过一种或者多种神经网络模型构建的。为保证深度预测网络模型所输出深度估计信息的准确性,需要先通过第二训练数据对深度预测网络模型进行训练。
第二训练数据包括多张第二训练图像和各第二训练图像对应的第一相对深度图,其中,第一相对深度图用于指示第二训练图像中各像素点的相对深度。
其训练过程如下:将第二训练图像输入到深度预测网络模型中,由深度预测网络模型对第二训练图像进行相对深度预测,输出第二训练图像对应的预测相对深度图;之后,根据第二训练图像对应的预测相对深度图和所对应的第一相对深度图计算深度预测网络模型对应的第二损失函数的函数值,并根据函数值反向调整深度预测网络模型的参数,直至达到第二训练结束条件。
现以第一道路图像为例对道路元素聚组的过程进行说明:第一道路元素中各道路元素的位置信息反映了各道路元素在第一道路图像中的位置信息,第一道路图像对应的深度估计信息对应是指了各道路元素中的像素点在第一道路图像中的深度信息,在此基础上,可以将第一道路图像中距离差不超过第五阈值且深度差值不超过第六阈值的多个道路元素归于一组,即作为一个聚合组。基于道路元素的位置信息和对应的深度估计信息进行聚组,可以保证归于一聚合组中的多个道路元素在第一道路图像中处于彼此间隔较近的区域。
可以理解的是,第一道路图像(或者第二道路图像)中一个聚合组中的道路元素为一个或者多个。对第二道路图像中的道路元素进行聚组的过程与上文类似,在此不再赘述。
图4示例性示出了对道路图像中的多个道路元素进行聚组的示意图,图4中示出了道路图像对应的深度图,该深度图中的检测框为道路图像中道路元素对应的检测框,其中检测框中的数字表示该道路元素对应的深度,如图4所示,深度图左上角的三个道路元素所对应的检测框位置彼此靠近,而且,三个道路元素之间的深度差值较小,因此,可以将该三个道路元素聚合为一个聚合组。而在图4中左下方的道路元素距离该三个道路元素对应的检测框的位置较远,因此,左下方的道路元素与右上方的三个道路元素分属两个聚合组。
在具体实施例中,可以通过包围道路元素的检测框来指示道路元素在道路图像(例如第一道路图像、第二道路图像)中的位置信息,在该种情况下,对道路元素进行聚组,也可以理解为对检测框进行聚组,一个聚合组中可以包括一个或者多个道路元素对应的检测框。
在具体实施例中,可以通过矩形框来指示一个聚合组在道路图像中的位置信息,在该种情况下,通过矩形框来包围归于一个聚合组的道路元素的检测框。例如在图4中,通过虚线矩形框来指示该聚合组在道路图像中的位置信息。
如上所描述,需要通过一定数量的相对应的特征点对的位置信息来计算道路元素所对应的转移矩阵,在该种情况下,为了保证后续可以准确计算转移军阵,需要保证一个聚合组中特征点的数量不小于一定的阈值。
在一些实施例中,该方法还包括:若第一道路图像或者第二道路图像中存在特征点数量小于第一阈值的聚合组,则将聚合组进行膨胀,以使膨胀后的聚合组中特征点的数量不小于第一阈值。
也就是说,在对道路图像中的道路元素进行聚组之后,统计一个聚合组中特征点的数量,如果一聚合组中的特征点的数量小于第一阈值,则对聚合组进行膨胀,从而,膨胀后,位于聚合组中的特征点的数量不小于第一阈值。其中,第一阈值可根据实际需要设定,例如第一阈值为10、15、20等。
对聚合组进行膨胀是指扩宽聚合组覆盖的范围,从而,使落入聚合组中的特征点的数量增加。在具体实施例中,可以对表示聚合组的边界的矩形框进行等比例放大,以实现聚合组的膨胀。
图5是根据本申请一实施例示出的对聚合组进行膨胀的示意图,图5中的左图为膨胀之前一聚合组中特征点的示意图,如图5所示,表示聚合组的边界的矩形框中的特征点的数量小于第一阈值。之后可以对该聚合组进行膨胀,图5中的右图示出了对聚合组进行膨胀后的示意图,如图5所示,膨胀之后,聚合组所对应的矩形框包围的区域更广,对应的,落入聚合组中的特征点的数量增加,满足不低于第一阈值的条件。
在本实施例中,在一个聚合组中的特征点的数量较小的情况下,对聚合组进行膨胀,以使膨胀后的聚合组中特征点的数量不小于第一阈值,从而可以保证后续基于聚合组中的特征点来计算转移矩阵。
步骤220,根据特征点相匹配的道路元素所对应的转移矩阵,将第一道路图像中的道路元素与第二道路图像中的道路元素进行语义关联,其中,被语义关联的两道路元素表示空间中的同一道路元素。
语义关联是指将在两张不同的道路图像中表示空间中同一道路元素的道路元素进行关联。可以理解的是,被语义关联的两道路元素是位于两张道路图像中的道路元素。
在一些实施例中,如图6所示,步骤220,包括:
步骤610,对于第一道路图像中的第一道路元素,根据第一道路元素所对应第一检测框的位置信息和第一道路元素所对应的转移矩阵,确定第一检测框在第二道路图像中对应的预测框。
步骤620,若预测框内存在一个属于目标元素类型的第二道路元素所对应的第二检测框,则将第一道路图像中的第一道路元素与第二道路图像中的第二道路元素进行语义关联;其中,第一道路元素所属的元素类型为目标元素类型。
第一道路元素是指第一道路图像中待进行语义关联的道路元素,将用于指示第一道路元素在第一道路图像中的位置的检测框称为第一检测框。目标元素类型是指第一道路元素所属的元素类型。其中,第一道路元素所对应第一检测框的位置信息以及第一道路元素所属的元素类型可以从第一道路图像对应的目标检测结果中获得。
第二道路元素是指第二道路图像中位于预测框内且所属的元素类型为目标元素类型的道路元素。第二检测框是指用于指示第二道路元素所在位置的检测框。同理,第二道路图像中各道路元素所对应检测框的位置信息和各道路元素所属的元素类型可以从第二道路图像对应的目标检测结果中获得。
如上所描述,第一道路元素对应的转移矩阵指示了第一道路图像中第一道路元素和第二道路图像中与第一道路元素特征点相匹配的道路元素之间的变换关系。在步骤610中,相当于是根据第一道路元素所对应的转移矩阵进行逆向计算,即按照第一道路元素所对应的转移矩阵所指示的变换关系,将第一道路图像中的第一检测框变换到第二道路图像中。将第一检测框变换到第二道路图像所得到的检测框称为第一检测框在第二道路图像中对应的预测框。
在一些实施例中,可以从第一检测框上选取多个参考点(例如第一检测框的四个端点),然后对应按照转移矩阵进行变换,得到各参考点对应的关联点,所确定的关联点对应位于第一检测框所对应的预测框上,由此可以确定预测框在第二道路图像中的位置。
如果第二道路图像中的预测框内存在道路元素,且该道路元素所属的元素类型与第一道路元素所属的元素类型相同,则可以确定该道路元素与第一道路图像中的第一道路元素表示空间中的同一道路元素,从而,对应将第二道路图像中的该道路元素与第一道路图像中的第一道路元素进行语义关联。
图6示出了第一道路图像中表示限速牌的道路元素所对应的第一检测框611的示意图,按照该限速牌所对应的转移矩阵将第一检测框611进行变换,可以得到图6中第二道路图像中的预测框612。由图6中的B可以看出,预测框612内存在一个检测框,且该检测框所包围的道路元素也是限速牌,因此,可以确定第一道路图像中第一检测框所包围的限速牌与第二道路图像中预测框612中的限速牌表示空间中的同一限速牌。
在本申请的另一些实施例中,如图7所示,步骤220包括:
步骤610,对于第一道路图像中的第一道路元素,根据第一道路元素所对应第一检测框的位置信息和第一道路元素所对应的转移矩阵,确定第一检测框在第二道路图像中对应的预测框。
步骤640,在第二道路图像中对预测框进行膨胀处理。
步骤650,若膨胀处理后的预测框内存在一个属于目标元素类型的第二道路元素所对应的第二检测框,则将第一道路图像中的第一道路元素与第二道路图像中的第二道路元素进行语义关联。
膨胀处理是指增加预测框所包围的区域,或者说增加预测框的尺寸,以使预测框所包围的区域更广。在具体实施例中,可以预先设定预测框的宽度对应的膨胀比例,和高度对应的膨胀比例,从而,按照对应的膨胀比例对预测框进行膨胀处理,其中,膨胀比例用于指示膨胀后的长度(或者高度)与膨胀处理前的长度(或者高度)的比例。
如图7中的A示出了第一道路图像中表示限速牌的道路元素所对应的第一检测框611的示意图,按照该限速牌所对应的转移矩阵将第一检测框611进行变换,可以得到图7中的B所示第二道路图像中的预测框612;然后对第二道路图像中的预测框进行膨胀处理,可以到图7中的C所示的第三检测框613,该第三检测框即为对预测框进行膨胀处理后的检测框。将预测框612与第三检测框613进行比较可以发现,第三检测框所包围的区域比预测框612包围的区域面积更大。
在本实施例中,在确定第一检测框变换到第二道路图像中的预测框后,先对预测框进行膨胀处理,然后基于膨胀处理后的预测框的位置信息来确定第二道路图像中与第一道路图像中的第一道路元素语义关联的道路元素,提升了道路对象语义关联的容错性和鲁棒性。
在一些实施例中,可以在确定第二道路图像中预测框内不存在属于目标元素类型的道路元素所对应的检测框的情况,再对第二道路图像中的预测框进行膨胀处理,从而,可以避免在第二道路图像中的预测框中存在第二检测框的情况下也对预测框进行膨胀处理,避免浪费处理资源。
请继续参阅图2,步骤230,根据被语义关联的道路元素所对应多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定被语义关联的道路元素对应的三维空间信息。
被语义关联的道路元素之间所存在的多个被关联的特征点也可以称为该被语义关联的道路元素所对应的特征点对。为便于描述,假设第一道路图像中的第一道路元素和第二道路图像中的第二道路元素为被语义关联的道路元素,则将被语义关联的道路元素所对应的特征点对中位于第一道路图像中的第一道路元素中的特征点称为第一特征点,将被语义关联的道路元素所对应的特征点对中位于第二道路图像的第二道路元素中且与第一特征点相对应的特征点称为第二特征点。
被语义关联的道路元素对应的三维空间信息用于指示在实际空间中道路元素的位置,该三维空间信息可以包括该被语义关联的道路元素在实际空间中多个点的三维坐标。
在步骤230中,相当于根据实际空间中同一道路元素在两个视角下的图像来对该道路元素进行三维重构。在具体实施例中,可以根据该道路元素在第一道路图像和在第二道路图像中的多个特征点对在所对应的位置信息,来确定到道路元素在实际空间中多个点的三维坐标。
在一些实施例中,可以按照三角化算法来根据被语义关联的道路元素所对应多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定道路元素中各点在实际空间中的三维坐标,即在世界坐标系中的坐标。
具体的,可以通过被语义关联的道路元素所对应多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定第一道路图像所对应第一图像采集装置相对于第二道路图像所对应第二图像采集装置的相对姿态信息,其中相对姿态信息包括旋转矩阵和平移矩阵。之后,根据相对姿态信息和第一图像采集装置的内参矩阵、第二图像采集装置的内参矩阵,分别确定第一道路图像在第一图像采集装置所对应相机坐标系下的投影矩阵,以及确定第二道路图像在第二图像采集装置所对应相机坐标系下的投影矩阵。最后,根据在对应相机坐标系下的投影矩阵和被语义关联的道路元素中各组特征点对在第一道路图像中的位置信息和在第二道路图像中的位置信息,计算该组特征点对在实际空间中所表示的点在实际空间中的三维坐标。
在另一些实施例中,步骤230,包括:根据被语义关联的道路元素对应的多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定相对姿态信息;根据相对姿态信息,确定被语义关联的道路元素在第一道路图像所对应第一相机坐标系中的第一相对位置信息,和被语义关联的道路元素在第二道路图像所对应第二相机坐标系中的第二相对位置信息;根据第一道路图像所对应拍摄位置与第二道路图像所对应拍摄位置之间的间隔距离、第一相对位置信息和第二相对位置信息,确定被语义关联的道路元素对应的三维空间信息。
其中,相对姿态信息用于描述第一道路图像所对应第一图像采集装置与第二道路图像所来源的第二图像采集装置的旋转与平移,对应的,相对姿态信息包括旋转矩阵和平移矩阵。该相对姿态信息也可以理解为第一道路图像所对应第一相机坐标系与第二道路图像所对应第二相机坐标系之间的变换关系。
第一相对位置信息可以用于指示被语义关联的道路元素在第一道路图像所对应第一相机坐标系中的位置信息。第二相对位置信息用于指示被语义关联的道路元素在第二道路图像所对应第二相机坐标系中的位置信息。
如上所描述,基于相对姿态信息,可以确定第一道路图像在第一相机坐标系对应的第一投影矩阵,以及确定第二道路图像在第二相机坐标系下的第二投影矩阵。从而,结合被语义关联的道路元素在第一道路图像中的位置信息(即像素坐标)和第一投影矩阵,可以反向确定道路元素在第一相机坐标系下的位置信息;同理,结合被语义关联的道路元素在第二道路图像中的位置信息(即像素坐标)和第二投影矩阵,可以反向确定被语义关联的道路元素在第二相机坐标系下的位置信息。
在此基础上,基于第一相对位置信息、第二相对位置信息、第一道路图像所对应拍摄位置与第二道路图像所对应拍摄位置(或者也称为采集点)之间的间隔距离,可以按照小孔成像的原理来对应确定实际空间中道路元素对应的绝对深度,以下对道路元素距离第一道路图像所对应第一图像采集装置的距离为例进行说明。
图8示例性示出了小孔成像的原理图,请参阅图8,可以按照如下的公式计算道路元素中各点对应的绝对深度:
联立上述两个公式,可以得到:
其中,d表示实际空间中道路元素中的一点K到第一道路图像所对应第一图像采集装置(即C)的距离,即相当于该点K相对于第一图像采集装置的绝对深度。d1是第一道路图像所对应拍摄位置与第二道路图像所对应拍摄位置之间的间隔距离。x1是点K在第一道路图像中对应的像素点K1在横轴上距离第一相机坐标的原点的距离;x2是点K在第二道路图像中对应的像素点在横轴上距离第二相机坐标的原点的距离。X表示点K在世界坐标系中的横坐标。
在一些实施例中,步骤230之前,该方法还包括:确定第一道路图像所关联的第一采集点在第一道路图像所对应的道路轨迹上的第一投影位置,将第一投影位置作为第一道路图像对应的拍摄位置;确定第二道路图像所关联的第二定位点在第二道路图像所对应的道路轨迹上的第二投影位置,将第二投影位置作为第二道路图像对应的拍摄位置;基于第一投影位置和第二投影位置,确定第一道路图像所对应拍摄位置与第二道路图像所对应拍摄位置之间的间隔距离。
如上所描述,道路图像可以是车辆沿道路轨迹进行行驶过程中采集到的,在具体实施例中,可以将沿一条道路轨迹行驶过程中采集到的多张道路图像存在一道路图像集合中,这样,一道路图像集合对应一道路轨迹。在该种情况下,第一道路图像所对应的道路轨迹是指第一道路图像所来源道路图像集合对应的道路轨迹。
在沿道路进行图像采集的过程中,对应将采集点的位置信息与所采集到的道路图像进行关联存储。在本申请中,将第一道路图像所关联的采集点称为第一采集点,将第二道路图像所关联的采集点称为第二采集点。第一投影位置是指第一采集点在第一道路图像所对应道路轨迹上的投影位置。
同理,第二道路图像对应的道路轨迹是指第二道路图像所来源道路图像集合对应的道路轨迹。第二投影位置是指第二采集点在第二道路图像所对应道路轨迹上的投影位置。
图9示例性示出了从第一采集点向第一道路图像所对应的道路轨迹进行投影的示意图,将第一采集点向第一道路图像所对应的道路轨迹进行投影,可以对应确定投影点,投影点所在的位置即为第一投影位置,可以理解的是,投影点与第一采集点之间的连线与道路轨迹上经过投影点的切线垂直。
在如上的实施例中,通过将投影位置作为所对应的道路图像的拍摄位置,从而,可以有效避免因道路图像关联的刺激点的位置信息不准确导致道路元素的三维空间信息不准确,实现了对道路图像的采集点的位置信息进行纠正。
步骤240,根据被语义关联的道路元素的三维空间信息和被语义关联的道路元素所属的元素类型,构建三维地图。
通过如上的过程,可以确定道路中各道路元素中多个点的三维空间信息,从而根据道路中多个道路元素的三维空间信息,对应构建道路中各个道路元素的模型,可以对应构建该道路对应的三维地图。
在具体实施例中,针对复杂的道路例如十字路口,例如图10所示的十字路口,将十字路口划分为四个路段1010和连接路段1010的路口1020,分别针对路段1010和路口1020来进行三维地图构建,然后将四个路段1010对应的三维地图、和路口1020对应的三维地图按照路段与路口之间的相对位置关系进行拼接,即得到该十字路口的三维地图。在具体实施例中,可以通过5个建图单元(Unit)来构建图10所示的十字路口对应的三维地图,其中,一个路段对应一个建图单元,一个路口对应一个建图单元。
在本申请的方案中,在对第一道路图像和第二道路图像进行特征点匹配后,计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵,并根据转移矩阵来将不同道路图像中的道路元素进行语义关联,之后,根据语义关联的道路元素在两道路图像中的位置信息来确定道路元素的三维空间信息,并进而根据道路元素的三维空间信息来构建三维地图。在该过程中实现了利用针对道路环境在两个视角下采集到的道路图像来进行三维地图构建,而不涉及利用激光雷达来进行点云数据采集,从而,降低了三维地图构建对激光雷达设备的依赖,降低了构建三维地图的成本。而且,本方案可以在道路进行更新时,可以及时基于更新后的道路图像进行三维地图更新。
此外,在本申请的方案中,在对两张道路图像进行特征点提取的基础上,不仅将不同道路图像中的特征点进行特征点匹配,而且基于转移矩阵来进一步将两张道路图像中的道路元素进行语义关联,相较于仅根据特征点匹配来将道路元素进行关联的方式,本方案中参考的信息更多,从而可以保证对道路元素所进行语义关联的准确性,进而保证所确定道路元素的三维空间信息的准确性,进而保证所生成三维地图的准确性。
在本申请的一些实施例中,如图11所示,该方法还包括:
步骤1110,若第一道路图像中存在未被语义关联的第三道路元素,根据第三道路元素在第一道路图像中的局部特征信息和第一道路图像中已语义关联的至少一个第四道路元素相对于第三道路元素的方位信息,确定第三道路元素在第一道路图像中的全局特征信息。
在本申请中,将第一道路图像中未被语义关联的道路元素称为第三道路元素。将第一道路图像中已经被语义关联的道路元素称为第四道路元素。
其中,第三道路元素在第一道路图像中的局部特征信息可以包括第三道路元素在第一道路图像中位置信息、第三道路元素所属的元素类型、以及第三道路元素中各特征点的特征描述子等,在此不进行具体限定。
第四道路元素相对于第三道路元素的方位信息用于指示在第一道路图像中第四道路元素相对于第三道路元素的相对距离和相对方向。
在一些实施例中,可以将第三道路元素在第一道路图像中的局部特征信息和各第四道路元素相对于第三道路元素的方位信息进行融合,得到第三道路元素在第一道路图像中的全局特征信息。
在另一些实施例中,第三道路元素在第一道路图像中的全局特征信息中还可以包括各第四道路元素所属的元素类型。
在一些实施例中,由于在第一道路图像中距离第三道路元素越远的道路元素,与第三道路元素的关联性越低,对应的,对于第三道路元素的特征表征性越弱,因此,将在第一道路图像中距离第三道路元素的距离小于第二距离阈值的范围内,且是已被语义关联的道路元素作为第四道路元素,而第一道路图像中距离第三道路元素的距离超过第二距离阈值的道路元素则不参与到第三道路元素的全局特征信息构建的过程中。
例如图12中,该第一道路图像中的电子眼是未被语义关联的道路图像,对应将该电子眼1210作为第三道路元素。其中,第一道路图像中的第一路牌1211和第一指示牌1212均为已被语义关联的道路元素,在该种情况下,可以将第一路牌1211和第一指示牌1212作为第四道路元素,将第一路牌1211和第一指示牌1212相对于电子眼1210的相对方位信息(具体参见表1)作为电子眼1210的上下文特征,进而确定电子眼1210的全局特征信息。表1中相对距离等于像素距离与图像高度的比例。
表1
特征ID | 第四道路元素 | 相对方位 | 相对距离 |
0 | 第一路牌 | 右下角(140度) | 0.25 |
1 | 第一指示牌 | 右下角(85度) | 0.15 |
步骤1120,根据未被语义关联的第五道路元素在候选道路图像中的局部特征信息和候选道路图像中已语义关联的第六道路元素相对于第五道路元素的方位信息,确定第五道路元素在候选道路图像中的全局特征信息;第五道路元素所属的元素类型与第三道路元素所属的元素类型相同。
候选道路图像可以是第二道路图像,也可以是其他存在未被语义关联的道路元素的道路图像。在一些实施例中,可以在第一道路图像所在的图像组中获取存在未被语义关联的道路元素的道路图像作为候选道路图像。其中,属于一个图像组不同道路图像之间的相匹配的像素点的数量超过第二阈值。进一步的,属于一个图像组的不同道路图像所对应的采集点之间的间隔距离不超过第三阈值且对应的采集朝向角度插值不超过第四阈值。由此可以保证所选取的候选道路图像与第一道路图像是呈现基本相同的道路场景,这样,可以避免无效进行相似度计算。
第五道路元素是指候选道路图像中未被语义关联的道路元素。第六道路元素是指候选道路图像中已被语义关联的道路元素。
第五道路元素在候选道路图像中的全局特征信息的确定与第三道路元素的全局特征信息的确定过程类似,在此不再赘述。
步骤1130,根据第三道路元素在第一道路图像中的全局特征信息和第五道路元素在候选道路图像中的全局特征信息,计算第三道路元素与第五道路元素的相似度。
具体的,可以将第三道路元素在第一道路图像中的全局特征信息和第五道路元素在候选道路图像中的全局特征信息进行相似度计算,将所计算得到的相似度作为第三道路元素与第五道路元素的相似度。
步骤1140,若相似度超过相似度阈值,则将第一道路图像中的第三道路元素与候选道路图像中的第五道路元素进行语义关联。
反之,如果相似度不超过相似度阈值,则确定第一道路图像中的第三道路元素与候选道路图像中的第五道路元素表示实际空间中不同的道路元素。
可以理解的是,在将第一道路图像中的第三道路元素与候选道路图像中的第五道路元素进行语义关联,可以对应第一道路图像中的第三道路元素和候选道路图像中的第五道路元素,确定所对应道路元素的三维空间信息,进而用于后续构建三维地图。
实际中,由于拍摄角度、关照等原因导致道路图像的差异性较大,基于转移矩阵所语义关联的道路元素可能并不全面,在该种情况下,可以按照图13对应的实施例,使用模糊匹配扩展的方法来将语义关联关系扩展到更多的道路元素之间,保证语义关联的全面性。
在一些实施例中,第一道路图像和第二道路图像归属于同一图像组;该方法还包括:根据第一道路图像的语义分割结果所指示第一干扰像素区域的位置信息,将第一道路图像中位于第一干扰像素区域中的特征点过滤掉;根据第二道路图像的语义分割结果所指示第二干扰像素区域的位置信息,将第二道路图像中位于第二干扰像素区域中的特征点过滤掉;将过滤后第一道路图像中的特征点与过滤后第二道路图像中的特征点进行特征点关联;若被关联的特征点对的数量超过第二阈值,则确定第一道路图像与第二道路图像归属于同一图像组。
在本申请中,道路图像中的干扰像素区域包括道路图像中的非道路元素对应的像素区域,以及会对相对距离估计(即上文中对道路元素进行聚组过程中所涉及计算道路元素之间的相对距离)产生干扰的像素区域。具体的,在本申请中,干扰像素区域包括本车所在的像素区域、旁车所在的像素区域、行人所在的像素区域和道路图像中的水印。
在本申请中,为便于区分,将第一道路图像中的干扰像素区域称为第一干扰像素区域,将第二道路图像中的干扰像素区域称为第二干扰像素区域。
在一些实施例中,可以通过语义分割网络模型来对道路图像(第一道路图像、第二道路图像)进行语义分割,得到对应的语义分割结果。该语义分割结果用于指示道路图像中干扰像素区域的位置。其中,语义分割网络模型可以是通过一种或者多种神经网络构建的模型。
为了保证语义分割网络模型进行语义分割的准确性,还可以通过第三训练数据对语义分割网络模型进行训练。其中,第三训练数据包括多张第三训练图像和各第三训练图像对应的标签信息,第三训练图像对应的标签信息用于指示第三训练图像中干扰像素区域的位置。在训练过程中,将第三训练图像输入到语义分割网络模型中,由语义分割网络模型对第三训练图像进行语义分割,并输出对应的预测语义分割结果,该预测语义分割结果用于指示所预测到的干扰像素区域在第三训练图像中的位置。
之后,根据第三训练图像对应的标签信息和第三训练图像对应的预测语义分割结果,计算语义分割网络模型所对应第三损失函数的函数值,并根据函数值反向调整语义分割网络模型的参数,直至达到第三训练结束条件。
图13是根据本申请一实施例示出的对道路图像中的特征点进行过滤的示意图,图13中A图是过滤之前道路图像中的特征点的示意图,图13中的B图是过滤后道路图像中的特征点的示意图。将干扰像素区域中的特征点过滤之后,对应的干扰像素区域中的特征点不参与后续的计算过程(例如转移矩阵的计算等)。
在本实施例中,将两道路图像中干扰像素区域中的特征点先过滤掉,然后将过滤之后的两道路图像中的特征点进行特征点关联,由于后续的道路元素语义关联基本不涉及到利用干扰像素区域中的特征点,因此,可以有效降低数据处理量,避免浪费处理资源。
可以理解的是,过滤后两道路图像中被关联的特征点的数量越多,表明两张道路图像是面向相同的道路环境进行图像采集的概率越高,对应的两道路图像中表示相同的道路元素的数量越多,这样,将两张道路图像归属为同一图像组。之后,在步骤210中,可以从同一图像组中获取两张道路图像来对相同的道路元素进行三维重建,从而,可以提升三维重建的效率。
在本实施例中,将两道路图像进行特征点提取之后再将干扰像素区域中的特征点进行过滤,之后将过滤后的两道路图像进行特征点关联,而不是将两道路图像去除干扰像素区域之后进行特征点提取和特征点关联,这样可以避免将干扰像素区域的边缘上的点误认为是特征点,保证后续参与到特征点关联的特征点的准确性。
在一些实施例中,第一道路图像和第二道路图像是从初始图像组中获取的;在本实施例中,该方法还包括:
对于待处理的多张道路图像,根据各道路图像对应的采集位置信息和各道路图像对应的采集朝向角度,对多张道路图像进行分组,得到至少一个初始图像组;其中,位于同一初始图像组任意两道路图像对应的采集点之间的间隔距离不超过距离阈值且任意两道路图像对应的采集朝向角度差值不超过第三阈值。
在一些实施例中,可以根据两道路图像所关联的采集点的位置信息来计算所对应采集点之间的间隔距离。在另一些实施例中,如果按照图9对道路图像对应的拍摄位置进行了纠正,则对应按照纠正之后的拍摄位置来计算所对应采集点之间的间隔距离。
可以理解的是,如果两张道路图像对应的间隔距离不超过距离阈值,且对应的采集朝向角度差值不超过第三阈值,则表明该两张道路图像所呈现的道路场景基本相同,进而,表明两张道路图像中存在相同的道路元素的概率越高。
在确定初始图像组后,可以从初始图像中选取两张道路图像,以按照上述的过程进行特征点过滤、和特征点关联,避免将两张差异较大的道路图像进行特征点过滤和特征点关联,避免浪费处理资源,保证所进行特征点过滤和特征点关联的有效性。
下面,结合一具体实施例对本申请的方案进行具体说明。
图14是根据本申请一具体实施例示出的构建三维地图的方法的流程图,该方法可以由服务器执行,如图14所示,具体包括:
步骤1410,采集位置矫正。
具体的,可以通过车载的单目拍照设备(例如行车记录仪),对当前车辆行驶的前方的道路环境进行图像采集,具体可以通过采用固定时间间隔或距离间隔均匀进行图像采集。在实际中可能采集到道路图像关联的采集点的位置信息可能不准确,因此,根据道路轨迹的地图来对采集点的位置信息进行矫正,具体矫正的过程可以参见如上图9对应的过程,在此不再赘述。
之后,还可以根据道路图像所对应的采集点的位置信息,将所对应的采集点之间的间隔距离不超过第三阈值且所对应的采集朝向角度差值不超过第四阈值的多张道路图像归于同一初始图像组中,之后可以在同一初始图像组中选取两道路图像进行目标关联,以减少计算量。
步骤1420,图像内容解析。
在本实施例中,通过多任务解析网络来对各道路图像进行内容解析。在本实施例中,对道路图像所进行的内容解析包括:目标检测、语义分析和深度估计。
图15是根据本申请一实施例示出的多任务解析网络的结构示意图。如图15所示,在多任务解析网络包括一个共同的骨干网络和三个不同的头部子神经网络(目标检测头网络、语义分割头网络和深度估计头网络)。骨干网络用于对道路图像进行共用特征提取。
在具体实施例中,目标检测头网络可以是基于YOLOv3检测头的网络结构,通过该目标检测头网络来检测道路图像中包括的道路元素,例如道路标牌,警示牌,危险标牌等等,并对应输入道路图像中道路元素的位置信息(例如检测框的位置)和道路元素所属的元素类型。
语义分割头网络可以是类似于DeepLabV3的语义分割网络头,该语义分割头网络可以将道路图像中对相对距离估计产生干扰的干扰像素区域识别出来,其中,干扰像素区域可以是本车所在的像素区域、旁车所在的像素区域、行人所在的像素区域和道路图像中的水印。
深度估计网络可以是利用在KITTI标准数据集上标注的深度信息训练所得到的模型,从而可以获得预测相对深度的深度估计网络。
可以理解的是,图15中的骨干网络+目标检测头网络相当于上文中的目标检测模型;骨干网络+语义分割头网络相当于上文中的语义分割网络模型;骨干网络+深度估计网络相当于上文中的深度预测网络模型。
步骤1430,目标关联。具体的,步骤1430包括如下的步骤1431-1434,其中,步骤1431,特征点提取。在具体实施例中,可以通过SuperPoint网络(端到端的特征点及描述子提取网络)来提取图像的特征点
步骤1432,特征点匹配。具体的,该步骤包括干扰区域去除和全部特征点匹配两个步骤。在干扰区域去除的步骤中,将道路图像中位于干扰像素区域中的特征点顾虑掉。具体的,可以根据语义分割头网络输出的语义分割结果,分割出干扰像素区域,并根据特征点的坐标滤除落在干扰像素区域中的特征点。
在全部特征点匹配的步骤中,将过滤之后两道路图像中的特征点进行特征点关联,将两张道路图像中最相似的特征点关联起来。具体的,可以通过FLANN(Fast_Library_for_Approximate_Nearest_Neighbors,快速最近邻搜索包)算法或SuperGlue算法(基于图卷积神经网络的特征匹配算法)对过滤后的特征点进行匹配,得到两道路图像全图的匹配关系。在具体实施例中,如果全图中相匹配的特征点在M个以上,才视为两道路图像匹配,即将两道路图像归于一个图像组,M可根据需要选取,例如M为40、45、50、100等。
步骤1433,计算局部转移矩阵。其中,计算局部转移矩阵的过程即为上述步骤120中计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵的过程,具体可参见上文描述,在此不再赘述。
步骤1434,根据转移矩阵进行目标关联。该步骤即相当于上文中步骤220的过程,具体可参见上文描述,在此不再赘述。
步骤1440,模糊匹配扩展。
具体的,步骤1440包括生成上下文特征和特征匹配的过程。其中,生成上下文特征相当于上文中的步骤1110和步骤1120,进行特征匹配的过程相当于上文中的步骤1130。具体实现过程参见上文描述,在此不再赘述。
步骤1450,变化发现。
可以根据采集时间的先后顺序,对归属于同一图像组中的道路图像做变化发现。具体来说,若在一位置点附近采集了N张道路图像,该N张道路归属于同一图像组,如果按照采集的时间先后顺序确定第1~n-1张道路图像中均存在某一道路元素,而第n张道路图像中存在未被语义关联的道路元素,则可以将该未被语义关联的道路元素视为新增的道路元素,并对该新增的道路元素进行标记,以在后续的过程中,获取包括该新增的道路元素的道路图像,并针对性确定该新增的道路元素的三维空间信息,以将该新增的道路元素添加到三维地图中,实现三维地图的更新。
步骤1460,根据语义关联结果建图。该步骤即相当于上文中的步骤230-240的过程,具体实现细节参见上文描述,在此不再赘述。
基于本实施例的方案,实现了通过道路环境的多次图像采集来对一个道路场景进行三维建模,并构建对应的三维地图,可以作为基础技术应用到道路生产自动化、高精地图自动化成生、自动驾驶等应用场景中。
在本实施例的方案中,不需要通过激光雷达等设备进行信息采集,而利用针对道路环境多次采集的图像实现了三维地图的构建,降低了三维地图构建的成本,而且,当道路中的道路元素更新可以及时更新。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的方法。对于本申请装置实施例中未披露的细节,请参照本申请上述方法实施例。
图16是根据本申请一实施例示出的构建三维地图的装置的框图,该构建三维地图的装置可以配置于服务器中,用于实现本申请所提供的构建三维地图的方法。如图16所示,该构建三维地图的装置包括:转移矩阵确定模块1610,用于计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵;第一道路图像和第二道路图像是在间隔距离不超过距离阈值的两个采集点所采集到的不同的道路图像;语义关联模块1620,用于根据特征点相匹配的道路元素所对应的转移矩阵,将第一道路图像中的道路元素与第二道路图像中的道路元素进行语义关联,其中,被语义关联的两道路元素表示空间中的同一道路元素;三维空间信息确定模块1630,用于根据被语义关联的道路元素对应的多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定被语义关联的道路元素对应的三维空间信息;地图构建模块1640,用于根据被语义关联的道路元素的三维空间信息和被语义关联的道路元素所属的元素类型,构建三维地图。
在一些实施例中,语义关联模块1620包括:预测框确定单元,用于对于第一道路图像中的第一道路元素,根据第一道路元素所对应第一检测框的位置信息和第一道路元素所对应的转移矩阵,确定第一检测框在第二道路图像中对应的预测框;第一语义关联单元,用于若预测框内存在一个属于目标元素类型的第二道路元素所对应的第二检测框,则将第一道路图像中的第一道路元素与第二道路图像中的第二道路元素进行语义关联;其中,第一道路元素所属的元素类型为目标元素类型。
在另一些实施例中,语义关联模块1620,包括:预测框确定单元,用于对于第一道路图像中的第一道路元素,根据第一道路元素所对应第一检测框的位置信息和第一道路元素所对应的转移矩阵,确定第一检测框在第二道路图像中对应的预测框;第一膨胀处理单元,用于在第二道路图像中对预测框进行膨胀处理;第二语义关联单元,用于若膨胀处理后的预测框内存在一个属于目标元素类型的第二道路元素所对应的第二检测框,则将第一道路图像中的第一道路元素与第二道路图像中的第二道路元素进行语义关联。
在一些实施例中,构建三维地图的装置还包括:第一全局特征信息确定模块,用于若第一道路图像中存在未被语义关联的第三道路元素,根据第三道路元素在第一道路图像中的局部特征信息和第一道路图像中已语义关联的至少一个第四道路元素相对于第三道路元素的方位信息,确定第三道路元素在第一道路图像中的全局特征信息;第二全局特征信息确定模块,用于根据未被语义关联的第五道路元素在候选道路图像中的局部特征信息和候选道路图像中已语义关联的第六道路元素相对于第五道路元素的方位信息,确定第五道路元素在候选道路图像中的全局特征信息;第五道路元素所属的元素类型与第三道路元素所属的元素类型相同;相似度计算模块,用于根据第三道路元素在第一道路图像中的全局特征信息和第五道路元素在候选道路图像中的全局特征信息,计算第三道路元素与第五道路元素的相似度;第三语义关联模块,用于若相似度超过相似度阈值,则将第一道路图像中的第三道路元素与候选道路图像中的第五道路元素进行语义关联。
在一些实施例中,三维空间信息确定模块1630,包括:相对姿态信息确定单元,用于根据被语义关联的道路元素对应的多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定相对姿态信息;相对位置信息确定单元,用于根据相对姿态信息,确定被语义关联的道路元素在第一道路图像所对应第一相机坐标系中的第一相对位置信息,和被语义关联的道路元素在第二道路图像所对应第二相机坐标系中的第二相对位置信息;三维空间信息确定单元,用于根据第一道路图像所对应拍摄位置与第二道路图像所对应拍摄位置之间的间隔距离、第一相对位置信息和第二相对位置信息,确定被语义关联的道路元素对应的三维空间信息。
在一些实施例中,构建三维地图的装置还包括:第一拍摄位置确定模块,用于确定第一道路图像所关联的第一采集点在第一道路图像所对应的道路轨迹上的第一投影位置,将第一投影位置作为第一道路图像对应的拍摄位置;第二拍摄位置确定模块,用于确定第二道路图像所关联的第二定位点在第二道路图像所对应的道路轨迹上的第二投影位置,将第二投影位置作为第二道路图像对应的拍摄位置;间隔距离确定模块,用于基于第一投影位置和第二投影位置,确定第一道路图像所对应拍摄位置与第二道路图像所对应拍摄位置之间的间隔距离。
在一些实施例中,转移矩阵确定模块1610,包括:特征点对确定单元,用于根据第一道路图像与第二道路图像中特征点相匹配的道路元素,确定特征点相匹配的道路元素对应的多个特征点对,各特征点对包括在第一道路图像中特征点相匹配的道路元素中的第一特征点和在第二道路图像中特征点相匹配的道路元素中的第二特征点;第一转移矩阵确定单元,用于根据多个特征点对中第一特征点的位置信息和第二特征点的位置信息,确定特征点相匹配的道路元素对应的转移矩阵。
在另一些实施例中,转移矩阵确定模块1610,包括:第一目标聚合组确定单元,用于对于第一道路图像中待计算转移矩阵的第一目标道路元素,确定第一目标道路元素所属的第一目标聚合组;第二转移矩阵确定单元,用于根据第一目标聚合组和第二目标聚合组中具有对应关系的多个特征点对,确定第一目标聚合组与第二目标聚合组之间的转移矩阵,第二目标聚合组是指第二道路图像中与第一目标聚合组相对应的聚合组;第三转移矩阵确定单元,用于将第一目标聚合组与第二目标聚合组之间的转移矩阵作为第一道路图像中第一目标道路元素与第二道路图像中第二目标道路元素之间的转移矩阵;第二目标道路元素是指第二道路图像中特征点位于第二目标聚合组中的道路元素。
在一些实施例中,构建三维地图的装置还包括:第一聚组模块,用于根据第一道路图像对应的深度估计信息和各道路元素在第一道路图像中的位置信息,将第一道路图像中的道路元素进行聚组,确定第一道路图像中的聚合组;第二聚组模块,用于根据第二道路图像对应的深度估计信息和各道路元素在第二道路图像中的位置信息,将第二道路图像中的道路元素进行聚组,确定第二道路图像中的聚合组;聚合组确定模块,用于根据第一道路图像与第二道路图像的特征点关联结果,确定第一道路图像与第二道路图像中相对应的聚合组。
在一些实施例中,构建三维地图的装置还包括:第二膨胀处理模块,用于若第一道路图像或者第二道路图像中存在特征点数量小于第一阈值的聚合组,则将聚合组进行膨胀,以使膨胀后的聚合组中特征点的数量不小于第一阈值。
在一些实施例中,第一道路图像和第二道路图像归属于同一图像组;构建三维地图的装置还包括:第一过滤模块,用于根据第一道路图像的语义分割结果所指示第一干扰像素区域的位置信息,将第一道路图像中位于第一干扰像素区域中的特征点过滤掉;第二过滤模块,用于根据第二道路图像的语义分割结果所指示第二干扰像素区域的位置信息,将第二道路图像中位于第二干扰像素区域中的特征点过滤掉;特征点关联模块,用于将过滤后第一道路图像中的特征点与过滤后第二道路图像中的特征点进行特征点关联;图像组确定模块,用于若被关联的特征点对的数量超过第二阈值,则确定第一道路图像与第二道路图像归属于同一图像组。
在一些实施例中,第一道路图像和第二道路图像是从初始图像组中获取的;构建三维地图的装置还包括:分组模块,用于对于待处理的多张道路图像,根据各道路图像对应的采集位置信息和各道路图像对应的采集朝向角度,对多张道路图像进行分组,得到至少一个初始图像组;其中,位于同一初始图像组任意两道路图像对应的采集点之间的间隔距离不超过距离阈值且任意两道路图像对应的采集朝向角度差值不超过第三阈值。
图17示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。该电子设备可以是图1中的服务端,该电子设备用于执行本申请所提供的构建三维地图的方法。需要说明的是,图17示出的电子设备的计算机系统1700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图17所示,计算机系统1700包括中央处理单元(Central Processing Unit,CPU)1701,其可以根据存储在只读存储器(Read-Only Memory,ROM)1702中的程序或者从存储部分1708加载到随机访问存储器(Random Access Memory,RAM)1703中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1703中,还存储有系统操作所需的各种程序和数据。CPU1701、ROM1702以及RAM1703通过总线1704彼此相连。输入/输出(Input/Output,I/O)接口1705也连接至总线1704。
以下部件连接至I/O接口1705:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被中央处理单元(CPU)1701执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读指令,当该计算机可读存储指令被处理器执行时,实现上述任一实施例中的方法。
根据本申请的一个方面,还提供了一种电子设备,其包括:处理器;存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时,实现上述任一实施例中的方法。
根据本申请实施例的一个方面,提供了计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种构建三维地图的方法,其特征在于,所述方法包括:
计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵;所述第一道路图像和所述第二道路图像是在间隔距离不超过距离阈值的两个采集点所采集到的不同的道路图像;
根据特征点相匹配的道路元素所对应的转移矩阵,将所述第一道路图像中的道路元素与所述第二道路图像中的道路元素进行语义关联,其中,被语义关联的两道路元素表示空间中的同一道路元素;
根据被语义关联的道路元素所对应多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定被语义关联的道路元素对应的三维空间信息;
根据所述被语义关联的道路元素的三维空间信息和所述被语义关联的道路元素所属的元素类型,构建三维地图。
2.根据权利要求1所述的方法,其特征在于,所述根据特征点相匹配的道路元素所对应的转移矩阵,将所述第一道路图像中的道路元素与所述第二道路图像中的道路元素进行语义关联,包括:
对于所述第一道路图像中的第一道路元素,根据所述第一道路元素所对应第一检测框的位置信息和所述第一道路元素所对应的转移矩阵,确定所述第一检测框在第二道路图像中对应的预测框;
若所述预测框内存在一个属于目标元素类型的第二道路元素所对应的第二检测框,则将所述第一道路图像中的第一道路元素与所述第二道路图像中的第二道路元素进行语义关联;其中,所述第一道路元素所属的元素类型为所述目标元素类型。
3.根据权利要求1所述的方法,其特征在于,所述根据特征点相匹配的道路元素所对应的转移矩阵,将所述第一道路图像中的道路元素与所述第二道路图像中的道路元素进行语义关联,包括:
对于所述第一道路图像中的第一道路元素,根据所述第一道路元素所对应第一检测框的位置信息和所述第一道路元素所对应的转移矩阵,确定所述第一检测框在第二道路图像中对应的预测框;
在所述第二道路图像中对所述预测框进行膨胀处理;
若膨胀处理后的预测框内存在一个属于目标元素类型的第二道路元素所对应的第二检测框,则将所述第一道路图像中的第一道路元素与所述第二道路图像中的第二道路元素进行语义关联。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
若所述第一道路图像中存在未被语义关联的第三道路元素,根据所述第三道路元素在所述第一道路图像中的局部特征信息和所述第一道路图像中已语义关联的至少一个第四道路元素相对于所述第三道路元素的方位信息,确定所述第三道路元素在所述第一道路图像中的全局特征信息;
根据未被语义关联的第五道路元素在候选道路图像中的局部特征信息和所述候选道路图像中已语义关联的第六道路元素相对于所述第五道路元素的方位信息,确定所述第五道路元素在所述候选道路图像中的全局特征信息;所述第五道路元素所属的元素类型与所述第三道路元素所属的元素类型相同;
根据所述第三道路元素在所述第一道路图像中的全局特征信息和所述第五道路元素在所述候选道路图像中的全局特征信息,计算所述第三道路元素与所述第五道路元素的相似度;
若所述相似度超过相似度阈值,则将所述第一道路图像中的第三道路元素与所述候选道路图像中的第五道路元素进行语义关联。
5.根据权利要求1所述的方法,其特征在于,所述根据被语义关联的道路元素对应的多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定被语义关联的道路元素对应的三维空间信息,包括:
根据被语义关联的道路元素对应的多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定相对姿态信息;
根据所述相对姿态信息,确定所述被语义关联的道路元素在第一道路图像所对应第一相机坐标系中的第一相对位置信息,和所述被语义关联的道路元素在第二道路图像所对应第二相机坐标系中的第二相对位置信息;
根据所述第一道路图像所对应拍摄位置与所述第二道路图像所对应拍摄位置之间的间隔距离、所述第一相对位置信息和所述第二相对位置信息,确定所述被语义关联的道路元素对应的三维空间信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一道路图像所对应拍摄位置与所述第二道路图像所对应拍摄位置之间的间隔距离、所述第一相对位置信息和所述第二相对位置信息,确定所述被语义关联的道路元素对应的三维空间信息之前,所述方法还包括:
确定所述第一道路图像所关联的第一采集点在所述第一道路图像所对应的道路轨迹上的第一投影位置,将所述第一投影位置作为所述第一道路图像对应的拍摄位置;
确定所述第二道路图像所关联的第二定位点在所述第二道路图像所对应的道路轨迹上的第二投影位置,将所述第二投影位置作为所述第二道路图像对应的拍摄位置;
基于所述第一投影位置和所述第二投影位置,确定所述第一道路图像所对应拍摄位置与所述第二道路图像所对应拍摄位置之间的间隔距离。
7.根据权利要求1所述的方法,其特征在于,所述计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵,包括:
根据第一道路图像与第二道路图像中特征点相匹配的道路元素,确定所述特征点相匹配的道路元素对应的多个特征点对,各所述特征点对包括在第一道路图像中所述特征点相匹配的道路元素中的第一特征点和在所述第二道路图像中所述特征点相匹配的道路元素中的第二特征点;
根据所述多个特征点对中第一特征点的位置信息和第二特征点的位置信息,确定所述特征点相匹配的道路元素对应的转移矩阵。
8.根据权利要求1所述的方法,其特征在于,所述计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵,包括:
对于所述第一道路图像中待计算转移矩阵的第一目标道路元素,确定所述第一目标道路元素所属的第一目标聚合组;
根据所述第一目标聚合组和第二目标聚合组中具有对应关系的多个特征点对,确定所述第一目标聚合组与所述第二目标聚合组之间的转移矩阵,所述第二目标聚合组是指所述第二道路图像中与所述第一目标聚合组相对应的聚合组;
将所述第一目标聚合组与所述第二目标聚合组之间的转移矩阵作为第一道路图像中第一目标道路元素与所述第二道路图像中第二目标道路元素之间的转移矩阵;所述第二目标道路元素是指所述第二道路图像中特征点位于所述第二目标聚合组中的道路元素。
9.根据权利要求8所述的方法,其特征在于,所述计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵之前,所述方法还包括:
根据第一道路图像对应的深度估计信息和各道路元素在第一道路图像中的位置信息,将所述第一道路图像中的道路元素进行聚组,确定所述第一道路图像中的聚合组;
根据第二道路图像对应的深度估计信息和各道路元素在第二道路图像中的位置信息,将所述第二道路图像中的道路元素进行聚组,确定所述第二道路图像中的聚合组;
根据所述第一道路图像与所述第二道路图像的特征点关联结果,确定第一道路图像与第二道路图像中相对应的聚合组。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述第一道路图像或者第二道路图像中存在特征点数量小于第一阈值的聚合组,则将所述聚合组进行膨胀,以使膨胀后的聚合组中特征点的数量不小于第一阈值。
11.根据权利要求1所述的方法,其特征在于,所述第一道路图像和所述第二道路图像归属于同一图像组;
所述方法还包括:
根据所述第一道路图像的语义分割结果所指示第一干扰像素区域的位置信息,将所述第一道路图像中位于第一干扰像素区域中的特征点过滤掉;
根据所述第二道路图像的语义分割结果所指示第二干扰像素区域的位置信息,将所述第二道路图像中位于第二干扰像素区域中的特征点过滤掉;
将过滤后第一道路图像中的特征点与过滤后第二道路图像中的特征点进行特征点关联;
若被关联的特征点对的数量超过第二阈值,则确定所述第一道路图像与所述第二道路图像归属于同一图像组。
12.根据权利要求11所述的方法,其特征在于,所述第一道路图像和所述第二道路图像是从初始图像组中获取的;
所述方法还包括:
对于待处理的多张道路图像,根据各所述道路图像对应的采集位置信息和各道路图像对应的采集朝向角度,对所述多张道路图像进行分组,得到至少一个初始图像组;其中,位于同一初始图像组任意两道路图像对应的采集点之间的间隔距离不超过距离阈值且任意两道路图像对应的采集朝向角度差值不超过第三阈值。
13.一种构建三维地图的装置,其特征在于,所述装置包括:
转移矩阵确定模块,用于计算第一道路图像中与第二道路图像中特征点相匹配的道路元素之间的转移矩阵;所述第一道路图像和所述第二道路图像是在间隔距离不超过距离阈值的两个采集点所采集到的不同的道路图像;
语义关联模块,用于根据特征点相匹配的道路元素所对应的转移矩阵,将所述第一道路图像中的道路元素与所述第二道路图像中的道路元素进行语义关联,其中,被语义关联的两道路元素表示空间中的同一道路元素;
三维空间信息确定模块,用于根据被语义关联的道路元素对应的多个特征点在第一道路图像中的位置信息和在第二道路图像中的位置信息,确定被语义关联的道路元素对应的三维空间信息;
地图构建模块,用于根据所述被语义关联的道路元素的三维空间信息和所述被语义关联的道路元素所属的元素类型,构建三维地图。
14.一种电子设备,其特征在于,包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至12中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机可读指令,其特征在于,当所述计算机可读指令被处理器执行时,实现如权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211074200.2A CN117011481A (zh) | 2022-09-02 | 2022-09-02 | 构建三维地图的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211074200.2A CN117011481A (zh) | 2022-09-02 | 2022-09-02 | 构建三维地图的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117011481A true CN117011481A (zh) | 2023-11-07 |
Family
ID=88562460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211074200.2A Pending CN117011481A (zh) | 2022-09-02 | 2022-09-02 | 构建三维地图的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117011481A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765727A (zh) * | 2023-12-12 | 2024-03-26 | 佛山职业技术学院 | 一种汽车路面规划智能控制系统 |
-
2022
- 2022-09-02 CN CN202211074200.2A patent/CN117011481A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765727A (zh) * | 2023-12-12 | 2024-03-26 | 佛山职业技术学院 | 一种汽车路面规划智能控制系统 |
CN117765727B (zh) * | 2023-12-12 | 2024-06-07 | 佛山职业技术学院 | 一种汽车路面规划智能控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8442307B1 (en) | Appearance augmented 3-D point clouds for trajectory and camera localization | |
CN111340922A (zh) | 定位与地图构建的方法和电子设备 | |
CN112699834B (zh) | 交通标识检测方法、装置、计算机设备和存储介质 | |
CN112257668A (zh) | 主辅路判断方法、装置、电子设备及存储介质 | |
CN106570482A (zh) | 人体动作识别方法及装置 | |
CN115493612A (zh) | 一种基于视觉slam的车辆定位方法及装置 | |
CN113592015B (zh) | 定位以及训练特征匹配网络的方法和装置 | |
CN117011481A (zh) | 构建三维地图的方法、装置、电子设备及存储介质 | |
CN112258647B (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN112732860B (zh) | 道路提取方法、装置、可读存储介质及设备 | |
CN113704276A (zh) | 地图更新方法、装置、电子设备及计算机可读存储介质 | |
CN117765039A (zh) | 点云粗配准方法、装置及设备 | |
CN115661444A (zh) | 图像处理方法、装置、设备、存储介质及产品 | |
CN111767839A (zh) | 一种车辆行驶轨迹确定方法、装置、设备及介质 | |
US20230053952A1 (en) | Method and apparatus for evaluating motion state of traffic tool, device, and medium | |
CN116543143A (zh) | 一种目标检测模型的训练方法、目标检测方法及装置 | |
CN113450457B (zh) | 道路重建方法、装置、计算机设备和存储介质 | |
CN112215205B (zh) | 目标识别方法、装置、计算机设备和存储介质 | |
CN115713560A (zh) | 一种摄像头和车辆的外参数标定方法及装置、电子设备、存储介质 | |
CN113763468B (zh) | 一种定位方法、装置、系统及存储介质 | |
CN114332174A (zh) | 轨迹图像对齐方法、装置、计算机设备以及存储介质 | |
CN112257666B (zh) | 目标图像内容的聚合方法、装置、设备及可读存储介质 | |
CN115115535A (zh) | 深度图的去噪方法、装置、介质及设备 | |
CN114119757A (zh) | 图像处理方法、装置、设备、介质和计算机程序产品 | |
CN114708321A (zh) | 一种基于语义的相机位姿估计方法及系统 |
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 |