一种图像检测方法及装置的制作方法

文档序号:6613985阅读:116来源:国知局
专利名称:一种图像检测方法及装置的制作方法
技术领域
本发明涉及图4象处理技术领域,尤其涉及一种图像检测方法及装置。
背景技术
在计算机视觉和图像处理技术领域,获取图像或者视频中的人脸信息在诸 如人机交互、安全、娱乐等领域都具有重要的应用。因此,从图像中自动获取 人脸的数目、大小、位置信息的技术,即人脸检测技术,受到了极大地重视。 近年来,随着计算机视觉和模式识别技术的发展,人脸检测技术也得到了快速 的发展,逐渐趋向成熟。
现有技术中Voila提出了一种基于微结构特征(Haar-like Features)和层次型 自适应增强(Adaboost)分类器的人脸检测技术,该技术在性能上与基于向量机 (SVM)和神经网络(Neural Network)的方法相当,但是,在速度上远远高 于基于向量机和神经网络的方法,基本可以达到实时运行的水平。该方法提出 后,便得到了研究者的重视,提出了很多改进技术,并且,应用于工业界的很 多产品中。
Viola提出的人脸检测方法速度快的原因主要是两点, 一是由于采用了基 于积分图像(Integral Image)的方法计算微结构特征值,能够快速地计算出输 入图像的微结构特征值;二是由于采用了层次型Adaboost算法,该算法先采 用运算量小的层拒掉大部分容易排除的干扰,然后,采用运算量大的层处理少 量候选干扰。该方法中的采用的微结构特征如图l所示,每个微结构特征值定 义为灰色矩形区域内像素亮度(即像素灰度值)和与白色矩形区域内像素亮度 和之差。
为了快速计算出微结构特征值,Viola提出的积分图像如图2所示,积分图像在点",力处的值定义为其左上角的灰色矩形区域内的所有像素灰度值的
和,即
其中,"",力表示积分图像在点",力处的值,"x,力表示输入图像在点 "',/)处的像素灰度值。Viola采用如下迭代的方式对图像从左上角的灰色矩形 区域扫描 一遍得到积分图像
力=s(x, _y — 1) + /(x,力 //(x,力=ZT(x — 1,力+ s(x,力
其中,^",力表示x行处于y列之前(包括y)的所有像素灰度值之和,并 且,定义s"-1) = 0, //(-1,力=0。
采用积分图像可以快速求取任意矩形区域像素灰度值之和。用"^(。表示 矩形区域r的像素灰度值之和。如图3所示,根据积分图像的定义,可以根据 如下爿^式
画(D) = //(4) - //(2) - //(3) + 求取任意矩形区域D内的像素灰度值之和(A、 B、 C、 D分别表示一个阴影矩 形区域,点l、 2、 3、 4分别对应区域A,B,C,D的右下角顶点)。
为了排除光照等条件的干扰,Viola进一步釆用图像亮度方差对上述微结 构特征值进行归一化。Viola将图像亮度方差定义为
其中, W " 为亮度均值,I(i, j)为点(i, j)处的亮度值,N为输入 图像中的像素数目。图像亮度方差可以采用公式
计算,则归一化微结构特征值定义为^=/乂其中《为上述定义的微结构特
征值,即灰色矩形区域内像素亮度和与白色矩形区域内像素亮度和之差。
Viola采用对每一微结构特征构造最简单的树分类器作为弱分类器,具体 如下
u 、 fl, 如果p/((zXp/^ " 1 0 其他
其中,x为固定尺度的输入图像,^")表示该图像对应的第j个微结构特 征值,《是第j个微结构特征对应的判决阈值,^的值为l或-i,当A为l时,
判决器的判决符号为大于号,当A为-1时,判决器的符号为小于号,^x)表示 第j个弱分类器的判决输出。这样,每个弱分类器只需要一次的阈值比较就可 以完成判决。
Viola提出的层次型Adaboost分类器结构如图4所示,对于所有候选窗口 , 先采用第一层分类器进行判断,如果能通过第一层分类器,则采用第二层分类 器继续进行判断,否则,直接拒掉。同理,进行后续各层处理,将能够通过所 有分类器处理的矩形区域作为最终的人脸区域。
进一步,为了能够检测到不同大小、不同位置的人脸,Viola采用基于特 征放缩的方式进行处理。首先设定人脸检测器模型的宽度和高度分别为MW和 MH (Viola采用的MW=24, MH=24),采用割取并放缩为此尺度的人脸样本 和非人脸样本,训练层次型AdaBoost人脸检测模型。假定放缩比例为SR,则 采用特征放缩的方式放缩得到的 一 系列不同尺度的分类器的宽度和高度分别 为i OM (M^双s)和^MVZXM^双s)。其中,s为大于0的整数,ROUND()
表示对括号内的数值进行四舍五入取整运算。为了检测到不同大小的人脸,对 输入图像计算一次积分图像,然后,采用上述得到的不同尺度的人脸检测器分 别进行遍历搜索,从而检测到不同大小,不同位置的人脸,并将所有通过层次 型检测器的候选矩形添加到人脸检测队列中记录下来。
考虑到一个人脸可能会因为尺度、位移变化而对应多个检测结果,因此, 一般人脸检测算法都会采用后处理步骤来融合检测结果,使得一个人脸位置只
输出一个检测结果。同时,通过融合还能合并某些误检结果,从而减少误检率。 上述处理步骤中,已经将通过人脸检测器的人脸候选位置(称作候选人脸框) 添加到人脸检测队列中,下面需要合并交叠的候选人脸框。
每个候选人脸框对应一个矩形,对任意两个候选人脸框,首先计算两个对
应矩形区域的交叠区域面积;其次,计算交叠区域面积与两矩形区域平均面积 之比(称作交叠度)。将交叠度与阈值进行比较,如果大于阈值,则认为两个 候选人脸框交叠,为同一个人脸,否则认为没有交叠。将与某候选人脸框交叠 的所有候选人脸框与该候选人脸框合并,具体步骤包括将所有矩形的左边框 横坐标、右边框横坐标、上边框纵坐标和下边框纵坐标分别进行平均得到最终 合并矩形的左边框横坐标、右边框横坐标、上边框纵坐标和下边框纵坐标。
Viola提出的人脸检测方法虽然具有很多优点,但是该方法采用了基于特 征放缩的分类器构造方式,对于训练的比较复杂的人脸检测器,弱特征数目很 多,大概要几千个,每个弱特征需要记录两个矩形框的坐标信息,因此对内存 的需求很大。
参见图5,现有技术中基于金字塔型图像结构的图^^r测方式,为了检测 到不同尺度的人脸,对输入图像进行放缩,得到多个连续尺度的图像;然后, 采用固定大小的人脸检测器模型对其进行处理,使得在最小的图像上,可以检 测到最大的人脸,而在最大的图像上,可以检测到最小的人脸。
但是,基于金字塔型图像结构的图像检测方式,需要保存放缩得到的每个 尺度的图像;并且,需要对每个尺度的图像进行计算并保存相应的积分图像, 因此,需要的内存也很大。

