用于LED闪烁和条带检测的系统和方法与流程

文档序号:24968868发布日期:2021-05-07 22:38阅读:70来源:国知局
用于LED闪烁和条带检测的系统和方法与流程

本公开总体上涉及用于移动平台的视觉传感器系统,更具体地涉及实时检测发光二极管(led)闪烁和条带的视觉传感器系统和方法。



背景技术:

用于车辆的视觉传感器系统检测由车辆外部的物体发出的光。普通类型的发光物体是led。led通常用于交通信号灯和信息标志,使它们成为视觉传感器系统领域内要解决的相关技术问题。从led发出的光通常被周期性地脉冲并且描述为具有周期和占空比。对于脉冲持续时间,led主动发光,而对于周期的其余时间,led熄灭或不激活。当led以足够快的频率脉冲时,人眼会感觉到它一直亮着。视觉传感器系统利用一个或多个车载相机来感测或捕获光。独立地,车载相机通常具有其自己的周期性,称为帧速率。相机在称为曝光时间的部分帧期间主动捕获光。车载显示系统和机器视觉系统通常取决于相机数据。

当相机曝光时间与led脉冲一致时,则相机数据捕获led点亮。如果相机帧速率与led脉冲频率不匹配,则相机数据可能会错误地指示led熄灭。实际上,在多个帧上,这些不正确的确定会导致显示系统和机器视觉系统产生不良的技术效果。这种不良效果的示例是在显示系统上的渲染中可以看到的闪烁和条带。为了解决这些技术问题,许多可用的视觉传感器系统和方法在显示系统点处采用了led闪烁缓解策略。

因此,期望改进的视觉传感器系统和方法。除了解决相关问题之外,以下公开提供了用于实时解决闪烁和条带的技术解决方案。此外,结合附图和先前的背景技术,根据随后的详细描述和所附权利要求,系统和方法的其他期望特征和特性将变得显而易见。



技术实现要素:

在一实施例中,提供了一种用于移动平台的视觉传感器系统。该系统包括:生成相机数据的车载相机;以及被编程为接收相机数据的处理器:在相机数据帧中识别光源位置;识别与光源相关的感兴趣区域(roi);递增相机数据帧;计算光源处的信噪比(snr);存储具有snr的帧号;在出现条带时识别条带;在出现闪烁时识别闪烁;以及响应于识别闪烁,生成响应。

在一实施例中,处理器还被编程为通过识别最亮的像素来识别光源位置。

在一实施例中,响应于识别带,处理器被编程为生成响应。

在一实施例中,处理器还被编程为通过在显示系统上采用补偿技术来生成响应,并且其中补偿技术包括羽化以填充缺失的像素。

在一实施例中,处理器还被编程为通过生成用于机器视觉系统的警报来生成响应。

在一实施例中,处理器还被编程为通过用物体识别数据处理光源位置来识别roi。

在一实施例中,处理器还被编程为通过用地理位置系统(gps)数据处理光源位置来识别roi。

在一实施例中,识别闪烁包括:对于n个帧,确定n个帧中的50%的snr超过snr阈值。

还提供了一种用于移动平台中的视觉感测的处理器实施的方法,包括:在相机数据帧中识别光源位置;识别与光源相关的感兴趣区域(roi);递增相机数据帧;计算光源处的信噪比(snr);存储具有相机数据帧和snr的帧号;在出现条带时识别条带;在出现闪烁时识别闪烁;以及响应于以下中的每个来生成响应:识别条带和识别闪烁。

在一实施例中,该方法还包括通过识别最亮的像素来识别光源位置。

在一实施例中,该方法还包括通过在显示系统上采用补偿技术来生成响应。

在一实施例中,补偿技术包括羽化,以填充丢失的像素。

在一实施例中,该方法还包括通过生成用于机器视觉系统的警报来生成响应。

在一实施例中,该方法还包括通过用物体识别数据处理光源位置来识别roi。

