自动驾驶中的传感器技术2——概述(2)-Camera

2 Camera技术概述

       自动驾驶中的摄像头技术是实现车辆环境感知和决策规划的关键组成部分。摄像头通过光学镜头和图像传感器捕捉周围环境的视觉信息,为自动驾驶系统提供丰富的数据支持。如下图所示,目前自动中涉及到的摄像头主要为以下几种:

  • 前视窄角
  • 前视宽角
  • 后视
  • 环视(前、后、左、右)
  • 侧视(左后、右后)
  • 侧视(左前、右前)
  • DMS驾驶员监控
  • OMS舱内监控

以上一般总共13个摄像头,在有的自动驾驶配置中,会将前视宽角升级为双目,从而提供相对较高的深度感知精度,特别是在近距离范围内,有助于车辆感知距离、估计障碍物的高度,并支持3D场景建模。另外与单目摄像头相比,双目摄像头无需依赖深度学习模型来估计距离,而是通过三角测距原理直接计算深度,从而减少了对庞大特征数据库的依赖。

图1 自动驾驶中的摄像头分布与功能对应1
图2 自动驾驶中的摄像头分布与功能对应2

2.1 基本原理

摄像头是一种采集波长范围为380nm到780nm的可见光进行工作的被动探测器,红外摄像头会探测到红外波范围。

图3 三大主传感器的技术特点

摄像头的组成要素主要包括以下几个

  • 棱镜组(Lens)

  • 图像传感器(CIS Camera Imaging Sensor)

  • 图像信号处理器(ISP Image Signal Processor)

  • 串行器(Serializer)

  • 电源管理芯片(PMIC)

图4 Camera 系统组成
图5 Camera 模组拆解

光学透镜(Lens):摄像头的前部透镜组,负责捕捉光学并将其聚焦在摄像头传感器上。可以通过对光学透镜组的设计对摄像头模组的技术参数进行调整,如FoV、焦距等。

图6 Camera 光学透镜组结构
图7 焦距与FoV的关系
图8 焦距与FoV的关系实例

图像传感器(CIS):图像传感器是摄像头的核心组成部分,通常为一块芯片,它包括许多小的光敏元件,称为像素,每个像素负责测量特定区域的光强度。

图9 CIS结构1
图10 CIS结构2
图11 CIS结构3

 

图12 CIS结构4
  • 光线捕捉:当光线穿过透镜并照射到图像传感器上时,像素将测量光线的强度,不同强度的光线创建了图像中不同部分的亮度和颜色;

  • 数据处理:通过测量每个像素的光强度,图像传感器将光学信息转换为数字图像数据,这些数据可以表示为像素阵列,每个像素都有一个与其亮度和颜色相关的数据;

  • Overview of CIS 见下两图(X8D10)

图13 CIS X8D10功能框图

图14 CIS X8D10技术参数

图像处理器(ISP):CIS器件控制,格式转换(RAW转YUV等),画质优化(原始图像修正、颜色管理、降噪、动态范围控制、清晰度锐利度提升、后处理、数字去抖等)。

图15 ISP对画质的优化效果
图16 ISP算法流程

