电磁波和光波
长波
中波
短波
分米波
厘米波
毫米波
毫米波指波长介于1~10mm的电磁波
毫米波的波长介于厘米波和光波之间
毫米波雷达频段为24GHz(用于短中距离雷达,15-30米)和77GHz(用于长距离雷达,100-200米)
光波
红外线
可见光
紫外线
X射线
物理设备到信息
相机得到的图像
激光雷达和毫米波雷达得到的点云数据
Light Detection and Ranging 激光雷达 利用光波进行测量的主动探测方式
radio detection and ranging 无线电探测和测距
信息载体
图像数据
RGB图像
红外图像
深度图像也叫距离影像,是指将从图像采集器到场景中各点的距离(深度)值作为像素值的图像
点云数据
采集大量点云数据
激光雷达点云的特征表达,包括bev图、camera/range view图、point-wise feature、融合特征
16线的LiDAR每秒钟要处理的点达到了30万--去除噪声点
数据采集方式
车不动,车动
DEM 数字高程模型(Digital Elevation Model,简称DEM)是通过有限的地形高程数据实现对地面地形的数字化模拟
数字地形模型(Digital Terrain Model,简称DTM)
DLG 数字线划地图(DLG, Digital Line Graphic)
地形图,本质是投影图
相机与IMU之间的相对位姿值的是相机坐标系和IMU坐标系之间的变换,包括相对旋转角和相对平移量。
触发延时、传输延时的存在,传感器的采样时间和时间戳的时间不匹配,如下图所示,从而导致相机和IMU之间存在时间差td
信息视图
鸟瞰图(bird’s eye view)
拼接 --标定和时间同步
前视图/图像平面
标定和坐标系变换
Lidar + IMU 标定工具 :lidar_align
IMU全称 Inertial Measurement Unit ,惯性测量单元,主要用来检测和测量加速度与旋转运动的传感器
quaternion
旋转,应该是三种坐标变换——缩放、旋转和平移,旋转的表示方法
旋转其实只需要知道一个向量+一个角度,一共4个值的信息
矩阵旋转: 但矩阵法却使用了16个元素;
欧拉旋转: 分别对应x、y、z轴的旋转角度,矩阵做变换--前后左右上下-矩阵 3*3的矩阵
四元数:实部+ 虚部包含了三个虚数单位,i、j、k,即一个四元数可以表示为为q = w + xi + yj + zk
和其他类型的转换
轴角到四元数 欧拉角到四元数
雷达
激光雷达- 集激光、GPS 全球定位和惯性测量装置为一体的系统
国外知名厂商包括有 Velodyne、Ibeo、Innoviz、Leddar Tech和Quanergy等
国内雷达 禾赛 速腾聚创 北醒光子、北科天绘
毫米波雷达 : 博世、大陆、奥托立夫、德尔福 电装和 Hella
行易道 隼眼 智波科技、森思泰克、卓泰达
GPS RTK 和IMU :北斗星、华测导航、星网宇达
图像传感器: Sony 舜宇、欧菲光
格式
点云不同数据格式的转化方法:ASC,PCD,PLY
ply : Standford Polygon File Format
ASC : Ascii triplets of point
pcd : Point Cloud Library cloud
01.pcd格式文件的显示效果为静态 pcl_viewer
点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。支持多种操作系统平台
Point Cloud Library (PCL) pcl文件(.pcd) PCL就在3D信息获取与处理
02.pcap雷达数据包(100M大小), 其实是一个动态的数据记录,里面包含了几百上千个这样的一帧
pcap包中存储的是一个时间段的点云数据,pcap文件的动态效果
按照帧进行存储,每帧数据包含点云的直角坐标系和极坐标系下的坐标信息,时间信息,强度信息等,
可以选取某个时间点提取该时间点的点云信息,
也可以提取一个时间段点云信息研究变化。
通过可视化软件,比如 VeloView可 以查看一段时间点云的效果
机器视觉软件
visionpro和halcon这两款机器视觉软件
常用的就是halcon和visionpro,
上位机
velodyne- VeloView: The Velodyne Lidar Viewer based on Paraview Lidar
VeloView是Velodyne提供的开源点云可视化与数据分析记录软件
robosense(速腾聚创)附带的上位机
VeloView 能够对来自 Velodyne HDL 传感器 (HDL-32E 和 HDL-64E) 实时捕获 3D 激光雷达数据进行实时可视化
VeloView 也可以播放存储在 .pcap 文件中的预先录制的数据
C:\Program Files\VeloView 4.1.3\bin
PCL可视化工具 pcl-viewer linux sudo apt-get install pcl-tools
代码库
pcl c++代码库
Python中的3D点云显示模块。
例如:PyqtGraph、Vispy、Python-pcl等库函数
ROS进行点云显示: ros中的点云文件为 PointCloud2 需要的PointCloud2消息类型外还有其他不同的消息,例如GPS的数据
C++ pcl::removeNaNFromPointCloud
python: import sensor_msgs.point_cloud2 as pc2
open3D
标注工具
点云标注
SUSTechPOINTS:用于自动驾驶的3D点云注释平台
https://github.com/VitalYoung/SUSTechPOINTS
LCAS/cloud_annotation_tool
Annotation tool of Lidar Point Coud data
https://github.com/lcas/cloud_annotation_tool
图像标注
LabelMe: the open annotation tool
点云格式_PCD
VERSION :指定PCD文件版本
FIELDS :指定点可以具有的每个维度/字段的名称
SIZE :以字节为单位指定每个尺寸的大小
TYPE : 将每个维度的类型指定为char。目前接受的类型是:
I - 表示有符号类型int8 (char),int16 (short)和int32 (int)
U - 表示无符号类型uint8 (unsigned char),uint16 (unsigned short),uint32 (unsigned int)
F - 代表float类型
TYPE F F F U F U F U U U
COUNT :指定每个维度有多少个元素
WIDTH : 指定点云数据集中点的宽度
VIEWPOINT :指定数据集中的点采集的视点
DATA : 指定点云数据存储的数据类型。从版本0.7开始,支持两种数据类型:ascii和binary。
# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z intensity ring timestamp
SIZE 4 4 4 1 2 8
TYPE F F F U U F
COUNT 1 1 1 1 1 1
WIDTH 15750
HEIGHT 5
VIEWPOINT 0 0 0 1 0 0 0
POINTS 78750
DATA ascii
# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z _ intensity _ ring _ timestamp _
SIZE 4 4 4 1 1 1 2 1 8 1
TYPE F F F U U U U U F U
COUNT 1 1 1 7 1 0 1 -2 1 4
WIDTH 15750
HEIGHT 5
VIEWPOINT 0 0 0 1 0 0 0
POINTS 78750
DATA binary
# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z intensity
SIZE 4 4 4 4
TYPE F F F F
COUNT 1 1 1 1
WIDTH 24530871
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 24530871
DATA binary
参考:
https://pointclouds.org/
自动驾驶研发的标注工具 https://zhuanlan.zhihu.com/p/56514817
PCD文件格式(The PCD (Point Cloud Data) file format) https://blog.csdn.net/qq_31511955/article/details/10678593