在一实施例中,该方法还包括通过用地理位置系统(gps)数据处理光源位置来识别roi。

在一实施例中,识别闪烁包括:对于n个帧,确定n个帧中的50%的snr超过snr阈值。

在另一提供的实施例中,提供了一种移动平台,包括:安装在移动平台上并生成相机数据的相机;以及被编程为接收相机数据的处理器:在相机数据帧中识别光源位置;识别与光源相关的感兴趣区域(roi);递增相机数据帧;计算光源处的信噪比(snr);存储具有相机数据帧和snr的帧号;在出现条带时识别条带;在出现闪烁时识别闪烁;以及响应于以下中的每个来生成用于机器视觉系统的警报:识别条带和识别闪烁。

在一实施例中,处理器还被编程为通过识别最亮的像素来识别光源位置。

在一实施例中,处理器还被编程为通过在显示系统上采用羽化技术来生成响应以填充丢失的像素。

在一实施例中,处理器还被编程为通过利用以下中的每个来处理光源位置从而识别roi:物体识别数据和地理位置系统(gps)数据。

附图说明

在下文中,将结合以下附图描述示例性实施例,其中相同的标号表示相同的元件,并且其中:

图1是示出根据各个实施例的包括视觉传感器系统的车辆的示意图;

图2是示出根据示例性实施例的led脉冲与相机曝光之间的关系的时序图;以及

图3是描绘根据各个实施例的用于移动平台中的视觉感测的示例方法的过程流程图。

具体实施方式

以下详细描述本质上仅是示例性的,并不旨在限制应用和用途。此外,无意受到在先前技术领域、背景技术、发明内容或以下详细描述中提出的任何明示或暗示的理论的约束。

在此可以根据功能和/或逻辑块部件以及各种处理步骤来描述本公开的实施例。应当理解,可以通过配置为执行指定功能的任何数量的硬件、软件和/或固件部件来实现这种块部件。例如,本公开的实施例可以采用各种集成电路部件,例如存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其他控制装置的控制下执行各种功能。

如本文所用,术语“模块”是指单独或以任何组合的任何硬件、软件、固件、电子控制部件、处理逻辑和/或处理器装置,包括但不限于:专用集成电路(asic)、现场可编程门阵列(fpga)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或组)和存储器、组合逻辑电路和/或提供归因于模块的功能的其他合适部件。另外,本领域技术人员将理解,可以结合任何数量的系统来实践本公开的实施例,并且本文描述的系统仅仅是本公开的示例性实施例。

为了简洁起见,本文可能不详细描述与信号处理、数据传输、信令、控制、机器学习模型、雷达、激光雷达、图像分析和系统的其他功能方面(以及系统的各个操作部件)相关的常规技术。此外,本文包含的各个附图中所示的连接线旨在表示各个元件之间的示例功能关系和/或物理联接。应当注意,在本公开的实施例中可以存在许多替代或附加的功能关系或物理连接。

如上所述,实际上,led脉冲频率可能与相机曝光时间不完全一致,从而导致某些相机数据帧错误地指示led熄灭。实际上,在多个相机数据帧上,不正确的确定会导致在显示系统上渲染的图像中产生不良技术效果,比如闪烁和条带。一些可用的视觉传感器系统和方法在数据处理流程的下游(例如在渲染图像时)采用led闪烁减轻策略来解决这些技术问题。增强型视觉传感器系统和方法的示例性实施例基本上独立于相机而实时地采用数据操纵策略;所提供的算法(图1的程序56)仅监视在多个帧(也称为视频)中接收的帧数据。因此,可以生成任何图像以在显示系统上显示(降低成本),并且可以使用相机中的成像器上的任何设置。结合以下附图更详细地描述增强型视觉传感器系统和方法。

图1描绘了示例移动平台。该示例移动平台是能够在各位置间移动并运载乘客的车辆100。车辆100在所示实施例中描述为乘用车,但也可以使用其他车辆类型,包括摩托车、出租车、车队、公共汽车、轿车、货车、卡车、运动型多用途车、其他汽车、休闲车(rv)、机车及其他车辆。如通常理解,车辆100可以体现为车身、底盘和车轮,每个车轮在车身的相应拐角附近旋转地联接至底盘。车辆100被描绘为具有四个车轮20,但车轮20的数量可以在其他实施例中变化。车辆100可以是自主的或半自主的。

示例车辆100包括多个通信联接部件。通信联接部件的非限制性示例包括传感器系统104、相机106系统、显示系统108、收发器110、地理定位系统(gps)112、处理器102、机器视觉系统116和存储设备即存储器54。处理器和存储器54可以通过总线50和通信结构(称为输入/输出52)与车辆100上的其他部件通信。车辆100还应理解为包括集体功能块即驱动系统114,其通常包括用于车辆操作的已知车辆系统,比如推进系统、传动系统、转向系统、车轮致动器和制动系统,并生成各种信号,包括车辆速度和车辆加速度。驱动系统114和其他车载系统向处理器102提供信号,处理器102从该信号生成相机106系统和显示系统108的控制作为输出。在各个实施例中,车载系统比如驱动系统114利用各种处理器102输出,比如来自机器视觉系统和传感器系统的所生成图像,以例如通过控制与车轮和制动器相关的牵引装置来控制车辆100运行的各个方面。

车辆100包括视觉传感器系统,总体示出为系统103。系统103进行的技术改进是实时led闪烁和条带检测。系统103的各个实施例还提供led闪烁校正和/或led条带校正。

返回到图1,下面更详细地描述这些部件中的每个的功能和操作。

传感器系统104包括一个或多个感测设备,其感测外部环境的可观察状况(例如表面状况、降水、光水平、到物体的距离等)并生成与之相关的传感器数据。感测设备可以包括但不限于:雷达(例如长距离、中距离-短距离)、激光雷达、超声波传感器、测距传感器(例如编码器)和/或可以结合根据本主题的系统和方法来利用的其他传感器。可以体现在传感器系统数据中的特性的非限制性示例包括到物体32的距离、降水量、表面不平整、存在冰、存在水等。

相机106系统可以安装在移动平台上,并且可以包括一个或多个光学相机(例如前向、360度、后向、侧向、立体等)、热(例如红外)相机等。相机106系统感测光水平30、亮度、边缘、对比度、光的饱和度等,并基于其产生相机数据。可以体现在相机数据中的特性的非限制性示例包括全景图、光量、边缘、对比度、饱和度等。相机106系统由处理器102控制。在各个实施例中,处理器102命令相机106系统。在一些实施例中,处理器102使相机106系统中的各个相机铰接以获得图像。一个或多个相机中的每个相机具有各自的帧速率,并将其各自的相机数据提供给处理器102。在初始化步骤期间,处理器102可以使用预定设置来评估和/或编程:多个可用相机、它们的帧速率、相机数据代表的外部世界的一部分等。

显示系统108配置为连续地接收和响应来自处理器102的显示命令,并显示图像和视频。显示系统108包括用于呈现显示图像109的显示设备。在本文描述的各个实施例中,显示系统108包括合成视觉系统(svs),并且显示图像109是svs图像。在示例性实施例中,显示设备被实现在一个或多个电子显示设备上。

收发器110包括硬件和软件,以支持一种或多种通信协议,用于处理器102与外部源(比如卫星、云、通信塔和地面站)之间的无线通信。在各个实施例中,收发器110配置为接收地图数据。在各个实施例中,收发器110配置为接收根据有效订阅并由gps112和处理器102使用的最新高清(hd)地图数据。hd地图数据通常包括道路几何形状、道路曲率、坡度、角度、宽度、速度限制、车道数量和分配(例如通行车道、出口车道等)、隧道位置、有盖桥梁的位置、商业停车场的位置等。

