0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈ADAS-LDW车道检测与跟踪方法的算法实例代码

tUM2_ADA 来源:ADAS 作者:ADAS 2021-05-19 13:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

车道检测的目标:

1. 车道形状,包括宽度、曲率等几何参数

2. 车辆在车道中的位置,包括横向偏移量,车辆与道路的夹角(偏航角)

车道检测与跟踪一般分为以下几个部分:

1. 车辆、道路、相机模型

2. 道路特征提取

3. 道路参数计算,如曲率,

4. 车道跟踪

车辆、道路、相机模型

在现代道路设计中,道路有比较固定的设计模型,因此,对于高速公路等道路类型,车道的几何模型可以以固定的形式表示。

车道弧长、曲率、偏航角、横向偏移量构成车辆与车道几何模型的要素。

车道一般由直线、圆弧和缓和曲线构成,缓和曲线通常是不同曲率的圆弧或直线的连接过渡,其曲率均匀变化,螺旋曲线是缓和曲线常用形式。

道路曲率与弧长(路长)的关系:

C = C0 + C1*L.

C0为起始点曲率,C1为曲率变化率。C0,C1都为0时,直线; C1为0时,C0不为0,圆弧;C1不为0时,缓和曲线。

在世界坐标系下,或俯视图下,在相机可视范围内,若车道的变化方向较小,则道路可用圆弧近似表示:

道路的坐标可以由弧长和曲率一般表示为:

y = L

x = 0.5*C*L^2

若相机与车道的横向偏移量为d,与车道的夹角为a,则车道模型为

y = L

x = d + a*L + 0.5*C*L^2

从公式来看,这是一个抛物线模型。这里没有考虑曲率变换率,即忽略了高次项(C1*L^3)/6。

不同的系统要求与道路环境,道路模型的精度要求也不同。在较早的系统里,在大路(highway)环境下,

基于视觉的车道模型经历了,平行直线模型 --> 固定曲率圆弧模型 --> 螺旋曲线模型。道路模型的精度不断提高。

使用哪种模型,要根据系统的实际需求。如早期的系统里,检测大路(highway)中10米内的车道状况,应用简单的线性模型即可。而车道偏离告警(LDW)系统中,在高速公路上,需要30米-40米的精确的道路模型,这时,螺旋曲线(高阶)或抛物线(二阶)模型就更为精确。

相机模型:

由图像的二维信息恢复出场景的三维信息,就需要相机模型来确立两者之间的对应关系。相机参数包括内部参数和外部参数。相机模型分为针孔相机模型和透镜畸变扩展模型。这些在另外一篇文章里有描述。相机的内外参数通过标定都可以获取。相机的外部参数体现了相机坐标下图像与世界坐标下场景的齐次变换关系。

道路特征检测

道路上车道标志的检测是道路特征检测的关键部分,并且已有很多算法,但道路场景太多,单一的算法还是无法适用所有的场景。算法分类:

适用场景 不适用场景
基于边缘检测 虚线、实线明显 阴影、光照变化、反射不均匀
基于频域技术 能处理反射不均的场景 阴影
基于路面纹理/模板 阴影、光照不均等 反射不均

基于边缘检测的常用算法有:

Sobel, DOG, LOG, Steerable Filter等。每种算法都有各自的优缺点。这里不再描述。

由基本算法处理后得到道路的特征图像,这里以边缘为例,需要进一步分析其特性,去除干扰,保留符合车道特征的边缘。如平行性、宽度等结构特征。如果这些结构特征分析做的好,也可以弥补基本算法的不足。

其他检测方法:

双阈值特征检测:原图像、梯度图像(边缘图像)分别有各自的阈值,分割出车道标志特征,当某点的灰度和梯度值分别大于各自的阈值时,才被选取为车道的特征点,这个方法会去掉一些阴影等干扰。

可调滤波器steerable filter:

对原图分别获取Gxx, Gyy, Gxy,高斯二阶分量。角度可变的滤波器的强度响应如下:

6f5fb228-b4dc-11eb-bf61-12bb97331649.jpg

求上式的极值,则需求角度的导数,则能获取两个角度

6f7f883c-b4dc-11eb-bf61-12bb97331649.jpg

