第二章 传感器选型与数据采集基础
做场景重建这么多年,我最大的感触就是:传感器选型决定了你项目的天花板。数据采得不好,后面算法再牛也白搭。今天咱们就聊聊各种传感器的脾气秉性,以及怎么让它们好好配合。
2.1 相机家族:RGB、深度、事件相机
2.1.1 RGB相机
这是最基础的传感器,说白了就是咱们平时用的摄像头。但做重建用的RGB相机,要求可不一样。
- 分辨率:我个人建议至少2000万像素以上。太低的话,纹理细节丢失严重,重建出来的模型像打了马赛克。
- 帧率:静态场景30fps够用,动态场景建议60fps以上。我遇到过用30fps拍快速移动的物体,结果每帧都是运动模糊,白忙活一场。
- 全局快门 vs 卷帘快门:做重建一定要选全局快门!卷帘快门拍快速运动时会产生果冻效应,重建出来的几何全是扭曲的。
2.1.2 深度相机
深度相机直接输出每个像素的距离信息,省去了立体匹配的麻烦。目前主流的有三种:
| 类型 | 原理 | 有效距离 | 优缺点 |
|---|---|---|---|
| 结构光 | 投射红外点阵,通过变形计算深度 | 0.3-5m | 室内精度高,室外基本废掉 |
| ToF | 发射光脉冲,测量飞行时间 | 0.5-10m | 速度快,但多路径干扰严重 |
| 双目立体 | 两个相机视差计算深度 | 0.5-20m | 依赖纹理,弱光下表现差 |
嗯,这里要注意:深度相机和RGB相机的分辨率往往不匹配。比如Kinect的深度图只有640×480,而RGB是1920×1080。做融合时需要对深度图上采样,或者干脆把RGB降采样。
2.1.3 事件相机
这玩意儿比较新,它不拍完整的帧,而是只记录像素亮度的变化。每个像素独立工作,有变化才输出事件。
- 优点:微秒级响应,动态范围140dB以上,不怕运动模糊
- 缺点:没有完整的图像信息,重建算法需要专门设计
我曾经用事件相机拍快速旋转的风扇,传统相机拍出来全是糊的,事件相机却能清晰捕捉到每一片扇叶的轨迹。不过说实话,目前事件相机在场景重建领域还比较小众,算法生态不够成熟。
2.2 LiDAR:机械式 vs 固态
LiDAR是重建大场景的利器。我最早接触的是Velodyne的64线机械式LiDAR,那家伙转起来嗡嗡响,像个小型直升机。
2.2.1 机械式LiDAR
- 原理:激光器在电机驱动下360°旋转扫描
- 线数:16线、32线、64线、128线。线数越多,垂直分辨率越高
- 优点:360°视场角,技术成熟
- 缺点:有机械旋转部件,寿命有限,价格昂贵
2.2.2 固态LiDAR
固态LiDAR没有旋转部件,通过光学相控阵或微振镜实现扫描。体积小、寿命长、成本低,是未来的趋势。
- OPA(光学相控阵):通过控制光波相位实现光束偏转,纯固态,但工艺难度大
- MEMS微振镜:用微型镜面反射激光,介于机械和固态之间
- Flash LiDAR:一次性照亮整个视场,类似相机拍照,但探测距离有限
固态LiDAR的视场角通常比较小(60°-120°),做重建时往往需要多个组合使用。我最近的项目用了3个固态LiDAR拼接,才覆盖了180°的视野。
2.3 IMU与轮速计
2.3.1 IMU(惯性测量单元)
IMU包含加速度计和陀螺仪,测量的是加速度和角速度。它有两个致命问题:
- 零偏:静止时输出不为零,需要标定
- 积分漂移:加速度积分两次得到位移,误差随时间平方增长
你想想看,如果只用IMU做定位,10秒后位置误差可能就超过1米了。所以IMU必须和其他传感器融合使用。
2.3.2 轮速计
轮速计就是车轮上的编码器,测量车轮转动的圈数。它比IMU稳定,但有两个坑:
- 打滑:在光滑地面或急加速时,车轮空转,轮速计会高估位移
- 轮胎磨损:轮胎半径会随着磨损变化,导致里程比例误差
我曾经在雪地里做实验,轮速计显示走了100米,实际只移动了30米——车轮一直在原地打转。所以轮速计最好和IMU、GPS一起用,互相纠错。
2.4 传感器同步与标定基础
多传感器融合最大的难题就是时间同步和空间标定。说白了,你得让所有传感器在同一个时间点、从同一个坐标系看世界。
2.4.1 时间同步
不同传感器的采样频率不一样:LiDAR 10Hz,相机 30Hz,IMU 200Hz。怎么对齐?
- 硬件同步:用GPS的PPS(秒脉冲)信号作为全局时钟,所有传感器都锁在这个脉冲上。精度可达微秒级。
- 软件同步:记录每个数据包的时间戳,然后在后处理时做插值对齐。精度取决于系统时钟的稳定性。
我个人强烈建议用硬件同步。软件同步看着省钱,但时间戳抖动会让你在重建时头疼欲裂。
2.4.2 空间标定
空间标定就是求传感器之间的外参(旋转矩阵R和平移向量t)。常见的方法:
- 相机-LiDAR标定:用棋盘格或特制标定板,同时被相机和LiDAR观测到。提取角点和点云边缘,求解PnP问题。
- 相机-IMU标定:用Kalibr工具包,采集一段运动数据,联合优化相机位姿和IMU偏差。
- LiDAR-IMU标定:在静止状态下对齐LiDAR点云和IMU重力方向,再通过运动激励标定旋转。
# 一个简单的相机-LiDAR标定流程(伪代码)
1. 采集标定板数据:同时记录RGB图像和LiDAR点云
2. 图像处理:提取棋盘格角点坐标 (u, v)
3. 点云处理:提取标定板平面上的点,拟合平面方程
4. 求解外参:用PnP算法,从3D-2D对应点求R, t
5. 优化:用重投影误差做非线性优化
2.5 本章知识体系
下面这张图总结了传感器选型与数据采集的核心逻辑:
这张图把本章的核心内容串起来了。从数据采集出发,相机负责视觉信息,LiDAR提供几何深度,IMU和轮速计补充运动信息。最后,同步和标定是让它们协同工作的粘合剂。
好了,这一章就聊到这儿。传感器选型是个经验活,多试几次就知道什么场景该用什么家伙了。