停车位检测方法、装置、计算机设备和存储介质转让专利

申请号 : CN202110802843.3

文献号 : CN115700814A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 袁慧珍李莹肖映彩伏东奇宋汉辰

申请人 : 长沙智能驾驶研究院有限公司

摘要 :

本申请涉及一种停车位检测方法、装置、计算机设备和存储介质。该方法通过对停车位线提取线段,再进行分类的方式,使每条停车位线表示为一类线段集合,并进行直线拟合的方式还原停车位线,能够屏蔽线段端点集合中因形变出现的噪声点,保证大多数点集中在拟合直线周围,减少了形变带来的定位误差,以此为基础,根据各类线段子集的最值端点和拟合直线的交点,确定停车位的关键点,提高了停车位的定位点检测的检测效果。

权利要求 :

1.一种停车位检测方法,所述方法包括:

获取停车位图像的停车位线像素点图像;

对所述停车位线像素点图像进行处理,提取停车位线;

提取所述停车位线的线段集合,获取每个线段两端点的坐标;

根据线段集合中各线段两端点的坐标,按斜率和第一距离对各线段进行分类,得到每个类别所包括的线段子集;其中,所述第一距离为任意两条线段中一条线段的中点至另一线段的距离;

根据所述线段子集中各线段的端点坐标进行直线拟合,得到各线段子集对应的拟合直线;

确定各所述拟合直线的交点;

根据各类线段子集的最值端点和所述拟合直线的交点,确定各停车位的关键点,所述最值端点包括最大端点和/或最小端点。

2.根据权利要求1所述的方法,其特征在于,获取停车位图像的停车位线像素点图像,包括:采集得到停车位图像;

将所述停车位图像输入训练好的生成对抗网络,通过所述生成对抗网络的生成器,生成所述停车位图像的停车位线像素点图像;其中所述生成对抗网络根据停车位图像以及标注的所述停车位图像的停车位线像素点图像训练得到。

3.根据权利要求2所述的方法,其特征在于,所述采集得到停车位图像,包括:获取多个摄像头采集的停车位区域图像;

对所述停车位区域图像进行匹配并拼接,得到环视的停车位图像。

4.根据权利要求1所述的方法,其特征在于,所述对所述停车位线像素点图像进行处理,提取停车位线,包括:对所述停车位线像素点图像进行二值化处理,得到线区域;

对所述线区域进行形态学处理后,提取线条并对线条进行骨架化处理,得到所述停车位线。

5.根据权利要求1所述的方法,其特征在于,所述根据线段集合中各线段两端点的坐标,按斜率和第一距离对各线段进行分类,得到每个类别所包括的线段子集,包括:根据线段集合中各线段的端点的坐标,得到各线段的斜率,以及线段中点至另一线段的第一距离,将任意两线段中斜率差值和第一距离平均值均小于对应阈值的线段划分为一类,得到每个类别对应的粗分的线段子集。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:对每类所述粗分的线段子集中的各线段端点,按端点坐标进行排序,得到端点序列,若所述端点序列中相邻端点的中间间隔点不存在停车位线信息,则将对应的相邻端点划分为不同的两类,得到细分的线段子集,各所述细分线段子集对应所述停车位图像中的一条停车位线段;其中,所述粗分的线段子集用于进行直线拟合,所述细分的线段子集用于确定所述最值端点。

7.根据权利要求6所述的方法,其特征在于,根据各类线段子集的最值端点和所述拟合直线的交点,确定各停车位的关键点,包括:获取各所述细分的线段子集的最值端点对,所述最值端点对包括最大端点和最小端点;

根据所述拟合直线的交点以及各细分的线段子集的所述最值端点对的坐标,确定各停车位的交点以及各停车位的邻接交点范围内的最值端点,得到候选端点,所述交点表示停车位的边界顶点;

根据所述候选端点与交点的距离,将远离所述交点的候选端点确定为目标端点,所述目标端点表示停车位入口的位置点或被遮挡停车位线的位置点;

根据所述交点和目标端点,得到所述停车位的关键点。

8.一种停车位检测装置,其特征在于,所述装置包括:图像获取模块,用于获取停车位图像的停车位线像素点图像;

图像处理模块,用于对所述停车位线像素点图像进行处理,提取停车位线;

线段提取模块,用于提取所述停车位线的线段集合,获取每个线段两端点的坐标;

分类模块,用于根据线段集合中各线段两端点的坐标,按斜率和第一距离对各线段进行分类,得到每个类别所包括的线段子集;其中,所述第一距离为任意两条线段中一条线段的中点至另一线段的距离;

直线拟合模块,用于根据所述线段子集中各线段的端点坐标进行直线拟合,得到各线段子集对应的拟合直线;

交点确定模块,用于确定各所述拟合直线的交点;

关键点获取模块,用于根据各类线段子集的最值端点和所述拟合直线的交点,确定各停车位的关键点,所述最值端点包括最大端点和/或最小端点。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

说明书 :

停车位检测方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及智能驾驶和图像处理技术领域,特别是涉及一种停车位检测方法、装置、计算机设备和存储介质。

背景技术