发明内容
本发明实施例提供了一种图像检测方法及装置,用以减少图傳趁测的运算 量,提高图傳4全测速度,节省图^^全测所需内存。 本发明实施例提供的图像检测方法包括
根据预先设置的放缩比例,对输入图像进行放缩处理; 对当前放缩得到的图像,采用预先训练得到的物体检测器进行检测,得到 该放缩后图像的候选框位置;
对所述候选框位置进行反放缩后添加到候选队列中;
根据所述候选队列中的各个候选框位置,确定所述输入图像的物体位置。
本发明实施例提供的图像检测装置包括
放缩单元,用于根据预先设置的放缩比例,对输入图像进行放缩处理; 候选框单元,用于对当前放缩得到的图像,采用预先训练得到的物体检测
器进行检测,得到该放缩后图像的候选框位置;
反放缩单元,用于对所述候选框位置进行反放缩后添加到候选队列中; 后处理单元,用于4艮据所述候选队列中的各个候选框位置,确定所述输入
图像的物体位置。
本发明实施例,根据预先设置的放缩比例,对输入图像进行放缩处理;对 当前放缩得到的图像,采用预先训练得到的物体检测器进行检测,得到该放缩 后图像的候选框位置;对所述候选框位置进行反放缩后添加到候选队列中;根 据所述候选队列中的各个候选框位置,确定所述输入图像的物体位置。通过该 技术方案,在保证检测效果的前提下,仅需保存连续的两次放缩得到的图像, 以及当前放缩得到的图像的积分图像和平方积分图像,避免了现有技术需要保 存放缩得到的每个尺度的图像,以及需要保存每个尺度的图像的相应积分图像 和平方积分图像的操作所引起的内存占用过大的问题,因此,通过本发明实施 例提供的技术方案,节省了图像检测芯片的片内内存,减少了运算量,检测速 度也得到了提高。


