检测装置和方法及图像处理装置和系统与流程

文档序号:21002864发布日期:2020-06-05 22:52阅读:165来源:国知局
检测装置和方法及图像处理装置和系统与流程

本发明涉及图像处理,尤其涉及例如图像中对象的检测。



背景技术:

在图像处理中,精确地从视频/图像中检测出对象(例如,人体)是一项关键任务。例如,检测到的人体通常可用于诸如人物图像检索、人物属性识别、人物动作识别、人物身份验证等图像处理。

近年来,神经网络在对象检测中取得了很大的进展,诸如美国专利us9514389b1中公开了一种示例性技术。该示例性技术主要包括:对从图像中所提取的特征执行相应处理(例如,线性变换处理)以得到预定个数的候选区域;以及,利用该预定个数的候选区域对所提取的特征执行相应处理(例如,回归处理)以从图像中检测出对象,其中所得到的输出例如包括每个候选区域中包含对象的置信度分数。其中,所述预定个数是由图像中的每个预定位置处所分配的候选区域的数量决定的,且每个预定位置处所分配的候选区域的数量相同。其中,在该示例性技术中,上述各处理是通过一对象检测神经网络来实现的。

由上述的示例性技术可知,其主要是利用预定个数的候选区域来进行相应的回归处理以实现对图像中的对象进行检测的,而该预定个数又是由图像中的每个预定位置处所分配的候选区域的数量决定的。从而,根据上述的示例性技术,每个预定位置处所分配的候选区域的数量将直接影响对象检测的检测速度和检测精度。其中,如上所述,每个预定位置处所分配的候选区域的数量是相同的。然而,通常对象在图像中的分布是不均匀的,如果对图像中的每个预定位置处均分配相同且很多数量的候选区域的话,也就是说,对于图像中的背景部分也将分配很多数量的候选区域,而实际上对于该类部分其实是无需分配这么多的候选区域的,因此,在利用这么多的候选区域进行回归处理时将影响对象检测的检测速度(例如,检测时间将增加)。另一方面,如果对图像中的每个预定位置处均分配相同且很少数量的候选区域的话,也就是说,对于图像中的前景部分,尤其是对于对象分布密集的部分,也将分配很少数量的候选区域,而实际上对于该类部分其实是需要分配更多数量的候选区域的,因此,在利用这么少的候选区域进行回归处理时将导致无法尽可能多地从图像中检测出对象,从而影响对象检测的检测精度。



技术实现要素:

鉴于上面的背景技术中的记载,本发明旨在解决上述问题中的至少一点。

根据本发明的一个方面,提供一种检测装置,所述检测装置包括:提取单元,从图像中提取特征;确定单元,基于所提取的特征确定所述图像中的对象的候选区域的个数,其中所确定的候选区域的个数由候选区域的位置和形状决定;以及检测单元,至少基于所提取的特征及所确定的候选区域的个数、位置和形状,从所述图像中检测对象。其中,对于所述图像中的对象的特征分布中分布越密集的部分将分配越多的候选区域;其中,所述特征分布基于所提取的特征获得。其中,所述提取单元、所述确定单元和所述检测单元利用预先生成的神经网络执行相应的操作。

根据本发明的另一个方面,提供一种检测方法,所述检测方法包括:提取步骤,从图像中提取特征;确定步骤,基于所提取的特征确定所述对象的候选区域的个数,其中所确定的候选区域的个数由候选区域的位置和形状决定;以及检测步骤,至少基于所提取的特征及所确定的候选区域的个数、位置和形状,从所述图像中检测对象。其中,对于所述图像中的对象的特征分布中分布越密集的部分将分配越多的候选区域;其中,所述特征分布基于所提取的特征获得。其中,在所述提取步骤、所述确定步骤和所述检测步骤中,利用预先生成的神经网络执行相应的操作。

根据本发明的再一方面,提供一种图像处理装置,所述图像处理装置包括:获取设备,用于获取图像或视频;存储设备,存储有指令;以及处理器,基于所获得的图像或视频执行所述指令,使得所述处理器至少实现如上所述的检测方法。

根据本发明的又一方面,提供一种图像处理系统,所述图像处理系统包括:获取设备,用于获取图像或视频;如上所述的检测装置,从所获取的图像或视频中检测对象;以及处理装置,基于所检测的对象,执行后续的图像处理操作;其中,所述图像获取装置、所述检测装置和所述处理装置经由网络相互连接。

由于本发明通过利用所提取的特征(尤其是,对象的特征分布)来确定对象的候选区域的个数,从而,根据本发明,可为图像中的各相应位置处动态地分配相应数量的候选区域。因此,根据本发明,一方面,对于特征分布中分布越密集的部分(也即,图像中对象分布越密集的部分)将分配越多的候选区域,从而可提高对象检测的检测精度。另一方面,对于图像中对象分布越稀疏的部分(也即,属于背景的概率较大的部分)将分配越少的候选区域,从而可提高对象检测的检测速度。

通过以下参考附图对典型实施例的说明,本发明的其它特征和优点将变得明显。

附图说明

并入说明书中并构成说明书的一部分的附图例示本发明的实施例,并且与实施例的描述一起用于解释本发明的原理。

图1是示意性地示出可实现根据本发明实施例的技术的硬件构造的框图。

图2是例示根据本发明实施例的检测装置的构造的框图。

图3示意性地示出根据本发明实施例的检测方法的流程图。

图4示意性地示出根据本发明实施例的如图3中所示的确定步骤s320的一种流程图。

图5a~5b示意性地示出对象的特征分布的示例,其中图5a示出由所提取的特征的特征值直接表示的特征分布的一种示例,图5b示出由图5a中所示的特征值的归一化值表示的特征分布的一种示例。

图6a~6b示意性地示出根据本发明利用如图5b中所示的特征分布而确定的候选区域的位置分布的示例。

图7示意性地示出如图6a~6b中所示的候选区域的位置分布中的每一个位置处可分配的9个候选区域的示例。

图8示意性地示出根据本发明实施例的如图3中所示的确定步骤s320的另一种流程图。

