CN114724117B - 车道线关键点数据生成方法、装置、电子设备及存储介质 - Google Patents
车道线关键点数据生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114724117B CN114724117B CN202210635886.1A CN202210635886A CN114724117B CN 114724117 B CN114724117 B CN 114724117B CN 202210635886 A CN202210635886 A CN 202210635886A CN 114724117 B CN114724117 B CN 114724117B
- Authority
- CN
- China
- Prior art keywords
- edge
- lane line
- line segment
- key point
- line
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000011218 segmentation Effects 0.000 claims description 51
- 239000011159 matrix material Substances 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 24
- 238000003708 edge detection Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Navigation (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种车道线关键点数据生成方法、装置、电子设备及存储介质,该车道线关键点数据生成方法通过提取虚线车道线对应的边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,然后根据平行线段对之间的位置关系对多个平行线段对进行分组,再根据边缘线段集合确定车道线体的关键点坐标,根据关键点坐标生成目标道路场景对应的车道线关键点数据,可以利用车道线的图像边缘中的几何关系来获取车道线关键点数据,无须通过人工的方式获取,从而能够提升车道线关键点数据的获取效率,降低车道线关键点数据的获取成本,可以广泛应用于云技术、智能交通、智能驾驶、地图、导航等技术领域。
Description
技术领域
本申请涉及智能交通技术领域,特别是涉及一种车道线关键点数据生成方法、装置、电子设备及存储介质。
背景技术
随着科学技术的发展,自动驾驶、辅助驾驶、智能导航等智能交通技术的应用变得越来越广泛。在智能交通技术的应用中,车道线关键点数据是一种非常重要的道路环境信息,可以为车辆提供丰富的道路信息,辅助车辆进行定位、导航和决策等。相关技术中,车道线关键点数据一般需要通过人工获取,从而降低了车道线关键点数据的获取效率,增加了车道线关键点数据的获取成本。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供了一种车道线关键点数据生成方法、装置、电子设备及存储介质,能够提升车道线关键点数据的获取效率,降低车道线关键点数据的获取成本。
一方面,本申请实施例提供了一种车道线关键点数据生成方法,包括:
获取目标道路场景对应的车道线分割图像,将所述车道线分割图像转化为所述目标道路场景中的虚线车道线对应的二值化掩码图像,其中,所述虚线车道线包括多个车道线体;
对所述二值化掩码图像进行边缘检测,得到边缘图像;
提取所述边缘图像中的多条边缘线段,根据所述边缘线段之间的平行关系对多条所述边缘线段进行分组,得到多个平行线段对;
根据所述平行线段对之间的位置关系对多个所述平行线段对进行分组,得到各个所述车道线体的边缘线段集合;
根据所述边缘线段集合确定所述车道线体的关键点坐标,根据所述关键点坐标生成所述目标道路场景对应的车道线关键点数据。
另一方面,本申请实施例还提供了一种车道线关键点数据生成装置,包括:
掩码图像获取模块,用于获取目标道路场景对应的车道线分割图像,将所述车道线分割图像转化为所述目标道路场景中的虚线车道线对应的二值化掩码图像,其中,所述虚线车道线包括多个车道线体;
边缘检测模块,用于对所述二值化掩码图像进行边缘检测,得到边缘图像;
平行度匹配模块,用于提取所述边缘图像中的多条边缘线段,根据所述边缘线段之间的平行关系对多条所述边缘线段进行分组,得到多个平行线段对;
位置匹配模块,用于根据所述平行线段对之间的位置关系对多个所述平行线段对进行分组,得到各个所述车道线体的边缘线段集合;
数据生成模块,用于根据所述边缘线段集合确定所述车道线体的关键点坐标,根据所述关键点坐标生成所述目标道路场景对应的车道线关键点数据。
进一步,所述平行关系基于倾斜信息差进行表征,上述平行度匹配模块具体用于:
确定各条所述边缘线段的倾斜信息;
遍历多条所述边缘线段,确定当前遍历的边缘线段的所述倾斜信息与其余边缘线段的所述倾斜信息之间的所述倾斜信息差;
根据所述倾斜信息差对多条所述边缘线段进行分组,得到多个平行线段对。
进一步,所述位置关系基于端点距离进行表征,上述位置匹配模块具体用于:
确定各条所述边缘线段的端点坐标;
遍历多个所述平行线段对,根据所述端点坐标,确定当前线段对中的端点与候选线段对中的端点之间的所述端点距离,其中,所述当前线段对为当前遍历的所述平行线段对,所述候选线段对为除了所述当前线段对以外其余的所述平行线段对;
根据所述端点距离对多个所述平行线段对进行分组,得到各个所述车道线体的边缘线段集合。
进一步,上述位置匹配模块具体用于:
对于所述当前线段对中的各个端点,若在所述候选线段对中均存在对应的目标端点,将所述当前线段对与所述候选线段对划分为对应的所述车道线体的边缘线段集合;
其中,所述目标端点与所述当前线段对中的端点之间的所述端点距离小于或者等于预设的距离阈值。
进一步,所述关键点坐标的数量为多个,上述数据生成模块具体用于:
对多个所述关键点坐标进行大小排序,根据多个所述关键点坐标的排序结果生成对应的关键点标注;
将所述关键点标注作为所述目标道路场景对应的车道线数据。
进一步,所述关键点坐标包括第一坐标值和第二坐标值,上述数据生成模块具体用于:
对多个所述第一坐标值进行大小排序,根据多个所述第一坐标值的排序结果将多个所述关键点坐标进行分组,得到多个坐标集合,其中,各个所述坐标集合中包括多个所述关键点坐标;
根据所述关键点坐标分组后所在的所述坐标集合确定所述关键点坐标对应的第一位置信息;
对各个所述坐标集合中的多个所述第二坐标值进行大小排序,根据多个所述第二坐标值的排序结果确定所述关键点坐标对应的第二位置信息;
根据所述第一位置信息和所述第二位置信息生成所述关键点坐标对应的关键点标注。
进一步,上述数据生成模块具体用于:
当所述边缘线段集合中归属不同平行线段对的边缘线段之间不相交,对所述边缘线段集合中两条不相交的边缘线段中的至少一条边缘线段进行延长处理;
确定经过所述延长处理后所述边缘线段集合中各条所述边缘线段之间的目标交点的交点坐标;
将所述交点坐标作为所述车道线体对应的关键点坐标。
进一步,上述边缘检测模块具体用于:
对所述二值化掩码图像进行高斯滤波处理,得到滤波图像;
计算所述滤波图像的像素梯度强度矩阵,遍历所述像素梯度强度矩阵中的各个图像像素点,将当前遍历的目标像素点的梯度强度与各个邻接像素点的梯度强度进行比较,根据比较结果从所述图像像素点中确定边缘像素点;
根据所述边缘像素点得到边缘图像。
进一步,上述边缘检测模块具体用于:
若所述目标像素点的梯度强度大于各个所述邻接像素点的梯度强度,将所述目标像素点的梯度强度与预设第一强度阈值、第二强度阈值进行比较;其中,所述第一强度阈值大于所述第二强度阈值;
若所述目标像素点的梯度强度大于或者等于所述第一强度阈值,将所述目标像素点确定为边缘像素点;
若所述目标像素点的梯度强度小于所述第一强度阈值,且大于或者等于所述第二强度阈值,确定所述目标像素点对应的邻域像素点,当所述邻域像素点的梯度强度大于或者等于所述第一强度阈值,将所述目标像素点确定为边缘像素点。
进一步,上述平行度匹配模块具体用于:
获取预设的角度列表,所述角度列表中包括多个候选角度;
遍历多个所述候选角度,计算各个所述边缘像素点在各个所述候选角度下对应的候选距离,其中,所述候选距离为预设坐标系的原点与候选直线之间的距离,所述候选直线为所述边缘像素点在所述候选角度下对应的直线;
将所述候选角度和所述候选角度对应的所述候选距离作为候选数据对,统计各个所述候选数据对的出现频次;
根据所述出现频次从多个所述候选数据对中确定目标数据对,根据所述目标数据对确定所述边缘线段对应的函数。
进一步,上述掩码图像获取模块具体用于:
将所述车道线分割图像转化为对应的灰度图像;
根据所述目标道路场景中的虚线车道线在所述灰度图像中的灰度值,从所述灰度图像中提取出所述虚线车道线对应的二值化掩码图像。
另一方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的车道线关键点数据生成方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行实现上述的车道线关键点数据生成方法。
另一方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上述的车道线关键点数据生成方法。
本申请实施例至少包括以下有益效果:通过提取虚线车道线对应的边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对,然后根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合,再根据边缘线段集合确定车道线体的关键点坐标,根据关键点坐标生成目标道路场景对应的车道线关键点数据,因而可以利用车道线的图像边缘中的几何关系来获取车道线关键点数据,无须通过人工的方式获取,从而能够提升车道线关键点数据的获取效率,降低车道线关键点数据的获取成本;另外,车道线关键点数据基于车道线分割图像得到,可以复用原有的已经进行标识的车道线数据,进一步提升车道线关键点数据的获取效率,在生成车道线关键点数据后,也可以使得原有的车道线数据所包含的信息更加丰富。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的一种实施环境的示意图;
图2为本申请实施例提供的另一种实施环境的示意图;
图3为本申请实施例提供的车道线关键点数据生成方法的流程示意图;
图4为本申请实施例提供的车道线分割图像的示意图;
图5为本申请实施例提供的虚线车道线对应的二值化掩码图像的示意图;
图6为本申请实施例提供的车道线分割图像对应的灰度图像的示意图;
图7为本申请实施例提供的虚线车道线的边缘图像的示意图;
图8为本申请实施例提供的对虚线车道线对应的二值化掩码图像进行边缘检测的总体流程示意图;
图9为本申请实施例提供的从边缘图像中提取边缘线段的示意图;
图10为本申请实施例提供的对多条边缘线段进行分组的示意图;
图11为本申请实施例提供的对平行线段对进行分组得到边缘线段集合的示意图;
图12为本申请实施例提供的平行线段对的端点示意图;
图13为本申请实施例提供的根据端点距离对平行线段对进行分组的示意图;
图14为本申请实施例提供的根据中心点距离对平行线段对进行分组的示意图;
图15为本申请实施例提供的关键点标注的示意图;
图16为本申请实施例提供的确定车道线体的关键点坐标的整体流程示意图;
图17为本申请实施例提供的在道路场景图像中标注出车道线语义关键点的示意图;
图18为本申请实施例提供的车道线关键点数据生成装置的结构示意图;
图19为本申请实施例提供的终端的部分结构框图;
图20为本申请实施例提供的服务器的部分结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
智能交通系统(Intelligent Traffic System,ITS)又称智能运输系统(Intelligent Transportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
智能车路协同系统(Intelligent Vehicle Infrastructure CooperativeSystems,IVICS),简称车路协同系统,是智能交通系统(ITS)的一个发展方向。车路协同系统是采用先进的无线通信和新一代互联网等技术,全方位实施车车、车路动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成的安全、高效和环保的道路交通系统。
相关技术中,车道线关键点数据一般需要通过人工获取,从而降低了车道线关键点数据的获取效率,增加了车道线关键点数据的获取成本。
基于此,本申请实施例提供了一种车道线关键点数据生成方法、装置、电子设备及存储介质,能够提升车道线关键点数据的获取效率,降低车道线关键点数据的获取成本。
参照图1,图1为本申请实施例提供的一种实施环境的示意图,其中,该实施环境包括第一终端101或者第一服务器102。第一终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,示例性地,第一终端101或者第一服务器102可以获取预设的目标道路场景对应的车道线分割图像,将车道线分割图像转化为目标道路场景中的虚线车道线对应的二值化掩码图像,对二值化掩码图像进行边缘检测,得到边缘图像;提取边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对;根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合;根据边缘线段集合确定车道线体的关键点坐标,根据关键点坐标生成目标道路场景对应的车道线关键点数据。其中,在此例子中,得到的车道线关键数据可以作为车道线的样本数据集,可以用于对相关的模型进行训练,或者用于进行地图数据的构建。
参照图2,图2为本申请实施例提供的另一种实施环境的示意图,其中,该实施环境包括第二终端201和第二服务器202,其中,第二终端201和第二服务器202之间通过通信网络连接。
第二终端201可以是车载终端,示例性地,第二终端201可以通过摄像头采集目标道路场景图像,将目标道路场景图像发送至第二服务器202,第二服务器202利用预先训练好的深度学习模型处理目标道路场景图像,得到目标道路场景对应的车道线分割图像,将车道线分割图像转化为目标道路场景中的虚线车道线对应的二值化掩码图像,对二值化掩码图像进行边缘检测,得到边缘图像;提取边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对;根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合;根据边缘线段集合确定车道线体的关键点坐标,根据关键点坐标生成目标道路场景对应的车道线关键点数据,并将车道线关键点数据发送至第二终端201。其中,在此例子中,得到的车道线关键数据供第二终端201控制对应的车辆进行自动驾驶、辅助驾驶或者导航等等。
除此以外,第二终端201也可以不与第二服务器202进行数据交互,即第二终端201通过摄像头采集目标道路场景图像后,进一步执行上述第二服务器202的处理步骤,得到车道线关键点数据,再根据车道线关键点数据控制对应的车辆进行自动驾驶、辅助驾驶或者导航等等。
第一服务器102和第二服务器202可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。另外,第一服务器102和第二服务器202还可以是区块链网络中的一个节点服务器。
本申请实施例提供的方法可应用于各种技术领域,包括但不限于云技术、智能交通、智能驾驶、地图、导航等技术领域。
参照图3,图3为本申请实施例提供的车道线关键点数据生成方法的流程示意图,该车道线关键点数据生成方法可以由终端执行,或者可以由服务器执行,或者也可以由终端和服务器配合执行,该车道线关键点数据生成方法包括但不限于以下步骤301至步骤305。
步骤301:获取目标道路场景对应的车道线分割图像,将车道线分割图像转化为目标道路场景中的虚线车道线对应的二值化掩码图像。
在一种可能的实现方式中,可以通过对目标道路场景对应的目标道路场景图像进行掩码分割,得到车道线分割图像。示例性地,可以将目标道路场景图像输入至预先训练好的深度学习模型,得到车道线分割图像。车道线分割图像即将目标道路场景图像中的车道线进行标识后得到的图像。
例如,参照图4,图4为本申请实施例提供的车道线分割图像的示意图,其中,车道线分割图像中可以通过不同颜色的掩码标识出不同类型的内容,例如可以标识出目标道路场景中的虚线车道线、实线车道线、货车、小汽车等等。目标道路场景可以为终端对应的车辆当前所在的道路场景,相应地,目标道路场景图像可以是终端对应的车辆的摄像头采集的周围的环境所得到的图像。另外,目标道路场景也可以是样本数据集中的道路场景,相应地,目标道路场景图像也可以是其他图像采集设备(例如无人机等)采集的道路环境图像。
其中,虚线车道线包括多个车道线体,车道线体即虚线车道线的各个矩形区域。
例如,参照图5,图5为本申请实施例提供的虚线车道线对应的二值化掩码图像的示意图,虚线车道线对应的二值化掩码图像即虚线车道线对应的黑白图像,在一种可能的实现方式中,在将车道线分割图像转化为目标道路场景中的虚线车道线对应的二值化掩码图像时,可以将车道线分割图像转化为对应的灰度图像,根据目标道路场景中的虚线车道线在灰度图像中的灰度值,从灰度图像中提取出虚线车道线对应的二值化掩码图像。
例如,参照图6,图6为本申请实施例提供的车道线分割图像对应的灰度图像的示意图,由于车道线分割图像中可以通过不同颜色的掩码标识出不同类型的内容,因此在车道线分割图像对应的灰度图像中,虚线车道线的灰度值与灰度图像中的其他内容的灰度值不相同,从而可以根据目标道路场景中的虚线车道线在灰度图像中的灰度值,从灰度图像中提取出虚线车道线对应的二值化掩码图像。其中,可以获取预设的灰度值对应关系表,该灰度值对应关系表中存储了车道线分割图像对应的灰度图像中不同内容所对应的灰度值,从该灰度值对应关系表中查询出虚线车道线在灰度图像中的灰度值,从而能够快速地确定虚线车道线在灰度图像中的灰度值,进而将车道线分割图像转化为目标道路场景中的虚线车道线对应的二值化掩码图像。
在一种可能的实现方式中,将车道线分割图像转化为对应的灰度图像,可以是先提取车道线分割图像的RGB通道的采样值,根据车道线分割图像的RGB通道的采样值进行加权平均,即可得到车道线分割图像的灰度矩阵,进而得到车道线分割图像对应的灰度图像。
步骤302:对虚线车道线对应的二值化掩码图像进行边缘检测,得到边缘图像。
例如,参照图7,图7为本申请实施例提供的虚线车道线的边缘图像的示意图,其中,边缘图像只包括虚线车道线的边缘。在一种可能的实现方式中,可以对二值化掩码图像进行高斯滤波处理,得到滤波图像,计算滤波图像的像素梯度强度矩阵,遍历像素梯度强度矩阵中的各个图像像素点,将当前遍历的目标像素点的梯度强度与各个邻接像素点的梯度强度进行比较,根据比较结果从图像像素点中确定边缘像素点,根据边缘像素点得到边缘图像。
具体地,参照图8,图8为本申请实施例提供的对虚线车道线对应的二值化掩码图像进行边缘检测的总体流程示意图,先对灰度图像进行高斯滤波处理,得到滤波图像,从而可以达到去噪的效果,有利于提高后续边缘检测的准确性。其中,可以采用预设尺寸的二维高斯核与灰度图像进行卷积运算,高斯核是对连续高斯函数的离散近似,可以通过对高斯曲面进行离散采样和归一化得到。高斯滤波处理使用的高斯核可以是具有x和y两个维度的高斯函数,且两个维度上标准差一般取相同。
接着,得到滤波图像以后,进一步计算滤波图像的像素梯度强度矩阵,在一种可能的实现方式中,可以使用目标算子来计算滤波图像的像素梯度强度矩阵,目标算子可以是两个3*3的矩阵,分别为矩阵Sx和矩阵Sy。矩阵Sx用于计算滤波图像x方向像素梯度矩阵Gx,矩阵Sy用于计算滤波图像y方向像素梯度矩阵Gy,具体可以表示为:
根据像素梯度矩阵Gx和像素梯度矩阵Gy即可得到滤波图像的像素梯度强度矩阵,具体地,可以根据像素梯度矩阵Gx计算x方向的梯度幅值,根据像素梯度矩阵Gy计算y方向的梯度幅值,即可得到滤波图像的像素梯度强度矩阵。
接着,可以将像素梯度强度矩阵中当前遍历的目标像素点的梯度强度与各个邻接像素点的梯度强度进行比较,若目标像素点的梯度强度为最大值,则保留该目标像素点作为边缘像素点,若目标像素点的梯度强度不是最大值,则对该目标像素点进行抑制处理,抑制处理即将该目标像素点的像素值置零。其中,目标像素点的邻接像素点,即该目标像素点沿x的正负方向和y的正负方向上相邻的像素点,简而言之即目标像素点上下左右相邻的像素点,目标像素点的邻接像素点的数量为四个。将当前遍历的目标像素点的梯度强度与各个邻接像素点的梯度强度进行比较,根据比较结果从图像像素点中确定边缘像素点,可以消除边缘检测所带来的杂散响应,起到对边缘的“瘦身”作用。
遍历像素梯度强度矩阵中的各个图像像素点进行梯度强度的比较后,即可得到多个边缘像素点,根据这些边缘像素点即可得到二值化掩码图像对应的第一边缘图像。
在此基础上,在一种可能的实现方式中,根据梯度强度的比较结果从图像像素点中确定边缘像素点时,还可以进一步引入强度阈值进行处理,具体地,若目标像素点的梯度强度大于各个邻接像素点的梯度强度,还可以进一步将目标像素点的梯度强度与预设第一强度阈值、第二强度阈值进行比较,若目标像素点的梯度强度大于或者等于第一强度阈值,可以认为该目标像素点为强边缘像素点,此时可以将目标像素点确定为最终的边缘像素点,其中,第一强度阈值大于第二强度阈值,第一强度阈值和第二强度阈值的取值可以根据实际需求而定,本申请实施例不做限定,另外,第一强度阈值和第二强度阈值之间的比例可以在2:1到3:1之间,有利于提高第一强度阈值和第二强度阈值的合理性。
若目标像素点的梯度强度小于第一强度阈值,且大于或者等于第二强度阈值,可以认为该目标像素点为弱边缘像素点,此时可以进一步对孤立的弱边缘像素点进行抑制处理,具体可以确定目标像素点对应的邻域像素点,当邻域像素点的梯度强度大于或者等于第一强度阈值,将目标像素点确定为边缘像素点。其中,对于以目标像素点为中心的九宫格而言,目标像素点对应的邻域像素点即九宫格里除了目标像素点以外的其余八个像素点,可见,目标像素点对应的邻域像素点包含了目标像素点对应的邻接像素点。一般来说,若目标像素点为由真实边缘引起的弱边缘像素点,则该目标像素点会连接到强边缘像素点,若目标像素点为噪声响应点,则该目标像素点不会连接到强边缘像素点。因此,通过判断目标像素点的邻域像素点的梯度强度是否大于或者等于第一强度阈值,可以确定该目标像素点是否连接到强边缘像素点,只要该目标像素点连接到一个强边缘像素点,即可将该目标像素点保留为最终的边缘像素点。
若目标像素点的梯度强度小于第二强度阈值,则可以对该目标像素点进行抑制处理。
通过进一步将目标像素点的梯度强度与预设第一强度阈值、第二强度阈值进行比较,可以提高确定边缘像素点的准确性和合理性,并且,在将目标像素点的梯度强度与预设第一强度阈值、第二强度阈值进行比较时,通过引入目标像素点的邻域像素点来进行更加精细化的比较,有利于提高将目标像素点的梯度强度与预设第一强度阈值、第二强度阈值进行比较的层次性,进而从整体上提高确定边缘像素点的精细化程度。
步骤303:提取边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对。
例如,参照图9,图9为本申请实施例提供的从边缘图像中提取边缘线段的示意图,由于车道线体的形状为矩形,因而各个车道线体可以对应有四条边缘线段。提取边缘图像中的多条边缘线段,可以是提取边缘图像中所有的边缘线段,图9所示的例子中,边缘图像中存在三个车道线体,则边缘线段的数量对应为十二条。
其中,根据边缘线段之间的平行关系对多条边缘线段进行分组,即将相互平行的边缘线段划分为一个平行线段对,平行线段对中可以包括两条相互平行的边缘线段。
例如,参照图10,图10为本申请实施例提供的对多条边缘线段进行分组的示意图,假设车道线体A中包括边缘线段A1、边缘线段A2、边缘线段A3和边缘线段A4,车道线体B中包括边缘线段B1、边缘线段B2、边缘线段B3和边缘线段B4,车道线体C中包括边缘线段C1、边缘线段C2、边缘线段C3和边缘线段C4,则边缘线段A1与边缘线段A3为一个平行线段对,边缘线段A1与边缘线段B1为一个平行线段对,边缘线段A1与边缘线段B3为一个平行线段对,边缘线段A1与边缘线段C1为一个平行线段对,边缘线段A1与边缘线段C3为一个平行线段对;边缘线段A2与边缘线段A4为一个平行线段对,边缘线段A2与边缘线段B2为一个平行线段对,边缘线段A2与边缘线段B4为一个平行线段对,边缘线段A2与边缘线段C2为一个平行线段对,边缘线段A2与边缘线段C4为一个平行线段对。可以理解的是,边缘线段A3对应的平行线段对与边缘线段A4对应的平行线段对的分组原理相类似,在此不再赘述。
在一种可能的实现方式中,以边缘图像的顶点作为坐标原点建立坐标系,则边缘线段可以采用一次函数的形式来表示,例如,承接图10所示的例子,边缘线段A1可以表示为ya1=ka1x+ba1,边缘线段A2可以表示为ya2=ka2x+ba2,边缘线段A3可以表示为ya3=ka3x+ba3,边缘线段A4可以表示为ya4=ka4x+ba4,相应地,平行线段对可以采用数据集合的形式来表示,例如,边缘线段A1与边缘线段A3对应的平行线段对可以表示为[ya1=ka1x+ba1,ya3=ka3x+ba3],边缘线段A2与边缘线段A4对应的平行线段对可以表示为[ya2=ka2x+ba2,ya4=ka4x+ba4]。
步骤304:根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合。
例如,参照图11,图11为本申请实施例提供的对平行线段对进行分组得到边缘线段集合的示意图,其中,根据平行线段对之间的位置关系对多个平行线段对进行分组,即将位于同一个车道线体的平行线段对划分为一个边缘线段集合,边缘线段集合中可以包括两个平行线段对,同一个边缘线段集合中的不同平行线段对可以在边缘图像中通过不同的方式突出显示。
承接图10所示的例子,边缘线段A1与边缘线段A3组成的平行线段对、边缘线段A2与边缘线段A4组成的平行线段对为车道线体A对应的边缘线段集合,边缘线段B1与边缘线段B3组成的平行线段对、边缘线段B2与边缘线段B4组成的平行线段对为车道线体B对应的边缘线段集合,边缘线段C1与边缘线段C3组成的平行线段对、边缘线段C2与边缘线段C4组成的平行线段对为车道线体C对应的边缘线段集合。
可以理解的是,由于在对多条边缘线段进行分组时,不在同一个车道线体中的边缘线段也被划分为一个平行线段对,例如图10所示的例子中的边缘线段A1与边缘线段B1、边缘线段A1与边缘线段B3等等,在根据平行线段对之间的位置关系对多个平行线段对进行分组后,可以丢弃这些不在同一个车道线体中的边缘线段。
在一种可能的实现方式中,边缘线段集合可以采用数据集合的形式来表示,例如,车道线体A对应的边缘线段对可以表示为[ya1=ka1x+ba1,ya2=ka2x+ba2,ya3=ka3x+ba3,ya4=ka4x+ba4]。
步骤305:根据边缘线段集合确定车道线体的关键点坐标,根据关键点坐标生成目标道路场景对应的车道线关键点数据。
其中,关键点坐标即车道线体的关键点在边缘图像中的坐标,在一种可能的实现方式中,车道线体的关键点可以是车道线体的顶点,由于车道线体的形状为矩形,因而各个车道线体可以对应有四个关键点。除此以外,车道线体的关键点也可以是边缘线段的中点。
在一种可能的实现方式中,根据关键点坐标生成目标道路场景对应的车道线关键点数据,可以是直接将关键点坐标作为目标道路场景对应的车道线关键点数据。又或者,也可以根据关键点坐标生成关键点对应的关键点标注,关键点标注可以用于指示关键点的具体位置,例如关键点标注可以是“左上角点”、“左下角点”、“右上角点”或者“右下角点”。
通过提取虚线车道线对应的边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对,然后根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合,再根据边缘线段集合确定车道线体的关键点坐标,根据关键点坐标生成目标道路场景对应的车道线关键点数据,因而可以利用车道线的图像边缘中的几何关系来获取车道线关键点数据,无须通过人工的方式获取,从而能够提升车道线关键点数据的获取效率,降低车道线关键点数据的获取成本;另外,车道线关键点数据基于车道线分割图像得到,可以复用原有的已经进行标识的车道线数据,进一步提升车道线关键点数据的获取效率,在生成车道线关键点数据后,也可以使得原有的车道线数据所包含的信息更加丰富。
在一种可能的实现方式中,上述步骤303中,提取边缘图像中的多条边缘线段,具体可以是获取预设的角度列表,角度列表中包括多个候选角度,遍历多个候选角度,计算各个边缘像素点在各个候选角度下对应的候选距离,将候选角度和候选角度对应的候选距离作为候选数据对,统计各个候选数据对的出现频次,根据出现频次从多个候选数据对中确定目标数据对,根据目标数据对确定边缘线段对应的函数。
其中,候选距离为预设坐标系的原点与候选直线之间的距离,候选直线为边缘像素点在候选角度下对应的直线。角度列表的具体形式可以是一个矩阵,角度列表中的候选角度可以是0度、1度、2度...179度,相应地角度列表可以表示为[0,1,2...179]。在计算各个边缘像素点在各个候选角度下对应的候选距离时,可以以边缘图像的左下角作为原点建立该预设坐标系,该预设坐标系为极坐标系,基于此,上述候选距离可以表示为:
具体地,以其中一条边缘线段为例,可以先计算候选角度为1度时,边缘线段中第
一个边缘像素点对应的候选距离,此时,候选数据对可以表示为;接着计算候选角度
为2度时,边缘线段中第一个边缘像素点对应的候选距离,此时,候选数据对可以表示为;接着计算候选角度为3度时,边缘线段中第一个边缘像素点对应的候选距离,此
时,候选数据对可以表示为,以此类推,直到计算出边缘线段中第一个边缘像素点
在不同的候选角度下对应的候选距离。接着,按照类似的方式计算边缘线段中第二个边缘
像素点、第三个边缘像素点......直至计算出边缘线段中所有边缘像素点在不同的候选角
度下对应的候选距离,也即得到各个边缘像素点对应的候选数据对,当某个候选数据对的
出现频次大于或者等于预设的频次阈值,则表明该候选数据对在预设坐标系下对应的候选
直线的置信度较高,可以将该候选数据对作为目标数据对。最后,根据多个目标数据对即可
确定边缘线段对应的函数,具体地,一个目标数据对在预设坐标系中可以确定为一条候选
直线,然后,可以将预设坐标系进行坐标系转换,例如转换为笛卡尔坐标系,则一个目标数
据对在转换后的笛卡尔坐标系中可以确定一个像素点,进而确定边缘线段再笛卡尔坐标系
中对应的函数,例如上述的边缘线段A1对应的函数为ya1=ka1x+ba1。
可以理解的是,上述频次阈值可以根据实际需求而定,例如根据边缘线段的具体长度或者边缘像素点数量而定,本申请实施例不做限定。
通过建立预设坐标系并统计目标数据对的出现频次的方式来从边缘图像中提取出边缘线段,由于针对各个边缘像素点的处理是相互独立的,因此可以更好地应对边缘线段被遮挡的场景,提升抗干扰能力,类似地,也可以对噪声有一定的鲁棒性,从而能够提升边缘线段提取的准确性。
在一种可能的实现方式中,两条边缘线段之间的平行关系可以基于该两条边缘线段之间的倾斜信息差进行表征,倾斜信息差即两条边缘线段之间的倾斜信息之间的差值,边缘线段的倾斜信息用于指示边缘线段倾斜程度,倾斜信息可以是边缘线段的斜率,或者,倾斜信息也可以是边缘线段的倾斜角。基于此,上述步骤304中,在根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对时,具体可以确定各条边缘线段的倾斜信息,遍历多条边缘线段,确定当前遍历的边缘线段的倾斜信息与其余边缘线段的倾斜信息之间的倾斜信息差,根据倾斜信息差对多条边缘线段进行分组,得到多个平行线段对。
具体地,根据倾斜信息差对多条边缘线段进行分组,得到多个平行线段对,可以是当倾斜信息差小于或者等于预设的倾斜信息差阈值时,将对应的两条边缘线段确定为一个平行线段对。
当倾斜信息是边缘线段的斜率,相应地倾斜信息差是边缘线段的斜率差值,倾斜信息差阈值为斜率差值阈值,承接图10所示的例子,边缘线段A1的斜率为ka1,边缘线段A2的斜率为ka2,边缘线段A3的斜率为ka3,以此类推。假设当前遍历的边缘线段为边缘线段A1,则分别计算边缘线段A1与车道线体A中其余各条边缘线段之间的斜率差值、边缘线段A1与车道线体B中各条边缘线段之间的斜率差值、边缘线段A1与车道线体C中各条边缘线段之间的斜率差值,若斜率差值的绝对值小于或者等于预设的斜率阈值,则确定边缘线段A1与对应的边缘线段可以作为一个平行线段对。例如,边缘线段A1与边缘线段A3之间的斜率差值为ka1-ka3,ka1-ka3小于斜率差值阈值,边缘线段A1与边缘线段A3为一个平行线段对。当比较完毕边缘线段A1与其余边缘线段之间的斜率差值以后,接着以边缘线段A2为主体进行比较,当然,由于边缘线段A1与边缘线段A2之间的斜率差值已经比较过,因而以边缘线段A2为主体进行比较时,可以无需再比较边缘线段A2与边缘线段A1之间的斜率差值,从而减少重复的数据处理,提升边缘线段的分组效率。后续以其余边缘线段为主体进行比较的原理相类似,在此不再赘述。
可以理解的是,斜率差值阈值可以根据实际需求而定,例如可以设置为0.01、0.02等,本申请实施例不做限定。
当倾斜信息是边缘线段的倾斜角,相应地倾斜信息差是边缘线段的倾斜角差值,倾斜信息差阈值为倾斜角度阈值,由于边缘线段的斜率为边缘线段的倾斜角的正切值,因而可以根据边缘线段的斜率计算出对应的倾斜角,进而比较不同的边缘线段之间的倾斜角差值,根据倾斜角差值对多条边缘线段进行分组,得到多个平行线段对。根据倾斜角差值对多条边缘线段进行分组的原理与前述的根据斜率差值对多条边缘线段进行分组的原理相类似,在此不再赘述。
在一种可能的实现方式中,两条边缘线段之间的平行关系也可以基于该两条边缘线段之间的参考线段的长度关系来进行表征,具体地,两条边缘线段之间的参考线段即两个端点分别位于该两条边缘线段上的线段,当两条边缘线段之间任意两条参考线段的长度之间的差值小于或者等于预设的长度阈值时,则可以将对应的两条边缘线段确定为一个平行线段对。可以理解的是,长度阈值可以根据实际需求而定,例如可以设置为0.2厘米、0.5厘米等,本申请实施例不做限定。
需要补充说明的是,相较于利用参考线段的长度关系来对多条边缘线段进行分组,当利用倾斜信息来对多条边缘线段进行分组时,所涉及的数据处理量较少,因而能够提升对多条边缘线段进行分组的效率。
在一种可能的实现方式中,平行线段对之间的位置关系可以基于端点距离进行表征,上述步骤304中,根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合,具体可以确定各条边缘线段的端点坐标,遍历多个平行线段对,根据端点坐标,确定当前线段对中的端点与候选线段对中的端点之间的端点距离,根据端点距离对多个平行线段对进行分组,得到各个车道线体的边缘线段集合。
其中,当前线段对为当前遍历的平行线段对,候选线段对为除了当前线段对以外其余的平行线段对。边缘线段的端点坐标,即边缘线段的端点在边缘图像中的坐标,可以理解的是,一条边缘线段对应有两个端点坐标。端点距离可以通过两个端点坐标计算得到。
在一种可能的实现方式中,在根据端点距离对多个平行线段对进行分组,得到各个车道线体的边缘线段集合时,具体可以是判断当前线段对中的各个端点,若在候选线段对中均存在对应的目标端点,将当前线段对与候选线段对划分为对应的车道线体的边缘线段集合。
其中,目标端点与当前线段对中的端点之间的端点距离小于或者等于预设的距离阈值。参照图12,图12为本申请实施例提供的平行线段对的端点示意图,当前线段对的端点为当前线段对中各条边缘线段的端点,即当前线段对的端点数量为四个。
例如,参照图13,图13为本申请实施例提供的根据端点距离对平行线段对进行分组的示意图,以前述的车道线体A作为例子,边缘线段A1的端点为a11和a12,边缘线段A2的端点为a21和a22,边缘线段A3的端点为a31和a32,边缘线段A4的端点为a41和a42。若当前线段对为边缘线段A1与边缘线段A3对应的线段对,则当前线段对中的端点为a11、a12、a31和a32。同理,候选线段对为边缘线段A2与边缘线段A4对应的线段对,候选线段对中的端点为a21、a22、a41和a42。因此,对于端点a11来说,候选线段对中存在与端点a11之间的端点距离小于或者等于距离阈值的目标端点a21;对于端点a12来说,候选线段对中存在与端点a12之间的端点距离小于或者等于距离阈值的目标端点a41;对于端点a31来说,候选线段对中存在与端点a31之间的端点距离小于或者等于距离阈值的目标端点a22;对于端点a32来说,候选线段对中存在与端点a32之间的端点距离小于或者等于距离阈值的目标端点a42,从而可以将边缘线段A1与边缘线段A3对应的线段对和边缘线段A2与边缘线段A4对应的线段对划分为一个边缘线段集合。
可以理解的是,当候选线段对为边缘线段A2与边缘线段B4对应的线段对时,则对于端点a12和端点a32来说,该候选线段对中不存在与端点a12或者端点a32之间的端点距离小于或者等于距离阈值的目标端点,因此边缘线段A1与边缘线段A3对应的线段对和边缘线段A2与边缘线段B4对应的线段对并不能划分为一个边缘线段集合。以此类推,即可以完成对多个平行线段对的分组,在分组完成后剩余的未能匹配成功的平行线段对可以进行丢弃。
可以理解的是,距离阈值可以根据实际需求而定,例如可以为0.5厘米、1厘米等,本申请实施例不做限定。
由于不同的平行线段对之间的端点难以进行对应,因而通过判断当前线段对中的各个端点是否在候选线段对中均存在对应的目标端点,进而确定边缘线段集合,可以无须确定候选线段对与当前线段对的端点对应关系,有利于降低确定边缘线段集合时的数据处理复杂度,提升边缘线段集合的确定效率。
除此以外,在一种可能的实现方式中,平行线段对之间的位置关系可以基于中心点距离进行表征,上述步骤304中,根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合,具体可以确定各条边缘线段的端点坐标,遍历多个平行线段对,根据端点坐标,确定当前线段对与候选线段对之间的中心点距离,根据中心点距离对多个平行线段对进行分组,得到各个车道线体的边缘线段集合。
其中,中心点即平行线段对中两条边缘线段的中点的连线的中点,中心点距离即两个平行线段对的中心点之间的距离。
例如,参照图14,图14为本申请实施例提供的根据中心点距离对平行线段对进行分组的示意图,与图13所示的例子相类似,在图13所示的例子中,是比较当前线段对与候选线段对之间的中心点距离,若当前线段对为边缘线段A1与边缘线段A3对应的线段对,则当前线段对的中心点为aa1,候选线段对为边缘线段A2与边缘线段A4对应的线段对,则候选线段对的中心点为aa2,因此当前线段对与候选线段对之间的中心点距离小于或者等于距离阈值,从而可以将边缘线段A1与边缘线段A3对应的线段对和边缘线段A2与边缘线段A4对应的线段对划分为一个边缘线段集合。而当候选线段对为边缘线段A2与边缘线段B4对应的线段对时,则当前线段对与候选线段对之间的中心点距离大于距离阈值,因此边缘线段A1与边缘线段A3对应的线段对和边缘线段A2与边缘线段B4对应的线段对并不能划分为一个边缘线段集合。
需要补充说明的是,在根据边缘线段之间的平行关系对多条边缘线段进行分组时,在确定两条边缘线段平行的前提下,也可以进一步确定两条边缘线段之间的线段距离,将线段距离与预设的阈值进行比较,若线段距离小于或者等于该预设的阈值,再将这两条边缘线段划分为一个平行线段对,上述引入线段距离的判断处理,目的在于使得划分出来的平行线段对位于同一个车道线体中,然而,由于不同的车道线体的规格不相同,并且由于车道线体的形状一般不是正方形,因而同一个车道线体中不同的平行线段对的边缘线段之间的距离也不相同,因此,上述引入线段距离的判断处理来对多条边缘线段进行分组难以保持较高的合理性。而在本申请实施例中,先针对所有车道线体中的边缘线段进行分组,后续再通过端点距离或者中心点距离对平行线段对进行筛选组合,将前期误分组(不在同一个车道线体中)的平行线段对丢弃,有利于提升得到各个车道线体的边缘线段集合时的数据处理全面性,提升边缘线段集合的准确性。
在一种可能的实现方式中,上述步骤305中,根据关键点坐标生成目标道路场景对应的车道线关键点数据,可以是对多个关键点坐标进行大小排序,根据多个关键点坐标的排序结果生成对应的关键点标注,将关键点标注作为目标道路场景对应的车道线数据。
其中,对多个关键点坐标进行大小排序,可以根据排序结果确定关键点坐标所对应的关键点的实际位置,进而可以生成对应的关键点标注。
在一种可能的实现方式中,关键点坐标包括第一坐标值和第二坐标值,在对多个关键点坐标进行大小排序,根据多个关键点坐标的排序结果生成对应的关键点标注时,具体可以对多个第一坐标值进行大小排序,根据多个第一坐标值的排序结果将多个关键点坐标进行分组,得到多个坐标集合,根据关键点坐标分组后所在的坐标集合确定关键点坐标对应的第一位置信息;对各个坐标集合中的多个第二坐标值进行大小排序,根据多个第二坐标值的排序结果确定关键点坐标对应的第二位置信息;根据第一位置信息和第二位置信息生成关键点坐标对应的关键点标注。其中,各个坐标集合中包括多个关键点坐标。
例如,参照图15,图15为本申请实施例提供的关键点标注的示意图,假设车道线体的关键点为车道线体的顶点,则车道线体的关键点包括关键点K1、关键点K2、关键点K3和关键点K4,关键点K1的关键点坐标为(x1,y1),关键点K2的关键点坐标为(x2,y2),关键点K3的关键点坐标为(x3,y3),关键点K4的关键点坐标为(x4,y4)。
其中,第一坐标值可以是y坐标值,相应地第二坐标值可以是x坐标值,第一位置信息用于确定关键点坐标的上下方位,第二位置信息用于确定关键点坐标的左右方位,因此,对第一坐标值的排序结果由大到小依次为y3、y4、y2、y1,此时,根据第一坐标值的排序结果将多个关键点坐标进行分组,可以是根据第一坐标值的排序结果将多个关键点坐标进行对半分组,将排在前两位的第一坐标值对应的关键点坐标作为一个坐标集合,将排在后两位的第一坐标值对应的关键点坐标作为一个坐标集合,即得到的坐标集合的数量为两个,分别为[(x3,y3),(x4,y4)]和[(x1,y1),(x2,y2)],由于坐标集合[(x3,y3),(x4,y4)]中第一坐标值较大,因此坐标集合[(x3,y3),(x4,y4)]中的关键点坐标对应的第一位置信息为“上”,相应地坐标集合[(x1,y1),(x2,y2)]中的关键点坐标对应的第一位置信息为“下”。
然后,针对坐标集合[(x3,y3),(x4,y4)],对第二坐标值的排序结果由大到小依次为x4、x3,由于关键点坐标(x4,y4)的第二坐标值较大,因此关键点坐标(x4,y4)对应的第二位置信息为“右”,相应地关键点坐标(x3,y3)对应的第二位置信息为“左”。类似地,针对坐标集合[(x1,y1),(x2,y2)],对第二坐标值的排序结果由大到小依次为x2、x1,由于关键点坐标(x2,y2)的第二坐标值较大,因此关键点坐标(x2,y2)对应的第二位置信息为“右”,相应地关键点坐标(x1,y1)对应的第二位置信息为“左”。
综上,得到各个关键点坐标对应的第一位置信息和第二位置信息以后,即可确定各个关键点坐标对应的关键点标注,例如,关键点坐标(x1,y1)对应的关键点标注为“左下角点”,关键点坐标(x2,y2)对应的关键点标注为“右下角点”,关键点坐标(x3,y3)对应的关键点标注为“左上角点”,关键点坐标(x4,y4)对应的关键点标注为“右上角点”。
除此以外,第一坐标值也可以是x坐标值,相应地第二坐标值可以是y坐标值,第一位置信息用于确定关键点坐标的左右方位,第二位置信息用于确定关键点坐标的上下方位,因此,对第一坐标值的排序结果由大到小依次为x2、x4、x1、x3,此时,根据第一坐标值的排序结果将多个关键点坐标进行分组,可以是根据第一坐标值的排序结果将多个关键点坐标进行对半分组,将排在前两位的第一坐标值对应的关键点坐标作为一个坐标集合,将排在后两位的第一坐标值对应的关键点坐标作为一个坐标集合,即得到的坐标集合的数量为两个,分别为[(x2,y2),(x4,y4)]和[(x1,y1),(x3,y3)],由于坐标集合[(x2,y2),(x4,y4)]中第一坐标值较大,因此坐标集合[(x2,y2),(x4,y4)]中的关键点坐标对应的第一位置信息为“右”,相应地坐标集合[(x1,y1),(x3,y3)]中的关键点坐标对应的第一位置信息为“左”。
然后,针对坐标集合[(x2,y2),(x4,y4)],对第二坐标值的排序结果由大到小依次为y4、y2,由于关键点坐标(x4,y4)的第二坐标值较大,因此关键点坐标(x4,y4)对应的第二位置信息为“上”,相应地关键点坐标(x2,y2)对应的第二位置信息为“下”。类似地,针对坐标集合[(x1,y1),(x3,y3)],对第二坐标值的排序结果由大到小依次为y3、y1,由于关键点坐标(x3,y3)的第二坐标值较大,因此关键点坐标(x3,y3)对应的第二位置信息为“上”,相应地关键点坐标(x1,y1)对应的第二位置信息为“下”。
综上,得到各个关键点坐标对应的第一位置信息和第二位置信息以后,即可确定各个关键点坐标对应的关键点标注,例如,关键点坐标(x1,y1)对应的关键点标注为“左下角点”,关键点坐标(x2,y2)对应的关键点标注为“右下角点”,关键点坐标(x3,y3)对应的关键点标注为“左上角点”,关键点坐标(x4,y4)对应的关键点标注为“右上角点”。
通过对第一坐标值和第二坐标值分别进行大小排序,根据排序结果对关键点坐标进行分组,可以快速、准确地确定各个关键点坐标对应的关键点标注。
可以理解的是,上述关键点标注的例子仅用于原理性说明,关键点坐标对应的上下方位和左右方位是可以根据具体的坐标原点而变化的,本申请实施例不做限定。
另外,由于边缘图像的质量问题,可能会使得从边缘图像中提取到的边缘线段不完整,使得同一个边缘线段集合中归属不同平行线段对的边缘线段之间不相交,此时,上述步骤305中,根据边缘线段集合确定车道线体的关键点坐标时,可以对边缘线段集合中两条不相交的边缘线段中的至少一条边缘线段进行延长处理,确定经过延长处理后边缘线段集合中各条边缘线段之间的目标交点的交点坐标,将交点坐标作为车道线体对应的关键点坐标。
其中,对边缘线段集合中两条不相交的边缘线段进行延长,可以是只延长其中一条边缘线段,或者将两条不相交的边缘线段均进行延长,本申请实施例不做限定。
通过对边缘线段集合中两条不相交的边缘线段进行延长,即使由于边缘图像的质量问题导致边缘线段不完整,也能够确定关键点坐标,从而能够提升确定关键点坐标的稳定性,提升关键点坐标的准确率。
在一种可能的实现方式中,当车道线体的关键点是边缘线段的中点时,当提取出边缘线段后,可以根据边缘线段对应的函数直接计算出边缘线段的中点坐标,即可得到关键点坐标。
下面以一例子完整说明本申请实施例提供的确定车道线体的关键点坐标的整体流程。
参照图16,图16为本申请实施例提供的确定车道线体的关键点坐标的整体流程示意图,该整体流程包括以下步骤1601至步骤1606。
步骤1601:从车道线分割图像中提取出虚线车道线对应的二值化掩码图像;
步骤1602:提取二值化掩码图像中的车道线边缘;
步骤1603:提取车道线边缘中的边缘线段;
步骤1604:匹配平行线段对;
步骤1605:根据平行线段对匹配四边形;
步骤1606:根据四边形提取车道线语义关键点。
其中,在步骤1605中,四边形即车道线体对应的边缘线段集合,在步骤1606中,车道线语义关键点,即进行了语义标注的关键点,例如标注为“左上角点”的关键点、标注为“右上角点”的关键点等等。上述步骤1601至步骤1606可以利用车道线的图像边缘中的几何关系来获取车道线语义关键点,无须通过人工的方式获取,从而能够提升车道线语义关键点的获取效率,降低车道线语义关键点的获取成本;另外,车道线语义关键点基于车道线分割图像得到,可以复用原有的已经进行标识的车道线数据,进一步提升车道线语义关键点的获取效率,在生成车道线语义关键点后,也可以使得原有的车道线数据所包含的信息更加丰富。
在一种可能的实现方式中,在提取了车道线语义关键点后,可以在实际的道路场景图像中进行突出显示,例如,参照图17,图17为本申请实施例提供的在道路场景图像中标注出车道线语义关键点的示意图,在通过上述步骤1601至步骤1606提取车道线语义关键点后,可以在对应的道路场景图像中标注出车道线语义关键点,其中一个作用是当车道线分割图像为样本数据集中的数据时,在对应的道路场景图像中标注出车道线语义关键点,可以便于供维护人员对关键点的标注结果进行抽检。另外,在对应的道路场景图像中标注出车道线语义关键点,对于不同的关键点可以采用不同的颜色进行标注,以提升不同的关键点之间的辨识程度。
下面结合具体的应用场景说明本申请实施例提供的车道线关键点数据生成方法的原理。
本申请实施例提供的车道线关键点数据生成方法可以应用于高精地图建设场景,具体地,可以获取预先标注好的车道线分割图像数据集,对于车道线分割图像数据集每一张车道线分割图像,将车道线分割图像转化为虚线车道线对应的二值化掩码图像,对二值化掩码图像进行边缘检测,得到边缘图像;提取边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对;根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合;根据边缘线段集合确定车道线体的关键点坐标,生成关键点坐标对应的关键点语义标注,然后,将生成的关键点语义标注加入至原有的车道线分割图像数据集中,根据加入关键点语义标注后的车道线分割图像数据集构建高精地图。
一般来说,高精地图传统的建设需要专业的采集车,采集并解析激光点云和图像信息后建图。这种方法成本巨大,而且由于每次采集的周期过长,造成地图信息更新不及时。另一种建图方法则是采用众包技术。众包高精建图具有低成本、高鲜活度的特点。众包建图需要从大量的车端感知设备获取车道线、地面车信、交通牌、交通灯、道路边缘等信息,然后将这些要素信息融合建图。由于一般的车辆没有RTK(Real Time Kinematic,实时差分定位),定位信息不准,直接用其回传的信息建图将存在较大误差。使用VIO(VisualInertial Odometry,视觉惯性里程计)可以消除建图的相对误差。VIO需要对相邻帧图像上的特征关键点进行配偶,而特征关键点的匹配需要消耗大量的计算量,一种改进的方法是使用语义关键点匹配,通过直接对应相同语义的关键点来避免特征相似度的计算,从而实现轻量级的VIO。这里的语义关键点是人为定义的(比如id为1的矩形牌的左上角点),常用的语义关键点有标牌关键点、地面车信关键点(可以基于车路协同系统得到),而标牌和地面车信在驾驶场景中通常不是连续出现的,会造成某些路段没有关键点可用的情况。然而,车道线是连续出现的,而且虚线的车道线具有较为显著的关键点(例如虚线段的四个顶点),因此,感知出虚线车道线的关键点将极大提高可用语义关键点的数量与连续性,有助于提高VIO的精度,从而提升高精众包建图的准确性。
除此以外,本申请实施例提供的车道线关键点数据生成方法也可以应用于实际驾驶场景,具体地,可以通过摄像头采集当前行驶过程中的道路场景图像,利用预先训练好的深度学习模型处理道路场景图像,得到车道线分割图像,将车道线分割图像转化为虚线车道线对应的二值化掩码图像,对二值化掩码图像进行边缘检测,得到边缘图像;提取边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对;根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合;根据边缘线段集合确定车道线体的关键点坐标,将关键点坐标转化为真实世界坐标(例如经纬度等),根据真实世界坐标,结合车辆当前的定位信息,确定车辆与车道线之间的位置关系,进而通过车辆与车道线之间的位置关系对车辆进行辅助驾驶控制,例如车道偏离预警、车道保持等。又或者,也可以根据关键点坐标确定相邻帧图像上的关键点的位置变化信息,根据该位置变化信息估计出车辆的位姿变化,根据车辆的位姿变化测算出车辆的行驶速度,在导航应用中对行驶速度进行显示。
通过利用车道线的图像边缘中的几何关系来获取车道线关键点坐标,可以提升车道线关键点坐标的获取效率,进而提升车辆控制、车辆状态测算的效率。
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据目标对象属性信息或属性信息集合等与目标对象特性相关的数据进行相关处理时,都会先获得目标对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取目标对象属性信息时,会通过弹窗或者跳转到确认页面等方式获得目标对象的单独许可或者单独同意,在明确获得目标对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的目标对象相关数据。
参照图18,图18为本申请实施例提供的车道线关键点数据生成装置的结构示意图,该车道线关键点数据生成装置1800包括:
掩码图像获取模块1801,用于获取目标道路场景对应的车道线分割图像,将车道线分割图像转化为目标道路场景中的虚线车道线对应的二值化掩码图像,其中,虚线车道线包括多个车道线体;
边缘检测模块1802,用于对二值化掩码图像进行边缘检测,得到边缘图像;
平行度匹配模块1803,用于提取边缘图像中的多条边缘线段,根据边缘线段之间的平行关系对多条边缘线段进行分组,得到多个平行线段对;
位置匹配模块1804,用于根据平行线段对之间的位置关系对多个平行线段对进行分组,得到各个车道线体的边缘线段集合;
数据生成模块1805,用于根据边缘线段集合确定车道线体的关键点坐标,根据关键点坐标生成目标道路场景对应的车道线关键点数据。
进一步,平行关系基于倾斜信息差进行表征,上述平行度匹配模块1803具体用于:
确定各条边缘线段的倾斜信息;
遍历多条边缘线段,确定当前遍历的边缘线段的倾斜信息与其余边缘线段的倾斜信息之间的倾斜信息差;
根据倾斜信息差对多条边缘线段进行分组,得到多个平行线段对。
进一步,位置关系基于端点距离进行表征,上述位置匹配模块1804具体用于:
确定各条边缘线段的端点坐标;
遍历多个平行线段对,根据端点坐标,确定当前线段对中的端点与候选线段对中的端点之间的端点距离,其中,当前线段对为当前遍历的平行线段对,候选线段对为除了当前线段对以外其余的平行线段对;
根据端点距离对多个平行线段对进行分组,得到各个车道线体的边缘线段集合。
进一步,上述位置匹配模块1804具体用于:
对于当前线段对中的各个端点,若在候选线段对中均存在对应的目标端点,将当前线段对与候选线段对划分为对应的车道线体的边缘线段集合;
其中,目标端点与当前线段对中的端点之间的端点距离小于或者等于预设的距离阈值。
进一步,关键点坐标的数量为多个,上述数据生成模块1805具体用于:
对多个关键点坐标进行大小排序,根据多个关键点坐标的排序结果生成对应的关键点标注;
将关键点标注作为目标道路场景对应的车道线数据。
进一步,关键点坐标包括第一坐标值和第二坐标值,上述数据生成模块1805具体用于:
对多个第一坐标值进行大小排序,根据多个第一坐标值的排序结果将多个关键点坐标进行分组,得到多个坐标集合,其中,各个坐标集合中包括多个关键点坐标;
根据关键点坐标分组后所在的坐标集合确定关键点坐标对应的第一位置信息;
对各个坐标集合中的多个第二坐标值进行大小排序,根据多个第二坐标值的排序结果确定关键点坐标对应的第二位置信息;
根据第一位置信息和第二位置信息生成关键点坐标对应的关键点标注。
进一步,上述数据生成模块1805具体用于:
当边缘线段集合中归属不同平行线段对的边缘线段之间不相交,对边缘线段集合中两条不相交的边缘线段中的至少一条边缘线段进行延长处理;
确定经过延长处理后边缘线段集合中各条边缘线段之间的目标交点的交点坐标;
将交点坐标作为车道线体对应的关键点坐标。
进一步,上述边缘检测模块1802具体用于:
对二值化掩码图像进行高斯滤波处理,得到滤波图像;
计算滤波图像的像素梯度强度矩阵,遍历像素梯度强度矩阵中的各个图像像素点,将当前遍历的目标像素点的梯度强度与各个邻接像素点的梯度强度进行比较,根据比较结果从图像像素点中确定边缘像素点;
根据边缘像素点得到边缘图像。
进一步,上述边缘检测模块1802具体用于:
若目标像素点的梯度强度大于各个邻接像素点的梯度强度,将目标像素点的梯度强度与预设第一强度阈值、第二强度阈值进行比较;其中,第一强度阈值大于第二强度阈值;
若目标像素点的梯度强度大于或者等于第一强度阈值,将目标像素点确定为边缘像素点;
若目标像素点的梯度强度小于第一强度阈值,且大于或者等于第二强度阈值,确定目标像素点对应的邻域像素点,当邻域像素点的梯度强度大于或者等于第一强度阈值,将目标像素点确定为边缘像素点。
进一步,上述平行度匹配模块1803具体用于:
获取预设的角度列表,角度列表中包括多个候选角度;
遍历多个候选角度,计算各个边缘像素点在各个候选角度下对应的候选距离,其中,候选距离为预设坐标系的原点与候选直线之间的距离,候选直线为边缘像素点在候选角度下对应的直线;
将候选角度和候选角度对应的候选距离作为候选数据对,统计各个候选数据对的出现频次;
根据出现频次从多个候选数据对中确定目标数据对,根据目标数据对确定边缘线段对应的函数。
进一步,上述掩码图像获取模块1801具体用于:
将车道线分割图像转化为对应的灰度图像;
根据目标道路场景中的虚线车道线在灰度图像中的灰度值,从灰度图像中提取出虚线车道线对应的二值化掩码图像。
上述车道线关键点数据生成装置1800与车道线关键点数据生成方法基于相同的发明构思,因此可以利用车道线的图像边缘中的几何关系来获取车道线关键点数据,无须通过人工的方式获取,从而能够提升车道线关键点数据的获取效率,降低车道线关键点数据的获取成本;另外,车道线关键点数据基于车道线分割图像得到,可以复用原有的已经进行标识的车道线数据,进一步提升车道线关键点数据的获取效率,在生成车道线关键点数据后,也可以使得原有的车道线数据所包含的信息更加丰富。
本申请实施例提供的用于执行上述车道线关键点数据生成方法的电子设备可以是终端,参照图19,图19为本申请实施例提供的终端的部分结构框图,该终端包括:射频(Radio Frequency,简称RF)电路1910、存储器1920、输入单元1930、显示单元1940、传感器1950、音频电路1960、无线保真(wireless fidelity,简称WiFi)模块1970、处理器1980、以及电源1990等部件。本领域技术人员可以理解,图19中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路1910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1980处理;另外,将设计上行的数据发送给基站。
存储器1920可用于存储软件程序以及模块,处理器1980通过运行存储在存储器1920的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。
输入单元1930可用于接收输入的数字或字符信息,以及产生与终端的设置以及功能控制有关的键信号输入。具体地,输入单元1930可包括触摸面板1931以及其他输入装置1932。
显示单元1940可用于显示输入的信息或提供的信息以及终端的各种菜单。显示单元1940可包括显示面板1941。
音频电路1960、扬声器1961,传声器1962可提供音频接口。
在本实施例中,该终端所包括的处理器1980可以执行前面实施例的车道线关键点数据生成方法。
本申请实施例提供的用于执行上述车道线关键点数据生成方法的电子设备也可以是服务器,参照图20,图20为本申请实施例提供的服务器的部分结构框图,服务器2000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(CentralProcessing Units,简称CPU)2022(例如,一个或一个以上处理器)和存储器2032,一个或一个以上存储应用程序2042或数据2044的存储介质2030(例如一个或一个以上海量存储装置)。其中,存储器2032和存储介质2030可以是短暂存储或持久存储。存储在存储介质2030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器2000中的一系列指令操作。更进一步地,中央处理器2022可以设置为与存储介质2030通信,在服务器2000上执行存储介质2030中的一系列指令操作。
服务器2000还可以包括一个或一个以上电源2026,一个或一个以上有线或无线网络接口2050,一个或一个以上输入输出接口2058,和/或,一个或一个以上操作系统2041,例如Windows ServerTM,Mac OS XTM,UnixTM ,LinuxTM,FreeBSDTM等等。
服务器2000中的处理器可以用于执行车道线关键点数据生成方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的车道线关键点数据生成方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上述的车道线关键点数据生成方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“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-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本申请实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本申请权利要求所限定的范围内。
Claims (14)
1.一种车道线关键点数据生成方法,其特征在于,包括:
获取目标道路场景对应的车道线分割图像,将所述车道线分割图像转化为所述目标道路场景中的虚线车道线对应的二值化掩码图像,其中,所述虚线车道线包括多个车道线体;
对所述二值化掩码图像进行边缘检测,得到边缘图像;
提取所述边缘图像中的多条边缘线段,根据所述边缘线段之间的平行关系对多条所述边缘线段进行分组,得到多个平行线段对;
根据所述平行线段对之间的位置关系对多个所述平行线段对进行分组,得到各个所述车道线体的边缘线段集合;
根据所述边缘线段集合确定所述车道线体的关键点坐标,根据所述关键点坐标生成所述目标道路场景对应的车道线关键点数据。
2.根据权利要求1所述的车道线关键点数据生成方法,其特征在于,所述平行关系基于倾斜信息差进行表征,所述根据所述边缘线段之间的平行关系对多条所述边缘线段进行分组,得到多个平行线段对,包括:
确定各条所述边缘线段的倾斜信息;
遍历多条所述边缘线段,确定当前遍历的边缘线段的所述倾斜信息与其余边缘线段的所述倾斜信息之间的所述倾斜信息差;
根据所述倾斜信息差对多条所述边缘线段进行分组,得到多个平行线段对。
3.根据权利要求1所述的车道线关键点数据生成方法,其特征在于,所述位置关系基于端点距离进行表征,所述根据所述平行线段对之间的位置关系对多个所述平行线段对进行分组,得到各个所述车道线体的边缘线段集合,包括:
确定各条所述边缘线段的端点坐标;
遍历多个所述平行线段对,根据所述端点坐标,确定当前线段对中的端点与候选线段对中的端点之间的所述端点距离,其中,所述当前线段对为当前遍历的所述平行线段对,所述候选线段对为除了所述当前线段对以外其余的所述平行线段对;
根据所述端点距离对多个所述平行线段对进行分组,得到各个所述车道线体的边缘线段集合。
4.根据权利要求3所述的车道线关键点数据生成方法,其特征在于,所述根据所述端点距离对多个所述平行线段对进行分组,得到各个所述车道线体的边缘线段集合,包括:
对于所述当前线段对中的各个端点,若在所述候选线段对中均存在对应的目标端点,将所述当前线段对与所述候选线段对划分为对应的所述车道线体的边缘线段集合;
其中,所述目标端点与所述当前线段对中的端点之间的所述端点距离小于或者等于预设的距离阈值。
5.根据权利要求1所述的车道线关键点数据生成方法,其特征在于,所述关键点坐标的数量为多个,所述根据所述关键点坐标生成所述目标道路场景对应的车道线关键点数据,包括:
对多个所述关键点坐标进行大小排序,根据多个所述关键点坐标的排序结果生成对应的关键点标注;
将所述关键点标注作为所述目标道路场景对应的车道线数据。
6.根据权利要求5所述的车道线关键点数据生成方法,其特征在于,所述关键点坐标包括第一坐标值和第二坐标值,所述对多个所述关键点坐标进行大小排序,根据多个所述关键点坐标的排序结果生成对应的关键点标注,包括:
对多个所述第一坐标值进行大小排序,根据多个所述第一坐标值的排序结果将多个所述关键点坐标进行分组,得到多个坐标集合,其中,各个所述坐标集合中包括多个所述关键点坐标;
根据所述关键点坐标分组后所在的所述坐标集合确定所述关键点坐标对应的第一位置信息;
对各个所述坐标集合中的多个所述第二坐标值进行大小排序,根据多个所述第二坐标值的排序结果确定所述关键点坐标对应的第二位置信息;
根据所述第一位置信息和所述第二位置信息生成所述关键点坐标对应的关键点标注。
7.根据权利要求1所述的车道线关键点数据生成方法,其特征在于,所述根据所述边缘线段集合确定所述车道线体的关键点坐标,包括:
当所述边缘线段集合中归属不同平行线段对的边缘线段之间不相交,对所述边缘线段集合中两条不相交的边缘线段中的至少一条边缘线段进行延长处理;
确定经过所述延长处理后所述边缘线段集合中各条所述边缘线段之间的目标交点的交点坐标;
将所述交点坐标作为所述车道线体对应的关键点坐标。
8.根据权利要求1至7任意一项所述的车道线关键点数据生成方法,其特征在于,所述对所述二值化掩码图像进行边缘检测,得到边缘图像,包括:
对所述二值化掩码图像进行高斯滤波处理,得到滤波图像;
计算所述滤波图像的像素梯度强度矩阵,遍历所述像素梯度强度矩阵中的各个图像像素点,将当前遍历的目标像素点的梯度强度与各个邻接像素点的梯度强度进行比较,根据比较结果从所述图像像素点中确定边缘像素点;
根据所述边缘像素点得到边缘图像。
9.根据权利要求8所述的车道线关键点数据生成方法,其特征在于,所述根据比较结果从所述图像像素点中确定边缘像素点,包括:
若所述目标像素点的梯度强度大于各个所述邻接像素点的梯度强度,将所述目标像素点的梯度强度与预设第一强度阈值、第二强度阈值进行比较;其中,所述第一强度阈值大于所述第二强度阈值;
若所述目标像素点的梯度强度大于或者等于所述第一强度阈值,将所述目标像素点确定为边缘像素点;
若所述目标像素点的梯度强度小于所述第一强度阈值,且大于或者等于所述第二强度阈值,确定所述目标像素点对应的邻域像素点,当所述邻域像素点的梯度强度大于或者等于所述第一强度阈值,将所述目标像素点确定为边缘像素点。
10.根据权利要求8所述的车道线关键点数据生成方法,其特征在于,所述提取所述边缘图像中的多条边缘线段,包括:
获取预设的角度列表,所述角度列表中包括多个候选角度;
遍历多个所述候选角度,计算各个所述边缘像素点在各个所述候选角度下对应的候选距离,其中,所述候选距离为预设坐标系的原点与候选直线之间的距离,所述候选直线为所述边缘像素点在所述候选角度下对应的直线;
将所述候选角度和所述候选角度对应的所述候选距离作为候选数据对,统计各个所述候选数据对的出现频次;
根据所述出现频次从多个所述候选数据对中确定目标数据对,根据所述目标数据对确定所述边缘线段对应的函数。
11.根据权利要求1至7任意一项所述的车道线关键点数据生成方法,其特征在于,所述将所述车道线分割图像转化为所述目标道路场景中的虚线车道线对应的二值化掩码图像,包括:
将所述车道线分割图像转化为对应的灰度图像;
根据所述目标道路场景中的虚线车道线在所述灰度图像中的灰度值,从所述灰度图像中提取出所述虚线车道线对应的二值化掩码图像。
12.一种车道线关键点数据生成装置,其特征在于,包括:
掩码图像获取模块,用于获取目标道路场景对应的车道线分割图像,将所述车道线分割图像转化为所述目标道路场景中的虚线车道线对应的二值化掩码图像,其中,所述虚线车道线包括多个车道线体;
边缘检测模块,用于对所述二值化掩码图像进行边缘检测,得到边缘图像;
平行度匹配模块,用于提取所述边缘图像中的多条边缘线段,根据所述边缘线段之间的平行关系对多条所述边缘线段进行分组,得到多个平行线段对;
位置匹配模块,用于根据所述平行线段对之间的位置关系对多个所述平行线段对进行分组,得到各个所述车道线体的边缘线段集合;
数据生成模块,用于根据所述边缘线段集合确定所述车道线体的关键点坐标,根据所述关键点坐标生成所述目标道路场景对应的车道线关键点数据。
13.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11任意一项所述的车道线关键点数据生成方法。
14.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任意一项所述的车道线关键点数据生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210635886.1A CN114724117B (zh) | 2022-06-07 | 2022-06-07 | 车道线关键点数据生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210635886.1A CN114724117B (zh) | 2022-06-07 | 2022-06-07 | 车道线关键点数据生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114724117A CN114724117A (zh) | 2022-07-08 |
CN114724117B true CN114724117B (zh) | 2022-09-13 |
Family
ID=82232781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210635886.1A Active CN114724117B (zh) | 2022-06-07 | 2022-06-07 | 车道线关键点数据生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114724117B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115482478B (zh) * | 2022-09-14 | 2023-07-18 | 北京远度互联科技有限公司 | 道路识别方法、装置、无人机、设备及存储介质 |
CN115482477B (zh) * | 2022-09-14 | 2023-05-30 | 北京远度互联科技有限公司 | 道路识别方法、装置、无人机、设备及存储介质 |
CN115546350B (zh) * | 2022-12-02 | 2023-05-23 | 苏州挚途科技有限公司 | 虚拟车道边缘线的生成方法、生成装置与处理器 |
CN118314158A (zh) * | 2023-01-04 | 2024-07-09 | 腾讯科技(深圳)有限公司 | 对象轮廓调整方法、装置、设备、存储介质及程序产品 |
CN117270818B (zh) * | 2023-10-11 | 2024-04-09 | 北京航空航天大学 | Mom标准中软件需求类图信息识别与模型生成方法和系统 |
CN117433512B (zh) * | 2023-12-20 | 2024-03-08 | 福龙马城服机器人科技有限公司 | 一种针对道路清扫车的低成本车道线实时定位与建图方法 |
CN118229568B (zh) * | 2024-03-28 | 2024-08-13 | 广州工程技术职业学院 | 图像边缘去伪降噪方法及装置、设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052880A (zh) * | 2017-11-29 | 2018-05-18 | 南京大学 | 交通监控场景虚实车道线检测方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750567B2 (en) * | 2012-04-09 | 2014-06-10 | GM Global Technology Operations LLC | Road structure detection and tracking |
KR101605514B1 (ko) * | 2014-02-28 | 2016-04-01 | 주식회사 코아로직 | 차선 인식 장치 및 방법 |
EP3098753A1 (en) * | 2015-05-28 | 2016-11-30 | Tata Consultancy Services Limited | Lane detection |
CN106407893B (zh) * | 2016-08-29 | 2019-11-22 | 东软集团股份有限公司 | 一种检测车道线的方法、装置和设备 |
CN109034047B (zh) * | 2018-07-20 | 2021-01-22 | 京东方科技集团股份有限公司 | 一种车道线检测方法及装置 |
JP7341730B2 (ja) * | 2019-05-30 | 2023-09-11 | フォルシアクラリオン・エレクトロニクス株式会社 | 画像処理装置及び画像処理方法 |
-
2022
- 2022-06-07 CN CN202210635886.1A patent/CN114724117B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052880A (zh) * | 2017-11-29 | 2018-05-18 | 南京大学 | 交通监控场景虚实车道线检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114724117A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114724117B (zh) | 车道线关键点数据生成方法、装置、电子设备及存储介质 | |
EP4105600A2 (en) | Method for automatically producing map data, related apparatus and computer program product | |
CN113989450A (zh) | 图像处理方法、装置、电子设备和介质 | |
CN112740225B (zh) | 一种路面要素确定方法及装置 | |
CN111178355A (zh) | 印章识别方法、装置和存储介质 | |
CN114677435A (zh) | 一种点云全景融合要素提取方法和系统 | |
CN114993328B (zh) | 车辆定位评估方法、装置、设备和计算机可读介质 | |
CN114495026A (zh) | 一种激光雷达识别方法、装置、电子设备和存储介质 | |
CN111860509A (zh) | 一种由粗到精的两阶段非约束车牌区域精准提取方法 | |
CN110852327A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN112907746A (zh) | 电子地图的生成方法、装置、电子设备及存储介质 | |
Ding et al. | Efficient vanishing point detection method in complex urban road environments | |
CN115661522A (zh) | 一种基于视觉语义矢量的车辆导引方法、系统、设备和介质 | |
CN115410173B (zh) | 多模态融合的高精地图要素识别方法、装置、设备及介质 | |
CN114898321A (zh) | 道路可行驶区域检测方法、装置、设备、介质及系统 | |
CN117911970A (zh) | 点云道路要素目标提取方法、装置、电子设备及存储介质 | |
CN111860084B (zh) | 图像特征的匹配、定位方法及装置、定位系统 | |
CN114724113B (zh) | 道路标牌识别方法、自动驾驶方法、装置和设备 | |
CN114429631B (zh) | 三维对象检测方法、装置、设备以及存储介质 | |
CN116385994A (zh) | 一种三维道路线提取方法及相关设备 | |
CN116434173A (zh) | 道路图像检测方法、装置、电子设备及存储介质 | |
CN114510996A (zh) | 基于视频的车辆匹配方法、装置、电子设备及存储介质 | |
CN115527028A (zh) | 地图数据处理方法及装置 | |
CN115345944A (zh) | 外参标定参数确定方法、装置、计算机设备和存储介质 | |
CN113901903A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |