学习笔记15–车道线检测

本系列博客包括6个专栏,分别为:《自动驾驶技术概览》、《自动驾驶汽车平台技术基础》、《自动驾驶汽车定位技术》、《自动驾驶汽车环境感知》、《自动驾驶汽车决策与控制》、《自动驾驶系统设计及应用》,笔者不是自动驾驶领域的专家,只是一个在探索自动驾驶路上的小白,此系列丛书尚未阅读完,也是边阅读边总结边思考,欢迎各位小伙伴,各位大牛们在评论区给出建议,帮笔者这个小白挑出错误,谢谢!
此专栏是关于《自动驾驶汽车环境感知》书籍的笔记

2.车道线检测

  1. 车道线:用来管制和引导交通的一种标线,由标化于路面上的线条、箭头、文字、标记和轮廓标识组成;
  2. 常见的车道线检测方案:基于传统计算机视觉的检测、基于深度学习的道路特征检测、基于雷达等高精设备的车道线检测;

2.1 基于传统计算机视觉的车道线检测

  1. 传统计算机视觉车道线检测主要依赖高度定义化的手工特征提取和启发式的方法;
  2. 国内外广泛使用的检测方法:基于道路特征和道路模型两种方法;
  3. 基于道路特征:利用车道线与道路之间的物理结构差异对图像进行后续的分割和处理,突出道路特征,实现车道线检测;
  4. 基于道路模型:利用不同的道路图像模型(直线、抛物线、复合型),对模型中的参数进行估计与确定,最终和车道线进行拟合;

2.1.1 基于道路特征检测

基于道路特征检测根据提取特征不同,分为:基于颜色特征、纹理特征、多特征融合;

  1. 基于颜色特征检测
  2. 基于灰度特征检测
    1. 基于灰度特征检测:通过提取图像的灰度特征来检测道路边界和道路标识;
    2. 在车道图像中,路面与车道线交汇处的灰度值变换剧烈,利用边缘增强算子突出图像的局部边缘,定义像素的边缘强度,设置阈值方法提取边缘点;
    3. 常用的算子:Sobel算子、Prewitt算子、Log算子、Canny算子;
    4. 基于灰度特征检测结构简单,对于路面平整、车道线清晰的结构化道路尤为适用;但当光照强烈、有大量异物遮挡、道路结构复杂、车道线较为模糊时,检测效果受到很大的影响;
  3. 基于彩色特征检测
    1. 基于彩色特征检测:通过提取图像的彩色特征来检测道路边界和道路标识,涉及颜色空间的选择和分割策略选取两方面;
    2. 颜色空间:由一组数值描述图像信息的抽象模型,常用的颜色空间:RGB空间、HSI空间、CIE Lab空间;
    3. RGB空间:通过红绿蓝三原色描述图像,RGB分别代表红蓝绿的亮度值,范围为0-1;
    4. HSI空间:用色调H、饱和度S、强度I描述图像,将色调用角度值0-360°表示;
    5. CIE Lab:L代表从黑到白的亮度,取值:0-100,a代表从绿到红的颜色区间,b代表从蓝到黄的颜色区间,取值均为:-120~120;
      学习笔记15--车道线检测
      学习笔记15--车道线检测
  4. 基于纹理特征检测
  5. 基于纹理特征检测:通过对包含多个像素点的区域中的纹理强度和纹理方向进行计算,从而对车道线进行检测;
  6. 基于纹理特征检测具有较强的抗噪能力,但当光照强度改变,图像分辨率改变时,计算结果出现偏差;二维图像中提取的纹理特征与三维物体实际的纹理有一定差别,一定程度上影响检测准确度;
  7. 基于多特征融合检测

; 2.1.2 基于道路模型检测

  1. 直线模型
    直线模型建立在车道线为直线的假设基础上,直线模型数学表达式:
    u = k ( v − h ) + b u=k(v-h)+b u =k (v −h )+b
    其 中 : u 、 v 表 示 道 路 图 像 的 横 纵 坐 标 , k 表 示 斜 率 , b 为 截 距 , h 为 道 路 消 失 线 在 途 中 的 纵 坐 标 ; 其中:u、v表示道路图像的横纵坐标,k表示斜率,b为截距,h为道路消失线在途中的纵坐标;其中:u 、v 表示道路图像的横纵坐标,k 表示斜率,b 为截距,h 为道路消失线在途中的纵坐标;
    得到道路消失线水平位置后,只需得到k k k b b b 即可确定车道线在图像中的位置;在车辆行驶速度不高,且道路弯曲曲率不大的情况下,可以有较好的识别和导航效果;
  2. 双曲线模型
  3. 基于双曲线模型的车道线检测首先运用Canny算子对道路边缘进行检测;
  4. 采用Hough变换提取道路的边界点,使用扩展的Kalman滤波进行预测跟踪来减少道路扫描范围;
  5. 通过左右车道边界参数与双曲线模型参数进行匹配,利用最小二乘法来求解模型参数;

