用于对象检测的图像处理的制作方法

文档序号:19129779发布日期:2019-11-13 02:30阅读:199来源:国知局
用于对象检测的图像处理的制作方法

本发明涉及用于处理表示图像帧的图像数据的方法和装置。



背景技术:

用于处理图像数据(例如用于检测图像的特性,例如图像中的特征或对象)的方法可以是计算密集的。因此需要检测图像的特性的更高效的方法。



技术实现要素:

根据本公开的第一方面,提供了一种包括对象检测系统的计算设备中的图像处理的方法,所述方法包括处理:

第一图像帧;

第二图像帧;以及

一个或多个另外的图像帧,

所述第二图像帧是继所述第一图像帧之后被捕获的,并且所述一个或多个另外的图像帧是继所述第二图像帧之后被捕获的,并且其中,所述方法包括:

对所述第一图像帧和所述第二图像帧执行特征提取操作;

执行对象检测操作以产生对象检测数据,所述对象检测操作使用来自所述特征提取操作的特征数据;以及

响应于所述对象检测数据的特性,修改用于处理所述一个或多个另外的图像帧的所述特征提取操作的至少一个参数。

根据本公开的第二方面,提供了一种图像处理系统,所述图像处理系统包括:

至少一个处理器,所述至少一个处理器被配置为实现对象检测系统;以及

能够由所述至少一个处理器访问的存储装置,所述存储装置被配置为存储:

第一图像帧;

第二图像帧;以及

一个或多个另外的图像帧,

所述第二图像帧是继所述第一图像帧之后被捕获的,并且所述一个或多个另外的图像帧是继所述第二图像帧之后被捕获的;

其中,所述对象检测系统被配置为:

对所述第一图像帧和所述第二图像帧执行特征提取操作;

执行对象检测操作以产生对象检测数据,所述对象检测操作使用来自所述特征提取操作的特征数据;

其中,所述图像处理系统包括控制器,所述控制器被配置为:

响应于所述对象检测数据的特性,修改用于处理所述一个或多个另外的图像帧的所述特征提取操作的至少一个参数。

根据参考附图进行的仅作为示例给出的本发明的优选实施例的以下描述,本发明的另外的特征和优点将变得显而易见。

附图说明

图1示意性地示出了根据示例的包括对象检测系统的计算设备中的图像处理的方法;

图2示意性地示出了由图像帧生成定向梯度直方图(hog)特征的示例;

图3图示了根据示例的方法;

图4示意性地示出了与本文描述的方法一起使用的示例性图像处理系统;以及

图5示意性地示出了与本文描述的方法一起使用的示例性对象检测系统。

具体实施方式

参考附图,根据示例的系统和方法的细节将通过以下描述变得显而易见。在本说明书中,出于解释的目的,阐述了某些示例的许多具体细节。在本说明书中对“示例”或类似语言的引用意味着结合该示例一起描述的特定特征、结构或特性被包括在至少一个示例中,但是不一定被包括在其他示例中。应该进一步注意的是,为了易于解释和理解作为示例基础的构思,示意性地描述了某些实施例,其中省略和/或必定简化了某些特征。

图1示意性地示出了根据本公开的一个方面的包括对象检测系统的计算设备中的图像处理的方法100。对象检测系统例如允许在图像中检测属于对象的特定类别的对象。例如,在类别是人脸的情况下,对象检测系统可以用于在图像中检测人脸的存在。对象检测系统可以附加地或替代地执行对象识别,例如允许对象的实例被识别。作为示例性情况,实例可以是特定人脸。因此,对象检测系统可以用于识别:检测到的人脸是对象检测系统被布置为识别的特定人脸。

方法100包括:在块101处,处理第一图像帧、第二图像帧和一个或多个另外的图像帧。给定图像帧可以包括图像数据的帧。例如,给定图像帧的处理可以涉及处理表示给定图像帧的图像数据。第一图像帧、第二图像帧和一个或多个另外的图像帧均可以表示环境的捕获图像。图像帧因此是按照时间次序捕获的:第二图像帧是继第一图像帧之后被捕获的;并且一个或多个另外的图像帧是继第二图像帧之后被捕获的。例如,第一图像帧和第二图像帧可以包括被处理的顺序图像帧流中的帧n和n+k(其中n和k是正整数)。在一些情况下,k=1使得第一图像帧和第二图像帧是连续的。在其他情况下,k>1使得第一图像帧和第二图像帧是不连续的。另外,响应于除由对象检测系统对新输入帧的接收以外的事件,可以在帧的重复周期性序列中或者非周期性地执行方法100。

