发明内容
本申请提供了一种停车位对齐方法、装置、设备和计算机可读存储介质,可以改善现有直接以停车位信息进行停车位对齐时,计算混乱的技术问题。
有鉴于此,本申请第一方面提供了一种停车位对齐方法,包括:
获取拍摄有停车场内预置参考物的多帧图片;
对各帧图片中的所述预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息;
根据各帧图片的所述直线特征信息,得到各帧图片中第一直线的深度,其中,所述第一直线为所述预置参考物上的直线;
根据各帧图片对应的所述深度,计算各帧图片中所述第一直线的位置信息;
根据所述位置信息,将多帧图片中的所述预置参考物进行对齐,以对多帧图片对应的停车位进行对齐。
可选地,根据各帧图片的所述直线特征信息,得到各帧图片中所述第一直线的深度,其中,所述第一直线为所述预置参考物上的直线,具体包括:
根据各帧图片的所述直线特征信息,得到所述第一直线在不同帧之间的对应关系,其中,所述第一直线为所述预置参考物上的直线;
根据所述对应关系,通过多帧图片之间所述第一直线的换算,得到各帧图片中所述第一直线的深度。
可选地,根据所述对应关系,通过多帧图片之间所述第一直线的换算,得到各帧图片中所述第一直线的深度,具体包括:
根据所述对应关系,获取各帧图片中所述第一直线对应的拍摄角度和拍摄位置;
基于各所述拍摄位置,计算第一帧图片和第二帧图片之间的拍摄间距,其中,所述第一帧图片和所述第二帧图片为多帧图片中的两帧;
根据所述拍摄间距、所述第二帧图片对应的拍摄角度和所述第二帧图片对应的所述拍摄角度,计算所述第二帧图片中所述第一直线的深度。
可选地,根据各帧图片对应的所述深度,计算各帧图片中所述第一直线的位置信息,具体包括:
获取各帧图片中所述第一直线对应的拍摄位置;
根据所述拍摄位置和各帧图片对应的所述深度,计算各帧图片中所述第一直线的位置信息。
可选地,根据所述位置信息,将多帧图片中的所述预置参考物进行对齐,以对多帧图片对应的停车位进行对齐,具体包括:
获取第一帧图片和第二帧图片各自对应的所述位置信息,其中,所述第一帧图片和所述第二帧图片为多帧图片中的两帧;
根据所述第一帧图片和所述第二帧图片各自对应的所述位置信息,以所述预置参考物为基准,将所述第一帧图片中的所述预置参考物和所述第二帧图片中的预置参考物进行对齐,以对所述第一帧图片中的停车位和所述第二帧图片中的停车位进行对齐。
可选地,对各帧图片中的所述预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息,具体包括:
对各帧图片中的所述预置参考物进行框选,得到参考框;
对各帧图片中的所述参考框进行直线特征提取,得到各帧图片对应的直线特征信息。
本申请第二方面提供了一种停车位对齐装置,包括:
获取单元,用于获取拍摄有停车场内预置参考物的多帧图片;
提取单元,用于对各帧图片中的所述预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息;
第一计算单元,用于根据各帧图片的所述直线特征信息,得到各帧图片中第一直线的深度,其中,所述第一直线为所述预置参考物上的直线;
第二计算单元,用于根据各帧图片对应的所述深度,计算各帧图片中所述第一直线的位置信息;
对齐单元,用于根据所述位置信息,将多帧图片中的所述预置参考物进行对齐,以对多帧图片对应的停车位进行对齐。
可选地,所述第一计算单元具体包括:
第一计算子单元,用于根据各帧图片的所述直线特征信息,得到所述第一直线在不同帧之间的对应关系,其中,所述第一直线为所述预置参考物上的直线;
第二计算子单元,用于根据所述对应关系,通过多帧图片之间所述第一直线的换算,得到各帧图片中所述第一直线的深度。
可选地,所述第二计算单元具体包括:
第一获取子单元,用于获取各帧图片中所述第一直线对应的拍摄位置;
第三计算子单元,用于根据所述拍摄位置和各帧图片对应的所述深度,计算各帧图片中所述第一直线的位置信息。
可选地,所述对齐单元具体包括:
第二获取子单元,用于获取第一帧图片和第二帧图片各自对应的所述位置信息,其中,所述第一帧图片和所述第二帧图片为多帧图片中的两帧;
对齐子单元,用于根据所述第一帧图片和所述第二帧图片各自对应的所述位置信息,以所述预置参考物为基准,将所述第一帧图片中的所述预置参考物和所述第二帧图片中的预置参考物进行对齐,以对所述第一帧图片中的停车位和所述第二帧图片中的停车位进行对齐。
可选地,所述提取单元具体包括:
框选子单元,用于对各帧图片中的所述预置参考物进行框选,得到参考框;
提取子单元,用于对各帧图片中的所述参考框进行直线特征提取,得到各帧图片对应的直线特征信息。本申请第三方面提供了一种停车位对齐设备,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的停车位对齐方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的停车位对齐方法。
从以上技术方法可以看出,本申请具有以下优点:
本申请中的停车位对齐方法,包括:获取拍摄有停车场内预置参考物的多帧图片;对各帧图片中的预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息;根据各帧图片的直线特征信息,得到各帧图片中第一直线的深度,其中,第一直线为预置参考物上的直线;根据各帧图片对应的深度,计算各帧图片中第一直线的位置信息;根据位置信息,将多帧图片中的预置参考物进行对齐,以对多帧图片对应的停车位进行对齐。
本申请中,首先获取拍摄有停车场内预置参考物的多帧图片,接着对各帧图片中的预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息,再接着根据直线特征信息,计算对应的第一直线的深度、位置信息,在得到第一直线的位置信息后,便可以根据位置信息将多帧图片中的预置参考物进行对齐,以对多帧图片中的停车位对齐,即本申请中在进行停车位对齐时,不再直接以停车位信息作为基准,而是以预置参考物为基准,通过预置参考物的对齐,间接实现停车位对齐,可以改善现有直接以停车位信息进行停车位对齐时,计算混乱的技术问题。
具体实施方式
本申请实施例提供了一种停车位对齐方法、装置、设备和计算机可读存储介质,可以改善现有直接以停车位信息进行停车位对齐时,计算混乱的技术问题。
为了使本技术领域的人员更好地理解本申请方法,下面将结合本申请实施例中的附图,对本申请实施例中的技术方法进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以便于理解,请参阅图2,图2为本申请实施例中一种停车位对齐方法的实施例一的流程示意图。
本实施例中的一种停车位对齐方法,包括:
步骤201、获取拍摄有停车场内预置参考物的多帧图片。
在进行停车位对齐时,是将多条轨迹中的停车位进行对齐,一条轨迹对应一帧图片,故本实施例中获取停车场内的多帧图片,且本实施例中是通过外接参考物(即预置参考物)的对齐实现停车位的对齐的,故本实施例中在对多帧图片进行选取时,要选取拍摄有停车场内预置参考物的多帧图片。可以理解的是,多帧图片的数量本领域技术人员可以根据需要进行设置,在此不再赘述。
在进行停车场地图构建时,车辆上的摄像头会对停车场内的场景进行采集,采集后得到的图片及上述的图片。可以理解的是,可以将停车场进行分段或是分区,各段/区内的停车位的对齐根据该段/区内的预置参考物进行对齐,以实现停车位的对齐,在各段/区的停车位对齐后将这些段/区合成即可实现对整个停车场的车位对齐。在对各段/区内的停车位对齐时适用于本实施例中的方法。也可以根据需要,对停车场地图中需要进行停车位对齐的区域进行本实施例中的停车位对齐方法。当然,本领域技术人员可以根据需要进行设置为其他的方式,本实施例中在此不再做一一限定和赘述。
需要说明的是,本实施例中进行预置参考物对齐时利用的是预置参考物的直线特征信息,故在选择预置参考物的设置时,选择具有直线结构的事物作为预置参考物。
步骤202、对各帧图片中的预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息。
在获取到拍摄有停车场内预置参考物的多帧图片后,对各帧图片中的预置参考物进行直线特征提取,得到预置参考物对应的直线特征信息,也即各帧图片对应的直线特征信息。对于直线特征的提取,本领域技术人员可以根据需要进行选择,在此不再详述。
步骤203、根据各帧图片的直线特征信息,得到各帧图片中第一直线的深度,其中,第一直线为预置参考物上的直线。
本实施例中,在得到各帧图片对应的直线特征信息后,便可以根据各帧图片的直线特征信息计算得到各帧图片中第一直线的深度。
可以理解的是,第一直线为预置参考物上的直线,也即预置参考物的任意一条直线,也即本实施例中根据各帧图片的直线特征信息,计算的是同一直线在各帧中的深度。
步骤204、根据各帧图片对应的深度,计算各帧图片中第一直线的位置信息。
在得到各帧图片中第一直线的深度,也即各帧图片对应的上述深度后,便可以根据上述的各帧对应的深度,计算各帧图片中第一直线的位置信息。
步骤205、根据位置信息,将多帧图片中的预置参考物进行对齐,以对多帧图片对应的停车位进行对齐。
可以理解的是,一帧图片中既有预置参考物又有停车位,由于在进行预置参考物对齐时,移动预置参考物对应的其实是移动该帧图片的停车场绘制轨迹(上面附带有停车位信息),故移动预置参考物可以带动停车位的移动,从而实现通过对多帧图片的预置参考物的对齐,实现停车位的对齐。
本实施例中,首先获取拍摄有停车场内预置参考物的多帧图片,接着对各帧图片中的预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息,再接着根据直线特征信息,计算对应的第一直线的深度、位置信息,在得到第一直线的位置信息后,便可以根据位置信息将多帧图片中的预置参考物进行对齐,以对多帧图片中的停车位对齐,即本申请中在进行停车位对齐时,不再直接以停车位信息作为基准,而是以预置参考物为基准,通过预置参考物的对齐,间接实现停车位对齐,可以改善现有直接以停车位信息进行停车位对齐时,计算混乱的技术问题。
以上为本申请实施例提供的一种停车位对齐方法的实施例一,以下为本申请实施例提供的一种停车位对齐方法的实施例二。
请参阅图3,图3为本申请实施例中一种停车位对齐方法的实施例二的流程示意图。
本实施例中的一种停车位对齐方法,包括:
步骤301、获取拍摄有停车场内预置参考物的多帧图片。
需要说明的是,步骤301的描述与实施例一中步骤201的描述相同,具体可以参见上述的描述,在此不再赘述。
步骤302、对各帧图片中的预置参考物进行框选,得到参考框。
为了避免多帧图片中的其他信息扰乱计算结果,例如提取到非参考物的直线特征信息,故本实施例中在提取直线特征信息之前首先对各帧图片中的预置参考物进行框选。可以理解的是,对于框选的大小和形状不做具体限制,本领域技术人员可以根据需要进行选择。本实施例中采用矩形框进行框选,具体框选后的参考框示意图如图4中的白色矩形框所示。
可以理解的是,本实施例中的预置参考物可以选用墙柱,因为停车场内两个墙柱之间会有多个停车位,也即相邻的两个墙柱之间的距离是大于相邻的两个停车位之间的距离的,故在进行墙柱对齐时,可以明确一条轨迹中的墙柱在另一条轨迹中的具体墙柱。
步骤303、对各帧图片中的参考框进行直线特征提取,得到各帧图片对应的直线特征信息。
在得到各帧图片中的参考框后,可以对参考框进行直线特征提取,由于参考框中的事物为预置参考物,故在对参考框进行直线特征提取后,便可得到该参考框内预置参考物的直线特征信息,由于一个预置参考框对应一帧图片,即也得到各帧图片对应的直线特征信息。
本实施例中对图4的参考框进行直线特征提取后,得到各帧图片对应的直线特征信息如图5所示,其中有三条直线,为了区分分别将直线设置为实线、虚线和点状线三种线型。
步骤304、根据各帧图片的直线特征信息,得到第一直线在不同帧之间的对应关系。
其中,第一直线为预置参考物上的直线。
在进行深度计算时,首先需要确定同一直线在不同帧之间的对应关系,也即第一直线在不同帧之间的对应关系。具体如图6所示,图6为本申请实施例中第一直线在不同帧之间的对应关系的计算示意图。对于第一直线的选择,本领域技术人员可以根据需要进行选择,本实施例中将实线作为第一直线进行后续的计算。
步骤305、根据对应关系,通过多帧图片之间第一直线的换算,得到各帧图片中第一直线的深度。
根据对应关系,通过多帧图片之间第一直线的换算,得到各帧图片中第一直线的深度,具体包括:
根据对应关系,获取各帧图片中第一直线对应的拍摄角度和拍摄位置;
基于各拍摄位置,计算第一帧图片和第二帧图片之间的拍摄间距,其中,第一帧图片和第二帧图片为多帧图片中的两帧;
根据拍摄间距、第二帧图片对应的拍摄角度和第二帧图片对应的拍摄角度,计算第二帧图片中第一直线的深度。
如图7所示,本实施例中根据车辆的行驶轨迹,摄角度和拍摄位置计算得到第一直线的深度,计算公式为:
d1=sin(theta1)*d/cos(theta2);
其中,d为第一帧图片和第二帧图片之间的拍摄间距,theta1为第一帧图片对应的拍摄角度,theta2为第二帧图片对应的拍摄角度,d1是第一直线在第二帧图片中的深度。需要说明的是,可以采用类似的方法计算第一直线在第一帧图片中的深度。
可以理解的是,上述的第一帧图片和第二帧图片是多帧图片中的两帧,即可以将多帧图片进行两两分组,再计算各帧图片中第一直线的深度后,进行后续的位置信息的计算。具体地,本实施例中以其中一组两帧图片进行举例说明,其他组的可以参见本实施例中的描述,在此不再一一赘述。
步骤306、获取各帧图片中第一直线对应的拍摄位置。
步骤307、根据拍摄位置和各帧图片对应的深度,计算各帧图片中第一直线的位置信息。
步骤308、获取第一帧图片和第二帧图片各自对应的位置信息。
如图8所示,本实施例中,可以根据第一直线对应的拍摄位置(x,y)、深度(d1),计算第一直线的位置信息(x1,y1):
x1=x+d1*sin(theta);
y1=y+d1*cos(theta)。
步骤309、根据第一帧图片和第二帧图片各自对应的位置信息,以预置参考物为基准,将第一帧图片中的预置参考物和第二帧图片中的预置参考物进行对齐,以对第一帧图片中的停车位和第二帧图片中的停车位进行对齐。
如图9所示,假设有两条轨迹(附带有停车位和预置参考物),以第一条轨迹(A)为基准,把第二条轨迹(B)向第一条轨迹对齐。
找到B中所有的第一直线对应在A中最近的第一直线。如果距离小于4米,说明这一对匹配是正确的匹配。
找出所有B到A中这样的匹配后,将B和A对齐。
可以理解的是,本实施例中在进行轨迹对齐时可以采用ICP对齐方法。
本实施例中,首先获取拍摄有停车场内预置参考物的多帧图片,接着对各帧图片中的预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息,再接着根据直线特征信息,计算对应的第一直线的深度、位置信息,在得到第一直线的位置信息后,便可以根据位置信息将多帧图片中的预置参考物进行对齐,以对多帧图片中的停车位对齐,即本申请中在进行停车位对齐时,不再直接以停车位信息作为基准,而是以预置参考物为基准,通过预置参考物的对齐,间接实现停车位对齐,可以改善现有直接以停车位信息进行停车位对齐时,计算混乱的技术问题。
以上为本申请实施例提供的一种停车位对齐方法的实施例二,以下为本申请实施例提供的一种停车位对齐装置的实施例。
请参阅图10,图10为本申请实施例中一种停车位对齐装置的实施例的结构示意图。
本实施例中的停车位对齐装置,包括:
获取单元1001,用于获取拍摄有停车场内预置参考物的多帧图片;
提取单元1002,用于对各帧图片中的预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息;
第一计算单元1003,用于根据各帧图片的直线特征信息,得到各帧图片中第一直线的深度,其中,第一直线为预置参考物上的直线;
第二计算单元1004,用于根据各帧图片对应的深度,计算各帧图片中第一直线的位置信息;
对齐单元1005,用于根据位置信息,将多帧图片中的预置参考物进行对齐,以对多帧图片对应的停车位进行对齐。
可选地,第一计算单元1003具体包括:
第一计算子单元,用于根据各帧图片的直线特征信息,得到第一直线在不同帧之间的对应关系,其中,第一直线为预置参考物上的直线;
第二计算子单元,用于根据对应关系,通过多帧图片之间第一直线的换算,得到各帧图片中第一直线的深度。
可选地,第二计算单元1004具体包括:
第一获取子单元,用于获取各帧图片中第一直线对应的拍摄位置;
第三计算子单元,用于根据拍摄位置和各帧图片对应的深度,计算各帧图片中第一直线的位置信息。
可选地,对齐单元1005具体包括:
第二获取子单元,用于获取第一帧图片和第二帧图片各自对应的位置信息,其中,第一帧图片和第二帧图片为多帧图片中的两帧;
对齐子单元,用于根据第一帧图片和第二帧图片各自对应的位置信息,以预置参考物为基准,将第一帧图片中的预置参考物和第二帧图片中的预置参考物进行对齐,以对第一帧图片中的停车位和第二帧图片中的停车位进行对齐。
可选地,提取单元1002具体包括:
框选子单元,用于对各帧图片中的预置参考物进行框选,得到参考框;
提取子单元,用于对各帧图片中的参考框进行直线特征提取,得到各帧图片对应的直线特征信息。
具体地,第二计算子单元包括:
获取子子单元,用于根据所述对应关系,获取各帧图片中所述第一直线对应的拍摄角度和拍摄位置;
第一计算子子单元,用于基于各所述拍摄位置,计算第一帧图片和第二帧图片之间的拍摄间距,其中,所述第一帧图片和所述第二帧图片为多帧图片中的两帧;
第二计算子子单元,用于根据所述拍摄间距、所述第二帧图片对应的拍摄角度和所述第二帧图片对应的所述拍摄角度,计算所述第二帧图片中所述第一直线的深度。
本实施例中,首先获取拍摄有停车场内预置参考物的多帧图片,接着对各帧图片中的预置参考物进行直线特征提取,得到各帧图片对应的直线特征信息,再接着根据直线特征信息,计算对应的第一直线的深度、位置信息,在得到第一直线的位置信息后,便可以根据位置信息将多帧图片中的预置参考物进行对齐,以对多帧图片中的停车位对齐,即本申请中在进行停车位对齐时,不再直接以停车位信息作为基准,而是以预置参考物为基准,通过预置参考物的对齐,间接实现停车位对齐,可以改善现有直接以停车位信息进行停车位对齐时,计算混乱的技术问题。
本申请实施例还提供了一种停车位对齐设备的实施例,本实施例中的检测设备包括处理器以及存储器;存储器用于存储程序代码,并将程序代码传输给处理器;处理器用于根据程序代码中的指令执行前述实施例中的停车位对齐方法。
本申请实施例还提供了一种计算机可读存储介质的实施例,本实施例中计算机可读存储介质用于存储程序代码,程序代码用于执行前述实施例中的停车位对齐方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“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可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。