2.2 基于深度学习的车道线检测

2.2.1 LaneNet+H-Net车道线检测

  1. LaneNet将车道线检测问题转为实例分割问题,即:每个车道线形成独立的实例,但都属于车道线这一类别;H-Net由卷积层和全连接层组成,利用转换矩阵H对同一车道线的像素点进行回归;
  2. 对于一张输入图片,LaneNet负责输出实例分割结果,每条车道线一个标识ID,H-Net输出一个转换矩阵,对车道线像素点进行修正,并对修正后的结果拟合出一个三阶多项式作为预测的车道线;
    学习笔记15--车道线检测
  3. LaneNet将实例分割拆分为语义分割和聚类两部分,编码器分为Embedding和Segmentation两个分支;
  4. Embedding负责对像素进行嵌入表示,训练得到嵌入向量进行聚类;
  5. Segmentation对输入的图像进行语义分割,并对像素点进行二分类,判断属于车道线还是背景;
  6. 最后将两个分支的结果结合得到最终车道线检测的结果;
    学习笔记15--车道线检测

; 2.2.2 SCNN车道线检测

CNN问题及SCNN特点:

  1. CNN具有强大的特征提取能力,但由卷积块堆叠的CNN架构没有足够充分的探索图像行和列上的空间关系的能力;
  2. CNN对于经常被遮挡的车道线识别效果不好;
  3. Spatial CNN(SCNN)将传统卷积层接层(layer-by-layer)的连接形式转为特征图中片连片卷积(slice-by-slice)的形式,使图像中的像素行和列之间可以传递信息;
  4. SCNN对于长距离连续形状的目标、大型目标及有着极强空间关系但外观线索不明显的目标,如:车道线、电线杆等具有很好的检测效果;
    学习笔记15--车道线检测

关于在深度网络中使用空间信息的工作:

  1. 使用循环神经网络(RNN)按每行或每列传递信息,但每个像素点只能接收来自同一行或同一列的信息;
  2. 使用长短期记忆网络(LSTM)的变体来探索语义分割中的上下文信息,但计算量大;
  3. 使用CNN和图模型,如:马尔可夫随机场(MRF)和条件随机场(CRF)结合,通过大卷积核来传递信息;
  4. SCNN在信息传递过程中计算效率比MRF和CRF高,由于使用残差进行信息传递,使训练更容易进行并适用于多种神经网络;

SCNN网络结构:

学习笔记15--车道线检测
图a:MRF/CRF网络结构;图b:SCNN网络结构。

SCNN_D的处理过程:

  1. 对于C × H × W C\times{H}\times{W}C ×H ×W 的三维张量,C 、 H 、 W C、H、W C 、H 、W 分别代表通道数、高度、宽度;
  2. 先将其切分为H H H 片,将第一片送入C × w C\times{w}C ×w 的卷积层中(w w w 为卷积核大小);
  3. SCNN将第一片的输出加入到下一片作为输入,重复卷积,直到处理完最后一片;

学习笔记15--车道线检测
MRF/CRF和SCNN信息传递对比:
  1. MRF/CRF信息传递方向上较为无序,每个像素点需要接收大量的信息,计算量大,存在大量冗余信息;
  2. SCNN信息传递是顺序的,对于行列数较高的图片,SCNN可以减少大量的计算;

SCNN和其他各种方法的检测效果对比:

学习笔记15--车道线检测

2.3 基于激光雷达的车道线检测

基于激光雷达的车道线检测方法:基于反射强度信息

  1. 基于激光雷达反射强度信息形成的灰度图,或根据强度信息与高程信息配合,过滤出无效信息;然后对车道线进行拟合;
  2. 在激光雷达获取的道路环境的三维点云中,检测每一个激光层采集到的可行使区域的回波强度是否发生变化,如果发生变化,将变化点提取并进行标记;
  3. 通过对点云数据中有高程数据的点进行滤波,一定程度上确定出可行使区域,剔除一些和车道线的回波强度接近的物体;
  4. 通过对提取的车道线点云进行聚类和去噪,利用最小二乘法进行拟合,最终提取出车道线;

不同物体的回波强度:

介质回波强度/dBz可能的物体分类沥青、混凝土5~8道路、房屋等特性涂层12~30车道线植被、金属45~150树木、车辆等

Original: https://blog.csdn.net/qq_39032096/article/details/122269581
Author: FUXI_Willard
Title: 学习笔记15–车道线检测

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/649033/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球