方法100包括:在块102处,对两个或更多个图像帧(例如包括第一图像帧和第二图像帧)执行特征提取操作。特征提取操作可以处理第一图像帧和第二图像帧,例如将与其相对应的相应图像数据视为输入数据,并且由其产生特征数据。特征数据可以包括导出值,例如基于输入图像数据而确定的“特征”。特征提取操作因此可以涉及从输入数据中提取特定特征以生成包括一个或多个导出特征的特征数据。在示例中,特征数据可以包括一个或多个“特征向量”、“特征图”或“特征描述符”。在示例中,作为特征提取操作的一部分而产生的特征数据包括一个或多个定向梯度直方图(hog)描述符,在下面对所述hog描述符的生成进行了更详细的描述。在其他示例中,特征数据包括一个或多个haar(或“类haar”)特征、局部二元图案(lbp)、尺度不变特征变换(sift)特征、梯度定位和定向直方图(gloh)特征和/或其他特征类型。

方法100还包括:在块103处,执行对象检测操作以产生对象检测数据。对象检测操作使用来自在块102处执行的特征提取操作的特征数据。例如,分别与第一图像帧和第二图像帧相对应的特征数据被处理以确定特定类别的对象或具体对象是否分别存在于第一图像帧和第二图像帧中。可以实现对象检测器来在块103处执行对象检测操作。例如,可以使用分类器来处理特征数据并且确定是否存在特定类别的对象或具体对象。分类器可以将视为输入数据的特征数据映射到对象的类别或种类。用于执行对象检测操作的分类器的示例包括支持向量机(svm)、相关向量机(rvm)、神经网络(nn)、贝叶斯分类器和k最近邻(k-nn)分类器。在一些示例中,可以实现神经网络来执行特征提取操作和/或对象检测操作的至少一部分。

方法100涉及:在块104处,响应于所述对象检测数据的特性而修改用于处理所述一个或多个另外的图像帧的所述特征提取操作的至少一个参数。除了特性之外,还可以使用其他输入。在此示例中,从对象检测操作输出的对象检测数据的特性触发特征提取操作以在处理后续图像帧时适配。

因此可以实现方法100来动态地适配被布置为执行特征提取和/或(一个或多个)对象检测操作的对象检测系统的系统资源(例如,电源、存储器和/或处理)消耗。例如,响应于所述对象检测数据的给定特征而修改特征提取操作的至少一个参数可以允许基于从使用先前处理的图像帧所确定的对象检测数据导出的信息来调谐以下两项之间的平衡:(i)在图像帧上可执行的特征提取和对象检测操作的精度或准确度,以及(ii)与其相关联的资源消耗。

在示例中,所述对象检测数据的特性包括在第二图像帧中检测到对象的指示,该对象在第一图像帧中未被检测到。例如,对象检测数据可以指示被确定为不存在于第一图像帧中的特定对象(例如属于预定类别的对象)已出现在第二图像帧中。

在其他示例中,所述对象检测数据的特性包括在第二图像帧中未检测到对象的指示,该对象在第一图像帧中未被检测到。在这种情况下,对象检测数据可以指示在第一图像帧中检测到的特定对象已在第二图像帧中消失。

在示例中,可以在远程设备(例如,能够围绕环境移动的移动计算设备)上捕获图像帧。因此,远程设备可以改变远程设备能够捕获的环境的视场(fov)。随着fov改变,新对象可以出现在视场中并且因此出现在由远程设备捕获的对应图像帧流中,那些对象在所述帧流之前不存在于图像帧中。类似地,先前在远程设备的fov中的对象可能落在fov之外,并且因此从正在处理的所捕获的图像帧中消失。

在某些情况下,对象可以由于对象在环境中的移动而进入或者离开被配置为捕获第一图像帧、第二图像帧和一个或多个另外的图像帧的设备的fov。作为示例,所配置的设备可以包括固定位置中的安全相机。该安全相机可以从其固定位置具有环境的给定fov。新对象(例如人或车辆)可以进入相机的fov并且类似地对象可以离开相机的fov。因此,对象可以相对于在第二图像帧之前捕获的第一图像帧出现在第二图像帧中或者从第二图像帧中消失。在特定情况下,由于设备的移动和对象的移动的组合,对象可以进入或者离开设备的fov。

在一些示例中,所述对象检测数据的特性包括在第一图像帧和第二图像帧中检测到的对象已相对于在第一图像帧和第二图像帧中表示的环境加速的指示。