图1为现有技术中Viola等提出的人脸检测技术所采用的微结构特征示意
图2为现有技术中的积分图像示意图3为现有技术中采用积分图像求取任意矩形像素灰度和的示意图,其中, 点l、 2、 3、 4分别为区域A、 B、 C、 D的右下角顶点; 图4为现有技术中的层次型人脸检测器结构示意图; 图5为现有技术中的基于金字塔型图像结构的图像检测示意图; 图6为本发明实施例提供的图像检测方法流程示意图; 图7为本发明实施例提供的微结构特征示意图8为本发明实施例提供的并行判定候选框是否能通过当前层分类器的流 程示意图9为本发明实施例提供的判定微结构特征是否有效的流程示意图。
具体实施例方式
本发明实施例,针对芯片设计的特点,从减少内存占用和简化算法运算量 的角度,以基于金字塔型的多尺度图像检测为基础,提出了一种适合于硬件实 现的图#4企测方法及装置。
本发明实施例中,以检测图像中的人脸区域为例进行说明,当然,在物体 检测领域中,人脸检测是物体检测的一个子领域,汽车检测,行人检测等其他 应用和人脸检测类似,均属于模式识别领域的两类分类技术。因此,本发明实 施例提出的方案,不仅仅适用于检测图像中的人脸区域,还可以根据实际需要 应用于检测图像中的其他类型物体所占的区域。例如,可以检测图像中的汽车 所在区域,还可以检测图像中的各个人体或动物所在的区域等等。
为了减少内存的占用,本发明实施例以基于金字塔型的多尺度图^綠测为 基础,只针对连续两次放缩后得到的图像分配内存,从而避免现有技术需要针 对连续放缩后得到的各个尺度的图像分别分配内存的问题。
本发明实施例中,将连续两次放缩后得到的两个图像中第一次放缩得到的 图像称为第一放缩后图像,将下一次放缩得到的图像称为第二放缩后图像。
下面结合附图,详细说明本发明实施例的具体实施方式

