用于提供图像分类器的系统和方法技术方案

技术编号:19397073 阅读:32 留言:0更新日期:2018-11-10 05:07
提供了用于使用定向梯度直方图(HoG)与训练器结合进行图像分类的系统和方法。通过首先建立将HoG窗口中的像素子集识别为包括相关的前景信息的位图,并且将HoG计算和比较过程限制为仅包括在位图中的像素,大大增加了过程的效率。

【技术实现步骤摘要】
【国外来华专利技术】用于提供图像分类器的系统和方法
本申请总体上涉及计算机视觉处理,并且更具体地涉及高效图像分类。
技术介绍
计算机视觉领域通常要求被训练用于检测诸如面部和人之类的对象的分类器,考虑到实现与人和真实世界对象交互的应用。存在各种分类器,因为计算机视觉研究人员一直在寻求更加资源高效的方法来准确定位和识别图像中的各种对象。图1中所描述的一种识别特定类的对象的已知方法使用定向梯度直方图(HoG)与训练图像和学习系统结合。HoG已被用于针对各种背景来检测人类,以及面部、动物、车辆和其他对象。由于HoG使用相对紧凑的参考描述符,因此其已成功用于实时分类流视频中的对象。它也被证明能够在存在旋转、缩放和照明条件方面变化的情况下实现鲁棒检测。图1示出了本领域已知用于使用HoG与支持向量机(SVM)算法结合——在本领域合适地称为HoG/SVM——对图像中的对象进行分类的过程100。所描述的过程使用由Dalal和Triggs在其2005年所著的以下文章中识别的参数:“Histogramsoforientedgradientsforhumandetection,InternationalConferenceonComputerVisionandPatternRecognition,第2卷,第886-893页,2005年6月,其通过引用整体并入本文。首先,针对特定单元内的每个像素计算梯度值(图1中的步骤102)。如示出该过程的图2所示,将所定义的矩形HoG检测窗口202应用于图像的一部分,这将像素划分为离散单元204。例如,HoG单元204可以包括在每一侧上8个像素,总计每个单元204有64(8乘8)个像素,但是在一些实现方式中可以选择更大或更小的单元尺寸。对于每个单元204,计算梯度的幅值和取向。可以应用各种滤波器来计算这些值。例如,作为一个实现方式,梯度的幅值|G|可以根据其相邻像素的强度值给出:|G|=|Gx|+|Gy|=|Gx+1-Gx-1|+|Gy+1–Gy-1|。并且,取向θ可以根据水平强度x和垂直强度y的正切给出:θ=arctan(|Gy+1–Gy-1|/|Gx+1-Gx-1|)为了创建直方图,取向角θ被分解成若干个区间(bin)。在这个示例中,0°到180°的范围被分解成9个区间,每个区间为20°。将每个强度值|G|添加到与其取向角θ相关联的区间中(图1中的步骤104)。所得到的HoG单元描述符(如图2中的206所示)具有9个值,每个值的最小值为零并且最大值为最大像素强度值的128倍。然后基于四个单元的每个2乘2区块208,将单元描述符206中的每个聚合为区块描述符210(图1中的步骤106)。因为使用单元的每个区块208,所以不在窗口202的边缘上的单元204将出现在四个不同的区块208中,并且因此其描述符206将包括在四个不同的区块描述符212中。根据该区块中的描述符对每个区块描述符210进行归一化(图1中的步骤108),每个区块描述符210包括区块208中的四个单元204中的每个单元的描述符206。可以使用各种归一化算法,其中许多在上面引用的Dalal和Triggs于2005年所著的文章中进行讨论。该过程的结果是针对每个区块208的归一化区块描述符212,即表示每个区块36个数据元素的一组直方图数据。因为归一化取决于特定区块描述符210中的四个描述符206的值,所以与特定单元206相关联的归一化值在包括该单元的每个归一化区块描述符212中可以不同。对于64乘128像素窗口202,表示归一化区块描述符212的完整HoG描述符214包括105个归一化直方图数据区块:总计3780个数据值。该完整描述符214被馈送到先前根据相同参数来评估训练图像的SVM分类器(图1中的步骤110)。训练图像可以是针对被评估对象的训练数据的任何适当集合,例如,Dalal和Triggs于2005年所著的文章中描述的MIT和INRIA图像数据集。可以使用其他公开可用或专有的训练图像。通过重复地在所示示例中跨64个像素宽乘128个像素高的窗口步进、跨源图像帧并且如前一部分阐述地计算HoG描述符来执行HoG计算。由于HoG计算不包含内在的比例感,并且对象可以在图像内以多个比例出现,因此HoG计算跨比例金字塔的每个级别步进,并且跨比例金字塔的每个级别重复。图3示出了跨比例金字塔306的每个级别304步进的窗口302。每个级别304表示正被扫描的图像的进一步缩小的副本。比例金字塔中的每个级别之间在一个级别与下一级别之间的缩放因子通常是1.05或1.2。图像被重复缩小,直到缩放后的源帧不再能够容纳完整的HoG窗口。缩放金字塔中像素数量的闭合形式由基于s的表达式给出。s是比例金字塔中像素总数的比例乘数:α是金字塔级别之间使用的缩放因子。m=log(W/H)/log(α),其中W和H是相应的输入图像/视频帧的宽度和高度。因此,在比例金字塔中要考虑的像素总数是s*W*H。如图2中可以看出并且在上面的计算中示出的,针对图像中7乘154乘4区块中的每个使用9D直方图的系统的HoG描述符针对在即将到来的图像中进行检查的每个64乘128窗口产生3.78kB描述符。用于训练这种分类器的图像典型地是矩形的,作为用于捕获图像的2D图像传感器阵列的副产物。除此之外,简单地跨矩形源图像步进矩形描述符并求卷积来检测匹配,并且很容易了解为什么该范例已经扎根。虽然一些对象(例如,家具)可能事实上是正方形或矩形的,但大多数在分类中感兴趣的对象不易于用简单的几何形状来表示。因此,矩形参考图像与这些对象的匹配较差。事实上,使用矩形参考图像意味着必须进行大量的附加工作来对与匹配任务无关的像素求卷积,并且此外这些像素意味着感兴趣对象周围的背景中的一些被混叠到用于匹配图像的描述符中,从而混淆和降低匹配操作的准确性。每个HoG数据集的计算成本非常高。Dziri、Chevobbe和Darouich在其2013年所著的文章“Gesturerecognitiononsmartcamera”,CEALIST–EmbeddedComputingLaboratory,2013年中做出了一个估计。例如,将HoG应用于42乘42像素的感兴趣区域需要以下操作:11664次加法、1296次乘法、5200次除法、16次平方根和5184次反正切。该计算需要许多昂贵且复杂的数学运算,例如,除法、平方根和反正切,这需要多个周期来以软件在传统顺序处理器上实现。计算还需要大量更常见的数学运算,如加法和乘法,这些运算典型地在一个时钟周期那么短内执行。计算成本因以下事实而复杂化:通过步进HoG模板来执行蛮力搜索以在整个图像上进行比较取决于输入图像的分辨率而在计算上更昂贵。此外,在可能在一定距离范围处看到对象的场景中,通常需要搜索不同大小的候选窗口,这进一步增加计算成本。HoG/SVM是非常昂贵的操作。从改变比例因子到修改HoG窗口跨缩放后的源图像步进的区块大小的许多优化都可以用来修整搜索空间,从而限制计算工作量。这些因素相结合意味着鲁棒的实时HoG仅限于非常高规格的桌面系统,这些桌面系统经常会将计算卸载到高性能通用处理单元(GPU)。这使得功率成本远远超出了诸如手机、平板电脑和移动机器人之类的移动设备的界限。本文档来自技高网...

【技术保护点】
1.一种用于图像分类的计算机实现的方法,包括:根据一组训练图像生成表示图像窗口的相关部分的非矩形轮廓;根据所述轮廓生成识别少于矩形检测窗口内所有单元的非矩形位图,所述矩形检测窗口具有预确定的单元宽度和预确定的单元高度;接收用于分类的图像,所述图像包括一单元宽度和一单元高度;将所述矩形检测窗口应用于所述图像中的具有所述矩形检测窗口的所述单元宽度和所述单元高度的部分,其中,应用所述检测窗口包括识别所述图像部分内的与所述非矩形位图的已识别单元匹配的单元;针对所述图像部分内的所述已识别单元中的每个已识别单元,生成所述单元内的像素的取向的直方图;建立重叠的单元区块,每个单元区块具有来自所述图像部分的多个连续的已识别单元;针对每个单元区块生成描述符,所述描述符包括所述单元区块中的所述已识别单元中的每个已识别单元的直方图,其中,所述描述符内的每个直方图被归一化到所述描述符内的所有直方图;以及针对所述一组训练图像评估所生成的描述符,以便确定是否将所述图像部分识别为包括与所述一组训练图像相关联的对象类别。

【技术特征摘要】
【国外来华专利技术】2015.12.17 US 14/973,2721.一种用于图像分类的计算机实现的方法,包括:根据一组训练图像生成表示图像窗口的相关部分的非矩形轮廓;根据所述轮廓生成识别少于矩形检测窗口内所有单元的非矩形位图,所述矩形检测窗口具有预确定的单元宽度和预确定的单元高度;接收用于分类的图像,所述图像包括一单元宽度和一单元高度;将所述矩形检测窗口应用于所述图像中的具有所述矩形检测窗口的所述单元宽度和所述单元高度的部分,其中,应用所述检测窗口包括识别所述图像部分内的与所述非矩形位图的已识别单元匹配的单元;针对所述图像部分内的所述已识别单元中的每个已识别单元,生成所述单元内的像素的取向的直方图;建立重叠的单元区块,每个单元区块具有来自所述图像部分的多个连续的已识别单元;针对每个单元区块生成描述符,所述描述符包括所述单元区块中的所述已识别单元中的每个已识别单元的直方图,其中,所述描述符内的每个直方图被归一化到所述描述符内的所有直方图;以及针对所述一组训练图像评估所生成的描述符,以便确定是否将所述图像部分识别为包括与所述一组训练图像相关联的对象类别。2.根据权利要求1所述的方法,还包括:将所述图像重新缩放到不同的单元宽度和不同的单元高度;以及将所述矩形检测窗口应用于所重新缩放的图像中的具有所述矩形检测窗口的所述单元宽度和所述单元高度的部分。3.根据权利要求1所述的方法,其中,生成所述非矩形轮廓包括一个或者:对所述一组训练图像取平均,应用计算机视觉算法,或者应用深度学习,以确定所述图像窗口的相关部分。4.根据权利要求1所述的方法,其中,生成所述非矩形轮廓包括:针对来自所述一组训练图像的每个训练图像确定每个位置中所有像素的强度值;使针对来自所述一组训练图像的每个位置的所述所有像素的强度值相加以生成结果值;以及使针对来自所述一组训练图像的每个位置的所述结果值除以来自所述一组训练图像的训练图像的数量。5.根据权利要求1所述的方法,其中,针对所述图像部分内的所述已识别单元中的每个已识别单元生成所述单元内的像素的取向的直方图包括:计算梯度,每个梯度具有幅值和对应取向;将每个对应取向与多个区间中的一个区间进行关联;以及将每个幅值添加到所述多个区间中的与所述对应取向相关联的所述一个区间。6.根据权利要求1所述的方法,其中,每个单元区块包括来自所述图像部分的二乘二的所述连续的已识别单元。7.根据权利要求1所述的方法,其中,针对每个单元区块生成描述符包括级联所述单元区块中的所述已识别单元中的每个已识别单元的直方图。8.根据权利要求1所述的方法,还包括确定所述对象类别是以下中的一个:人;面部;非矩形几何形状;或者非几何形状。9.一种用于图像分类的计算设备,包括:存储器,其被配置为存储一组训练图像、表示来自所述一组训练图像的图像窗口的相关部分的非矩形轮廓以及识别少于矩形检测窗口内所有单元的非矩形位图,所述矩形检测窗口具有预确定的单元宽度和预确定的单元高度;硬件加速器,其耦合到所述存储器,所述硬件加速器被配置为:接收用于分类的图像作为输入,所述图像包括一单元宽度和一单元高度,通过识别图像部分内的与所述非矩形位图的已识别单元匹配的单元,将所存储的矩形检测窗口应用于所述图像中的具有所述矩形检测窗口的所述单元宽度和所述单元高度的部分,针对所述图像部分内的所述已识别单元中的每个已识别单元,生成并且存储所述单元内的像素的取向的直方图,以及建立重叠的单元区块,每个单元区块具有来自所述图像部分的多个连续的已识别单元;以及处理器,其耦合到所述硬件加速器和所述存储器,所述处理器被配置为:针对每个单元区块生成描述符,所述描述符包括所述单元区块中的所述已识别单元中的每个已识别单元的直方图,其中,所述描述符内的每个直方图被归一化到所述描述符内的所有直方图,以及针对所存储的一组训练图像评估所生成的描述符,以便确定是否将所述图像部分识别为包括与所述一组训练图像相关联的对象类别。10.根据权利要求9所述的计算设备,其中,所述硬件加速器还被配置为:将所述图像重新缩放...

【专利技术属性】
技术研发人员:D·莫洛尼A·德加尼
申请(专利权)人:线性代数技术有限公司
类型:发明
国别省市:爱尔兰,IE

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

1