例如,可以在一组捕获的图像帧(包括第一图像帧和第二图像帧)中检测对象,并且在该组帧上相对于环境跟踪其位置。例如,可以例如相对于给定坐标系基于该组捕获的图像帧中的每一个确定所检测到的对象的位置或姿势。所检测到的对象在该组帧上的位置或姿势的确定变化可以指示所检测到的对象正在相对于环境(例如相对于给定坐标系)加速。例如,可以基于对象在该组帧上的位置或姿势的变化以及该组中的后续捕获的图像帧之间的时间差来确定对象的加速度。对象已在该组帧上加速的指示因此可以触发对用于处理另外的图像帧(例如在该组捕获的图像帧之后被捕获)的特征提取操作的至少一个参数的修改。在示例中,对象已在该组帧上加速的指示基于确定的加速度值(例如,平均加速度值)与预定阈值具有预定关系。例如,该指示可以基于所确定的加速度值大于预定阈值加速度值。

在其他示例中,所述对象检测数据的特性包括在第一图像帧和第二图像帧中检测到的对象相对于环境已减速的指示。类似于与以上对象的加速有关的情况,所确定的检测到的对象在该组帧上的位置或姿势的变化可以指示所检测到的对象正在相对于环境(例如相对于给定坐标系)减速。因此,对象已在该组帧上减速的指示可以触发对用于处理另外的图像帧的特征提取操作的至少一个参数的修改。在示例中,对象已在该组帧上减速的指示基于确定的减速度值(例如,平均减速度值)与预定阈值减速度值具有预定关系。例如,该指示可以基于所确定的减速度值大于预定阈值减速度值。

在一些示例中,对象检测数据的特性包括如下指示:在第一图像帧和第二图像帧中检测到的对象相对于环境的位置或大小的变化与预定阈值具有预定关系。例如,对象检测数据可以指示对象已在其相对于环境(例如固定坐标系)的位置中改变了超过预定阈值。对象的位置变化与预定阈值之间的预定关系可以包括对象的位置变化小于、小于或等于、等于、大于或等于或大于预定阈值。

在一些示例中,对象检测数据的特性包括已在多个帧中连续地检测到在第一帧和第二帧中检测到的对象的指示,所述多个帧包括第一帧和第二帧并且已在另外的一个或多个帧之前被捕获。例如特性可以包括已在数量超过预定阈值的许多相继处理的帧(包括第一帧和第二帧)中检测到对象的指示。

在一些示例中,对象检测数据的特性包括已在相应图像帧的预定部分中检测到在第一帧和第二帧中的至少一个中检测到的对象的指示。在一些情况下,特性包括所检测到的对象已被检测为位于在相应图像帧中表示的环境的预定区域中的指示。

图2示意性地示出了作为特征提取操作的一部分生成hog特征的示例。输入图像帧200(例如上述的第一图像帧或第二图像帧)被划分成部分(或“单元格”)210的网格。此网格可以是预定义的,使得每个帧可以被认为是被划分成相同的网格。例如,单元格210可以具有如图2中所示的7×7个元素(或“像素”)220的尺寸。在其他示例中,单元格可以具有不同尺寸的像素220。

在用于确定每个单元格210的梯度直方图250的处理240期间,在每个单元格210的每个像素220处确定梯度。可以通过例如使用一个或多个内核来对图像帧进行滤波并且使用经滤波的像素值来确定每个像素220处的每个梯度的大小和方向而确定每个单元格210处的梯度。一个或多个滤波器内核(或“梯度滤波器”)可以包括[-1,0,1]和/或[-1,0,1]t滤波内核。在其他示例中,所使用的一个或多个滤波器内核可以是不同的,例如,能使用更复杂的内核。

可以通过将给定单元格210的每个像素220处所确定的梯度划分成若干区间(bin)或通道来确定给定单元格210的直方图250。例如,根据梯度是否是“有符号的”,换句话说,所确定的梯度是否指定沿着其定向的方向,例如肯定的或否定的,直方图区间可以均匀地分布在0至180度或0至360度之间。作为示例,直方图区间可以包括在0至180度范围上均匀地散布的九个区间,使得每个区间对应于20度子范围。与给定单元格210的像素220相对应的梯度然后可以作为加权投票被分配到该数量的直方图区间中。可以基于所确定的像素的梯度幅度对投票进行加权。给定单元格210中的所有像素220的加权投票的分布因此可以形成给定单元格210的直方图250。

在示例中,每个单元格210的直方图250可以在单元格210的局部组(或“块”)230中被局部地归一化。图2的示例示出了具有2×2单元格的尺寸的块230。在其他示例中,块230可以具有不同的尺寸。在此示例中,块230是具有矩形几何形状的矩形(“r-hog”)块。在其他示例中,块几何形状可以是不同的,例如每个块230可以包括圆形(“c-hog”)块。块230可以在示例中重叠,使得每个单元格210可以对最终hog描述符贡献多次。块归一化可以涉及应用诸如l1-norm、l1-sqrt、l2-norm或l2-hys的归一化因子。

可以基于来自每个块230的每个单元格210的归一化直方图的分量的级联来确定与输入图像帧200相对应的hog描述符。在示例中,在对给定图像帧执行的特征提取操作期间确定的与给定图像帧相对应的特征数据包括一个或多个hog描述符。

在这样的示例中,并且返回到以上方法100的块104,响应于所述对象检测数据的特性而修改的特征提取操作的至少一个参数可以包括图像帧200与单元格210的网格之间的偏移。例如,不是基于图像帧200的x、y像素坐标(0,0)定向单元格210的网格,而是网格可以在x和/或y轴上偏移许多像素。

在某些情况下,修改偏移包括修改许多不同的偏移,例如在给定图像帧与执行特征提取操作的多个单元格之间选择一组不同的偏移。例如,在一个方案中,特征提取操作可以在第一图像帧和第二图像帧200与单元格210的网格之间使用零的偏移,而不使用其他偏移。然而,响应于对象检测数据的特性,特征提取操作可以修改偏移并且切换到另一方案,其中一个或多个另外的帧200与单元格210的网格之间的多个偏移用于处理一个或多个另外的帧。

在示例中,至少一个修改的特征提取参数包括给定图像帧200与单元格210的尺寸(或“单元格大小”)之间的相对尺度(或“尺度比”)。例如,响应于对象检测数据的特性,可以在处理一个或多个另外的图像帧时修改单元格大小和/或帧大小。可以通过尺度因子重新缩放(例如,缩小)图像帧,使得给定单元格大小具有重新缩放的图像帧的不同区域覆盖范围。可以附加地或替代地修改单元格大小以给出相同的效果。在一些示例中,可以裁切图像帧以减小图像帧的大小,例如附加地或替代地重新缩放图像帧。响应于对象检测数据的特性对图像帧的这种裁切可以减少当对一个或多个另外的图像帧执行时在特征提取操作期间要处理的数据量。

在某些情况下,修改相对尺度包括修改许多不同的相对尺度,例如在给定图像帧与执行特征提取操作的多个单元格之间选择一组不同的相对尺度。例如,在一个方案中,特征提取操作可以使用图像帧200和/或单元格210的许多不同的尺度来处理第一图像帧和第二图像帧200。然而,响应于对象检测数据的特性,特征提取操作可以切换到另一方案,其中图像帧和/或单元格210的不同数量的尺度用于处理一个或多个另外的帧。例如,对象检测数据的特性可以包括已经以第二图像帧与所实现的单元格大小之间的给定相对尺度在第二图像帧中检测到特定对象(例如属于“狗”对象类别)的指示,所述狗在第一图像帧中未被检测到。作为响应,可以使用另外的相对尺度来在一个或多个另外的图像帧中检测对象类别“狗”。例如,可以已使用8×8像素的单元格大小检测到狗,并且可以使用7×7和9×9像素的附加单元格大小(例如来自一组预定单元格大小)来在一个或多个另外的图像帧中检测对象类别“狗”。作为另外的示例,可以以第二图像帧与所实现的单元格大小k之间的相对尺度在第二图像帧中检测人脸。作为响应,可以启用第二图像帧与所实现的单元格大小之间的k-1和k+1的相对尺度以用于处理一个或多个另外的图像帧,以检测人脸类别中的对象。此过程可以是迭代的,其中在每次迭代时响应于对象检测数据的特性而启用或者禁用另外的相对尺度。例如,可以相对于可能的相对尺度的预定超集以分级方式修改被启用(例如执行特征提取操作)的相对尺度的子集。

在一些示例中,方法100包括响应于对象检测数据的特性而修改对象检测模型的分辨率。如上所述,可以实现对象检测器(例如,分类器)来执行对象检测。对象检测器可以使用对象模型来处理特征数据以确定与对象模型相对应的类别的对象或具体对象是否存在。例如,对象检测器可以访问一个或多个对象检测(或“分类”)模型以便在对象检测过程中用于识别和/或分类特定类别中的对象。对象模型可以存在于高维特征空间中。对象检测模型的分辨率可以对应于多个单元格的部分大小,其中在对象检测操作期间在具有部分大小的部分中使用对象检测模型来处理单元格。

例如,参考图3中所示的示例性图像帧300,可以针对相对于图像帧300的预定大小的检测窗口320中的多个单元格310执行对象检测。例如,检测窗口可以具有4×3单元格的预定大小。可以在从图像帧300导出的特征空间上扫描检测窗口320,如通过图3中的方向箭头和虚线检测窗口所示,其中在每个连续的检测窗口320位置处执行对象检测操作,例如使用分类器。检测窗口320的连续位置可以被分开预定步长(或“步幅”)330,例如以像素或单元格为单位。例如,图3中所示的检测窗口320的连续位置之间的步幅在水平方向上是两个单元格310。在示例中,可以响应于对象检测数据的特性而修改检测窗口320的连续位置之间的步幅,如其在从图像帧300导出的特征空间上被扫描的。例如,可以基于特性增加或减小步幅。

可以针对检测窗口320的给定预定大小来训练给定对象检测模型,并且给定对象检测模型因此可以被认为是具有与给定检测窗口大小相对应的分辨率。在一些示例中,响应于对象检测数据的特性,与用于处理第一图像帧和第二图像帧的对象检测模型的分辨率相比较可以使用对象检测模型的不同分辨率来处理一个或多个另外的图像帧。在示例中,修改对象检测模型的分辨率可以包括为同一类别的对象选择具有不同分辨率的不同模型。例如,用于在图像中检测人脸并且具有9×11单元格的分辨率的“脸”模型可能已用于对第一图像帧和第二图像帧执行对象检测操作。响应于对象检测数据的特性,可以选择具有5×7单元格的分辨率的对应“脸”模型来对一个或多个另外的图像帧执行对象检测操作。

在某些情况下,根据对给定图像帧与单元格大小之间的相对尺度的修改来修改对象检测模型的分辨率。例如,响应于对象检测数据的特性,可以减小给定图像帧与单元格大小之间的相对尺度(例如以更小的尺度检测特征),并且可以相应地增加对象检测模型的分辨率,使得使用给定图像帧与单元格大小之间的更小的相对尺度以及对象检测模型的更高的分辨率来处理一个或多个另外的图像特征。作为替代的示例,响应于对象检测数据的特性,可以增加给定图像帧与单元格大小之间的相对尺度(例如以更大的尺度检测特征),并且可以相应地减小对象检测模型的分辨率。

在示例中,可以对对象检测模型进行分组,所述对象检测模型可以在本文中被称为“对象模型”或者简称为“模型”。例如,在对象检测操作中可用的一组模型可以包括用于给定对象类别的模型的层次。层次可以包括用于给定对象类别的主导模型,以及一个或多个从属模型。例如,与对象的“人脸”类别相对应的模型的层次可以包括与人脸的正面定向相对应的主导模型,以及与人脸的其他定向(例如侧面轮廓和/或倾斜定向)相对应的一个或多个从属模型。

在某些情况下,可以在第一图像帧和第二图像帧的处理期间启用层次的主导和从属模型,例如可用作对象检测操作的一部分。响应于对象检测数据的特性,可以禁用一个或多个从属模型以用于处理另外的图像帧。例如,模型的层次可以与对象的“汽车”类别的不同轮廓相关联。主导模型可以与汽车的正面轮廓对应,其中从属模型对应于汽车的不同侧面轮廓和定向。对象检测数据的特性可以指示例如在第一图像帧和第二图像帧中检测到的汽车已保持基本上静止,从而触发对与“汽车”类别相对应的模型的层次中的从属模型(例如左手和右手侧轮廓)的禁用,以用于处理继第一图像帧和第二图像帧之后捕获的一个或多个另外的图像帧。在一些示例中,与对象的给定类别相对应的模型的层次可以包括多于两个级别,使得可以根据层次级别对模型的启用和/或禁用进行分级。例如,可以首先启用与给定对象类别相对应的第一级模型,然后启用第二级模型,然后启用第三级模型。可以根据层次按照相反的次序禁用模型,例如先第三级然后第二级再第一级。

对象检测模型可以附加地或替代地链接到其他对象检测模型。例如,模型可以根据呈现不同模型之间的关系的结构(例如网络)彼此相关联。因此,在示例中,启用更多的对象检测模型以用于处理另外的图像帧包括根据结构来启用链接模型。作为示例,对象检测数据的特性可以指示属于对象的“人脸”类别的对象已在其位置上在第一图像帧与第二图像帧之间移动了,并且作为响应,可以启用与“人脸”相关联的附加模型,例如“人体上身”模型。可以根据结构来实现对模型的启用。类似地,可以响应于对象检测数据的特性而禁用模型。例如,可以在处理第一图像帧和第二图像帧期间启用与人检测有关的一组对象模型,例如包括“人脸”、“人体上身”和“人体下身”对象模型。响应于对象检测数据的特性,例如,未在第二帧中检测到在第一帧中所检测到的“人体上身”对象的指示,例如除了禁用“人体上身”对象模型之外,还可以禁用相关的“人体下身”对象模型以用于处理另外的图像帧。

在示例中,使模型彼此相关联的结构可以附加地指定关联的模型之间的相对尺度。例如,上述的“人脸”和“人体上身”模型可以彼此相关联并且具有指定的相对尺度,例如,尺度因子c。因此,例如,可以基于在尺度n上启用“人脸”在尺度m上启用“人体上身”模型,其中尺度m和n之比与通过结构针对那些关联模型所指定的尺度因子c有关。

在示例中,方法100包括修改用于处理所述一个或多个另外的图像帧的对象检测操作的至少一个参数,修改是响应于所述对象检测数据的特性的。在示例中,修改对象检测操作的至少一个参数可以包括选择可作为所述对象检测操作的一部分实现的一组对象检测模型,以用于处理所述一个或多个另外的图像帧。例如,如上所述,响应于所述对象检测数据的特性,可以启用或者禁用某些模型。

在一些情况下,选择可作为所述对象检测操作的一部分实现的一组对象检测模型包括基于多个对象检测模型中的一个或多个之间的链接来选择多个对象检测模型中的哪些对象检测模型是可实现的。如上所述,模型可以经由结构或网络彼此链接,并且可以根据所述结构或网络来完成对模型的选择。

在示例中,响应于对象检测数据的特性而修改的所述特征提取操作的至少一个参数包括更新速率,对应于通过特征提取操作来处理后续图像帧的速率。例如,特征提取操作可以以n帧每秒(fps)(例如10fps)的给定更新速率处理所捕获的第一图像帧和第二图像帧。响应于对象检测数据的特性,可以通过因子来修改给定更新速率,例如增加到2nfps或者减小到n/4fps,以用于处理一个或多个另外的图像帧。可以独立于图像帧的捕获速率(例如图像帧被捕获并进入图像处理流水线的速率)更新特征提取操作的更新速率。例如,可以以预定捕获速率(例如60fps)捕获图像帧,所述预定捕获速率可以是与用于捕获图像帧的传感器相关联的参数。在响应于对象检测数据的特性而修改特征提取操作的更新速率(例如从nfps到n/2fps)时,捕获速率可以保持不变或者可以独立于更新速率被修改。

在示例中,所述特征提取操作的至少一个参数被修改以响应于对象检测数据的特性而改变用于处理所述一个或多个另外的图像帧的对象检测系统的操作精度。例如,所述对象检测数据的特性可以包括已在第二图像帧中检测到对象的指示,该对象在第一图像帧中未被检测到,并且响应于所述特性可以增加对象检测的操作精度。增加对象检测系统的操作精度可以涉及以下步骤中的一个或多个:增加对象模型的分辨率;增加所实现的不同对象模型的数量;减小图像帧与单元格之间的相对尺度;增加图像帧与单元格之间的不同相对尺度的数量;减小检测窗口扫描的步幅;以及增加更新速率;如以上示例中所描述的。可以附加地或替代地响应于所述对象检测数据的特性指示在第一图像帧和第二图像帧中检测到的对象已相对于在第一图像帧和第二图像帧中表示的环境(例如固定坐标系)加速而增加对象检测系统的操作精度,如以上示例中所描述的。

在其他示例中,响应于对象检测数据的特性,可以减小用于处理一个或多个另外的图像帧的对象检测系统的操作精度。减小对象检测系统的操作精度可以涉及以下步骤中的一个或多个:减小对象模型的分辨率;减少所实现的不同对象模型的数量;增加图像帧与单元格之间的相对尺度;减少图像帧与单元格之间的不同相对尺度的数量;增加检测窗口扫描的步幅;以及减小更新速率;如以上示例中所描述的。

例如,所述对象检测数据的特性可以包括未在第二图像帧中检测到在第一图像帧中所检测到的对象的指示,并且响应于所述特性,可以减小对象检测系统的操作精度。可以附加地或替代地响应于所述对象检测数据的特性指示在第一图像帧和第二图像帧中检测到的对象已相对于在第一图像帧和第二图像帧中表示的环境(例如固定坐标系)减速而对象检测系统的操作精度,如以上示例中所描述的。在示例中,所述对象检测数据的特性可以指示对象已在第一图像帧和第二图像帧中保持基本上静止(例如已在其相对于环境的位置方面改变了不到预定阈值),并且作为响应,对象检测系统的操作精度被减小。

