发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种数据处理的方法和装置,包括:
一种数据处理的方法,所述方法包括:
获取第一地图数据和定位基准数据;
基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标;
根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据;
确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息;
基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标;
结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据。
可选地,还包括:
基于所述第三地图数据,确定第三轨迹点对应的第三地图坐标,并基于所述定位基准数据,确定所述第三轨迹点对应的第三基准坐标;
根据所述第三地图坐标和所述第三基准坐标,确定针对所述第三地图数据的地图精度信息。
可选地,所述根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据,包括:
根据所述第一地图坐标和所述第一基准坐标,确定地图坐标系相对于定位基准坐标系的转换矩阵;
采用所述转换矩阵,对所述第一地图数据进行转换,得到第二地图数据。
可选地,所述目标对象包括语义信息对象,所述确定第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息,包括:
确定与第二轨迹点关联的语义信息对象;
确定所述第二轨迹点和所述语义信息对象的相对位姿信息。
可选地,所述目标对象包括轨迹点对象,所述确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息,包括:
确定与第二轨迹点相邻的轨迹点对象;
确定所述第二轨迹点和所述轨迹点对象的相对位姿信息。
可选地,还包括:
对所述第一地图数据和所述定位基准数据进行时间对齐。
可选地,所述第一地图数据为针对停车场的地图数据。
一种数据处理的装置,所述装置包括:
数据获取模块,用于获取第一地图数据和定位基准数据;
坐标确定模块,用于基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标;
第一修正模块,用于根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据;
相对位姿信息确定模块,用于确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息;
第二基准坐标确定模块,用于基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标;
第二修正模块,用于结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据。
可选地,所述装置还包括:
第二坐标确定模块,用于基于所述第三地图数据,确定第三轨迹点对应的第三地图坐标,并基于所述定位基准数据,确定所述第三轨迹点对应的第三基准坐标;
地图精度信息确定模块,用于根据所述第三地图坐标和所述第三基准坐标,确定针对所述第三地图数据的地图精度信息。
可选地,所述第一修正模块包括:
转换矩阵确定子模块,用于根据所述第一地图坐标和所述第一基准坐标,确定地图坐标系相对于定位基准坐标系的转换矩阵;
转换子模块,用于采用所述转换矩阵,对所述第一地图数据进行转换,得到第二地图数据。
一种车辆,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的数据处理的方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的数据处理的方法。
本发明实施例具有以下优点:
在本发明实施例中,通过获取第一地图数据和定位基准数据,基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标,根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据,确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息,基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标,结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据,实现了将第一地图数据修正为消除地图误差后的第三地图数据,以避免地图误差对地图定位精度测量结果的影响,也无需额外开发新的精度测试系统,降低了开发成本。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明一实施例提供的一种数据处理的方法的步骤流程图,具体可以包括如下步骤:
步骤101,获取第一地图数据和定位基准数据;
在一示例中,所述第一地图数据可以为针对停车场的地图数据。
在对车辆构建的地图进行精度测量时,由于构建的地图与定位基准地图不在同一坐标系内,存在地图误差,需要对构建的地图进行处理,可以获取的第一地图数据和定位基准的数据,进而可以依照定位基准数据对第一地图数据进行进一步处理。
在本发明一实施例中,对所述第一地图数据和所述定位基准数据进行时间对齐。
在获取第一地图数据和定位基准的数据后,可以对第一地图数据和定位基准数据进行时间对齐,以便确定第一地图数据与定位基准数据中匹配的轨迹点,目标对象。
步骤102,基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标;
在获取第一地图数据和定位基准的数据后,第一地图数据与定位基准的数据之间至少可以存在一个匹配的轨迹点,对于在第一地图数据中某一定位位置点,在定位基准的数据中也存在该定位位置点的相应测量数据,该定位位置点为匹配的轨迹点。
第一轨迹点为任意一个匹配轨迹点,因此,可以在第一地图数据中,确定第一轨迹点在第一地图数据中对应的第一地图坐标,同时,通过定位基准数据,可以确定第一轨迹点对应的第一基准坐标。
步骤103,根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据;
在确定第一轨迹点的第一地图坐标、第一基准坐标后,第一地图坐标、第一基准坐标位于不同坐标系中,且第一地图本身存在误差,第一地图坐标、第一基准坐标并不能重叠,因此,可以根据第一地图坐标和第一基准坐标对第一地图数据进行初步修正,初步修正后,得到第二地图数据,第二地图数据可以与定位基准的数据可以大致重叠,但是任存在地图误差,因此,需要进一步对第二地图进行地图误差消除处理。
步骤104,确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息;
在一示例中,目标对象可以包括语义信息对象、轨迹点对象等不同类型的目标对象。
在得到第二地图数据后,可以在第一地图数据或第二地图数据与定位基准地图数据的匹配轨迹点中,确定第二轨迹点,第二轨迹点可以是第一轨迹点或其他匹配的轨迹点,进一步在第一地图数据或第二地图数据中,得到第二轨迹点对应的目标对象,以及确定第二轨迹点和目标对象的相对位姿信息。
在本发明一实施例中,所述目标对象可以包括语义信息对象,所述确定第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息,包括:
确定与第二轨迹点关联的语义信息对象;确定所述第二轨迹点和所述语义信息对象的相对位姿信息。
在一示例中,语义信息对象可以包括以下一项或多项:车位对象、减速带对象等。
在得到第二地图数据后,可以在第一地图数据或第二地图数据中,确定与第二轨迹点关联的语义信息对象,进而可以确定第二轨迹点和语义信息对象的相对位姿信息。
例如,在第一地图数据或第二地图数据中,第二轨迹点与某个车位连接,该车位在第一地图数据对应的语义对象为车位对象,车位对象为第二轨迹点的关联的语义信息对象,从而可以确定车位对象与轨迹点的相对位姿信息。
在本发明一实施例中,所述目标对象可以包括轨迹点对象,所述确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息,包括:
确定与第二轨迹点相邻的轨迹点对象;确定所述第二轨迹点和所述轨迹点对象的相对位姿信息。
在得到第二地图数据后,可以在第一地图数据或第一地图数据中,确定第二轨迹点相邻的轨迹点对象,进而可以确定第二轨迹点与相邻轨迹点对象的相对位姿信息。
步骤105,基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标;
在确定相对位姿信息后,由于第二轨迹点在定位基准数据中也有对应的测量信息,可以基于定位基准数据,确定第二轨迹点对应的第二基准坐标。
步骤106,结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据。
在确定第二基准坐标后,可以结合第二基准坐标、相对位姿信息,对第二地图数据进行进一步修正,得到消除地图误差后的第三地图数据。
例如:在第一地图数据或第二地图数据中,两个关联语义i(第二轨迹点)和j(目标对象)(i和j可以是轨迹点与相邻轨迹点对象或者轨迹点与关联语义信息对象)的绝对位姿分别为:
其中,tx
i、ty
i表示语义i的位置,tx
j,ty
j表示语义j的位置,
与
表示语义i与语义j的方向角。
语义j相对于语义i的位姿为:
相对位姿测量值有两种,相关联的语义i和语义j之间的相对位姿、语义i和定位基准对语义i的测量之间的相对位姿。
(1)对于相关联的语义i和语义j之间的相对位姿,没优化之前时,在第一地图数据或第二地图数据中,两个语义之间的相对位姿,表示为:
位姿阵Tij误差为:
其中,
为两语义的相对位姿的方向角、
为两语义的相对位姿的位置。
由上式转为位置和角度,定义误差函数为:
(2)语义i和定位基准对语义i的测量之间的相对位姿为
通过如下公式计算得出:
语义i和定位基准对语义i的测量由于存在误差,不能互相重叠,相对位姿
为语义i和定位基准对语义i的测量误差,将
转为位置和角度,可以将定位基准测量的语义i的误差定义为e
i,用如下公式计算:
其中,
为定位基准所测量的位置(第二基准坐标),
为定位基准所测量的方向角、t
i为第一地图数据的位置。
(3)根据上述两个相对位姿信息得到的误差,对两种误差进行加权处理后,得到总的Cost Function(代价函数)为:
其中,eij,ei定义为列向量,wk和wi为权重。
通过对第二地图数据中的所有语义元素(所有轨迹点及目标对象)进行位置与方向的调整,使得f最小。
当f为最小值时,对应的所有语义元素的位置与方向
即为地图优化的最优解。
对第二地图数据按照如上所述的最优解进行优化,即可得到优化后消除地图误差的第三地图数据。如图2所示,为一种对地图优化的简单示意图。
在本发明实施例中,通过获取第一地图数据和定位基准数据,基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标,根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据,确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息,基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标,结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据,实现了将第一地图数据修正为消除地图误差后的第三地图数据,以避免地图误差对地图定位精度测量结果的影响,也无需额外开发新的精度测试系统,降低了开发成本。
参照图3,示出了本发明一实施例提供的另一种数据处理的方法的步骤流程图,具体可以包括如下步骤:
步骤301,获取第一地图数据和定位基准数据;
步骤302,基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标;
步骤303,根据所述第一地图坐标和所述第一基准坐标,确定地图坐标系相对于定位基准坐标系的转换矩阵;
在一示例中,转换矩阵可以是平移矩阵、旋转矩阵等类型的转换矩阵。
在确定第一地图坐标和第一基准坐标后,确定了同一位置在不同坐标系中的坐标,可以根据第一地图坐标和所述第一基准坐标,得到将地图坐标系的定位坐标以定位基准坐标系为基准的转换矩阵。
步骤304,采用所述转换矩阵,对所述第一地图数据进行转换,得到第二地图数据;
在确定转换矩阵后,可以采用得到的转换矩阵对第一地图数据进行转换,得到第二地图数据。第二地图数据中的定位坐标采用坐标系的与定位基准坐标系相同。
同一位置在构建的地图中的定位坐标,与定位基准测量的定位坐标所处的坐标系不同,通过转换矩阵实现了将第一地图数据修正为采用定位基准坐标系为基准的第二地图数据。
步骤305,确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息;
步骤306,基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标;
步骤307,结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据。
步骤308,基于所述第三地图数据,确定第三轨迹点对应的第三地图坐标,并基于所述定位基准数据,确定所述第三轨迹点对应的第三基准坐标;
在得到第三地图数据后,进而可以在第三地图数据中,确定第三轨迹点对应的第三地图坐标,并基于定位基准数据得到第三轨迹点对应的第三基准坐标。
由于第三地图数据已经消除了地图误差,可以直接采用定位基准数据对其进行精度测量,无需额外开发新的精度测试系统,降低了开发成本。
步骤309,根据所述第三地图坐标和所述第三基准坐标,确定针对所述第三地图数据的地图精度信息。
在得到第三地图坐标和第三基准坐标后,第三地图坐标与第三基准坐标是在同一坐标系中的坐标,消除了地图误差,通过第三地图坐标和第三基准坐标,可以的得到第三地图数据的地图精度信息。
第三地图数据的地图精度信息是转换坐标系并消除误差后得到的地图精度信息,与第一地图数据相比较,其精度信息更加准确,
在本发明实施例中,通过获取第一地图数据和定位基准数据,基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标,根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据,确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息,基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标,结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据,实现了将第一地图数据修正为消除地图误差后的第三地图数据,以避免地图误差对地图定位精度测量结果的影响,也无需额外开发新的精度测试系统,降低了开发成本。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明一实施例提供的一种数据处理的装置的结构示意图,具体可以包括如下模块:
数据获取模块401,用于获取第一地图数据和定位基准数据;
在一示例中,第一地图数据可以为针对停车场的地图数据。
坐标确定模块402,用于基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标;
第一修正模块403,用于根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据;
在本发明一实施例中,所述第一修正模块403包括:
转换矩阵确定子模块,用于根据所述第一地图坐标和所述第一基准坐标,确定地图坐标系相对于定位基准坐标系的转换矩阵;
转换子模块,用于采用所述转换矩阵,对所述第一地图数据进行转换,得到第二地图数据。
相对位姿信息确定模块404,用于确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息;
在一示例中,所述目标对象可以包括语义信息对象、轨迹点对象。
在本发明一实施例中,所述目标对象为语义信息对象时,所述相对位姿信息确定模块404包括:
语义信息对象确定子模块,用于确定与第二轨迹点关联的语义信息对象;
第一相对位姿信息确定子模块,用于确定所述第二轨迹点和所述语义信息对象的相对位姿信息。
在本发明一实施例中,所述目标对象为轨迹点对象时,所述相对位姿信息确定模块404包括:
轨迹点对象确定子模块,用于确定与第二轨迹点相邻的轨迹点对象;
第二相对位姿信息确定子模块,用于确定所述第二轨迹点和所述轨迹点对象的相对位姿信息。
第二基准坐标确定模块405,用于基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标;
第二修正模块406,用于结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据。
在本发明一实施例中,所述装置还包括:
第二坐标确定模块,用于基于所述第三地图数据,确定第三轨迹点对应的第三地图坐标,并基于所述定位基准数据,确定所述第三轨迹点对应的第三基准坐标;
地图精度信息确定模块,用于根据所述第三地图坐标和所述第三基准坐标,确定针对所述第三地图数据的地图精度信息。
在本发明一实施例中,所述装置还包括:
时间对齐模块,用于对所述第一地图数据和所述定位基准数据进行时间对齐。
在本发明实施例中,通过获取第一地图数据和定位基准数据,基于所述第一地图数据,确定第一轨迹点对应的第一地图坐标,并基于所述定位基准数据,确定所述第一轨迹点对应的第一基准坐标,根据所述第一地图坐标和所述第一基准坐标,对所述第一地图数据进行修正,得到第二地图数据,确定与第二轨迹点对应的目标对象,并确定所述第二轨迹点和所述目标对象的相对位姿信息,基于所述定位基准数据,确定所述第二轨迹点对应的第二基准坐标,结合所述第二基准坐标、所述相对位姿信息,对所述第二地图数据进行修正,得到第三地图数据,实现了将第一地图数据修正为消除地图误差后的第三地图数据,以避免地图误差对地图定位精度测量结果的影响,也无需额外开发新的精度测试系统,降低了开发成本。
本发明一实施例还提供了一种车辆,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上数据处理的方法。
本发明一实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上数据处理的方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种数据处理的方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。