[0002] 停车位精确定位是智能驾驶领域的关键技术之一,目前的主要方法集中在于使用多传感器或高精地图进行小型车停车位定位。但多传感器成本较高,且有些车位并没有高精度地图,从而导致多传感器或高精度地图定位的方式使用存在限制。
[0003] 基于此,利用摄像头进行停车位检测成为一种趋势。该方法通过摄像头采集停车位图像,对停车位进行检测,提取停车位的停车位线,进而提取停车位线上的交点,根据交点确定停车位的关键点。但是,在图像处理过程中,常存在因摄像头采集或图像处理(如拼接)原因,导致会出现图像形变。一旦出现形变停车位,局部线与点可能分割不出,即增加了停车位点在形变等复杂环境图像中丢失的风险,降低了关键点提取的稳定性,而不能有效对停车位进行检测。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够提高检测效果的停车位检测方法、装置、计算机设备和存储介质。
[0005] 一种停车位检测方法,所述方法包括:
[0006] 获取停车位图像的停车位线像素点图像;
[0007] 对所述停车位线像素点图像进行处理,提取停车位线;
[0008] 提取所述停车位线的线段集合,获取每个线段两端点的坐标;
[0009] 根据线段集合中各线段两端点的坐标,按斜率和第一距离对各线段进行分类,得到每个类别所包括的线段子集;其中,所述第一距离为任意两条线段中一条线段的中点至另一线段的距离;
[0010] 根据所述线段子集中各线段的端点坐标进行直线拟合,得到各线段子集对应的拟合直线;
[0011] 确定各所述拟合直线的交点;
[0012] 根据各类线段子集的最值端点和所述拟合直线的交点,确定各停车位的关键点,所述最值端点包括最大端点和/或最小端点。
[0013] 在其中一个实施例中,获取停车位图像的停车位线像素点图像,包括:
[0014] 采集得到停车位图像;
[0015] 将所述停车位图像输入训练好的生成对抗网络,通过所述生成对抗网络的生成器,生成所述停车位图像的停车位线像素点图像;其中所述生成对抗网络根据停车位图像以及标注的所述停车位图像的停车位线像素点图像训练得到。
[0016] 在其中一个实施例中,所述采集得到停车位图像,包括:
[0017] 获取多个摄像头采集的停车位区域图像;
[0018] 对所述停车位区域图像进行匹配并拼接,得到环视的停车位图像。
[0019] 在其中一个实施例中,所述对所述停车位线像素点图像进行处理,提取停车位线,包括:
[0020] 对所述停车位线像素点图像进行二值化处理,得到线区域;
[0021] 对所述线区域进行形态学处理后,提取线条并对线条进行
[0022] 骨架化处理,得到所述停车位线。
[0023] 在其中一个实施例中,所述根据线段集合中各线段两端点的坐标,按斜率和第一距离对各线段进行分类,得到每个类别所包括的线段子集,包括:
[0024] 根据线段集合中各线段的端点的坐标,得到各线段的斜率,以及线段中点至另一线段的第一距离,将任意两线段中斜率差值和第一距离平均值均小于对应阈值的线段划分为一类,得到每个类别对应的粗分的线段子集。
[0025] 在另一个实施例中,该方法还包括:
[0026] 对每类所述粗分的线段子集中的各线段端点,按端点坐标进行排序,得到端点序列,若所述端点序列中相邻端点的中间间隔点不存在停车位线信息,则将对应的相邻端点划分为不同的两类,得到细分的线段子集,各所述细分线段子集对应所述停车位图像中的一条停车位线段;其中,所述粗分的线段子集用于进行直线拟合,所述细分的线段子集用于确定所述最值端点。
[0027] 在其中一个实施例中,根据各类线段子集的最值端点和所述拟合直线的交点,确定各停车位的关键点,包括:
[0028] 获取各所述细分的线段子集的最值端点对,所述最值端点对包括最大端点和最小端点;
[0029] 根据所述拟合直线的交点以及各细分的线段子集的所述最值端点对的坐标,确定各停车位的交点以及各停车位的邻接交点范围内的最值端点,得到候选端点,所述交点表示停车位的边界顶点;
[0030] 根据所述候选端点与交点的距离,将远离所述交点的候选端点确定为目标端点,所述目标端点表示停车位入口的位置点或被遮挡停车位线的位置点;
[0031] 根据所述交点和目标端点,得到所述停车位的关键点。
[0032] 一种停车位检测装置,所述装置包括:
[0033] 图像获取模块,用于获取停车位图像的停车位线像素点图像;
[0034] 图像处理模块,用于对所述停车位线像素点图像进行处理,提取停车位线;
[0035] 线段提取模块,用于提取所述停车位线的线段集合,获取每个线段两端点的坐标;
[0036] 分类模块,用于根据线段集合中各线段两端点的坐标,按斜率和第一距离对各线段进行分类,得到每个类别所包括的线段子集;其中,所述第一距离为任意两条线段中一条线段的中点至另一线段的距离;
[0037] 直线拟合模块,用于根据所述线段子集中各线段的端点坐标进行直线拟合,得到各线段子集对应的拟合直线;
[0038] 交点确定模块,用于确定各所述拟合直线的交点;
[0039] 关键点获取模块,用于根据各类线段子集的最值端点和所述拟合直线的交点,确定各停车位的关键点,所述最值端点包括最大端点和/或最小端点。
[0040] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述各实施例方法的步骤。
[0041] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各实施例方法的步骤。
[0042] 上述停车位检测方法、装置、计算机设备和存储介质,该方法通过对停车位线提取线段,再进行分类的方式,使每条停车位线表示为一类线段集合,并进行直线拟合的方式还原停车位线,能够屏蔽线段端点集合中因形变出现的噪声点,保证大多数点集中在拟合直线周围,减少了形变带来的定位误差,以此为基础,根据各线段子集的最值端点和拟合直线的交点,确定停车位的关键点,提高了停车位的定位点检测的检测效果。