在示例中,修改用于处理所述一个或多个另外的图像帧的对象检测系统的操作精度包括修改用于所述处理的特征提取操作的操作精度。作为示例,对第一图像帧和第二图像帧执行的特征提取操作可以包括应用覆盖一个角度范围(例如180度或360度)的n个内核。每个内核可以具有给定几何形状,例如uxv单元格或像素。给定对象模型可以与内核的给定几何形状和/或所应用的内核的数量成比例。在一些示例中,给定对象模型可以附加地或替代地与和单元格的像素相关联的值被分组成的区间的数量(例如,如上面参考hog描述符示例所描述的区间的数量)成比例。

因此,响应于对象检测数据的特性,可以通过修改区间的数量、内核几何形状和/或其中使用的内核的数量来修改用于处理所述一个或多个另外的图像帧的特征提取操作的操作精度。在一些示例中,通过特征数据所表示的得到的特征(例如特征向量、特征图、描述符)和给定模型可以成比例地缩放。在示例中,可以响应于对象检测数据的特性而降低特征提取操作的操作精度,例如通过使用更少的区间和/或更小的内核大小。特征提取操作的操作精度的这种降低可以降低对象检测操作的精度,例如导致由对象检测系统检测到的误报的更高速率。然而,响应于另外的对象检测数据的另一个特性(例如基于对一个或多个另外的图像帧的另一个图像帧的处理来确定的),可以再次增加特征提取操作的操作精度以增加对象检测操作的准确度,例如降低由对象检测系统检测到的误报的速率。例如,可以使用更多的区间和/或更大的内核大小来增加特征提取操作的操作精度。

在图4中示意性地示出了与本文描述的方法(诸如图1的方法)一起使用的图像处理系统400的示例。图4的图像处理系统400可以耦合到或者形成计算设备的一部分,所述计算机设备例如是个人计算机、膝上型电脑、智能电话或可以耦合到或者被安装在诸如相机或车辆的装置内的板上计算机设备。

图像处理系统400可以耦合到或者包括图像传感器405。图像传感器通常包括传感器像素的阵列,所述传感器像素可以是用于捕获图像的任何适合的光电传感器。例如,典型的传感器像素包括光敏元件,例如能够将入射光转换成电子信号或数据的光电二极管。传感器像素可以例如是电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)。此示例中的图像传感器405被布置为捕获表示图像帧的图像数据。图像帧可以形成视频的一部分,所述视频通常是顺序地捕获的一系列图像帧。例如,图像帧可以对应于视频的帧。

图像数据可以表示由图像传感器405捕获的光的至少一种特性,诸如由每个传感器像素捕获的光的强度,所述强度可以与由该传感器像素捕获的光子的数量成比例。强度可以表示所捕获的光的亮度,所述亮度例如是每单位面积光的强度的量度而不是绝对强度。在其他示例中,图像数据可以表示捕获的光的亮度,所述亮度可以被认为对应于辉度的感知,所述感知可以或者可以不与辉度成比例。一般而言,图像数据可以表示可以用于表示通过图像数据所表示的图像的视觉外观的任何光度量或特性,或者可以从任何这种光度量或特性导出。图像数据可以采用任何适合的格式,例如原始图像格式。例如,图像数据可以从图像传感器405流式传输,需要或者不需要被保存到帧缓冲器,而不需要将原始图像数据保存到存储器。在这样的情况下,然而,可以将在原始图像数据的处理之后获得的图像数据写入到存储器。

在图4中,图像传感器405被布置为将图像数据转移到图像处理系统400的图像信号处理器(isp)410。图像数据到isp410的转移可以经由相机串行接口(csi)而发生。isp410可以执行图像数据的初始处理(或“预处理”)以使图像数据准备好用于显示。例如,isp410可以在预处理期间执行饱和度校正、再归一化、白平衡调节和/或去马赛克。

图4的图像处理系统400包括被配置为实现对象检测系统的至少一个处理器420。例如至少一个处理器420可以包括中央处理器单元(cpu)。在其他示例中,图像处理系统400可以包括附加或替代的处理器,例如微处理器、通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或其被设计来执行本文描述的对象检测系统的功能的任何适合的组合。图像处理系统400还可以包括或者替代地包括作为计算设备的组合(例如,dsp和微处理器的组合)、多个微处理器、结合dsp核心的一个或多个微处理器或任何其他这种配置所实现的处理器。图像处理系统400还可以或者替代地包括至少一个图形处理单元(gpu)。

