掌桥专利:专业的专利平台
掌桥专利
首页

用于致密光学流的阶层式数据组织

文献发布时间:2024-04-18 19:58:21


用于致密光学流的阶层式数据组织

分案申请相关信息

本申请案为分案申请。其母案是申请日为2018年6月29日、申请号为201880031199.0、发明名称为“用于致密光学流的阶层式数据组织”的发明专利申请案。

技术领域

本发明大体上涉及计算机视觉系统,且更具体地说,涉及这类系统中的致密光学流处理。

背景技术

高级驾驶员辅助系统或ADAS在汽车中正变得越来越常见。这些系统为驾驶员提供关于周围环境的信息并且可能自动干预驾驶以防止意外和道路交通事故。使用图像传感器的三维(3D)场景理解是构建此场景理解的基本步骤。使用光学流的场景运动理解是提供准确运动估计的常见技术。为了确定光学流,采用一个相机捕获同一场景的图像(视频)的时间序列。处理连续图像对以确定连续图像之间的像素位移。可使用像素的位移或流向量信息分析对应于所捕获场景中的像素的对象运动/体积。

一种可在嵌入式安全系统中使用的光学流的方法是稀疏光学流。稀疏光学流是基于特征的方法,其中仅识别在连续图像上的所选像素流,例如图像边缘、拐角等特征。光学流的更准确方法是致密光学流,其中识别连续图像中的所有像素流。鉴于嵌入式系统的实时处理要求,在这类系统中使用致密光学流具有挑战性,这是因为致密光学流处理的当前方法可为计算密集型的并且需要显著数据带宽。

发明内容

实施例涉及用于计算机视觉系统中的致密光学流处理的阶层式数据组织的方法和设备。在一个方面中,提供一种计算机视觉系统,其包含图像产生装置,其经配置以捕获场景的连续二维(2D)图像;第一存储器,其经配置以存储所述连续2D图像;第二存储器,其经配置以存储从所述第一存储器提取的参考图像的连续行的生长窗和从所述第一存储器提取的当前图像的连续行的生长窗,其中所述参考图像和所述当前图像是一对连续2D图像;第三存储器,其经配置以存储从所述参考图像的连续行的所述生长窗提取的像素的滑动窗,其中以图块形式存储所述滑动窗中的所述像素;和致密光学流引擎(DOFE),其经配置以确定所述对连续2D图像的致密光学流图,其中所述DOFE使用所述滑动窗作为用于像素对应关系搜索的搜索窗。

在一个方面中,提供一种操作计算机视觉系统以确定场景的两个连续二维(2D)图像的致密光学流图的方法,其包含将所述两个连续2D图像存储于所述计算机视觉系统的第一存储器中;将所述两个连续2D图像的参考图像的连续行的生长窗和所述两个连续2D图像的当前图像的连续行的生长窗维持于所述计算机视觉系统的第二存储器中,其中从所述第一存储器提取所述参考图像的所述连续行和所述当前图像的所述连续行;将所述参考图像的像素的滑动窗维持在第三存储器中,其中从所述第二存储器中的所述参考图像的连续行的所述生长窗提取所述像素,且其中所述像素以图块形式存储于所述滑动窗中;和通过所述计算机视觉系统的致密光学流引擎(DOFE)确定所述两个连续2D图像的所述致密光学流图,其中所述DOFE使用所述滑动窗作为用于像素对应关系搜索的搜索窗。

附图说明

图1是实例多处理器芯片上系统的高级框图。

图2是图1的SOC的实例光学流加速器的高级框图。

图3说明图2的光学流加速器的致密光学流引擎(DOFE)产生致密光学流向量图的处理步骤。

图4示出用于DOFE的预测符搜索的实例空间预测符。

图5是DOFE的实例架构的高级框图。

图6示出支持DOFE的光学流处理的实例数据阶层。

图7示出在DOFE的光学流处理中使用的实例滑动搜索窗。

图8是说明滑动搜索窗的平铺组织的实例。

图9是说明使用平铺组织的最佳和最差情况存储器存取的实例。

图10是用于确定致密光学流图的方法的流程图。

具体实施方式

在图式中,相似元件由相似附图标记标示。

现实世界中的移动对象具有三维(3D)运动。捕获移动对象的相机捕获实际3D运动的二维(2D)投影。可通过观测对象的连续捕获图像来确定移动对象的2D运动。从图像到图像的图像像素的2D运动被称为像素的光学流并且定义为两个连续图像之间的像素的位移向量。对于致密光学流,确定每一像素的光学流。

像素的光学流的确定基本上是发现问题的“最佳对应关系”。因此,给出两个连续图像,问题是找到较早图像中的像素在较新图像中的最佳匹配位置。一般来说,在较新图像中的被称为搜索范围的预定区内执行对最佳匹配像素的搜索。可使用基于预测符的搜索策略以避免搜索范围内的每个像素处搜索对应关系。

实施例在嵌入式计算机视觉系统中提供符合实时性能要求的致密光学流处理。在一些实施例中,提供用于致密光学流图计算的硬件加速器。硬件加速器包含改进致密光学流计算的性能的新型特征,例如:对匹配像素的基于像素组的搜索,所述搜索会减少搜索时间;通过平铺管理数据带宽的阶层式数据组织;和/或避免重取数据的高级预测符评估。

图1是经配置以支持基于相机的ADAS中的计算机视觉处理的实例多处理器芯片上系统(SOC)100的高级框图。SOC 100包含经由高速互连件122耦合的双通用处理器(GPP)102、双数字信号处理器(DSP)104、视觉处理器106和光学流加速器112。如本文中更详细地解释,光学流加速器112经配置以对传入的相机图像对执行致密光学流处理。视觉处理器106是经调谐用于例如梯度计算、定向分仓(binning)、直方图归一化等计算机视觉处理的向量处理器。GPP 102托管操作系统并且提供对SOC 100的操作的总体控制,包含对光学流加速器112所执行的处理的安排。DSP 104提供对例如对象检测和分类等计算机视觉处理的支持,所述计算机视觉处理可使用光学流加速器112的输出。

SOC 100另外包含直接存储器存取(DMA)组件108、可耦合到外部相机124的相机捕获组件110、显示器管理组件114、芯片上随机存取(RAM)存储器116,例如计算机可读媒体,以及全部经由互连件122耦合到处理器和光学流加速器112的各个输入/输出(I/O)外围设备120。相机124可经由模拟连接、以太网缆线、低电压差分信号(LVDS)电缆或其它合适的有线或无线连接耦合到SOC 100。此外,SOC 100包含安全组件118,其包含实现遵从汽车安全要求的安全相关功能性。这类功能性可包含对数据的循环冗余检查(CRC)的支持、漂移检测的时钟比较器、错误信号发送、加窗看门狗定时器和SOC对于损坏和故障的自测试。

图2是实例光学流加速器112的高级框图。光学流加速器112包含配置互连件206、硬件线程调度器(HTS)204、致密光学流引擎(DOFE)202、存储器映射寄存器(MMR)208、共享存储器互连件210和共享存储器212。

配置互连件206提供用于配置光学流加速器112的参数的接口。配置互连件206还为光学流加速器112所执行的处理提供用于观测状态的接口。

HTS204实施DOFE 202中的处理线程的线程管理和控制触发。HTS204还管理光学流加速器112与SOC 100中的其它组件例如DSP 104之间的消息传送和控制。

共享存储器212存储用于致密光学流引擎202的输入和输出数据。共享存储器212包含四组静态随机存取存储器。共享存储器互连件210是具有管线化命令和响应处置的交叉开关(crossbar)。DMA 108连接到共享存储器互连件210并且用以将供DOFE 202进行处理的数据移动到共享存储器中并且将DOFE 202产生的光学流数据移出光学流加速器112以供SOC 100上的其它组件取用。

MMR 208经配置以存储用于DOFE 202的各个控制和配置参数。参数可包含共享存储器212中的缓冲器大小和地址、水平和竖直搜索范围、置信度分数配置值等。

DOFE 202经配置以找到在本文中被称为参考图像和当前图像的一对输入图像的所有像素之间的光学流向量图。当前图像是在时间t-1处接收到的图像且参考图像是在时间t处接收到的图像。DOFE 202实施的致密光学流方法是基于运动/流向量预测符并且使用从粗到细对应关系搜索策略,所述搜索策略利用参考图像和当前图像的图像金字塔。

从粗到细对应关系搜索是基于如下事实:可将两个连续图像之间的像素的大位移减小到较低空间分辨率下的较小位移,进而减小对应关系搜索问题的复杂性。对于此搜索方法,从每个输入图像创建依次按比例缩小的图像结构。举例来说,可通过以下操作创建图像的高斯图像金字塔:使用5×5高斯低通滤波器对输入图像滤波并且接着在水平和竖直方向上对经滤波图像进行二分之一下降取样。接着使所得图像经历相同处理,且重复所述循环直到产生所要数目个金字塔层级,例如六个层级。此处理的每个循环产生具有增加的平滑度和减小的空间取样密度即减小的图像分辨率的较小图像。

在所得的金字塔中,假设存在五个较高层级,原始图像可以被称作基底金字塔层级或层级0,且较小分辨率图像可以被称作较高金字塔层级,例如层级1到5。应注意,在实例高斯图像金字塔中,每个金字塔层级是下一较低层级的大小的1/4。因此,特定金字塔层级处的像素对应于下一较低金字塔层级处的四个像素的2×2块。同样,在较高金字塔层级处所测量的距离是下一较低金字塔层级处的距离的1/2。

图3说明DOFE 202产生致密光学流向量图的处理步骤。此图假设图像金字塔具有如上文所描述产生的五个上部层级。可以使用更多或更少的层级。继而处理金字塔层级中的每一个以产生从最高金字塔层级开始的层级图像中的每一像素的光学流向量。在每个上部金字塔层级处,应用基于预测符的搜索策略300,以找到初始匹配,接着用阶层式步长搜索策略302进一步细化所述初始匹配,产生每一像素的整数像素准确流向量。将中值滤波器304应用于流向量以移除脉冲估计噪声。将滤波流向量按比例扩大306两倍并且用作下一较低金字塔层级处的初始预测符。

在基底金字塔层级处,将基于预测符的搜索策略308应用于原始图像以找到初始匹配,接着用阶层式步长搜索策略310进一步细化所述初始匹配,产生每一像素的所估计整数像素准确流向量。在确定整数像素流向量之后,将像素对应关系进一步细化312到子像素层级准确度。将中值滤波器314应用于经细化流向量以移除脉冲估计噪声。可使用任何适合的中值滤波器。通过计算每个最终估计流向量的被称为置信度分数的正确性的定量估计,产生置信度图316。接着将最终估计流向量和置信度图打包在一起以形成致密光学流图,将所述致密光学流图存储于外部存储器中。可使用用于计算置信度分数的任何合适的技术。

每个金字塔层级的每个金字塔层级搜索处的预测符搜索300、308和步长搜索302、310找到当前图像中的每一像素在参考图像中的最佳匹配像素。对于当前图像中的像素,搜索参考帧中的最佳匹配像素局限于当前帧中的搜索窗。基于针对当前像素和参考图像中的每个候选匹配像素计算的匹配成本来确定最佳匹配。在计算匹配成本之前,将普查变换应用于当前像素值和候选匹配参考像素值以减小来自照明变化的误差,且基于相应经变换值计算每一像素的普查签名。接着基于像素的普查签名之间的汉明距离来测量匹配成本。可使用计算普查签名和汉明距离的任何适合的普查变换和方法。

预测符搜索300、308使用预测符修剪全搜索窗以避免搜索搜索窗中的每一像素处的对应关系。这类搜索从根本上假设运动的空间和时间局部性和平滑性,即,小邻域中的像素非常可能具有类似运动且运动在空间和时间两者上平滑地改变。此外,并非搜索当前帧中的每一像素,而是对在本文中可以被称作像素组的不重叠像素块执行搜索。出于实例目的,假设像素组是2×2像素块。可使用其它合适的块大小。

在预测符搜索300、308中,假设可通过选自块的空间或时间相邻者的实际/估计流向量的一组流向量值来预测任一金字塔层级处的每个2×2像素块,所述流向量值可以被称作流向量预测符。参照2×2像素块的左上像素定义预测符,所述左上像素在本文中可被称作锚像素。可使用任何合适的类型和/或数目的预测符。在一些实施例中,使用五个空间预测符和单个时间预测符。在图4中说明五个空间预测符。所述空间预测符是在锚像素左上方(TL)的像素的流向量、在锚像素顶部(T)的像素的流向量、在锚像素右上方(TR)的像素的流向量、紧邻如在前一金字塔层级中估计的锚像素的左侧的像素的流向量,以及与如在前一金字塔层级中估计的锚像素在相同位置中的像素的流向量。时间预测符是与如在前一图像中估计的锚像素在相同位置中的像素的流向量。

在一些实施例中,使用额外空间预测符,其为同一行中在锚像素左侧的n像素的像素的流向量。n的值取决于DOFE 202的管线深度。此预测符可以被称作延迟的左侧预测符。

在所有金字塔层级使用空间预测符且在基底金字塔层级使用时间预测符。选择以最小匹配成本产生匹配候选项的预测符作为像素组的优胜预测符。接着围绕来自预测符搜索300、308的优胜预测符应用步长搜索302、310,以进一步细化匹配位置。步长搜索302、310意图从优胜预测符细化围绕优胜预测符位置的有限二维(2D)区域中的最佳匹配位置。针对像素组中的每一像素执行步长搜索302、310以确定每一像素的流向量。

在一些实施例中,使用被称为3-1步长搜索的阶层式步长搜索技术。最初,搜索围绕优胜预测符位置的八个像素位置。选择八个像素位置以使得所述位置是在八个方向,即为北、东北、东、东南、南、西南、西和西北中的每个方向上远离优胜预测符位置的三个像素。通过在距最佳匹配位置一个像素距离处选择八个类似地定位的像素,进一步细化来自此搜索的最佳匹配位置。选择来自此一个像素搜索的最佳匹配位置作为最终整数像素准确流向量。

图5是图2的DOFE 202的实例架构的高级框图。普查变换组件506、预测符搜索引擎(PSE)504和步长搜索引擎(SSE)502串联耦合并且经配置以对存储于搜索范围缓冲器508中的当前和参考像素数据执行先前描述的普查变换、预测符搜索和步长搜索。子像素细化组件518经配置以对在基底金字塔层级处执行的步长搜索产生的最佳匹配位置执行先前描述的子像素细化。中值滤波器组件514经配置以执行先前描述的中值滤波,且置信度分数组件516经配置以产生所选最佳匹配位置的置信度分数。

输出打包组件520经配置以将来自中值滤波器组件514的一连串流向量和来自置信度分数组件516的一连串对应置信度分数打包以产生流向量图,所述流向量图存储于输出缓冲器522中。共享存储器接口512经配置以从输出缓冲器522读取流向量图并且经由共享存储器互连件210将所述图存储于共享存储器512中。接着,DMA 108可将流向量图从共享存储器512传送到外部存储器,例如图1的芯片上RAM 116。

为优化对应关系搜索所需的数据的接入带宽,使用阶层式数据组织。如图6中所说明,在一些实施例中,数据阶层包含三个存储器层级,其中存储量从层级3(L3)到层级1(L1)逐渐减小,而接入带宽逐渐增加。L3存储器可在光学流加速器112外部,例如芯片上RAM116,而L2存储器和L1存储器包含在光学流加速器112中,分别作为共享存储器212和搜索范围缓冲器508。

在此阶层中,L3存储器存储参考图像和当前图像,L2存储器存储图像中的每个图像的并发像素行的子集,且L1存储器存储从L2存储器的参考图像行提取的搜索窗。此外,可根据生长窗方法维持L2存储器中的参考图像和当前图像的子集,在所述生长窗方法中,与光学流处理并行地针对每个图像维持从L3存储器读取的连续图像行的循环缓冲器。循环缓冲器中的每个中的行的数目可以是任何合适数目。在一些实施例中,生长窗中的最小数目个行可基于普查变换所需的像素数目和计算汉明距离以及竖直搜索范围所需的像素数目。在一些实施例中,从L3存储器提取呈像素组行的图像行,例如如果像素组是2×2,那么提取两个行。

如图7中所描绘,可根据滑动窗方法维持L1存储器中的搜索窗,例如搜索范围缓冲器508,其中与光学流处理并行地维持从参考图像生长窗读取的像素图块的连续列的循环缓冲器。像素组处理以光栅扫描次序向右移动,添加新像素图块列,同时丢弃相同数目个像素图块列。滑动窗的大小可基于用于对应关系匹配的搜索范围。

在L1存储器的搜索窗中使用平铺组织以使执行对应关系搜索所需的存储器存取的数目降到最小。参考图像中的候选像素位置需要由所使用的普查变换和匹配成本计算规定的大小的像素区。因为运动不受限,所以流向量和预测符可指向搜索范围内的任何像素位置。因此,用于成本计算的像素区可为任何像素为中心。如果像素呈光栅扫描次序,那么对像素区中的所有像素的存取可需要多个存取。将参考图像像素布置成像素图块会减小所需的存取的数目。

此外,图块在L1存储器中的多个存储器库上“条带化”。可使用任何合适数目个存储器库。每个存储器库的大小设定成存储多个完整图块,且图块存储于存储器库中以使得其可在单个循环中被存取。存储器库上的图块的特定布置可取决于例如可用存储器库的数目和搜索窗的大小。

考虑图8的实例。在此实例中,假设4×4图块和四个存储器库。其它图块大小和/或其它存储器组织的实施例是可能的。示出小实例图像802,其中呈光栅扫描次序的像素在逻辑上划分成4×4图块。还示出了实例L1存储器804。通过此像素组织,像素区可依据4×4图块分解并且通过有限数目个存取被读取。举例来说,如图9中所说明,在基于搜索向量的位置的十六个(最佳情况)或二十五个(最差情况)4×4像素图块中含有14×142D区,因此需要十六个(最佳情况)或二十五个(最差情况)存取来提取所需像素区。在另一实例中,可存在十六个L1存储器库,其中竖直相邻4×4图块置于不同组中。

返回参考图5,共享存储器接口512被另外配置成经由共享存储器互连件210从共享存储器212中的生长窗读取参考帧的像素数据。将像素数据提供给从线到块转换组件510以用于处理和存储在搜索范围缓冲器508中。从线到块转换组件510经配置以将从共享存储器212读取的像素数据转换成像素图块以存储于搜索范围缓冲器508中。可使用任何适合的像素数据大小和像素块大小。

在一些实施例中,除了执行步长搜索之外,SSE 502还执行用于供PSE 504使用的预测符中的一些预测符的高级预测符评估。因此,在确定当前像素组的每一像素的优胜流向量之后,SSE 502评估这些将用作下一行像素组的预测符的流向量中的任一个的匹配成本。流向量和流向量的匹配成本存储在例如先进先出缓冲器中,以供PSE 504使用。在一些实施例中,存储单个匹配成本,即流向量的匹配成本的最小值。

举例来说,假设2×2像素组和先前提及的实例预测符,当前像素组的底部两个像素的流向量可为用于紧接在当前像素组下方的像素组的顶部和右上方预测符。因此,SSE502相对于将为紧接在下方的像素组的锚像素的像素来评估这两个流向量的匹配成本。此外,当前像素组的右下方像素可为在当前像素组右下方的像素组的左上方预测符。因此,SSE 502相对于将为右下方像素组的锚像素的像素来评估所述流向量的匹配成本。

图10是用于确定例如图1、2和5的计算机视觉系统的计算机视觉系统中的致密光学流图的方法的流程图,为确定致密光学流图,将参考图像和当前图像存储1000于L3存储器中。此外,在执行处理以确定致密光学流图时,将参考图像的连续行的生长窗维持1002在L2存储器中并且将当前图像的连续行的生长窗也维持1004在L2存储器中。由从参考图像生长窗读取的像素形成的像素图块的滑动窗也维持在L1存储器中。使用滑动窗作为用于像素对应关系搜索的搜索窗来确定1008致密光学流图。

其它实施例

举例来说,已在本文中参考ADAS描述实施例。但除ADAS以外的计算机视觉应用的实施例是可能的,所述计算机视觉应用例如工业应用、机器人和无人机。

在另一实例中,已在本文中描述其中假设像素组的锚像素为左上方像素的实施例。但其中锚像素可为像素组中的另一像素的实施例是可能的。

在另一实例中,已在本文中描述其中通过相机捕获当前图像和参考图像的实施例。但其中可使用另一图像产生装置产生当前图像和参考图像的实施例是可能的。举例来说,图形处理器可产生场景的连续合成图像,例如以用于游戏或虚拟现实应用。

在另一实例中,在本文中已在处理依序2D像素图像的上下文中描述实施例。但其中输入是数据点的一对当前2D图和参考2D图且输出是当前2D图与参考2D图之间的每个数据点的位移的实施例是可能的。数据点的这类2D图可包含其中像素是数据点的非依序相机图像、其中温度是数据点的热图、其中压力测量值所述数据点的压力图、其中占用面积是数据点的占用面积图等。

虽然可以在本文中按顺序方式呈现并且描述方法步骤,但是在图式中示出和/或在本文中描述的步骤中的一或多个可同时执行,可组合,和/或可按与图中所示的和/或本文中所描述的次序不同的次序执行。因此,实施例不限于图中所示出和/或本文中所描述的步骤的具体次序。

在本说明书中,术语“耦合”和其派生词意味着间接、直接、光学和/或无线电连接。因此,如果第一个装置耦合到第二个装置,那么举例来了,所述连接可通过直接电连接、通过经由其它装置和连接的间接电连接、通过光学电连接和/或通过无线电连接。

在权利要求书的范围内,对所描述的实施例的修改是可能的,且其它实施例是可能的。

相关技术
  • 一种用于粉末材料的微波辅助阶梯式致密成型方法和系统
  • 检测生物标志物的产品在制备诊断神经管畸形产品的用途
  • 用于致密光学流的阶层式数据组织
技术分类

06120116480768