自动驾驶之车道线检测调研与实测

2023-05-16

一、LaneNet

  • 论文
  • 代码:github, python, tensorflow 1.15

1.1 主要过程

[Image]

  • inference,分上下两个分支,如图
    • Enocder-decoder stage: 图像空间编码为emb空间,方便聚类
    • Binary semantic segmentation stage:语义分割,区分背景与车道线,输出二值mask
  • 聚类阶段:根据E-Net阶段的结果,使用Mean-Shift算法实现聚类,获得实例分割结果.
  • Fit阶段:使用二次函数对实例分割结果进行拟合
    • 论文中阐述,以上输出的是每条车道线的像素集合。要根据这些像素点回归出一条车道线,传统方法是投射到BEV,然后用2阶/3阶多项式拟合,这时,变换矩阵H只计算一次,会导致非平面下的误差。因此使用H-Net以图像为输入,对每一帧预测一个含有6个参数的变换矩阵H。
    • 代码中,直接load的数据集提供的相关矩阵参数.

1.2 数据集Tusimple_Lane_Detection

  • 原图尺寸:720x1280
  • 模型输入尺寸:256x512
  • 我们的图像输入:1080x1920,需要修改代码对应位置,仍保持输入尺寸256x512
  • Tusimple 数据的标注特点:
    1、车道线实际上不只是道路上的标线,虚线被当作了一种实线做处理的。这里面双实线、白线、黄线这类信息也是没有被标注的。
    2、每条线实际上是点序列的坐标集合,而不是区域集合
  • 标注过程:将图片的下半部分,如70%的高等分为N份,然后取车道线(无论虚实)与该标注线交叉的点。因此,我们标注的话,标注车道线,然后去生成即可。需要哪些相机参数待check.
  • 网上有生成自己的Tusimple类型数据集的示例代码。

1.3 测速

暂时未找到trt,测试基于python的tensorflow 1.15

  • 论文和github报告速度:
    • 1080Ti上,模型inference部分原文52FPS,更新为BiseNetV2后提升到78FPS.
    • 对于聚类和Fit阶段,论文中4.6ms即可完成,但这受到cpu性能的影响。
  • 我们的在Xavier上测速:
    • inference cost time (500张平均): 0.05452s
    • postprocess cost time : 0.1-0.5s

1.4 效果

我们直接使用网上根据Tusimple训练好的模型,

  • 在Tusimple测试集上效果很好
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、SCNN

  • 论文:链接
  • github:
    • 官方代码,luna、matlab等
    • 第三方pytorch,无pretrain model,集成了很多模型
    • 第三方tensorflow

2.1 主要过程

在这里插入图片描述

  • 将传统的deep layer-by-layer convolutions替换为slice-by-slice convolutions ,这可以使得信息可以在图像的行列之间传递。
  • 将lane detection定义成语义分割的任务,将每一条线通过一个预设的类别去定义,即使省去了LaneNet中cluster这种复杂操作,也可区分出不同线的实例
  • 作者加了一个线的存在性判断分支,大于0.5认为是线。在prediction heatmap上每隔20行搜索相应值最高的位置,然后通过三次样条函数拟合这些points。
  • 局限性
    (1)通过线的实例来定义类别会导致必须设一个类别数量的上限值,只能处理车道线条数不大于上限值的情况。
    (2)分割采用backbone+SCNN的结构。在paper中backbone选用的是LargeFOV(Deeplabv2),而SCNN能占到整个网络1/3左右的计算量,在实际工程应用中没法达到实时的性能。

2.2 数据集 CULane Datesets

作者针对Caltech、Tusimple等数据集场景单一、数据量少、难度低等问题,用6辆车在北京不同时间录制了超过55小时,标注了133235张图片,超过Tusimple Dataset20倍的数据量。论文分成88880张作为训练集, 9675作为验证集,34680做测试集。数据集包含城市、农村高速等场景,每张图片用最多4条线进行标注[对应也是4个车道线],对向车道不标,对遮挡部分也标出来。数据集的分布如图:
在这里插入图片描述

注意,该数据集分辨率为800x200

2.3 测速

  • 论文报告
    在这里插入图片描述

  • 我们自己的测速,在Xavier上,基于tensorflow python第三方实现.
    【注意,这里代码只包含了inference阶段,得到分割的probability maps,不包含后处理的代码】
    推断时间(500张平均):0.3740s

2.4 效果

  • 论文报告
    在这里插入图片描述

三、Ultra-Fast-Lane-Detection ECCV2020

  • 论文:链接
  • 代码:github, python, pytorch
  • 数据集:Tusimple & CULane

3.1 测速

backbone ResNet18 输入尺寸 288x800

  • 论文 or github 报告
    在这里插入图片描述
  • 我们在Xavier上测速 平均31.6FPS
    在这里插入图片描述

3.2 效果

  • 论文效果
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动驾驶之车道线检测调研与实测 的相关文章

