自动驾驶技术与传感器数据处理
目录
自动驾驶总体架构
感知系统
决策系统
定位系统
计算平台
仿真平台
自动驾驶公开数据集
激光点云
点云表征方式
1) 原始点云
2) 三维点云体素化
3)深度图
4)鸟瞰图
点云检测障碍物的步骤
PCL点云库
车载毫米波雷达
车载相机
设备标定
自动驾驶总体架构

感知系统



决策系统

定位系统


计算平台

仿真平台



自动驾驶公开数据集

激光点云
点云表征方式
1) 原始点云
三维点云最直接的矩阵表示法是将集合中的每个三维点列为矩阵中的一行

基于原始点元的表示法的优点是:
(1)简单且通用
(2)保留了原始三维点集中的所有信息;但缺点是它不利于探索三维点的任何几何特性

2) 三维点云体素化
简单的离散化方法是将三维空间从三个维度中的每一个划分为等距的非重叠体素; 分别沿X、Y、Z轴绘制一个范围为H、W、D的三维空间。每个体素的大小分别为h、w、d。第(i,j,k)个体素表示三维体素空间。

基于三维体素化的表示法的优点是:
(1)生成的体素与自然的层次结构相关联,所有体素具有统一的空间大小;
(2)可以使用现成的工具
缺点
(1)没有考虑有序三维点云的特定属性;
(2)通常导致一个非常稀疏的表示,其中大多数体素是空的
(3)涉及到分辨率和内存之间的权衡问题。该表示方法可用于自动驾驶感知模块,以及三维点云的存储
3)深度图
将实时激光的三维点云近似地组织成二维距离图像深度图像中的每个像素对应于三维空间中的一个点。像素值是从激光雷达到截锥体内最近的三维点的范围。具体地说我们用方位角α和俯仰角β的分辨率沿方位角α ε [0,2m)和俯仰角β ε (-π/2,π/2]划分三维空间。基于距离图像的表示法优点在于:
(1)能够自然地模拟了激光雷达捕捉三维点云的方式在王维空间中反射二维表面
(2)大多数相关的截面空间都有一个或多个三维点从而产生紧凑的距离视图图像
缺点:
很难对无组织的点云进行建模

4)鸟瞰图
基于鸟瞰图(BEV)的表示方法是一种通过忽略高度的方式来实现三维体素化的特例。它将3D体素投影到BEV图像;分别沿X、Y轴绘制一个范围为H、W的三维空间。每个像素的大小分别为h、w。BEV图像中的第(i,j)个像素表示空间V,使用二维矩阵表示三维点云。短阵记录了二维空间中的占有率。其优点是:
(1)易于应用基于2D视觉的技术;
(2)易于与来自HDmap的信息进行融合
(3)易于用于决策模块用于预测和运动规划。
(4)无论距离如何,物体对象总是相同的大小,这是一个很强的先验知识、使学习问题更容易
缺点:
(1)设计分辨率和内存之间的严重权衡,导致获取小对象详细信息的过度量化问题;
(2)不考虑有序三维点云的特定属性,并且无法解释遮挡现象
(3)导致稀疏性问题,因为大多数像素是空的。

点云检测障碍物的步骤


PCL点云库
1.什么是PCL?
PCL全称为Point Cloud Library,是一个用于三维点云处理的开源库。它包含了从传感器或三维数据文件中检索三维点云的各种处理。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就在3D信息获取与处理上具有同等地位,且PCL是BSD授权方式,可以免费进行商业和学术应用,可在Windows、Linux、Mac OS X等操作系统中运行。
2.PCL的发展史
PCL起初由ROS(Robot Operating System)下来自斯坦福大学的Radu博士等人维护和开发的开源项目,主要应用于机器人研究应用领域,随着算法模块的积累,与2011年独立出来,与全球3D信息获取、处理的同行一起组件了强大的开发维护团队,以多所知名大学、研究所和相关软硬件公司为主。PCL继续加入的算法等详情可见PCL官方网站。
3.PCL的结构和内容
对于3D点云处理来说,PCL完全是一个模块化的现代C++模板库,它基于一下第三方库:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、QHull,实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。
车载毫米波雷达

