用于目标检测的系统和方法与流程

文档序号:11635497阅读:451来源:国知局
用于目标检测的系统和方法与流程

本发明整体涉及目标检测,如从车辆对行人和其它目标的检测。



背景技术:

现今,车辆配备有用以检测目标(如道路上的行人)的目标检测器,并向驾驶员提供警告/制动辅助。目标检测器采用摄像机来捕获在车辆前方和周围的视频/图像,并在其中应用图像处理技术以用于识别在车辆前方和周围的障碍物和行人。

现有目标检测器采用基于方向梯度直方图(hog)的目标检测技术,其中将图像分成多个块(block),对每个块中在任一方向上的像素梯度的量值的量进行计数以形成图像的hog。机器学习方法对hog应用识别和分类技术,以便有效地识别图像中的行人和预定义目标。图像的hog基于每个图像像素的梯度方向和梯度量值来计算。对于图像像素,对应的梯度方向θ表达为θ=tan-1(y/x),其中y=在竖直方向上的梯度,且x=在水平方向上的梯度。

常规地,定点处理器中对梯度方向θ的计算通过使用两个查找表来实施,所述查找表包括用于除法的查找表和用于反正切(tan-1)的查找表。使用这两个查找表来计算每个图像像素的梯度方向是非常耗时的,且需要非常大量的计算和非常高的存储器带宽,这使得难以在嵌入式系统上以实时性能实施。存储器带宽是任何系统尤其是多核系统中的重要资源。存储器带宽在优化系统性能中起到重要作用。因此,使存储器带宽尽可能小是非常重要的,这样才使得其它处理器也有效地并行工作。

其它目标检测技术包括计算积分图像以用于减少计算的次数。然而,计算积分图像减少计算的次数,但增加中间数据元素大小,这同样需要高存储器带宽。



技术实现要素:

在所描述的用于检测包括多个图像像素的图像中的目标的目标检测系统的示例中,所述系统包括存储器,其用以存储指令;以及处理器,其响应于所存储的指令来执行以下步骤:针对图像的每个图像像素计算一种或更多种类型的一个或更多个特征平面,并在图像中定义多个单元(cell)。每个单元包括第一至第n数目的像素。图像中的每个单元在水平和竖直方向上的起始位置分别为预定义水平和竖直步长大小的整数倍。处理器进一步响应于所存储的指令来执行以下步骤:针对单元中的每个计算一种或更多种类型的一个或更多个特征平面总和。单元的一种类型的特征平面总和通过对所述单元的第一至第n数目像素的对应的特征求和来计算,其中n为整数。处理器还响应于所存储的指令来执行以下步骤:确定图像的图像部分的特征向量,其中所述特征向量包括在所述图像部分中定义的一个或更多个单元的特征平面总和的集合;以及比较所述特征向量与对应的目标分类器以检测在图像的所述图像部分中的目标的存在。

并且,在所描述的检测包括多个图像像素的图像中的目标的方法的示例中,所述方法包括针对图像的每个图像像素计算一种或更多种类型的一个或更多个特征平面,以及在图像中定义多个单元。每个单元包括第一至第n数目的像素。图像中的每个单元在水平和竖直方向上的起始位置分别为预定义水平和竖直步长大小的整数倍。另外,所述方法包括针对单元中的每个计算一种或更多种类型的一个或更多个特征平面总和。单元的一种类型的特征平面总和通过对所述单元的第一至第n数目像素的对应的特征求和来计算,其中n为整数。并且,所述方法包括确定图像的图像部分的特征向量。所述特征向量包括在所述图像部分中定义的一个或更多个单元的特征平面总和的集合。此外,所述方法包括比较所述特征向量与对应的目标分类器以检测在图像的所述图像部分中的目标的存在。

在其它所描述的检测包括多个图像像素的图像中的目标的方法的示例中,所述方法包括针对图像的每个图像像素计算一种或更多种类型的一个或更多个特征平面,并在图像中定义多个单元。每个单元包括第一至第n数目的像素。图像中的每个单元在水平和竖直方向上的起始位置分别为预定义水平和竖直步长大小的整数倍。另外,所述方法包括针对单元中的每个计算一种或更多种类型的一个或更多个特征平面总和。单元的一种类型的特征平面总和通过对所述单元的第一至第n数目像素的对应的特征求和来计算,其中n为整数。并且,所述方法包括以迭代方式执行:从一种或更多种类型的特征平面选择一种类型的特征平面;计算局部特征向量;比较所述局部特征向量与目标的对应局部分类器;并将比较的结果存储在存储器中。局部特征向量包括图像部分的一个或更多个单元的选定类型的一个或更多个特征平面总和。此外,所述方法包括核对对应于每种类型的特征平面的一个或更多个比较结果,并基于经核对的结果检测图像中的目标的存在。

附图说明

图1示出在一个示例情境中的包括多个图像像素的图像。

图2示出在一个示例情境中的第一至第m数目的hog区间(bin)。

图3a和图3b分别示出在一个示例情境中的六个hog区间和八个hog区间的第一集合和第二集合。

图4示出在一个实施例中的目标检测系统的框图。

图5a和5b示出在一个示例情境中在大小为(64,128)的图像中定义的大小为(6,6)的单元。

图6a和6b示出在一个示例情境中在大小为(64,128)的图像中定义的大小为(4,4)的单元。

图6c示出在一个示例情境中在大小为(64,128)的图像中定义的大小为(8,8)的单元。

图7示出在一个实施例中在图像帧内的检测窗。

图8是在一个实施例中的检测图像中的目标的方法的流程图。

具体实施方式

除非具体指出,否则图式未必按比例绘制,且此类图式本质上仅为示例。

参考图1,示出由多个图像像素形成的图像100。对于第i图像像素,第i+1(x)和第i-1(x)是在x方向上的相邻图像像素,且第i+1(y)和第i-1(y)是在y方向上的相邻图像像素。每个图像像素具有强度和梯度,其中第i图像像素的梯度具有量值mgi和方向θi。第i图像像素的梯度的方向θi通过下式表示:

θi=tan-1yi/xi(1)

其中xi=第i像素的水平梯度,且yi=第i像素的竖直梯度。

在一个示例中,第i像素的水平梯度具有量值和方向性“正”或“负”,且通过下式表示:

xi=i(xi-1)-i(xi+1)(2)

其中i(xi-1)=对应的水平左像素,即,第i-1(x)像素的强度,且i(xi+1)=对应的水平右像素,即,第i+1(x)像素的强度。

类似地,在此示例中,第i像素的竖直梯度具有量值和方向性“正”或“负”,且通过下式表示:

yi=i(yi-1)-i(yi+1)(3)

其中i(yi+1)=对应的竖直上方像素,即,第i+1(y)像素的强度,且i(yi-1)=对应的竖直下方像素,即,第i-1(y)像素的强度。

水平梯度的量值mgxi通过下式表示:

mgxi=abs(i(xi-1)-i(xi+1))(4)

竖直梯度的量值mgyi通过下式表示:

mgyi=abs(i(yi-1)-i(yi+1))(5)

第i像素的梯度的量值mgi通过下式表示:

替代性地,第i像素的梯度的量值mgi可通过下式表示:

mgi=mgxi+mgyi(7)

以上等式中提供的第i像素的梯度的计算不应被认为是限制性的,且其它数学等式也可用于计算梯度。在另一示例中,第i像素的水平梯度可使用第i像素与第i+1(x)像素或第i-1(x)像素之间的强度差来确定;且第i像素的竖直梯度可使用第i像素与第i+1(y)像素或第i-1(y)像素之间的强度差来确定。

图2示出一个示例实施例中的用于图像100中的目标检测的梯度直方图(hog)区间200。hog区间200包括第一至第m区间,所述区间为区间0至区间m-1。出于目标检测的目的,图像100的每个图像像素基于对应梯度的方向θ归类在第一至第m区间中的一个中。在此示例中,m的值=6。然而,在另一示例情境中,m的值可不同,例如为8或10。

图3a和图3b分别示出在一个示例情境中的六个hog区间的第一集合300和八个hog区间的第二集合302。

在常规的实施方式中(即,不根据示例实施例),第一集合300和第二集合302的每个hog区间分配有在0°至180°内的相同方向范围。例如,当m=6时,每个hog区间分配有30°,因此区间0从0°延伸到30°,区间1从30°延伸到60°等等。类似地,当m=8时,每个hog区间分配有22.5°,因此区间0从0°延伸到22.5°,区间1从22.5°延伸到45°等等。图像像素通过以下操作而分配有hog区间:比较对应的竖直和水平梯度的比值与对应的方向范围的正切值。例如,当m的值=6时,可比较图像像素的竖直和水平梯度的比值(y/x)与tan0°和tan30°值,以检查对应的梯度是否在区间0中。类似地,可比较比值(y/x)与tan30°和tan60°值,以检查对应的梯度是否在区间1中等等。tan30°、tan60°、tan120°以及tan150°的值分别为以及这些值为无理数,因此图像像素的hog区间的计算为复杂且耗时的任务。

在示例实施例中(与常规的实施方式不同),第一集合300和第二集合302的hog区间分配有不相同的方向范围以简化图像的图像像素的hog区间的计算。在一个实施例中,第一集合300和第二集合302中的每个区间的最大和最小区间化(binning)角θmin和θmax以如此方式选定,所述方式为使得tanθmin和tanθmax中的每个为有理数,且可在无除法或乘法运算的情况下计算。另外,移位运算、减法运算以及比较运算中的至少一个中的每个用于计算图像像素的hog区间。对于hog区间的第一集合300,每个区间的最小区间化角和最大区间化角在下面表ⅰ中示出。

表ⅰ

对于hog区间的第二集合302,每个区间的最小区间化角和最大区间化角在下面表ⅱ中示出。

表ⅱ

图4示出在一个实施例中的目标检测系统400的框图。在一个示例情境中,目标为道路上的行人,且目标检测系统400在车辆或任何其它移动平台中用于辅助道路上的目标检测。目标检测系统400还可被称为行人检测系统400。目标检测系统400包括:存储器402,其用于存储指令;以及处理器404,其响应于所存储的指令来执行图像中的目标检测的步骤。处理器404包括特征平面计算模块406、特征向量计算和局部分类模块408以及最终分类模块410。存储器402可为任何易失性或非易失性存储器,如随机存取存储器(ram)、只读存储器(rom)、静态动态ram(sdram)、双数据速率(ddr)ram以及ddrsdram。类似地,处理器404可包括多种已知装置以促进或实现存储在存储器402上的软件指令、协议或逻辑指令的运行或执行。例如,处理器404可实施为一个或更多个集成电路装置、中央处理单元(cpu)或微处理器。处理器404还可包括存储器装置(例如,处理器高速缓存)、计时装置(例如,实时时钟(rtc))和/或另外的电路或数据传输通道。处理器404的一个典型的示例包括嵌入式视觉引擎(eve)。因此,处理器404内的模块(例如模块406、408以及410)可以单一实体或不同实体(如集成电路,具有或没有软件或固件)的形式实施。处理器404还可包括硬件系统或另外与硬件系统通信,所述硬件系统用于辅助对道路上的目标的图像和/或视频的捕获和/或后处理。图像和/或视频可通过图像捕获装置(如处理器404可存取的相机)来捕获。

特征平面计算模块406接收输入图像,如图像100(图1),并计算图像100的每个图像像素的“h”个特征平面。通常,h=m+4,其中m等于hog区间的总数目。在一个示例情境中,当hog区间的数目等于6时,特征平面的数目h等于10。对于以下描述,除非另外指定,否则特征平面的数目“h”始终被认为是十。

特征平面计算模块406计算图像100的每个图像像素的十种类型的特征平面的特征集合fi。第i像素的特征集合fi通过下式表示:

fi={yi,ui,vi,mi,bi0,bi1,bi2,bi3,bi4,bi}(8)

其中:yi、ui、vi是表示第i像素的预定义配色方案的配色特征平面;mi是表示第i像素的梯度量值的量值特征平面;且bi0、bi1、bi2、bi3、bi4、bi5是分别表示第i像素在区间0、区间1、区间2、区间3、区间4以及区间5中的梯度量值的hog特征平面。在一个示例实施例中,第i像素在一个区间中具有非零梯度量值,且在其它五个区间中具有零梯度。

在一个示例实施例中,特征平面计算模块406基于常规的技术来计算或以其他方式存取第i像素的yi、ui、vi、mi的值。特征平面计算模块406基于第i像素的梯度的量值和方向来计算bi0、bi1、bi2、bi3、bi4、bi5的值,所述梯度的量值和方向继而基于对应的水平和竖直梯度xi和yi来估计。

特征平面计算模块406参考在下面的表ⅲ中指定的第一阈值和第二阈值以及比较条件来计算第i像素的梯度的hog区间,其中hog区间的数目等于6。

表ⅲ

特征平面计算模块406参考在下面表ⅳ中指定的第一阈值和第二阈值以及比较条件来计算第i像素的梯度的hog区间,其中hog区间的数目等于8。

表ⅳ

当第i像素的水平和竖直梯度xi和yi满足对应的比较条件时,将区间分配给第i像素。基于表ⅲ和表ⅳ,图像像素的hog区间的计算主要包括移位和比较。这是有可能的,因为每个hog区间的θmin和θmax经定义使得tanθmin和tanθmax中的每个为有理数。

在计算第i像素的梯度的hog区间之后,特征平面计算模块406基于等式(6)来计算对应梯度的量值。之后,特征平面计算模块406将所述量值分配给对应于计算出的hog区间的hog特征平面,并将零值分配给其余的hog特征平面。在一个示例情境中,当特征平面计算模块406计算第i个图像像素在区间1中的梯度量值mi时,特征集合fi表示为:

fi={yi,ui,vi,mi,0,mi,0,0,0,0}

以类似方式,特征计算模块406计算输入图像的每个图像像素的特征集合,并将所述特征集合存储在存储器402中。在常规的情境中(不根据示例实施例),当特征集合的数目等于图像像素的数目时,特征平面计算的最耗时部分为计算梯度的方向θ以用于确定对应的hog区间。相反,在示例实施例中,特征计算模块406绕开方向θ的计算,并基于图像像素的水平和竖直梯度之间的数学关系来确定图像像素的hog区间。这引起特征平面计算的约30%至45%的性能改进。

特征平面计算模块406进一步定义图像100中的多个单元。单元是图像100的具有大小为(cx,cy)的单元,其中cx是单元宽度,cy是单元高度,且(cx*cy)是所述单元中的像素的总数目。图像100中的每个单元在水平和竖直方向上的起始位置分别为预定义水平和竖直步长大小的整数倍。输入图像内的单元进一步参考图5a和图5b以及图6a、图6b和图6c示出。

图5a和图5b示出在一个示例实施例中的大小为(64,128)的图像500,包括大小为(6,6)的第一、第二以及第三单元502、504、506。仅示出几个单元502、504、506以便于描述一些示例实施例。在整个图像500中定义单元。第一单元502在x方向和y方向两者上从第0像素延伸到第六像素。第二单元504在x方向上从第四像素延伸到第十像素,且在y方向上从第0像素延伸到第六像素。第三单元506在x方向上从第0像素延伸到第六像素,且在y方向上从第四像素延伸到第十像素。

在一个实施例中,图像500中的每个单元在x和y方向上的起始位置分别为预定义水平和竖直步长大小的倍数。例如,当水平和竖直步长大小各自为4个像素时,则不论单元大小如何,单元的起始位置为在x和y方向上的0、4、8、12...个像素处。在一个示例情境中,第一单元502和第二单元504沿着x方向的起始位置分别为第0像素和第4像素。另外,第一单元502和第三单元506沿着y方向的起始位置分别为第0像素和第4像素。当水平和竖直单元大小与对应的步长大小不同时,相邻单元的一些图像像素彼此重叠。

特征平面计算模块406(图4)针对输入图像500的每个单元计算每种类型的特征平面的特征平面总和。单元的特征平面总和通过对所述单元的图像像素的相似类型的那些特征求和来计算。在一个示例情境中,大小为(6*6)的第一单元502的(类型y特征平面的)特征平面总和c1(y)通过对第一单元502的所有36个像素的y特征平面求和来计算,且通过下式表示:

大小为(6*6)的第一单元502的(类型u平面的)特征平面总和c1(u)通过对第一单元502的所有36个像素的u特征平面求和来计算,且通过下式表示:

因此,特征平面计算模块406针对图像500的第i单元计算对应于十个特征平面的十个特征平面总和。第i单元的特征平面总和的集合si通过下式表示:

si={ci(y),ci(u),ci(v),ci(m),ci(b0),ci(b1),ci(b2),ci(b3),ci(b4),ci(b5)}......(11)其中:ci(y)、ci(u)以及ci(v)是第i单元的y、u以及v特征平面总和;c1(m)是第i单元的m特征平面总和;且ci(b0)、ci(b1)、ci(b2)、ci(b3)、ci(b4)以及ci(b5)是第i单元的hog特征平面总和。

图6a和6b示出大小为(如64或128)的图像600,包括第一至第九单元602至618,其中单元602至618中的每个的大小为4*4(例如,16个像素)。例如,单元602在x方向和y方向两者上从第0像素延伸到第四像素;单元604在x方向上从第四像素延伸到第八像素,并在y方向上从第0像素延伸到第四像素;单元606在x方向上从第八像素延伸到第十二像素,并在y方向上从第0像素延伸到第四像素,等等。

特征平面计算模块406(图4)针对输入图像600的每个单元计算每个类型的特征平面总和。在一个示例情境中,大小为(4*4)的第一单元602的(类型v平面的)特征平面总和c2(v)通过对第一单元602的所有16个像素的v特征平面求和来计算,且通过下式表示:

大小为(4*4)的单元602的(类型m特征平面的)特征平面总和c2(m)通过对第一单元604的所有16个像素的m特征平面求和来计算,且通过下式表示:

类似于等式(11)和(12),特征平面计算模块406针对图像600的每个单元计算对应于十个特征平面的十个特征平面总和。

图6c示出表示大小为(8*8)的单元620和单元622的大小为(64,128)的图像600。在一个实施例中,大小为(8*8)的单元620通过合并如参考图6a和6b所描述的大小为(4*4)的单元602、604、608以及610来形成。在一个示例中,特征平面计算模块406通过对单元602、604、608以及610的y特征平面总和求和,来计算大小为(8*8)的单元620的(类型y平面的)特征平面总和c3(y)。大小为(8*8)的单元620的(类型y平面的)特征平面总和c3(y)通过下式表示:

c3(y)=c11(y)+c21(y)+c41(y)+c51(y)(14)

其中:c11(y)=单元602的y特征平面总和;c21(y)=单元604的y特征平面总和;c41(y)=单元608的y特征平面总和;且c51(y)=单元610的y特征平面总和。

类似地,大小为(8*8)的单元622通过合并大小为(4*4)的单元608、610、614以及616来形成。在一个实施例中,特征平面计算模块406通过对大小为(4*4)的单元608、610、614以及616的y特征平面总和求和,来计算大小为(8*8)的单元622的(类型y平面的)特征平面总和c4(y)。因此,特征平面计算模块406在计算第十一单元622的y特征平面总和时再使用单元608和610的y特征平面总和。类似地,还计算其它平面(例如,u平面、v平面以及6个hog平面)的总和。

图7示出用于输入图像704中的目标检测的检测窗700和702的示例。输入图像704具有帧大小(fw,fh),其中fw是帧宽度,fh是帧高度,且fh*fw是输入图像704中的图像像素的总数目。在一个实施例中,检测窗700和702中的每个是输入图像704中的具有大小(swx,swy)的图像部分,其中swx是窗宽度,swy是窗高度,且swx*swy是检测窗(700、702)中的图像像素的总数目。检测窗(700、702)的步长大小被称为sx*sy,其中sx是通过检测窗(700、702)在沿着x方向的一次移动中遍历的像素数目,且sy是通过检测窗(700、702)在沿着y方向的一次移动中遍历的像素数目。

模块408(图4)选择第一检测窗700,并选择一种类型的特征平面以用于计算其中的第一局部特征向量。第一局部特征向量是对应于第一检测窗700的每个单元的选定类型的特征平面总和的集合。在一个示例中,当模块408选择y特征平面时,第一局部特征向量是包括在第一检测窗700内定义的单元的y特征平面总和的集合。第一检测窗700(包括第一到第n单元)的y特征平面的第一局部特征向量p11(y)通过下式表示:

p11(y)={c1(y),c2(y),c3(y)......cn(y)}(15)

其中:c1(y)=第一检测窗700的第一单元的y特征平面总和;c2(y)=第一检测窗700的第二单元的y特征平面总和;且cn(y)=第一检测窗700的第n单元的y特征平面总和。

在一个示例情境中,当第一检测窗700的大小为(64*128)且单元大小为(8*8)时,第一检测窗中的单元的数目等于(64/8)*(128/8)=128。因此,局部特征向量中的元素的数目等于单元的总数目,即,128,且局部特征向量的数目等于10。另外,完整特征向量包括第一检测窗700的每个单元的每个类型的特征平面总和。当特征平面总和类型的数目为十时,完整特征向量包括128*10=1280个元素。

模块408比较第一局部特征向量与目标的对应局部分类器,以检测目标的y数据在第一检测窗700中的存在,并将比较的结果存储在存储器402中,而非存储第一局部特征向量。模块408随后选择下一类型的特征平面,例如u特征平面,以用于计算第一检测窗700的第二局部特征向量。之后,所述模块比较第二局部特征向量与目标的对应局部分类器,以检测在第一检测窗700中是否检测到目标的u数据,并将比较的结果存储在存储器402中。在一个示例情境中,局部目标分类器是adaboost分类器。

类似地,模块408以迭代方式执行以下步骤:计算下一特征平面的局部特征向量,并与对应局部分类器进行比较以将比较的结果存储在存储器402中。因此,模块408迭代地计算十个局部特征向量,并执行与对应的局部目标分类器的十次比较以将十个比较结果存储在存储器402中。

模块408仅将比较结果存储在存储器402中,而非存储第一检测窗700的单元的特征平面总和,因此大大节约存储器带宽(如双数据速率(ddr)存储器带宽)。模块408绕过对第一检测窗700的完整特征向量的计算(需要一起计算1280个元素),且一次仅计算一个局部特征向量(需要一起计算128个元素),因此大大节约ddr带宽。

最终分类模块410核对通过模块408产生的比较结果,并因此最终判定目标是否存在于第一检测窗700中。在一个实施例中,模块408基于与对应的局部目标分类器之间的比较来计算对应于每个局部特征向量的得分,且因此产生对应于每个特征平面类型的总共十个局部得分。最终分类模块410将十个局部得分相加以产生最终得分,以用于指示目标是否存在于第一检测窗700中。

之后,模块408选择第二检测窗702(图7),并计算对应的局部特征向量和局部得分。最终分类模块410随后核对局部得分以检测目标在第二检测窗702中的存在。模块408计算局部得分,且最终分类模块410以顺序方式核对图像704的其余检测窗中的每个的局部得分,由此检测对应的目标在图像704中的存在。在一些示例实施例中,还可在单一周期中计算全部1280个元素,且之后可将这些元素与分类器比较以检测目标在检测窗(图像部分)中的存在。

图8是在一个实施例中的检测图像中的目标的方法的流程图。在某些实施例中,方法800的操作通过处理器执行,如通过处理器400(图4)执行。

在框802处,所述方法包括针对图像(输入图像)的每个图像像素计算一种或更多种类型的一个或更多个特征平面,所述图像如示例图像100(图1)。在至少一个示例中,针对每个图像像素计算十种类型的特征平面,其中十种类型的特征平面包括y、u、v特征平面、m特征平面以及六个hog特征平面。图像像素的六个hog特征平面基于图像像素的水平和竖直梯度来计算。

在框804处,所述方法包括在图像100中定义多个单元,其中每个单元包括第一至第n数目的像素。图像100中的每个单元在水平和竖直方向上的起始位置分别为预定义水平和竖直步长大小的整数倍。例如,当水平和竖直步长大小各自为4个像素时,则不论单元大小如何,单元的起始位置在x和y方向上的0、4、8、12...个像素处。

在框806处,所述方法包括针对单元中的每个计算一种或更多种类型的一个或更多个特征平面总和。单元的一种类型的特征平面总和通过对所述单元的第一至第n数目像素的对应的特征平面求和来计算。在一个示例情境中,大小为(6*6)的单元(如第一单元502(图5))的(类型y特征平面的)特征平面总和c1(y)通过对第一单元502的全部36个像素的y特征平面求和来计算。

在框808处,所述方法包括确定图像704(图7)的图像部分(如第一检测窗700)的特征向量。所述图像部分的特征向量包括在图像部分中定义的单元的特征平面总和的集合。在一个实施例中,特征向量是局部特征向量,所述局部特征向量包括针对在图像部分中定义的单元的仅一种类型的特征平面总和的集合。

在框810处,所述方法包括比较特征向量与对应的目标分类器以检测对应的目标在图像的所述图像部分中的存在。在一个实施例中,特征向量是局部特征向量且与对应的局部目标分类器进行比较,以检测对应的目标在图像部分中的存在。在各种图像部分中(例如在参考图7描述的各种检测窗中)检测目标的存在以确定目标在整个图像中的存在。

在局部特征向量的实一个施例中,针对每种类型的特征平面迭代地确定局部特征向量,且将每种类型的局部特征向量与对应的每种类型的局部分类器进行比较。另外,将每种类型的比较的结果存储在存储器中。并且,核对对应于每种类型的特征平面的一个或更多个比较结果,并基于经核对的结果检测目标在图像中的存在。

示例实施例中的一个或更多个的优点包括检测输入图像中的目标。在各种实施例的目标检测系统中,图像像素梯度的hog区间基于图像像素的水平梯度和竖直梯度之间的数学关系来确定,而不必计算梯度的方向,由此引起特征平面计算的约30%至45%的性能改进。另外,局部特征向量计算而非完整特征向量计算大大节约约95%的存储器带宽。目标检测系统的计算复杂性和占用面积比常规设计的计算复杂性和占用面积要小得多。另外,目标检测系统可适合于任何单元大小、检测窗大小、步长大小、特征平面的数目、特征向量的数目以及分类器的类型。

贯穿此说明书提及特征、优点或类似的语言并不意味着所有特征和优点都应在或在所有实施例中。因此,贯穿此说明书对特征和优点的论述以及类似的措辞未必是指相同的实施例。

在权利要求书的范围内,在所描述的实施例中修改是可能的,且其它实施例是可能的。例如,如上文所论述,各种实施例以不同次序的步骤和/或操作来实践,和/或以不同配置的硬件元件来实践。

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