对于滤波器窗口内圆形对称的物体,则两个角度的响应差不多;而对车道,两个角度响应的差值就比较大,响应大的方向就是车道方向,车道方向也可以探测出。

道路参数计算

道路方向、曲率的计算。霍夫变换是常用的检测直线的方法,还有其他方法筛选特征计算参数的方法,如最小二乘估计,RANSAC,这些方法基本上都设定了道路模型,由特征点来计算参数。但也可以由计算出的模型,去除不符合条件的特征。

跟踪

一般跟踪的作用就是预测下一帧图像内道路特征的位置,在一个较小的范围内检测道路特征,提高效率。若预测范围内没有检测到道路特征,则采用估计或上一帧特征的位置,若连续几帧都没有检测到道路特征,则启动全图像道路特征检测。KalmanFilter是常用的跟踪算法。

车道的状态要考虑车道的位置、速度、偏航角及车辆行驶转角之间的关系。

6f977f28-b4dc-11eb-bf61-12bb97331649.jpg

6fc35ff8-b4dc-11eb-bf61-12bb97331649.jpg

夹角增量 = 曲率 * 长度

状态变量为道路弧长、车道夹角、道路曲率、车道宽度、车辆的行驶转角作为控制输入变量。

测量变量为道路弧长和车辆与道路的夹角。

则状态转移方程如下:

6fe1c98e-b4dc-11eb-bf61-12bb97331649.jpg

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相机
    +关注

    关注

    5

    文章

    1538

    浏览量

    55422
  • 边缘检测
    +关注

    关注

    0

    文章

    94

    浏览量

    18608

原文标题:ADAS-LDW车道检测与跟踪方法_算法实例代码

