CN107122734A - 一种基于机器视觉和机器学习的运动车辆检测算法 - Google Patents
一种基于机器视觉和机器学习的运动车辆检测算法 Download PDFInfo
- Publication number
- CN107122734A CN107122734A CN201710278795.6A CN201710278795A CN107122734A CN 107122734 A CN107122734 A CN 107122734A CN 201710278795 A CN201710278795 A CN 201710278795A CN 107122734 A CN107122734 A CN 107122734A
- Authority
- CN
- China
- Prior art keywords
- image
- feature
- vehicle
- sample
- machine learning
- Prior art date
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 24
- 239000000284 extracts Substances 0.000 claims abstract description 14
- 238000000034 methods Methods 0.000 claims abstract description 5
- 230000000877 morphologic Effects 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 3
- 230000035772 mutation Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 241000196324 Embryophyta Species 0.000 claims description 2
- 238000010606 normalization Methods 0.000 claims description 2
- 241001157067 Leucoagaricus meleagris Species 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical Effects 0.000 description 4
- 238000004364 calculation methods Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 210000003128 Head Anatomy 0.000 description 1
- 240000007871 Indigofera tinctoria Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000875 corresponding Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering processes Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001131 transforming Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06K—RECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K9/00—Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
- G06K9/00624—Recognising scenes, i.e. recognition of a whole field of perception; recognising scene-specific objects
- G06K9/00791—Recognising scenes perceived from the perspective of a land vehicle, e.g. recognising lanes, obstacles or traffic signs on road scenes
- G06K9/00825—Recognition of vehicle or traffic lights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06K—RECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K9/00—Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
- G06K9/62—Methods or arrangements for recognition using electronic means
- G06K9/6217—Design or setup of recognition systems and techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06K9/6256—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging, boosting
Abstract
Description
一种基于机器视觉和机器学习的运动车辆检测算法
技术领域
[0001] 本发明涉及车辆检测技术领域,更具体地说,涉及一种基于机器视觉和机器学习的运动车辆检测算法。
背景技术
[0002] 车辆检测是汽车辅助驾驶系统中的一个研究重点。目前基于视觉传感器的车辆检测方法主要分为以下三种方法:基于先验知识的方法、基于运动信息的方法以及基于机器学习算法的方法。
[0003] 基于先验知识的车辆检测方法主要是指使用车底阴影、车尾灯、车体水平(竖边缘、车体角点信息)及车体对称性等简单的车辆图像特征对车辆感兴趣区域进行确定。这种方法虽然时间花费少但检测精度低,误检、漏检率较高。基于运动信息典型的方法就是光流场法。光流法是通过摄像头移动形成的光流和车辆运动造成的光流场的差异来确定车辆信息。光流法由于其计算量很大,导致实时性较差,并且远距离光流场较弱,容易造成漏检和误检。基于机器学习的车辆检测方法主要是将车辆特征用相应的描述子进行表示,然后使用机器学习方法对样本的特征集进行训练,最后用训练得到的分类器进行车辆检测。基于机器学习的方法检测精度较高,对环境适应性好,但对硬件要求较高,对整幅图象用不同大小窗口进行遍历计算量较大。
[0004] 由于车辆自身的复杂变化,包括车辆快速运动、车辆尺度变化、车辆旋转、姿态变化和车辆受相似物干扰、车辆部分甚至全部遮挡等,以及复杂的外部环境,如摄像头移动、抖动、光线变化和恶劣的雨雪天气等,使得车辆目标的准确检测仍然存在诸多难点。针对上述情况,设计一种同时满足精确性和实时性的车辆检测算法显得十分必要。
发明内容
[0005] 本发明要解决的技术问题在于,提供一种基于机器视觉和机器学习的运动车辆检 测算法。
[0006] 本发明解决其技术问题所采用的技术方案是:构造一种基于机器视觉和机器学习的运动车辆检测算法,包括以下步骤:
[0007] 步骤S010,通过安装在车辆内后视镜下的摄像头采集道路前方场景视频流,从视频流中获取当前帧的数据;
[0008] 步骤S020,提取车辆假设区域;
[0009] 步骤S030,验证车辆假设区域。
[0010] 优选地,在上述步骤S020中,包括以下步骤:
[0011] 步骤S021,对摄像头读入的每一帧图像进行感兴趣区域的划分,将图像垂直方向从下到上1/3图像大小的区域剔除;
[0012] 步骤S022,采用加权平均法对步骤S021处理后的彩色图像进行灰度处理;
[0013] 步骤S023,对灰度图像进行图像去噪;
[0014] 步骤S024,对去噪后的图像进行图像阈值分割;
[0015] 步骤S025,对二值化图像进行形态学处理;
[0016] 步骤S026,选用面积和矩形度两种特征描述子来剔除形态学处理后的图像中非目标区域;
[0017] 步骤S027,提取并合并阴影线。
[0018] 优选地,在上述步骤S030中,包括以下步骤:
[0019] 步骤S031,图像预处理;
[0020] 步骤S032,提取特征;
[0021] 步骤S033,离线训练分类器;
[0022] 步骤S034,测试分类器;
[0023] 步骤S035,应用经步骤S033训练和步骤S034测试的分类器对步骤S020提取到的车辆假设区域进行验证;
[0024] 步骤S036,输出带框车辆的图像序列。
[0025] 进一步地,在上述步骤S023中,采用中值滤波来进行图像去噪,对邻域内的采样数据进行排序后取中值来替代中心像素灰度值。
[0026] 进一步地,在上述步骤S024中,先将灰度图像使用Canny算子进行边缘检测来提取图像边缘特征,沿垂直方向从图像底部进行扫描,把灰度值突变前的区域作为路面区域,然后计算出路面区域的均值和标准差,最后选取阈值为均值减去3倍的标准差来进行二值化。
[0027] 进一步地,在上述步骤S027中,将二值图像从上到下、从左到右依次扫描,对于每一行像素,若像素点满足f (x-l,y)-f (x,y) = = l&&f (x,y)-f (x+l,y) ==〇,则将其标记为lstart,若像素点满足 f(x,y)-f (x_l,y) ==0&&f(x+l,y)_f(x,y) = = 1,则将其标记为lend; 然后设定阴影线长度为Iength = Iend-Istart,图像和实际车辆的关系为
其中,Wp为 车辆实际宽度,H为摄像头与地面间的高度,y为阴影线在Y轴上的所在行,w为目标在图像上的长度,若Iength满足0.8w< Iength< 1.2w,则判定为可能的阴影线,否则剔除掉;当任意两条阴影线段满足在垂直方向上两条线段所在行相差小于5个像素并且两条线段在水平方向的绝对距离值小于7个像素,则对这两条阴影线进行合并。
[0028] 进一步地,在上述步骤S031中,按
对图像进行预处理,其中《‘_(»,ΐ)表 示归一化之后的图像,i(x,y)表示原始的图像,μ表示图像的均值,σ表示图像的标准差。
[0029] 进一步地,在上述步骤S032中,选用水平和垂直的Haar-Iike边缘特征以及水平和垂直的Haar-I ike线性特征来作为分类器的特征向量。
[0030] 进一步地,在上述步骤S033中,采用监督型机器学习算法Adaboost离线训练分类器,首先赋予每一个训练样本相同的一个权重,迭代初始各样本比重均等,在迭代运算的过程中,各样本的权重值大小由样本是否被正确分类所决定,当样本被错误分类时,将增加其权重值,反之,则减少其权重值,实现被错误分类的样本在后续迭代运算的过程更被关注;构建弱分类器的流程如下:对于η个样本、m个特征的样本数据,首先对于每一个特征,计算η个样本在该特征下的特征值,然后将特征值从小到大排序,计算选取某个特征值作为分类阈值时的分类错误率,选取错误率最小的的特征为该弱分类器的特征。
[0031] 进一步地,在上述步骤S034中,首先输入正负车辆样本集,然后对图像进行预处 理,再提取图像的Haar-Iike特征,随后将特征向量输入Adaboost来训练得到分类器。
[0032] 实施本发明一种基于机器视觉和机器学习的运动车辆检测算法,具有以下有益效果:
[0033] 本发明所设计的运动车辆检测方法精度高,计算过程简单,鲁棒性好,较好地提高了车辆实时检测的速度和准确度。
附图说明
[0034] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0035] 图1为本发明实施例整个车辆检测算法的流程图;
[0036] 图2为本发明实施例车辆检测算法中加权所得灰度图;
[0037] 图3为本发明实施例车辆检测算法中提取到的车辆前方的路面区域;
[0038] 图4为本发明实施例车辆检测算法中路面像素灰度值分布图;
[0039] 图5为本发明实施例车辆检测算法中经过阈值分割之后的二值化图像;
[0040] 图6为本发明实施例车辆检测算法中二值图经过形态化处理之后图像;
[0041] 图7为本发明实施例车辆检测算法中剔除不合适区域之后的图像;
[0042] 图8为本发明实施例车辆检测算法中剔除不合适线段之后的图像;
[0043] 图9为本发明实施例车辆检测算法中合并阴影线之后的图像;
[0044] 图10为本发明实施例车辆检测算法中车辆假设区域产生后的图像;
[0045] 图11为本发明实施例车辆检测算法中车辆假设区域验证后的图像;
[0046] 图12为本发明实施例车辆检测算法中分类器训练的流程图;
[0047] 图13为本发明实施例车辆检测算法中分类器测试的流程图。
具体实施方式
[0048] 为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
[0049] 如图1所示,本发明提供一种基于机器视觉和机器学习的运动车辆检测算法,包括以下步骤:
[0050] 步骤S010,通过安装在车辆内后视镜下的摄像头采集道路前方场景视频流,从视频流中获取当前帧的数据。
[0051] 步骤S020,提取车辆假设区域。在步骤S020中,包括以下步骤:
[0052] 步骤S021,对摄像头读入的每一帧图像进行感兴趣区域的划分。由于摄像头本身的垂直视角的关系,摄像头获取的原始图像会包含一部分车辆自身的部分,这部分在车辆检测中是无用的,因此首先把它去掉。在本实施例中,将图像垂直方向从下到上1/3图像大小的区域去掉,具体划分区域的参数大小可根据摄像头安装位置及车型选取。
[0053] 步骤S022,采用加权平均法对步骤S021处理后的彩色图像进行灰度处理。由于摄像头获取的原始图像为RGB的真彩色图像,虽然包含信息丰富,但在后续算法中是没有必要的,因此我们把它转化为单通道的灰度图。人眼对三原色的敏感度从高到低分别是绿、红、蓝,因此为了得到最符合人眼感观的灰度图,在本实施例中,选用加权平均法来将彩色图像转化为灰度图,具体转化关系为:R=G = B = O. 299R+0.587G+0.114B。
[0054] 步骤S023,对灰度图像进行图像去噪。由于摄像头本身的精度和外界环境的影响,图像中一般会夹杂一些不必要的噪声对目标检测产生影响。因此,在目标检测之前要对图像进行去噪处理。在本实施例中,采用中值滤波来进行图像去噪,这种算法在有效去除噪声的同时还能够最大限度地保留图像的边缘细节信息。这种算法对邻域内的采样数据进行排序后取中值来替代中心像素灰度值。
[0055] 步骤S024,对去噪后的图像进行图像阈值分割。为了得到待处理图像中的车底阴影从而来提取车辆假设区域。在本实施例中,采用改进后的路面阈值法:先将灰度图像使用Canny算子进行边缘检测来提取图像边缘特征,沿垂直方向从图像底部进行扫描,把灰度值突变前的区域作为路面区域,如图3所示,该区域的像素灰度值的分布一般服从高斯分布,如图4所示;然后计算出路面区域的均值和标准差,最后选取阈值为均值减去3倍的标准差来进行二值化,如图5所示。
[0056] 步骤S025,对二值化图像进行形态学处理。对于二值化分割出的阴影区域,边缘可能会出现毛刺或者内部断裂的情况对后续算法产生影响。因此,在本实施例中,应用形态学处理中的闭运算对阴影区域进行修正,选取结构元素为2*3的矩形结构元素来对二值化图像进行闭运算,如图6所示。
[0057] 步骤S026,剔除形态学处理后的图像中非目标区域。经过阴影闽值分割后的图像存在一些非车辆底部阴影的区域,这些区域会干扰对车辆的定位,因此需要排除这些局部区域。由于车辆底部阴影轮廓比较接近矩形以及车辆底部阴影的面积不会太大也不会很小。因此,在本实施例中,选用面积和矩形度两种特征描述子来剔除非目标区域,经过大量试验,面积参数选为10到1000个像素的面积做限定,由于车底阴影有时候不会很规则,因此选用的矩形度余度比较大,为0.3,最后的效果如图7所示。
[0058] 步骤S027,提取并合并阴影线。前方车辆与本车的距离不同致使阴影的水平长度不同,因此可根据透视投影关系设置阈值,将符合条件的车底阴影线保留下来,剔除不满足条件的噪声线段。在本实施例中,将二值图像从上到下、从左到右依次扫描,对于每一行像素,若像素点满足 f (x-l,y)-f (x,y) = = l&&f (x,y)-f (x+l,y) ==〇,则将其标记为 lstart,若像素点满足f (x,y)-f (x-l,y) ==〇驗f (x+l,y)-f (x,y) = = 1,则将其标记为lend;然后设定
阴影线长度为Iength = Iend-Istart,根据透视投影原理,图像和实际车辆的关系为 9 其中,Wp为车辆实际宽度,H为摄像头与地面间的高度,y为阴影线在Y轴上的所在行,w为目标在图像上的长度,若I ength满足0.8w < I eng th < 1.2w,贝Ij判定为可能的阴影线,否则剔除掉,最后效果如图8所示。对于同一辆车会有很多条车底阴影线,为了明确车辆在图像中的位置要对众多阴影线进行合并。因此,在本实施例中,当任意两条阴影线段满足在垂直方向上两条线段所在行相差小于5个像素并且两条线段在水平方向的绝对距离值小于7个像素,则对这两条阴影线进行合并,得到合并后的阴影线如图9所示。此时,根据阴影线的位置信息得到车辆假设区域如图1 〇所示。
[0059] 步骤S030,验证车辆假设区域。在步骤S030中,包括以下步骤:
[0060] 步骤S031,图像预处理。按
吋图像进行预处理,其中表示归一 化之后的图像,i(x,y)表示原始的图像,μ表示图像的均值,σ表示图像的标准差。
[0061] 步骤S032,提取特征。分类器的训练需要样本特征作为输入。在本实施例中,选用 Haar-I ike特征来作为分类器的特征向量,因为Haar-I ike特征具有计算速度快,对边缘特征明显的刚体目标有较好的检测率。优选地,选用四类Haar-Iike特征,包括水平和垂直的Haar-I ike边缘特征以及水平和垂直的Haar-I ike线性特征。
[0062] 步骤S033,离线训练分类器。在本实施例中,采用监督型机器学习算法Adaboost离线训练分类器,首先赋予每一个训练样本相同的一个权重,迭代初始各样本比重均等,在迭代运算的过程中,各样本的权重值大小由样本是否被正确分类所决定,当样本被错误分类时,将增加其权重值,反之,则减少其权重值。这样权值的改变使得算法在后续的运行过程中将更关注于被错误分类的样本,从而提高分类器的性能。构建弱分类器的流程如下:对于η个样本、m个特征的样本数据,首先对于每一个特征,计算η个样本在该特征下的特征值,然后将特征值从小到大排序,计算选取某个特征值作为分类阈值时的分类错误率,选取错误率最小的的特征为该弱分类器的特征。分类器的训练流程如图12所示:首先输入正负车辆样本集,然后对图像进行预处理,再提取图像的Haar-Iike特征,随后将特征向量输入Adaboost来训练得到分类器。
[0063] 步骤S034,测试分类器。测试分类器的实际分类性能,若检测率不满足要求,则需要调整样本集以及特征量的选择,重复步骤S033直至分类器满足要求。分类器的测试流程如图13所示:首先输入测试样本集,然后对图像进行预处理,再提取图像的Haar-Iike特征,随后将特征向量导入分类器模型,最后输出分类结果。
[0064] 步骤S035,应用经步骤S033训练和步骤S034测试的分类器对步骤S020提取到的车辆假设区域进行验证,将验证为非车区域的信息剔除,保留车辆位置信息,最后得到的结果如图11所示。
[0065] 步骤S036,输出带框车辆的图像序列。最后在视频帧中输出检测到车辆的图像及其位置信息,供后续FCW、AEB等功能的使用。
[0066] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710278795.6A CN107122734A (zh) | 2017-04-25 | 2017-04-25 | 一种基于机器视觉和机器学习的运动车辆检测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710278795.6A CN107122734A (zh) | 2017-04-25 | 2017-04-25 | 一种基于机器视觉和机器学习的运动车辆检测算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107122734A true CN107122734A (zh) | 2017-09-01 |
Family
ID=59724806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710278795.6A CN107122734A (zh) | 2017-04-25 | 2017-04-25 | 一种基于机器视觉和机器学习的运动车辆检测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122734A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020248515A1 (zh) * | 2019-06-13 | 2020-12-17 | 苏州玖物互通智能科技有限公司 | 结合帧间差分与贝叶斯分类器的车辆行人检测识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392212A (zh) * | 2014-11-14 | 2015-03-04 | 北京工业大学 | 一种基于视觉的道路信息检测及前方车辆识别方法 |
CN104881661A (zh) * | 2015-06-23 | 2015-09-02 | 河北工业大学 | 基于结构相似度的车辆检测方法 |
EP3104284A1 (en) * | 2015-06-12 | 2016-12-14 | Volkswagen Aktiengesellschaft | Automatic labeling and learning of driver yield intention |
CN106529530A (zh) * | 2016-10-28 | 2017-03-22 | 上海大学 | 一种基于单目视觉的前方车辆检测方法 |
-
2017
- 2017-04-25 CN CN201710278795.6A patent/CN107122734A/zh active Search and Examination
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392212A (zh) * | 2014-11-14 | 2015-03-04 | 北京工业大学 | 一种基于视觉的道路信息检测及前方车辆识别方法 |
EP3104284A1 (en) * | 2015-06-12 | 2016-12-14 | Volkswagen Aktiengesellschaft | Automatic labeling and learning of driver yield intention |
CN104881661A (zh) * | 2015-06-23 | 2015-09-02 | 河北工业大学 | 基于结构相似度的车辆检测方法 |
CN106529530A (zh) * | 2016-10-28 | 2017-03-22 | 上海大学 | 一种基于单目视觉的前方车辆检测方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020248515A1 (zh) * | 2019-06-13 | 2020-12-17 | 苏州玖物互通智能科技有限公司 | 结合帧间差分与贝叶斯分类器的车辆行人检测识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104298976B (zh) | 基于卷积神经网络的车牌检测方法 | |
CN105260699B (zh) | 一种车道线数据的处理方法及装置 | |
CN105373794B (zh) | 一种车牌识别方法 | |
Bautista et al. | Convolutional neural network for vehicle detection in low resolution traffic videos | |
Wen et al. | An algorithm for license plate recognition applied to intelligent transportation system | |
Kim et al. | Learning-based approach for license plate recognition | |
Comelli et al. | Optical recognition of motor vehicle license plates | |
CN102147869B (zh) | 基于前景分析和模式识别的行人检测方法 | |
CN102854191B (zh) | 高速铁轨表面缺陷的实时视觉检测与识别方法 | |
Duan et al. | Building an automatic vehicle license plate recognition system | |
US8340420B2 (en) | Method for recognizing objects in images | |
CN101859382B (zh) | 一种基于最大稳定极值区域的车牌检测与识别的方法 | |
CN102722704B (zh) | 一种融合视频动态跟踪的车牌识别方法和系统 | |
Saha et al. | License Plate localization from vehicle images: An edge based multi-stage approach | |
CN103761531B (zh) | 基于形状轮廓特征的稀疏编码车牌字符识别方法 | |
TWI384408B (zh) | 影像辨識以及輸出方法與其系統 | |
CN103886308B (zh) | 一种使用聚合通道特征和软级联分类器的行人检测方法 | |
CN105184271A (zh) | 一种基于深度学习的车辆自动检测方法 | |
CN104134079B (zh) | 一种基于极值区域和极限学习机的车牌识别方法 | |
CN104299008B (zh) | 基于多特征融合的车型分类方法 | |
CN102163284B (zh) | 面向中文环境的复杂场景文本定位方法 | |
CN101398894B (zh) | 机动车车牌自动识别方法及其实现装置 | |
CN104809443A (zh) | 基于卷积神经网络的车牌检测方法及系统 | |
CN105354568A (zh) | 基于卷积神经网络的车标识别方法 | |
CN103473571B (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 |