车道线检测中的IPM变换

车道线检测中的IPM变换

车道线检测(Lane Detection)是 ADAS 系统中重要的功能模块,而对于 L4 自动驾驶系统来说,在不完全依赖高精度地图的情况下,车道线检测结果也是车辆运动规划的重要输入信息。由于俯视图(BEV, Bird’s Eye View)下做车道线检测相比于前视图,有天然的优势,所以本文根据几篇论文(就看了两三篇)及项目经验,探讨总结俯视图下做车道线检测的流程方案,并主要介绍 IPM 逆透视变换原理,[0]为车道线检测资源集。

image

附赠自动驾驶学习资料和量产经验:链接

1. 流程框架

由于激光点云的稀疏性,目前车道线检测主要还是依靠图像,激光点云数据当然可作为辅助输入。由此归纳一种可能的粒度较粗的俯视图下车道线检测的流程:

  1. IPM 逆透视变换,将图像前视图变换为俯视图;

  2. 网络,提取特征,进行像素级别的分类或回归;

  3. 后处理,根据网络输出作相应后处理,网络输出可能是像素级别预测;

网络相对比较成熟,后处理则在不同网络方法下复杂度差异很大,这里不做讨论。接下来主要讨论如何进行逆透视变换。

2. IPM 逆透视变换

image

2.1. IPM(Inverse Perspective Mapping)

image

图 1. 坐标关系

image

2.2. 俯视图求解过程

已知前视图,相机内外参,求解俯视图有两种思路。一种是在世界坐标系下划定感兴趣区域,另一种是在前视图图像上划定感兴趣区域。

2.2.1 世界坐标系下划定感兴趣区域

image

2.2.2 前视图图像上划定感兴趣区域

image

3. 其它思考

如果在俯视图下作车道线检测,IPM 是必不可少的。以上 IPM 的缺陷是有一个较强的假设:路面是平坦的。并且时间一长标定参数,尤其是外参会失效,而且距离越远,路面的不平坦导致的逆透视变换误差也会增大。但对于 ADAS 系统来说,车道偏离预警(LDW,Lane Departure Warnings) 中车道线的检测距离在 50m 已经能满足要求。如果要消除更远距离下路面不平坦所带来的影响,也是有方法可以消除的,留到日后再讨论。
  按照之前的项目经验,LDW 系统完成度可以很高,基本思路就是 IPM,parsing(segmentation),clustering,hough,optimization 等几个步骤(这里就不能说得太细了),更多的精力可能在指标设计及 cornercase 优化上。唯一对用户不太友好的地方就是安装时要进行相机外参(尤其是 pitch 角)的标定,当然标定方法比较简单,我们假设相机坐标系与路面平行,所以透视变换矩阵是固定的,用户只要看路面经过逆透射后,两条 z� 方向的直线是否平行即可。相对于 Mobileye 这种标定巨麻烦的产品,这种标定方式算是非常友好了。此外还可以用自动外参标定方法,脑洞也可以开出很多,效果嘛看具体环境了,需要作谨慎的收敛判断。

4. 参考文献

[0] awesome-lane-detection

[1] LDW 原理及代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/486935.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Tanshtech】生物膜/细胞膜包裹纳米颗粒CMNs递送药物定制

细胞膜包裹的纳米颗粒(Cell membrane-coated nanoparticles,CNPs)是一类新兴的纳米载体,其通过天然细胞膜将纳米颗粒包裹在核心位置,使得它们能够在复杂的生物体环境中逃逸免疫清除,并在靶定肿瘤部位积累。…

城市内涝水文水动力模型:慧天【HTWATER】

查看详情>>> 城市内涝水文水动力模型:慧天【HTWATER】 【城市内涝水文水动力模型介绍】 慧天排水数字化分析平台针对城市排水系统基础设施数据管理的需求,以及水文、水力及水质模拟对数据的需求,实现了以数据库方式对相应数据的存…

python笔记(2)基础语法

