热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前方车辆检测的常用方法

from:http:blog.csdn.netviewcodearticledetails20358367前方车辆检测,这里指的是基于车辆自身对象,而

from: http://blog.csdn.net/viewcode/article/details/20358367

前方车辆检测,这里指的是基于车辆自身对象,而不是公路交通部分的车辆检测。

前方车辆检测,可以用于防碰撞系统、进而用于自动巡航(ACC)等功能,应用场景广泛,所以,此技术是一项比较基础的技术。而先前的ACC,只是基于正前方车辆的检测,对于侧面的车辆或环境的跟踪能力有限。但随着各种传感器和导航地图的应用,ACC的能力也会大大增强。ACC只用于高速行驶状态,但已有低速跟车系统的研究,某公司已计划未来两年内上市。



1. 传感器

前方车辆检测,常用的传感器有高频雷达(毫米波)、红外激光雷达、摄像头。

每种传感器都有各自的优缺点:

雷达:自己可选用的波段有限,常用24G(厘米波)、79G波段。对雨雾天气的适应能力好,探测距离大150米,但容易受电磁干扰影响。据传,79G雷达技术对国内有限制的。而欧盟和我国的工信部是建议24G作为车载雷达波段。而美国是推荐79G波段作为车载雷达的使用波段。http://www.srrc.org.cn/NewsShow6038.aspx

红外激光:抗干扰能力强,定向性。但对于雨雾天气的穿透能力弱。且成本高。

摄像头:基于视觉的探测。对距离的判断较弱(单目视觉情况下),易受雨雾天气的影响。


所以,想适应各种场景,厂商一般会采用多种传感器收集信息。


这里重点总结下,基于单目视觉的车辆检测技术。

从视觉上来讲,车辆的形状、颜色和大小虽然限定在一定范围,但都是不固定的,而且,其外形会受到自身姿势和外部环境,如光照或旁边物体的影响。


2. 基于先验知识的特征检测

汽车有一些一些典型的特征, 如对称性、颜色、阴影、几何特征(如角点、边缘)、纹理、车灯。

1)对称性

汽车从前方和后方来看,无论是在区域面积还是边缘特征上,具有很好的对称性。

但是,对称性特征易受噪声的干扰,以及角度的影响。

2)颜色

颜色空间一般不直接使用在车辆上,而比较有效的手段是识别路面和车辆阴影。

3)阴影

车辆阴影是与车辆相关的一个重要的特征。因为车辆阴影一般比周围区域都要暗。但具体的参数指标,还与光照,即天气状况有关。

一般做法是采用两个阈值,一高、一低,低阈值用于确定阴影,而高阈值由阴影周围环境来确定,如局部分割算法,均值+方差。

4)角点

先检测出所有角点,然后再根据角点的空间关系,如汽车的四个角点会形成一个矩形,来筛选汽车。

5)垂直或水平边缘

一种方式,直接检测垂直边缘,利用类似直方图计算垂直投影。然后,车辆底盘下方阴影部分也是重要的水平边缘特征。

另外,也有采用多分辨率的方式,在每个层次都

边缘只是作为一种初步的筛选/搜索手段。

6)纹理

熵、共生矩阵都可被作为基于纹理的图像分割的基础。

7)车灯

主要是用于夜间车辆的探测。因为,以上特征在晚上基本都无效了。

8)基于运动的方法

以上其中都是空间特征。而基于运动的方法是对图像连续序列的分析。如光流法。

但光流法会消耗大量的计算资源,时间和空间。



3. 识别

无论是用遍历的方式,还是用特征筛选出的候选区域,对筛选出的子图像需要进一步识别,车辆还是非车辆。

1)基于模板的方法

采用简化过的车辆模板来筛选。

2)基于外观特征的方法

车辆VS非车辆 分类

二类分类问题,一般采用机器学习/模式识别的方法解决。

首先,需要大量的训练图片。

其次,选取合适的特征,如PCA,HOG,harris,haar wavelet feature, SIFT等

再次,选取分类器,如NN,svm等



4. 跟踪

车辆的跟踪的好处:

1)提前预测车辆出现的位置,减少车辆检测的搜索空间,节省计算时间。

2)区分多个车辆,每辆车都有各自的特征,如HOG,边缘,灰度密度等,使用这些特征,就可以区分不同类型的车辆。根据跟踪算法的结果,即使是同款车辆出现在同一场景,也能基本区分。


目前,常用的跟踪算法,有卡曼滤波算法。



5. 近几年热门的车辆检测方法

1)HOG 特征 + haar-like特征;SVM 或 adaboost  分类器; (HOG + SVM ; haar-like + adaboost 速度快)

2)光流法;或增加一个HMM分类器,或SVM分类器


--------------------------------------------


前方车辆检测技术,常见问题:

1. 选取那种分辨率来计算?

mobileye采用的是 640×480 或 752 * 480 彩色CMOS摄像头

2. 如何选取特征?

3. 如何跟踪?

4. 如何计算距离?

5. 如何计算前车速度?

6. 如何区分多个车辆?


--------------------------------------------


基于Haar和HoG特征的前车检测方法,其特征在于,包括以下步骤: 

步骤I)人工选取出大量车辆图片和非车辆图片作为训练集的正、负样本,并将正、负样本规格化到24 X 24像素下; 

步骤2)使用Haar特征和HoG特征分别对规格化后的每一幅正、负样本进行表征,形成特征向量; 

步骤3)针对Haar特征和HoG特征形成的两种特征向量分别构建弱分类器; 

步骤4)利用级联的Adaboost算法对弱分类器进行训练,得到级联车辆强分类器;

步骤5)针对车载摄像头获得的前方道路视频图像,将其中各种尺寸、各种位置的子图像输入级联车辆强分类器中进行判断。

也有利用改进的HOG特征值,和SVM训练,来对车辆进行识别


harr特征、hog特征(大量的正、负样本图片训练),利用adboost算法 进行训练、级联,形成强分类器

http://www.google.com/patents/CN102855500A?cl=zh



-------------------------

HOG特征的计算及一些改进:

HOG:histogram of oriented gradient, 方向梯度直方图,就是描述物体的形状和边缘特征,并且不涉及尺度和旋转。

1. 将子图像灰度化,归一化(为了除去光照和阴影的影响)

2. 划分成小cells,如3*3个像素块或6*6个像素块。

3. 计算每个cell中每个pixel的gradient方向,或者说是边缘的方向。

4. 统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor。

5. 连接所有cell形成一个子图像的特征描述子。

6. 子图像之间是一般是由重叠的区域的,这样一个cell影响的就不是一个子图像了。一个矩形子图像,一般有三个参数:每个子图像有多少方格、每个方格有几个像素、以及每个方格直方图有多少頻道(梯度方向)。

由于人体轮廓在局部HOG归一化特征上有良好的稳定性,最初是用于人体检测。

在Dalal和Triggs的人检测实验中,发现最优的单元块划分是3x3或6x6个像素,同时直方图是9通道。


推荐阅读
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
author-avatar
舞动青春的迪斯科舞厅
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有