发明内容
本申请提供了一种路口检测方法、装置、设备及存储介质,对全局的线段进行结构性优化,改善了全局图形的粗糙结构特征。
有鉴于此,本申请第一方面提供了一种路口检测方法,所述方法包括:
获取采集的采样点;
根据所述采样点间的距离,将所述采样点进行聚类,使得属于同一车道线的所述采样点归为一类;
将所述采样点拟合为线段;
将拟合后的线段进行方向上的聚类,将方向角属于同一预置角度范围内的线段归为一类;
调整同一类线段中线段的所述方向角,使得同一类线段中线段的所述方向角一致;
计算所述同一车道线中的角点,所述角点为所述同一车道线中相邻两条线段的相交点;
根据从所述角点出发的延长线与其他车道线的交点位置,判断所述角点是否属于路口范围。
可选的,在所述将拟合后的线段进行方向上的聚类,将方向角属于同一预置角度范围内的线段归为一类,之后还包括:
在所述同一车道线中,对于属于同一所述预置角度范围内的线段;
若出现任意两条线段的端点间距离小于第一预设距离,则将两条线段合并为一条线段;
或者,一条线段的端点在另一条线段的内部,且两条线段之间的投影距离小于第二预设距离时,则将两条线段合并为一条线段。
可选的,所述调整同一类线段中线段的所述方向角,使得同一类线段中线段的所述方向角一致,包括:
获取同一类线段中最长的多个线段;
根据线段的长度进行加权求解得到同一类线段的所述方向角;
将同一类线段中线段的角度调整为所述方向角。
可选的,在所述调整同一类线段中的线段方向角,使得同一类线段中线段的方向角一致,之后还包括:
若在线段的延伸方向上,存在同方向的另一线段;
当线段延长线的距离小于预置路口间隔时,则将两个线段进行填补,合并为一条线段。
可选的,在所述调整同一类线段中的线段方向角,使得同一类线段中线段的方向角一致,之后还包括:
计算所述同一车道线中线段的中点,并根据中点位置对线段进行排序,将线段按照排序后的顺序依次排列。
可选的,所述根据从所述角点出发的延长线与其他车道线的交点位置,判断所述角点是否属于路口范围,包括:
若第一车道线中从所述角点发出的延长线,与第二车道线中从角点发出的延长线相交且处于同一直线,并且两角点的距离属于预置路口间隔,则表示两角点属于路口范围;
或者,若所述第一车道线中从角点发出的延长线与所述第二车道线的交点,得到的交点与所述第二车道线的角点的距离小于预设第三距离,则表示两角点属于路口范围;
或者,若所述第一车道线中从角点发出的延长线与所述第二车道线的第一交点,与第二交点的距离小于预设第四距离,则表示两角点处于路口范围内,所述第二交点为第三车道线从角点发出的延长线与所述第二车道线的相交点。
本申请第二方面提供一种路口检测装置,所述装置包括:
采样单元,用于获取采集的采样点;
采样点聚类单元,根据所述采样点间的距离,将所述采样点进行聚类,使得属于同一车道线的所述采样点归为一类;
拟合单元,将所述采样点拟合为线段;
线段聚类单元,将拟合后的线段进行方向上的聚类,将方向角属于同一预置角度范围内的线段归为一类;
角度调整单元,调整同一类线段中线段的所述方向角,使得同一类线段中线段的所述方向角一致;
角点计算单元,计算所述同一车道线中的角点,所述角点为所述同一车道线中相邻两条线段的相交点;
路口判断单元,根据从所述角点出发的延长线与其他车道线的交点位置,判断所述角点是否属于路口范围。
可选的,第一合并单元,用于在所述同一车道线中,对于属于同一所述预置角度范围内的线段;
若出现任意两条线段的端点间距离小于第一预设距离,则将两条线段合并为一条线段;
或者,一条线段的端点在另一条线段的内部,且两条线段之间的投影距离小于第二预设距离时,则将两条线段合并为一条线段。
本申请第三方面提供一种路口检测设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行如上述第一方面所述的路口检测设备的方法的步骤。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的方法。
从以上技术方案可以看出,本申请具有以下优点:
本申请实施例中,提供了一种路口检测方法,包括:获取采集的采样点;根据采样点间的距离,将采样点进行聚类,使得属于同一车道线的采样点归为一类;将采样点拟合为线段;将拟合后的线段进行方向上的聚类,将方向角属于同一预置角度范围内的线段归为一类;调整同一类线段中线段的方向角,使得同一类线段中线段的方向角一致;计算同一车道线中的角点,角点为同一车道线中相邻两条线段的相交点;根据从角点出发的延长线与其他车道线的交点位置,判断角点是否属于路口范围。
本申请通过对采样点进行聚类并对采样点进行拟合成线段,使得可以得到任何形状的线段,从而将采样点恢复成原始图车道图;通过将线段进行聚类,并调整同一类线段中线段的方向角的方式,对全局的线段进行调整,使得得到线段更加平滑,从而对全局进行优化;通过得到的优化后的线段,计算其延长线得到更加精确的角点,从而能够根据角点位置更加精确的判断图中路口的位置。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一:
请参阅图1,图1为本申请一种路口检测方法的一个实施例的发方法流程图,如图1所示,图1中包括:
101、获取采集的采样点;
需要说明的是,可以通过在停车场车道线上布置相应的传感器,用于获取车道线上的采样点数据。
102、根据采样点间的距离,将采样点进行聚类,使得属于同一车道线的采样点归为一类;
需要说明的是,由于属于同一车道线的采样点之间的距离较为接近,因此,可以根据采样点之间的距离,将距离接近的采样点归属为一类,使得同一类的采样点属于同一车道线。
103、将采样点拟合为线段;
需要说明的是,获取到属于同一车道线的采样点后,可以将聚类后的采样点进行拟合,拟合后的线段构成的车道线可以构建成停车场完整车道线的粗略图。
104、将拟合后的线段进行方向上的聚类,将方向角属于同一预置角度范围内的线段归为一类;
需要说明的是,为了形成更为完善精细的停车场车道线图,可以对拟合后的线段进行再次优化,例如,可以将拟合后的线段进行方向上的聚类,方向角属于同一预置角度范围内的线段归为一类,以便于后续对所有线段进行同步调整。例如,可以将方向角属于[87,93]度的线段归属于一类,具体的预置角度范围可以根据实际需要进行设置。
105、调整同一类线段中线段的方向角,使得同一类线段中线段的方向角一致;
需要说明的是,可以调整同一类线段中线段的方向角,使得同一类线段中线段的方向角一致,从而优化整个停车场的车道线路图。具体的,当[87,93]度的线段归属于一类时,可以将这一类中所有的线段都同步调整为90度,其他类中也可以根据实际需要进行相应的调整。
106、计算同一车道线中的角点,角点为同一车道线中相邻两条线段的相交点;
需要说明的是,计算同一车道线中的角点,同一车道线中可以包括多个角点,角点为同一车道线中相邻两条线段的相交点,例如一个矩形的车道线中包括四条线段两两相交构成的4个角点。
107、根据从角点出发的延长线与其他车道线的交点位置,判断角点是否属于路口范围。
需要说明的是,由于在路口的四个角点位置互相对应,例如,在十字路口的四个角点是呈矩形的排列位置,即每个角点可以位于从另外一个车道线角点发出的延长线上。其中,延长线为另一个车道线角点的一边的延伸线。
本实施例通过对采样点进行聚类并对采样点进行拟合成线段,使得可以得到任何形状的线段,从而将采样点恢复成原始图车道图;通过将线段进行聚类,并调整同一类线段中线段的方向角的方式,对全局的线段进行调整,使得得到线段更加平滑,从而对全局进行优化;通过得到的优化后的线段,计算其延长线得到更加精确的角点,从而能够根据角点位置更加精确的判断图中路口的位置。
实施例二:
201、获取采集的采样点;
需要说明的是,由于实际当中车道线可能会有缺失、凸起、内凹以及不连续的问题。因此,对于场景中采样点构成的整体的车道线,可以做一定的处理,得到完整平滑的车道线路图,从而提高场景中路口位置的检测准确性。本实施例中首先可以获取场景中传感器采集的采样点,并对采样点做一定的处理。
202、根据采样点间的距离,将采样点进行聚类,使得属于同一车道线的采样点归为一类;
需要说明的是,由于属于同一车道线的采样点之间的距离较为接近,因此,可以根据采样点之间的距离,将距离接近的采样点归属为一类,使得同一类的采样点属于同一车道线。其中,同一类的车道线可以由多个连续线段构成,例如,图4中的半矩形的两条水平线以及与两条水平线端点相连的竖直线属于同一类车道线。
203、将采样点拟合为线段;
需要说明的是,可以采用递归主方向拟合的方式,将采样点进行拟合,使得无论是直线或者弧线或者任意不规则的车道线,都能通过拟合得到,从而得到采样点构成的车道线的平滑结构。拟合后的图形可以消除原始车道线存在凸起、内凹的问题。
204、在同一车道线中,对于属于同一预置角度范围内的线段,若出现任意两条线段的端点间距离小于第一预设距离,则将两条线段合并为一条线段;或者,一条线段的端点在另一条线段的内部,且两条线段之间的投影距离小于第二预设距离时,则将两条线段合并为一条线段;
需要说明的是,当出现同一车道线中,对于属于同一预置角度范围内的线段,若出现任意两条线段的端点间距离小于第一预设距离,则将两条线段合并为一条线段;或者当一条线段的端点在另一条线段的内部,且两条线段之间的投影距离小于第二预设距离时,则将两条线段合并为一条线段。例如,当同一车道线中出现两条并行相交的两条线段时,若两条线段的方向角为91度和89度,且两条线段的端点间距离相近,则可以将两条线段合并为一条线段。或者,例如当一条线段的端点在另一条线段上,或者两条线段之间的投影距离相近,即两条线段的垂直距离小于预设的第二距离时,可以将两条线段合并为一条线段,从而改善了线段重叠的问题。
205、将拟合后的线段进行方向上的聚类,将方向角属于同一预置角度范围内的线段归为一类;
需要说明的是,本申请可以将不同方向的线段,根据每条线段的方向角进行聚类,将方向角属于同一预置角度范围内的线段归为一类。例如,可以将每条线段的角度设置在[0,180)度的数值范围之间,可以将预置角度范围设置为8度,即每隔8度设置一个预置角度范围,例如,可以将方向角属于[86,94]度的线段聚合为一类,将同一预置角度范围内线段归为一类。具体的预置角度范围可以根据实际需要进行设置,本申请仅为示例性说明。
206、获取同一类线段中最长的多个线段;
207、根据线段的长度进行加权求解得到同一类线段的方向角;
208、将同一类线段中线段的角度调整为方向角;
需要说明的是,需要说明的是,为了合理的调整同一类线段中线段的方向角,使得同一类线段中线段的方向角一致,本申请可以取标志性的线段,对其角度进行加权计算,从而求得最优的方向角。
例如,由于长线段相比短线段的方向角具有更佳的准确性,可以用来作为同一类线段中方向角的判断标准,因此,本申请可以选择同一类线段中最长的多个线段,根据线段的长度对线段的方向角进行加权,求解得到同一类线段的方向角,从而根据得到的方向角对同一类线段中线段的角度进行调整,使得得到的整体的车道线线段都具有同向一致性,完成了对停车场车道线的整体优化。
209、若在线段的延伸方向上,存在同方向的另一线段;当线段延长线的距离小于预置路口间隔时,则将两个线段进行填补,合并为一条线段;
需要说明的是,在全局线段都调整完成后,若在线段的延伸方向上,存在同方向的另一线段;当线段延长线的距离小于预置路口间隔时,说明线段可能是由于采样点缺失造成的线段不连续的问题,因此,可以则两个线段进行填补,合并为一条线段。
例如,图4中出现的不连续的线段,其中当一条线段在另一条线段的延长线上,且两条线段之间的距离小于预置路口间隔时,将两条线段进行合并。而图4中两条线段之间的距离大于预置路口间隔,则不做填补。其中,预置路口间隔可以设置为3-5m。
210、计算同一车道线中线段的中点,并根据中点位置对线段进行排序,将线段按照排序后的顺序依次排列;
需要说明的是,在线段填补完成后,可以得到连续的车道线,可以计算构成车道线的线段的中点,根据线段的中点位置对顺序排列的线段进行排序,从而确定线段的位置关系。
211、计算同一车道线中的角点,角点为同一车道线中相邻两条线段的相交点;
需要说明的是,根据确定后的线段位置关系,可以计算同一车道线中线段之间的相交点,本申请中,可以将同一车道线中线段之间的相交点称之为角点。如图5中的圆圈符号表示的是角点位置。
212、若第一车道线中从角点发出的延长线,与第二车道线中从角点发出的延长线相交且处于同一直线,并且两角点的距离属于预置路口间隔,则表示两角点属于路口范围;或者,若第一车道线中从角点发出的延长线与第二车道线的交点,得到的交点与第二车道线的角点的距离小于预设第三距离,则表示两角点属于路口范围;或者,若第一车道线中从角点发出的延长线与第二车道线的第一交点,与第二交点的距离小于预设第四距离,则表示两角点处于路口范围内,第二交点为第三车道线从角点发出的延长线与第二车道线的相交点。
需要说明的是,若第一车道线中从角点发出的延长线,与第二车道线中从角点发出的延长线相交且处于同一直线,即两角点即是角点又是交点,并且两角点的距离属于预置路口间隔范围,则表示两角点属于路口范围;
当第一车道线中从角点发出的延长线与第二车道线的交点,得到的交点与第二车道线的角点的距离小于预设第三距离,则表示两角点属于路口范围。即其中预置第三距离可以设置的很小,例如可以设置为0.1m,此时可以将得到的交点与第二车道线的角点看作为同一个点,则可以表示两角点属于路口范围。
当第一车道线中从角点发出的延长线与第二车道线的第一交点,与第二交点的距离小于预设第四距离,则表示两角点处于路口范围内,第二交点为第三车道线从角点发出的延长线与第二车道线的相交点。其中预置第四距离可以设置的很小,例如可以设置为0.1m,则表示第二交点与第三交点间的距离很小,即可能延长线的投影误差,此时可以将第二交点与第三交点作为同一个交点,则可以表示两角点属于路口范围。
本申请中线段的延长线与另一类车道线的相交处为交点,如图5中×符号表示的点为交点。预置路口范围通常可以设置为3-5米,具体可根据实际需要进行设置。
本实施例通过对采样点进行聚类并对采样点进行拟合成线段,使得可以得到任何形状的线段,同时,拟合后的图形可以消除原始车道线存在凸起、内凹的问题,从而将采样点恢复成原始图车道图;通过将线段进行聚类,并调整同一类线段中线段的方向角的方式,对全局的线段进行调整,使得得到线段更加平滑,从而对全局进行优化;另外,还可以通过对重叠的线段以及将存在缺口的连续线段进行合并,可以改善线段重叠和由于采样点缺失造成的线段不连续的问题。通过得到的优化后的线段,计算其延长线得到更加精确的角点,从而能够根据角点位置更加精确的判断图中路口的位置。
实施例三:
以上是本申请方法的实施例,本申请还提供了一种路口检测装置的实施例,如图3所示,图3中包括:
采样单元301,用于获取采集的采样点;
采样点聚类单元302,根据采样点间的距离,将采样点进行聚类,使得属于同一车道线的采样点归为一类;
拟合单元303,将采样点拟合为线段;
线段聚类单元304,将拟合后的线段进行方向上的聚类,将方向角属于同一预置角度范围内的线段归为一类;
角度调整单元305,调整同一类线段中线段的方向角,使得同一类线段中线段的方向角一致;
角点计算单元306,计算同一车道线中的角点,角点为同一车道线中相邻两条线段的相交点;
路口判断单元307,根据从角点出发的延长线与其他车道线的交点位置,判断角点是否属于路口范围。
在一种具体的实施例中,还可以包括:
第一合并单元,用于在同一车道线中,对于属于同一预置角度范围内的线段;
若出现任意两条线段的端点间距离小于第一预设距离,则将两条线段合并为一条线段;
或者,一条线段的端点在另一条线段的内部,且两条线段之间的投影距离小于第二预设距离时,则将两条线段合并为一条线段。
实施例4:
本实施例还提供一种路口检测设备,如图6所示,图6中的设备包括处理器601以及存储器602:
存储器602用于存储程序代码,并将程序代码传输给处理器601;处理器601用于根据程序代码中的指令,执行如上述的路口检测设备的方法的实施例。
实施例5:
本实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行如上述的路口检测设备的方法的实施例。
本实施例通过对采样点进行聚类并对采样点进行拟合成线段,使得可以得到任何形状的线段,从而将采样点恢复成原始图车道图;通过将线段进行聚类,并调整同一类线段中线段的方向角的方式,对全局的线段进行调整,使得得到线段更加平滑,从而对全局进行优化;通过得到的优化后的线段,计算其延长线得到更加精确的角点,从而能够根据角点位置更加精确的判断图中路口的位置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“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)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。