利用毫米波雷达可以实现自适应巡航控制(Adaptive Cruise Control),前向防撞报警(Forward Collision Warning),盲点检测(Blind Spot Detection),辅助停车(Parking aid),辅助变道(Lane change assistant),自主巡航控制(ACC)等高级驾驶辅助系统(ADAS)功能。其中24GHz 雷达系统主要实现近距离探测(SRR),而77GHz 系统主要实现远距离的探测(LRR)
车载相机
摄像头参数
- 像素
是由一个数字序列表示图像中的一个最小单位。
- 分辨率
分辨率是用于度量位图图像内数据量多少的一个参数,表示成dpi(DostPerInch,每英寸点或像素数)。它是衡量摄像头的一个重要指标之一,通常来说摄像头的分辨率越高,拍摄出来的图像品质越好
- 色域
色域是对一种颜色进行编码的方法,也指一个技术系统能够产生的颜色的总和。最常用的图像格式是RGB24和I420, RGB24代表红、绿、蓝三个通道的颜色,图像每个像素用8bit(比特位)表示,RGB24一帧的大小size=width*height*3byte(字节);I420是YUV格式之一,YUV模型是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间。其数据量是size= width*height*1.5Byte(字节)
- 自动白平衡调节
定义要求在不同色温环境下,照白色的物体,屏幕中的图像应也是白色的。色温表示光谱成分,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝)的比例发生变化,需要调节三基色的比例达到彩色的平衡。 彩色深度 反映对色彩的识别能力和成像的色彩表现能力。常用色彩位数(bit)表示。彩色深度越高,获得的影像色彩就越艳丽动人。
- 信噪比或图像噪音
- 视场角
- 帧率
传统算法中,通过图像特征描述子SIFT、SURF等进行特征点提取和匹配,可用特征很多,包括角点、边缘点等