参见图6,本发明实施例提出的一种图^4企测方法包括 S601 、预先设置对输入图像进行放缩得到的图像的最大尺度。 本发明实施例中,需要对输入图像进行连续放缩,每次将输入图像缩小一
定比例,得到若干连续尺度的放缩后图像。那么,最大尺度也就是对输入图像
进行的第 一次放缩处理所得到的图像尺度。
5602、 根据所述最大尺度预先为图像分配内存,共分配四个内存,第一内 存用于存储积分图像;第二内存用于存储平方积分图像;第三内存用于存储经 过连续两次放缩得到的两个放缩后图像中的一个放缩后图像,那么,另外一个 放缩后图像存储在第四内存中。
其中,第一内存的存储量最小为最大尺度的放缩后图像的积分图像的大 小;第二内存的存储量最小为最大尺度的放缩后图像的平方积分图像的大小; 第三内存的存储量最小为最大尺度的放缩后图像的大小;第四内存的存储量最 小为第二大尺度的放缩后图像的大小,即最大尺度的次大尺度的放缩后图像的 大小,也就是对输入图像进行的第二次放缩后得到的图像的大小。
5603、 确定第一放缩后图像,其中,对于第一次放缩,则按照预先设置的 放缩比例,对输入图像进行放缩,得到第一放缩后图像,并且,将该第一放缩 后图像存储在第三内存中。
第一次放缩得到的图像的尺度为步骤S601中预先设置的最大尺度。
5604、 对第一放缩后图像进行图^4企测,确定候选框,并对候选框进行反 放缩后加入候选队列中。具体包括
步骤一对第一放缩后图像(当前放缩后图像)计算积分图像和平方积分 图像,分别存储在第一内存和第二内存中。
步骤二釆用预先训练得到的固定尺度大小的人脸4企测器对第 一放缩后图
像(当前放缩后图像)进行判定,得到候选人脸框。
步骤三根据第一放缩后图像(当前放缩后图像)的尺度和最大尺度的比
例关系,对候选人脸框的尺度进行相反放缩,得到原始尺度的候选人脸框,并 将该候选人脸框添加到人脸队列中。
5605、 按照预先设置的放缩比例,对上一次放缩得到的第一放缩后图像进 行放缩,得到第二放缩后图像,并将该第二次放缩后图像存储在第四内存中。
5606、 对第二放缩后图像进行图像检测,确定候选框,并对候选框进行反 放缩后加入候选队列中。具体包括
步骤一对第二放缩后图像(当前放缩后图像)计算积分图像和平方积分 图像,分别存储在第一内存和第二内存中,从而更新第一内存和第二内存。
步骤二采用预先训练得到的固定尺度大小的人脸检测器对第二放缩后 (当前放缩后图像)图像进行判定,得到候选人脸框。
步骤三根据第二放缩后图像(当前放缩后图像)的尺度和最大尺度的比 例关系,对候选人脸框的尺度进行相反放缩,得到原始尺度的候选人脸框,并 将该候选人脸框添加到人脸队列中。
此时的第二放缩后图像对于下一次放缩后得到的图像来说,则是第一放缩 后图像,如此循环,第三内存和第四内存不断被连续的第一放缩后图像和第二 放缩后图像更新,直到最后一次放缩得到的图像为止。其中,对于每次放缩得 到的图像所进行的图像检测都采用相同的处理方法,包括计算积分图像和平方 积分图像、采用物体检测器(人脸检测器)对放缩后图像进行判定得到候选框 (候选人脸框)、对候选框进行反放缩处理,以及将反放缩处理后的候选框添 加到候选队列(人脸队列)中等。
5607、 根据人脸队列中的候选人脸框,确定输入图像的人脸区域。 上述步骤S603到步骤S606是针对连续两次放缩得到的图像进行的处理,
第 一 内存和第二内存不断被当前放缩得到的图像的积分图像和平方积分图像 所更新占用,第三内存和第四内存则不断被连续两次放缩得到的图像所更新占 用。
本发明实施例以基于金字塔型的多尺度图像检测为基础,在内存占用上,只保存一个尺度的微结构特征,节约了大量内存。而存储积分图像和平方积分 图像占用的内存和基于特征放缩的方式相同,虽然多了 一个保存图像的内存, 但是相比微结构特征占用的内存,还是节省了很多,从而大大节省了内存,降 低了芯片成本。在运算量上,虽然基于金字塔型的检测方式比基于特征放缩的 检测方式多了图像放缩处理,但是,在相同步长的情况下,需要处理的候选框 减少了,所以速度反而会得到提高。较佳地,为了方便处理,限定人脸检测器 的步长为2个像素。
较佳地,如图4所示,人脸检测器中的每层分类器都是一个强分类器,每
个强分类器是由多个弱分类器构成的。本发明实施例预先训练得到的人脸4企测 器,在弱分类器定义方面,预先将微结构特征值定义为两个矩形区域内相同数 目的像素亮度和之差。
在弱分类器定义上,本发明实施例提出采用两个矩形区域内相同数目的像
素亮度和之差,而不是Viola提出的如图1所示的灰色区域和白色区域亮度和 之差。具体地,假定区域1和区域2的面积比为RA,则本发明实施例定义微 结构特征值为区域1的像素亮度和除以RA后与区域2的像素亮度和之差。
按照Viola的方式将微结构特征定义为灰、白两个区域Z泉素亮度和之差, 对于灰色区域和白色区域的面积不同的微结构特征(例如图1中左下角类型的 特征)而言,会造成灰色区域和白色区域的亮度和相差很大,从而得到的微结 构特征值远远偏离0值,需要用更高的位数才能够表示该值,不利于硬件的实 现。而采用本发明实施例提供的方法,作差的亮度和来自相同数目的像素的累 加,差值以零值为中心,偏离零值范围较小,表示差值时需要的数据较少,因 此更利于硬件的实现。
较佳地,本发明实施例中提出不同于图1中Viola所使用的微结构特征的 几类微结构特征形状如图7所示。图中灰色区域为基本部分,白色区域的面积 为灰色区域的面积的2的幂次倍,例如,可以为1倍、2倍或4倍,当然也可 以为其他大于4的2的幂次。具体的,对a, b类形状而言,白色区域为包含
灰色区域的整个矩形区域,灰色区域与白色区域中心重合,白色区域面积为灰
色区域面积的2的幂次倍;对于c, d, e, f类形状而言,白色区域为包含灰色 区域的整个矩形区域,灰色区域处于白色区域的一个角(左上、左下、右上或 右下),且白色区域面积为灰色区域面积的2的幂次倍;对于g类形状而言, 灰色区域和白色区域上下边框纵坐标相同,但是水平方向存在一定距离(此距 离可以为任意大于0的数),相互不交叠,白色区域面积为灰色区域的2的幂 次倍;对于h类形状而言,灰色区域和白色区域左右边框的横坐标相同,但是 垂直方向存在一定距离(此距离可以为任意大于0的数),相互不交叠,白色 区域面积为灰色区域的2的幂次倍。
假定上述微结构特征中,白色矩形区域面积为灰色矩形区域面积的2ffi , 即2的幂次为BS。那么,按照上述改进的微结构特征值定义,本发明实施例 提出的微结构特征值,可以定义为白色区域中所有像素亮度和移位BS位后与 灰色区域像素亮度和之差。这样设计的优点在于将除法运算转换为移位运算, 以简化算法,占用更少的内存。
更优的,限定对于图7中的a、 b中的微结构特征,BS-1,即白色区域面 积为灰色区域面积的2倍;对于c、 d、 e、 f中的^(鼓结构特征,BS=2,即白色 区域面积为灰色区域面积的4倍;对于g、 h中的微结构特征,BS-O,即白色 区域和灰色区域面积相同。则对于a、 b中的^毁结构特征,采用整个白色矩形 区域的像素亮度和右移 一位与灰色区域的像素亮度和之差作为微结构特征值; 对于c、 d、 e、 f中的微结构特征,采用整个白色区域亮度和右移两位和灰色区 域亮度和作差作为微结构特征值;对于g, h中的微结构特征,采用整个白色 区域亮度和与灰色区域像素亮度作差作为微结构特征值。
上述只是定义了各类微结构特征的形状和特征值计算方式,训练时,每类 微结构特征,需要按照不同位置,不同大小,在归一化的人脸4企测器大小范围 内进行遍历穷举,得到成千上万个具体的微结构特征。将上述得到的各类微结 构特征,组合在一起作为Viola提出的AdaBoost选择的候选弱特征。为了进一
步限定候选弱特征的数目,可以限定上述的矩形的大小范围,以及位置偏移步 长。
在弱分类器的构造方式上,为了提高弱分类器的分类能力,本发明实施例 采用双阈值的比较方式来构造弱分类器,每个弱分类器由两个阔值(《和《, 且《 <《)和一个极性符号(A,巧的值为1或_1 )组成,
当^为1时,分类器定义为:
力乂(,)=
时,分类器定义为 力A)
1, 如果《<《,(;0<《 0 其他
1, 如果A(;rX《或^.(力〉e) 0 其他
其中,x为固定尺度的图像,^")表示图像对应第j个微结构特征值,~(x) 表示第j个弱分类器的判决输出。
上述弱分类器的构造方式,比Viola提出的方式更加普适。当^为1,且《
为正无穷大时 ,
1,如果《〈^.UK丐转换为 0 其他
i,如果/^iV"XA,中A4的情况;当乃为L且g为负无穷小
0 其他
时,
1, 如果《
0 其他
转换为
1, 如果; /^00〈p/A 0 其他 巾
- 1的情况。也就是说本发W 情况。
一种实施方式是,对Viola中的弱分类器训练算法(train a classifier hj, which is restricted to using a single feature ),将Viola的单阈值弱分类器构造算法替换 为本发明实施例提出的双阈值弱分类器构造算法。即,对当前微结构特征,
选择A,《和《,使得该微结构特征组成的弱分类器对所有样本的加权错误率 最小。
因此,增加了候选弱分类器的可能形式,从而使得能够选择出分类能力更 强的弱分类器,从而提高强分类器乃至最终层次型分类器的性能。
较佳地,在上述步骤一中提到的计算积分图像的方式上,本发明实施例是 按照从上到下,从左到右的顺序,采用当前放缩后图像的每行像素到当前像素 的所有像素亮度和计算得到的。
Viola的方法需要额外的内存保存^",力,因此会占用WxH个s",力对应的 内存。而采用本发明实施例提出的计算积分图像和平方积分图像的方式,可以 进一步节省内存。
例如,采用rs(x,y)表示第y行到当前像素(x, y)为止(包括当前像素)的所 rs(x,y)=J^I(x',y)
有像素亮度和,即x'<a 。采用下列公式迭代计算积分图像
rs(x,y):rs(x-1 ,y)+I(x,y) II(x,y):II(x,y-1 )+rs(x,y)
现有技术采用每列像素到当前像素为止所有像素亮度和(即伞,力)来递 推计算积分图像,而本发明实施例采用每行到当前像素为止(包括当前像素)
的所有像素亮度和(即rs(x,y))来递推计算积分图像。本发明实施例在计算积 分图像时,按照从上到下,从左到右的顺序递推计算,现有技术需要保存所有 位置对应的^",力,而本发明方法只需要保存当前像素的rs(x,y),其他像素点的
rs(x,y)不需要进行保存,因此可以大大地节省内存。 具体计算积分图像的方式如下
对任意y-0,l,2…H-l及x-0,l,2…W画l,设定II(-l, y)=0, II(x, -1)=0; 对图像所有行,依y^0,l,2…H-l的顺序进行如下处理 设定rs-O表示当前行所有像素和初始为0;
对图像y行中的所有像素按照x=0,l,2...W-l的顺序进行如下处理
令rs=rs+ I(x, y);
则当前像素(x,y)的积分图像II(x,y)= II(x,y-l) +rs; 计算完第y行的积分图像后接着计算第y+1行的积分图像。 对图像的所有行处理完毕后,完成积分图像的计算。
可见,本发明实施例只需要保存一个"(x,y)对应的数据,对于一些内存要
求较高的应用,比如芯片设计,采用本发明实施例提供的方法更具优点。
对于计算平方积分图像,与计算积分图像同理。具体地,将平方积分图像
的点(x, y)处的值定义为sQInteg(x,y)=I]Ki,J)*I(i,J),则点(x, y)对应的
平方积分图像为Sqlnteg(x,y)。假定,s(x,y)表示第y行到当前像素(x,y)为止(包
sqlnteg(x,y):E I(i, j)沐I(i,j) 括当前像素)所有像素亮度平方的和,即 x<=x 。
采用下列公式计算平方积分图像
sqrs(x,y)=sqrs(x> 1 ,y)+I(x,y)*I(x,y) SqInteg(x,y):SqInteg(x,y-1 )+sqrs(x,y)。
具体计算平方积分图像的方式如下
对任意y-0,l,2…H-l及x-0,l,2…W-l,设定Sqlnteg(-1 , y)-0, Sqlnteg(x, -1)=0;
对图像所有行,依"0,1,2…H-1的顺序进行如下处理
设定sqrs-O表示当前行的所有像素和的初始值为0;
对图像y行中的所有像素依x=0,l,2...W-l的顺序进行如下处理
令sqrs=sqrs+ I(x,y)* I(x,y);
则当前像素(x,y)的平方积分图像Sqlnteg (x,y)= Sqlnteg (x,y-l) +sqrs;
计算完第y行的平方积分图像后接着计算第y+i行的平方积分图像。 对所有行处理完毕后,完成平方积分图像的计算。
Viola训练的人脸检测器的尺度为24x24,为了计算方便,本发明实施例采
用2的幂次作为预先训练得到的人脸检测器的固定尺度(包括宽和高)。采用
公式 和 计算归一化系数时,需要进行除法
运算,即除以N, N为该固定尺度的图像中所有像素数目和。而本发明实施例 将人脸检测器的宽和高都取为2的幂次,可以将除法运算转换为移位运算,从 而大大节省了计算量。其中,高度和宽度可以相同,也可以不同。
对于人脸检测技术而言,由于采用不同尺度的人脸检测器进行全图范围内 的搜索,常常会在同一个真实人脸位置附近检测到多个候选人脸框,所以需要 进行合并操作。
较佳地,上述步骤三中提到的将反放缩后的候选人脸框添加到人脸队列 时,自动进行候选人脸框的合并操作,以节省保存人脸队列所需要的内存。
本发明实施例初始化人脸队列为空,将候选人脸框添加到人脸队列时,具 体包括
判断人脸队列是否为空,如果是,则直接将反放缩后的候选人脸框(以下 称为添加人脸框)添加到人脸队列;否则,判断该候选人脸框是否和人脸队列 中已保存的候选人脸框(以下称为记录人脸框)相似,如果与某个记录人脸框 相似,则将二者合并,否则,将添加人脸框作为新的记录项添加到人脸队列中。
较佳地, 一种判定添加人脸框和记录人脸框是否相似的方法是当两个矩形 框的大小相近且位置交叠时,认为二者相似。
例如,假设待添加的候选人脸框表示为W(",7^^^,7^^^),其中,i
表示待添加的候选人脸框的左边框横坐标,7表示待添加的候选人脸框的上边
框纵坐标,^^^么表示待添加的候选人脸框的宽,77^必、表示待添加的候
选人脸框的高。假定人脸队列中,第m个记录人脸框为"^(人t^,&),其中, 1为记录人脸框的左边框横坐标,t为记录人脸框的上边框纵坐标,wd为记录 人脸框的宽,ht为记录人脸框的高。 一种判定二者大小是否相近的方法如下
如果满足 TM^" ,则认为二者相近,否则,认为
二者不相近。其中ENLARGE0和ENLARGE1分别为相近宽度比例区间的上 限和下限。
一种判定二者的位置是否交叠的方式如下
令 (.二max(/,/) ,(二maxCZ,O ,《.=min(7' + r恥b^,7 + M/), 夂=minC/ + 7Fe^^〕 + &),则交叠面积为= (/} —_。,人脸队列
中第m个记录人脸框的矩形区域面积为^e《二M"血,则如果满足
^《 ,认为二者位置交叠,否则,认为二者位置不交叠。其中,
ENLARGE2为阈值,min表示取最小值,max表示取最大值。
将两个大小相近且位置交叠的矩形区域合并的操作,即将添加人脸框的信 息和人脸队列中的相似的记录人脸框的信息进行融合,作为新的记录人脸框。 一种可行的合并方式为将添加人脸框和记录人脸框的左边框横坐标、上边框 横坐标、宽度、高度分别取平均作为新的记录人脸框的左边框横坐标、上边框 横坐标、宽度、高度。
在上述合并处理完成后,较佳地,步骤S607中根据人脸队列中的候选人 脸框确定输入图像上的人脸区域位置时,具体包括判断人脸队列中任意两个 记录人脸框之间是否存在位置上的包含关系(即一个矩形框处于另外一个矩形 框中),如果存在包含关系,则删除置信度小的记录/v脸框,如果置信度相同, 删除面积小的记录人脸框。将经过上述合并操作和删除操作后,保存在人脸队 列中的记录人脸框的位置作为最终检测到的输入图像上的人脸框位置。
一种判定两个记录人脸框是否存在包含关系的方法包括
假定两个记录人脸框分别为K"^,的和&W,W,幻,则二者 交叠矩形框的左边框横坐标、上边框纵坐标、右边框4黄坐标、下边框纵坐标分
另'j 为 . <formula>formula see original document page 19</formula>或
(==^" ==(/'+^n,《'==a'+w'),则认为二者存在包含关系。
上述人脸框的置信度可以定义为该人脸框在合并过程中合并的所有添加 人脸框的数目。
较佳地,为了减少归一化处理时的除法运算量,在对归一化后的^f效结构特 征值和阈值进行比较时,可以将阈值和归一化参数相乘作为新的阈值,将没有 进行归 一化后的微结构特征值与新的阈值进行比较,可以达到同样的判定结 果,但是却将运算量大的除法转化为了运算量小的乘法。
较佳地,芯片设计中,可以采用分配更多的运算单元的方式加速处理。此
时,需要将运算进行并行化和流水线处理。具体如下
计算积分图像和平方积分图像的过程可以和图像放缩的过程并行处理;进 一步,还可以和图像采集和其他图像处理过程并行处理。
积分图像和平方积分图像在运算上是相互独立,无时间上的先后关系,因 此可以并行处理,针对每行的放缩后图像,读取或计算得到该行图像的每个像 素点的亮度值;并行迭代计算积分图像和平方积分图^f象,得到该行图像对应的 积分图像和平方积分图像。
为了提高处理速度,本发明实施例在计算完成部分的积分图像和平方积分 图像后,就开始验证完全处于已经计算得到的积分图像范围内的矩形框是否为 候选人脸框,即对候选框的验证过程和积分图像及平方积分图像的计算过程是 并行的,而不是等待放缩后图像的积分图像和平方积分图像全部计算完毕后, 再进行候选框的验证过程。
例如,用7Fe&加表示人脸检测器的高度,在对放缩后图像完成了 k行的积 分图像和平方积分图像的计算后,判断人脸检测器的高度是否满足公式
服她<1
如果满足上述公式,则在计算放缩后图像的下面各行的积分图像和平方积
分图像时,同时验证下边框纵坐标为k-l,横坐标为0: W-7^e&力"宽度和高度
均为7Sfe^^的所有矩形框是否为候选框。同理,待k+^^"行的积分图像和平 方积分图像计算完成后,再在继续计算放缩后图像的下面各行的积分图像和平
方积分图像的同时,验证下边框纵坐标为k-l+^氛,横坐标为o: w-r他&力/的 所有矩形框是否为候选框。
这样,对底部在不同行的各个候选框的验证过程和积分图像及平方积分图 像的计算过程就实现了并行处理。
当然,也可以采用其他方式进行处理,例如,每计算一行的积分图像和平
方积分图像,就进行一次判断,判断是否满足公式r他必z 如果满足,则 进行候选框的验证过程。
在判定候选框是否为人脸框时,需要采用层次型的分类器对该候选框进行 逐级判定。各层分类器的处理有先后顺序,但是可以采用流水线结构对各个候
选框进行处理,以提高对候选框验证的速度,具体包括
对于层次型的分类器的每层分类器都设置一套独立的运算单元,用以对不 同候选框进行流水线处理。
例如第1个候选框先占用第0层运算单元,当第0层运算单元处理完第 l个候选框时,第2个候选框开始占用第0层运算单元,当第0层运算单元处 理完第2个候选框时,第3个候选框开始占用第0层运算单元。同样,第l个 通过第O层运算单元判定的候选框会占用第l层运算单元,处理完成后,则下 一个通过第O层运算单元判定的候选框会占用第1层运算单元。因此,共需要 CascNum套运算单元,其中,CascNum表示分类器的总层数。但是,在实际 应用中,如果认为这样做需要的硬件资源过多,可以部分采用这种方式。例如, 考虑到前面各层分类器需要处理的候选框比较多,而后续各层分类器处理的候 选框较少,可以在前面各层分类器分配较多的运算单元,后面各层分类器分配较少的运算单元。
较佳地,还为各层分类器设置相应的候选框数据结构队列(FIFO),用于 记录候选框的坐标信息等,例如包括候选框的左边坐标、上边坐标,候选框所
在尺度的序号,以及归一化参数(stdDev)。各层分类器的判定模块,读取相 应的FIFO中的候选框的坐标信息,并根据尺度序号,获取对应尺度的分类器 参数,对该候选框进行判定。
在第O层分类器中需要求取归一化参数,并将归一化参数记录在第0层的FIFO 中,并依次传递给后续各层的FIFO,以便后续分类器的使用。
例如,判定人脸检测器的高度小于或等于2k+l,并将该尺度的当前行所有 候选框添加到第O层分类器的FIFO中,具体而言,对于所有可能的左边框4黄
坐标,即i = 0; i<= maxx; i+二0^4 ,其中maxx = W-r恥bto ,将当前候选框
W(/, 21 +1 — 7Fe&力/ , r附b^ , 7Fe/i^ )添加到第0层分类器的FIFO中。其中,/表 示候选框的左边框4黄坐标,21 +1 - 7F&&表示候选框的上边框纵坐标,7附淑 表示候选框的宽,7Fe&力/表示候选框的高。
在验证候选框的具体步骤中,假定在固定尺度的人脸检测器中,当前层分
类器包含weakWum油邻^^"个微结构特征,则这些微结构特征之间相互独立, 只共享积分图像内存和归一化参数。因而,为了进一步提高验证速度,可以采
用并行处理方式,并行计算不同微结构特征值,计算完毕再求和,如图8所示。 较佳地,具体在计算某个微结构特征时,求取两个矩形区域的亮度和,以 及计算阈值的步骤也可以并行处理,如图9所示。较佳地,可以设置一个硬件
单元用于计算矩形区域亮度和。
进一步,在计算归一化参数方面,也可以进行并行处理,同时对积分图像 和平方积分图像进行相关运算,得到归一化参数。
下面介绍 一 下本发明实施例提供的装置。
本发明实施例提供的图像检测装置包括
放缩单元,用于根据预先设置的放缩比例,对输入图像进行放缩处理。 候选框单元,用于对当前放缩得到的图像,采用预先训练得到的物体检测
器进行检测,得到该放缩后图像的候选框位置。
反放缩单元,用于对所述候选框位置进行反放缩后添加到候选队列中。 后处理单元,用于根据所述候选队列中的各个候选框位置,确定所述输入
图像的物体位置。
综上所述,通过本发明实施例提供的技术方案,在保证图像检测效果的前 提下,简化图像检测算法,提高了图像检测速度,降低图像检测芯片的内存占 用,从而更加适合于硬件实现,降低产品成本。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种图像检测方法,其特征在于,该方法包括根据预先设置的放缩比例,对输入图像进行放缩处理;对当前放缩得到的图像,采用预先训练得到的物体检测器进行检测,得到该放缩后图像的候选框位置;对所述候选框位置进行反放缩后添加到候选队列中;根据所述候选队列中的各个候选框位置,确定所述输入图像的物体位置。
2、 根据权利要求1所述的方法,其特征在于,该方法还包括 预先设置对输入图像进行放缩后得到的图像的最大尺度,对所述输入图像进行第 一次放缩处理后得到的图像的尺度为所述最大尺度。
3、 根据权利要求1所述的方法,其特征在于,预先为放缩后得到的图像 分配两个内存;将连续两次放缩中的在先放缩得到的第 一放缩后图像存储在一个内存 中;将在后放缩得到的第二放缩后图像存储在另 一 内存中。
4、 根据权利要求1所述的方法,其特征在于,根据预先设置的放缩比例, 对上一次放缩得到的图像进行放缩,得到所述当前放缩得到的图像。
5、 根据权利要求1所述的方法,其特征在于,对当前放缩得到的图像, 采用预先训练得到的物体检测器进行检测,得到该放缩后图像的候选框位置的 步骤包括并行计算当前放缩得到的图像的积分图像和平方积分图像; 根据预先训练得到的物体检测器,通过所述积分图像和平方积分图像得到微结构特征值,并且根据所述微结构特征值,确定所述当前放缩后图像的候选氺匡位置。
6、 根据权利要求5所述的方法,其特征在于,所述积分图像和/或所述平 方积分图像是按照从上到下,从左到右的顺序,釆用所述当前放缩得到的图像 的每行像素到当前像素的所有像素亮度和计算得到的。
7、 根据权利要求1所述的方法,其特征在于,所述物体检测器的宽和高 的值是2的幂次。
8、 根据权利要求1所述的方法,其特征在于,对所述候选框位置进行反 放缩后添加到候选队列中的步骤包括根据待添加的所述反放缩后的候选框的大小和位置,以及已被添加到候选 队列中的候选框的大小和位置,判断所述待添加的候选框是否与所述已添加的 候选框相近,如果是,则将相近的候选框合并,并将被合并的候选框的个数作 为合并后的候选框的置信度;否则,将所述待添加的候选框加入所述候选队列中。
9、 根据权利要求8所述的方法,其特征在于,根据所述候选队列中的各 个候选框位置,确定所述输入图像的物体位置的步骤包括当所述候选队列中的一候选框包含于另 一候选框时,将置信度较小的候选 框删除;当置信度相同时,删除面积较小的候选框;将经过所述合并和删除处理后的候选队列中剩余的候选框的位置确定为 所述输入图像上的物体位置。
10、 一种图像;险测装置,其特征在于,该装置包括放缩单元,用于根据预先设置的放缩比例,对输入图像进行放缩处理; 候选框单元,用于对当前放缩得到的图像,采用预先训练得到的物体检测器进行检测,得到该放缩后图像的候选框位置;反放缩单元,用于对所述候选框位置进行反放缩后添加到候选队列中; 后处理单元,用于根据所述候选队列中的各个候选框位置,确定所述输入图像的物体位置。
全文摘要
本发明实施例提供了一种图像检测方法及装置,用以减少图像检测的运算量,提高图像检测速度,节省图像检测芯片内存。本发明提出的一种图像检测方法,包括根据预先设置的放缩比例,对输入图像进行放缩处理;对当前放缩得到的图像,采用预先训练得到的物体检测器进行检测,得到该放缩后图像的候选框位置;对所述候选框位置进行反放缩后添加到候选队列中;根据所述候选队列中的各个候选框位置,确定所述输入图像的物体位置。本发明用于图像检测,降低图像检测占用的芯片内存,从而更加适合于硬件实现,降低产品成本。
文档编号G06K9/00GK101178770SQ20071017924
公开日2008年5月14日 申请日期2007年12月11日 优先权日2007年12月11日
发明者青 俞, 温小勇, 浩 王, 邓中翰, 邓亚峰, 嵩 邱, 霍晓芳, 英 黄 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1