python 保留字 import keyword print(keyword.kwlist)运行 "Import-Module PSReadLine"。PS F:\学习\python\测试> & C:/Users/Python/Python311/python.exe f:/学习/python/测试/test.py [False, None, True, and, as, assert, async, await, break, class,…

九泰智库 | 医械周刊- Vol.17

⚖️ 法规动态 器审中心公示新一期医疗器械优先审批申请审核结果 3月22日,依据原国家食品药品监督管理总局《医疗器械优先审批程序》(总局公告2016年168号),器审中心对申请优先审批的医疗器械注册申请进行了审核,对相关…

优化登录页面

作业: 完善对话框,点击登录对话框, 如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个0k按钮,用户点击Ok后,关闭登录界面,跳转到其他界面如果账号和密…

java常用应用程序编程接口(API)——IO流概述及字节流的使用

前言: IO流和File是用于把数据存放在硬盘里的工具。File可以把文件存至硬盘,但不能更改里面的数据。通过IO流可以改写硬盘里的数据。整理下学习笔记,打好基础,daydayup!!! IO流 I指Input,称为输入流:负责把…

1_88. 合并两个有序数组

1_88. 合并两个有序数组 难度: 简单 提示: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意…

Qt登录页面

#include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget) {ui->setupUi(this);//接收动图QMovie *mv new QMovie(":/pictrue/luori.gif");ui->loglab->setMovie(…

MD5加密

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

蓝桥杯小白月赛第八场第三题

题目描述: 思路: 根据上面的次方数,我们可以看出来从1次方到4次方 和 5 - 8次方,中间有什么规律? 是不是可以看出来1次方和5次方的尾数相同 2次方和6次方的尾数相同 3次方和7次方的尾数相同 4次方和8次方的尾数相同 …

浏览器缓存知识梳理

在前端性能优化的方式中,最重要的当然是缓存了,使用好了缓存,对项目有很大的帮助。比如我们访问网页时,使用网页后退功能,会发现加载的非常快,体验感很好,这就是缓存的力量。 什么是缓存呢&…

RSTP环路避免实验(华为)

思科设备参考:RSTP环路避免实验(思科) 一,技术简介 RSTP (Rapid Spanning Tree Protocol) 是从STP发展而来 • RSTP标准版本为IEEE802.1w • RSTP具备STP的所有功能,可以兼容STP运行 • RSTP和STP有所不同 减少了…

英特尔生态的深度学习科研环境配置-A770为例

之前发过在Intel A770 GPU安装oneAPI的教程,但那个方法是用于WSL上。总所周知,在WSL使用显卡会有性能损失的。而当初买这台机器的时候我不在场,所以我这几天刚好有空把机器给重装成Ubuntu了。本篇不限于安装oneAPI,因为在英特尔的…

2024大一同学进入ACM实验室选拔(东北林业大学)

前言&#xff1a; 15号比赛的6道题&#xff0c;有一道题估计是为了防止有人ak设的&#xff0c;我看题解都没完全看懂&#xff0c;是现在的我的知识盲区了&#xff0c;之后再补吧。 正文&#xff1a; Problem:A股神&#xff1a; #include <bits/stdc.h> using namespace…

AVA企业服务呼叫中心管理后台源码

项目中实现用户管理&#xff0c;包括用户的录入、编辑、查看、修改、用户角色的分配 &#xff0c;支持一个用户拥有多个权限&#xff0c;角色管理&#xff0c;可以自由定义角色、并可以给角色分配不同的权限。

利用Jmeter做接口测试(功能测试)全流程分析

利用Jmeter做接口测试怎么做呢&#xff1f;过程真的是超级简单。 明白了原理以后&#xff0c;把零碎的知识点填充进去就可以了。所以在学习的过程中&#xff0c;不管学什么&#xff0c;我一直都强调的是要循序渐进&#xff0c;和明白原理和逻辑。这篇文章就来介绍一下如何利用…

基于ssh学生信息管理系统

系统是一个学生信息管理&#xff0c;有三种角色&#xff0c;分别是超级管理员和教师还有学生&#xff0c;不同角色看到的功能会不一样。 管理员&#xff1a;学院管理&#xff0c;专业管理&#xff0c;班级管理&#xff0c;学科管理&#xff0c;学生管理&#xff0c;教师管理&am…

警务数据仓库的实现

目录 一、SQL Server 2008 R2&#xff08;一&#xff09;SQL Server 的服务功能&#xff08;二&#xff09;SQL Server Management Studio&#xff08;三&#xff09;Microsoft Visual Studio 二、创建集成服务项目三、配置“旅馆_ETL”数据流任务四、配置“人员_ETL”数据流任…

c++--replace函数

目录 1.从位置 pos 开始&#xff0c;替换长度为 len 的子字符串为 str。2.用字符串 str 替换迭代器范围 [i1, i2) 内的内容。3.从位置 pos 开始&#xff0c;替换长度为 len 的子字符串为 str 中从 subpos 开始长度为 sublen 的子字符串。4.用迭代器范围 [first, last) 内的内容…

ChatGLM3 Linux 部署

1.首先需要下载本仓库&#xff1a; git clone https://github.com/THUDM/ChatGLM3 2.查看显卡对应的torch 版本 官方文档说明&#xff1a; Start Locally | PyTorch 例如&#xff1a; a. 先查看显卡的CUDA版本 nvcc --version 查看对应版本 Previous PyTorch Versions …