全球定位系统(gps)112执行订阅外部地图提供者的功能,例如以获得最新的高清(hd)地图数据。gps112还生成用于车辆100的gps数据,包括车辆100的位置和运动。通过将gps数据与相机数据进行比较,处理器102可以确定关于移动平台附近的物体和/或感兴趣区域。虽然图1将车辆100描绘为具有一个方向,但在各个实施例中,车辆100可以在任何方向上即360度移动。同样,在各个实施例中,相机106系统和传感器系统104也可以360度获得和处理信息。

在示例性实施例中,机器视觉系统116做出关于移动平台100的外部环境的确定,并为不需要人工输入的移动平台100做出操作决策。在示例性实施例中,机器视觉系统116至少体现物体识别算法。通过将物体识别数据与相机数据进行比较,处理器102可以做出关于移动平台100附近的物体和/或感兴趣区域的确定。在初始化步骤期间,可以更新机器视觉系统116或者使之与系统103的其他部件同步。

当处理器102处理相机系统数据并检测其中的闪烁和/或条带时,处理器102可以进一步确定适当的校正。针对其中人观看显示系统108的实施例的校正的非限制性示例包括应用羽化技术来填充丢失的像素。针对其中使用机器视觉系统116的实施例的校正的非限制性示例包括生成警告并将警告与有关的感兴趣区域(roi)相关联。

如本文所用,处理器102促进系统103的部件之间的通信和/或交互,并且执行附加的过程、任务和/或功能以支持归因于系统103的操作,如本文所述。取决于实施例,处理器102可以通过以下来实施或实现:通用处理器(共享、专用或组)控制器、微处理器或微控制器以及执行一个或多个软件或固件程序的存储器;内容可寻址存储器;数字信号处理器;专用集成电路(asic)、现场可编程门阵列(fpga);任何合适的可编程逻辑器件;包括分立门或晶体管逻辑的组合逻辑电路;分立硬件部件和存储设备;和/或旨在执行本文所述的功能的其任何组合。

在各个实施例中,系统103被实现为增强型计算机系统,包括计算机可读存储设备或介质即存储器54,用于存储指令、算法和/或程序,比如闪烁和条带检测程序56和多个预定义配置文件58,执行程序56的处理器102以及输入/输出接口(i/o)52。例如,计算机可读存储设备或介质即存储器54可以包括只读存储器(rom)、随机存取存储器(ram)和保持活动存储器(kam)中的易失性和非易失性存储。kam是持久性或非易失性存储器,其可以在处理器102掉电时用于存储各种操作变量。可以使用许多已知的存储设备中的任何一种来实现存储器54,比如prom(可编程只读存储器)、eprom(电prom)、eeprom(电可擦除prom)、闪存或能够存储数据的任何其他电、磁、光或组合存储设备,其中一些表示可执行指令,由处理器102在控制车辆100时使用。在各个实施例中,处理器102配置为实现系统103。

处理器102可以采用存储器54来存储和维护算法和预定义变量,以用于执行本文所述的任务,比如:信噪比(snr)阈值、亮度的定义(例如比周围像素高70%以上)、闪烁的定义(例如振荡频率)、条带的定义、要在各种计算中使用的帧数(n)等。

在方法中的初始化或安装操作期间,可以从外部源组织和/或导入存储器54中的信息;它也可以通过用户输入设备进行编程。输入/输出接口(i/o)52可以经由总线50可操作地联接到处理器102,并且能够进行系统103内通信。输入/输出接口(i/o)52可以包括一个或多个有线和/或无线网络接口,并且可以使用任何合适的方法和设备来实现。在各个实施例中,输入/输出接口(i/o)52支持与技术人员和/或用于直接连接到存储设备的一个或多个存储接口进行通信。

在系统103的操作期间,处理器102加载并执行体现为程序56的一个或多个算法、指令和规则,并因此控制系统103的总体操作。