具体算法释义如下

  • Horizontal Flip:做水平翻转

  • Test Pattern:ISP内部产生测试图像,ISP内部调试使用

  • Black Level Correction:黑电平矫正,黑电平是指图像数据为0时对应的信号电平,进行黑电平矫正的目的;一是由于sensor本身会存在暗电流,导致在没有光照进来的条件下pixel也有电压输出,不过这部分一般在sensor端就已经处理掉了,还有一个原因是因为sensor进行模数转换时精度不够,以8bit为例,每个pixel有效范围是0-255,sensor可能无法将接近于0的信息转化出来,由于人眼特性(对暗处细节比较敏感,)所以sensor厂商一般在转换时会加一个固定的偏移量使像素输出在5(非固定值)—255之间,然后传输在ISP端再做一个减法,将5(非固定值)变为0

  • Bad Pixel Correction:坏点消除

  • Lens Shadow Correction:镜头阴影矫正(镜头缺陷、光通量不均匀)

  • AF Statistics in Raw:AF统计信息

  • CFA Interpolation:去马赛克,将RAW转成RGB

  • D65 White Balance:做标定,使得在D65下面,使得白色的物体呈现白色

  • AWB Statistics:做完D65 White Balance后可以做AWB 统计信息

  • AWB:AWB算法根据色温值做白平衡矫正

  • CCM:3×3的颜色矩阵,目的是让成像系统颜色符合人眼睛看到的颜色。AWB已经将白色校准了,CCM就是用来校准白色除白色以外其他颜色的准确度的,用一个3X3的CCM矩阵来校准, 其中每一列系数r1+g1+b1等于一个恒定值1。Ccm矫正最终结果可以通过拍摄24色卡图片然后用imatest分析来做分析参考

  • Gamma:Gamma矫正,原因是人眼睛的非线性特性,亮度发生变化时,人眼感受到的不是成倍的关系

  • CSC:RGB到YUV色彩空间转换

  • AE Statistics:AE统计信息

  • 2DNR:空间域降噪

  • 3DNR:时间域降噪

  • AF Statistics in YUV:AF 统计信息

  • Local Tone Mapping:图像每一个局部区域都足够清晰

  • Sharpness:锐化让图像变得更清晰

  • WDR:宽动态算法让图像的动态范围变得更大

  • Post-Process:后处理

  • LDC:镜头畸变矫正

  • De-shaking:防抖

2.2 技术特点

在自动驾驶领域,有几种不同类型的摄像头,用于不同的用途

  • 单目摄像头:单目摄像头只有一个透镜和一个图像传感器,它们通常用于捕捉前方的道路图像,但缺乏深度感知能力。

图17 Tesla HW3.0 前视单目摄像头

立体摄像头:立体摄像头由两个完全一样的摄像头组成,模拟人类的双眼视觉,这种摄像头能够提供深度信息,有助于识别距离和三维结构。大疆“激目”系统,是将一对大疆车载惯导立体双目,一个长焦单目以及一个激光雷达创新组合起来,形成车规级集成一体式传感器。

图18 大疆“激目”系统
图19 双面立体视觉原理1
图20 双面立体视觉原理2

鱼眼摄像头:鱼眼摄像头使用广角透镜捕捉大范围的图像,适用于全景感知和环境监测。目前也出现了超级鱼眼摄像头,可以将环视侧视摄像头二合一。

图21 鱼眼摄像头透镜组

红外摄像头:红外摄像头能够捕捉红外光谱范围的图像,适用于夜间和低光环境下的感知。

图22 车载红外摄像头效果

车载摄像头、手机摄像头、工业相机综合对比

图23 车载摄像头与其他摄像头的技术区别

2.3 工程实践概述

  • 工艺需求:耐高温,车载摄像头需在-40℃~85℃C范围内都能正常工作,且能适应温度的剧烈变化;抗震,车辆在不太平坦的路面行驶会产生较强的震动,因此车载摄像头必须能抗各种强度的震动;防磁,车辆启动时会产生极高的电磁脉冲,需要极高的防磁性能;防水,载摄像头密封要非常严实,满足在雨水中浸泡数日仍可正常使用;使用寿命,使用寿命至少为8~10年才能满足要求;

  • 技术参数:探测距离,水平视场角,垂直视场角,分辨率(当摄像机摄取等间隔排列的黑白相间条纹时,在监视器(比摄像机的分辨率要高)上能够看到的最多线数,当超过这一线数时,屏幕上就只能看到灰蒙蒙的一片,而不再能分辨出黑白相间的线条。)

  • 最低照度:即图像传感器对环境光线的敏感程度,或者说是图像传感器正常成像时所需要的最暗光线。它是当被摄物体的光照逐渐降低时,摄像机的视频信号电平低于标准信号最大幅值一半时的景物光照度值。

  • 高动态:车辆行驶速度快,摄像头面对的光线环境变化剧烈且频繁,要求摄像头的CMOS具有高动态特性;摄像机拍摄的同一个画面内,能正常显示细节的最亮和最暗物体的亮度值所包含的那个区间。动态范围越大,过亮或过暗的物体在同一个画面中都能正常显示的程度也就越大。

