1.本发明涉及车辆领域,具体涉及一种车辆车型的识别方法。
背景技术:2.中国汽车保有量每年在不断增加,随着车辆的增多,交通堵塞、车辆事故等事件也日益增多。为了解决这些问题,智能交通系统应运而生,其将人、车、路紧密联系起来,有效地缓解了各种交通问题。车辆车型的准确识别是智能交通系统的核心功能之一。车型识别就是利用传感器、图像分析、计算器等技术区分不同品牌或者不同功能用途的车辆的问题。车型识别系统可以广泛地应用于多种交通情况中,如高速公路的电子收费系统可根据不同车型进行差别收费,交管系统检测城市限行道路上的违章车辆等等。
3.解决车型识别问题一般有两种途径,第一种是通过传感器设备来进行车型的识别,在实际应用中,经常使用雷达、地感线圈等设备获取车辆大小等参数进行车型分析,但是硬件要求高,不易维护,使用成本大;第二种就是利用图像分析手段,利用视频采集道路上行驶车辆的信息,然后根据特征分类进行车型识别,但是纯视觉的方案对远处的物体测距、测速、定位误差较大,且算法设计复杂,算法要求较高,同时系统的稳定性很难保证,无形中增加了后端硬件设备的成本,而且在光照不理想、大雾、暴雨等恶劣条件下,纯视觉的方案精度较差甚至带了很多误检误报,可靠性大大降低。
4.目前,车型识别系统大多采用图像配合毫米波雷达的方案,其中,图像部分采用图形处理技术,毫米波雷达可以完成车辆的精确测距、测速和检测车辆外部轮廓,但是该方案无法识别道路指示牌,难以识别较远处的目标,并且无法用于视觉识别,同时,其与图像传感器很难做到信息融合,在实际应用方面仍存在一定的不足。
技术实现要素:5.有鉴于此,本发明的目的是克服现有技术中的缺陷,提供车辆车型的识别方法,能够有效地对路侧的车辆车型进行识别,识别效果好,识别精度高,应用前景广。
6.本发明的车辆车型的识别方法,包括如下步骤:
7.s1.构建车辆模型库;
8.s2.采集车辆经过目标测量区域时的时序图像以及点云信息;
9.s3.对所述时序图像进行拼接处理,得到所述车辆经过目标测量区域的完整图像,并对所述车辆的完整图像进行识别,得到所述车辆的轴数;
10.s4.对所述车辆的点云信息进行聚类处理,得到所述车辆的长度、宽度以及高度;
11.s5.将所述车辆的轴数、长度、宽度以及高度作为所述车辆的外观轮廓参数,构建所述车辆的外观轮廓模型;
12.s6.从所述车辆模型库中查找与所述车辆的外观轮廓模型相同的目标车辆,并将所述目标车辆的车型作为所述车辆的车型。
13.进一步,步骤s2中,使用全局曝光模式的相机采集车辆的时序图像,并使用激光雷
达采集车辆的点云信息。
14.进一步,步骤s3中,对所述时序图像进行拼接处理,得到所述车辆经过目标测量区域的完整图像,具体包括:
15.s31.确定时序图像中相邻帧图像之间的图像特征区域;
16.s32.确定所述图像特征区域中的特征点,并生成所述特征点的描述子;
17.s33.根据所述描述子对图像进行拼接,得到所述车辆的完整图像。
18.进一步,步骤s31中,根据如下公式确定所述图像特征区域:
[0019][0020]
其中,f
target
为目标特征;f
target
=1时表示前景;f
target
=0时表示背景;f
d
(x,y)为相邻两帧图像之间的绝对值;x与y为相邻的两帧图像;t为设定的阈值。
[0021]
进一步,所述步骤s32中,采用surf算法确定所述图像特征区域中的特征点,并生成所述特征点的描述子;其中,所述surf算法的核心矩阵h为:
[0022][0023]
所述核心矩阵h的判别式det(h)为:
[0024][0025]
所述f(x,y)表示图像,x、y为图像参数。
[0026]
进一步,根据如下公式确定所述核心矩阵h:
[0027][0028]
其中,x为图像中的像素点;σ为所述像素点的尺度;h(x,σ)是图像中像素点的hessian矩阵;l
xx
(x,σ)、l
xy
(x,σ)、l
yy
(x,σ)分别是l
xx
、l
xy
、l
yy
对应的高斯微分算子;l
xx
、l
xy
、l
yy
为高斯滤波后的图像在各方向的二阶导数。
[0029]
进一步,步骤s3中,对所述车辆的完整图像进行识别,得到所述车辆的轴数,具体包括:
[0030]
a.将图像二维坐标系的圆形检测问题转化为空间坐标系中点的检测问题;其中,圆形的笛卡尔空间表达式为:
[0031]
(x
‑
x1)2+(y
‑
y1)2=r2;
[0032]
其中,x、y表示坐标向量,x1、y1表示圆心坐标,r表示圆的半径;
[0033]
b.对连续的图像边缘做离散化处理,并判断所有距离为r的像素点(x1,y1)的像素值是否大于0,若是,则将空间(x1,y1,r)的数值加1,若否,则不做处理;
[0034]
c.统计空间集合中(x1,y1,r)的数值大于设定空间阈值的空间个数,并将所述空间个数作为车辆的轴数。
[0035]
进一步,步骤s4中,根据如下公式确定所述车辆的长度:
[0036]
l=l
max
‑
l
min
[0037]
其中,l
max
为点云数据中x轴对应的最大坐标值;l
min
为点云数据中x轴对应的最小坐标值;
[0038]
根据如下公式确定所述车辆的宽度:
[0039]
w=w
max
‑
w
min
[0040]
其中,w
max
为点云数据中y轴对应的最大坐标值;w
min
为点云数据中y轴对应的最小坐标值;
[0041]
根据如下公式确定所述车辆的高度:
[0042]
h=h
max
‑
h
min
[0043]
其中,h
max
为点云数据中z轴对应的最大坐标值;h
min
为点云数据中z轴对应的最小坐标值。
[0044]
本发明的有益效果是:本发明公开的一种车辆车型的识别方法,通过采集经过目标测量区域的车辆的图像信息以及点云信息,并对图像信息进行拼接处理,以及对点云信息进行聚类处理,进而得到车辆的轴数以及长宽高,依据处理后的车辆信息构建车辆的外观轮廓,并在车辆模型库中查找与所述车辆相匹配的目标车辆,进而将目标车辆的车型作为所述车辆的车型,本发明能够有效地对路侧的车辆车型进行识别,识别效果好,识别精度高,应用前景广。
附图说明
[0045]
下面结合附图和实施例对本发明作进一步描述:
[0046]
图1为本发明的方法流程示意图;
[0047]
图2为本发明的采集车辆信息的示意图。
具体实施方式
[0048]
以下结合说明书附图对本发明做出进一步的说明,如图1所示:
[0049]
本发明的车辆车型的识别方法,包括如下步骤:
[0050]
s1.构建车辆模型库;本实施例中,根据gb1589
‑
2016(《道路车辆外廓尺寸、轴荷及质量限值》)建立车辆模型库;所述车辆模型库为含有外廓尺寸、轴荷以及质量限值等车辆信息的各种类型车辆的集合;
[0051]
s2.采集车辆经过目标测量区域时的时序图像以及点云信息;
[0052]
s3.对所述时序图像进行拼接处理,得到所述车辆经过目标测量区域的完整图像,并对所述车辆的完整图像进行识别,得到所述车辆的轴数;
[0053]
s4.对所述车辆的点云信息进行聚类处理,得到所述车辆的长度、宽度以及高度;
[0054]
s5.将所述车辆的轴数、长度、宽度以及高度作为所述车辆的外观轮廓参数,构建所述车辆的外观轮廓模型;
[0055]
s6.从所述车辆模型库中查找与所述车辆的外观轮廓模型相同的目标车辆,并将所述目标车辆的车型作为所述车辆的车型。
[0056]
本实施例中,如图2所示,将相机以及激光雷达设置在车道旁,并根据实际应用场景以及相机与激光雷达的实际作用范围,划定目标测量区域,并使用全局曝光模式的相机
采集车辆的时序图像,并使用激光雷达采集车辆的点云信息,从而保证拍摄的图片不会出现拖影。其中,所述点云信息为通过激光雷达中的扫描仪进行车辆数据采集获取点云数据;所述点云信息包括三维坐标和激光反射强度,通过聚类可以得到目标点云块是否属于同一车辆;所述激光雷达采用现有技术,在此不再赘述。
[0057]
本实施例中,步骤s3中,对所述时序图像进行拼接处理,得到所述车辆经过目标测量区域的完整图像,具体包括:
[0058]
s31.确定时序图像中相邻帧图像之间的图像特征区域;
[0059]
s32.确定所述图像特征区域中的特征点,并生成所述特征点的描述子;
[0060]
s33.根据所述描述子对图像进行灰度化、去噪声、二值化、边缘检测等处理,得到只有车辆轮廓的黑白图像。
[0061]
本实施例中,步骤s31中,当监测场景中出现异常目标运动时,相邻两帧图像之间会出现较为明显的差别,两帧相减,可求得图像对应位置像素值差的绝对值,通过判断该绝对值是否大于某一阈值,进而分析图像(或视频)序列的物体运动特性。其中,根据如下公式确定所述图像特征区域:
[0062][0063]
其中,f
target
为目标特征;f
target
=1时表示前景;f
target
=0时表示背景;f
d
(x,y)为相邻两帧图像之间的绝对值;x与y为相邻的两帧图像;t为设定的阈值。
[0064]
本实施例中,所述步骤s32中,surf算法是在不同的尺度空间上查找特征点,在剔除不合格的特征点之后重新分配特征点,最后生成特征点的描述子;其中,所述surf算法的核心矩阵h为:
[0065][0066]
所述核心矩阵h的判别式det(h)为:
[0067][0068]
所述f(x,y)表示图像,x、y为图像参数;其中,判别式det(h)的值是矩阵h的特征值,可以利用判定结果的符号将所有像素点进行分类;具体地,若det(h)为正,则该像素点为极小值,若det(h)为负,则该像素点为极大值。
[0069]
在surf算法中,用图像像素代替函数值f(x,y),选用二阶标准高斯函数作为滤波器,通过特定核间的卷积计算二阶偏导数,本实施例中,根据如下公式确定所述核心矩阵h:
[0070][0071]
其中,x为图像中的像素点;σ为所述像素点的尺度;h(x,σ)是图像中像素点的hessian矩阵;l
xx
(x,σ)、l
xy
(x,σ)、l
yy
(x,σ)分别是l
xx
、l
xy
、l
yy
对应的高斯微分算子;l
xx
、l
xy
、l
yy
为高斯滤波后的图像在各方向的二阶导数。
[0072]
本实施例中,步骤s3中,对所述车辆的完整图像进行识别,得到所述车辆的轴数,具体包括:
[0073]
a.使用hough圆检测将图像二维坐标系的圆形检测问题转化为空间坐标系中点的检测问题;其中,圆形的笛卡尔空间表达式为:
[0074]
(x
‑
x1)2+(y
‑
y1)2=r2;
[0075]
其中,x、y表示坐标向量,x1、y1表示圆心坐标,r表示圆的半径;
[0076]
b.对连续的图像边缘做离散化处理,对半径r步长的进行设定,并分析图像中存在的边缘点,判断所有距离为r的像素点(x1,y1)的像素值是否大于0,若是,则将空间(x1,y1,r)的数值加1,若否,则不做处理;其中,所述图像为二值化图像,1为白色,其表示检测到的边缘,0为黑色,若符合同一个半径圆的像素点存在的越多,则该类像素点组成的形状越有可能是个圆;
[0077]
c.统计空间集合中(x1,y1,r)的数值大于设定空间阈值的空间个数,并将所述空间个数作为车辆的轴数。其中,若超过设定的空间阈值,则认定所述空间的形状为圆,所述空间阈值根据车辆交通场景设定。
[0078]
本实施例中,步骤s4中,根据车辆点云信息,得出点云信息中每个像素点的坐标值,根据如下公式确定所述车辆的长度:
[0079]
l=l
max
‑
l
min
[0080]
其中,l
max
为点云数据中x轴对应的最大坐标值;l
min
为点云数据中x轴对应的最小坐标值;
[0081]
根据如下公式确定所述车辆的宽度:
[0082]
w=w
max
‑
w
min
[0083]
其中,w
max
为点云数据中y轴对应的最大坐标值;w
min
为点云数据中y轴对应的最小坐标值;
[0084]
根据如下公式确定所述车辆的高度:
[0085]
h=h
max
‑
h
min
[0086]
其中,h
max
为点云数据中z轴对应的最大坐标值;h
min
为点云数据中z轴对应的最小坐标值。
[0087]
根据上述得到的车辆轴数、长度、宽度以及高度信息,得到所述车辆的总体外观轮廓信息,然后根据外观轮廓信息建立车辆的外观轮廓模型。将所述车辆的外观轮廓模型输入到车辆模型库中,从所述车辆模型库中找到与所述车辆的外观轮廓相同的目标车辆,比如所述车辆为二轴,长度约为10000mm,宽度约为2550mm,高度约为4000mm,将所述车辆输入到车辆模型库中进行匹配,找到的目标车辆为平板式半挂车,则该平板式半挂车的车型即为所述车辆的车型。
[0088]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。