CN110287244B - 一种基于多次聚类的交通灯定位方法 - Google Patents
一种基于多次聚类的交通灯定位方法 Download PDFInfo
- Publication number
- CN110287244B CN110287244B CN201910593680.5A CN201910593680A CN110287244B CN 110287244 B CN110287244 B CN 110287244B CN 201910593680 A CN201910593680 A CN 201910593680A CN 110287244 B CN110287244 B CN 110287244B
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- core
- traffic light
- gds
- 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 58
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000003064 k means clustering Methods 0.000 claims abstract description 10
- 230000000903 blocking effect Effects 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims abstract description 6
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 28
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Human Resources & Organizations (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Development Economics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Remote Sensing (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明涉及一种基于多次聚类的交通灯定位方法,包括:步骤1,采集区域内的交通灯数据;步骤2,对该交通灯数据分组得到不同航向对应的数据集;步骤3,分别对各个数据集的数据分块,得到各个数据集中的不同采集车辆和采集时段对应的数据块;步骤4,遍历各个所述数据集,基于DBSCAN聚类算法确定所述数据集中的交通灯个数,以得到的交通灯个数为聚类中心个数,基于K‑Means聚类计算得到聚类中心为交通灯坐标结果。基于DBSCAN聚类算法寻找交通灯个数、基于K‑Means聚类算法寻找聚类中心的多次聚类,较传统的单次聚类得到的交通灯个数的正确率与定位精度得到提高。
Description
技术领域
本发明涉及众包模式下地图生成领域,尤其涉及一种基于多次聚类的交通灯定位方法。
背景技术
在各种地图服务技术中,地图上的交通灯的位置是否准确对地图导航、辅助驾驶有着重要的意义。
现有技术中的交通灯定位方法主要是先用摄像头识别出交通灯,再靠雷达检测交通灯与汽车的相对位置及汽车自身的GPS坐标计算得到。但是通过雷达检测交通灯的识别正确率达不到100%,且识别出来后需要依靠汽车自身的GPS计算得到交通灯的位置,由于GPS与相对位置可能存在误差,会导致交通灯位置准确率差。
另外,采集数据的误差较大时,用传统的聚类算法(如DBSCAN算法)直接聚类会存在较大的不稳定性,可能导致交通灯个数不准确且定位精度差。
发明内容
本发明针对现有技术中存在的技术问题,提供一种基于多次聚类的交通灯定位方法。
本发明解决上述技术问题的技术方案如下:一种基于多次聚类的交通灯定位方法,步骤1,采集区域内的交通灯数据;
步骤2,对所述交通灯数据分组得到不同航向对应的数据集;
步骤3,分别对各个所述数据集的数据分块,得到各个所述数据集中的不同采集车辆和采集时段对应的数据块;
步骤4,遍历各个所述数据集,基于DBSCAN聚类算法确定所述数据集中的交通灯个数,以得到的所述交通灯个数为聚类中心个数,基于K-Means聚类计算得到聚类中心为交通灯坐标结果。
一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于多次聚类的交通灯定位方法的步骤。
本发明的有益效果是:利用同一区域同一航向下数据采集次数较多时,用DBSCAN算法多次聚类确认该区域的交通灯个数,会存在较多符合该区域的真实情况,而已知交通灯个数的情况下,用K-Means聚类算法寻找聚类中心的效果要比DBSCAN聚类算法好,基于DBSCAN聚类算法寻找交通灯个数、基于K-Means聚类算法寻找聚类中心的多次聚类,较传统的单次聚类得到的交通灯个数的正确率与定位精度得到提高。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述交通灯数据包括交通灯的高斯克吕格米坐标x,y及其对应的采集车辆的vid、时间戳和航向;
所述步骤1中采集区域内的所述交通灯数据之后还包括:
将各个交通灯数据整合形成数据集合DS,将所述数据集合DS内的数据按所述采集车辆的航向、vid、时间戳的顺序排序得到DS=[data1,data2,…,datan]。
所述步骤2中通过对交通灯数据的所述数据集合DS进行拆分的方式得到各个数据集:
对于数据集合DS中的任意相邻两个数据,夹角不超过设定的夹角阈值时,判断所述相邻两个数据属于一个所述数据集;夹角超过设定的夹角阈值时,判断所述相邻两个数据属于不同所述数据集。
所述步骤2包括:
步骤201,将所述数据集合DS中的第一条数据存入新建的当前组NOWGDS;
步骤202,比较所述当前组NOWGDS中排序最后的数据与其下一条数据的航向的夹角是否超过设定的夹角阈值,是,执行步骤203,否,执行步骤204;
步骤203,将所述下一条数据存入新建的空白组,将所述当前组NOWGDS中的所有数据作为一个所述数据集GDSi存入新建的数据集合HDS,将所述空白组里的数据更新到所述当前组NOWGDS中,执行步骤205;
步骤204,将所述下一条数据存入所述当前组NOWGDS中,执行步骤205;
步骤205,判断对所述数据集合DS的数据的遍历是否结束,是,将所述当前组NOWGDS中的所有数据作为一个所述数据集GDSi存入所述数据集合HDS,输出数据集合HDS=[GDS1,GDS2,…,GDShdsn];否,执行步骤202。
所述步骤205输出所述数据集合HDS之前还包括:
判断第一个数据集GDS1中的第一条数据与最后一个数据集GDShdsn中的最后一条数据的夹角不超过所述夹角阈值时,合并所述第一个数据集和所述最后一个数据集。
所述步骤3中通过对所述数据集进行拆分的方式得到各个所述数据集中的不同采集车辆和采集时段对应的所述数据块:
对于任一所述数据集的任意相邻两个数据,时间差不超过设定的时间阈值且所述采集车辆的车牌号相同时,判断所述相邻两个数据属于一个数据块;时间差超过设定的所述时间阈值或者所述采集车辆的车牌号不相同时,判断所述相邻两个数据属于不同的所述数据块。
所述步骤3包括:
步骤301,将数据集GDSi中的第一条数据存入新建的当前块NOWBDS;
步骤302,比较所述当前块NOWBDS中排序最后的数据与其下一条数据的时间差是否不超过设定的时间阈值且所述采集车辆的车牌号相同,是,执行步骤303,否,执行步骤304;
步骤303,将所述下一条数据存入所述当前块NOWBDS中,执行步骤305;
步骤304,将所述下一条数据存入新建的空白块,将所述当前块NOWBDS中的所有数据作为一个数据块BDSj存入新建的数据集合VTGDS,将所述空白块里的数据更新到所述当前块NOWBDS中,执行步骤305;
步骤305,判断对所述数据集GDSi的数据的遍历是否结束,是,将所述当前块NOWBDS中的所有数据作为一个数据块BDSj存入数据集合VTGDS中;否,执行步骤302;
步骤306,对各个所述数据集[GDS1,GDS2,…,GDShdsn]进行分块后,得到各个所述数据集的分块数据HVTDS=[VTGDS1,VTGDS2,…,VTGDShvDdsn]。
所述步骤4中确定所述数据集中的交通灯个数的过程包括:
步骤401,设置DBSCAN聚类算法的距离参数和最小个数参数;
步骤402,遍历所述数据块中的数据,将与所述数据的距离在所述距离参数的范围内个数达到所述最小个数参数的数据为核心点;
步骤403,新建一个核心可达集,将第一个核心点存入所述新建的核心可达集;
步骤404,遍历核心点合集中的核心点,查找所有所述核心可达集是否存在与遍历的所述核心点的距离小于等于所述距离参数的核心点P,是,执行步骤405;否,执行步骤406;
步骤405,判断是否存在至少两个的核心可达集包含满足条件的核心点P,是,合并所述至少两个的核心可达集,将所述遍历的核心点存入合并后的所述核心可达集中;否,将所述遍历的核心点存入所述核心点P所在的核心可达集中;执行步骤407;
步骤406,新建一个核心可达集,将所述遍历的核心点存入所述新建的核心可达集中,执行步骤407;
步骤407,判断遍历是否结束,是,输出所述核心可达集的个数为对应的所述数据块的类别个数,执行步骤408;否,执行步骤404;
步骤408,遍历所述数据集中的各个所述数据块,统计所述数据集中各所述数据块的类别个数,选择出现次数最多的所述类别个数作为所述数据集的交通灯个数。
所述步骤4之后还包括:
步骤5,采用平均值法融合距离小于距离阈值的交通灯坐标结果中的点。
采用上述进一步方案的有益效果是,通过先对数据按照采集车辆的航向、vid、时间戳的顺序排序,获取不同航向对应的数据集以及不同采集车辆和采集时段对应的数据块只需对排序数据进行依次比较拆分,统计过程简单快捷。
附图说明
图1为本发明提供的一种基于多次聚类的交通灯定位方法的流程图;
图2为本发明提供的一种基于多次聚类的交通灯定位方法的实施例的流程图;
图3为本发明提供的一种基于多次聚类的交通灯定位方法的实施例中对交通灯数据分组的方法的流程图;
图4为本发明提供的一种基于多次聚类的交通灯定位方法的实施例中对各个数据集的数据分块的方法的流程图;
图5为本发明提供的一种基于多次聚类的交通灯定位方法的实施例中确定数据集中交通灯个数的方法的流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示本发明提供的一种基于多次聚类的交通灯定位方法的流程图,由图1可知,该方法包括:
步骤1,采集区域内的交通灯数据。
步骤2,对该交通灯数据分组得到不同航向对应的数据集。
步骤3,分别对各个数据集的数据分块,得到各个数据集中的不同采集车辆和采集时段对应的数据块。
步骤4,遍历各个数据集,基于DBSCAN聚类算法确定数据集中的交通灯个数,以得到的交通灯个数为聚类中心个数,基于K-Means聚类计算得到聚类中心为交通灯坐标结果。
本发明提供的一种基于多次聚类的交通灯定位方法,利用同一区域同一航向下数据采集次数较多时,用DBSCAN算法多次聚类确认该区域的交通灯个数,会存在较多符合该区域的真实情况,而已知交通灯个数的情况下,用K-Means聚类算法寻找聚类中心的效果要比DBSCAN聚类算法好,基于DBSCAN聚类算法寻找交通灯个数、基于K-Means聚类算法寻找聚类中心的多次聚类,较传统的单次聚类得到的交通灯个数的正确率与定位精度得到提高。
实施例1
本发明提供的实施例1为本发明提供的一种基于多次聚类的交通灯定位方法的实施例,如图2为本发明提供的一种基于多次聚类的交通灯定位方法的实施例的流程图,由图2可知,该方法包括:
步骤1,采集区域内的交通灯数据。
采集选定区域大量的交通灯数据,该交通灯数据包括交通灯的高斯克吕格米坐标x,y及其对应的采集车辆的vid(vehicle identity document,车辆身份信息文件)、tsmp(timestamp,时间戳)和heading(航向)。
采集区域内的交通灯数据之后还包括:将各个交通灯数据整合形成数据集合DS,该数据集合DS中第i条数据形式为:datai=[xi,yi,vidi,tsmpi,headingi],将数据集合DS内的数据按采集车辆的航向、vid、时间戳的顺序排序。即排序过程中,先按照采集车辆的航向排序,采集车辆的航向相同时,按照采集车辆的vid排序,在采集车辆的航向和vid均相同时,按照采集车辆的时间戳排序,得到数据集合DS=[data1,data2,…,datan]。
通过先对数据按照采集车辆的航向、vid、时间戳的顺序排序,获取不同航向对应的数据集以及不同采集车辆和采集时段对应的数据块只需对排序数据进行依次比较拆分,统计过程简单快捷。
步骤2,对该交通灯数据分组得到不同航向对应的数据集。
根据步骤1中得到的交通灯数据的数据集合DS,由于数据集合DS中的数据已经按照采集车辆的航向、vid、时间戳排序过,因此步骤2中通过对交通灯数据的数据集合DS进行拆分的方式得到各个数据集:
对于数据集合DS中的任意相邻两个数据,航向的夹角不超过设定的夹角阈值时,判断该相邻两个数据属于一个数据集;夹角超过设定的夹角阈值时,判断该相邻两个数据属于不同数据集,对该相邻两个数据进行拆分。
具体的,如图3所示为本发明提供的一种基于多次聚类的交通灯定位方法的实施例中对交通灯数据分组的方法的流程图,由图3可知,该实施例中对交通灯数据分组的过程包括:
步骤201,将数据集合DS中的第一条数据存入新建的当前组NOWGDS。
步骤202,比较当前组NOWGDS中排序最后的数据与其下一条数据的航向的夹角是否超过设定的夹角阈值,是,执行步骤203,否,执行步骤204。
整个分组过程开始时,当前组NOWGDS中排序最后的数据为第一条数据data1,此时取数据集合DS中的第二条数据data2,计算data1、data2的夹角,如果夹角超过了夹角阈值,则执行步骤203,否则,执行步骤204。
该夹角阈值可以根据需要设置,例如可以为30°其中,angle1,angle2的夹角crossangle=|angle1-angle2|,如果crossangle>180,crossangle=crossangle-180。
步骤203,将该下一条数据存入新建的空白组,将当前组NOWGDS中的所有数据作为一个数据集GDSi存入新建的数据集合HDS,将空白组里的数据更新到当前组NOWGDS中,执行步骤205。
判断相邻两个数据的夹角超过夹角阈值时,该相邻两个数据应该不属于一个数据集GDSi,因此对该相邻两个数据进行拆分,将当前组NOWGDS中的所有数据作为一个数据集GDSi存入数据集合HDS,而下一条数据作为下一轮需要计算的数据更新到当前组NOWGDS中。
以data1、data2为例,data1、data2的夹角超过夹角阈值时,将data2存入新建的空白组,将当前组NOWGDS中的所有数据data1作为一个数据集GDS1存入数据集合HDS,HDS=[GDS1],其中GDS1=NOWGDS,然后更新NOWGDS=[data2]。
步骤204,将该下一条数据存入当前组NOWGDS中,执行步骤205。
判断相邻两个数据的夹角没有超过夹角阈值时,该相邻两个数据应该属于一个数据集GDSi,因此对该相邻两个数据不进行拆分,将该下一条数据存入当前组NOWGDS中,此时该相邻两个数据均在当前组NOWGDS中,而该下一条数据作为下一轮需要计算判断的数据。
以data1、data2为例,data1、data2的夹角不超过夹角阈值时,将data2存入当前组NOWGDS中,此时NOWGDS=[data1,data2]。
步骤205,判断对数据集合DS的数据的遍历是否结束,是,将当前组NOWGDS中的所有数据作为一个数据集GDSi存入数据集合HDS,判断第一个数据集GDS1中的第一条数据与最后一个数据集GDShdsn中的最后一条数据的夹角不超过夹角阈值时,合并第一个数据集和最后一个数据集,输出数据集合HDS=[GDS1,GDS2,…,GDShdsn];否,执行步骤202。
遍历数据集合DS的过程没有结束时,继续下一轮的数据判断过程。
遍历数据集合DS的过程结束时,将当前组NOWGDS中的所有数据作为一个数据集存入数据集合HDS。
进一步的,由于角度的特殊性,例如1°与359°夹角很小,所以第一组与最后一组存在夹角很小的可能。判断第一个数据集中的第一条数据与最后一个数据集中的最后一条数据的夹角是否超过夹角阈值,超过时不做处理,不超过时,将第一个数据集和最后一个数据集合并为一个数据集,具体的,将最后一个数据集GDShdsn存入第一个数据集GDS1,并在数据集合HDS中删除最后一个数据集GDShdsn,否则不处理。
假设GDS1=[datagds11,datagds12,…,datagds1n]、
GDShdsn=[datagdshdsn1,datagdshdsn2,…,datagdshdsnn],
最后一个数据集GDShdsn存入第一个数据集GDS1后,GDS1=[datagds11,datagds12,…,datagds1n,datagdshdsn1,datagdshdsn2,…,datagdshdsnn。
完成上述操作后,输出数据集合HDS。
步骤3,分别对各个数据集的数据分块,得到各个数据集中的不同采集车辆和采集时段对应的数据块。
根据步骤2中通过对交通灯数据的数据集合DS进行拆分的方式得到不同数据集的数据集合HDS=[GDS1,GDS2,…,GDShdsn],其中hdsn表示数据集合HDS的组数,第i个数据集GDSi=[datagdsi1,datagdsi2,…,datagdsin]。
步骤3中通过对数据集GDSi进行拆分的方式得到各个数据集中的不同采集车辆和采集时段对应的数据块:
对于数据集GDSi的任意相邻两个数据,时间差不超过设定的时间阈值且采集车辆的车牌号相同时,判断该相邻两个数据属于一个数据块;时间差超过设定的时间阈值或者采集车辆的车牌号不相同时,判断该相邻两个数据属于不同的数据块,对该相邻两个数据进行拆分。
具体的,图4为本发明提供的一种基于多次聚类的交通灯定位方法的实施例中对各个数据集的数据分块的方法的流程图;由图4可知,该实施例中对各个数据集的数据分块的过程包括:
步骤301,将数据集GDSi中的第一条数据存入新建的当前块NOWBDS。
步骤302,比较当前块NOWBDS中排序最后的数据与其下一条数据的时间差是否不超过设定的时间阈值且采集车辆的车牌号相同,是,执行步骤303,否,执行步骤304。
整个分块过程开始时,以步骤301中当前块NOWBDS中排序最后的数据为第一条数据为data1为例,此时取数据集GDSi中的第二条数据data2,计算data1、data2的时间差,如果时间差不超过时间阈值且采集车辆的车牌号相同,则执行步骤303,否则,执行步骤304。
该时间阈值可以根据需要设置,例如可以为300秒。
步骤303,将该下一条数据存入当前块NOWBDS中,执行步骤305。
判断相邻两个数据的时间差不超过时间阈值且采集车辆的车牌号相同时,该相邻两个数据应该属于一个数据块BDSj,因此对该相邻两个数据不进行拆分,将下一条数据存入当前块NOWBDS中,此时该相邻两个数据均在当前块NOWBDS中,而该下一条数据作为下一轮需要计算判断的数据。
以data1、data2为例,data1、data2的时间差不超过时间差阈值且采集车辆的车牌号相同时,将data2存入当前块NOWBDS中,此时NOWBDS=[data1,data2]。
步骤304,将该下一条数据存入新建的空白块,将当前块NOWBDS中的所有数据作为一个数据块BDSj存入数据集合VTGDS,将空白块里的数据更新到当前块NOWBDS中,执行步骤305。
判断相邻两个数据的时间差超过时间阈值或者采集车辆的车牌号不相同时,该相邻两个数据应该不属于一个数据块BDSj,因此对该相邻两个数据进行拆分,因此将当前块NOWBDS中的所有数据作为一个数据块BDSj存入数据集合VTGDS中,而下一条数据作为下一轮需要计算的数据更新到当前块NOWBDS中。
以data1、data2为例,data1、data2的时间差超过时间阈值或者采集车辆的车牌号不相同时,将data2存入新建的空白块,将当前块NOWBDS中的所有数据作为一个数据块BDSj存入数据集合VTGDS中,VTGDS=[BDS1],其中BDS1=NOWBDS,然后更新空白块为当前块,即NOWBDS=[data2]。
步骤305,判断对数据集GDSi的数据的遍历是否结束,是,将当前块NOWBDS中的所有数据作为一个数据块BDSj存入数据集合VTGDS中;否,执行步骤302。
遍历数据集GDSi的过程没有结束时,继续下一轮的数据判断过程。
遍历数据集GDSi的过程结束时,将当前块NOWBDS中的所有数据作为作为一个数据块BDSj存入数据集合VTGDS中,最终得到VTGDS=[BDS1,BDS2,…,BDSvtgdsn],vtgdsn表示该数据集的数据的分块个数。
步骤306,对各个数据集[GDS1,GDS2,…,GDShdsn]进行分块后,得到各个数据集的分块数据HVTDS=[VTGDS1,VTGDS2,…,VTGDShvtdsn]。
其中VTGDS=[BDS1,BDS2,…,BDSvtgdsn],BDS=[databds1,databds2,…,databdsn],data即为最初的原始数据,最后,只存储data数据中坐标x,y,即data=[x,y]。
步骤4,遍历各个数据集,基于DBSCAN聚类算法确定数据集中的交通灯个数,以得到的交通灯个数为聚类中心个数,基于K-Means聚类计算得到聚类中心为交通灯坐标结果。
如图5为本发明提供的一种基于多次聚类的交通灯定位方法的实施例中确定数据集中交通灯个数的方法的流程图,由图5可知,步骤4中确定数据集中的交通灯个数的过程包括:
步骤401,设置DBSCAN聚类算法的距离参数和最小个数参数。
本发明实施例给出的例子中,设置距离参数esp=5,最小个数参数min_simple=10。
步骤402,遍历数据块中的数据,将与该数据的距离在距离参数的范围内个数达到最小个数参数的数据为核心点。
数据块中的数据为存储坐标x,y的点数据,查找该点数据的附近点,即距离小于等于距离参数esp的点,当该附近点的个数达到最小个数参数min_simple时,判断该点数据为核心点。
BDS=[p1,p2,…,pn],p1与p2的距离小于等于5,则p2为p1附近的点。
步骤403,新建一个核心可达集,将第一个核心点存入该新建的核心可达集。
步骤404,遍历核心点合集中的核心点,查找所有核心可达集是否存在与遍历的该核心点的距离小于等于距离参数esp的核心点P,是,执行步骤405;否,执行步骤406。
步骤405,判断是否存在至少两个的核心可达集包含满足条件的核心点P,是,合并该至少两个的核心可达集,将遍历的该核心点存入合并后的核心可达集中;否,将遍历的该核心点存入核心点P所在的核心可达集中;执行步骤407。
步骤406,新建一个核心可达集,将遍历的该核心点存入该新建的核心可达集中,执行步骤407。
步骤407,判断遍历是否结束,是,输出该核心可达集的个数为对应的数据块的类别个数,执行步骤408;否,执行步骤404。
步骤408,遍历数据集中的各个数据块,统计数据集中各数据块的类别个数,选择出现次数最多的类别个数作为该数据集的交通灯个数。
基于核心点集C=[c1,c2,…,cn],寻找核心可达集VS的过程为:将第一个核心点c1作为第一个核心可达集V1=[c1],此时VS=[V1]。遍历核心点集C,寻找与当前核心点ci距离在esp内的核心可达集V,如果V内存在一点与ci距离小于等于esp,则满足要求。如果不存在满足条件的核心可达集,则新增核心可达集V=[ci];如果存在满足条件的核心可达集,则判断是否存在至少两个的核心可达集同时满足一个核心点,此时将该至少两个的核心可达集合并为一个核心可达集并添加ci。例如,V1V2同时满足核心点ci,合并V1=[c11,c12,…,c1n],V2=[c21,c22,…,c2n],新的核心可达集Vnew=[c11,c12,…,c1n,c21,c22,…,c2n,ci],并删除V1V2。
计算出所有数据集合VTGDS中的数据的聚类中心点,存入点集合Points=[p1,p2,…,pn],其中P=[x,y]。
进一步的,根据实际情况,融合距离很近的点作为最终的交通灯坐标结果,该距离阈值可以根据需要设定,本发明实施例中为5米。
因此,步骤4之后还包括:
步骤5,采用平均值法融合距离小于距离阈值的交通灯坐标结果中的点。
例如交通灯坐标结果中的两个点P1和P2的距离在距离阈值的范围内时,P1=[x1,y1],P2=[x2,y2],融合后的交通灯坐标结果中Pnew=[(x1+x2)/2,(y1+y2)/2]。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于多次聚类的交通灯定位方法,其特征在于,所述方法包括:
步骤1,采集区域内的交通灯数据;
步骤2,对所述交通灯数据分组得到不同航向对应的数据集;
步骤3,分别对各个所述数据集的数据分块,得到各个所述数据集中的不同采集车辆和采集时段对应的数据块;
步骤4,遍历各个所述数据集,基于DBSCAN聚类算法确定所述数据集中的交通灯个数,以得到的所述交通灯个数为聚类中心个数,基于K-Means聚类计算得到聚类中心为交通灯坐标结果;
所述交通灯数据包括交通灯的高斯克吕格米坐标x,y及其对应的采集车辆的vid、时间戳和航向;
所述步骤1中采集区域内的所述交通灯数据之后还包括:
将各个交通灯数据整合形成数据集合DS,将所述数据集合DS内的数据按所述采集车辆的航向、vid、时间戳的顺序排序得到DS=[data1,data2,…,datan];
所述步骤2包括:
步骤201,将所述数据集合DS中的第一条数据存入新建的当前组NOWGDS;
步骤202,比较所述当前组NOWGDS中排序最后的数据与其下一条数据的航向的夹角是否超过设定的夹角阈值,是,执行步骤203,否,执行步骤204;
步骤203,将所述下一条数据存入新建的空白组,将所述当前组NOWGDS中的所有数据作为一个所述数据集GDSi存入新建的数据集合HDS,将所述空白组里的数据更新到所述当前组NOWGDS中,执行步骤205;
步骤204,将所述下一条数据存入所述当前组NOWGDS中,执行步骤205;
步骤205,判断对所述数据集合DS的数据的遍历是否结束,是,将所述当前组NOWGDS中的所有数据作为一个所述数据集GDSi存入所述数据集合HDS,输出数据集合HDS=[GDS1,GDS2,…,GDShdsn];否,执行步骤202。
2.根据权利要求1所述的方法,其特征在于,所述步骤2中通过对交通灯数据的所述数据集合DS进行拆分的方式得到各个数据集:
对于数据集合DS中的任意相邻两个数据,航向的夹角不超过设定的夹角阈值时,判断所述相邻两个数据属于一个所述数据集;夹角超过设定的夹角阈值时,判断所述相邻两个数据属于不同所述数据集。
3.根据权利要求1所述的方法,其特征在于,所述步骤205输出所述数据集合HDS之前还包括:
判断第一个数据集GDS1中的第一条数据与最后一个数据集GDShdsn中的最后一条数据的夹角不超过所述夹角阈值时,合并所述第一个数据集和所述最后一个数据集。
4.根据权利要求1所述的方法,其特征在于,所述步骤3中通过对所述数据集进行拆分的方式得到各个所述数据集中的不同采集车辆和采集时段对应的所述数据块:
对于任一所述数据集的任意相邻两个数据,时间差不超过设定的时间阈值且所述采集车辆的车牌号相同时,判断所述相邻两个数据属于一个数据块;时间差超过设定的所述时间阈值或者所述采集车辆的车牌号不相同时,判断所述相邻两个数据属于不同的所述数据块。
5.根据权利要求1或4所述的方法,其特征在于,所述步骤3包括:
步骤301,将数据集GDSi中的第一条数据存入新建的当前块NOWBDS;
步骤302,比较所述当前块NOWBDS中排序最后的数据与其下一条数据的时间差是否不超过设定的时间阈值且所述采集车辆的车牌号相同,是,执行步骤303,否,执行步骤304;
步骤303,将所述下一条数据存入所述当前块NOWBDS中,执行步骤305;
步骤304,将所述下一条数据存入新建的空白块,将所述当前块NOWBDS中的所有数据作为一个数据块BDSj存入新建的数据集合VTGDS,将所述空白块里的数据更新到所述当前块NOWBDS中,执行步骤305;
步骤305,判断对所述数据集GDSi的数据的遍历是否结束,是,将所述当前块NOWBDS中的所有数据作为一个数据块BDSj存入数据集合VTGDS中;否,执行步骤302;
步骤306,对各个所述数据集[GDS1,GDS2,…,GDShdsn]进行分块后,得到各个所述数据集的分块数据HVTDS=[VTGDS1,VTGDS2,…,VTGDShvtdsn]。
6.根据权利要求1所述的方法,其特征在于,所述步骤4中确定所述数据集中的交通灯个数的过程包括:
步骤401,设置DBSCAN聚类算法的距离参数和最小个数参数;
步骤402,遍历所述数据块中的数据,将与所述数据的距离在所述距离参数的范围内个数达到所述最小个数参数的数据为核心点;
步骤403,新建一个核心可达集,将第一个核心点存入所述新建的核心可达集;
步骤404,遍历核心点合集中的核心点,查找所有所述核心可达集是否存在与遍历的所述核心点的距离小于等于所述距离参数的核心点P,是,执行步骤405;否,执行步骤406;
步骤405,判断是否存在至少两个的核心可达集包含满足条件的核心点P,是,合并所述至少两个的核心可达集,将所述遍历的核心点存入合并后的所述核心可达集中;否,将所述遍历的核心点存入所述核心点P所在的核心可达集中;执行步骤407;
步骤406,新建一个核心可达集,将所述遍历的核心点存入所述新建的核心可达集中,执行步骤407;
步骤407,判断遍历是否结束,是,输出所述核心可达集的个数为对应的所述数据块的类别个数,执行步骤408;否,执行步骤404;
步骤408,遍历所述数据集中的各个所述数据块,统计所述数据集中各所述数据块的类别个数,选择出现次数最多的所述类别个数作为所述数据集的交通灯个数。
7.根据权利要求1所述的方法,其特征在于,所述步骤4之后还包括:
步骤5,采用平均值法融合距离小于距离阈值的交通灯坐标结果中的点。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述基于多次聚类的交通灯定位方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593680.5A CN110287244B (zh) | 2019-07-03 | 2019-07-03 | 一种基于多次聚类的交通灯定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593680.5A CN110287244B (zh) | 2019-07-03 | 2019-07-03 | 一种基于多次聚类的交通灯定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287244A CN110287244A (zh) | 2019-09-27 |
CN110287244B true CN110287244B (zh) | 2021-03-16 |
Family
ID=68020391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910593680.5A Active CN110287244B (zh) | 2019-07-03 | 2019-07-03 | 一种基于多次聚类的交通灯定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287244B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733839B (zh) * | 2020-12-28 | 2024-05-03 | 阿波罗智联(北京)科技有限公司 | 灯头位置确定方法、装置、存储介质、程序、路侧设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108761A (zh) * | 2017-12-21 | 2018-06-01 | 西北工业大学 | 一种基于深度特征学习的快速交通信号灯检测方法 |
CN108550274A (zh) * | 2018-04-04 | 2018-09-18 | 中国计量大学 | 一种基于Faster RCNN的红绿灯无人驾驶辅助装置及方法 |
CN109949593A (zh) * | 2019-03-13 | 2019-06-28 | 北京联合大学 | 一种基于路口先验知识的交通信号灯识别方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8587020B2 (en) * | 1997-11-19 | 2013-11-19 | Epistar Corporation | LED lamps |
CN103577602A (zh) * | 2013-11-18 | 2014-02-12 | 浪潮(北京)电子信息产业有限公司 | 一种二次聚类方法及系统 |
CN106650641B (zh) * | 2016-12-05 | 2019-05-14 | 北京文安智能技术股份有限公司 | 一种交通信号灯定位识别方法、装置及系统 |
CN107766808B (zh) * | 2017-09-30 | 2021-06-29 | 北京泓达九通科技发展有限公司 | 道路网络空间中车辆对象移动轨迹聚类的方法及系统 |
-
2019
- 2019-07-03 CN CN201910593680.5A patent/CN110287244B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108761A (zh) * | 2017-12-21 | 2018-06-01 | 西北工业大学 | 一种基于深度特征学习的快速交通信号灯检测方法 |
CN108550274A (zh) * | 2018-04-04 | 2018-09-18 | 中国计量大学 | 一种基于Faster RCNN的红绿灯无人驾驶辅助装置及方法 |
CN109949593A (zh) * | 2019-03-13 | 2019-06-28 | 北京联合大学 | 一种基于路口先验知识的交通信号灯识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110287244A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111862659B (zh) | 一种gps轨迹数据匹配和补全的方法 | |
US10520326B2 (en) | Driving route matching method and apparatus, and storage medium | |
CN106227726B (zh) | 一种基于车辆轨迹数据的路径提取方法 | |
CN106323301B (zh) | 一种道路情报的获取方法及装置 | |
CN110413905B (zh) | 获取道路线形的方法、装置、设备及存储介质 | |
CN111341103B (zh) | 车道信息提取方法、装置、设备及存储介质 | |
WO2022052283A1 (zh) | 一种车辆的定位方法和装置 | |
CN107917716B (zh) | 固定线路导航方法、装置、终端及计算机可读存储介质 | |
CN111209291A (zh) | 一种利用众包感知地图更新高精度地图的方法及系统 | |
CN113587944B (zh) | 准实时的车辆行驶路线生成方法、系统及设备 | |
CN108959414B (zh) | 一种基于机器学习的导航数据点提取缺失道路的方法 | |
CN111983655A (zh) | 城市峡谷区域的确定方法、装置、电子设备及存储介质 | |
CN113706592A (zh) | 一种定位信息的修正方法、装置、电子设备和存储介质 | |
CN110287244B (zh) | 一种基于多次聚类的交通灯定位方法 | |
CN116026352A (zh) | 定位信号的处理方法、装置、介质及电子设备 | |
CN116071722A (zh) | 基于路段轨迹的车道几何信息提取方法、系统、设备及介质 | |
CN115372995A (zh) | 一种基于欧式聚类的激光雷达目标检测方法及系统 | |
CN113119999B (zh) | 自动驾驶特征的确定方法、装置、设备、介质及程序产品 | |
CN112507867A (zh) | 一种基于EDLines线特征的车道线检测方法 | |
CN114659537A (zh) | 导航起点道路确定方法、装置、设备及存储介质 | |
CN115983007A (zh) | 一种重合轨迹提取方法、装置、电子设备及存储介质 | |
CN114705180A (zh) | 高精地图的数据修正方法、装置、设备及存储介质 | |
CN114445575A (zh) | 一种基于路口拓扑信息的不同地图之间的匹配方法及系统 | |
CN112686904A (zh) | 车道划分方法、装置、电子设备和存储介质 | |
CN114328594B (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Traffic Light Localization Method Based on Multiple Clustering Granted publication date: 20210316 Pledgee: Productivity Promotion Center of Wuhan East Lake New Technology Development Zone Pledgor: WUHHAN KOTEL BIG DATE Corp. Registration number: Y2024980005100 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |