用于方向梯度直方图计算的硬件加速器制造技术

技术编号:23057395 阅读:48 留言:0更新日期:2020-01-07 16:13
在用于方向梯度直方图计算的硬件加速器(312)中,梯度计算组件(400)计算像素的梯度G

Hardware accelerator for histogram calculation of directional gradient

【技术实现步骤摘要】
【国外来华专利技术】用于方向梯度直方图计算的硬件加速器
技术介绍
对于许多嵌入式计算机视觉应用(如高级驾驶辅助系统(ADAS)中的行人识别)来说,需要快速加权梯度(角度)计算。例如,canny边缘和其它角度边缘以及特征检测算法需要计算图像像素的方向梯度以帮助确保准确的、薄的边缘。在另一个实例中,许多视觉算法将方向梯度直方图(HOG)的特征用于一般对象检测,这需要计算图像的多个窗口中的每个像素的方向梯度并计算每个窗口的方向梯度的直方图分布。方向梯度和直方图计算在计算上是昂贵的。例如,对于HOG算法,通过以下给出x梯度和y梯度的方向角θ以及像素的梯度的幅值:θ(x,y)=tan-1(Gy/Gx)其中Gx和Gy是相应的水平梯度和竖直梯度。对图像中的多个重叠检测窗口中的每个像素的方向角θ和Gmag进行计算。在嵌入式计算机视觉应用中实时执行针对大的图像的此些计算可能消耗嵌入式装置中当前使用的处理器的大部分计算能力(如果不是全部的话)。
技术实现思路
所描述的实例涉及用于加速方向梯度直方图计算的方法和设备。一方面,提供了一种用于方向梯度直方图计算的硬件加速器,所述硬件加速器包含:梯度计算组件,所述梯度计算组件被配置成计算像素的梯度Gx和Gy;箱(bin)标识组件,所述箱标识组件被配置成基于多个代表性方向角Gx以及Gx和Gy的符号来确定所述像素的角箱的箱标识符;以及幅值组件,所述幅值组件被配置成基于所述多个代表性方向角和所述箱标识符来确定所述梯度的幅值Gmag。一方面,提供了一种用于硬件加速器中的方向梯度直方图计算的方法,所述方法包含:在所述硬件加速器的梯度计算组件中计算像素的梯度Gx和Gy;在所述硬件加速器的箱标识组件中确定所述像素的角箱的箱标识符,其中所述箱标识符基于多个代表性方向角Gx以及Gx和Gy的符号来确定;以及在所述硬件加速器的幅值组件中确定所述梯度的幅值Gmag,其中所述幅值基于所述多个代表性方向角和所述箱标识符确定。一方面,提供了一种片上系统(SOC),所述SOC包含:用于方向梯度直方图(HOG)计算的硬件加速器,所述硬件加速器能够配置成生成图像中的每个像素的箱标识符和梯度幅值;存储器,所述存储器耦接到所述硬件加速器以存储所述箱标识符和所述梯度幅值;HOG生成器,所述HOG生成器耦接到所述存储器,其中所述HOG生成器能够配置成使用由所述硬件加速器生成的所述箱标识符和所述梯度幅值生成HOG描述子;以及处理器,所述处理器耦接到所述存储器和所述硬件加速器,所述处理器能够操作以执行视觉处理应用,所述视觉处理应用被编程成对多个对象进行检测,所述视觉处理应用包括软件指令,所述软件指令将所述硬件加速器配置成生成所述箱标识符和所述梯度幅值并且将所述HOG生成器配置成使用所述箱标识符和所述梯度幅值生成所述多个对象中的每个对象的HOG描述子。一方面,提供了一种用于使用硬件加速器进行方向梯度直方图(HOG)计算的方法,所述方法包含:通过所述硬件加速器确定图像中的每个像素的箱标识符和梯度幅值;以及使用所述箱标识符和所述梯度幅值计算用于对多种类型的对象进行分类的HOG描述子。附图说明图1是用于计算方向梯度直方图(HOG)的方法的流程图。图2是用于行人识别的HOG计算的实例。图3是实例多处理器片上系统(SOC)的高级框图。图4是图3的SOC的实例HOG加速器的高级框图。图5是用于确定像素的箱标识符和幅值的方法的流程图。图6是用于生成HOG描述子的方法的流程图。具体实施方式在附图中,为了一致,类似的元件由类似的附图标记指示。图1是用于计算方向梯度直方图的方法的流程图。参考图2的实例对所述方法进行解释,所述实例表示针对行人识别执行的HOG计算。其它对象识别算法针对不同的窗口大小执行类似的HOG计算。通常,HOG被用作对象识别任务的特征集。基本思想是通过局部强度梯度的分布或边缘方向表征局部对象的外观和形状,而无需精确地知道对应的梯度或边缘位置。在图2的实例中,为了确定初始行人位置,使用了滑动窗口方法,其中检测窗口200在图像上移位。对于每个检测窗口,HOG特征集从窗口中的像素中生成并且针对行人的存在进行评估。在此实例中,假定检测窗口200的像素为64×128。现在参照图1,对检测窗口200中的每个像素的梯度Gx和Gy连同幅值Gmag进行计算100。像素的梯度(也称为梯度向量或图像梯度)是像素值在像素周围沿着x方向和y方向变化的度量。通常,通过对以像素为中心的滤波器与被滤波器覆盖的图像中的像素求卷积来计算像素梯度。滤波器的大小和配置可以变化。根据以下计算幅值Gmag:还对针对每个像素的梯度的方向角θ进行计算102。根据以下计算像素的方向角θ:θ=tan-1(Gy/Gx)然后,使用所述方向角来确定每个像素的角箱104。为了确定所述箱,将检测窗口200分成被称为单元的局部空间区域。在图2的实例中,单元202的像素为8×8。根据其方向角,将每个单元中的64个像素离散化为角箱。将角箱均匀地遍布于0度到180度或0度到360度,这取决于梯度有符号还是无符号。例如,对于有符号的梯度,9个角箱可以均匀地遍布于0到180度。像素的方向角θ确定了像素的特定箱。然后,基于单元中的像素的箱和幅值对检测窗口200中的每个单元的方向梯度直方图进行计算106。分配给箱的像素的梯度幅值确定了直方图中的对应于箱的条的高度。也就是说,直方图中的条的高度是分配给对应的箱的像素的梯度幅值的函数。例如,高度可以是像素的幅值的和或加权和。由于如阴影、局部照明变化和前景/背景对比等因素,梯度强度在宽的范围内变化。因此,需要局部对比度归一化。出于此目的,将相邻单元的组视为被称为区间的空间区域。在图2的实例中,区间204是2×2相邻单元的组。每个区间由对应的四个单元直方图的连结表示,所述连结如使用L2范数被归一化。检测窗口200的最终HOG描述子由归一化的区间响应的连结表示。如上文所描述的,在嵌入式计算机视觉应用中实时计算针对大的图像的方向梯度直方图可能消耗嵌入式装置中当前使用的处理器的大部分计算能力(如果不是全部的话)。实例实施例提供了用于HOG计算的硬件加速器。更具体地说,硬件加速器的实例加速了对计算方向梯度直方图所需的像素的箱标识符和梯度幅值的确定。图3是实例多处理器片上系统(SOC)300的高级框图,所述实例多处理器SOC被配置成支持计算机视觉处理。SOC300包含经由高速互连件322耦接的双通用处理器(GPP)302、双数字信号处理器(DSP)304、视觉处理器306、HOG生成器314和HOG加速器312。视觉处理器306是向量处理器,所述向量处理器被调谐用于各种计算机视觉和其它信号处理任务,如来自加速测试(FAST)特征计算、深度神经卷积网络计算等的特征。GPP302托管操作系统并且对SOC300的操作提供全面控制,包含对由HOG加速器312执行的处理进行调度。DSP304为计算机视觉处理提供如对象检测和分类本文档来自技高网...

【技术保护点】
1.一种用于方向梯度直方图计算的硬件加速器,所述硬件加速器包括:/n梯度计算组件,所述梯度计算组件被配置成计算像素的梯度G

【技术特征摘要】
【国外来华专利技术】20170418 US 62/486,557;20180416 US 15/954,5901.一种用于方向梯度直方图计算的硬件加速器,所述硬件加速器包括:
梯度计算组件,所述梯度计算组件被配置成计算像素的梯度Gx和Gy;
箱标识组件,所述箱标识组件被配置成基于多个代表性方向角Gx以及Gx和Gy的符号来确定所述像素的角箱的箱标识符;以及
幅值组件,所述幅值组件被配置成基于所述多个代表性方向角和所述箱标识符来确定所述梯度的幅值Gmag。


2.根据权利要求1所述的硬件加速器,其中所述多个代表性方向角中的每一个处于0度到90度的象限中。


3.根据权利要求1所述的硬件加速器,其中所述箱标识组件被进一步配置成:
根据Gy=Gx*tan(θ)估计所述多个代表性方向角中的每个代表性方向角的Gy的值,其中θ是所述代表性方向角;
将Gy的估计值与由所述梯度计算组件计算的所述Gy进行比较,以选择最接近所述梯度的实际方向角的所述代表性方向角;并且
使用所选择的代表性方向角和所述符号来确定所述箱标识符。