即输入摄像头的数据,以每帧信息为基础进行检测、分类、分割等计算,最后利用多帧信息进行目标跟踪,输出相关结果;
1)预处理包括成帧、颜色调整、白平衡、对比度均衡、图像扭正等工作;
2)特征提取在预处理的基础上提取出图像中的特征点;
3)目标识别是基于特征数据的输出,对图像中的物体进行识别分类 —— 人 ,车 、交通标志等,运用到机器学习、神经网络等算法。
设备标定
标定,通常指的是校准过程,是一种测量精确度提高的方法。在技术和科学领域,标定涉及将一个设备或仪器的测量与一个已知的参考标准进行比较,并据此进行调整。这个过程确保测量设备在操作中可以达到预定的准确性和一致性。
传感器标定
相机标定
毫米波雷达标定
激光雷达标定
相关文章:
自动驾驶技术与传感器数据处理
目录 自动驾驶总体架构 感知系统 决策系统 定位系统 计算平台 仿真平台 自动驾驶公开数据集 激光点云 点云表征方式 1) 原始点云 2) 三维点云体素化 3)深度图 4)鸟瞰图 点云检测障碍物的步骤 PCL点云库 车载毫米波雷达 车载相机 设备标定 自动驾驶…...
高效测评系统方案助力沃尔玛、亚马逊卖家提升产品销量
无论在哪个电商平台,测评确实是最有效的推广方式。测之前一定要选好产品,因为对于大部分卖家而言,不可能你店铺里所有的都是爆款,所以选择的是需要有潜力成为爆款的产品。测评是指通过搭建安全的环境模拟真实的买家购物行为&#…...
B/S模式的web通信(高并发服务器)
这里写目录标题 目标实现的目标 服务器代码(采用epoll实现服务器)整体框架main函数init_listen_fd函数(负责对lfd初始化的那一系列操作)epoll_run函数do_accept函数do_read函数内容补充:http中的getline函数 详解do_re…...
C语言每日一题—约瑟夫问题
13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现。***输出提示:"\n出圈成员及顺序:" ***输出格式:"%3d" ***输出提示…...
语言:C#
一、VSCode生成exe 二、...
[力扣题解]45. 跳跃游戏 II
题目:45. 跳跃游戏 II 思路 贪心法; 只需记录2个变量,当前点能达到的最远距离,和上一步能到达的最远距离; (真有意思,代码随想录给出的是curDistance,nextDistance2个,…...
pywinauto操作windows应用(未完成)
pywinauto 脚本制作 一 、获取窗口句柄 首先获取句柄,其次扫描组件,然后对按钮和文本进行操作 安装依赖 pip install pywin32 -i https://pypi.doubanio.com/simple扫描全部的句柄 import win32gui# GetDesktopWindow 获得代表整个屏幕的一个窗口&a…...
(超详细讲解)实现将idea的java程序打包成exe (新版,可以在没有java的电脑下运行,即可以发给好朋友一起玩)
目录 实现打包到exe大概步骤 工具准备 1.将java程序文件打包成jar文件 2.准备好jre文件 3.使用exe4j软件打包好 4.最终打包 实现打包到exe大概步骤 1.打包需要满足的条件:将java文件转成jar文件的工具exe4j、 以及需要满足jdk1.8以上(因安装exe4…...
学习软考----数据库系统工程师29
数据操作 SELECT基本结构 简单查询 连接查询 子查询 聚集函数 分组查询 字符串操作 集合操作 外连接 INSERT INTO语句 DELETE语句 UPDATE语句...
STL中的优先级队列
目录 1.引言 2.简介 3.基本操作 4.实现原理 5.自定义优先级比较 6.相关题目 7.能特点 8.总结 1.引言 在C标准库中,优先级队列是一种非常有用的数据结构,它允许我们根据元素的优先级来对其进行排序和访问。这种数据结构在多种应用场景中都发挥着重…...
浅谈Acrel-2000ES储能能量管理系统的设计与应用-安科瑞 蒋静
0 前言 为进一步提升河南省分布式光伏发电发展水平,促进行业健康可持续发展,河南省发布关于促进分布式光伏发电健康可持续发展的通知。对于储能行业,可以用到安科瑞Acrel-2000ES储能能量管理系统。 储能柜EMS能量管理系统 1、产品名称 储…...
会员卡积分小程序系统源码商业运营版 行业一站式解决方案附带源代码以及搭建安装部署教程
系统概述 会员卡积分小程序系统源码商业运营版是一套完整的会员卡积分系统解决方案,包含前端小程序、后端管理系统以及数据库设计。该系统支持多种会员卡类型、积分规则设定、积分兑换、优惠券发放等功能,满足企业对于会员积分管理的各种需求。同时&…...
uniapp 百度地图 拖动获取经纬度级搜索连用
import loadBMap from /utils/loadBMap.js// 百度聚合具体代码 // 拖动 initMapc() {let that thisloadBMap(百度key).then(() > {map new BMap.Map(mapContainer)const centerPoint new BMap.Point(this.longitude, this.latitude)map.centerAndZoom(centerPoint, this.…...
Yarn的安装和使用详细教程(Mac/Window)
目录 Yarn是什么? Mac安装Yarn 使用Homebrew安装Yarn 使用npm安装Yarn Windows安装Yarn 使用npm安装Yarn Yarn使用 常用命令: 特殊命令: Yarn是什么? Yarn是一个流行的包管理工具,用于管理JavaScript项目的依…...
高考志愿系统-学生管理模块分析
1.获取学生信息: 接口:http://localhost:81/dev-api/college_entrance/student/list?pageNum1&pageSize10 请求方式get 默认传参pageNum和pageSize,表示当前页,每页展示数量 首先通过startPage()方法获取分页参数当前页&…...
【问题实操】银河高级服务器操作系统实例分享,开机之后反复重启
1.服务器环境以及配置 物理机/虚拟机/云/容器 物理机 外网/私有网络/无网络 私有网络 处理器: PHYTIUM FT2000PLUS 2200 MHz 内存: 128 GiB 整机类型/架构: HIKVISION DS-V BIOS版本: HK 601FBE02HK 网卡࿱…...
攻防世界-web-unseping
题目 知识点 PHP代码审计PHP序列化和反序列化PHP中魔术方法命令执行绕过方式 解读源码 <?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function …...
网络网络层之(4)IPv4协议
网络网络层之(1)IPv4协议 Author: Once Day Date: 2024年4月4日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的…...
16-LINUX--线程安全
一。线程安全 线程安全即就是在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是 一样的、正确的。那么就说这些线程是安全的。 要保证线程安全需要做到: 1) 对线程同步,保证同一时刻只有一个线程访问临界资…...
Flask SQLAlchemy 技术指南
文章目录 什么是 Flask SQLAlchemy?安装 Flask SQLAlchemy创建 Flask 应用和数据库模型添加和查询数据运行 Flask 应用总结**数据库迁移(Database Migrations)****复杂查询****关系模型****事务处理****性能优化****安全性****扩展功能** Fla…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
