(转)基于毫米波雷达的舱内乘员检测原理

https://zhuanlan.zhihu.com/p/272797271?utm_source=wechat_session

1.简介

随着家用车的普及,汽车走进越来越多的家庭,其中儿童被困车内的事故时有发生,甚至造成死亡,下图是由于儿童被困车内致死事故的统计。

儿童被困车内致死人数

为此,ENCAP Roadmap 2025提出,将儿童舱内检测技术作为汽车的安全性评定的加分项,后续将有法规逐步实施。

ENCAP Roadmap 2025

随着安全意识的提高,不少车型开始搭载舱内乘员监测系统。通常采用毫米波雷达的方案,将其布置与B柱上部或者顶棚,检测舱内的生命体。

毫米波雷达方案优势对比

本人从事相关领域,以TI的Demo 为例,将其原理及实现进行简单的介绍。

2.舱内检测原理

舱内检测的原理主要包括以下步骤:

  1. 前端(Front end):依据天线和波形等配置,实现毫米波雷达FMCW的信号发送和接收;
  2. 模数转换(ADC):对中频信号进行采样,并将 ADC输出样本缓冲在ADC输出缓冲器中,以供DSP部分访问;
  3. DSP :舱内检测的算法主要在DSP中运行,该算法主要包括Rang FFT、Clutter Removal、Heatmap Generation、Feature Extraction、Zone Detect 等步骤,下文中将详细介绍
  4. ARM :该ARM MCU可执行应用程序代码,包括进一步的信号处理操作和其他更高级别的功能。

舱内乘员检测的基本原理图

2.1 距离FFT Range Processing

该部分主要将ADC采样后的中频信号数据进行1维加窗和1D FFT,获得目标的距离信息。同时,该过程在有效线性调频时间和帧结束之间的空闲时间(“帧间”周期)内进行。

2.2 去除杂波 Clutter Removal

在杂乱的环境中,尤其是在室内,检测具有较小RCS(雷达横截面)的物体(例如行人和生命形式的物体)具有较大的难度。 一些具有较大RCS的杂波(例如建筑结构和家具)可能会主导接收到的信号。 因此,具有小RCS的物体可能在杂波的强烈干扰下被掩盖,并且变得难以检测。当雷达传感器处于静止状态时,杂波和所有静止物体的零多普勒频率将被用于改善其余雷达信号处理的性能。

2.3 生成热力图 Range-Azimuth Heatmap Generation

每帧使用去除杂波的1D FFT输出数据,结合基于协方差的高分辨率测角方法DOA,生成“距离-方位角”的热力图。为避免数值不稳定性问题,沿协方差估计矩阵的对角线添加一个较小的修正量。“热力图”实际上是一个速度图,其幅值越大,表示非静态对象的运动越多。

DoA角度估计

  • [公式] :表示经过Range Processing和Clutter Removal两个步骤后的输出, [公式] 分别表示range bin index, chirp index, virtual receive antenna index

对于第 [公式] 个range bin,空间协方差的估计值为:

[公式]

其中:[公式] 为第n个range bin和第k个chirp的空间向量,它是由数据立方体通过在虚拟天线上堆叠样本而形成的,N_c表示天线个数。

例如:

假设:[公式]

  • 为了减少计算量,可以使用小于 [公式] 的值 [公式] 来估计空间协方差。
  • 当入射雷达射频(RF)信号来自方位角 [公式] 时,转向矢量 [公式]表示每个虚拟接收天线上的相位差。

对于线性一维虚拟接收机的天线阵列,定义方位角 [公式] 的转向矢量 [公式] 为:

[公式]

其中,d是归一化后的天线间距。

n个rangebin的角度谱可由下式计算:

[公式]

相应的波束成形向量为:

[公式]

将每个rangebin的DoA频谱表示为矩阵形式,其中第n行表示为第n个rangebin的DoA频谱,称为“距离-方位热力图”

——————————————————————————————————————

Diagonally-Loading Method

在某些情况下,协方差估计是奇异的或接近奇异的,这可能会在进行矩阵求逆时引起数值稳定性问题。

通常沿协方差估计矩阵的对角线添加一个修正量来避免数值稳定性问题

[公式]

可以使用如下的噪声方差估计来确定对角因子 [公式]:

[公式]

对于常数 [公式] ,其中 [公式] 为协方差估计矩阵对角项的平均值。


2.4 热力图调整 Range-Azimuth heatmap conditioning

为去除杂波和DoA问题,需要对热图进行进一步处理,以抑制ARC,并平滑因杂波去除中帧变化而导致的掉帧。

Arc Removal

for each range row:
	if (range_row_min_val > Nr)
		row_range = range_row_max_val - range_row_min_val
		scale_factor = 1.0 + ((range_row_min_val - Nr) / row_range
		
	for each cell in the range row:
	//Translate the row to zero and rescale
	rescaled_val = (cell - range_row_min_val) * scale_factor
	//Translate the scaled row to the noise floor
	cell = rescaled_val + Nr

Heatmap Smoothing

for each cell in the heatmap:
	cell_thresh = previous_cell * threshold
	
	if (current_cell < cell_thresh)
	current_cell = cell_thresh

对热力图进行去底噪、平滑之后,即可进行下一步的操作。

2.5 特征提取 Feature Extraction

Notations

[公式] : 位置的个数;

[公式] : 第 [公式] 个range bin所对应的距离值, [公式] ;

[公式] :第 [公式] 个方位角索引对应的角度值, [公式] ;

[公式] :第 [公式] 帧处 [公式] 的热力图矩阵;

——————————————————————————————————————

定义区域 Definition of Zones

在范围和方位角域中定义区域,其取值与雷达传感器的安装位置和姿态有关。可将每个乘客座椅的位置定义为目标区域。其定义方式如下:

[公式]

[公式] 是第 [公式] 个区域(Range-Azimuth Heatmap中的矩形边界)内所距离-方位角网格的集合,其由四个参数 [公式] 定义。

——————————————————————————————————————

特征 Features

为区分不同目标区域是否有乘员,需要利用不同的区域特征进行判断。通常目标区域是有乘员对于该区域的功率能量影响较大。

平均功率能量 the average zone-power ,表征第 [公式] 帧的某个区域能量,对于第 [公式] 个区域,第[公式]帧时,该区域的平均能量为:
[公式]

通过平均功率能量这一指标可推导出三个具有代表意义的特征:移动平均功率能量、平均功率比、区域功率相关系数。

  1. 移动平均功率能量Moving-averaged zone power ,表征前[公式] 帧的平均功率,对于第 [公式] 个区域,第 [公式] 帧时,其移动平均功率能量为:

[公式]

其中, [公式], [公式] 是移动平均值窗的长度。

2.平均功率比 Moving-averaged power ratio ,表征某个区域能量占总能量的比值。对于第[公式]个区域,第[公式]帧时,其平均功率比为:

[公式]

3.区域功率相关系数 Correlation coefficient of zone power,表示不同目标区域间的相关性,对于区域[公式]和区域[公式] ,其相关系数为:

[公式]

对于三个目标位置的检测场景,即 [公式] 时,其特征向量可表示为:

[公式]


2.6 区域检测算法 Zone Detection Algorithms

对于 [公式] 个目标区域,其可能的乘员分布有 [公式] 种,将特征向量和离线生成的训练系数相乘,将得到一系列的决策结果,其中“1”代表有人,“0”表示空。

对于 [公式] ,乘员分布的所有状态如下:

[公式]

对于每种可能的乘员分布状态,定义 [公式] 维的决策权值向量:

[公式]

其中, [公式] 是特征向量 [公式] 的元素个数。

***

目标空间上有乘员的概率定义为:

[公式]

其中:[公式] ,

[公式] 为非线性函数,逻辑回归函数, [公式] 。

***

按照下述估计目标空间上是有有乘员:

[公式]

因为 [公式] 为增函数,上式可改写为:

[公式]

***

进一步,区域检测可通过矩阵矢量乘法实现:

将矩阵 [公式]写为 [公式] 的矩阵 [公式] :

[公式]

因此,可通过下式得到检测结果:

[公式]

其中: [公式] 为做分类的非线性函数, [公式]是返回最大值的索引, [公式] 是将十进制转化为二进制。

***

当 [公式] 时,其索引与二进制关系如下:

index 
0 (0,0,0)
1 (1,0,0)
2 (0,1,0)
3 (1,1,0)
4 (0,0,1)
5 (1,0,1)
6 (0,1,1)
7 (1,1,1)

3 总结

通过上述操作即可实现舱内乘员的检测,首先通过1DFFT及DOA生成“距离-方位”的热力图,在得到热力图后,提取其特征,并采集数据进行离线的训练优化,得到权重矩阵,依据权重矩阵及区域检测算法,得到乘员分布情况。

 

上述参考TI的官方指南,如有需要可私信
参考视频:车内乘员检测TI:https://edu.21ic.com/video/3813
原文地址:https://www.cnblogs.com/focus-z/p/15091465.html