图9示意性地示出根据本发明利用如图5b中所示的特征分布而确定的候选区域的形状分布的示例

图10a~10c示意性地示出如图9中所示的候选区域的形状分布中分别具有3个候选区域、6个候选区域及9个候选区域的示例。

图11示意性地示出根据本发明实施例的如图3中所示的确定步骤s320的再一种流程图。

图12示出由图5a中所示的特征值的归一化值表示的特征分布的另一种示例。

图13a~13b分别示意性地示出根据本发明利用如图12中所示的特征分布而确定的候选区域的位置分布和形状分布的示例。

图14示意性地示出根据本发明实施例的如图3中所示的检测步骤s330的一种流程图。

图15a~15c分布示意性地示出由所提取的特征的特征值直接表示的一种特征分布、与该特征分布对应的对象的密度分布及阈值分布。

图16示意性地示出了对象的密度分布的一种示例。

图17a~17b示意性地示出了根据本发明的对象检测结果的示例。

图18示意性示出在本发明实施例中用到的预先生成的神经网络的示意性结构。

图19示意性地示出一种用于预先生成可用于本发明实施例的神经网络的生成方法的流程图。

图20示出根据本发明的一种示例性应用装置的布置。

图21示出根据本发明的一种示例性应用系统的布置。

具体实施方式

下面将参照附图详细地描述本发明的示例性实施例。应注意,下面的描述实质上仅为说明性和示例性的,并且决不意图限制本发明及其应用或用途。除非另有具体说明,否则实施例中阐述的组件和步骤的相对布置、数值表达式和数值并不限制本发明的范围。另外,本领域技术人员已知的技术、方法和设备可能不会被详细地讨论,但在适当的情形中其应当是本说明书的一部分。

请注意,相似的附图标记和字母指代附图中相似的项目,因此,一旦一个项目在一个附图中被定义,则不必在下面的附图中对其进行讨论。

如上所述,鉴于对象在图像中的分布通常是不均匀的,发明人认为如何在分配候选区域时兼顾这种不均匀的分布是改善对象检测的检测精度或检测速度的关键。考虑到从图像中所提取的特征的特征值可表示对象的特征分布且对象的特征分布可体现对象在图像中的分布,发明人认为可利用从图像中所提取的特征(尤其是,对象的特征分布)来为图像中的不同部分分别地分配合适数量的候选区域以改善对象检测的检测精度和/或检测速度。例如,在本发明中,对于特征分布中分布越密集的部分将分配越多的候选区域,而对于特征分布中分布越稀疏的部分将分配越少地候选区域。其中,如何利用对象的特征分布来实现候选区域的动态分配将在下文中参照附图进行详细地描述。

如上所述,根据本发明,一方面,由于图像中对象分布越密集的部分(也即,特征分布中分布越密集的部分)将分配越多的候选区域,从而可提高对象检测的检测精度。另一方面,由于图像中对象分布越稀疏的部分(也即,特征分布中分布越稀疏的部分)将分配越少的候选区域,从而可提高对象检测的检测速度。

(硬件构造)

首先将参照图1描述可实现下文中描述的技术的硬件构造。

硬件构造100例如包括中央处理单元(cpu)110、随机存取存储器(ram)120、只读存储器(rom)130、硬盘140、输入设备150、输出设备160、网络接口170和系统总线180。此外,在一种实现方式中,硬件构造100可由计算机实现,诸如平板电脑、笔记本电脑、台式电脑或其他合适的电子设备。在另一种实现方式中,硬件构造100可由监控设备实现,诸如数码相机、摄像机、网络相机或其他合适的电子设备。其中,在硬件构造100由监控设备实现的情况下,硬件构造100还包括例如光学系统190。

在一种实现方式中,根据本发明的检测装置由硬件或固件构造并且用作硬件构造100的模块或组件。例如,将在下文参照图2详细描述的检测装置200用作硬件构造100的模块或组件。在另一种实现方式中,根据本发明的检测装置由存储在rom130或硬盘140中且由cpu110执行的软件构造。例如,将在下文参照图3详细描述的过程300用作存储在rom130或硬盘140中的程序。

cpu110是任意合适的可编程控制设备(诸如,处理器),并且可通过执行存储在rom130或硬盘140(诸如,存储器)中的各种应用程序来执行下文中要描述的各种功能。ram120用于临时存储从rom130或硬盘140加载的程序或数据,并且也被用作cpu110在其中执行各种过程(诸如,实施将在下文参照图3至图16、图19详细描述的技术)以及其他可用功能的空间。硬盘140存储诸如操作系统(os)、各种应用、控制程序、视频、图像、预先生成的网络(例如,神经网络)、预先定义的数据(例如,阈值(ths))等多种信息。

在一种实现方式中,输入设备150用于允许用户与硬件构造100交互。在一个实例中,用户可通过输入设备150输入图像/视频/数据。在另一实例中,用户可通过输入设备150触发本发明的对应处理。此外,输入设备150可采用多种形式,诸如按钮、键盘或触摸屏。在另一种实现方式中,输入设备150用于接收从诸如数码相机、摄像机和/或网络相机等专门电子设备输出的图像/视频。另外,在硬件构造100由监控设备实现的情况下,硬件构造100中的光学系统190将直接捕获监控位置的图像/视频。

在一种实现方式中,输出设备160用于向用户显示处理结果(诸如,检测出的对象)。而且,输出设备160可采用诸如阴极射线管(crt)或液晶显示器等各种形式。在另一种实现方式中,输出设备160用于向诸如人物图像检测、人物属性识别、人物动作识别、人物身份验证等的后续图像处理输出处理结果。

网络接口170提供用于将硬件构造100连接到网络的接口。例如,硬件构造100可经由网络接口170与经由网络连接的其他电子设备进行数据通信。可选地,可以为硬件构造100提供无线接口以进行无线数据通信。系统总线180可以提供用于在cpu110、ram120、rom130、硬盘140、输入设备150、输出设备160、网络接口170和光学系统190等之间相互传输数据的数据传输路径。虽然被称为总线,但是系统总线180并不限于任何特定的数据传输技术。

上述硬件构造100仅仅是说明性的,并且决不意图限制本发明、其应用或用途。而且,为了简明起见,图1中只示出一个硬件构造。但是,根据需要也可以使用多个硬件构造。

(检测装置和方法)

接下来将参照图2至图17b描述根据本发明的属性识别。

图2是例示根据本发明实施例的检测装置200的构造的框图。其中,图2中所示的一些或全部模块可由专用硬件实现。如图2中所示,检测装置200包括提取单元210、确定单元220和检测单元230。其中,检测装置200例如可用于从视频/图像中检测出对象(例如,人体)。

另外,图2中所示的存储设备240例如至少存储有预先设置的具有不同形状和尺度的候选区域。在一种实现中,存储设备240为图1中所示的rom130或硬盘140。在另一种实现方式中,存储设备240为经由网络(未示出)与检测装置200连接的服务器或外部存储设备。

首先,在一种实现方式中,例如,在图1中所示的硬件构造100由计算机实现的情况下,输入设备150接收从专门电子设备(例如,摄像机等)输出或由用户输入的图像,其中该图像也可以是由专门电子设备输出或由用户输入的视频中的一个视频帧。接着,输入设备150经由系统总线180将所接收图像传输到检测装置200。在另一种实现方式中,例如,在硬件构造100由监控设备实现的情况下,检测装置200直接使用由光学系统190捕获的图像。

然后,如图2中所示,提取单元210从所接收到的图像中提取特征,其中所提取的特征例如是整个图像的特征。也就是说,在图像中包含对象的情况下,所提取的特征也同样地包含对象的特征。在一种实现方式中,提取单元210可利用已有的特征提取算法从图像中提取特征,例如,局部二值模式(lbp)算法、快速傅里叶变换(fft)算法、gabor算法等。在另一种实现方式中,提取单元210可利用存储在例如存储设备240中的预先生成的神经网络从图像中提取特征。其中,在下文中,将参照图18至图19详细地描述预先生成该神经网络的方法。

确定单元220基于提取单元210所提取的特征确定图像中的对象的候选区域的个数。其中,一方面,确定单元220基于所提取的特征获得图像中的对象的特征分布。具体地,对象的特征分布例如可由所提取的特征的特征值直接表示或例如可由所提取的特征的特征值的归一化值表示。另一方面,确定单元220基于所获得的特征分布确定对象的候选区域的个数,其中,该候选区域例如可被视为是锚点(anchor)。其中,为了使得能够合理地利用少量的候选区域来改善对象检测的精度或速度,在本发明中,对于特征分布中分布越密集的部分,将分配越多的候选区域。例如,对于特征分布中的特征值/归一化值越大的部分,分配更多的候选区域;而对于特征分布中的特征值/归一化值越小的部分,分配越少的候选区域。

在本发明中,确定单元220所确定的候选区域的个数由候选区域的位置和形状决定。其中,候选区域的形状例如可为三角形、四边形、多边形、圆形、椭圆形等。然而,显然不必局限于此,只要能够得到的各种形状均可用作候选区域的形状。在一种实现方式中,为了提高对象检测的精度,可根据图像中的对象的形状和尺度来确定对应形状和尺度的候选区域以用于对象检测。具体地,例如,如上所述,存储设备240中存储有预先设置的不同形状和尺度的候选区域,从而可以根据图像中的对象的形状和尺度从存储设备240中选择合适的候选区域用于对象检测。

返回图2,检测单元230,至少基于提取单元210所提取的特征及确定单元220所确定的候选区域的个数、位置和形状,从图像中检测对象,例如检测出对象所在的区域位置及对象的类别置信度等。

其中,确定单元220和检测单元230可基于提取单元210所提取的特征中的不同的部分来执行相应的操作。例如,确定单元220主要基于所提取的特征中的可体现对象在图像中的分布的那部分特征来执行相应的操作。例如,检测单元230主要基于所提取的特征中的可体现对象在图像中的语义信息的那部分特征来执行相应的操作。此外,作为一种替换,确定单元220和检测单元230所利用到的特征也可由不同的提取单元来提取。

此外,如上所述,提取单元210可利用存储在例如存储设备240中的预先生成的神经网络来执行相应的操作。同样地,为了提高对象检测的精度,确定单元220和检测单元230也可利用存储在例如存储设备240中的预先生成的神经网络来执行相应的操作。其中,在下文中,也将参照图18至图19详细地描述预先生成该神经网络的方法。

最后,检测单元230经由图1中所示的系统总线180将检测结果(例如,检测出的对象)传输至输出设备160,用于向用户显示所检测出的对象或用于向诸如人物图像检测、人物属性识别、人物动作识别、人物身份验证等的后续图像处理输出检测结果。

图3中所示的流程图300是图2中所示的检测装置200的对应过程。

如图3中所示,在提取步骤s310中,提取单元210从所接收到的图像中提取特征。

在确定步骤s320中,确定单元220基于所提取的特征确定图像中的对象的候选区域的个数。具体地,确定单元220基于所提取的特征获得图像中的对象的特征分布并基于所获得的特征分布确定对象的候选区域的个数,其中,所确定的候选区域的个数由候选区域的位置和形状决定。其中,如上所述,在本发明中,对于特征分布中分布越密集的部分,将分配越多的候选区域。在一种实现方式中,确定单元220参照图4确定候选区域的个数。

如图4中所示,在步骤s3201中,确定单元220基于所提取的特征获得对象的特征分布。如上所述,在一种实现中,对象的特征分布例如可由所提取的特征的特征值直接表示,例如如图5a所示的一种特征分布。在另一种实现中,对象的特征分布例如可由所提取的特征的特征值的归一化值表示(例如如图5b所示的一种特征分布),其中例如可根据最大的特征值来进行相应的归一化操作。

在步骤s3202中,确定单元220基于所获得的特征分布来获得候选区域的位置分布。在一种实现中,为了改善对象检测的速度,确定单元220通过将所获得的特征分布中的特征值或归一化值与预定义阈值进行比较来获得候选区域的位置分布,其中预定义阈值的个数可根据实际应用动态确定。例如,可通过下述示例性的函数(1)来实现相应的操作:

其中,fp(s)表示候选区域的位置分布,s表示所获得的特征分布中的特征值或归一化值,th2例如为最大的特征值或最大的归一化值,th1为属于(0,th2)之间的值,m与n表示位置个数且m<n。其中,上述函数(1)表示:对于一个特征值或归一化值,在其例如属于[0,th1)之间的值时,在特征分布中与其对应的部分可有m个位置可分配候选区域;在其例如属于[th1~th2]之间的值时,在特征分布中与其对应的部分可有n个位置可分配候选区域。从而,在将每一个特征值或归一化值与预定义阈值进行比较后便可获得整个的候选区域的位置分布。在上述函数(1)中,预定义了2个阈值来进行比较以获得位置分布。然而,显然不必局限于此,可根据实际应用,预定义更多的阈值来进行比较以获得更加细化的位置分布。以图5b中所示的特征分布为例,则s表示归一化值,假设上述函数(1)被示例性地设置成如下函数(2):

从而,例如对于特征分布中的归一化值“0.54”(如图5b中的灰色部分所示),其对应部分可有4个位置可分配候选区域(如图6a中的灰色部分所示),其中图6a示例性示出了获得的整个的候选区域的位置分布,其中图中所示的一个黑点表示可在其处分配候选区域的一个位置,其中共有88个位置可用于分配候选区域。

从上述实现可知,最终得到的候选区域的位置分布是离散的。为了能更真实地体现对象在图像中的密度分布以改善对象检测的召回率,可以通过获得连续的候选区域的位置分布来实现。因此,在另一种实现中,确定单元220基于所获得的特征分布中的特征值或归一化值及与每一个特征值或归一化值对应的部分可有的可用于分配候选区域的位置个数的最大值来获得候选区域的位置分布。例如,可通过下述示例性的函数(3)来实现相应的操作:

fp(s)=maxnumber*s…(3)

其中,fp(s)表示候选区域的位置分布,s表示所获得的特征分布中的特征值或归一化值,maxnumber表示与每一个特征值或归一化值对应的部分可有的可用于分配候选区域的位置个数的最大值,其中该最大值为预定义数值。其中,对于与每一个特征值或归一化值对应的部分可有的可用于分配候选区域的位置个数的最大值可相同也可不同。例如,由于对象通常密集地分布在图像的中间位置而非图像的周边位置,因此对象在图像中间位置的密度分布比在图像周边位置的密度分布密集。从而,可为处于图像中间位置的部分和处于图像周边位置的部分分别预定义不同的maxnumber,例如,为处于图像中间位置的部分所预定义的maxnumber比为处于图像周边位置的部分所预定义的maxnumber大。其中,上述函数(3)表示:对于一个特征值或归一化值,可通过其与预定义的maxnumber的乘积来确定在特征分布中与其对应的部分可有的可用于分配候选区域的位置个数,其中例如可将所获得的乘积值通过四舍五入或直接取整的操作来得到该位置个数。从而,在将每一个特征值或归一化值与maxnumber通过乘积运输后便可获得整个的候选区域的位置分布。在上述函数(3)中,通过乘积运算来获得位置分布。然而,显然不必局限于此,也可通过其它的数学运算(例如,指数运算)来获得位置分布。同样地以图5b中所示的特征分布为例,则s表示归一化值,假设上述函数(3)被示例性地设置成如下函数(4),其中假设通过直接取整的操作来取值:

fp(s)=9*s…(4)

从而,例如对于特征分布中的归一化值“0.54”(如图5b中的灰色部分所示),其对应部分可有4个位置可分配候选区域(如图6b中的灰色部分所示),其中图6b示例性示出了获得的整个的候选区域的位置分布,其中图中所示的一个黑点表示可在其处分配候选区域的一个位置,其中共有131个位置可用于分配候选区域。

返回图4,在步骤s3203中,确定单元220基于所获得的候选区域的位置分布来确定候选区域的个数。在一种实现中,首先,确定单元220为候选区域的位置分布中的每一个位置处设置一个可分配的候选区域的数量,其中在每一个位置处所设置的数量相同(例如,均为9个)。其次,确定单元220根据所设置的数量为每一个位置处选择合适的候选区域,从而可确定整个的候选区域的个数以用于对象检测。如上所述,可根据图像中的对象的形状和尺度从存储设备240中选择合适的候选区域。其中,在每一个位置处所分配的候选区域可以具有不同的形状和不同的尺度,只要所分配的候选区域的数量相同便可。以图6a~6b中所示的候选区域的位置分布为例,假设每一个位置处均可分配9个候选区域,假设每一个位置处所分配的9个候选区域由不同尺度的四边形和不同尺度的椭圆形构成(如图7所示),则根据如图6a中所示的候选区域的位置分布所确定的候选区域的个数为“88*9=792”个,而根据如图6b中所示的候选区域的位置分布所确定的候选区域的个数为“131*9=1179”个。

返回图3,对于确定步骤s320,除了可以参照图4根据候选区域的位置分布来确定候选区域的个数,还可根据候选区域的形状分布来确定候选区域的个数。因此,在另一种实现方式中,确定单元220参照图8确定候选区域的个数。

如图8中所示,由于步骤s3211的操作与图4中所示的步骤s3201的操作相同,在此不再赘述。

在步骤s3212中,确定单元220基于所获得的特征分布来获得候选区域的形状分布,其中所获得的候选区域的形状分布由所获得的特征分布中的特征值或归一化值中的每一个所对应的位置处可具有的候选区域的数量构成。其中,对于每一个位置处可具有的候选区域的数量,在一种实现中,为了改善对象检测的召回率,确定单元220通过将对应的特征值或归一化值与预定义阈值进行比较来获得相应的候选区域的数量,其中预定义阈值的个数可根据实际应用动态确定。例如,可通过下述示例性的函数(5)来实现相应的操作:

其中,fs(s)表示候选区域的形状分布,s表示所获得的特征分布中的特征值或归一化值,th5例如为最大的特征值或最大的归一化值,th3及th4为属于(0,th5)之间的值,t1、t2、t3表示候选区域的数量且t1<t2<t3。其中,上述函数(5)表示:对于一个特征值或归一化值,在其例如属于[0,th3)之间的值时,在特征分布中与其对应的部分可具有t1个候选区域;在其例如属于[th3~th4]之间的值时,在特征分布中与其对应的部分可具有t2个候选区域;在其例如属于(th4~th5]之间的值时,在特征分布中与其对应的部分可具有t3个候选区域。在上述函数(5)中,预定义了3个阈值来进行比较以获得形状分布。然而,显然不必局限于此,可根据实际应用,预定义更多的阈值来进行比较以获得更加细化的形状分布。从而,在按照如上的方式确定好每一个位置处可具有的候选区域的数量后便可获得整个的候选区域的形状分布。同样地以图5b中所示的特征分布为例,则s表示归一化值,假设上述函数(5)被示例性地设置成如下函数(6):

从而,例如对于特征分布中的归一化值“0.54”(如图5b中的灰色部分所示),其对应位置处可具有6个候选区域(如图9中的灰色部分所示),其中图9示例性示出了获得的整个的候选区域的形状分布。

返回图8,在步骤s3213中,确定单元220将所获得的候选区域的形状分布中每一个位置处可具有的候选区域的数量的总和确定为候选区域的个数。例如,根据如图9中所示的形状分布可确定候选区域的个数为“231”个。此外,对于候选区域的形状分布中的每一个位置处的候选区域可以具有不同的形状和不同的尺度。如上所述,可根据图像中的对象的形状和尺度从存储设备240中选择合适的候选区域。例如,对于如图9中所示的候选区域的形状分布,假设候选区域由不同尺度的四边形和不同尺度的椭圆形构成,从而,对于可具有3个候选区域的位置处可选择例如如图10a中所示的候选区域,对于可具有6个候选区域的位置处可选择例如如图10b中所示的候选区域,对于可具有9个候选区域的位置处可选择例如如图10c中所示的候选区域。

返回图3,对于确定步骤s320,根据图4及图8所确定的候选区域的个数(也即,总个数)是不固定的,也就是说,对于不同的场景通过本发明所确定的候选区域的总个数有可能是不同的。为了使得本发明也可用于计算量受限的场景中,也可将候选区域的总个数设定为一个固定值(也即,一个预定义值),也就是说,候选区域的总个数对于不同的场景是相同的。从而,为了能为对象的特征分布中分布越密集的部分分配越多的候选区域,在候选区域的总个数固定的情况下,在确定步骤s320中,主要关注如何获得更加合适的候选区域的位置分布或候选区域的形状分布。因此,在再一种实现方式中,确定单元220参照图11确定候选区域的个数。

如图11中所示,由于步骤s3221的操作与图4中所示的步骤s3201的操作相同,在此不再赘述。其中,在对象的特征分布是由所提取的特征的特征值的归一化值表示的情况下,例如可根据所有特征值的总和来进行相应的归一化操作,例如图12中示出的一种相应的特征分布。

在根据步骤s3222来获得候选区域的位置分布的情况下,在步骤s3222中,确定单元220基于所获得的特征分布中的特征值或归一化值、预定义固定值(也即,可使用的候选区域的总个数)及与每一个特征值或归一化值对应的部分可有的可用于分配候选区域的位置个数的最大值来获得候选区域的位置分布。例如,可通过下述示例性的函数(7)来实现相应的操作:

其中,fp(s)、s、maxnumber所表示的物理含义与在上述函数(3)中所表示的物理含义相同,fixnumber表示预定义固定值。其中,上述函数(7)表示:对于一个特征值或归一化值,可通过其与预定义的fixnumber的乘积之后再与预定义的maxnumber的比值来确定在特征分布中与其对应的部分可有的可用于分配候选区域的位置个数,其中例如也可将所获得的数值通过四舍五入或直接取整的操作来得到该位置个数。显然,不必局限于此,也可通过其它的数学运算来获得位置分布。例如以图12中所示的特征分布为例,则s表示归一化值,假设上述函数(7)被示例性地设置成如下函数(8),其中假设通过直接取整的操作来取值:

从而,例如对于特征分布中的归一化值“0.03”(如图12中的灰色部分所示),其对应部分可有2个位置可分配候选区域(如图13a中的灰色部分所示),其中图13a示例性示出了根据步骤s3222获得的整个的候选区域的位置分布,其中图中所示的一个黑点表示可在其处分配候选区域的一个位置,其中共有62个位置可用于分配候选区域。

在根据步骤s3222来获得候选区域的形状分布的情况下,在步骤s3222中,确定单元220基于所获得的特征分布中的特征值或归一化值及预定义固定值来获得候选区域的形状分布。例如,可通过下述示例性的函数(9)来实现相应的操作:

fs(s)=fixnumber*s…(9)

其中,上述函数(9)表示:对于一个特征值或归一化值,可通过其与预定义的fixnumber的乘积来确定特征分布中与其对应的位置处可具有的候选区域的数量,其中例如可将所获得的乘积值通过四舍五入或直接取整的操作来得到该数量。显然,不必局限于此,也可通过其它的数学运算来获得位置分布。同样地以图12中所示的特征分布为例,则s表示归一化值,假设上述函数(9)被示例性地设置成如下函数(10),其中假设通过直接取整的操作来取值:

fs(s)=792*s…(10)

从而,例如对于特征分布中的归一化值“0.03”(如图12中的灰色部分所示),其对应位置处可有23个候选区域(如图13b中的灰色部分所示),其中图13b示例性示出了根据步骤s3222获得的整个的候选区域的形状分布。

返回图11,在根据步骤s3222来获得候选区域的位置分布的情况下,步骤s3223的操作与图4中所示的步骤s3203的操作相同,在此不再赘述。其中,例如如图13a所示的位置分布,共有“62*9=558”个候选区域被分配。在根据步骤s3222来获得候选区域的形状分布的情况下,步骤s3223的操作与图8中所示的步骤s3213的操作相同,在此不再赘述。其中,例如如图13b所示的形状分布,共有“765”个候选区域被分配。

在步骤s3224中,确定单元220判断经由步骤s3223确定的候选区域的个数是否小于预定义固定值(例如,上述的“792”),如果是则在步骤s3225中对剩余的候选区域的数量进行进一步的处理,否则直接输出经由步骤s3223确定的候选区域的个数。其中,对剩余的候选区域的数量的进一步处理,例如包括如下几种操作:

1)不做任何处理,也即,直接放弃而直接输出经由步骤s3223确定的候选区域的个数;或

2)为了能为对象的特征分布中分布越密集的部分分配越多的候选区域,可将剩余的候选区域的数量叠加到位置分布或形状分布中最密集之处。例如对于如图13a所示的位置分布,剩余的“234”个候选区域还可分配到26个位置,因此例如可将这26个位置分配到如图13a中所示的由小方格构成的部分中。例如对于如图13b所示的形状分布,剩余的“27”个候选区域例如可分配到如图13b中所示的由小方格构成的部分中;或

3)将剩余的候选区域的数量视为上述的fixnumber,再次地执行步骤s3222~s3224以对剩余的候选区域的数量进行重新分配,直至经由步骤s3223确定的最终的候选区域的个数与预定义固定值相等或最接近。

返回图3,在检测步骤s330中,检测单元230,至少基于在提取步骤s310中所提取的特征及在确定步骤s320中所确定的候选区域的个数、位置和形状,从所接收到的图像中检测对象。在一种实现方式中,为了能够精确地检测出对象(例如,获得对象所在区域的精确位置等)以用于例如后续的人物属性识别等,检测单元230通过基于所提取的特征及所确定的候选区域的个数、位置和形状执行回归操作来从所接收到的图像中检测对象,其中,所确定的候选区域的个数例如用于确定最终能输出的对象的个数。例如,检测单元230参照图14来检测对象。

如图14中所示,在步骤s3301中,检测单元230基于所提取的特征及所确定的候选区域的位置确定图像中的对象所在的初始区域位置及对象所属的类别置信度。具体地,在候选区域的每一个位置处,均可确定一个初始区域位置及对应的类别置信度。

在步骤s3302中,对于在候选区域的每一个位置处所确定的一个初始区域位置,检测单元230基于该位置处所具有的候选区域的形状来更新该初始区域位置以得到对象所在的最终区域位置。其中,该更新操作例如通过尺度变换操作来实现。例如,假设在候选区域的每一个位置处被分配有9个形状的候选区域,则对于在该位置处所确定的一个初始区域位置,会利用这9个形状分别对其进行尺度变换,从而可得到9个最终区域位置。

在步骤s3303中,检测单元230基于所确定的对象所在的最终区域位置及对象所属的类别置信度确定最终输出的对象检测结果,例如输出对象所在的区域位置及对象的类别置信度等。在一种实现中,检测单元230可直接输出所有的对象检测结果。在另一种实现中,检测单元230可将对象的类别置信度与一预定义阈值(例如,th6)进行比较,并仅输出类别置信度大于或等于th6的对象检测结果。在再一种实现中,为了使得图像中对象分布越密集的部分能够输出更多的对象检测结果以改善对象检测的召回率,检测单元230可通过如下操作来确定最终输出的对象检测结果:

首先,检测单元230基于所提取的特征确定对象在图像中的密度分布。其中,例如可通过分类预测或将所提取的特征的特征值与一预定义阈值(例如,th7)进行比较来得到该密度分布。假设根据所提取的特征所得到的特征分布例如如图15a所示,其中该特征分布直接由特征值表示,假设将图15a中的各特征值与th7(假设为0.5)比较后得到:在图15a中的灰色部分对象分布密集且有13个对象,在图15a中的其它部分对象分布稀疏且例如没有对象,从而所确定的密度分布例如如图15b所示。

其次,检测单元230基于所确定的密度分布为图像中分别与该密度分布中的不同密度分布值对应的部分设置不同的预定义阈值,从而可得到阈值分布。其中,密度分布中的密度分布值(例如,图15b中的数值“13”)越大,图像中与其对应的部分将被设置越小的预定义阈值。例如基于图15b所示的密度分布,参照图15a所示的特征分布得到的阈值分布如图15c所示。例如如图15c中所示,其中的灰色部分密度分布值大从而被设置了更小的预定义阈值(例如,0.4),而对于其它部分被设置了更大的预定义阈值(例如,0.8)。然而,显然不限于此,可根据实际场景应用获得合适的阈值分布。

然后,检测单元230基于所得到的阈值分布及经由步骤s3302而得到的对象检测结果确定最终输出的对象检测结果。例如,对于一个对象检测结果,将检测结果中的类别置信度与阈值分布中的与其对应的(例如,相同位置处的)阈值进行比较,在该类别置信度大于或等于该对应的阈值的情况下才输出该对象检测结果。

返回图3,对于检测步骤s330,根据图14所示的回归操作可得到精确的对象检测结果(例如,对象所在的精确区域位置)。然而,对于某些后续处理(例如,异常检测)或对于拥挤的场景,通常只需得到对象的粗略区域位置便可,因此,在另一种实现方式中,检测单元230基于对象在图像中的密度分布对其中的对象进行不同的检测处理,主要处理如下:

首先,检测单元230基于对象在图像中的密度分布将图像划分为需要从中精确地检测出对象的部分和无需从中精确地检测出对象的部分。一方面,检测单元230确定对象在图像中的密度分布。其中,关于对象的密度分布的确定与图14中的步骤s3303的对应描述相同,在此不再赘述。其中,假设所确定的对象的密度分布例如如图16所示。另一方面,检测单元230通过将所确定的密度分布中的密度分布值与一预定义阈值(例如,th8)进行比较来对图像进行划分。例如,对于密度分布值大于th8的部分,将图像中与该部分对应的部分确定为无需从中精确地检测出对象的部分;对于密度分布值小于或等于th8的部分,将图像中与该部分对应的部分确定为需要从中精确地检测出对象的部分。以图16所示的密度分布为例,假设th8被设置为等于5,则图像中与密度分布值为“3”的部分对应的部分将被确定为需要从中精确地检测出对象的部分,而对于图像中的其它部分(也即,图像中与密度分布值为“6、9”的部分对应的部分)将被确定为不需要从中精确地检测出对象的部分。

其次,对于不需要从中精确地检测出对象的部分,检测单元230例如直接输出该部分对应位置处的所确定的候选区域的位置和形状。对于需要从中精确地检测出对象的部分,检测单元230对该部分执行如图14中所示的流程以从中检测出相应的对象。

最后,返回图3,检测单元230经由图1中所示的系统总线180将检测结果(例如,检测出的对象)传输至输出设备160,用于向用户显示所检测出的对象或用于向诸如人物图像检测、人物属性识别、人物动作识别、人物身份验证等的后续图像处理输出检测结果。

此外,如图2中所述,为了提高对象检测的精度,提取单元210、确定单元220和检测单元230均可利用存储在例如存储设备240中的预先生成的神经网络来执行相应的操作。换句话说,对于图3中所示的提取步骤s310、确定步骤s320和确定步骤s330也可利用预先生成的神经网络来执行相应的操作。此外,一方面,对于图像中的不同尺度的对象,利用神经网络通常可从图像中分别提取出不同层级的特征。另一方面,不同层级的特征通常具有不同的语义信息,从而使得基于不同层级的特征获得的特征分布不同,进一步地使得对于不同层级的特征所确定的候选区域的个数也不同。因此,在本发明通过利用预先生成的神经网络来执行相应操作的情况下,对于提取单元210所提取的不同层级的特征中的每一个特征,确定单元220和检测单元230可参照图3中所示的流程来从中检测出相应的对象。其中,在图3中所示的确定步骤s320中,为了能够权衡对象检测精度的改善和对象检测速度的改善,对于不同层级的特征,确定单元220可从图4至图13b中所述的方案中分别选择不同的方案来确定候选区域的个数。其中,对于高层级的特征(也即,大尺度的对象),例如可选择使用如图8中所述的通过确定候选区域的形状分布来确定候选区域的个数。其中,对于低层级的特征(也即,小尺度的对象),例如可选择使用如图4中所述的通过确定候选区域的位置分布来确定候选区域的个数。其中,对于中间层级的特征(也即,中间尺度的对象),例如可选择使用任一中方案来确定候选区域的个数。然而,显然不必局限于此。此外,对于不同层级的特征,确定单元220也可利用同一方案来确定候选区域的个数。

如上所述,不管可用于对象检测的候选区域的总个数是否被设定为一个固定值,也就是说,不管对象检测的计算量是否受限,根据本发明,均可为图像中的各相应位置处动态地分配相应数量的候选区域。因此,一方面,对于特征分布中分布越密集的部分(也即,图像中对象分布越密集的部分)将分配越多的候选区域,从而可提高对象检测的检测精度。另一方面,对于图像中对象分布越稀疏的部分(也即,属于背景的概率较大的部分)将分配越少的候选区域,从而可提高对象检测的检测速度。

例如,以一个拄着拐杖行走的人(如图17a所示)为例,根据本发明实施例所检测到的对象的区域例如图17b中的矩形框所示,其中实线框例如为人所在的区域、虚线框例如为拐杖所在的区域。

(神经网络的生成)

如上所述,在本发明的实施例中可利用预先生成的神经网络来执行相应的操作。例如如图18中所示,可用于本发明的实施例的预先生成的神经网络例如可包括用于提取特征的部分、用于确定对象候选区域的部分和用于检测对象的部分。在本发明中,可利用深度学习方法(例如,神经网络方法)、基于在其中标注有对象的区域位置、对象的类别和对象的候选区域等的训练样本来预先生成相应的神经网络。

在一种实现方式中,为了减少生成神经网络所需花费的时间,将通过反向传递方式来共同地更新神经网络中用于提取特征的部分、用于确定对象候选区域的部分和用于检测对象的部分。图19示意性地示出一种用于预先生成可用于本发明的实施例的神经网络的生成方法的流程图1900。在图19所示的流程图1900中将以利用神经网络方法来生成相应的神经网络为例进行说明,然而,显然不必局限于此。其中,参照图19的生成方法也可以通过图1所示的硬件结构100来执行。

如图19中所示,首先,如图1中所示的cpu110通过输入设备150获取被预先设置好的初始神经网络和多张训练样本。其中,各训练样本中标记有对象的区域位置和对象的类别。

然后,在步骤s1910中,一方面,cpu110将训练样本经由当前神经网络(例如,初始神经网络)以获得对象的区域位置和对象的类别。也就是说,cpu110将训练样本依次经由当前神经网络中的用于提取特征的部分、用于确定对象的候选区域的部分和用于检测对象的部分以获得对象的区域位置和对象的类别。另一方面,对于所获得的对象的区域位置,cpu110确定所获得的对象的区域位置与样本区域位置之间的损失(例如,第一损失,loss1)。其中,样本区域位置可根据训练样本中所标记的对象的区域位置获得。其中,第一损失loss1表示利用当前神经网络获得的预测区域位置与样本区域位置(也即,真实区域位置)之间的误差,其中该误差例如可通过距离来衡量。例如,第一损失loss1可通过下述公式(11)和公式(12)来获得:

其中,smoothl1(x)表示对象的区域位置和真实区域位置的差异,x表示对象的区域位置的左上角横坐标,y表示对象的区域位置的左上角纵坐标,w表示对象所在区域的宽,h表示对象所在区域的高,表示对象类别为n的对象的区域位置,vi表示对象类别为n的对象的真实区域位置。

对于所获得的对象的类别,cpu110确定所获得的对象的类别与样本对象类别之间的损失(例如,第二损失,loss2)。其中,样本对象类别可根据训练样本中所标记的对象的类别获得。其中,第二损失loss2表示利用当前神经网络获得的预测对象类别与样本对象类别(也即,真实对象类别)之间的误差,其中该误差例如可通过距离来衡量。例如,第二损失loss2可通过下述公式(13)来获得:

其中,m表示训练样本中的对象可能所属的对象类别数,m表示最大的对象类别数,该对象类别表示训练样本中的对象所属的对象类别;ym表示对象在对象类别m上的真实对象类别;pm表示对象在对象类别m上的预测对象类别。

返回图19,在步骤s1920中,cpu110将基于确定得到的所有损失(也即,第一损失loss1和第二损失loss2)判断当前神经网络是否满足预定条件。例如,将这两个损失的和或加权和与一阈值(例如,th9)进行比较,在这两个损失的和/加权和小于或等于th9的情况下,当前神经网络将被判断为满足预定条件而被作为最终的神经网络(也即,作为预先生成的神经网络)输出,其中该最终的神经网络例如被输出到图2中所示的存储设备240中以用于如图2至图16中所述的对象检测。在这两个损失的和/加权和大于th9的情况下,当前神经网络将被判断为还不满足预定条件,则生成过程将进入步骤s1930。

在步骤s1930中,cpu110基于第一损失loss1和第二损失loss2更新当前神经网络,也即,更新依次更新当前神经网络中的用于检测对象的部分、用于确定对象的候选区域的部分和用于提取特征的部分中各层的参数。其中,此处各层的参数例如是上述各部分中的各卷积层中的权重值。在一种实例中,例如利用随机梯度下降方法基于第一损失loss1和第二损失loss2来更新各层的参数。之后,生成过程重新进入步骤s1910。

在图19中所示的流程1900中,是以第一损失loss1和第二损失loss2这两个损失的和/加权和是否满足预定条件来作为停止更新当前神经网络的条件的。然而,显然不必局限于此。作为一种替换,例如可以省略步骤s1920,而是在对当前神经网络的更新次数达到一个预定的次数后便停止相应的更新操作。

(应用)

此外,如上所述,本发明可由监控设备(例如,网络相机)实现。因此,作为一种应用,以本发明由网络相机实现为例,图20示出根据本发明的一种示例性图像处理装置2000的布置。如图20中所示,图像处理装置2000至少包括获取设备2010、存储设备2020和处理器2030。显然,图像处理装置2000还可包括未示出的输入设备、输出设备等。

如图20中所示,首先,获取设备2010(例如,网络相机的光学系统)捕获感兴趣的地方的图像或视频并将捕获的图像或视频传输到处理器2030。其中,上述感兴趣的地方例如可以是需要监控其中是否出现了需要照顾的人的地铁口。

存储设备2020存储有指令,其中所存储的指令至少是与如图3至图16中所述的对象检测方法对应的指令。

处理器2030,基于所捕获的图像或视频执行所存储的指令,使得其至少能实现如图3至图16中所述的对象检测方法,从而可以检测出所捕获的图像或视频中的对象。

此外,在存储设备2020还存储有后续的图像处理指令的情况下,例如判断感兴趣的地方是否出现了需要照顾的人等,则处理器2030也可基于检测出的对象执行相应的后续图像处理指令来实现相应的操作。在这种情况下,例如可通过网络将外部显示装置(未示出)与图像处理装置2000连接,从而外部显示装置可以向用户输出后续的图像处理结果(例如,出现了需要照顾的人、需要照顾的人的有关信息等)。作为一种替换,上述后续的图像处理指令也可通过外部处理器(未示出)来执行。在这种情况下,上述后续的图像处理指令例如存储在外部存储设备(未示出)中,并且例如可通过网络将图像处理装置2000、外部存储设备、外部处理器和外部显示装置连接。从而,外部处理器可基于图像处理装置2000检测出的对象执行外部存储设备中所存储的后续图像处理指令,并且外部显示装置可向用户输出后续的图像处理结果。

此外,如上所述,本发明也可由计算机(例如,客户端服务器)实现。因此,作为一种应用,以本发明由客户端服务器为例,图21示出根据本发明的一种示例性图像处理系统2100的布置。如图21中所示,图像处理系统2100包括获取装置2110(例如,至少一个网络相机)、处理装置2120和如图2中所示的检测装置200,其中获取装置2110、处理装置2120和检测装置200经由网络2130相互连接。其中,处理装置2120和检测装置200可通过同一客户端服务器来实现,也可分别通过不同的客户端服务器来实现。

如图21中所示,首先,获取装置2110捕获感兴趣的地方的图像或视频并将捕获的图像或视频经由网络2130传输到检测装置200。其中,上述感兴趣的地方例如可以是需要监控其中是否出现了需要照顾的人的地铁口。

检测装置200参照图2至图16从所捕获的图像或视频中检测对象。

处理装置2120基于所检测的对象,执行后续的图像处理操作,例如判断感兴趣的地方是否出现了需要照顾的人等。此外,还可通过网络2130连接显示装置或报警装置,以便可向用户输出相应的图像处理结果(例如,出现了需要照顾的人、需要照顾的人的有关信息等)。

上述的所有单元都是用于实现本公开中所述处理的示例性和/或优选模块。这些单元可以是硬件单元(诸如,现场可编程门阵列(fpga)、数字信号处理器、专用集成电路等)和/或软件模块(诸如,计算机可读程序)。上面没有详尽地描述用于实现各步骤的单元。然而,当存在执行特定过程的步骤的情况下,可以存在用于实现该同一过程的对应功能模块或单元(通过硬件和/或软件实现)。通过描述的步骤和对应于这些步骤的单元的所有组合的技术方案包括在本申请的公开内容中,只要它们所构成的技术方案是完整的、适用的即可。

可以以多种方式来实施本发明的方法和装置。例如,可以通过软件、硬件、固件或其任何组合来实施本发明的方法和装置。除非另有具体说明,否则本方法的步骤的上述顺序仅旨在是说明性的,并且本发明的方法的步骤不局限于上述具体描述的顺序。此外,在一些实施例中,本发明还可以被实施为在记录介质中记录的程序,其包括用于实现根据本发明的方法的机器可读指令。因此,本发明也覆盖存储用于实现根据本发明的方法的程序的记录介质。

虽然已经通过示例详细地展示了本发明的一些具体实施例,但是本领域的技术人员应该理解,上述示例仅旨在是说明性的,并不限制本发明的范围。本领域的技术人员应该理解,上述实施例可以在不脱离本发明的范围和精神的情况下被修改。本发明的范围由所附权利要求约束。

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