标注猿的第58篇原创
一个用数据视角看AI世界的标注猿
本篇文章我们继续学习自动驾驶采标系列的算法基础理论,关于复杂场景语义理解中的可行驶区域检测部分。
车辆可行驶区域包括结构化路面、半结构化路面和非结构化路面。
- 结构化路面:往往有道理边缘线,且路面结构单一,如城市主干道、高速、国道、省道等。
- 半结构化路面:指一般的非标准化的路面,路面的颜色和材质差异较大,如停车场、广场等,还有一些分支道理。
目前主要分为基于传统计算机视觉的可行驶区域检测方法和基于深度学习的可行驶区域检测方法。
基于传统计算机视觉的可行驶区域检测方法根据特征可以分为基于颜色、纹理和边缘的可行驶区域检测。对于结构化或半结构化路面,其颜色特征非常明显,因此在RGB空间利用颜色特征分离路面和非路面相对而言比较简单。
常用的方法包括基于高斯模型分离背景路面与前景物体,除此之外,还可以通过手动标注数据以及利用监督学习方式学习区域分割。由于道路路面的连续性,纹理特征在同一路面上能够保持基本一致,利用该特点,可以实现可行驶区域的检测。
纹理特征提取的最基本方式就是使用Gabor滤波器,Gabor特征对边缘信息比较敏感,可以提取出边缘的方向,且受光照影响较小。
对于结构化和非结构化路面,均有较为明显的道路边缘分界,提取出这些道路的边缘分界,就可以实现可行驶区域检测。
常用的边缘检测算子有Sobel、Prwitt等算法,使用算法来进行边缘检测的核心思想就是将一个待检测的像素的左右、上下的像素差值的和,判断待检测像素的水平与竖直的像素差异性,判断该像素点是否为边缘点。
Canny边缘检测算法结合了图像像素点与周围点的一阶导数和高斯二阶导数,得到更准确的边缘点信息。提取到边缘后,对道路边缘内部的噪点进行去除,提取出更加准确的路面区域。
除上述介绍的颜色、纹理和边缘的方法外,还有众多的可行驶区域检测方法,例如Voronoi图法、占用栅格法、状态网格法,以及驾驶通道法。
而近年来,语义分割也引起了越来越多的关注,可行驶区域检测可以抽象为对路面图像的语义分割任务。例如提出的全卷积网络(FCN)方法,是将深度卷积神经网络(DCNN)应用于语义分割任务的开创性工作,FCN用卷积层替换了DCNN的最后一个全连接层,以获得任意大小的输入。
DeepLab将空洞(Atrous)卷积引入语义分割中,可以有效地扩展网络的接受域,而无须增加参数的总数和计算量。为了在多个尺度上分割对象,DeepLabv2进一步提出了Atrous空间金字塔池,利用具有不同采样率的过滤器的多个并行多孔原子卷积层,以多尺度捕获对象和上下文。
对于语义分割标注,目前主要是两大类:
- 基于图片的语义分割
文章图片
- 基于点云的语义分割
文章图片
相关文章阅读:
- 自动驾驶采标系列一:自动驾驶数据采集资质及采集数据出境的调研分析
- 自动驾驶采标系列二:车载感知与车载传感器标定(内附标注猿专属定制新年礼品)
- 自动驾驶采标系列三:基于图像的目标检测技术(内附标注猿专属定制新年礼品)
- 自动驾驶采标系列四:基于激光雷达的目标检测方法
- 自动驾驶采标系列五:图像与激光雷达联合目标检测方法
- 自动驾驶采标系列六:复杂场景语义理解-交通识别检测技术
下一篇文章预告:
《自动驾驶采标系列八:复杂场景语义理解-多目标追踪》
-----------------------完---------------------
公众号:AI数据标注猿
知乎:AI数据标注猿
CSDN:AI数据标注猿
-----------------------完---------------------
【自动驾驶|自动驾驶采标系列七(复杂场景语义理解-可行驶区域检测)】
推荐阅读
- 算法学习|用scikit-learn学习主成分分析(PCA)
- 自动驾驶学习整理|基于Autoware 1.14 构建点云地图(*** mapping ***)
- 机器学习 —— 类不平衡问题与SMOTE过采样算法
- 传感器融合|基于C++完成一个简单的线性卡尔曼滤波器进行传感器融合
- 深度学习基础|深度学习基础-线性回归
- 机器学习|机器学习_pytorch_高级神经网络结构_AutoEncoder自编码
- 自动驾驶|手握全球最大ADAS激光雷达订单(这家公司股价却急速“跌落”)
- OpenCV从入门到精通|OpenCV中的图像处理 —— 改变颜色空间+图像几何变换
- 数据科学从0到1|python使用numpy生成指定步长的浮点数序列