文章出处:【微信号:ADAS,微信公众号:ADAS】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【开发实例】基于GM-3568JHF开发板安装OpenCV并使用视频目标跟踪 ( CamShift)

    在计算机视觉领域,视频目标跟踪是一个非常重要的任务。视频目标跟踪广泛应用于监控、自动驾驶、人机交互等多个领域。OpenCV提供了多种目标跟踪算法,其中MeanShift和CamShif
    的头像 发表于 09-02 08:04 474次阅读
    【开发<b class='flag-5'>实例</b>】基于GM-3568JHF开发板安装OpenCV并使用视频目标<b class='flag-5'>跟踪</b> ( CamShift)

    基于RK3576开发板的yolov11-track多目标跟踪部署教程

    1.yolov11_track简介(多目标跟踪算法)YOLO11是UltralyticsYOLO系列实时物体检测器的最新版本,重新定义了在尖端准确度、速度和效率方面的可能性。在前几代YOLO版本
    的头像 发表于 07-25 15:21 1300次阅读
    基于RK3576开发板的yolov11-track多目标<b class='flag-5'>跟踪</b>部署教程

    恶劣工况下的ADAS多源传感器数据采集:从硬件抗干扰到算法泛化

    ADAS技术迈向场景攻坚,恶劣工况数据采集是提升算法的关键,却面临系统稳定、数据有效等挑战。康谋深耕相关工具链,从硬件支撑、数据同步与采集等多方面给出解决方案,助你突破数据采集难题,提升ADAS
    的头像 发表于 07-22 13:49 405次阅读
    恶劣工况下的<b class='flag-5'>ADAS</b>多源传感器数据采集:从硬件抗干扰到<b class='flag-5'>算法</b>泛化

    【资料获取】ADAS车道辅助系统测试方法解析

    《automotorundsport》与测试评估机构MdynamiXAG展开合作,对多款主流量产车的车道辅助系统展开实地测试,相关方法和技术细节已于近期对外发布。参与测
    的头像 发表于 06-25 10:02 495次阅读
    【资料获取】<b class='flag-5'>ADAS</b><b class='flag-5'>车道</b>辅助系统测试<b class='flag-5'>方法</b>解析

    同步电机在位置随动系统中跟踪误差的分析与研究

    自主研发的无头轧制多级传动系统的模拟实验台上进行了实验验证。实验结果表明:该方法设计的系统控制精度明显提高,可实现同步电机快速精确地跟踪,位置跟踪误差小于PID控制算法的1/4,同时优
    发表于 06-23 07:07

    单片机项目实例:XPT2046触摸屏芯片驱动与校准算法

    单片机项目实例:XPT2046触摸屏芯片驱动与校准算法,推荐下载!
    发表于 06-09 22:24

    【资料获取】ADAS车道辅助系统测试方法解析

    权威汽车杂志《auto motor und sport》与测试评估机构MdynamiX AG展开合作,对多款主流量产车的车道辅助系统展开实地测试,相关方法和技术细节
    发表于 06-08 16:26 1次下载

    基于RK3576开发板的车辆检测算法

    车辆检测是一种基于深度学习的对人进行检测定位的目标检测,能广泛的用于园区管理、交通分析等多种场景,是违停识别、堵车识别、车流统计等多种算法的基石算法
    的头像 发表于 05-08 17:34 1274次阅读
    基于RK3576开发板的车辆<b class='flag-5'>检测算法</b>

    18个常用的强化学习算法整理:从基础方法到高级模型的理论技术与代码实现

    本来转自:DeepHubIMBA本文系统讲解从基本强化学习方法到高级技术(如PPO、A3C、PlaNet等)的实现原理与编码过程,旨在通过理论结合代码的方式,构建对强化学习算法的全面理解。为确保内容
    的头像 发表于 04-23 13:22 1318次阅读
    18个常用的强化学习<b class='flag-5'>算法</b>整理:从基础<b class='flag-5'>方法</b>到高级模型的理论技术与<b class='flag-5'>代码</b>实现

    康谋分享 | 特斯拉AD/ADAS紧急制动安全分析案例

    基于1.5万公里实测数据,本文揭示Autopilot三大紧急制动特征:对邻车道的过度防御制动、ODD外场景的静默退出风险及信号灯响应困境。研究通过多模态数据融合技术,量化分析制动事件,为ADAS系统优化提供重要依据
    的头像 发表于 04-23 09:34 2608次阅读
    康谋分享 | 特斯拉AD/<b class='flag-5'>ADAS</b>紧急制动安全分析案例

    27个FPGA实例代码

    本资料收集汇总了27个FPGA实例代码,有需要的可以下载学习! 获取完整文档资料可下载附件哦!!!!如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 03-14 17:31

    激光跟踪仪的检测功能与应用实例

    激光跟踪仪的检测功能及应用实例如下:1、检测功能-三维坐标测量:能精确测量目标点的三维坐标,确定物体在空间中的位置和姿态,为后续的尺寸测量、形位公差
    的头像 发表于 02-24 09:48 953次阅读
    激光<b class='flag-5'>跟踪</b>仪的<b class='flag-5'>检测</b>功能与应用<b class='flag-5'>实例</b>

    采用华为云 Flexus 云服务器 X 实例部署 YOLOv3 算法完成目标检测

    一、前言 1.1 开发需求 这篇文章讲解: 采用华为云最新推出的 Flexus 云服务器 X 实例部署 YOLOv3 算法,完成图像分析、目标检测。 随着计算机视觉技术的飞速发展,深度学习模型如
    的头像 发表于 01-02 12:00 1028次阅读
    采用华为云 Flexus 云服务器 X <b class='flag-5'>实例</b>部署 YOLOv3 <b class='flag-5'>算法</b>完成目标<b class='flag-5'>检测</b>

    【实战】Python+OpenCV车道线检测识别项目:实现L2级别自动驾驶必备(配套课程+平台实践)

    的一个必备技能——车道线检测。本文将详细介绍一个车道线检测项目的过程,从图像采集到车道线的准确识别,看看在L2自动驾驶中,如何通过图像处理技
    的头像 发表于 12-16 15:42 1473次阅读
    【实战】Python+OpenCV<b class='flag-5'>车道</b>线<b class='flag-5'>检测</b>识别项目:实现L2级别自动驾驶必备(配套课程+平台实践)

    卡尔曼滤波在图像处理中的应用实例 如何调优卡尔曼滤波参数

    卡尔曼滤波在图像处理中的应用实例 卡尔曼滤波在图像处理中主要应用于目标跟踪、噪声消除和图像恢复等方面。以下是一些具体的应用实例: 目标跟踪 : 通过
    的头像 发表于 12-16 09:11 2552次阅读