图4的图像处理系统400还包括可由至少一个处理器420访问的存储装置430。在示例中,图像处理系统400可以包括动态存储器控制器(dmc),所述dmc可以用于控制对存储装置430的访问。存储装置430可以是随机存取存储器(ram),例如ddr-sdram(双数据速率同步动态随机存取存储器)。在其他示例中,存储装置430可以是或者包括诸如只读存储器(rom)的非易失性存储器或诸如闪速存储器的固态驱动器(ssd)。示例中的存储装置430可以包括另外的存储设备,例如磁、光学或磁带介质、光盘(cd)、数字多功能盘(dvd)或其他数据存储介质。存储装置430可以是从图像处理系统400可移除的或不可移除的。存储装置430例如被配置为存储表示可以从isp410接收的第一图像帧、第二图像帧和一个或多个另外的图像帧的图像数据。例如通过图像传感器405,可以继第一图像帧之后捕获第二图像帧,并且可以继第二图像帧之后捕获一个或多个另外的图像帧。

图5示出了对象检测系统500的示例,例如所述对象检测系统500可以通过图4的图像处理系统400的至少一个处理器420来实现。对象检测系统500被配置为对第一图像帧501和第二图像帧502执行特征提取操作。例如,对象检测系统500可以从图像传感器405、isp410或存储装置430获得第一图像帧501和第二图像帧502。图5的对象检测系统500包括用于执行特征提取操作的特征提取器505。特征提取器505可以被配置为确定与给定输入图像帧相对应的特征数据504。例如,特征数据504可以包括如以上示例方法中所描述的一个或多个定向梯度直方图(hog)描述符。

对象检测系统500还被配置为执行对象检测操作以产生对象检测数据,所述对象检测操作使用来自特征提取操作的特征数据504。图5的对象检测系统500包括用于执行对象检测操作的对象检测器510。对象检测器510可以被配置为基于特征数据504确定对象检测数据506。在示例中,对象检测器510包括被配置为执行对象检测操作的支持向量机(svm)。在其他示例中,对象检测器510可以包括相关向量机(rvm)、神经网络(nn)、贝叶斯分类器或k最近邻(k-nn)分类器。

返回到图4的示例性图像处理系统400,控制器440作为图像处理系统400的一部分被包括。控制器440被配置为修改例如通过特征提取器505实现的特征提取操作的至少一个参数,以用于响应于对象检测数据506的特性而处理继第一图像帧501和第二图像帧502之后捕获的一个或多个另外的图像帧503。由对象检测器510输出的对象检测数据506的示例特性在以上方法中进行了描述。类似地,还在上面描述了用于处理一个或多个另外的图像帧503的特征提取操作的参数修改的示例。

在示例中,存储装置430被配置为存储多个对象检测模型。可以将对象检测模型存储在与图像数据相同或不同的存储组件中。多个对象检测模型中的每一个均被配置为使用从给定图像帧501、502、503导出的特征数据504来检测在给定图像帧中是否存在预定对象类别或实例。对象检测系统500可以被配置为使用多个对象检测模型的子集来使用特征数据504执行对象检测操作。在一些示例中,子集包括多个对象检测模型中的所有对象检测模型。控制器440可以被配置为响应于所述对象检测数据的特性,修改在子集中用于处理所述一个或多个另外的图像帧503的对象检测模型的数量。例如,控制器440可以指示要由对象检测器510在对与一个或多个另外的图像帧503相对应的特征数据504执行对象检测操作时使用的对象检测模型的不同数量。如上所述,控制器440可以增加要由对象检测器510使用的模型的数量以增加对象检测系统500在处理一个或多个另外的图像帧503时的操作精度。替代地,控制器440可以减少要由对象检测器510使用的模型的数量以减少对象检测系统500在处理一个或多个另外的图像帧503时的操作精度。

图4的示例中的图像处理系统400的组件使用系统总线450来互连。这允许在各种组件之间转移数据。总线450可以是或者包括任何适合的接口或总线。例如,可以使用高级微控制器总线架构接口,例如高级可扩展接口(axi)。

要理解的是,关于任何一个示例所描述的任何特征可以被单独或者与所描述的其他特征相结合地使用,并且还可以与任何其他示例或任何其他示例的任何组合的一个或多个特征相结合地使用。此外,在不脱离所附权利要求的范围的情况下,还可以采用上面未描述的等同物和修改。

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