附图说明

[0043] 图1为一个实施例中停车位检测方法的应用环境图;
[0044] 图2为一个实施例中停车位检测方法的流程示意图;
[0045] 图3为一个实施例中环视的停车位图像;
[0046] 图4为图3的停车位图像的停车位线像素点图像;
[0047] 图5为图4的停车位线像素点图像的二值图像;
[0048] 图6为根据图5的二值图像提取的车位线骨架图;
[0049] 图7为停车位线骨架图的一个区域的示意图;
[0050] 图8为图7的区域对应的线段的示意图;
[0051] 图9为停车位线存在遮挡的停车位线骨架图;
[0052] 图10为一个实施例的粗分线段集合的示意图;
[0053] 图11为对图10的粗分线段集合进行细分得到的细分结果的示意图;
[0054] 图12为一个实施例的停车位的拟合直线的示意图;
[0055] 图13为一个实施例的停车位的关键点示意图;
[0056] 图14为一个实施例中第一交点和第二交点间的坐标范围包括最值端点对的说明示意图;
[0057] 图15为一个实施例中第一交点和第二交点间的坐标范围与最值端点对存在交集的说明示意图;
[0058] 图16为又一个实施例的停车位的关键点示意图;
[0059] 图17为另一个实施例的停车位的关键点示意图;
[0060] 图18为一个实施例中停车位检测装置的结构框图;
[0061] 图19为一个实施例中计算机设备的内部结构图。

具体实施方式