随机推荐

  • yolov3、yolov5和DETR在NVIDIA Xavier测速(TensorRT)

    本人实测YoloV3 YoloV5和DETR的TensorRT版本在NVIDIA Xavier上的测速结果如下 xff0c 任何问题留言讨论
  • pytorch转onnx, onnx 12 中没有hardswish opt

    在onnx opset 12下转以下模型时因不支持hardswish激活函数而报错 GhostNetMobileNetv3SmallEfficientNetLite0PP LCNet 解决方案是找到对应的nn Hardswish层 xff0
  • 3D人脸关键点和重构调研

    一 3D 人脸任务 3D Face Alignment 从2D图像到3D 关键点回归 例如68个关键点 3D Dense Face Alignment 从2D图像到3D稠密关键点回归 xff0c 上万个关键点的人脸模型 xff0c 例如3D
  • BEV(Bird’s-eye-view)三部曲之一:综述

    论文名 xff1a Delving into the Devils of Bird s eye view Perception A Review Evaluation and Recipe Github 论文网址 零 摘要 BEV perc
  • BEV(Bird’s-eye-view)三部曲之二:方法详解

    一 Introdution Why BEV 高度信息在自动驾驶中并不重要 xff0c BEV视角可以表达自动驾驶需要的大部分信息 BEV空间可以大致看作3D空间 BEV representation有利于多模态的融合 可解释性强 xff0c
  • BEV(Bird’s-eye-view)三部曲之三:demo和验证

    1 PYVA Projecting Your View Attentively CVPR 2021 数据集 xff1a KITTIpaper xff0c github xff0c 35 FPS输入 xff1a 单张摄像头前向图输出 xff1
  • 记录自己的日常学习生活

    大家好 xff0c 今天是我第一次写博客 xff0c 刚才看了很多大佬的博文 xff0c 突然就想写一下自己的生活 xff0c 记录自己的学习过程 xff0c 本人是一个地地道道的东本人 xff0c 性格算是活泼开朗吧 xff0c 现就读于
  • 自动驾驶之MultiPath++论文阅读笔记

    预测道路参与者的future behavior 摘要 将输入由dense image based encoding改为a sparse encoding of heterogeneous scene elements 即用polylines
  • 自动驾驶之多任务方法调研

    1 YOLOP github C 43 43 TRT TX2 我们提出了一种高效的多任务网络 xff0c 该网络可以联合处理自动驾驶中的目标检测 车 xff0c 没有红绿灯 可驾驶区域分割和车道检测三个关键任务 速度 xff1a TX2上2
  • 自动驾驶之去光晕调研

    中文版综述github 一 光晕类型 常见去光晕算法的光晕 去光晕算法的光晕之二 汇总 样式包括有 halos 色圈 streaks 条纹 bright lines 亮线 saturated blobs 深污点 color bleeding
  • 自动驾驶之3D点云聚类算法调研

    1 方法 总共分为4类 基于欧式距离的聚类Supervoxel 聚类深度 Depth 聚类Scanline Run 聚类 1 1 基于欧氏距离的聚类 思路 在点云上构造kd tree 然后在某个半径阈值 例如0 5m 则分割为一个实例 相似
  • 自动驾驶之夜间检测调研

    1 ExDark 第一个 公开 特定的提供 natural low light images for object的数据集 7363张 low light images 12 classes Low light image enhancem
  • 自动驾驶之行人轨迹预测数据集

    一 Real Data ETH Univ 43 Hotel 750 pedestrians exhibiting complex interactions UCY Zara01 Zara02 and Uni 780 pedestrians
  • 自动驾驶之单目3D目标检测TensorRT调研

    目前在github上只能找到2个项目 TensorRT CenterNet 3D tkDNN 两者都是使用CenterNet xff0c 但第1个基于TensorRT5 无法与当前最新的TensorRT6和TensorRT7兼容 经测试 x
  • 秋招之字节面试智力题

    1 倒水 只有两个无刻度的水桶 xff0c 一个可以装6L水 xff0c 一个可以装5L水 xff0c 如何在桶里装入3L的水 6L装满倒入5L xff0c 剩1L5L倒出 1L倒入5L6L装满倒入5L剩2L5L倒出 xff0c 2L倒入5
  • 数学专业外语之一: 基本概念与术语

    一 四则运算 加法 plus xff0c 1 43 2 one plus two减法 minus 3 2 three minus two乘法 times or multiplied by xff0c 3x2 three times two
  • 数学专业外语之二: 阅读理解与翻译初步

    一 比 率与比例 number xff1a 数 xff1b number axis xff1a number theory xff1a 数论 xff1b the number of xff1a 的数量quantity xff1a 量 xff
  • 从iphone一代看产品创新

    第一代iPhone2007年6月29日正式发售 xff0c 可能大多数人接触Iphone是从iphone4开始 xff0c 先展示一下iphone一代 xff0c 提醒一下这是2007年的一款手机 xff0c 当时市面所有手机都是键盘机 x
  • 自动驾驶之3D目标检测的SMOKE算法

    SMOKE Single Stage Monocular 3D Object Detection via Keypoint Estimation 论文github知乎 一 数据集 KITTI 1 1 输入 单张图像 xff1a 1242x3
  • 自动驾驶之车道线检测调研与实测

    一 LaneNet 论文代码 xff1a github python tensorflow 1 15 1 1 主要过程 inference xff0c 分上下两个分支 xff0c 如图 Enocder decoder stage 图像空间编