说明
恒虚警检测(Constant False-Alarm Rate, CFAR)是雷达目标(信号)检测中很重要的一个概念,从事雷达相关科研或工程研发的或多或少应该都接触过。CFAR这项技术在工程实践上其实是比较简单的(至少在我了解的车载雷达领域),不过这项技术也有很多可以深挖的点,以至于CFAR甚至是很多高校科研工作者的研究方向,知网上以CFAR为主题的硕博论文也有不少。
CFAR在车载雷达的信号处理流程中是不可或缺的一个步骤(我们需要基于CFAR找到目标,并进而获得目标点云:该步骤一般被我们放在距离和速度压缩之后,对RD图进行CFAR检测以获得目标),虽然网上关于该话题有很多的参考资料,但我还是想写一篇以填上:车载毫米波雷达系列专题规划和文章目录-CSDN博客的坑。本博文的目的在于梳理一个CFAR技术的整体框架,并给出一些有益的参考资料。
Blog
2024.5.13 博文第一次撰写
目录
说明
目录
一、目标检测与恒虚警检测
二、恒虚警检测概述
2.1 CFAR技术的大体分类
2.2 常见的CFAR检测算法
三、车载毫米波雷达芯片厂家的解决方案 --- 以加特兰为例
四、总结
一、目标检测与恒虚警检测
在实际的应用中,雷达的回波中包含了很多除感兴趣目标回波外的各类杂波以及噪声,雷达目标检测是指从经过一些处理(比如距离、速度压缩)后的雷达回波数据中找到我们感兴趣的目标。雷达目标检测属于二元检测问题:要么有、要么没有,并引出了诸多的相关术语:如检出率、虚警率等。关于这些概念/术语背后的原理,以及关于目标检测、目标SNR(或信杂比)与检出率&虚警率关系的讨论,我在博文[1]: 毫米波雷达的系统设计细节(3):关于SNR-虚警率-检出率-CSDN博客中有过一些探讨,读者可以看看。
所谓的恒虚警检测,顾名思义就是检测结果的虚警率是恒定的,从[1]中的讨论中我们知道,当目标和噪声(或杂波)分布的概率密度确定时,特定的虚警率对应了特定的检测阈值,在平稳背景中确实可以通过设置特定不变的阈值使得虚警率不变,但是不难理解的是:非平稳背景中(事实上在绝大多数雷达应用场景中,背景杂波分布是时刻变化的,也即背景是非平稳的)如果采用固定门限进行雷达目标检测,虚警率会随着杂波功率的增加而急剧增加,如果想保持虚警率不变怎么办?:只能通过设置一个根据杂波水平的变化而自适应地改变的检测门限来实现,这便是恒虚警(CFAR)技术的需求和解决方法。
二、恒虚警检测概述
本章对CFAR技术做一个比较系统和详尽的概述。本章的内容我主要参考了文献[2][3],更细节的论述读者可以参考这几篇文献看看。
2.1 CFAR技术的大体分类
CFAR技术按背景环境可分为杂波中的CFAR检测和噪声中的CFAR检测,分别对应背景快起伏和慢起伏两种状态。杂波的统计特性比噪声的更复杂,且现实中也多是杂波环境,所以现如今CFAR算法的研究主要是杂波中的CFAR检测。
杂波中的CFAR检测技术按数据帧数可分为:基于单帧的参量型CFAR、非参量型CFAR以及基于多帧的杂波图检测。
参量型CFAR检测主要用于杂波模型已知的情形,具体可分为通用参量型CFAR(适用于杂波呈瑞利分布的情况:雷达分辨力较低时,认为雷达杂波幅度服从高斯分布,接收机包络检波输出服从瑞利分布,进行平方律检波后服从指数分布)和专用参量型CFAR(高分辨率雷达的杂波幅度概率分布更为复杂,于是催生了一些专用参量型CFAR)。
非参量型CFAR检测处理将杂波数据转换为一个检测统计量后,与门限进行比较,判断目标是否存在。其检测性能不受杂波分布模型的影响,适用于模型未知的情况。但由于未充分利用杂波信息,恒虚警损失较大,特别是在较小的脉冲积累数时尤为严重,其检测性能通常低于参量型CFAR。
基于单帧的CFAR检测算法对空域上杂波强度变化剧烈,均匀性宽度较窄的地杂波,会随着参考单元数量减少导致恒虚警损失急剧增大,杂波图CFAR检测技术在时间上对多帧回波数据进行采样,估算杂波背景强度,形成杂波图,适用于地杂波中的恒虚警率检测。
对于实时性要求较高的应用场景(比如车载雷达领域),主要还是使用单帧下的参量/非参量型CFAR。所谓的参量和非参量其主要区别在于:参量CFAR侧重于使用已知的分布参数来进行检测,而非参量CFAR侧重于从数据本身提取统计信息,不依赖于具体的分布假设。比如后文将要介绍的(同时也是最为经典和广泛使用的)均值类CFAR便属于参量型CFAR,而有序统计类CFAR则属于非参量型CFAR。不过本节的目的在于捋一捋CFAR技术的大体分类,囿于对每项CFAR算法的了解不是太深,我在本文不纠结于每项具体CFAR算法的所属类别,我会尽量给出每类CFAR下的一些参考文献,读者可自行理解。
2.2 常见的CFAR检测算法
1. 均值类CFAR
均值类CFAR应该是最简单也最为大家所熟知的CFAR检测算法,包括:单元平均恒虚警检测算法(Cell Averaging,CA-CFAR)、单元最小选择恒虚警检测算法(Smallest Of, SO-CFAR)、单元最大选择恒虚警检测算法(Greatest Of, GO-CFAR)都属于均值类CFAR。
这三种CFAR算法都是通过计算待检测单元周边单元的均值来获得背景杂波功率,并乘以阈值因子来得到检测门限,如果待检测单元的幅值超过该检测门限,则认为该待检测单元为目标,这三种方法的原理框图如下所示:
图2.1 三种均值类CFAR检测原理示意图
这三种算法的区别在于:CA-CFAR用的是左右两侧全部参考单元的均值来估测背景杂波功率,而SO-CFAR是取左右两侧均值中的较小者,GO-CFAR是取左右两侧均值中的较大者。后两者可以说是CA-CFAR在一些特定杂波背景下的改进方法:当目标处在检测单元,而其周围参考单元存在其它目标或杂波时(在目标的前方或者后方突然出现杂波凸起的情况),此时可能出现检测单元目标漏检(即:遮蔽效应),针对这类情况,我们可以选择前后半窗均值的较小者作为背景杂波估计,以防止背景估计偏大而导致目标漏检。相反地,如果目标所在位置区域出现凸起,使得前方或者后方的杂波功率明显小于目标所在位置区域,此时可能导致在边缘处的虚警提升,这种情况下我们可以选择前后半窗中均值较大者作为背景杂波估计。贴下面这张图,读者可以结合下图和上面的论述进行理解:
图2.2 杂波边缘情况下三种均值类CFAR的表现
此外,还有所谓的加权单元平均(Weighted Cell-averaging)WCA-CFAR,该算法分别对前后窗所求得的杂波功率进行加权Z = αX + βY,来估测杂波功率。α和β分别为对前后窗下的估计杂波功率的权值。
均值类CFAR下,其门限因子T只与预设的虚警率和参考单元的数量有关:
(2-1)
式中,T为门限因子,如果待检测点的值大于该门限因子乘以杂波功率的估计值,则认为待检测点为目标;N为参考单元的总数量(包括前后窗)。对于后面提到的WCA-CFAR,其虚警率和T的关系为:
(2-2)
关于均值类CFAR,一个有益的结论是:
【均值类CFAR在均匀背景中的检测性能最好,然而在多目标环境中的性能较差。】
2. 有序统计类CFAR
针对均值类CFAR在多目标环境中检测性能下降的问题,有人提出了有序统计(ordered statistics)OS-CFAR,该方法将参考单元内的数据做排序处理,取排序后的第K个值作为背景杂波功率估计值来计算检测门限,该算法处理示意图如下图所示:
图2.3 OS-CFAR处理示意图
不难理解的是,这种算法下K值的选取会很大程度上影响检测性能。【建议将K取在3N/4左右以获得的多目标或混合杂波环境中的综合性能】。这种检测算法下虚警率和阈值因子T的关系为:
(2-3)
OS-CFAR本质上还是依赖于参考滑窗内的所有样本数据,但是由于只保留了一个参考数据值,其CFAR损失比均值类要高。在该算法的基础上又派生出了删除均值(Censored mean level detector)CMLD-CFAR、削减平均(Trimmed mean)TM-CFAR等OS类CFAR检测算法,这两算法典型的处理流程图如下所示:
图2.4 CMLD-CFAR算法处理示意图[4]
图2.5 TM-CFAR算法处理示意图[5]
多目标环境中,OS类CFAR表现会优于均值类CFAR,但在杂波边缘环境中的性能也存在一定程度的下降。此外,OS类CFAR因为需要排序,会极大地导致处理响应时间变长,如何优化排序方法减小响应(处理)时间是该算法在实际应用中需要解决的问题之一。
3. 自适应CFAR
上面介绍的几种CFAR检测器只有在一定的杂波环境中才能接近最佳检测性能,自适应CFAR是通过估测背景杂波的类型(分布)来自适应地选择算法和参数,自适应CFAR本质上更像是一种CFAR策略。典型如:变化指数(variability index, VI)CFAR、自适应杂波边缘位置(heterogeneous clutter estimate, HCE)CFAR。
VI-CFAR的处理示意图如下:
图2.6 VI-CFAR处理示意图
VI-CFAR首先计算参考窗的变化指数(VI)值和MR值,VI值用来判断参考窗采样值是否均匀,MR值用来判断前后参考窗功率均值是否一致,这两参数的具体计算方法如下:
(2-4)
(2-5)
表示参考单元样本的均值,为方差,μ为均值,n为半窗参考单元数。得到VI和MR的值后,可将其分别与判决阈值(这两判决阈值的计算策略可以参考文献[6])和进行比较来判断杂波背景类型:若,则认为参考窗均匀,否则非均匀;若,则判断前后窗均值一致,否则均值不同。有了前述结论后,再基于如下表格完成后续CFAR检测参数的选取并进行CFAR检测。
图2.7 VI-CFAR策略选择参考
HCE-CFAR的处理示意图如下:
图2.8 HCE-CFAR处理示意图
图中,NT对应目标的位置序号,M是杂波边缘的位置序号。HCE-CFAR算法先估计杂波边缘位置(如何估计?检测出突变的位置?),获得待检测单元处于哪一个杂波区,再求得杂波区的背景功率作为相应的背景估计,该算法在杂波边缘中有较好表现。
4. 深度学习方法在CFAR检测中的应用
当杂波背景较复杂时,我们通常通过蒙特卡罗仿真求解得到一定虚警概率下的门限因子。(前文所给的阈值因子和虚警率的关系式,都是在特定的杂波背景模型下提出的!)。 但是这往往需要巨大的计算量,例如,在虚警率为10^(-6)时至少需要10^7次循环计算。不过我们也可以基于BP神经网络等手段来优化,如参考资料[7]。也有基于神经网络的CFAR算法选取、阈值因子求解,如参考资料[8]。典型的基于机器学习的CFAR检测算法结构如下图所示:
图2.9 机器学习算法在CFAR检测中的应用示意图
基于机器学习的CFAR算法不需要计算统计量,也无需其他参数,具有强大的自适应能力,通过改进训练策略,增大训练样本等方式能够让该类算法有更强的性能。(不过难道不可以直接用机器学习算法把目标检测出来吗?通过机器学习把检测门限找出来以及确定CFAR算法,再基于CFAR算法和检测门限去检测目标,是不是有点奇怪了…)
5. 杂波图CFAR
杂波图是指雷达威力图范围内的杂波强度分布图。杂波图类CFAR算法,通过建立剩余杂波图,并根据杂波图对输入作归一化平滑,以达到近似恒虚警率的效果,因此这种杂波图平滑处理亦称杂波图CFAR。该方法在时间上对各次雷达回波的测量值通过迭代算法更新来估计背景杂波功率,适合于空域或距离方向变化十分剧烈,但随时间变化却比较平稳的情况,如地杂波等。读者可以参考资料[9]获得关于该算法更细节和系统的信息。
三、车载毫米波雷达芯片厂家的解决方案 --- 以加特兰为例
CFAR在工程实践上,其实是有很多可以优化的地方的。
以车载雷达为例:一般而言CFAR是对二维压缩、以及通道积累完后的RD图来做[10][11],此时我们可能会对RD图使用二维CFAR把目标检测出来,而二维CFAR下的参考单元的选取,我们可以使用矩形窗、十字窗,如何选择这两种窗,是一个值得思考和优化的地方;此外,我们是通过在二维RD图数组中遍历每个点来完成对整个RD图的检测,当待检测的位置处在矩阵边缘时,更外边就没有参考单元给我们用,此时如何估计背景杂波功率也是一个值得思考和优化的地方;Ti在其一些demo的源代码中,CFAR其实不是对RD图做的二维CFAR,而是先距离压缩---对距离压缩后的结果做距离维CFAR---速度压缩----在距离维上可能存在目标的距离索引再进行速度维度的CFAR,并综合两次一维CFAR的结果得到最终的目标检测结果,这种流程上的变化也是值得思考和优化的地方;如今,4D雷达的兴起,要求雷达可以输出尽可能多的点云,此时包括路沿、桥梁等在传统3D雷达中不会被检测的“杂波”也成为了待检测目标,如何尽可能挖掘和输出更多的有用信息也是CFAR算法需要思考和创新的地方(比如有些是对距离-角度图进行CFAR检测)。
本章将加特兰的解决方案作为章标题,是想介绍一下加特兰在CFAR上的一个有意思的创新(我有限的文献阅读量下,分区CFAR是最先从加特兰这里看到的,所以这里以加特兰为由头做介绍,我没有调研过这方法是否为加特兰的原创。)
分区-CFAR是关于CFAR算法的一个很有意思的尝试(其实本质上这似乎就是一种自适应CFAR,因为该方法更多的是一种CFAR的策略)。传统的CFAR算法下,我们会对整个RD图使用同一个阈值因子,这其实是一种比较粗犷的处理方式:因为RD图表征的是在特定时刻下雷达前方不同距离门以及不同速度门下的能量(功率)值,而既然是不同的距离和速度门,那么不难理解的是:不同的区域下必然有不同的信杂比(同一个目标,由雷达方程可知,其离雷达的距离不同必然其回波能量也不同,那么信杂比也就不一样)以及不同的杂波分布,即便假设不同距离下的杂波分布概率密度一样,同一个虚警率下,不同距离下的目标检出率会差别很大(远距离下的目标检出率会急剧降低)。那么我们是不是可以更精细化地进行CFAR操作呢?比如在牺牲一定虚警率的前提下,我们希望远处的目标检出率能上来?分区-CFAR就是在这样的背景下提出的,其实现很简单,如下图所示为一个RD图分区示意图:
图3.1 RD图分区示意图
如上图所示,我们将RD图人为地分成了8个区域,对于每个区域,我们可以使用不同的阈值因子、保护或参考单元数量、甚至使用不同的CFAR算法来进行目标检测!以更好地满足一些定制化的需求!加特兰的芯片在国内有很大的出货量,其产品以及该项技术应该是得到了市场检验的,分区CFAR设计是一个很有意思的尝试!
四、总结
本文结合诸多参考资料,梳理了一个关于CFAR算法的框架,系统且较为详实地给出了常见的几类CFAR算法,并以加特兰的CFAR处理方案为例,给出了现有的在车载雷达工程实践上较为先进的处理方式。希望本文的工作可以对研究雷达目标检测技术的科研或工程实践人员有所帮助。
五、参考资料
[1]: 毫米波雷达的系统设计细节(3):关于SNR-虚警率-检出率-CSDN博客
[2]: 秦天慈,王中训,黄勇,等.雷达恒虚警目标检测处理技术综述[J].探测与控制学报,2023,45(03):1-11.
[3]:施端阳,林强,胡冰,等.深度学习在雷达目标检测中的应用综述[J].雷达科学与技术,2022,20(06):589-605.)
[4] 杨光,潘瑞云,曹阳,等.CMLD-CFAR算法在多目标环境中的检测性能分析及应用[J].雷达与对抗,2018,38(01):21-25.DOI:10.19341/j.cnki.issn.1009-0401.2018.01.006.
[5] 游英杰,杜力,陈颖哲,等.TM-CFAR的适用场景分析和实现方式对比[J].火控雷达技术, 2022(002):051.
[6] SMITH M E,VARSHNEY P K. Intelligent CFAR processor based on data variability[J].IEEE Transactions on Aerospace & ElectronicSystems,2002,36 (3):837-847。
[7]党玲,许江湖,张大海.基于 BP神经网络的CFAR检测器标称化因子确定方法[J].舰船电子工程,2009, 29(10):125-127.
[8]王皓,衣同胜.基于神经网络CA/OS-CFAR检测方法[J].兵工自动化,2018,037(2):15-18.
[9] 孙珊珊.基于杂波图的目标检测算法研究与实现[D].西安电子科技大学,2020.DOI:10.27389/d.cnki.gxadu.2019.001938.
[10] 车载与体征/手势检测 毫米波雷达信号处理流程-CSDN博客
[11] 毫米波雷达信号处理中的通道间相干与非相干积累问题-CSDN博客