[0062] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0063] 本申请提供的停车位检测方法,可以应用于如图1所示的应用环境中。如图1所示,车辆安装有摄像头102和车辆控制器103,车辆控制器103与边缘计算服务器105通信连接。其中,车辆的摄像头102可安装在车辆前方顶部、车辆后方顶部以及车辆侧方顶部,当车辆触发停车指令时,利用摄像头采集车辆周围的图像,获取停车位图像,将停车位图像发送至车辆控制器或边缘计算服务器,由车辆控制器或边缘计算服务器实施停车位检测方法,获取停车位的关键点信息。其中,停车位不限于侧方停车位或倒库车位。
[0064] 在一个实施例中,如图2所示,提供了一种停车方法,以该方法应用于图1中的边缘计算服务器或车辆控制器为例进行说明,包括以下步骤:
[0065] 步骤202,获取停车位图像的停车位线像素点图像。
[0066] 其中,停车位图像是车辆的摄像头采集的停车位的图像,进一步将停车位图像处理为停车位线像素点图像。停车位线像素点图像中仅有停车位线的像素点信息,剔除了其它与停车位无关的像素点信息,如停车位所处环境信息。
[0067] 具体地,获取停车位图像的停车位线像素点图像,包括:采集得到停车位图像,将停车位图像输入训练好的生成对抗网络,通过生成对抗网络的生成器,生成停车位图像的停车位线像素点图像;其中生成对抗网络根据停车位图像以及标注的停车位图像的停车位线像素点图像训练得到。
[0068] 其中,当触发停车指令时,向车辆的摄像头发送采集指令,车辆的摄像头拍摄得到停车位图像。停车位可以是侧方停车位或是倒车停车位。
[0069] 在实际应用中,尤其是在智能驾驶领域,车辆通常配置有多个摄像头,从而使得采集(视线)范围更广。尤其对于大型车辆而言,由于车辆体积较大,停车位变大,车的视野范围也需要扩大。因而为了获得更好的视线范围,通常配置有多个摄像头。因此,获取停车位图像的停车位线像素点图像,包括:获取多个摄像头采集的停车位区域图像;对停车位区域图像进行匹配并拼接,得到环视的停车位图像。
[0070] 其中,每个摄像头采集一个其视线范围内的停车位区域图像,再利用图像匹配的方式匹配相邻的停车位区域图像,确定匹配点,并基于匹配点拼接相邻的停车位区域图像,得到环视的停车位图像。一个实施例的环视的停车位图像如图3所示。
[0071] 在实际应用中,拼接后的环视的停车位图像的视线范围更扩大,相应的存储空间和图像处理时间相对增加。因此,导致对环视的停车位图像分割获取停车位矩形区域的耗时增加。且利用传统的图像识别技术,从图像中对车位线进行分割,容易受到噪声的影响,存在不稳定的问题。
[0072] 针对这一问题,本申请使用训练好的生成对抗网络,提取停车位图像的停车位像素点图像。具体地,将停车位图像输入训练好的生成对抗网络,通过生成对抗网络的生成器,生成停车位图像的停车位线像素点图像;其中生成对抗网络根据停车位图像以及标注的停车位图像的停车位线像素点图像训练得到。
[0073] 具体地,生成对抗网络模型主要包括两部分:生成器和判别器。生成器是指可以根据任务、通过模型训练由输入的数据生成图像。判别器判断生成的图像是否为真实图像。训练阶段结束后,可得到能够准确提取图像信息的生成器,利用生成器提取图像信息。一个实施例中利用生成对抗网络的生成器提取的图3的停车位图像的停车位线像素点图像如图4所示。
[0074] 具体到本申请,样本集的样本包括了停车位图像,以及标注的停车位图像对应的停车位像素点图像。在训练阶段,生成器,生成停车位图像的停车位线像素点图像,判别器判断生成的停车位线像素点图像是否为标注的停车位图像的停车位像素点图像。
[0075] 具体地,获取训练集,训练集包括停车位图像,以及标注的停车位图像的停车位线像素点图像;将训练集中的停车位图像输入生成对抗网络的生成器,得到预测的停车位图像的停车位线像素点图像;利用生成对抗网络对预测的停车位线像素点图像与标注的停车位线像素点图像进行比对;根据比对结果对生成对抗网络进行训练,训练的目标是使预测的停车位线像素点图像与标注的像素点图像接近。
[0076] 先利用生成对抗网络、停车位图像集合训练生成器与判别器。其中,由于分割停车位线的几何结构较为简单,所以使用一般的编解码网络生成器就可满足需求,而判别器为比较像素分布差异的二分类器,用于比对生成的停车位像素点图像与标注的停车位像素点图像,其在训练时不断监督生成器各个权重随机生成的图像是否为标注的停车位像素点图像,该判别器由于比较的是像素分布,其使得生成器生成的图像趋近于真实图像像素分布而不是固定的标签图像,提高了生成器生成数据的多样性,也保证了生成的停车位像素点图像趋近于真实的停车位像素点图像。而在实际停车位检测中,只需要使用对抗网络生成器就可以分割出停车位像素点图像,进一步减少对抗网络分割停车位线的时间,也提高了对抗网络分割出未知停车位线感兴趣区域的稳定性。
[0077] 步骤204,对停车位线像素点图像进行处理,提取停车位线。
[0078] 具体地,对停车位线像素点图像进行二值化处理,得到停车位线。
[0079] 进一步地,停车位线为图像细化处理后得到的停车位线骨架。图像细化是指将二值图像的线条从多像素宽度减少到单位像素宽度的过程。通过图像细化处理,能够保留停车位线的主要特征的同时去除多余像素点,降低运算量。
[0080] 具体地,对停车位线像素点图像进行处理,提取停车位线,包括:对停车位线像素点图像进行二值化处理,得到线区域;对线区域进行形态学处理后,提取线条并对线条进行骨架化处理,得到停车位线。
[0081] 二值化处理,是指将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。对图4所示停车位线像素点图像进行二值化处理后,得到的二值图像如图5所示。二值图像中灰度值为255的像素点即对应停车位线,即线区域。
[0082] 二值化后,线区域边缘可能存在噪点。本申请的方案中,利用形态学对线区域进行去噪处理。具体地,利用形态学腐蚀去除该区域边缘噪点,然后通过膨胀平滑线区域并填充线区域的孔洞,接着计算线区域最大连通区域,然后进行连通区域轮廓化,以便剔除周长小于阈值的小轮廓,最终完成对停车位线的去噪,得到对应的线条。
[0083] 针对停车位线进行骨架化处理,具体地,利用核函数对上一步骤获得的二值化的线条进行区域细化,去除多余像素点,将停车位线主要特征保留为细长线。其中,停车位线包含停车位像素点图像的主要骨架点集合,该步骤通过减少关键点来降低关键点判断的运算量。对图5所示的停车位线的线区域进行骨架化处理,得到的停车位线骨架如图6所示。
[0084] 步骤206,提取停车位线的线段集合,获取每个线段两端点的坐标。
[0085] 具体地,通过累计概率霍夫变换提取停车位线骨架为多条线段该线段集合为最终获得停车位提供关键点集
合。其中,Li为第i段线段,n为线段总数目, 为Li线段的左右端点坐标。具体地,可设置累计概率霍夫变换的参数进行线段提取,如参数包括周围相连的点的数量,中间间隔的点的数据,根据设置的参数进行对累计概率霍夫变换,提取停车位线骨架的线段集合。
其中,每个线段均有左右两个端点,获取各线段两端的坐标。在实际应用时,霍夫变换会出现叠加,而导致找到的线段有重叠的情况,即存在误差,如对图7中的停车位线骨架图的一个区域,进行霍夫变换后,如图8所示,有多条线段叠加以表示该位置的停车位线。
[0086] 步骤208,根据线段集合中各线段两端点的坐标,按斜率和第一距离对各线段进行分类,得到每个类别所包括的线段子集;所述第一距离为任意两条线段中一条线段的中点至另一线段的距离。
[0087] 具体地,将斜率和第一距离均相近的线段划分为同一类,从而得到每个类别所包括的线段子集。
[0088] 具体地,根据线段集合中各线段的端点的坐标,得到各线段的斜率,以及线段中点至另一线段的第一距离,将任意两线段中斜率差值和第一距离平均值均小于对应阈值的线段划分为一类,得到每个类别对应的粗分的线段子集。
[0089] 具体地,粗分线段的方式为:根据各线段的两端点坐标,得到线段的斜率,根据斜率,得到线段的直线表达;根据线段的直线表达以及两端点坐标,计算任意两条线段中一条线段的中点到另一线段的第一距离;根据两条线段的斜率以及第一距离,判断两条线段是否接近,如果是,则判定为同一类,如果不是,则判定为两个类别;反复迭代,直到所有的线段均有类别。
[0090] 具体地,利用基于密度的聚类方法对任意两线段 i,j≤n进行迭代的分类,i,j为线段下标。包括以下步骤:
[0091] 1、分别计算出任意两线段Li,Lj对应斜率ki、kj,得到线段的直线表达式为y=kx+b。
[0092] 2、通过点到直线距离公式 得到一条线段中点到另一线段的第一距离di,dj,在两线段斜率ki、kj相近且两第一距离di,d j相近时,则判断两线段接近,两线段为同一类别,反之,判定为两个类别。其中,可将两线段斜率差与斜率阈值进行比较,判断两线段斜率是否相近。若两线段斜率差小于斜率阈值,则确定两线段斜率相近。可将两线段的第一距离平均值与距离阈值进行比较,判断两线段距离是否相近。若两线段的第一距离平均值小于距离阈值,则确定两线段距离相近。
[0093] 3、反复迭代上述步骤直到所有线段均有类别。
[0094] 通过上述步骤,能够考虑线段的斜率和距离,对斜率和距离相近的线段分为同一类别。到此,采用该方法,以聚类获得不同停车位位置对应的停车位线的粗分的线段子集1 1 j j j j
{(x ,y),.......,(x ,y)}m,c,m≥0,c≤N,其中,x为第j个端点的x轴坐标值,y为第j个端点的y轴坐标值,m为第c类线段的总线段数目,N为粗分分类总数。
[0095] 可以理解的是,通过设置合理的斜率阈值和距离阈值,能够区分斜率和距离具有明显差异的停车位线。应当注意的是,停车位图像中的一条停车位线段不表示实际停车位线。由于拍摄遮挡等原因,若一条停车位线被一个物体遮挡,则停车位线骨架如图9中间的停车位所示,则对于该停车位而言,在停车位图像中存在六条停车位线段。因此,停车位图像中的停车位线段包括了停车位图像中完整的停车位线段、因遮挡等原因被分段的停车位线段以及停车位入口的停车位线段(停车位入口标识通常为两条不连接的线段,用于表示入口)。
[0096] 在实际应用中,对于图像中有多个停车位,以及停车位的入口标识,或是停车位线上存在遮挡时,由于两线段的第一距离较近,则线段划分可能存在误差,将一条停车位线因遮挡而分段为两条停车位线段归属为同一类别,或是同一停车位中停车位入口作为入口标记的两条停车位线段归属为同一类别。以图10所示的停车位图所示,图像范围内有三个停车位,通过设置合理的阈值,根据斜率和距离划分,斜率和距离差距较大的停车线位上的线段能够被区分为不同类别,但距离较近的线段不能够被准确区分,如因遮挡等原因被分段的停车位线段被归属为同一类别,如图10最下侧的停车位,有一条停车位线因为被物体遮挡,被分为两条停车位线段。车位线识别的目标需要确定停车位线段的端点,将其作为停车位的关键点。若存在遮挡而被分段的两条停车位线段归属为同一类别,则不能识别出来停车位线段的端点,而无法准确定停车位的关键点。如图10所示的最下侧的停车位,而因遮挡被分段的停车位线段归属为第一类,左侧停车位入口的两条停车位段归属为第二类,上侧的停车位线段归属于第三类,右侧的停车位线段归属为第四类。该分类并没有实现准确分类。
[0097] 针对此,为分类出停车位图像的每一条停车位线段,对于粗分线段集合进一步进行细分,对每类粗分的线段子集中各线段端点,按端点坐标进行排序,得到端点序列;若所述端点序列中相邻端点的中间间隔点不存在停车位线信息,则将对应的相邻端点划分为不同两类,得到细分的线段子集,各所述细分线段子集对应一条停车位线段;其中,所述粗分线段子集用于进行直线拟合,所述细分线段子集用于确定所述最值端点。
[0098] 可以理解的是,停车位图像中的停车位线具体对应停车位图像中所展示每个停车位的停车位线段,包括完整的各停车位边界线段的情形,停车位线界线因遮挡而被分割为多条停车位线段的情形,以及停车位入口的入口标记线段的情形。
[0099] 其中,中间间隔点是否存在停车位信息,可通过中间间隔点对应的二值图像像素是否为零来判断。若中间间隔点对应的二值图像像素是零,说明该点不在停车位线上,为空白。即两个停车位之间的空白区域。其中,为提高分类的准确性,确定中间间隔点后,遍历中间间隔点周围的预设数量的点,判断以中间间隔点为中心的区域是否均为零,若是,则确定中间间隔点不在停车位线上,即不存在停车位信息。具体地,对粗分线段每一类别端点集合1 1 j j
{(x ,y),.......,(x ,y)}m,c,m≥0,c≤N进行排序,计算序列中相近端点的中间间隔点,查找间隔点对应二值图像像素是否为零,为零则表示相近端点的中间间隔点不是停车位像素点(如相邻停车位的间隔部分、停车位线被遮挡部分以及停车位入口部分),则将该中间间隔点对应的两相近端点在端点序列上区分为两类。最终得到细分的线段子集*
c为细分类别,M为细分分类总数,M>N。
[0100] 细分的线段子集为停车位图像中每一条停车位线段的线段集合。如图11所示,每个停车位的各条停车位线的线段分别归属为一类,为后期判别停车位相对位置提供线段集合数据,如图11所示标注的各类别线段集合的线段端点。粗分的线段子集用于直线拟合,即直接拟合是根据粗分的线段子集得到的,细分的线段子集用于确定最值端点。
[0101] 步骤210,根据线段子集中各线段的端点坐标进行直线拟合,得到各线段子集对应的拟合直线。
[0102] 具体地,对处于同一粗分的线段子集中各线段的端点集合{(x1,y1),.......,(xj,j c c c c cy)}m,c,m≥0,c≤N,进行直线最小二乘法拟合,获得第c类停车位线的直线方程Ax+By+Cc c c c c c c c
=0,A ,B ,C为方程系数,最终得到N个直线方程{Ax+By +C=0}c,c≤N,拟合直线如图12所示。对于大型车停车位环视出现的形变,采用直线拟合的方法屏蔽线段端点集合中因形变出现的噪声点,保证大多数点集中在拟合直线周围,减少了形变带来的定位误差。
[0103] 步骤212,确定各拟合直线的交点。
[0104] 具体地,{Acxc+Bcyc+Cc=0}c,c≤N的N个直线方程,进行方程的两两求交点运算,获1 1 s s
得对应交点集合{(x ,y),.......,(x ,y)}L,L>0,其中L为交点总数。
[0105] 步骤214,根据各类线段子集的最值端点和拟合直线的交点,确定各停车位的关键点,最值端点包括最大端点和/或最小端点。
[0106] 停车位检测的目标是能够提取停车位的关键点,停车位的关键点可用于确定停车位与车辆的相对位置,在停车过程中为车辆控制提供指导。停车位的关键点可用于普通车辆的倒车指引,也可用于智能驾驶车辆的倒车控制。通常而言,停车位关键点包括了停车位的边界顶点(即四条停车位线的交点)、停车位入口的位置点以及被遮挡停车位线的位置点,其中被遮挡停车位线的位置点为遮挡物与停车位线的交点。停车位入口的位置点以及被遮挡停车位线的位置点可通过细分的线段子集中各线段的最值端点确定。最值端点具体为各类细分的线段子集中的最大端点和/或最小端点。最大端点和/或最小端点可通过坐标确定,是指在各细分线段子集中坐标位置最大的端点和/或坐标位置最小的端点。
[0107] 拟合直线的交点是根据粗分的线段子集确定的,拟合直线的交点能够表示各停车位的交点。但粗分的线段子集可能存在误差,需要进一步结合细分的线段子集的最值端点,确定交点对应的停车位,即将交点归属到每一个停车位上。
[0108] 具体地,根据各类线段子集的最值端点和和拟合直线的交点,确定各停车位的关键点,包括:获取各所述细分的线段子集的最值端点对,所述最值端点对包括最大端点和最小端点;根据所述拟合直线的交点以及各细分的线段子集的所述最值端点对的坐标,确定各停车位的交点以及各停车位的邻接交点范围内的最值端点,得到候选端点,所述交点表示停车位的边界顶点;根据各所述候选端点与交点的距离,将远离所述交点的候选端点确定为目标端点,所述目标端点表示停车位入口的位置点或被遮挡停车位线的位置点;根据所述交点和目标端点,得到所述停车位的关键点。
[0109] 具体地,对细分的线段子集,获取各线段子集中线段的最值端点,得到最值端点对P1,P2,最值端点对为细分的线段子集的最大端点和最小端点。例如,有M个分类的细分线段子集,则有M个最值端点对,每个最值端点对对应一个细分的线段子集。一个细分的线段子集包括了多条线段,各线段分别具有两端点,最大端点即细分的线段子集中坐标值最大的端点,最小端点即细分的线段子集中坐标值最小的端点。
[0110] 其中,根据所述拟合直线的交点以及各细分的线段子集的所述最值端点对的坐标,确定各停车位的交点以及各停车位的邻接交点范围内的最值端点,得到候选端点,包括:对拟合直线的交点按横坐标或纵坐标进行排序,将属于同一横坐标或纵坐标的交点划为同一交点集;对一个交点集中找出位置距离最近的候选交点对,若候选交点对间的坐标范围内存在最值端点对或不存在最值端点对但候选交点对间的坐标范围与最值端点对的坐标范围存在交集,则将候选交点对分别确定为停车位的第一交点和与第一交点邻接的第二交点,获取所述第一交点和第二交点间的坐标范围内对应的候选端点,候选端点为第一交点和第二交点间的坐标范围内存在的最值端点对,或为与第一交点和第二交点间的坐标范围存在交集的最值端点对中,在第一交点和第二交点间的坐标范围内的最值端点;对第一交点,判断第一交点与各剩余交点集中的交点间的坐标范围内是否存在最值端点对,若存在,则将对应的交点确定为与第一交点邻接第三交点,获取第一交点和第三交点间的坐标范围内的候选端点,候选端点为第一交点和第三交点间的坐标范围内的最值端点对;对第二交点,判断第二交点与剩余交点集中的交点间的坐标范围内是否存在最值端点对,若存在,则将对应的交点确定为与第二交点邻接的第四交点,获取第二交点和第四交点间的坐标范围内的候选端点,候选端点为第二交点和第四交点间的坐标范围内的最值端点对;获取所述第三交点与第四交点间的坐标范围内的候选端点,候选端点为第三交点和第四交点间的坐标范围内存在的最值端点对,或为与第三交点和第四交点间的坐标范围存在交集的最值端点对中,在第三交点和第四交点间的坐标范围内的最值端点,所述第三交点与第四交点邻接,根据第一交点、第二交点、第三交点和第四交点以及各邻接交点范围内的候选端点,确定停车位的交点以及各停车位的邻接交点范围内的候选端点。
[0111] 具体地,利用停车位线的拟合直线的交点在同一方向上横坐标或纵坐标值相近(理论上相同)的特点,可对交点根据坐标进行排序,排序方式可以为按横坐标排序,或是按纵坐标排序,将属于同一横坐标或纵坐标的交点划分为同一交点集合。以按横坐标排序为例,对所有交点进行横坐标排序,则如图13所示,交点M1‑M6属于第一交点集,交点M9‑M20属于第二交点集。在横坐标排序基础上,在第一交点集合中找出任意距离最近的交点集合,取位置连续且含有最值端点对的两个交点作为候选交点对M1,M2,若候选交点对M1,M2间的坐标范围内存在最值端点对或不存在最值端点对但候选交点对间的坐标范围与最值端点对的坐标范围存在交集,则将候选交点对分别作为第一交点M1以及与第一交点M1邻接的第二交点M2,获取第一交点和第二交点M1,M2间的坐标范围内对应的候选端点,候选端点为M1,M2间的坐标范围内存在的最值端点对或与M1,M2间的坐标范围对存在交集的最值端点对中,在M1,M2间的坐标范围内的最值端点。对于在M1,M2间的坐标范围内存在的最值端点对,即一个细分线段子集的最值端点对(最大端点和最小端点)在M1,M2间的坐标范围内,如图14所示,能够很好的将存在遮挡的位置点提取出来,作为候选端点,以便后续提取停车位的关键点。
[0112] 对于与M1,M2间的坐标范围内存在交集的最值端点对中在M1,M2范围内的最值端点,即M1,M2间的坐标范围内与最值端点对的坐标范围存在交集,细分线段子集的其中一个最值端点在M1,M2间的坐标范围内,如图15所示,细分线段子集A的其中一个最值端点在M1,M2间的坐标范围内,该线段子集A的最值端点对间的坐标范围与M1,M2间的坐标范围内集在交集,且其中一个最值端点M0在M1,M2间的坐标范围内,则将M0作为候选端点。图15所示出的情况为车位相连,M1,M2间存在停车位入口的情况,该方法能够很好的将停车位入口的位置点提取出来,作为候选端点,以便后续提取停车位的关键点。
[0113] 应当注意的是,交点是根据拟合直线确定的,而拟合直线是根据粗分线段子集中各线段的端点坐标进行直线拟合得到的,因此,交点可能也是最值端点,也就是说查找出来的候选端点可能包括交点。对第一交点M1,查找M1与剩余交点集(如图13所示的第二交点集)中各交点之间的坐标范围内含有最值端点对的第三交点M9,获取交点M1M9间坐标范围内的候选端点(交点与细分线段子集的最值端点重合,候选端点是交点自身),对于第二交点M2,找M2与剩余交点集(第二交点集合)中各交点间的坐标范围内含有最值端点对的第四交点M12,获取交点M2 M12间坐标范围内的候选端点,此时,能够将交点M1 M2 M9 M12归属为一个停车位。然后,查找第三交点和第四交点M9 M12间坐标范围内含有的候选端点,候选端点为M9 M12间坐标范围内存在的最值端点对或与M9 M12交点间的坐标范围存在交集的最值端点对中,在M9 M12交点间的坐标范围内的最值端点,如图13所示M9 M12交点间的候选端点包括交点自身以及M10 M11。
[0114] 在确定了各停车位的交点以及停车位的候选端点后,交点即停车位的边界顶点,而通过候选端点可进一步确定目标端点,目标端点即停车位入口的位置点或被遮挡停车位线的位置点。具体地,某些情况下,交点也会是最值端点,也就是说确定的候选端点可能包括了交点,因此,剔除交点的后的端点即目标端点,对应停车位入口的位置点以及被遮挡停车位线的位置点。具体地,将交点范围内的候选端点与交点Pi,Pj进行距离运算,找到不与交点Pi,Pj相近的目标端点(排除交点自身),即远离交点的候选端点为目标端点(与交点相近的端点为交点本身,排除交点),对应图13,确定的目标端点为M10 M11,最终将M1 M2 M9 M12与找出的目标端点M10 M11统称为同一停车位的关键点,其中M1 M2 M9 M12为停车位的边界定点,目标端点为停车位内部入口。在其它实施例中,目标端点还可以包括停车位线上的遮挡位置点。如图16所示,查找到的关键点包括了交点和目标端点,目标端点为停车位内部入口的位置点。如图17所示,查找到的关键点包括了交点和目标端点,目标包括了停车位内部入口的位置点以及出现遮挡的位置点。
[0115] 本申请获得的停车位关键点与车坐标无关,可由车坐标与停车位关键点坐标判别车的停车状态。
[0116] 上述的停车位检测方法,通过对停车位线提取线段,再进行分类的方式,使每条停车位线表示为一类线段集合,并进行直线拟合的方式还原停车位线,能够屏蔽线段端点集合中因形变出现的噪声点,保证大多数点集中在拟合直线周围,减少了形变带来的定位误差,以此为基础,根据各类线段子集的最值端点和拟合直线的交点,确定停车位的关键点,提高了停车位的定位点检测的检测效果。
[0117] 本申请的方法,使用累计概率霍夫变换获得停车位线的线段集合,进而利用聚类方法将停车位线的线段集合分为不同类别的线段与端点,从而利用直线拟合获得停车位线的方程,再由直线方程求得交点,最后交点与端点综合判别距离,获得包含交点与端点的定位关键点的集合,方法提高了停车位关键点检测的实时性、稳定性。
[0118] 应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0119] 在一个实施例中,如图18所示,提供了一种停车位检测装置,包括:
[0120] 图像获取模块1502,用于获取停车位图像的停车位线像素点图像;
[0121] 图像处理模块1504,用于对停车位线像素点图像进行处理,提取停车位线;
[0122] 线段提取模块1506,用于提取停车位线的线段集合,获取每个线段两端点的坐标;
[0123] 分类模块1508,用于根据线段集合中各线段两端点的坐标,按斜率和第一距离对各线段进行分类,得到每个类别所包括的线段子集;其中,所述第一距离为任意两条线段中一条线段的中点至另一线段的距离;
[0124] 直线拟合模块1510,用于根据线段子集中各线段的端点坐标进行直线拟合,得到各线段子集对应的拟合直线;
[0125] 交点确定模块1512,用于确定各拟合直线的交点;
[0126] 关键点获取模块1514,用于根据各类线段子集的最值端点和拟合直线的交点,确定各停车位的关键点,所述最值端点包括大端点和/或最小端点。
[0127] 在另一个实施例中,图像获取模块,包括:
[0128] 采集模块,用于采集得到停车位图像。
[0129] 提取模块,用于将停车位图像输入训练好的生成对抗网络,通过生成对抗网络的生成器,生成停车位图像的停车位线像素点图像;其中生成对抗网络根据停车位图像以及标注的停车位图像的停车位线像素点图像训练得到。
[0130] 在另一个实施例中,采集模块,用于获取多个摄像头采集的停车位区域图像;对停车位区域图像进行匹配并拼接,得到环视的停车位图像。
[0131] 在另一个实施例中,图像处理模块,用于对停车位线像素点图像进行二值化处理,得到线区域;对线区域进行形态学处理后,提取线条并对线条进行骨架化处理,得到停车位线。
[0132] 在另一个实施例中,分类模块,用于根据线段集合中各线段的端点的坐标,得到各线段的斜率,以及线段中点至另一线段的第一距离,将任意两线段中斜率差值和第一距离平均值均小于对应阈值的线段划分为一类,得到每个类别对应的粗分的线段子集。
[0133] 在另一个实施例中,分类模块,还用于对每类所述粗分的线段子集中的各线段端点,按端点坐标进行排序,得到端点序列,若所述端点序列中相邻端点的中间间隔点不存在停车位线信息,则将对应的相邻端点划分为不同的两类,得到细分的线段子集,各所述细分线段子集对应所述停车位图像中的一条停车位线段;其中,所述粗分的线段子集用于进行直线拟合,所述细分的线段子集用于确定所述最值端点。
[0134] 在另一个实施例中,关键点获取模块,用于获取各所述细分的线段子集的最值端点对,所述最值端点对包括最大端点和最小端点;根据所述拟合直线的交点以及各细分的线段子集的所述最值端点对的坐标,确定各停车位的交点以及各停车位的邻接交点范围内的最值端点,得到候选端点,所述交点表示停车位的边界顶点;根据所述候选端点与交点的距离,将远离所述交点的候选端点确定为目标端点,所述目标端点表示停车位入口的位置点或被遮挡停车位线的位置点;根据所述交点和目标端点,得到所述停车位的关键点。
[0135] 上述的停车位检测装置,通过对停车位线提取线段,再进行分类的方式,使每条停车位线表示为一类线段集合,并进行直线拟合的方式还原停车位线,能够屏蔽线段端点集合中因形变出现的噪声点,保证大多数点集中在拟合直线周围,减少了形变带来的定位误差,以此为基础,各类线段子集的最值端点和拟合直线的交点点,确定停车位的关键点,提高了定位点检测的检测效果。关于停车位检测装置的具体限定可以参见上文中对于停车位检测方法的限定,在此不再赘述。上述停车位检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0136] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是边缘计算服务器或是车辆控制器,其内部结构图可以如图19所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种停车位检测方法。
[0137] 本领域技术人员可以理解,图19中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0138] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各实施例的方法的步骤。
[0139] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例的方法的步骤。
[0140] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
[0141] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0142] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。