低算力的基于单线激光雷达的车库障碍物实时检测方法与流程
未命名
08-28
阅读:92
评论:0

1.本发明涉及自动驾驶技术领域,具体涉及一种低算力的基于单线激光雷达的车库障碍物实时检测方法。
背景技术:
2.在自动驾驶技术中,感知系统实时感知车辆周围的环境是非常重要的环节。目前,现有的自动驾驶中的感知系统主要采用多线激光雷达,多线激光雷达可以识别物体的高度信息并获取周围环境的3d扫描图,能够更准确地检测出周围的车辆、行人。
3.自动驾驶车辆在进入地下车库时,利用多线激光雷达可以获得地下车库的3d扫描图,从而引导自动驾驶车辆在地下车库内顺利行驶,实现自动避障。但是,多线激光雷达虽然扫描精度高,但扫描出的数据量是非常庞大的,这无疑增加了自动驾驶中央控制器的运算量,降低了处理效率。并且,多线激光雷达的价格昂贵,导致自动驾驶车辆成本增加。
4.目前,也有一些案例采用单线激光雷达替代多线激光雷达,单线激光雷达得到的扫描信息是二维平面的,不能测量物体高度,现有方法对单线激光雷达的数据处理主要是采用二值化处理后进行slam地图存储,这意味着,每个栅格点不再保存是否为障碍物的概率信息,会导致感知结果的准确率下降;而采用图像处理方式,会引入一定量的卷积计算,整个算法复杂度将维持在o(n2)级别。
技术实现要素:
5.本发明要解决的技术问题是:为了解决现有的对单线激光雷达的处理方式,存在检测准确率低、运算复杂的技术问题。本发明提供一种低算力的基于单线激光雷达的车库障碍物实时检测方法,通过对扫描数据进行聚类、分类,识别出障碍物的信息,能够降低运算量,提高检测的准确率。
6.本发明解决其技术问题所采用的技术方案是:一种低算力的基于单线激光雷达的车库障碍物实时检测方法,包括以下步骤:
7.s1:在自动驾驶车辆的行驶过程中,利用单线激光雷达实时进行扫描,获取对车库的扫描数据;
8.s2:对所述扫描数据进行聚类处理,得到多个数据簇;
9.s3:对每个数据簇依次进行分类检测,得到每个数据簇的分类结果;
10.s4:根据所述分类结果输出障碍物的类型。
11.进一步的,步骤s2中的聚类处理包括:
12.s21:建立初始数据簇c
x
;
13.s22:按照所述扫描数据的顺序,依次计算相邻两个扫描数据点pi和p
i+1
之间的距离值di;
14.s22:若所述距离值di小于或等于距离阈值d
set
,则将所述扫描数据点pi和p
i+1
归属于数据簇c
x
;若所述距离值di大于距离阈值d
set
,则建立新的数据簇c
x+1
,将所述扫描数据点
p
i+1
归属于所述数据簇c
x+1
;
15.s23:重复步骤s22至s23,直至将所有的扫描数据点分成多个数据簇c1~c
x+1
。
16.进一步的,步骤s3中的分类检测过程包括:
17.s31:对每个数据簇中的扫描数据依次进行直线检测、圆弧检测、直角检测,得到每个数据簇中包含的几何特征;
18.s32:将数据簇包含的几何特征进行关联得到该数据簇包含的障碍物的形状。
19.进一步的,所述直线检测过程包括:
20.依次计算所述数据簇内相邻的三个扫描数据点p
n-1
、pn和p
n+1
在pn点处的夹角,得到夹角序列[a0,a1,...,a
n-1
];
[0021]
计算所述夹角序列的平均值和标准差;
[0022]
若夹角序列的平均值在175
°
~185
°
之间且夹角序列的标准差小于3
°
,则判断该数据簇包含直线特征。
[0023]
进一步的,所述圆弧检测过程包括:
[0024]
选取所述数据簇内的任意两个扫描数据点pi和pj,
[0025]
在所述扫描数据点pi和pj之间任意选取两个扫描数据点pa和pb,
[0026]
分别计算∠pipapj和∠pipbpj,并计算∠pipapj与∠pipbpj之间的差值δθ;
[0027]
遍历数据簇内的所有扫描数据点,得到差值序列[δθ1,δθ2,...,δθm];
[0028]
计算所述差值序列的标准差,若差值序列的标准差小于3
°
,则判断该数据簇包含圆弧特征。
[0029]
进一步的,所述直角检测过程包括:
[0030]
选取包含直线特征的数据簇;
[0031]
获取所述数据簇内的所有直线特征的斜率ki,
[0032]
对所述斜率ki进行两两比较,若两个斜率的乘积等于1,则判断该数据簇内包含直角特征。
[0033]
进一步的,所述直角检测过程包括:
[0034]
依次选取所述数据簇内相邻的七个扫描数据点pi~p
i+6
;
[0035]
计算相邻的三个扫描数据点pi~p
i+2
在p
i+1
处的第一夹角;
[0036]
计算相邻的三个扫描数据点p
i+4
~p
i+6
在p
i+5
处的第二夹角;
[0037]
计算相邻的三个扫描数据点p
i+2
~p
i+4
在p
i+3
处的第三夹角;
[0038]
若第一夹角和第二夹角均在175
°
~185
°
之间且第三夹角在85
°
~95
°
之间,则判断该数据簇包含直角特征。
[0039]
进一步的,所述分类检测过程还包括:对每个数据簇中的扫描数据进行人腿检测,人腿检测过程包括:分别计算每个数据簇的中心点,选取两个中心点并计算两个中心点之间的距离l,若距离l在0.2m~0.5m之间,则判断所述扫描数据中存在人腿特征。
[0040]
进一步的,步骤s32中,几何特征的关联过程包括:
[0041]
将数据簇中的所有扫描数据点逐一相连,计算不同几何特征的长度;
[0042]
若所述数据簇中仅包含直线特征,则判断障碍物为直线墙体;
[0043]
若所述数据簇中包含直线特征和直角特征,则判断障碍物为方形柱;
[0044]
若所述数据簇中包含直线特征和圆弧特征,则判断障碍物为圆形柱。
[0045]
进一步的,聚类处理后,将扫描数据、数据簇、相邻两个扫描数据点之间的距离以及数据簇内所有扫描数据点的累计距离进行储存。
[0046]
本发明的有益效果是,本发明通过聚类处理,可以将障碍物分为大型物体、中型物体、小型物体;通过分类检测进行几何特征分析可以识别出具体的物体种类,由此,可以降低对扫描数据的处理运算量,提高处理效率;还能降低成本。
附图说明
[0047]
下面结合附图和实施例对本发明进一步说明。
[0048]
图1是本发明的车库障碍物实时检测方法的流程图。
[0049]
图2是本发明的直线检测的示意图。
[0050]
图3是本发明的圆弧检测的示意图。
[0051]
图4是本发明的直角检测的示意图。
[0052]
图5是本发明的人腿检测的示意图。
具体实施方式
[0053]
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
[0054]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0055]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0056]
如图1至图5所示,本发明车库障碍物实时检测方法,包括以下步骤:s1:在自动驾驶车辆的行驶过程中,利用单线激光雷达实时进行扫描,获取对车库的扫描数据。s2:对扫描数据进行聚类处理,得到多个数据簇。s3:对每个数据簇依次进行分类检测,得到每个数据簇的分类结果。s4:根据分类结果输出障碍物的类型。
[0057]
需要说明的是,本发明通过聚类处理,可以将障碍物分为大型物体、中型物体、小型物体;通过分类检测识别出具体的物体种类,例如,墙体属于大型物体,柱子属于中型物体,挡车牌、人腿属于小型物体。由此,可以降低控制系统对扫描数据的处理运算量,提高处理效率。并且,采用单线激光雷达可以降低成本,本方法通过对处理方法的改进还能提高检测的准确率。
[0058]
需要说明的是,本发明中的“聚类处理”过程与现有的k-means聚类算法、dbscan聚
类算法等并不相同。
[0059]
本发明的应用场景为地下车库,地下车库的环境比较简单,一般包含墙面、柱子、挡车牌、车、人等目标物。例如以k-means聚类算法为例,需要先设定一个k值,然后随机选取k个对象作为初始的聚类中心,计算每个对象与各个聚类中心之间的距离,再把每个对象分配给距离它最近的聚类中心,聚类中心以及分配给它们的对象就代表一个聚类。由于单线激光雷达的扫描数据是线状的,即只有(x,y),没有高度z,例如,扫描对象是墙体的话,扫描数据形成的是一条直线,如果采用k-means聚类算法,将扫描数据进行聚类,那么聚类结果会把墙体的扫描数据分成多类,聚类的结果与实际物体并不符合。因此,由于地下车库环境的特殊性以及采用单线激光雷达,本发明并不适合采用现有的聚类算法进行处理。
[0060]
本发明的聚类处理过程包括:s21:建立初始数据簇c
x
;s22:按照扫描数据的顺序,依次计算相邻两个扫描数据点pi和p
i+1
之间的距离值di;s22:若距离值di小于或等于距离阈值d
set
,则将扫描数据点pi和p
i+1
归属于数据簇c
x
;若距离值di大于距离阈值d
set
,则建立新的数据簇c
x+1
,将扫描数据点p
i+1
归属于数据簇c
x+1
;s23:重复步骤s22至s23,直至将所有的扫描数据点分成多个数据簇c1~c
x+1
。x表示从0开始的正整数,x=0,1,2,...。
[0061]
需要说明的是,单线激光雷达的扫描数据具有方向(例如是从上至下扫描、从左至右扫描等)和顺序性(扫描数据点的时序),本发明通过根据相邻两个扫描数据点之间的距离来进行聚类。例如,设扫描数据点为pi=(xi,yi),i表示扫描数据的数据量,例如,单线激光雷达在0.1s内可以扫描出36000个数据点,在一开始,先建立一个初始数据簇c1,初始数据簇c1内无数据,然后按照扫描数据的时序,从第一个扫描数据点开始,依次计算相邻两个扫描数据点之间的距离,例如,d1=p
2-p1,d2=p
3-p2,d3=p
4-p3,...,di=p
i+1-pi。距离阈值d
set
的取值范围例如是0.35m~0.6m,优选为0.4m。如果d1小于或等于d
set
,那么,将扫描数据点p2、p1归属于数据簇c1,如果d2大于d
set
,那么将扫描数据点p3归属到新的数据簇c2中,如果d3小于或等于d
set
,那么,将扫描数据点p4也归属到数据簇c2中,以此类推,遍历所有的扫描数据点,即可将扫描数据分成多个数据簇。本发明聚类处理的目的是将扫描数据按照障碍物的大小进行分类,不同的数据簇代表不同尺寸的障碍物,这样便于后续对障碍物形状的识别。
[0062]
例如,聚类处理后,可以将扫描数据、数据簇、相邻两个扫描数据点之间的距离以及数据簇内所有扫描数据点的累计距离进行储存。存储后,方便后续使用。需要说明的是,所有扫描数据点的累计距离可以作为数据簇的一种表征。例如,将数据簇内的第一个扫描数据点和最后一个扫描数据点相连的长度记为l1,将数据簇内的左右扫描数据点依次相邻的累计长度记为l2,如果l1与l2非常接近,那么可以表明该数据簇包含直线,如果l2比l1大很多,那么表明数据簇包含弧线。由此,工作人员在调用存储数据时,能够快速判断数据簇包含的特征。
[0063]
聚类后,需要对每个数据簇进行分类检测,分类检测过程包括:s31:对每个数据簇中的扫描数据依次进行直线检测、圆弧检测、直角检测,得到每个数据簇中包含的几何特征;s32:将数据簇包含的几何特征进行关联得到该数据簇包含的障碍物的形状。
[0064]
由于地下车库的场景具有特殊性,本发明通过检测数据簇内的几何特征可以识别出障碍物的类型。需要说明的是,对数据簇的分类检测是有一定顺序的,依次为直线检测、圆弧检测、直角检测。这样设置的作用有两方面,一是直线检测的运算量《圆弧检测的运算
量《直角检测的运算量,可以进一步降低运算复杂度;二是地下车库存在的直线特征是最多的,检测出直线特征后,对其余部分做圆弧检测、直角检测即可,可以提升运算处理效率。
[0065]
例如,直线检测过程包括:依次计算数据簇内相邻的三个扫描数据点p
n-1
、pn和p
n+1
在pn点处的夹角,得到夹角序列[a0,a1,...,a
n-1
];计算夹角序列的平均值和标准差;若夹角序列的平均值在175
°
~185
°
之间且夹角序列的标准差小于3
°
,则判断该数据簇包含直线特征。也就是说,当相邻三个扫描数据点形成的内切角接近180
°
时,认为这部分扫描数据是直线。例如,p1、p2和p2在p2点处的夹角为179
°
,p2、p3和p4在p3点处的夹角为180
°
,p3、p4和p5在p4点处的夹角为180
°
,那么可以认为p1、p2、p3、p4、p5连成的线段为直线。遍历数据簇内的所有扫描数据点,可以将数据簇内包含的所有直线特征识别出来。
[0066]
例如,圆弧检测过程包括:选取数据簇内的任意两个扫描数据点pi和pj,在扫描数据点pi和pj之间任意选取两个扫描数据点pa和pb,分别计算∠pipapj和∠pipbpj,并计算∠pipapj与∠pipbpj之间的差值δθ;遍历数据簇内的所有扫描数据点,得到差值序列[δθ1,δθ2,...,δθm];计算差值序列的标准差,若差值序列的标准差小于3
°
,则判断该数据簇包含圆弧特征。需要说明的是,在圆上任意取两点可以形成一段圆弧,在圆弧上任意取两点,与圆弧的两端点形成的圆周角相等。根据这个特性,本发明在数据簇内先任意取两点pi和pj作为线段的端点,在这两点之间再任意选取两点pa和pb,然后根据扫描点坐标计算出∠pipapj和∠pipbpj。如果∠pipapj=∠pipbpj,则表明pi和pj的连线为圆弧,遍历数据簇内的所有扫描数据点,将数据簇内包含的圆弧特征识别出来。
[0067]
例如,
[0068]
需要说明的是,如果检测不出严格的圆弧,那就认为该线段为弧线。检测出圆弧后,利用坐标点以及圆周角可以进一步计算出圆弧的半径。
[0069]
例如,直角检测过程包括:选取包含直线特征的数据簇;获取数据簇内的所有直线特征的斜率ki,对斜率ki进行两两比较,若两个斜率的乘积等于1,则判断该数据簇内包含直角特征。
[0070]
或者,直角检测过程包括:依次选取数据簇内相邻的七个扫描数据点pi~p
i+6
;计算相邻的三个扫描数据点pi~p
i+2
在p
i+1
处的第一夹角;计算相邻的三个扫描数据点p
i+4
~p
i+6
在p
i+5
处的第二夹角;计算相邻的三个扫描数据点p
i+2
~p
i+4
在p
i+3
处的第三夹角;若第一夹角和第二夹角均在175
°
~185
°
之间且第三夹角在85
°
~95
°
之间,则判断该数据簇包含直角特征。
[0071]
可以理解的是,本发明在进行分类检测时,并没有采用霍夫变换、最小二乘法等拟合方式,而是基于三角函数、斜率等来进行分类检测,这是为了简化运算方式,降低整体的运算量,还能够提高分类检测的鲁棒性。
[0072]
对每个数据簇进行直线检测、圆弧检测、直角检测后,可以识别出数据簇中包含的几何特征,例如,数据簇c1仅包含直线特征,数据簇c2包含直线特征和圆弧特征,数据簇c3包含弧线特征,数据簇c4包含直线特征和直角特征,等等。识别出几何特征后,还需要将属于同一个数据簇的几何特征进行关联。关联过程包括:将数据簇中的所有扫描数据点逐一相连,计算不同几何特征的长度;若数据簇中仅包含直线特征,则判断障碍物为直线墙体;若
数据簇中包含直线特征和直角特征,则判断障碍物为方形柱;若数据簇中包含直线特征和圆弧特征,则判断障碍物为圆形柱。由此,可以识别出每个数据簇对应的障碍物类型。
[0073]
例如,分类检测过程还包括:对每个数据簇中的扫描数据进行人腿检测,人腿检测过程包括:分别计算每个数据簇的中心点,选取两个中心点并计算两个中心点之间的距离l,若距离l在0.2m~0.5m之间,则判断扫描数据中存在人腿特征。数据簇的中心点可以通过计算点与点之间的距离获得,当数据簇内的某一个点与其他点之间的距离在一定范围内,可以认为是中心点。人在行走时,两腿之间的距离一般在0.2m~0.5m之间,如果两个中心点之间的距离落在该范围内,则可以认为该目标物为人腿。为了提高检测准确性,可以结合摄像头进行辅助判断,当对单线激光雷达的扫描数据进行检测后,再通过摄像头的画面图像进行判断,最终确定目标物是否为人腿。
[0074]
综上所述,本发明的基于单线激光雷达的车库障碍物实时检测方法,通过对聚类方式、分类检测方式的改进,可以简化运算的复杂度(复杂度在o(n)阶),降低运算量。并且,本发明通过对数据的几何特征进行检测,可以实现快速识别障碍物的类型,实现自动驾驶车辆的自动避障。本发明具有低算力、低成本、检测速度快的优点。
[0075]
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要如权利要求范围来确定其技术性范围。
技术特征:
1.一种低算力的基于单线激光雷达的车库障碍物实时检测方法,其特征在于,包括以下步骤:s1:在自动驾驶车辆的行驶过程中,利用单线激光雷达实时进行扫描,获取对车库的扫描数据;s2:对所述扫描数据进行聚类处理,得到多个数据簇;s3:对每个数据簇依次进行分类检测,得到每个数据簇的分类结果;s4:根据所述分类结果输出障碍物的类型。2.如权利要求1所述的车库障碍物实时检测方法,其特征在于,步骤s2中的聚类处理包括:s21:建立初始数据簇c
x
;s22:按照所述扫描数据的顺序,依次计算相邻两个扫描数据点p
i
和p
i+1
之间的距离值d
i
;s22:若所述距离值d
i
小于或等于距离阈值d
set
,则将所述扫描数据点p
i
和p
i+1
归属于数据簇c
x
;若所述距离值d
i
大于距离阈值d
set
,则建立新的数据簇c
x+1
,将所述扫描数据点p
i+1
归属于所述数据簇c
x+1
;s23:重复步骤s22至s23,直至将所有的扫描数据点分成多个数据簇c1~c
x+1
。3.如权利要求2所述的车库障碍物实时检测方法,其特征在于,步骤s3中的分类检测过程包括:s31:对每个数据簇中的扫描数据依次进行直线检测、圆弧检测、直角检测,得到每个数据簇中包含的几何特征;s32:将数据簇包含的几何特征进行关联得到该数据簇包含的障碍物的形状。4.如权利要求3所述的车库障碍物实时检测方法,其特征在于,所述直线检测过程包括:依次计算所述数据簇内相邻的三个扫描数据点p
n-1
、p
n
和p
n+1
在p
n
点处的夹角,得到夹角序列[a0,a1,...,a
n-1
];计算所述夹角序列的平均值和标准差;若夹角序列的平均值在175
°
~185
°
之间且夹角序列的标准差小于3
°
,则判断该数据簇包含直线特征。5.如权利要求3所述的车库障碍物实时检测方法,其特征在于,所述圆弧检测过程包括:选取所述数据簇内的任意两个扫描数据点p
i
和p
j
,在所述扫描数据点p
i
和p
j
之间任意选取两个扫描数据点p
a
和p
b
,分别计算∠p
i
p
a
p
j
和∠p
i
p
b
p
j
,并计算∠p
i
p
a
p
j
与∠p
i
p
b
p
j
之间的差值δθ;遍历数据簇内的所有扫描数据点,得到差值序列[δθ1,δθ2,...,δθ
m
];计算所述差值序列的标准差,若差值序列的标准差小于3
°
,则判断该数据簇包含圆弧特征。6.如权利要求4所述的车库障碍物实时检测方法,其特征在于,所述直角检测过程包括:选取包含直线特征的数据簇;
获取所述数据簇内的所有直线特征的斜率k
i
,对所述斜率k
i
进行两两比较,若两个斜率的乘积等于1,则判断该数据簇内包含直角特征。7.如权利要求4所述的车库障碍物实时检测方法,其特征在于,所述直角检测过程包括:依次选取所述数据簇内相邻的七个扫描数据点p
i
~p
i+6
;计算相邻的三个扫描数据点p
i
~p
i+2
在p
i+1
处的第一夹角;计算相邻的三个扫描数据点p
i+4
~p
i+6
在p
i+5
处的第二夹角;计算相邻的三个扫描数据点p
i+2
~p
i+4
在p
i+3
处的第三夹角;若第一夹角和第二夹角均在175
°
~185
°
之间且第三夹角在85
°
~95
°
之间,则判断该数据簇包含直角特征。8.如权利要求3所述的车库障碍物实时检测方法,其特征在于,所述分类检测过程还包括:对每个数据簇中的扫描数据进行人腿检测,人腿检测过程包括:分别计算每个数据簇的中心点,选取两个中心点并计算两个中心点之间的距离l,若距离l在0.2m~0.5m之间,则判断所述扫描数据中存在人腿特征。9.如权利要求3所述的车库障碍物实时检测方法,其特征在于,步骤s32中,几何特征的关联过程包括:将数据簇中的所有扫描数据点逐一相连,计算不同几何特征的长度;若所述数据簇中仅包含直线特征,则判断障碍物为直线墙体;若所述数据簇中包含直线特征和直角特征,则判断障碍物为方形柱;若所述数据簇中包含直线特征和圆弧特征,则判断障碍物为圆形柱。10.如权利要求2所述的车库障碍物实时检测方法,其特征在于,聚类处理后,将扫描数据、数据簇、相邻两个扫描数据点之间的距离以及数据簇内所有扫描数据点的累计距离进行储存。
技术总结
本发明公开了一种低算力的基于单线激光雷达的车库障碍物实时检测方法,包括以下步骤:S1:在自动驾驶车辆的行驶过程中,利用单线激光雷达实时进行扫描,获取对车库的扫描数据;S2:对扫描数据进行聚类处理,得到多个数据簇;S3:对每个数据簇依次进行分类检测,得到每个数据簇的分类结果;S4:根据分类结果输出障碍物的类型。本发明通过聚类处理,可以将障碍物分为大型物体、中型物体、小型物体;通过分类检测进行几何特征分析可以识别出具体的物体种类,由此,可以降低对扫描数据的处理运算量,提高处理效率。提高处理效率。提高处理效率。
技术研发人员:曹毕野
受保护的技术使用者:上海慧场新能源科技有限公司
技术研发日:2023.05.08
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/