4.根据权利要求3所述的硬件加速器,其中所述幅值组件被进一步配置成:
根据Gmag=Gx*sec(θ)生成所述多个代表性方向角中的每个代表性方向角的Gmag的值,其中θ是所述代表性方向角;并且
选择对应于用于确定所述箱标识符的所述所选择的代表性方向角的Gmag值。


5.根据权利要求4所述的硬件加速器,其中所述幅值组件被进一步配置成使用所述箱标识符和所述符号来选择所述Gmag值。


6.根据权利要求4所述的硬件加速器,其中所述箱标识组件实施有限范围坐标旋转数字计算机CORDIC引擎以计算Gx*tan(θ),并且所述幅值组件实施有限范围CORDIC引擎以计算Gx*sec(θ)。


7.一种用于硬件加速器中的方向梯度直方图计算的方法,所述方法包括:
在所述硬件加速器的梯度计算组件中计算像素的梯度Gx和Gy;
在所述硬件加速器的箱标识组件中确定所述像素的角箱的箱标识符,其中所述箱标识符基于多个代表性方向角Gx以及Gx和Gy的符号来确定;以及
在所述硬件加速器的幅值组件中确定所述梯度的幅值Gmag,其中所述幅值基于所述多个代表性方向角和所述箱标识符来确定。


8.根据权利要求7所述的方法,其中所述多个代表性方向角中的每一个处于0度到90度的象限中。


9.根据权利要求7所述的方法,其中确定箱标识符进一步包括:根据Gy=Gx*tan(θ)估计所述多个代表性方向角中的每个代表性方向角的Gy的值,其中θ是所述代表性方向角;
将Gy的估计值与由所述梯度计算组件计算的所述Gy进行比较,以选择最接近所述梯度的实际方向角的所述代表性方向角;以及
使用所选择的代表性方向角和所述符号来确定所述箱标识符。


10.根据权利要求9所述的方法,其中确定所述梯度的幅值进一步包括:
根据Gmag=Gx*sec(θ)生成所述多个代表性方向角中的每个代表性方向角的Gmag的值,其中θ是所述代表性方向角;以及
选择对应于用于确定所述箱标识符的所述所选择的代表性方向角的Gmag值。


11.根据权利要求10所述的方法,其中选择所述Gmag值进一步包括使用所述箱标识符和所述符号来选择所述Gmag值。


12.根据权利要求10所述的方法,其中有限范围坐标旋转数字计算机CORDIC引擎用于计算Gx*tan(θ),并且有限范围CORDIC引擎用于计算Gx*sec(θ)。


13.一种片上系统SOC,其包括:
用于方向梯度直方图HOG计算的硬件加速器,所述硬件加速器能够配置成生成图像中的每个像素的箱标识符和梯度幅值;
存储器,所述存储器耦接到所述硬件加速器以存储所述箱标识符和所述梯度幅值;
HOG生成器,所述HOG生成器耦接到所述存储器,其中所述HOG生成器能够配置...

【专利技术属性】
技术研发人员:艾什瓦尔雅·杜贝
申请(专利权)人:德州仪器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利