用于分类来自雷达系统的接收信号的方法和系统
文献发布时间:2023-06-19 09:32:16
技术领域
技术领域总体上涉及用于控制车辆的方法和系统,更具体地涉及用于将来自与车辆相关的雷达系统的接收信号分类为噪声或用于控制车辆的检测的方法和系统。
背景技术
自主和半自主车辆可以依靠诸如雷达系统之类的传感器来控制车辆的运动或警告靠近车辆的物体。通常,为了确保雷达系统已经检测到物体,分析由雷达检测器接收的数据以确定是否检测到物体或该数据是否包含噪声。通常,为了分析数据,需要大量计算以确定数据中的每个单元是否包含噪声或指示检测。由于涉及的计算数量,当前的雷达系统可能会受到可被处理的检测数量的限制,这可能会导致检测遗漏。
因此,期望提供用于将来自与车辆相关的雷达系统的接收信号分类为噪声或用于控制车辆的检测的改进的方法和系统。此外,结合附图以及前述技术领域和背景技术,根据随后的详细描述和所附权利要求,本发明的其他期望特征和特性将变得显而易见。
发明内容
根据各个实施例,提供了一种用于将来自雷达系统的接收信号分类为噪声或检测的系统。该系统包括:包含接收信号的雷达能量图的源;以及存储器,其存储用于计算具有带有坐标位置的多个单元的积分图像的积分图像数据结构。该系统包括与所述源和存储器通信的处理器,该处理器被编程为:基于雷达能量图,生成包括多个初始单元的初始图像,每个初始单元具有能量值和坐标位置;基于初始图像计算积分图像,其中积分图像的多个单元中的每个单元包含基于初始图像的多个初始单元的相关单元的能量值计算的值,并将计算的积分图像存储在积分图像数据结构中;基于初始图像,确定多个初始单元中的初始单元的坐标位置;基于初始单元的坐标位置和与邻域相关的初始单元数量的邻域阈值,确定与围绕初始单元的邻域的角相关的索引的坐标位置;基于索引的坐标位置和来自与索引的坐标位置相关的积分图像的多个单元中的各个单元的值,确定邻域的能量和;基于能量和确定与初始单元相关的估计噪声;以及基于估计噪声和来自初始图像的初始单元的能量值,确定初始单元是否指示物体的检测。
处理器还被编程为基于初始单元的坐标位置和邻域阈值来确定是否将邻域环绕在初始图像周围。基于将邻域环绕在初始图像周围的确定,处理器还被编程为将邻域划分为附加部分,以达到与邻域相关的初始单元数量的邻域阈值,并且基于与每个部分的角相关的索引来确定邻域的索引。处理器还被编程为基于初始单元在初始图像中的坐标位置和与防护相关的初始单元数量的防护阈值来构建围绕邻域内的初始单元的防护,并且基于防护来确定防护索引。处理器还被编程为基于初始单元的坐标位置和与防护相关的初始单元数量的防护阈值来确定是否将防护环绕在初始图像周围。基于将防护环绕在初始图像周围的确定,处理器还被编程为将防护划分为附加防护部分,以达到与防护相关的初始单元数量的防护阈值,并且基于与每个防护部分的角相关的防护索引来确定防护索引。处理器被编程为基于防护索引的坐标位置以及来自与防护索引的坐标位置相关的积分图像的多个单元的各个单元的值来确定防护的防护能量和。处理器还被编程为基于所述能量和和防护能量和来确定与初始单元相关的总能量和,并且处理器被编程为基于该总能量和来确定估计噪声。
根据各个实施例,还提供了一种用于将来自雷达系统的接收信号分类为噪声或检测的方法。该方法包括:提供存储用于计算具有多个单元的积分图像的积分图像数据结构的存储器;通过处理器接收包含来自源的接收信号的雷达能量图;通过处理器基于雷达能量图来生成具有多个初始单元的初始图像,每个初始单元包含能量值和坐标位置;通过处理器基于初始图像来计算积分图像,其中积分图像的多个单元中的每个单元包含基于初始图像的多个初始单元的相关单元的能量值计算的值,并将计算的积分图像存储在积分图像数据结构中;通过处理器基于初始图像来确定多个初始单元中的能量值大于阈值的初始单元的坐标位置;通过处理器基于初始单元的坐标位置和与邻域相关的初始单元数量的邻域阈值来确定与围绕初始单元的邻域的角相关的索引的坐标位置;通过处理器基于索引的坐标位置和来自与索引的坐标位置相关的积分图像的多个单元中的各个单元的值来确定邻域的能量和;通过处理器基于能量和来确定与初始单元相关的估计噪声;以及通过处理器基于估计噪声和来自初始图像的初始单元的能量值来确定初始单元是否指示物体的检测。
该方法还包括:通过处理器基于初始单元的坐标位置和邻域阈值来确定将邻域环绕在初始图像周围;通过处理器将邻域划分为附加部分,以达到与邻域相关的初始单元数量的邻域阈值;以及通过处理器基于与每个部分的角相关的索引来确定邻域的索引。该方法还包括:通过处理器基于初始单元在初始图像中的坐标位置和与防护相关的初始单元数量的防护阈值来构建围绕邻域内的初始单元的防护;以及通过处理器基于防护来确定防护索引,防护索引与防护的角相关。该方法还包括:基于初始单元的坐标位置和与防护相关的初始单元数量的防护阈值来确定将防护环绕在初始图像周围;通过处理器将防护划分为附加防护部分,以达到与防护相关的初始单元数量的防护阈值;并且通过处理器基于与每个防护部分的角相关的索引来确定防护索引。该方法还包括通过处理器基于防护索引的坐标位置以及来自与防护索引的坐标位置相关的积分图像的多个单元的各个单元的值来确定防护的防护能量和。该方法还包括:通过处理器基于所述能量和和防护能量和来确定与初始单元相关的总能量和;以及通过处理器基于该总能量和来确定估计噪声。
根据各个实施例,还提供了一种车辆。该车辆包括雷达能量图的源和存储用于计算具有多个单元的积分图像的积分图像数据结构的存储器。该车辆包括与所述源和存储器通信的处理器,该处理器被编程为:基于雷达能量图,生成包括多个初始单元的初始图像,每个初始单元具有能量值和坐标位置;基于初始图像计算积分图像,其中积分图像的多个单元中的每个单元包含基于初始图像的多个初始单元的相关单元的能量值计算的值,并将计算的积分图像存储在积分图像数据结构中;基于初始图像,确定多个初始单元中的能量值大于阈值的初始单元的坐标位置;基于初始单元的坐标位置和与邻域相关的初始单元数量的邻域阈值,确定与围绕初始单元的邻域的角相关的索引的坐标位置;基于索引的坐标位置和来自与索引的坐标位置相关的积分图像的多个单元中的各个单元的值,确定邻域的能量和;基于初始单元的坐标位置和与防护相关的初始单元数量的防护阈值来确定与围绕初始单元的防护的角相关的防护索引的坐标位置;基于防护索引的坐标位置以及来自与防护索引的坐标位置相关的积分图像的多个单元的各个单元的值来确定防护的防护能量和;基于所述能量和和防护能量和来确定与初始单元相关的估计噪声;以及基于估计噪声和来自初始图像的初始单元的能量值来确定初始单元是否指示物体的检测。
处理器还被编程为基于初始单元的坐标位置和邻域阈值来确定是否将邻域环绕在初始图像周围。基于将邻域环绕在初始图像周围的确定,处理器还被编程为将邻域划分为附加部分,以达到与邻域相关的初始单元数量的邻域阈值,并且基于与每个部分的角相关的索引来确定邻域的索引。处理器还被编程为基于初始单元的坐标位置和与防护相关的初始单元数量的防护阈值来确定是否将防护环绕在初始图像周围。基于将防护环绕在初始图像周围的确定,处理器还被编程为将防护划分为附加防护部分,以达到与防护相关的初始单元数量的防护阈值,并且基于与每个防护部分的角相关的防护索引来确定防护索引。处理器还被编程为基于物体的检测来控制车辆。
附图说明
在下文中将结合以下附图描述示例性实施例,其中相同的标号表示相同的元件,并且其中:
图1是示出根据各个实施例的包括具有分类和检测系统的雷达系统的自主车辆的功能框图;
图2和3是示出根据各个实施例的包括自主车辆的分类和检测系统的自主驾驶系统的数据流程图;
图4和4A是根据各个实施例的基于与自主车辆相关的雷达系统的接收天线接收的雷达能量图由雷达系统的接收器生成的范围多普勒单元的初始图像的一部分的能量值的示例,其中图4A是图4的延续;
图4B是根据各个实施例的基于与自主车辆相关的雷达系统的接收天线接收的雷达能量图由雷达系统的接收器生成的范围多普勒单元的初始图像的一部分的能量值的示例;
图5和5A是根据各个实施例的与在图4和4A的初始图像的一部分中基于雷达的接收器生成的范围多普勒单元的能量值由分类和检测系统生成的积分图像的单元相关的值的示例,其中图5A是图5的延续;
图5B是根据各个实施例的与在图4B的初始图像的一部分中基于雷达的接收器生成的范围多普勒单元的能量值由分类和检测系统生成的积分图像的单元相关的值的示例;
图6是根据各个实施例的由雷达系统的接收天线接收的雷达能量图的示例,其指示用于去除以生成初始图像的专用区域;
图7是根据各个实施例的基于从图6的雷达能量图去除专用区域而生成的初始图像的示例;
图8是根据各个实施例的基于图7的积分图像数据结构和初始图像生成的积分图像的示例;以及
图9-13A是示出根据各个实施例的可以由分类和检测系统执行的方法的流程图。
具体实施方式
以下详细描述本质上仅是示例性的,并不旨在限制应用和使用。此外,无意受在前面介绍、发明内容或以下详细描述中提出的任何明示或暗示的理论约束。如本文所用,术语模块是指单独或以任何组合的任何硬件、软件、固件、电子控制部件、处理逻辑和/或处理器设备,包括但不限于:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或组)和存储器、组合逻辑电路和/或提供所描述功能的其他合适部件。
这里可以根据功能和/或逻辑块部件以及各种处理步骤来描述本公开的实施例。应当理解,可以通过配置为执行指定功能的任何数量的硬件、软件和/或固件部件来实现这样的块部件。例如,本公开的实施例可以采用各种集成电路部件,例如存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。另外,本领域技术人员将理解,可以结合任何数量的系统来实践本公开的实施例,并且本文描述的车辆系统仅仅是本公开的示例性实施例。
为了简洁起见,与信号处理、数据传输、信令、控制和系统的其他功能方面(以及系统的各个操作部件)有关的常规技术在此处可能不会详细描述。此外,本文包含的各个附图中所示的连接线旨在表示各个元件之间的示例功能关系和/或物理联接。应当注意,在本公开的实施例中可以存在许多替代或附加的功能关系或物理连接。
参考图1,根据各个实施例,总体上以100示出的分类和检测系统与车辆10相关。通常,分类和检测系统100将来自与车辆10相关的雷达系统40a的接收信号分类为噪声或二维检测,而计算量明显减少,这确保了雷达系统40a接收的数据被有效地处理以基于其智能地控制车辆10。
如图1所示,自主车辆10通常包括底盘12、车身14、前轮16和后轮18。车身14布置在底盘12上并且基本上包围车辆10的部件。车身14和底盘12可以共同形成框架。车轮16和18每个在车身14的相应角部附近旋转地联接至底盘12。
在各个实施例中,车辆10可以是自主车辆,并且分类和检测系统100并入车辆10(在下文中称为自主车辆10)。自主车辆10例如是被自动控制以将乘客从一个位置运送到另一个位置的车辆。自主车辆10在所示实施例中描述为乘用车,但应当理解,也可以使用任何其他车辆,包括摩托车、卡车、运动型多用途车(SUV)、休闲车(RV)、轮船、飞机等。在示例性实施例中,自主车辆10是所谓的四级或五级自动化系统。四级系统表示“高度自动化”,是指自主驾驶系统对动态驾驶任务的所有方面的驾驶模式特定性能,即使驾驶员没有适当地响应干预要求。五级系统表示“完全自动化”,是指自主驾驶系统在可由人类驾驶员管理的所有道路和环境条件下对动态驾驶任务的所有方面的全时性能。应当指出,分类和检测系统100也可以与其他较低级自动化系统一起使用。例如,分类和检测系统100可以与二级系统一起使用,以使得在检测到车辆附近的物体时能够输出警告或通知。
如图所示,自主车辆10通常包括推进系统20、传动系统22、转向系统24、制动系统26、传感器系统28、致动器系统30、至少一个数据存储装置32、至少一个控制器34和通信系统36。在各个实施例中,推进系统20可以包括内燃机、诸如牵引马达的电机和/或燃料电池推进系统。传动系统22配置成根据可选择的速比将动力从推进系统20传递至车轮16-18。根据各个实施例,传动系统22可包括有级传动比自动变速器、无级变速器或其他合适的变速器。制动系统26配置成向车轮16-18提供制动扭矩。在各个实施例中,制动系统26可以包括摩擦制动、线制动、诸如电机的再生制动系统和/或其他合适的制动系统。转向系统24影响车轮16-18的位置。尽管出于说明性目的示出为包括方向盘,但在本公开范围内预期的一些实施例中,转向系统24可以不包括方向盘。
传感器系统28包括一个或多个感测设备40a-40n,其感测自主车辆10的外部环境和/或内部环境的可观察到的状况。感测设备40a-40n可以包括但不限于雷达系统10、激光雷达、全球定位系统、光学相机、热相机、超声传感器、惯性测量单元和/或其他传感器。通常,雷达系统40a包括收发器模块41、一个或多个发射天线43和一个或多个接收天线45。收发器模块41与发射天线43和接收天线45通信。发射天线43辐射射频信号并且接收天线45检测来自潜在物体的任何反射。收发器模块41从控制器34接收控制信号以经由发射天线43辐射射频信号,并且从接收天线45向控制器34发射接收信号。如将要讨论的,基于接收信号,控制器34确定是否已检测到物体或信号是否指示噪声。应当注意,雷达系统40a的位置仅是示例性的,因为雷达系统40a可以定位在自主车辆10周围的任何期望位置,此外,自主车辆10可以包括一个以上的雷达系统40a。
致动器系统30包括一个或多个致动器设备42a-42n,其控制一个或多个车辆特征,比如但不限于推进系统20、传动系统22、转向系统24和制动系统26。在各个实施例中,车辆特征还可以包括内部和/或外部车辆特征,比如但不限于门、行李箱和舱室特征,比如通风、音乐、照明等(未编号)。
通信系统36配置为与其他实体48进行无线通信,比如但不限于其他车辆(“V2V”通信)、基础设施(“V2I”通信)、远程系统和/或个人设备(关于图2更详细地描述)。在示例性实施例中,通信系统36是无线通信系统,其配置为使用IEEE 802.11标准或通过使用蜂窝数据通信经由无线局域网(WLAN)进行通信。然而,在本公开的范围内还考虑了诸如专用短程通信(DSRC)信道之类的附加或替代通信方法。DSRC信道是指专门为汽车使用而设计的单向或双向短程到中程无线通信信道以及一组相应的协议和标准。
数据存储设备32存储用于自动控制车辆10的数据。在各个实施例中,数据存储设备32存储可导航环境的所定义的地图。在各个实施例中,所定义的地图可由远程系统预先定义并从远程系统获得。例如,所定义的地图可以由远程系统组装并传送到自主车辆10(无线和/或以有线的方式)并且存储在数据存储设备32中。可以理解,数据存储设备32可以是控制器34的一部分,与控制器34分离,或者是控制器34的一部分和分离系统的一部分。
控制器34包括至少一个处理器44和计算机可读存储设备或介质46。处理器44可以是任何定制的或可商购的处理器、中央处理单元(CPU)、图形处理单元(GPU)、与控制器34相关的多个处理器中的辅助处理器、基于半导体的微处理器(形式为微芯片或芯片组)、宏处理器、其任何组合或通常用于执行指令的任何设备。例如,计算机可读存储设备或介质46可以包括只读存储器(ROM)、随机存取存储器(RAM)和保持活动存储器(KAM)中的易失性和非易失性存储。KAM是持久性或非易失性存储器,其可以在处理器44掉电时用于存储各种操作变量。可以使用许多已知的存储设备中的任何一种来实现计算机可读存储设备或介质46,比如PROM(可编程只读存储器)、EPROM(电PROM)、EEPROM(电可擦除PROM)、闪存或能够存储数据的任何其他电、磁、光或组合存储设备,其中一些表示可执行指令,由控制器34在控制自主车辆10时使用。
指令可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能的可执行指令的有序列表。当由处理器44执行时,指令从传感器系统28接收并处理信号,执行用于自动控制自主车辆10的部件的逻辑、计算、方法和/或算法,并且基于逻辑、计算、方法和/或算法生成至致动器系统30的控制信号以自动控制自主车辆10的部件。尽管在图1中仅示出了一个控制器34,但自主车辆10的实施例可包括任意数量的控制器34,它们通过任何合适的通信介质或通信介质的组合进行通信,并且配合以处理传感器信号,执行逻辑、计算、方法和/或算法,并且生成控制信号以自动控制自主车辆10的特征。
在各个实施例中,控制器34的一个或多个指令体现在分类和检测系统100中,并且当由处理器44执行时,确定来自接收天线45的接收信号是否包含噪声或检测。通常,分类和检测系统100可以通过使用积分图像数据结构以显著更少的计算将信号鉴定为噪声或检测,如将在本文中进一步讨论。
可以理解,本文公开的主题为可被视为标准或基准自主车辆10的车辆提供了某些增强的特征和功能。为此,可以对自主车辆进行修改、增强或补充以提供将在下面详细介绍的附加特征。
根据各个实施例,控制器34实现如图2所示的自主驾驶系统(ADS)70。也就是说,控制器34(例如处理器44和计算机可读存储设备46)的合适软件和/或硬件部件被用于提供与自主车辆10结合使用的自主驾驶系统70。
在各个实施例中,自主驾驶系统70的指令可以按功能、模块或系统来组织。例如,如图2所示,自主驾驶系统70可以包括计算机视觉系统74、定位系统76、引导系统78和车辆控制系统80。可以理解,在各个实施例中,指令可被组织到任意数量的系统中(例如组合的、进一步分区的等),因为本公开不限于本示例。
在各个实施例中,计算机视觉系统74合成并处理传感器数据,并预测自主车辆10的环境的物体和特征的存在、位置、分类和/或路径。在各个实施例中,计算机视觉系统74可以合并来自多个传感器的信息,传感器包括但不限于相机、激光雷达、雷达系统40a和/或任何数量的其他类型的传感器。应当注意,在某些实施例中,计算机视觉系统74还可包括信号处理系统,其处理从多个传感器接收的信号,传感器包括但不限于相机、激光雷达、雷达系统40a和/或任何数量的其他类型传感器。
定位系统76将传感器数据与其他数据一起处理以确定自主车辆10相对于环境的位置(例如相对于地图的局部位置、相对于道路的车道的精确位置、车辆前进方向、速度等)。引导系统78将传感器数据与其他数据一起处理以确定自主车辆10要遵循的路径。车辆控制系统80根据确定的路径生成用于控制自主车辆10的控制信号。
在各个实施例中,控制器34实施机器学习技术以辅助控制器34的功能,比如特征检测/分类、障碍物缓解、路线穿越、地图绘制、传感器集成、地面真相确定等。
如上面简要提到的,图1的分类和检测系统100包括在自主驾驶系统70内,并且例如嵌入在计算机视觉系统74内或与之相关。在某些实施例中,分类和检测系统100可以嵌入在信号处理系统内或与之相关。在该示例中,分类和检测系统100处理由传感器系统28中的接收天线45(图1)接收的信号,并且确定雷达系统40a是否已经检测到物体或者接收天线45所接收的信号是否包含噪声。通过处理来自传感器系统28的传感器数据,在该示例中,雷达系统40a使用分类和检测系统100,可以在二维上有效地处理接收信号,这提供了改进的检测精度并且减少了计算时间。基于分类和检测系统100对物体的检测,引导系统78可以改变自主车辆10的路径(以在物体周围导航),或者车辆控制系统80可以基于物体的检测生成用于控制自主车辆10的控制信号,包括控制一个或多个致动器49a-49n以致动制动系统26(以使自主车辆10减速或停止);控制转向系统24(以围绕物体转向);等等。
例如,如关于图3更详细地示出并继续参照图1和2,数据流程图示出了分类和检测系统100的各个实施例,其可以嵌入在控制器34内。根据本公开的分类和检测系统100的各个实施例可以包括嵌入控制器34内的任何数量的子模块。可以理解,图3所示的子模块可以组合和/或进一步划分,以类似地确定来自接收天线45的接收信号是否包含噪声或用于控制自主车辆10的物体检测。分类和检测系统100的输入可以从雷达系统40a(图1)接收,从与自主车辆10相关的其他控制模块(未示出)接收,和/或由控制器34内的其他子模块(未示出)确定/建模。在各个实施例中,分类和检测系统100包括积分图像数据存储102、初始图像模块104、检测数据存储106、阈值数据存储108、阈值能量确定模块110、邻域确定模块112和能量确定模块114。
积分图像数据存储102存储积分图像数据结构116,用于根据由接收天线45接收的信号生成积分图像。在一示例中,积分图像数据结构116包括多个单元,每个单元预先填充有用于基于与从接收天线45(图1)接收的信号相关的值来计算积分图像的方程式。在此示例中,包含在积分图像数据结构116中的每个单元包含以下方程式:
ii(x,y)=i(x,y)+ii(x-1,y)+ii(x,y-1)-ii(x-1,y-1) (1)
其中,ii表示积分图像的单元;i表示初始图像的单元;x是多普勒坐标值;y是范围坐标值。通常,积分图像包括多个单元,每个单元具有基于方程式(1)确定的值和来自初始图像的能量值。作为示例,参照图4和4A,示出了初始图像200的一部分,具有以分贝(Db)提供的与每个特定单元202相关的能量值。图4B还示出了初始图像200的一部分,具有以分贝(Db)提供的与每个特定单元相关的能量值。通常,多普勒198沿着x轴,并且范围197在y轴上。如将要讨论的,使用存储在积分图像数据存储102中的积分图像数据结构116和由雷达系统40a(图1)接收的初始图像200,初始图像模块104填充具有相应多个单元302的积分图像300,如图5和5A所示。在图5和5A中,基于在图4和4A以及方程式(1)的初始图像200中的每个单元202的能量值来生成积分图像300。在图5B中,基于在图4B和方程式(1)的初始图像200中的每个单元202的能量值来生成积分图像300。作为示例,参照图5和5A,单元302a的值计算如下:
38(单元302a)=10(单元202a)+15(单元302b)+25(单元302c)-12(单元302d)
因此,参考回图3,积分图像数据结构116通过提供具有多个单元的积分图像数据结构116而使得能够有效地计算周围单元的能量值,其中每个单元预先填充有方程式(1)。如将要讨论的,积分图像数据结构116的使用使得能够以约8至约32个标量操作而不是约380百个标量操作来确定被测单元的能量和,这使得控制器34能够有效地处理雷达能量图中的所有被测单元,并降低了错过检测的可能性。
初始图像模块104从雷达系统40a(图1)的收发器模块41接收由接收天线45接收的接收信号118作为输入。如图6所示,接收信号118提供雷达能量图600,如图6所示。在图6中,在y轴602上提供了范围(以米为单位),并且在x轴604上提供了多普勒(以每秒米为单位)。每个单元(多普勒、范围)具有以分贝(dB)为单位的能量值。标度606为与每个坐标单元(多普勒、范围)相关的能量值提供参考。
通常,雷达能量图600由与控制器34相关的另一控制模块计算。在一示例中,每个发射天线43以时分多址(TDMA)方式在不同时间发射,使得每个发射天线43顺序发射。接收天线45同时检测每个发射,并以预定或预确定次数采样。对于通过发射天线43进行发射和通过接收天线45进行接收的每个循环,存在预定或预确定数量的信道。通过发射天线43进行发射和通过接收天线45进行接收的该循环被重复预定或预确定次数。
由与控制器34相关的另一控制模块的处理器对信号执行范围快速傅立叶变换(FFT),然后是多普勒快速傅立叶变换(FFT)。在范围FFT和多普勒FFT之后,另一控制模块的处理器生成雷达立方体。通过由另一控制模块的处理器计算每个单元的范数并在信道轴上对所有单元求和,将雷达立方体压缩到雷达能量图600。这导致雷达能量图600,其将3D雷达点云改变为2D网格图。
每个目标根据其径向距离(范围)(即半径距离)和其径向速度(多普勒)存储在雷达能量图(2D网格)中的单元中。因此,每个单元具有基于与每个单元相关的(多普勒、范围)的坐标位置(x,y)。通常,目标的能量泄漏到相邻单元。分类和检测系统100处理雷达能量图600,以确定具有目标最高能量而不是泄漏的单元。
参照图2和6,基于接收信号118的接收,初始图像模块104从雷达能量图600去除专用区域608。专用区域608是具有高能量的区域,其由来自发射天线43(图1)的反射离开静止物体并被接收天线45接收的发射信号引起。初始图像模块104从初始雷达能量图600去除专用区域608以形成初始图像700,如图7所示。(在图4和4A以及图4B中示出了示例性初始图像的一部分的能量值的2D网格。)在一示例中,初始图像模块104通过将雷达能量图600中的单元的能量值与例如存储在阈值数据存储108中的阈值进行比较来去除专用区域608,并且基于单元的能量值大于阈值来去除专用区域608。在图7中,初始图像700没有高能量区域,并且包括在y轴702上的范围(以米为单位)和在x轴704上的多普勒(以米每秒为单位)。标度706为与每个单元(多普勒、范围)相关的能量值提供参考。返回参考图2,初始图像模块104为阈值能量确定模块110和邻域确定模块112设置初始图像120。初始图像120是在去除专用区域后从接收信号118接收的雷达能量图中剩余的雷达能量图。换句话说,在该示例中,初始图像120是初始图像700(图7),其是通过从由接收信号118提供的雷达能量图600(图6)中去除专用区域608(图6)而生成的。初始图像120包括2D网格中的多个初始单元,每个具有来自雷达能量图的能量值。
基于初始图像120,初始图像模块104生成积分图像124。在一示例中,初始图像模块104从积分图像数据存储102中检索积分图像数据结构116。初始图像模块104填充积分图像数据结构116的每个单元,具有初始图像的相关单元的能量值。当积分图像数据结构116以方程式(1)存储在每个单元中时,随着来自初始图像的能量值被填充到积分图像数据结构116中,通过如上所述使用来自初始图像120和方程式(1)的值来确定积分图像124中的每个相关单元的值。初始图像模块104为能量确定模块114设置积分图像124。
在一示例中,参考图8,示出了积分图像800。使用积分图像数据结构116(图2),基于与图7的初始图像700相关的单元中的能量值来生成积分图像800。因此,初始图像700(图7)的单元中的能量值用于使用存储的积分图像数据结构116(图2)来计算积分图像800的每个对应单元中的值,其中,基于方程式(1)和来自初始图像700(图7)的相关单元的能量值来计算积分图像800的每个单元。
返回参考图2,检测数据存储106存储被确定为可能的检测的被测单元126的数据。在一示例中,检测数据存储106存储由阈值能量确定模块110识别的初始图像120中的被测单元126的坐标值。因此,检测数据存储106可以由阈值能量确定模块110填充。在各个实施例中,对于存储在检测数据存储106中的每个被测单元126,被测单元126可以具有相关的鉴定128。如将要讨论的,能量确定模块114可以对每个检测到的被测单元126进行鉴定,并将该鉴定(噪声或检测)与相应的被测单元126相关联,并将此存储在检测数据存储106中。因此,在各个实施例中,能量确定模块114还填充检测数据存储106。与自主驾驶系统70相关的其他模块比如引导系统78可以访问检测数据存储106,以检索作为检测鉴定的单元。在其他实施例中,与计算机视觉系统74相关的模块可以访问检测数据存储106并检索检测以用于进一步处理。例如,检测可被传送到引导系统78以确定哪些物体紧邻车辆10,继而引导系统78可以基于物体确定控制车辆10的方向和速度。
阈值数据存储108存储与分类和检测系统100相关的阈值的数据。在该示例中,检测数据存储106存储能量阈值130、邻域阈值132、防护阈值134、噪声阈值135、多普勒极限阈值137和范围极限阈值139。能量阈值130、邻域阈值132、防护阈值134和噪声阈值135每个都是预定义值、默认值或出厂设定值。能量阈值130是初始图像120中的单元的能量值的阈值。在一示例中,能量阈值130为约30至约38分贝(dB)。邻域阈值132是针对初始图像120的窗口或邻域中的单元数量的阈值。在一示例中,邻域阈值132为约7至约10个单元。防护阈值134是针对初始图像120的邻域内的防护中的单元数量的阈值。在一示例中,防护阈值134为约0至约3个单元。噪声阈值135是用于与估计噪声相关的误差容限的阈值。在一示例中,噪声阈值135是误差容限的预定值。在该示例中,噪声阈值135为约25分贝(dB)。多普勒极限阈值137是对于雷达能量图600的多普勒值的极限的预定值。在一示例中,多普勒极限阈值137是约128。范围极限阈值139是对于雷达能量图600的多普勒值的极限的预定值。在一示例中,范围极限阈值139为约512。
阈值能量确定模块110接收初始图像120作为输入。阈值能量确定模块110从阈值数据存储108中检索能量阈值130。阈值能量确定模块110将初始图像120中的每个单元与能量阈值130进行比较。如果特定单元中的能量值大于能量阈值130,则阈值能量确定模块110将该单元的坐标位置(多普勒、范围)存储为检测数据存储106中的被测单元126。如果特定单元的能量值小于或等于能量阈值130,则阈值能量确定模块110进行到下一个单元。阈值能量确定模块110重复每个单元的能量与能量阈值130的此比较,直到将初始图像120的所有单元都与能量阈值130进行比较。应当注意,阈值能量确定模块110可以可选的是,分类和检测系统100可以将每个单元视为被测单元,而无需与能量阈值130进行初始比较。
邻域确定模块112查询检测数据存储106并检索被测单元中的第一个。邻域确定模块112查询阈值数据存储108并检索邻域阈值132、多普勒极限阈值137和范围极限阈值139。基于初始图像120中的被测单元126的坐标位置(多普勒、范围),邻域确定模块112围绕被测单元126的坐标位置(多普勒、范围)构建邻域或窗口。在该示例中,邻域确定模块112基于包含在邻域阈值132、多普勒极限阈值137和范围极限阈值139中的单元数量来构建邻域。例如,基于邻域阈值132和被测单元126的坐标位置(多普勒、范围),邻域确定模块112确定在初始图像120中是否有足够的单元围绕被测单元126以提供邻域。如果在被测单元126周围没有足够的单元,则邻域确定模块112将邻域划分为较小的矩形、正方形或部分。换句话说,邻域确定模块112环绕初始图像120以从以下借用单元:顶部(如果在被测单元126下方的初始图像120中没有足够的单元);底部(如果在被测单元126上方的初始图像120中没有足够的单元);左侧(如果在被测单元126的右侧的初始图像120中没有足够的单元);和/或右侧(如果在被测单元126的左侧的初始图像120中没有足够的单元),以形成附加矩形、正方形或部分来定义邻域。邻域确定模块112通过环绕初始图像120来借用多个单元,以确保被测单元126周围的邻域中的单元数量与邻域阈值132中的单元数量匹配或相对应。
例如,参照图7,示出了被测单元710。在约10的邻域阈值132的示例中,围绕被测单元710的单元的数量不足以形成邻域712。在该示例中,邻域确定模块112将邻域712分解为第一部分714和第二部分716。因此,邻域确定模块112环绕到初始图像700的底部以借用被测单元710周围所需的单元数量,以形成与邻域阈值132中的单元数量匹配的邻域712。作为另一示例,示出了被测单元720。随着被测单元720被足够多的单元围绕以形成与邻域阈值132匹配或相对应的邻域722。
通常,邻域712、722是矩形或正方形,使得从被测单元710开始,邻域确定模块112通过获取被测单元710、720上方的10个单元;被测单元710、720下方的10个单元;被测单元710、720右侧的10个单元;以及被测单元710、720左侧的10个单元而基于10的邻域阈值132来形成邻域(并且如关于被测单元710所讨论的那样在需要时环绕单元)。邻域确定模块112将邻域712、722形成为由邻域阈值132定义的单元周围的矩形或正方形。
在这方面,作为另一示例,参照图4和4A,在2D网格中示出了被测单元210。在图4和4A的示例中,分类和检测系统100将每个单元视为被测单元,而不执行能量值与能量阈值130的初始比较。被测单元210的能量值为3。例如,基于7的邻域阈值132,邻域确定模块112识别被测单元210的上方、下方、右侧和左侧的7个单元以形成邻域212。在此示例中,邻域确定模块112将邻域212分解为两个部分214、216并环绕原始图像200。邻域212包括由上方、下方、右侧和左侧的7个单元定义的矩形218(对于部分214)、220(对于部分216)中包含的所有单元。
作为另一示例,参照图4B,示出了被测单元250。在该示例中,分类和检测系统100正在执行初始阈值化,并且被测单元250的能量值为38,其大于能量阈值130。基于7的邻域阈值132,邻域确定模块112识别被测单元250的上方、下方、右侧和左侧的7个单元以形成邻域252。在该示例中,被测单元250周围有足够的单元以形成邻域252,而没有环绕初始图像200。邻域252包括由被测单元250的上方、下方、右侧和左侧的7个单元定义的矩形中包含的所有单元。
返回参照图2,在构建了邻域的情况下,邻域确定模块112确定与邻域相关的矩形、正方形或部分的四个角的索引(多普勒、范围)。换句话说,邻域确定模块112确定与定义邻域的矩形、正方形或部分的四个角相关的单元的坐标位置(多普勒、范围)。在邻域已被分解成附加部分或已被环绕在初始图像120周围的情况下,邻域确定模块112确定邻域的每个部分(或矩形)的索引。邻域确定模块112将索引的单元的坐标位置(多普勒、范围)设置为能量确定模块114的窗口数据136。窗口数据136包括与邻域相关的索引(与矩形或正方形的角相关的单元)的坐标位置(多普勒、范围),邻域可以包括多个索引,这取决于邻域被分解成多个部分还是环绕在初始图像120周围。
在一示例中,邻域确定模块112通过从被测单元的坐标位置(多普勒、范围)和邻域阈值132开始确定索引。邻域确定模块112确定邻域每个部分的Range_Start值、Range_End值、Doppler_Start值和Doppler_End值。在邻域没有环绕在初始图像120周围的情况下,邻域确定模块112基于以下方程式确定这些值:
Range_Start=Range
Range_End= Range
Doppler_Start=Doppler
Doppler_End=Doppler
其中,Range_Start是邻域的起始范围值;Range_End是邻域的结束范围值;Doppler_Start是邻域的起始多普勒值;Doppler_End是邻域的结束多普勒值;Doppler
在一示例中,邻域确定模块112基于方程式(3)或被测单元的范围与邻域阈值132之和是否大于范围极限阈值139来确定Range_End值。如果被测单元的范围与邻域阈值132之和大于范围极限阈值139,则Range_End是范围极限阈值减去被测单元的范围与邻域阈值132之和。邻域确定模块112基于方程式(2)或被测单元的范围减去邻域阈值132的值是否小于1来确定Range_Start值。如果被测单元的范围减去邻域阈值132的值小于1,则Range_Start是范围限制阈值139与被测单元的范围和邻域阈值132之差的和。在一示例中,邻域确定模块112基于方程式(5)或被测单元的多普勒与邻域阈值132之和是否大于多普勒极限阈值137来确定Doppler_End值。如果被测单元的多普勒与邻域阈值132之和大于多普勒极限阈值137,则Doppler_End是多普勒极限阈值减去被测单元的多普勒与邻域阈值132之和。邻域确定模块112基于方程式(4)或被测单元的多普勒减去邻域阈值132的值是否小于1来确定Doppler_Start值。如果被测单元的多普勒减去邻域阈值132的值小于1,则Doppler_Start是多普勒极限阈值137与被测单元的多普勒和邻域阈值132之差的和。参考图4和4A,对于部分216,Range_Start为1,Range_End为14,Doppler_Start为4,Doppler_End为18。对于部分214,Range_Start为43,Range_End为43,Doppler_Start为4且Doppler_End为18。
邻域确定模块112将邻域的第一索引确定为(Doppler_End,Range_End),并从积分图像检索第一索引的值。如将要讨论的,能量确定模块114将第一索引的该值设置为该部分的能量和。邻域确定模块112确定Range_Start减一是否大于零。如果为真,则邻域确定模块112将第二索引确定为(Doppler_End,Range_Start-1)。能量确定模块114从积分图像检索第二索引的值,并从该部分的能量和中减去第二索引(来自积分图像)的值。如果Range_Start减一不大于零,则邻域确定模块112将对角线的总和设置为假,以指示邻域环绕在初始图像周围并且不计算第二索引。
邻域确定模块112确定Doppler_Start减一是否大于零。如果为真,则邻域确定模块112将第三索引确定为(Doppler_Start-1,Range_End)。如将要讨论的,能量确定模块114从积分图像检索第三索引的值,并从该部分的能量和中减去第三索引(来自积分图像)的值。如果Doppler_Start减一不大于零,则邻域确定模块112将对角线的总和设置为假,以指示邻域环绕在初始图像周围并且不计算第三索引。
邻域确定模块112确定对角线的总和是否为真,Range_Start减一是否大于零以及Doppler_Start减一是否大于零。如果对角线的总和未设置为假,则对角线的总和为真。如果为真,则邻域确定模块112将第四索引确定为(Doppler_Start-1,Range_Start-1)。如将要讨论的,能量确定模块114从积分图像检索第四索引的值,并且将第四索引(来自积分图像)的值与该部分的能量和相加。如果对角线的总和为假,Range_Start减一不大于零或Doppler_Start减一不大于零,则邻域确定模块112不计算第四索引。
通常,右下角索引(Doppler_End,Range_End)在邻域内(以及邻域环绕初始图像时邻域的每个部分),而其余索引则在邻域外。在邻域已经环绕在初始图像周围的情况下,邻域确定模块112基于可用于已经环绕在初始图像周围的各个部分的那些来计算索引。
返回参考图4B,在邻域252的示例中,邻域确定模块112基于具有11的多普勒和15的范围的被测单元250以及7的邻域阈值132来计算索引。基于被测单元坐标位置(多普勒11、范围15)和7的邻域阈值132,因为该邻域252没有使用公式(2)-(5)分成多个部分,所以Range_Start为8;Range_End为22;Doppler_Start为4;Doppler_End为18。第一索引260为(多普勒18,范围22)。Range_Start减一大于零,第二索引258为(多普勒18,范围7)。Doppler_Start减一大于零,第三索引256为(多普勒3,范围22)。由于对角线为真,Range_Start减一大于零且Doppler_Start减一大于零,因此第四索引254为(多普勒3,范围7)。
返回参照图4和4A,在邻域212的示例中,邻域确定模块112基于具有11的多普勒和7的范围的被测单元210以及7的邻域阈值132来计算部分214、216的索引。基于被测单元坐标位置(多普勒11,范围7)和7的邻域阈值132,邻域确定模块112确定邻域环绕初始图像,并将邻域分为部分214、216。对于每个部分,邻域确定模块112确定索引。对于部分216,Range_Start为1;Range_End为14;Doppler_Start为4;Doppler_End为18。第一索引228是(Doppler_End,Range_End)或(多普勒18,范围14)。Range_Start减一不大于零且对角线设置为假。因此,对于部分216,邻域确定模块112不计算第二索引。Doppler_Start减一大于零,第三索引226是(Doppler_Start-1,Range_End)或(多普勒3,范围14)。由于对角线已被设置为假,因此邻域确定模块112不计算第四索引。
对于部分214,Range_Start为43,Range_End为43,Doppler_Start为4,Doppler_End为18。第一索引231为(Doppler_End,Range_End)或(多普勒18,范围43)。Range_Start减去1大于零,第二索引232是(Doppler_End,Range_Start-1)或(多普勒18,范围42)。Doppler_Start减一大于零,第三索引233是(Doppler_Start-1,Range_End)或(多普勒3,范围43)。由于对角线为真,Range_Start减一大于零且Doppler_Start减一大于零,因此第四索引235为(Doppler_Start-1,Range_Start-1)或(多普勒3,范围42)。
基于邻域,邻域确定模块112还围绕邻域内的被测单元126构建防护。邻域确定模块112查询阈值数据存储108,并检索防护阈值134、多普勒极限阈值137和范围极限阈值139。基于初始图像120中的被测单元126的坐标位置(多普勒,范围),邻域确定模块112围绕被测单元126的坐标位置(多普勒,范围)构建防护。在该示例中,邻域确定模块112基于防护阈值134、多普勒极限阈值137和范围极限阈值139中包含的单元数量来构建防护。例如,基于防护阈值134和被测单元126的坐标位置(多普勒,范围),邻域确定模块112确定在围绕被测单元126的初始图像120中是否存在足够的单元以提供防护。如果在被测单元126周围没有足够的单元,则邻域确定模块112将防护分成较小的矩形。换句话说,邻域确定模块112环绕初始图像120以从以下借用单元:顶部(如果在被测单元126下方的初始图像120中没有足够的单元);底部(如果在被测单元126上方的初始图像120中没有足够的单元);左侧(如果在被测单元126的右侧的初始图像120中没有足够的单元);和/或右侧(如果在被测单元126的左侧的初始图像120中没有足够的单元),以形成附加矩形来定义防护。邻域确定模块112通过环绕初始图像120来借用多个单元,以确保被测单元126周围的防护中的单元数量与防护阈值134中的单元数量匹配或相对应。
例如,参照图7,示出了被测单元710。在约3的防护阈值134的示例中,被测单元710周围的单元数量不足以形成防护730。在该示例中,邻域确定模块112将防护730分成第一防护部分732和第二防护部分734。因此,邻域确定模块112环绕到初始图像700的底部以借用在被测单元710周围所需的单元数量,以形成与防护阈值134中的单元数量匹配的防护730。作为另一示例,被测单元720被足够多的单元围绕以形成与防护阈值134匹配或相对应的防护740。
通常,防护730、740是矩形或正方形,使得从被测单元710开始,邻域确定模块112通过获取被测单元710、720上方的3个单元;被测单元710、720下方的3个单元;被测单元710、720右侧的3个单元;以及被测单元710、720左侧的3个单元而基于防护阈值134来形成防护730、740(并且如关于被测单元710所讨论的那样在需要时环绕单元)。邻域确定模块112将防护730、740形成为由防护阈值134定义的单元周围的矩形或正方形。
作为另一示例,参考图4和4A,基于3的防护阈值134,邻域确定模块112识别被测单元210的上方、下方、右侧和左侧的3个单元以形成防护236。在该示例中,由于存在足够的单元以形成防护236,因此邻域确定模块112不将防护分成多个部分。防护236包括由被测试单元210的上方、下方、右侧和左侧的3个单元限定的矩形238内包含的所有单元。如图4B所示,作为另一示例,基于3的防护阈值134,邻域确定模块112识别被测单元250的上方、下方、右侧和左侧的3个单元以形成防护264。在该示例中,由于存在足够多的单元以形成防护264,因此邻域确定模块112不将防护分成多个部分。防护264包括由被测试单元250的上方、下方、右侧和左侧的3个单元限定的矩形238内包含的所有单元。
返回参照图2,在构建了防护的情况下,邻域确定模块112确定与防护相关的矩形、正方形或部分的四个角的索引(多普勒、范围)。换句话说,邻域确定模块112确定与定义防护的矩形或正方形的四个角相关的单元的坐标位置(多普勒、范围)。在防护已被分解成附加部分或已被环绕在初始图像120周围的情况下,邻域确定模块112确定邻域的每个部分(或矩形)的索引。邻域确定模块112将防护索引的单元的坐标位置(多普勒、范围)设置为能量确定模块114的防护数据138。防护数据138包括与防护相关的索引(与矩形、正方形或部分的角相关的单元)的坐标位置(多普勒、范围),防护可以包括多个索引,这取决于邻域被分解还是环绕在初始图像120周围。
在一示例中,邻域确定模块112通过从被测单元的坐标位置(多普勒、范围)和防护阈值134开始确定索引。邻域确定模块112确定邻域每个部分的Range_Start防护值、Range_End防护值、Doppler_Start防护值和Doppler_End防护值。在邻域没有环绕在初始图像120周围的情况下,在一示例中,邻域确定模块112基于以下方程式确定这些值:
Range_Start Guard=Range
Range_End Guard= Range
Doppler_Start Guard=Doppler
Doppler_End Guard=Doppler
其中,Range_Start Guard是防护的起始范围值;Range_End Guard是防护的结束范围值;Doppler_Start Guard是防护的起始多普勒值;Doppler_End Guard是防护的结束多普勒值;Doppler
在一示例中,邻域确定模块112基于方程式(7)或被测单元的范围与防护阈值134之和是否大于范围极限阈值139来确定Range_End Guard值。如果被测单元的范围与防护阈值134之和大于范围极限阈值139,则Range_End Guard是范围极限阈值减去被测单元的范围与防护阈值134之和。邻域确定模块112基于方程式(6)或被测单元的范围减去防护阈值134的值是否小于1来确定Range_Start Guard值。如果被测单元的范围减去防护阈值134的值小于1,则Range_Start Guard是范围限制阈值139与被测单元的范围和防护阈值134之差的和。在一示例中,邻域确定模块112基于方程式(9)或被测单元的多普勒与防护阈值134之和是否大于多普勒极限阈值137来确定Doppler_End Guard值。如果被测单元的多普勒与防护阈值134之和大于多普勒极限阈值137,则Doppler_End Guard是多普勒极限阈值减去被测单元的多普勒与防护阈值134之和。邻域确定模块112基于方程式(8)或被测单元的多普勒减去防护阈值134的值是否小于1来确定Doppler_Start Guard值。如果被测单元的多普勒减去防护阈值134的值小于1,则Doppler_Start Guard是多普勒极限阈值137与被测单元的多普勒和防护阈值134之差的和。
邻域确定模块112将防护的第一防护索引确定为(Doppler_End Guard,Range_EndGuard)。如将要讨论的,能量确定模块114从积分图像检索第一索引的值,并将第一防护索引的该值设置为该部分的防护能量和。邻域确定模块112确定Range_Start Guard减一是否大于零。如果为真,则邻域确定模块112将第二防护索引确定为(Doppler_End Guard,Range_Start-1 Guard)。能量确定模块114从积分图像检索第二防护索引的值,并从该部分的防护能量和中减去第二防护索引(来自积分图像)的值。如果Range_Start Guard减一不大于零,则邻域确定模块112将对角线的总和设置为假,以指示防护环绕在初始图像周围并且不计算第二防护索引。
邻域确定模块112确定Doppler_Start Guard减一是否大于零。如果为真,则邻域确定模块112将第三索引确定为(Doppler_Start-1 Guard,Range_End Guard)。如将要讨论的,能量确定模块114从积分图像检索第三防护索引的值,并从该部分的防护能量和中减去第三防护索引(来自积分图像)的值。如果Doppler_Start Guard减一不大于零,则邻域确定模块112将对角线的总和设置为假,以指示防护环绕在初始图像周围并且不计算第三防护索引。
邻域确定模块112确定对角线的总和是否为真,Range_Start Guard减一是否大于零以及Doppler_Start Guard减一是否大于零。如果对角线的总和未设置为假,则对角线的总和为真。如果为真,则邻域确定模块112将第四防护索引确定为(Doppler_Start-1Guard,Range_Start-1 Guard)。如将要讨论的,能量确定模块114从积分图像检索第四防护索引的值,并且将第四防护索引(来自积分图像)的值与该部分的能量和相加。如果对角线的总和为假,Range_Start Guard减一不大于零或Doppler_Start Guard减一不大于零,则邻域确定模块112不计算第四防护索引。
返回参照图4和4A,在防护236的示例中,邻域确定模块112基于具有11的多普勒和7的范围的被测单元210以及3的防护阈值134来计算索引。基于(多普勒11,范围7)处的被测单元210和3的防护阈值134,使用方程式(6)-(9),Range_Start Guard为4;Range_EndGuard为10;Doppler_Start Guard为8;Doppler_End Guard为14。第一防护索引246为(多普勒14,范围10)。Range_Start Guard减一大于零,第二防护索引244为(多普勒14,范围3)。Doppler_Start Guard减一大于零,第三防护索引242为(多普勒7,范围10)。由于对角线为真,Range_Start Guard减一大于零且Doppler_Start Guard减一大于零,因此第四防护索引240为(多普勒7,范围3)。
返回参考图4B,在防护264的示例中,邻域确定模块112基于具有11的多普勒和23的范围的被测单元250以及3的防护阈值134来计算索引。基于在(多普勒11、范围15)处的被测单元250和3的防护阈值134,使用方程式(6)-(9),Range_Start Guard为12;Range_EndGuard为18;Doppler_Start Guard为8;Doppler_End Guard为14。第一防护索引272为(多普勒14,范围18)。Range_Start Guard减一大于零,第二防护索引270为(多普勒14,范围11)。Doppler_Start Guard减一大于零,第三防护索引268为(多普勒7,范围18)。由于对角线为真,Range_Start Guard减一大于零且Doppler_Start Guard减一大于零,因此第四防护索引266为(多普勒7,范围11)。
返回参考图2,能量确定模块114查询检测数据存储106并检索被测单元126中的第一个。能量确定模块114接收积分图像124和窗口数据136作为输入。基于窗口数据136中包含的单元的坐标位置(多普勒,范围),能量确定模块114从积分图像124中检索在积分图像中在相关的坐标位置(多普勒,范围)处的单元的值。换句话说,对于窗口数据136中的每个索引,能量确定模块114检索在积分图像中在与各个窗口索引的单元的坐标位置(多普勒,范围)匹配的坐标位置(多普勒,范围)处的单元的值。能量确定模块114基于以下方程式计算邻域的能量:
E=Index
其中,E是邻域的能量和;Index1是来自邻域的第一索引(Doppler_End,Range_End)的积分图像的值;Index2是来自邻域的第二索引(Doppler_End,Range_Start-1)的积分图像的值;Index2是来自邻域的第三索引(Doppler_Start-1,Range_End)的积分图像的值,Index4是来自邻域的第四索引(Doppler_Start-1,Range_Start-1)的积分图像的值。应当注意,能量确定模块114针对每组索引重复该计算,使得对于已被划分为多个部分的邻域,能量确定模块114可以计算多个能量和(每个部分一个),它们相加在一起以得到邻域的能量和。在一示例中,参考图8,Index
参照图4、4A、5和5A,对于部分216,基于第一索引228(多普勒18,范围14)和第三索引226(多普勒3,范围14)的窗口数据136,能量确定模块114检索图5和5A中来自积分图像的相应值。在图5和5A中,对于图4和4A的邻域212的部分216,Index
对于邻域212的部分214,基于第一索引231(多普勒18,范围43);第二索引232(多普勒18,范围42);第三索引233(多普勒3,范围43)以及第四索引235(多普勒3,范围42)的窗口数据136,能量确定模块114从图5和5A中的积分图像检索相应的值。在图5和5A中,对于图4和4A的邻域212的部分214,Index
参照图4B和5B,基于第一索引260(多普勒18,范围22);第二索引258(多普勒18,范围7);第三索引256(多普勒3,范围22)以及第四索引254(多普勒3,范围7)的窗口数据136,能量确定模块114从图5B中的积分图像检索相应的值。在图5B中,对于图4B的邻域252,Index
能量确定模块114接收防护数据138作为输入。基于防护数据138中包含的单元的坐标位置(多普勒,范围),能量确定模块114从积分图像124中检索在积分图像中在相关坐标位置(多普勒,范围)处的单元的值。换句话说,对于防护数据138中的每个索引,能量确定模块114检索在积分图像中在与相应防护索引的单元的坐标位置(多普勒,范围)匹配的坐标位置(多普勒,范围)处的单元的值。能量确定模块114基于以下方程式计算防护的能量:
GE=GIndex
其中,GE为防护能量和;GIndex
参照图4、4A、5和5A,基于第一防护索引246(多普勒14,范围10);第二防护索引244(多普勒14,范围3);第三防护索引242(多普勒7,范围10);以及第四防护索引240(多普勒7,范围3)的防护数据138,能量确定模块114从图5和5A的积分图像检索相应的值。对于防护236,在图5和5A中,GIndex
参照图4B和5B,基于第一防护索引272(多普勒14,范围18);第二防护索引270(多普勒14,范围11);第三防护索引268(多普勒7,范围18);第四防护索引266(多普勒7,范围11)的防护数据138,能量确定模块114从图5和5A的积分图像检索相应的值。对于防护264,在图5和5A中,GIndex
能量确定模块114从窗口的能量(在方程式(10)中确定)减去防护的能量(在方程式(11)中确定)以确定总能量和。能量确定模块114从防护中的单元数量(来自防护阈值134)中减去邻域的单元数量(来自邻近阈值132)。能量确定模块114将能量和除以邻域中的单元数量与防护中的单元数量之间的差,以得出被测单元126的估计噪声。
对于图4和4A,总能量和为982,并且邻域212中的单元数量(196;邻域阈值132的两倍乘以邻域阈值132的两倍)与防护236中的单元数量(36;防护阈值134的两倍乘以防护阈值134的两倍)之差是160。被测单元210的估计噪声为6.14(982除以160)。对于图4B,总能量和为8775,并且邻域252中的单元数量(196;邻域阈值132的两倍乘以邻域阈值132的倍)与防护236中的单元数量(36;防护阈值134的两倍乘以防护阈值134的两倍)之差是160。被测单元250的估计噪声为54.84(8775除以160)。
能量确定模块114查询阈值数据存储108并检索噪声阈值135。能量确定模块114从初始图像120检索被测单元126的能量值。能量确定模块114将被测单元126的估计噪声乘以噪声阈值135,并且将来自初始图像120的被测单元126的能量值与估计噪声和噪声阈值135的乘积进行比较。如果来自初始图像120的被测单元126的能量值大于估计噪声与噪声阈值135的乘积,则能量确定模块114将被测单元126鉴定为检测,并将检测的鉴定128与被测单元126相关。能量确定模块114将与被测单元126相关的鉴定128存储在检测数据存储106中。如果来自初始图像120的被测单元126的能量值小于或等于被测单元126的估计噪声与噪声阈值135的乘积,则能量确定模块114将被测单元126鉴定为噪声,并将噪声的鉴定128与被测单元126相关。能量确定模块114将与被测单元126相关的鉴定128存储在检测数据存储106中。
对于被测单元210(图4和4A),来自初始图像的能量值为3。估计噪声与噪声阈值135的乘积(6.14x 25)为153.5,其大于3。因此,能量确定模块114将被测单元210鉴定为噪声并将噪声的鉴定128与被测单元210相关。对于被测单元250(图4B),来自初始图像的能量值为38。估计噪声与噪声阈值135的乘积(54.84x 25)为1371,其大于38。因此,能量确定模块114将被测单元250鉴定为噪声并将噪声的鉴定128与被测单元250相关。
邻域确定模块112针对每个被测单元126重复确定窗口数据136和防护数据138,并且能量确定模块114重复对每个被测单元126进行鉴定,直到检测数据存储106中的每个被测单元126具有相关的鉴定128。
现在参考图9-13并继续参考图1-3,流程图示出了可以由根据本公开的图1的分类和检测系统100执行的方法900。在一示例中,方法900由控制器34的处理器44执行。根据本公开可以理解,该方法内的操作顺序不限于如图9-13所示的顺序执行,而是可以按照适用并根据本公开的一个或多个变化顺序来执行。在各个实施例中,方法900可被调度为基于一个或多个预定事件运行,和/或可以在自主车辆10的操作期间连续运行。
参照图9,该方法开始于902。在904,该方法从与控制器34相关的另一控制模块接收雷达能量图(基于来自雷达系统40a的收发器模块41的接收天线45的接收信号118)。在906,该方法从雷达能量图去除专用区域608(图6)以生成初始图像700(图7)。在908,该方法查询积分图像数据存储102并检索积分图像数据结构116。该方法基于初始图像中的能量值和使用积分图像数据结构116的方程式(1)来计算积分图像。在方法910,该方法查询阈值数据存储108并检索能量阈值130。对于初始图像中的每个单元,该方法将初始图像中的单元的能量值与能量阈值130进行比较。在912,可选地,该方法确定单元中的能量值是否大于能量阈值130。如果为真,则该方法在914可选地将该单元识别为可能的检测,并将该单元存储在检测数据存储106中。从914,该方法继续进行至916。
否则,如果在912为假,则该方法进行到916。在916,该方法确定是否已将初始图像中所有单元的能量值与能量阈值130进行了比较。如果为真,则该方法进行到918。如果为假,则该方法循环至912。如果未执行初始阈值化(框910-916),则该方法将每个单元视为被测单元,并进行918。
在918,该方法从检测数据存储106接收被测单元126中的第一个。在920,该方法查询阈值数据存储108并检索邻域阈值132。该方法基于被测单元126的坐标位置(多普勒,范围)和邻域阈值132来构建被测单元126周围的邻域。参照图9A,在922,该方法确定邻域是否需要环绕初始图像以提供定义邻域所需的单元数量。如果为假,则在924,该方法进行到图10。否则,如果为真,则在926,该方法将邻域划分为附加较小的矩形、正方形或部分,以达到与邻域阈值132匹配或相对应的单元数量。在924,该方法进行到图10,以确定邻域能量和。
参考图10-10A,该方法从1002开始。在1003,该方法将邻域能量和设置为零。在1004,该方法针对该部分将能量和设置为等于零并且将对角线设置为对于该部分等于真。在1006,该方法确定该部分的Range_Start值、Range_End值、Doppler_Start值和Doppler_End值。换句话说,如果邻域没有被分解或环绕在初始图像周围,则该方法在1006以整个邻域作为该部分来确定Range_Start值、Range_End值、Doppler_Start值和Doppler_End值,并且为邻域确定Range_Start值、Range_End值、Doppler_Start值和Doppler_End值。如果邻域被分解成多个部分或环绕在初始图像周围,则该方法在1006确定该部分的第一个的Range_Start值、Range_End值、Doppler_Start值和Doppler_End值。在一示例中,参照图12-12A,该方法在1202开始确定该部分的Range_Start值、Range_End值、Doppler_Start值和Doppler_End值。在1204,该方法将END设置为等于被测单元的范围(Range
在1208,该方法将Range_End设置为范围极限阈值139减去END或范围极限阈值139减去被测单元的范围与邻域阈值132之和(Range_End=Range Limit Threshold–(Range
在1216,该方法将Range_Start设置为等于范围限制阈值和START之和,或范围限制阈值和被测单元的范围减去邻域阈值132之和(Range_Start=Range Limit Threshold+(Range
在1224,该方法将Doppler_End设置为多普勒极限阈值137减去END或多普勒极限阈值137减去被测单元的多普勒与邻域阈值132之和(Doppler_End=Doppler LimitThreshold–(Doppler
返回参考图10,在基于关于图12-12A讨论的1202-1238为每个部分确定了Range_Start、Range_End、Doppler_Start和Doppler_End的情况下,在1008,该方法从积分图像检索第一索引(Doppler_End,Range_End)的值,并将该值设置为该部分的能量和。在1010,该方法确定Range_Start减一是否大于零。如果为真,则该方法行进至1012。如果为假,则该方法行进至1014,并将对角线设置为假,然后行进至1016。在1012,该方法从积分图像检索第二索引(Doppler_End,Range_Start-1)的值,并且从该部分的能量和中减去该值。
参考图10A,在1016,该方法确定Doppler_Start减去一是否大于零。如果为真,则在1018,该方法从积分图像检索第三索引(Doppler_Start-1,Range_End)的值,并从该部分的能量和中减去该值。否则,如果为假,则在1020,该方法将对角线设置为假。
在1022,该方法确定对角线是否为真,Range_Start减一是否大于零以及Doppler_Start减一是否大于零。如果为假,则该方法行进至1024。否则,如果为真,则在1026,该方法从积分图像检索第四索引(Doppler_Start-1,Range_Start-1)的值,并将该值与该部分的能量和相加。在1024,该方法将该部分的能量和添加到邻域能量和。在1028,该方法基于图9中构建的邻域确定邻域的所有部分是否已被评估。如果为真,则该方法行进至图9A上的927。否则,该方法循环到1004,并确定邻域的下一部分的能量和。
返回参照图9A,在927,该方法查询阈值数据存储108并检索防护阈值134。该方法基于被测单元126的坐标位置(多普勒,范围)和防护阈值134来构建被测单元126周围的防护。在928,该方法确定防护是否需要环绕初始图像以提供定义防护所需的单元数量。如果为假,则在930,该方法行进至图11-11A。否则,如果为真,则在932,该方法将防护划分为附加较小的矩形、正方形或部分,以达到与防护阈值134匹配或相对应的单元数量。在930,该方法行进至图11-11A以确定防护能量和。
参照图11,该方法从1102开始。在1103,该方法将防护能量和设置为等于零。在1104,该方法将能量和设置为等于零并且针对该部分将对角线设置为等于真。在1106,该方法确定该部分的Range_Start Guard值、Range_End Guard值、Doppler_Start Guard值和Doppler_End Guard值。换句话说,如果防护没有被分解或环绕在初始图像周围,则该方法在1106以整个防护作为该部分来确定Range_Start Guard值、Range_End Guard值、Doppler_Start Guard值和Doppler_End Guard值,并且确定该防护的Range_Start Guard值、Range_End Guard值、Doppler_Start Guard值和Doppler_End Guard值。如果防护被分成多个部分或环绕在初始图像周围,则该方法在1106确定该部分的第一个的Range_StartGuard值、Range_End Guard值、Doppler_Start Guard值和Doppler_End Guard值。在一示例中,参照图13-13A,该方法在1302开始以确定该部分的Range_Start Guard值、Range_EndGuard值、Doppler_Start Guard值和Doppler_End Guard值。在1304,该方法将END设置为等于被测单元的范围(Range
在1308,该方法将Range_End Guard设置为范围限制阈值139减去END或范围限制阈值139减去被测单元的范围与防护阈值134之和(Range_End Guard=Range LimitThreshold–(Range
在1316,该方法将Range_Start Guard设置为等于范围限制阈值和START之和,或范围限制阈值与被测单元的范围减去防护阈值134之和(Range_Start Guard=RangeLimit Threshold+(Range
在1324,该方法将Doppler_End Guard设置为多普勒极限阈值137减去END或多普勒极限阈值137减去被测单元的多普勒与防护阈值134之和(Doppler_End Guard=DopplerLimit Threshold–(Doppler
返回参照图11,在基于关于图13-13A讨论的1302-1338为每个部分确定了Range_Start Guard、Range_End Guard、Doppler_Start Guard和Doppler_End Guard的情况下,在1108,该方法从积分图像检索第一索引(Doppler_End Guard,Range_End Guard)的值,并将该值设置为该部分的防护能量和。在1110,该方法确定Range_Start Guard减去一是否大于零。如果为真,则该方法行进至1112。如果为假,则该方法行进至1114,并将对角线设置为假,然后行进至1116。在1112,该方法从积分图像检索第二索引(Doppler_End Guard,Range_Start Guard-1)的值,并从该部分的防护能量和中减去该值。
参照图11A,在1116,该方法确定Doppler_Start Guard减去一是否大于零。如果为真,则在1118,该方法从积分图像检索第三索引(Doppler_Start Guard-1,Range_EndGuard)的值,并从该部分的防护能量和中减去该值。否则,如果为假,则在1120,该方法将对角线设置为假。
在1122,该方法确定对角线是否为真,Range_Start Guard减一是否大于零以及Doppler_Start Guard减一是否大于零。如果为假,则该方法行进至1124。否则,如果为真,则在1126,该方法从积分图像检索第四索引(Doppler_Start Guard-1,Range_StartGuard-1)的值,并将该值与该部分的防护能量和相加。在1124,该方法将该部分的防护能量和加到防护能量和上。在1128,该方法基于图9A中构建的防护来确定防护的所有部分是否已被评估。如果为真,则该方法行进至图9A上的938。否则,该方法循环至1104,并确定防护的下一部分的能量和。
参照图9A,在938,该方法从邻域的能量中减去防护的能量以计算总能量和。在940,该方法从邻域的单元数量中减去防护中的单元数量,以得出多个单元。该方法将总能量和除以单元数量(窗口中的单元数量减去防护中的单元数量),以计算针对被测单元126的估计噪声。参照图9B,在942,该方法查询阈值数据存储108并检索噪声阈值135。该方法从初始图像120检索被测单元126的能量值。该方法将被测单元126的估计噪声乘以噪声阈值135,并将来自初始图像120的被测单元126的能量值与被测单元126的估计噪声和噪声阈值135的乘积进行比较。该方法确定来自初始图像120的被测单元126的能量值是否大于估计噪声与噪声阈值135的乘积。如果为真,则该方法行进至944,并且将被测单元126鉴定为检测。如果为假,则该方法行进至946,并且将被测单元126鉴定为噪声。
在948,该方法将鉴定(噪声或检测)与被测单元相关,并将该相关存储在检测数据存储106中。在950,该方法确定检测数据存储106中的所有单元是否已被鉴定或具有相关(噪声或检测)。如果为真,则该方法在952结束。否则,如果为假,则该方法行进至918。因此,分类和检测系统100以明显减少的标量操作数量来对被测单元进行鉴定,这减少了控制器34的处理时间,并且还减少了错过的检测。此外,通过在两个维度(多普勒和范围)上对被测单元进行鉴定,可以提高检测的准确性。
尽管在前面的详细描述中已经提出了至少一个示例性实施例,但应当理解,存在大量的变型。还应当理解,一个或多个示例性实施例仅是示例,并且无意以任何方式限制本公开的范围、适用性或配置。相反,前述详细描述将为本领域技术人员提供用于实施一个或多个示例性实施例的便利路线图。应当理解,在不脱离如所附权利要求及其合法等同物所阐述的本公开的范围的情况下,可以对元件的功能和布置进行各种改变。
- 用于分类来自雷达系统的接收信号的方法和系统
- 用于处理来自相干激光雷达的信号以减少噪声的方法及相关激光雷达系统