图24 车载摄像头HDR效果对比
图25 车载摄像头HDR效果对比
  • 低噪点:在光线较暗时能有效抑制噪点,特别是要求侧视和后视摄像头即使在晚上也能清楚地捕捉图像。
图26 夜间低噪点处理效果
  • RGGB vs RCCB
图27 微棱镜阵列

CIS(CMOS图像传感器)在汽车应用中广泛使用了多种颜色滤光片阵列(CFA),以满足不同场景下的图像处理需求。以下是对CIS中提到的几种CFA(如RGGB、RCCB、RYYCy等)的详细分析:

RGGB RGGB是一种传统的CFA,由红(R)、绿(G)、蓝(B)三个像素组成,其中绿色像素的数量是红色和蓝色的两倍。这种设计是为了更好地模拟人眼对亮度的感知,提供良好的色彩还原能力。然而,在低光条件下,RGGB的灵敏度较低,因此在需要高灵敏度的汽车应用中,如ADAS(高级驾驶辅助系统)和自动驾驶中,RGGB并不是首选。

RCCB RCCB是一种非RGB CFA,其结构为红(R)、清(C)、清(C)、蓝(B)。通过将绿色像素替换为透明像素,RCCB提高了图像传感器的灵敏度,尤其是在低光条件下。然而,这种设计的缺点是牺牲了色彩信息,导致红色和黄色交通信号灯的区分能力较差。尽管如此,RCCB在某些汽车应用中仍然被广泛使用,例如特斯拉就采用了RCCB传感器。

RYYCy RYYCy是一种非RGB CFA,其结构为红(R)、黄(Y)、黄(Y)、青(Cy)。这种设计通过增加黄色和青色像素,提高了图像传感器的灵敏度,尤其是在低光条件下。RYYCy的一个重要优势是它能够更好地区分黄色和白色斑马线,这对于自动驾驶系统来说非常重要。然而,RYYCy也存在一个问题,即红色和黄色交通信号灯的区分能力较差。为此,一些公司如Indie Semiconductor开发了专门的图像信号处理器(ISP),通过算法优化解决了这一问题。

RCCG RCCG是一种非RGB CFA,其结构为红(R)、清(C)、清(C)、绿(G)。与RCCB类似,RCCG通过增加透明像素来提高图像传感器的灵敏度。然而,RCCG在蓝色通道的性能相对较差,因此在某些应用中可能不如RCCB。尽管如此,RCCG在低光条件下仍然具有较好的表现。

RCCC RCCC是一种非RGB CFA,其结构为红(R)、清(C)、清(C)、清(C)。这种设计通过增加透明像素,进一步提高了图像传感器的灵敏度。然而,RCCC的缺点是只能准确识别红色,无法再现人类可识别的颜色图像。因此,RCCC在需要高色彩还原能力的应用中并不常用。

RGBIR RGBIR是一种结合了RGB和红外(IR)通道的CFA,适用于需要同时处理可见光和红外光的场景。例如,在夜间驾驶或恶劣天气条件下,RGBIR可以提供更好的图像质量。

RCCB、RYYCy和RCCG的改进 为了克服RCCB、RYYCy和RCCG在红色和黄色交通信号灯区分能力上的问题,一些公司开发了新的图像处理技术。例如,Indie Semiconductor的iND880xx系列通过引入边缘调整的红色敏感度光谱,显著提高了红色和黄色交通信号灯的区分能力。此外,一些ISP还通过算法优化,如黑电平补偿、缺陷像素检测与校正等,进一步提高了图像质量

  • LFM(Low Flick Mitigation):当CIS的曝光时间小于LED光源调试信号“空”时长时,会出现帧和帧之间灯光时亮时灭的现象。CIS需要具备处理该情况的能力,即LFM。