处理器102被编程为从传感器系统104接收传感器数据,并从相机106系统接收相机数据。在各个实施例中,处理器102还可在操作期间经由收发器110接收对gps112的更新和物体信息。取决于系统103的实施例,它可以根据用于闪烁和条带检测的算法来执行操作,根据状态机器逻辑来执行操作,根据可编程逻辑阵列中的逻辑来执行操作等。

尽管在全面功能增强型计算机系统的上下文中描述了图1中的系统103的示例性实施例,但本领域技术人员将认识到,本公开的机制能够作为包括程序56和预定义配置文件58的程序产品来分发。这种程序产品可以包括被组织成多个相互依赖的程序代码模块的指令的布置,每个程序代码模块实现单独的过程,其布置成管理通过系统103的数据流(参见图2)。程序代码模块可各自包括用于实现由系统103执行的过程的逻辑功能的可执行指令的有序列表。这些指令在由处理器执行时使处理器接收和处理信号,并执行如本文所述的逻辑、计算、方法和/或算法,用于为相机106系统自动且实时地生成色调映射设置和相机控制。

一旦被开发,可以单独地存储和分发构成程序产品的程序代码模块,或者一起地,使用一种或多种类型的非暂时性计算机可读信号承载介质可以用于存储和分发指令,比如非暂时性计算机可读介质。这种程序产品可以采取多种形式,并且本公开同样适用,而与用于执行分发的计算机可读信号承载介质的类型无关。信号承载介质的示例包括:可记录介质,比如软盘、硬盘驱动器、存储卡和光盘,以及传输介质,比如数字和模拟通信链接。将理解的是,在某些实施例中,基于云的存储和/或其他技术也可被用作存储器和基于时间查看许可请求的程序产品。

现在转向图2,示出了led灯的示例时序图。led脉冲202在4个单位的周期204中具有1个单位的激活时间206(高)。在此示例中,led旨在显示为“开”,因此该周期足够短以满足人类对持续点亮的led的观察。led占空比为1/4(该周期中1个单位高,其余3个单位低)。本领域技术人员将理解,在实践中,相机帧数据可被捕获为像素的二维(例如m×l)阵列。在这些情况下,可以如结合图2所描述的那样评估每个像素。

还示出了相机208曝光,其在10个单位的周期中具有2个单位的曝光时间210(高)。相机208的周期性也被称为帧速率。示出了n个帧:帧1212、帧2214、帧3216和帧n218。可以看出,在帧1部分220中,相机208曝光与led激活时间一致,基于此,处理器102将确定led被点亮。在帧2部分222中,相机208曝光与led激活时间不一致;基于此,处理器102将确定led未被点亮。在帧3部分224中,相机208曝光与led激活时间一致,基于此,处理器102将确定led被点亮。因此,尽管led持续被点亮,但基于来自相机208曝光的相机数据,处理器102检测到闪烁或条带。

现在转向图3,上述系统103可以通过用于视觉感测的处理器可执行的方法来实现,总体被示为方法300。出于说明性目的,方法300的以下描述可以参考以上结合图1-2提及的元件。在实践中,方法300的各部分可以由所描述的系统103的不同部件执行。应当理解,方法300可以包括任何数量的附加或替代操作和任务,图3中所示的任务不需要以所示的顺序执行,并且方法300可被合并到具有本文未详细描述的附加功能的更全面的过程或方法中。此外,只要预期的整体功能保持完整,就可以从方法300的实施例中省略图3中所示的一个或多个任务。

在302,系统103被初始化。当被实现为增强型计算机系统(例如图1)时,在302处的初始化可以包括上载、安装或更新构成程序56和多个预定义配置文件(pdp)58的指令以供处理器102执行。在304,处理器102可以进一步初始化车载相机106系统、显示系统108和机器视觉系统116。初始化机器视觉系统116可以包括与物体识别算法同步或对其更新。

在306,处理器102正在接收相机数据应用以逐帧为基础进行处理。在第一次通过306时,接收相机数据的第一帧,即帧号1。在整个方法300中保持跟踪帧号。在308,处理器102正在使用算法和预定义变量来处理相机数据,以识别帧中的光源位置。可以使用亮度测量由最亮的像素识别光源位置。确定其最亮可以包括将其与其他像素亮度值进行比较,并确定其幅度比其他像素大至少预定义阈值,例如最亮的像素可能比周围像素亮70%以上(即更大亮度)。

在310,可以相对于光源定义感兴趣区域(roi)。处理器102被编程为通过利用以下中的每个来处理光源位置从而识别roi:物体识别数据和地理位置系统(gps)数据。处理器102被编程为通过使用gps数据和/或物体识别来处理帧从而识别roi以定义roi。在非限制性示例中,处理器102使用物体识别数据来处理帧,以将roi识别为矩形,并且进一步识别为交通信号灯。在312,将光源的亮度测量指定为信号基准,以将后续帧亮度值与其进行比较。在314,相机数据的帧递增。在316,处理器102通过确定当前帧中的光源处的亮度(即递增的帧亮度测量)并从其中减去信号基准来计算相机数据的当前帧(即递增的帧)的信噪比(snr)。在318,存储snr和相机数据帧。

在320,将帧号与预定义的n个帧进行比较,并且方法300循环回到314,直到帧号等于n。

在操作322,一旦已经捕获n个帧,则该方法移动到处理这n个帧以用于识别条带和识别闪烁。在322,对于n个帧中的每个,该方法使用预定义的snr阈值来将snr与先前的帧snr进行比较,以确定snr是否在n个帧上移动。预定义的snr阈值可以具有一定幅度,并且可以在正负两个方向上用于比较。例如,如果两个snr之间的差是大于正snr阈值的正值,则确定snr正在增加;如果两个snr之间的差是负的且大于负snr阈值,则确定snr正在减小。如果两个snr之间的差在正负预定义的snr阈值之内,则确定snr是稳定的。在322,可以确定snr是增加、减小或稳定的。当snr正在增加或减小时,snr被程序56中的算法视为有效;此时其在两个连续帧之间是有效的。从一帧移动到随后下一帧或前一帧称为一个snr步骤。在324,处理n个帧的数据以在出现条带时识别条带。在一实施例中,当在n个帧中存在一个有效snr步骤而没有更多时,可以识别条带。在326,处理n个帧的数据以在出现闪烁时识别闪烁;当在n个帧中有多个有效snr步骤时,可以识别闪烁。在一实施例中,当在n个帧上存在snr的振荡时,识别闪烁;例如,n个帧的50%的snr超过snr阈值,而n个帧的50%的snr处于或低于snr阈值。

在各个实施例中,一旦识别闪烁,就在328确定响应。在各个实施例中,一旦识别条带,就在328确定响应。在各个实施例中,一旦识别以下中的每个:闪烁和条带,就在328确定响应。如所提到的,在328,关于人类视觉和显示系统108,在328的响应可以是补偿技术,比如羽化,以填充所显示的图像上的缺失像素。在使用机器视觉系统116的实施例中,在328的响应可以是由机器视觉系统116接收并处理的警报信号的生成。在操作328之后,过程可以返回到操作306或结束。

因此,所提供的系统103和方法300为车辆提供实时led闪烁和条带检测。所提供的策略和实施例与相机无关,因为程序56中的算法仅监视在多个帧(也称为视频)中接收到的帧数据。因此,可以为显示系统生成任何图像(降低成本),并且可以使用相机中的成像器上的任何设置。

尽管在以上详细描述中已经呈现了至少一个示例性实施例,但应当理解,存在大量的变型。还应当理解,一个或多个示例性实施例仅是示例,并且无意以任何方式限制本公开的范围、适用性或配置。相反,前述详细描述将为本领域技术人员提供用于实施一个或多个示例性实施例的便利路线图。在不脱离如所附权利要求及其合法等同物所阐述的本公开的范围的情况下,可以对元件的功能和布置进行各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1