图28 Flick产生的原因

2.4 具体作用

摄像头在自动驾驶系统中的具体作用如下:

视觉感知:摄像头用于捕捉车辆周围的视觉信息,包括道路、车辆、行人、道路标志和交通信号等。这些信息对于实时感知和决策至关重要;

对象识别:通过计算机视觉技术,摄像头可以帮助自动驾驶系统识别和分类各种对象,如其他车辆、行人和障碍物。这有助于规划安全的驾驶路径;

车道保持:摄像头可以监测车辆在道路上的位置,帮助自动驾驶系统维持车辆在正确的车道上行驶;

交通信号识别:摄像头可以检测和识别交通信号、标志和路牌,以确保车辆遵循交通规则;

目标跟踪:摄像头可以跟踪其他车辆和行人的运动,以预测它们的行为并采取适当的驾驶决策。

图29 自驾视觉感知任务

2.5 技术方向

Primary Camera IQ KPI

  • 低光照条件下的Performance不断提升:SNR1、SNR5、SNR10;

  • 分辨率不断提升:8MP、12MP;

  • 动态范围不断提升:HDR 24bit;

Sencondary Camera IQ KPI

  • LED BLooming:通过CoB改善;

  • LED FLicker:LFM从110dB提升到130dB;

  • Color Separability/Fidelity:RGGB CFA;

Tertiary Camera IQ KPI

  • Temperature Degradation:改善

  • Flare:通过CoB改善

  • Motion Artifacts:改善

### Camera-IMU 标定方法 Camera-IMU联合标定旨在精确确定相机和惯性测量单元(IMU)之间的相对位置和姿态关系。这一过程对于融合这两种传感器的数据至关重要,尤其是在机器人导航、自动驾驶等领域。 #### 方法概述 一种常见的做法是通过视觉里程计(VO)与IMU数据的时间同步来实现外参数的估计。具体来说: - **特征匹配**:从连续图像帧中提取并匹配特征点。 - **运动模型构建**:利用这些匹配点计算相隔时间内的相机位移变换\( R_{\text{camera}} \),以及同一时间段内由IMU积分获得的姿态变化 \( R_{\text{imu}} \)[^2]。 - **优化求解**:将上述两个变换量作为约束条件设置成最小化问题,并采用奇异值分解(SVD)或其他数值算法寻找最优解——即代表两者之间转换关系的旋转和平移向量。 #### 使用Kalibr进行快速上手 为了简化这个复杂的过程,可以借助开源软件包如[Kalibr](https://github.com/ethz-asl/kalibr),它提供了完整的工具链来进行摄像头单体及多模态系统的内外参标定工作。安装方式简单明了: ```bash mkdir -p ~/kalibr_ws/src && cd ~/kalibr_ws/src git clone https://github.com/ethz-asl/kalibr.git . cd .. catkin_make source devel/setup.bash ``` 完成环境搭建之后,按照官方文档指引准备棋盘格图案及其尺寸规格等必要材料即可开展实验[^3]。 #### VINS-Fusion的应用实例 [VINS-Fusion](http://wiki.ros.org/vins_fusion) 是另一个强大的框架,在实际应用中有很好的表现效果。该方案不仅能够处理静态场景下的标定任务,还特别擅长于动态环境中实时调整外部参数。其核心在于巧妙地结合了双目视差信息与加速度计读数间的关联特性,从而实现了更加鲁棒可靠的估计性能。 ### 相关问题 1. 如何评估不同条件下Camera-IMU标定结果的好坏? 2. Kalibr支持哪些类型的传感器组合用于联合标定? 3. 在VINS-Fusion中标定时如何选择合适的初始猜测值? 4. 是否存在其他流行的Camera-IMU联合标定库或工具? 5. 对于初学者而言,学习Camera-IMU标定的最佳起点是什么?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值