具体实施方式
下面,将参照附图详细说明本发明的实施例。本发明采用了增量学习的方法。图3示出了增量学习在人脸检测框架中的位置。如图3所示,在整个人脸检测框架中,增量学习扮演着“离线训练的有益补充”这一角色。由于离线训练过程所采用的训练样本(“人脸图片”以及“背景图片”)不可能覆盖所有的应用条件,因此在实际的在线检测过程中,经常会出现漏检和误报。尤其在一些特殊的环境条件下(例如光照很差、面部出现明显的遮挡等等情况),离线训练得到的检测器往往无法达到令人满意的检测精度。因此,本文提出了增量学习的方法,利用终端用户在线检测过程中收集得到的漏检和误报,对当前的人脸检测器进行快速而有效地调整,使其更好地适应这一特殊的应用环境,同时保有检测器原有良好的推广性能,仍然能够用于一般条件下的人脸检测问题。和耗时耗力的离线学习过程不同,检测器的增量学习过程只需要消耗终端用户很少的计算资源(包括计算时间和存储空间两方面),因而可以广泛地应用于各种人脸检测平台和设备之上。
应该注意,尽管在本文中以人脸检测为例说明本发明的特定被摄体检测方法和检测装置,但应该注意的是,本发明所述的特定被摄体也可以是人脸以外的事物,例如汽车、特定动物等等。
图4示出了依据本发明一个实施例的特定被摄体检测装置10的功能框图。如图4所示,根据本发明的一个实施例的特定被摄体检测装置(在下文中,为了理解的方便,也称为人脸检测装置)10包括:切换单元(切换装置)11,用于切换所述特定被摄体检测装置的模式状态,使所述特定被摄体检测装置在检测模式和学习模式之间互换;输入单元12,用于在所述切换单元11将所述特定被摄体检测装置10的模式状态切换到检测模式时输入待检测的图像,在所述切换单元11将所述特定被摄体检测装置10的模式状态切换到学习模式时输入增量学习用的数据,即输入增量学习样本(此时,该输入单元也称为增量样本输入单元);一个或更多个强分类单元14,用于对所述图像进行强分类,各所述强分类单元包括一个或更多个弱分类单元18,所述弱分类单元18用于对所述图像进行弱分类;存储单元15,存储所述弱分类器18所使用的弱分类模板和/或所述强分类器14所使用的强分类模板;判断单元16,根据所述强分类单元的分类结果,对所述图像是否包含所述特定被摄体进行判断;以及学习单元13,用于在所述切换单元11将所述特定被摄体检测装置10的模式状态切换到学习模式时,根据所述增量样本输入单元12输入的增量学习样本,更新所述存储单元所存储的所述模板。为了简洁,在图中仅示出了一个强分类器。
需要注意的是,在图4所示的框图中,学习单元被并入检测装置(检测器)10中,作为检测装置的一个模块,但在另选的实施例中,学习单元也可以与检测装置10的其他模块分立。在这种情况下,可以在学习模块与检测装置10相连接时,就进行增量学习,此时,可以省略切换单元11。
另外,在本文中,根据上下文,“待检测的图像”即可以指待辨别的图像整体,也可以指经过检测器预处理(如窗口处理等)之后要由弱分类器进行处理的图像或图像块。
在本发明中,增量学习样本是用户收集来的少量的漏检和误报。这些漏检和误报可以来自该检测装置自身,也可以来自与该检测装置相同的其他检测装置。在所述漏检和误报来自该检测装置自身的情况下,所述增量样本输入单元可以包括记录单元,用于记录在该检测装置运行中漏检或误报的图像。在所述漏检和误报来自其他检测装置的情况下,该检测装置可以通过网络(如互联网、内部网、局域网等)接收这些数据、或者可以通过磁盘、CD、VCD、DVD、闪存等介质来接收这些漏检或误报,在这种情况下,所述增量样本输入单元可以包括接收单元,用于接收来自所述其他检测装置在运行中漏检或误报的图像。显然,输入单元可以是所述的登记单元和接收单元两者。
在本发明中,所述一个或更多个强分类单元可以按瀑布模式连接也可按矢量树模式连接。图5示出了强分类单元的瀑布模式连接和矢量树模式连接的示意图。因而,根据上下文,对强分类单元的更新、训练也可能就是指对组成该强分类单元的弱分类单元的更新、训练。另外,根据上下文,对强分类单元的描述也就是对弱分类单元的描述。在这样的上下文中,这样的描述不会引起本领域技术人员混淆或误解。
图6示出了弱分类单元18的功能框图。如图6所示,所述弱分类单元18包括子区间判定单元181,用于将输入的样本划分到实例空间中的一系列互不相交的子区间中的一个;弱分类确定单元182,用于根据所述子区间判定单元的判定结果,根据子区间弱分类模板对所述样本进行弱分类。所述子区间判定单元181包括特征提取单元1811和空间映射部1812。优选的是,特征提取单元1811提取输入的对象的稀疏粒度特征,当然也可以提取其他的特征。而空间映射部1812则利用分段线性函数根据所述特征提取单元1811所提取的特征将所述输入的对象映射到实例空间划分出的若干互不相交的子区间。当然也可以不采用分段线性函数,而采用其他的函数,在本实施例中,只要满足区域分割弱分类器的要求即可。即,在本发明中,上述的稀疏粒度特征结合分段线性函数只是一个示例。弱分类确定单元182用于利用子区间弱分类模板根据子区间判定单元181的判定结果对所述输入的对象进行弱分类。后文将更详细地描述弱分类器的操作。
所述存储单元15存储所述子区间弱分类模板;所述学习单元13根据所述输入单元12输入的增量学习样本,更新所述存储单元所存储的各所述子区间弱分类模板。
在本发明中,子区间弱分类模板可以是二维表(分类表)、函数等,可以采用本领域技术人员所熟知的各种形式,只要利用其可以根据空间映射部1812的映射结果(可以是子区间的索引、名称等)对待检测的对象进行分类即可。
图7示出了依据本发明的一个实施例的学习单元的功能框图。如图7所示,依据本发明的一个实施例的学习单元13包括:优化程度计算部131、判断单元132、优化参量更新单元133、模板更新单元134、以及增量学习样本集合更新单元135。优化程度计算部131用于根据输入的增量学习样本计算利用一优化参量对弱分类模板进行优化的优化程度。如后文所描述的,学习单元的学习过程实际上就是根据增量学习样本获得最优化的优化参量(Δc)的过程。这一过程是不断地获得优化参量,并对该优化参量的适合性进行判断的过程。在过程的开始,可以随机地设定最初的优化参量(例如,将Δc设为0)。该过程可以采用后面的最速下降法实现,也可以采用其他的方法实现。可以替代最速下降法的算法有很多,比如牛顿法、拟牛顿法。优化程度可以是后文所述的目标损失函数的梯度。优化参量对应于模板调整量,也即对应于后文中描述的查找表调整量。
判断单元132根据所述优化程度计算部的计算结果,判断利用所述优化参量对所述弱分类模板(例如子区间弱分类模板)进行的优化是否满足一定的条件(例如所述梯度是否小于预定值)。当所述判断单元判断出利用所述优化参量对所述弱分类模板进行的优化未满足一定的条件时,所述优化参量更新单元133对所述优化参量进行更新,即获得新的优化参量。可以通过0.618法等获得组合系数,利用该组合系数获得新的优化参量。这里的0.618法只是示例性的,可以采用其他的方法。0.618法作为与最速下降法配合使用的线性搜索方法,可以被Fibonacci法、插值法所替代。实际上由于目标损失函数的分析性质很好,是一个凸函数,所以许多优化方法都可以用于该目标函数的优化。当所述判断单元132判断出利用所述优化参量对所述弱分类模板的优化满足了所述条件时,所述模板更新单元134对所述弱分类模板进行更新。同时,所述学习单元13还包括增量学习样本更新单元135,用于当所述判断单元判断出利用所述优化参量对所述弱分类模板进行的优化满足了一定的条件时,减少所述增量学习样本组成的集合中的增量学习样本,得到新的所述增量学习样本的集合,以用于对后面的弱分类器的模板的更新。具体地,即将所述增量学习样本中的通过了更新后的弱分类器的样本抛弃。在本文的上下文中,对弱分类模板的更新有时也称对弱分类器的更新。
当完成了所述弱分类器的弱分类模板的更新时,学习单元的任务结束。
图8示出了依据本发明一个实施例的优化程度计算部131的方框图。如图8所示,依据本发明的优化程度计算部131包括:修正系数确定单元1311,用于确定增量学习样本的修正系数;第一目标损失计算单元1312,用于计算利用所述优化参量对所述子区间弱分类模板进行的优化所造成的第一目标损失;第二目标损失计算单元1313,用于根据所输入的所述增量学习样本计算利用所述优化参量对所述子区间弱分类模板进行的优化造成的第二目标损失;优化程度计算单元1314,根据所述第一目标损失计算单元1312计算出的第一目标损失、所述第二目标损失计算单元1313计算出的第二目标损失、以及所述修正系数确定单元1311确定出的增量学习样本的修正系数,计算利用所述优化参量对弱分类模板进行优化的优化程度。
其中第一目标损失代表了优化对处理一般环境的能力的影响,对应于后文的损失函数的离线部分。第二目标损失代表了优化对处理特定场景的能力的影响,对应于后文的损失函数的在线部分。后文将对这两部分的计算进行更详细的描述。所述第一目标损失计算单元可以采用
Bayes法计算所述第一目标损失。后文将对所述第一目标损失计算单元1312对第一目标损失的计算以及第二目标损失计算单元1313对第二目标损失的计算进行详细描述。
图9示出了依据本发明一个实施例的优化程度计算单元1314的方框图。如图9所示,依据本发明的优化程度计算单元1314包括第一乘法部13141、第二乘法部13142、加法部13143、和求导部13144,所述第一乘法部13141将1与修正系数确定单元1311确定出来的所述修正系数的差与所述第一目标损失相乘,所述第二乘法部13142用于将所述修正系数与所述第二目标损失相乘,所述加法部13143用于将所述第一乘法部的相乘结果与第二乘法部的相乘结果相加,所述求导部13144用于对所述加法部的相加结果进行求导。后文将结合式2和式30对修正系数进行详细的说明。
图10示出了依据本发明另一个实施例的优化程度计算单元1314的方框图。如图10所示,依据本发明的优化程度计算单元1313包括第一乘法部13141、第二乘法部13142、第一求导部13146、第二求导部13147和加法部13143,所述第一乘法部13141将1与所述修正系数的差与所述第一目标损失相乘,所述第二乘法部13142用于将所述修正系数与所述第二目标损失相乘,所述第一求导部13146用于对所述第一乘法部13141的相乘结果进行求导;所述第二求导部13147用于对所述第二乘法部13142的相乘结果进行求导;所述加法部13143用于将所述第一求导部的求导结果与所述第二求导部的求导结果相加。
下面,以区域分割连续AdaBoost为例对本发明的实施例进行更详细的解释说明。
首先介绍本发明的区域分割连续AdaBoost的增量学习算法。
AdaBoost算法的本质是利用加性模型(additive model)逐步优化基于指数损失的目标函数(以下也称为损失函数),最终达到logistic回归(logistic regression)的目的。这个关键性的目标函数(损失函数)如式(1)所示
在基于数学期望表示的损失函数形式中,实例x和类别标签y被视为两个随机变量(y=+1对应于正例,y=-1对应于反例),而数学期望则基于由它们所组成的联合概率密度函数p(x,y)。在上面的式1中,(xi,yi)表示第i个样本,其中xi为实例,yi为类别标签;L(F(x))表示强分类器F(x)所对应的目标损失函数;wi 0表示第i个样本的初始权重;p(x,y)表示实例和类别标签作为两个随机变量的联合概率密度函数。
在线样本(在本发明中对应于增量学习样本)的引入必将使得这个联合概率密度函数发生一定程度的变化。在正反例样本之间互不干扰的前提下,该变化可以通过分别对两个类别的似然(likelihood)进行线性修正而体现出来,如式2所示:
p(x|y)=(1-αy)poff(x|y)+αypon(x|y) (2)
其中poff(x|y)和pon(x|y)分别是离线样本和在线样本所对应的类别y的似然函数,而αy则是针对类别y的线性修正系数。这个修正过程可以用图11来表示。图11示出了根据在线样本修正各类别的似然函数。
基于该修正后的似然函数,AdaBoost算法的损失函数(式1)变成为:
其中
分别表示类别y在离线样本和在线样本上的损失函数。这样的话,四个部分的损失函数(离线/在线,正例/反例)通过两个类别的先验概率P(y)和修正系数αy进行线性组合,就得到了引入在线样本后的AdaBoost算法的混合目标损失函数(hybrid objective loss function)。所以,在AdaBoost算法框架下,增量学习算法的议题是如何对已有的强分类器F(x)进行适当的调整,使其在更新后的概率分布情况(式2)下取得尽可能小的损失值。换句话说,以AdaBoost算法为基础的增量学习过程就是对如式3所示的损失函数进行优化的过程。
在增量学习算法的优化过程中,主要有三个方面的问题:
首先,作为一个学习机器(learning machine),强分类器F(x)中包含有大量可调整的参数。其中哪些参数适合在增量学习过程中调整、哪些参数必须在离线学习时就确定下来而不能改变,这是优化算法最先必须面对的问题。选择错误的优化对象可能导致优化算法的复杂程度大大增加。
其次,由于提供了在线训练样本,增量学习算法可以很轻松地将式5中的数学期望转化成为加权求和来计算混合目标损失函数(式3)中的在线部分。然而和在线学习类似,增量学习也不保存已经使用过的训练数据。因此离线训练样本对于增量学习过程来说是不可使用的。所以如何对混合目标损失函数中的离线部分(即式4)进行有效的计算就成为了增量学习算法的关键问题,这也是整个算法的主要难点。
最后,混合目标损失函数是由离线和在线两个部分通过线性修正系数αy组合得到的。实质上,系数αy的取值大小决定了增量学习算法在优化过程中对于离线样本和在线样本的关注程度。通过调整系数αy,我们可以权衡增量学习后得到的强分类器对于一般环境(由离线样本描述)和特殊情况(由在线样本描述)的关注程度。因此如何选择合适的修正系数也是增量学习算法无法回避的问题。
下面,我们先从方向性的问题着手,通过分析区域分割连续AdaBoost算法的分类预测流程,来确定在增量学习过程中强分类器内的可调整参数;接着采用和
Bayes方法相同的策略,对混合目标损失函数中的离线部分进行合理近似;然后简要介绍混合目标损失函数中在线部分的计算方法,以及如何优化增量学习过程的混合目标损失函数;最终提出一种线性修正系数α
y的自适应调整方法。
和其他传统的Boosting算法关注如何选择合适的弱分类器组合系数不同,由于允许弱分类器输出任意大小的实数表示其对于分类预测结果的置信度,R.E.Schapire和Y.Singer所提出的区域分割连续AdaBoost算法中并没有显式的弱分类器组合系数选择过程,而是将其融入到了弱分类器的训练过程中。简而言之,区域分割弱分类器的设计思路就是让弱分类器f(x)借助区域分割函数r(x),将样本所属的实例空间χ(instancespace)划分成为一系列互不相交的子区间{χ1,…,χN},并对落入第z个子区间的所有实例输出相同的一个弱分类预测结果cz,即
在这个弱分类预测过程中,z可以被看作是实例x在区域分割函数r(x)下的观测结果(observation)。如果用查找表函数(look-up-tablefunction)s(z)表示从观测量z到预测结cz果的映射关系,那么弱分类器f(x)就可以表示为
f(x)=s(r(x)) (7)
而强分类器 对实例x所进行的分类预测就可以表示为例如如图12所示的流程。
其中观测结果z
1…,z
T分属不同的弱分类器。它们合在一起,就组成了该强分类器在预测过程中对实例x的观测向量
其中
表示这个向量所属的T维观测空间(observation space)。这些隶属于不同弱分类器的观测量通过各自对应的查找表计算得到的弱预测结果被累加在一起,就得到了强分类器F(x)对实例x预测的最终结果
,其中
表示强分类器的预测空间(prediction space)。这个最终预测结果的符号表示强分类器对该实例所属类别的判定,而其绝对值大小表示强分类器对这一类别判定结果的置信程度。通过这样的方式,强分类器F(x)在作为输入的实例x和作为输出的预测结果y′之间建立起了某种有效的映射关系。而观测空间
的引入,则将强分类器的预测流程F(x):
分解成为两个不同的阶段:R(x):
和S(z):
。其中前者是联合区域分割函数(joint domain-partitioning function),
R(x)=(r1(x),…,rT(x))=z (8)
它完成从实例空间χ至观测空间的变换。而后者是累加查找表函数(aggregated look-up-table function),
它根据观测向量z进行强分类器预测结果的计算。其中
是第i个弱分类器中查找表函数对第z
i个子区间的常量预测结果(参考前面的式6)。联合区域分割函数R(x)、累加查找表函数S(z)与强分类器F(x)之间的关系,以及实例空间χ、观测空间
与预测空间
之间的联系,可以通过图13表示清楚。
联合区域分割函数R(x)决定了强分类器中各个弱分类器对实例空间χ的划分方式。在离线学习过程中,为了确定合适的划分方式,训练算法需要借助某些区分性判别准则——如KL散度和Bhattacharyya距离等等——来对各类别在实例空间χ内的分布情况进行细致的非参数化分析。这是一项需要大量训练样本才能够完成的工作,而增量学习过程却并不具备这一条件。由于只有少量的在线训练样本,增量学习算法无法有效地预计改变R(x)将在多大程度上影响到混合目标损失函数的离线部分(式4)。这意味着对于强分类器F(x)而言,哪怕只对R(x)中的参数进行一些微小的调整,在处理由离线训练样本所代表的一般环境时,都可能招致意想不到的严重后果。因此,我们所提出的增量学习算法只关注于如何根据少量的在线训练样本适当地调整累加查找表函数S(z),而联合区域分割函数R(x)则在样本充足的离线学习过程中一次性确定且在增量学习过程中不做改变。
在本文的特定被摄体(例如人脸)检测算法中,弱分类器通过稀疏粒度特征将作为输入的高维实例映射到一维特征空间后,根据分段线性函数对其进行等间隔划分并籍此计算最终的分类预测结果。这种做法正是R.E.Schapire和Y.Singer所提出的区域分割弱分类器思想的一种具体实现形式。在离线训练过程中,强分类器的联合区域分割函数R(x)由各个弱分类器的稀疏粒度特征和分段线性函数的上下界以及子区间个数确定,而累加查找表函数S(z)则根据落在各个子区间内的正例和反例样本权重分布情况计算得到。
由于S(z)以各个弱分类器的查找表输出结果为参数(参见式9),所以它又可以表示为S(z:c)。其中c=(c11,c12,…,c21,…,cT1,…),为所有查找表输出结果所组成的参数向量。在这种情况下,增量学习算法的任务实际上就是以离线训练所确定的累加查找表函数S(z:c)为基础,寻找合适的参数调整量Δc,使得更新参数后的强分类器F(x)=S(R(x):c+Δc)能够优化同时考虑了离线和在线样本的AdaBoost算法的混合目标损失函数(式3)。
混合目标损失函数中离线部分的近似计算
下面介绍混合目标损失函数中离线部分的近似计算,对应于第一目标损失计算单元1312的计算。
由于联合区域分割函数R(x)唯一确定了从实例空间χ到观测空间
的映射关系(参见图13),在给定R(x)的前提下,增量学习算法可以将混合目标损失函数中离线部分(式4)的计算从实例空间χ转换到观测空间
中,即
其中
根据定义式9,参数更新后的累加查找表函数实际上是两部分之和,
S(z:c+Δc)=S(z:c)+S(z:Δc)(13)
因此混合目标损失函数中离线部分(式11)又可以表示为
其中L(poff(x|y):c)和L(poff(x|y):c+Δc)分别是更新前后强分类器的对应混合目标损失函数中离线部分的缩写形式(完整形式分别为L(poff(x|y),S(R(x):c))和L(poff(x|y),S(R(x):c+Δc))),而
则是根据更新前累加查找表函数S(z:c)的指数损失加权后,类别y在观测空间
中的似然函数。由于
它仍然是一个概率分布。
显然,在混合目标损失函数离线部分的计算过程中,如何获取这个加权似然函数
成为了关键问题。然而,由于增量学习过程中不保存任何离线训练样本,该算法不可能通过采样求和的方式来模拟这个加权似然函数。同时在离线训练过程中记录下这个似然函数的分布情况也可能是不利的,因为随着弱分类器数目的增加,记录所需的存储空间将呈现出指数级别的增长趋势。为此,我们在增量学习算法中提出,采用在各个观测量上的边缘分布的乘积来近似该加权似然函数
其中
这种近似方式实际上就是
Bayes方法。它只需要增量学习算法记录下联合概率密度函数在各个观测量上的边缘分布情况。因此随着弱分类器数目(即观测量数目)的增加,记录加权似然函数的存储空间的增长速度从原本的指数级别降低为线性级别。将这种近似方法应用在如式16所示的混合目标损失函数离线部分(式14)的计算过程中,根据累加查找表函数S(z:c)的线性性质(参见式9),我们有
则表示观测量z
i上的加权边缘似然函数
由于引入参数调整量Δc所导致的指数损失。这样,通过调换求积和求和的先后次序,和前面介绍的存储空间复杂度一样,混合目标损失函数离线部分的计算时间复杂度也从指数级别降低到了线性级别。
需要指出的是,当Δc=0、即不对累加查找表函数的参数作任何调整时,Mi=1,i=1,…,T。因此
不仅如此,对Δc中的任意一个参数Δcpq(即第p个查找表函数对于第q个子区间输出的预测结果)计算其偏导数,根据式6-14,我们有
而根据式18,我们有
当Δc=0时,根据式21和式22,我们又有
所以这两个混合目标损失函数在Δc=0时不仅具有相同的函数值(式20),其梯度也完全相等(式23)。所以从泰勒展开的角度来讲,采用边缘分布函数计算的
在‖Δc‖
2不太大的条件下,是采用联合分布函数计算的L(p
off(x|y):c+Δc)的合理近似。
至此已经证明,采用边缘分布函数的乘积来近似联合分布函数的这种做法,不仅将混合目标损失函数离线部分计算过程的空间复杂度和时间复杂度从指数级别降低为线性级别,使得算法可以用于解决实际问题,还能够在参数调整量Δc变化不大的条件下,确保近似计算的结果拥有足够的精度。
作为这种近似算法中的关键部分,如式17所示的离线加权边缘分布函数
是在增量学习之前——即离线学习过程中——通过对离线样本在各个观测量上的分布进行统计而得到的。其计算过程如下所示
其中Noff y是类别y的离线样本数,而
混合目标损失函数中在线部分的精确计算
现在已经介绍了如何在增量学习算法中采用
Bayes方法来近似计算混合目标损失函数中的离线部分。至于它的在线部分的计算(式5),即对应于第二目标损失计算单元1313的计算,可以通过在线训练样本来模拟其对应的联合分布函数,所以我们有
其中N
on y为类别y的在线训练样本数,
是第k个样本在第i个弱分类器查找表函数中对应的子区间预测输出的调整量,而
则是类别y中的第k个在线样本在增量学习过程中对应的初始权重。它实际上是对根据离线学习得到的强分类器输出S(R(xk):c)进行调整得到的。这个权重的含义和以往的Boosting算法一样,体现的都是当前强分类器对于该样本的错分程度。
这个混合目标损失函数的在线部分对于任意参数调整量Δcpq的偏导数为
混合目标损失函数的优化方法
现在,我们对增量学习过程中混合目标损失函数(式3)的离线部分和在线部分分别提出了近似和精确的计算方法。为了解决增量学习过程中实际面临的优化问题,我们提出采用如下所示的近似形式来计算不同参数调整量Δc对应的混合目标损失函数值,
其与精确结果L(p(x,y),c+Δc)唯一的区别在于,离线部分是通过
Bayes方法近似计算得到的。由于前面已经证明,从泰勒展开的角度来讲,在‖Δc‖
2不大的条件下,这一近似方法是具有足够精度的。因此式28是对增量学习过程中混合目标损失函数的合理近似。
式28是增量学习过程中的混合目标损失函数。式25是其中在线的部分,而式18是其中离线的部分。需要注意的是,在式18中,我们采用
Bayes方法对离线部分的目标损失函数进行了合理的近似。因此在式28中,L(P(x,y),c+Δc)是准确的目标损失函数,而
则是采用了这种离线近似方法的近似目标损失函数。当然如前所述,也可以精确计算离线部分的目标损失函数,但这会增大计算负担。
不难证明,如式27所示的近似混合目标损失函数对于参数Δc来说是一个凸函数。至此,我们就可以采用最速下降法,根据式22和式26中的偏导数,计算近似混合目标损失函数的梯度,再结合0.618方法进行梯度方向上的线性搜索。最终将在若干次迭代之后得到其优化结果(见式29)。也就是说,Δc代表查找表的某个调整量,而Δc*是所有调整量中能够最优化目标损失函数的那个调整量。
这里,argmin表示的是所有自变量(这里是Δc)取值范围内能够最小化函数
的那个取值,即
是所有可能的目标损失函数值中最小的一个。
而增量学习的结果就是更新后的强分类器F(x)=S(R(x),c+Δc*)。需要特别指出的是,以往的在线Boosting算法对于各个弱分类器的调整过程是顺序进行的(sequential process),调整后得到的强分类器是逐步优化的结果(stage-wise optimization);而本文提出的增量学习算法可以针对所有弱分类器的调整过程同步并行(parallel process),调整后得到的强分类器是全局优化的结果(global optimization)。
修正系数α
y
的自适应选择方法
根据式2,不难发现每个离线样本和每个在线样本对于修正似然函数的贡献分别为
和
其中N
off y和N
on y分别表示类别y的离线样本和在线样本数。由此我们可以定义
为类别y的在线样本增强比率(reinforce ratio of online samples),表示每个在线样本对于似然函数的贡献相当于几个离线样本。
在实际应用中,在线样本通常是由用户通过手工标定逐渐累积到的,因此在增量学习过程中,在线样本的数目经常会发生很大的变化。在这种情况下,如果不考虑样本数量情况而直接指定修正系数α
y的大小,那么根据式30,平均每个在线样本对于似然函数的贡献——即在线样本增强比率λ
y——会发生剧烈的波动。更加合理的方式应当是在增量学习过程中,保持稳定的在线样本增强比率λ
y。这样的话,修正系数α
y将根据在线样本数N
on y的变化做出相应的调整:在线样本越多,增量学习的优化过程对于混合目标损失函数中在线部分的关注程度就越高,反之亦然。事实上,这种自适应的参数选择方法的核心思想是确保每个在线样本所发挥的作用不受在线样本总数变化的影响。换句话说,这种算法要使每个在线样本的损失在目标损失函数中的加权系数
保持与离线样本的损失在目标损失函数中的加权系数
的比值不变(参见式30)。该工作可以由修正系数确定单元1311来完成。
上面介绍了基于连续AdaBoost的算法的增量学习装置和增量学习方法。本发明也可应用于基于区域分割Vector Boosting的算法的增量学习装置和增量学习方法。事实上,基于连续AdaBoost算法与基于区域分割Vector Boosting的算法没有本质区别。前面的R(x)、S(z)的概念依然不变,只是S(z)的输出从标量变成了向量。
Vector Boosting算法是以连续AdaBoost算法为基础的多类别分类算法。两者同样根据指数损失函数来度量训练样本被错分的严重程度,两者也同样采用加性模型来优化目标损失函数。两者之间最主要的区别在于,连续AdaBoost算法处理的是二分类问题,分类器的输出是标量预测结果F(x),训练样本(x,y)的分类边界(margin)是yF(x);而Vector Boosting算法要处理的却是更加复杂的多类别分类问题,分类器的输出是矢量化的预测结果F(x),训练样本
的分类边界定义为
这是它的本质投影向量
和预测结果F(x)在齐次坐标空间内的点积。然而在采用区域分割弱分类器的前提下,Vector Boosting算法对应的增量学习算法却和连续AdaBoost算法的没有本质差别。原因如下。
在Vector Boosting算法的框架下,增量学习过程的混合目标损失函数是
其中
与连续AdaBoost算法对应的式3,式4和式5相比,主要的区别在于原本用于表示类别属性的二值化随机标量y变成了多值化的随机向量
而分类边界的表示方式也从yF(x)相应地变成了
但这些改变并不影响本文对于强分类器观测空间
的分析和把握。因此,在VectorBoosting算法的框架下,同样是由离线训练过程确定联合分割函数R(x),而增量学习过程只关注于如何调整矢量化输出的累加查找表函数S(z)。
和前面的做法一样,在Vector Boosting算法的框架之下,增量学习算法仍然可以采用
Bayes方法近似计算混合目标损失函数的离线部分(式32),其结果如下所示
其中
表示的是第i个弱分类器中第z
i个子区间输出结果的变化量。需要注意的是,此时查找表中的元素是矢量而非标量。除此之外,式34和连续AdaBoost算法对应的式18几乎完全相同。而混合目标损失函数的在线部分(式33)同样可以表示为与式25极其类似的形式,
至此,Vector Boosting算法对应的增量学习过程就可以采用与前面一样的梯度下降法,对如式31所示的混合目标损失函数进行迭代优化的操作,从而最终获得根据在线样本调整得到的强分类器F(x)=S(R(x):c+Δc)。
下面介绍本发明的检测器的增量学习算法。
图14示出了依据本发明的实施例的增量学习方法的流程图。如图14所示,其包括如下的步骤。首先,在步骤101,输入合适的增强比率(该增强比率可以在10-100之间)、已有检测器的各层强分类器的分类器模板、在线样本的集合。此处,各层强分类器的分类器模板即各强分类器所包含的弱分类器的模板,具体在本发明中,是各弱分类器的子区间分类模板。另外,此处的输入应作广义的理解,可以指从网上接收、从存储介质上获取、手工输入等各种形式。之后,在步骤102,进行初始化,即设置初始优化参量(模板调整量),例如将其设置为零。在步骤103,根据输入增量学习样本,获得利用所述初始优化参量进行的优化的优化程度,在本实施例中,所述优化程度指混合目标函数的梯度。
图15示出了对优化程度进行计算的一个实施例的流程图。如图15所示,所述优化程度计算可以包括修正系数确定步骤201、第一目标损失计算步骤202、第二目标损失计算步骤203、优化程度计算步骤204。
修正系数确定步骤201用于确定增量学习样本的修正系数,例如可以依据上述的式30利用初始化步骤中获得的增强比率计算该修正系数。
第一目标损失计算步骤202用于计算利用所述优化参量对所述子区间弱分类模板进行的优化所造成的第一目标损失。
第二目标损失计算步骤203用于根据所输入的所述增量学习样本计算利用所述优化参量对所述子区间弱分类模板进行的优化造成的第二目标损失。
优化程度计算步骤204,根据所述第一目标损失计算步骤202计算出的第一目标损失、所述第二目标损失计算步骤203计算出的第二目标损失、以及所述修正系数确定步骤201确定出的增量学习样本的修正系数,计算利用所述优化参量对弱分类模板进行优化的优化程度。该步骤204可以包括第一相乘步骤、第二相乘步骤、第一求导步骤、第二求导步骤和相加步骤,所述第一相乘步骤将1与所述修正系数的差与所述第一目标损失相乘,所述第二相乘步骤用于将所述修正系数与所述第二目标损失相乘,所述第一求导步骤用于对所述第一相乘步骤的相乘结果进行求导;所述第二求导步骤用于对所述第二相乘步骤的相乘结果进行求导;所述相加步骤用于将所述第一求导步骤的求导结果与所述第二求导步骤的求导结果相加。该优化程度计算步骤204也可以包括第一相乘步骤、第二相乘步骤、相加步骤、和求导步骤,所述第一相乘步骤将1与所述修正系数的差与所述第一目标损失相乘,所述第二相乘步骤用于将所述修正系数与所述第二目标损失相乘,所述相加步骤用于将所述第一相乘步骤的相乘结果与所述第二相乘步骤的相乘结果相加,所述求导步骤用于对所述相加步骤的相加结果进行求导。
本领域技术人员在本申请的教导下,参见上述的式,完全可以理解上述步骤,因而不再展开论述。另外,本领域的技术人员也可以根据本申请的教导,依据上面的式构思出其他的计算方法,这些都在本发明的范围内。
现在回到图14,在步骤104,根据所述优化程度获得步骤103所获得的计算结果,判断所述优化参量是否是对所述弱分类模板进行优化的可接受的优化参量。这可以通过判断所述计算结果是否满足一定的条件来进行,例如判断所述优化参量是否在预定的范围内,例如小于预定值。
当步骤104的判断为肯定时,进入步骤105和步骤106,利用所述优化参量更新所述模板,并更新增量学习样本集合,然后结束对该弱分类模板的处理。
当步骤104的判断为否定时,进入步骤107,更新优化参量,然后重复步骤103和104、107的处理,直到步骤104的判断为肯定为止。
图16用文字描述的方式示出了本发明的增量学习方法的流程图。在图16的流程图中,需要解释的是,因为增量学习样本是漏检和误报的样本,所以在将优化增量Δc初始地设为0时,混合目标损失函数的梯度会大于预定阈值。另外,符号‖g‖2表示g的模。
下面通过与联合学习方法进行比较来说明本发明的优点。
如前所述,各种在线Boosting算法都是以离散AdaBoost作为基础发展得到的,它们都无法适用于本文所采用的基于区域分割弱分类器的连续AdaBoost算法(处理多类别分类问题时则是Vector Boosting算法)。而在人脸检测器的离线训练过程中,区域分割连续AdaBoost算法所表现出来的学习能力又明显优于传统的离散AdaBoost算法。为了更好地说明本发明的优点,本文将采用联合学习方法作为增量学习方法的比较对象。
联合学习(combined learning)是一种将离线样本和在线样本直接合并在一起,根据AdaBoost算法对强分类器中各个弱分类器依次重新进行训练的方法。在本文的人脸检测算法框架下,它和增量学习算法一样,也是根据在线样本对各类别的似然函数进行修正后,在保持联合区域分割函数R(x)不变的前提下,调整累加查找表函数S(z)以便优化混合目标损失函数(式3)。然而联合学习方法需要保留所有曾在离线训练过程中使用过的训练样本,而增量学习方法却只记录了各个观测量z
i上的加权边缘分布。这一本质差异使得两种算法在混合目标损失函数离线部分(式4)的计算过程中采用了截然不同的方法:联合学习和传统的离线训练一样,都是采用大量的离线样本来模拟离线部分对应的似然函数;而增量学习则采用
Bayes方法,通过各个观测量z
i上边缘分布的乘积来近似估计属于离线部分的加权似然函数。
实验以正面直立人脸检测问题为例,研究增量学习算法和联合学习算法根据少量光照条件很差的在线人脸训练样本,修正离线训练得到的强分类器的情况。实验所用的样本如下表1所示。我们从FERET库中提取得到20000个光照均匀的正面直立人脸样本,代表一般情况下的人脸检测问题。其中一半用于训练,另一半用于测试。另一方面,我们又从CMU PIE库中选取了1425张图片,并对它们进行适当扰动后得到总共4275个正面直立人脸样本。其中200个用于训练,剩余的4075个用于测试。这些人脸图像都是在各种极端的光照条件下拍摄获得的,可以代表特殊条件下的人脸检测问题。而作为反例的非人脸训练样本则分别取自两个独立的背景图片库,其数量与人脸样本数一一对应。
表1离线样本和在线样本示例(括号中斜线前面的数字为训练样本数,斜线后面的数字为测试样本数)
采用区域分割连续AdaBoost算法,我们离线训练得到了一个由25个弱分类器组成的强分类器。这个强分类器的离线测试错误率(在离线测试样本上的错误率)仅为0.37%,但由于离线训练过程中并没有考虑各种极端光照的影响,这个强分类器的在线测试错误率(在在线测试样本上的错误率)高达6.27%。为了能更加有效地处理各种特殊光照下的人脸检测问题,我们分别采用增量学习方法和联合学习方法,根据不断累积的在线训练样本(从0个逐渐增加到200个),以不同的在线样本增强比率(λy=10n,n=0,…,8),对离线学习得到的强分类器进行了相应的调整,并记录下其离线测试错误率和在线测试错误率的变化情况,如图17所示。
在图17中,“COM 1E0”对应于λy=100的联合学习算法(combinedlearning),“INC 1E4”则对应于λy=104的增量学习算法(incrementallearning)。横轴表示算法所采用的在线训练样本数,左子图的纵轴和右子图的纵轴则分别表示调整后强分类器的离线测试错误率和在线测试错误率。就图17的整体趋势而言,随着越来越多的在线样本参与训练,无论是增量学习方法还是联合学习方法都能够比较有效地降低原有强分类器的在线测试错误率,同时其离线测试错误率也有不同程度的提升。这实际上是两种学习算法在离线样本所代表的“一般情况”以及在线样本所代表的“特殊情况”之间进行重新权衡的结果,并非过训练现象。以λy=102的增量学习方法为例,它通过仅仅200个在线训练样本,就将强分类器的在线测试错误率从6.27%降低到2.94%,而其离线测试错误率仅从0.37%上升到0.77%。为了让原本用来处理一般问题的检测器能够更好地处理特殊条件下的人脸检测问题,这种程度的错误率交换还是值得的。
为了进一步研究在线样本增强比率λy在增量学习方法以及联合学习方法中所起到的作用,我们通过对图17进行“切片”,在采用相同数量在线训练样本的前提下,考察λy的取值对离线测试错误率和在线测试错误率的影响。实验结果如图18所示。
图18的四个子图从左上至右下,分别表示在线训练样本数为0、10、100和200时的情况。图中横轴表示在线样本增强比率λy,取值范围是λy=10n,n=0,…,8。“COM OFF”表示联合学习方法的离线测试错误率,而“INC ON”则表示增量学习方法的在线测试错误率。通过观察这些“切片”结果,我们发现,虽然增大在线样本增强比率λy——也就是增大在线样本的修正系数αy——能够使增量学习和联合学习在优化过程中更加关注混合目标损失函数的在线部分,但这一做法并不能确保降低在线测试错误率,却让离线测试错误率始终保持上升。这种现象在联合学习方法的身上表现得尤其突出。如图18右上所示的在线训练样本数仅为10的情况,当λy不断增大至108、即αy逐渐接近于1的时候(αy和λy之间的关系可以参考式30),联合学习方法的离线测试错误率和在线测试错误率双双呈现出显著的上升趋势。这实际上是一种过训练现象,原因是在线训练样本数量很少,但在线部分却在混合目标损失函数中占据统治地位。
另一方面,增量学习方法在各种情况下对于这种过训练现象的抑制能力要明显优于联合学习方法。导致这一差别的根本原因在于二种方法针对混合目标损失函数的离线部分采用了完全不同的计算方式。联合学习方法在计算混合目标损失函数的离线部分时,需要通过离线训练样本来模拟观测空间内似然函数的联合分布情况(式12)。由于观测空间的维数通常很高(和弱分类器个数相同),这一采样过程是不够充分的。当在线部分占据统治地位时,算法需要对强分类器进行较大的调整才能够优化混合目标损失函数。此时联合学习方法采样不充分的问题就突出了起来,使得混合目标损失函数离线部分的计算结果可能同真实值之间产生极大的误差。而增量学习方法却采用
Bayes方法,通过似然函数在各个观测量上的边缘分布的乘积来近似其联合分布。这使得增量学习方法对于采样数量的依赖性大为降低,不至于产生像联合学习方法那样巨大的误差。事实上,图18的实验结果表明,增量学习方法对参数λ
y并不敏感:在相当大的范围内任意改变λ
y都不会对增量学习的结果造成很大的影响。不仅如此,无论是离线测试错误率,还是在线测试错误率,增量学习方法都表现出了不逊于联合学习方法的性能:前者的错误率几乎始终保持在比后者的错误率更低或至少相当的水平之上。考虑到使用联合学习方法的前提是保存所有的离线训练样本,增量学习方法显然更具优势。
图18的左上子图中还展现了一个有趣的现象。当在线训练样本数为0时,增量学习方法的离线测试错误率为0.34%,在线测试错误率为6.18%,竟然都略低于使用了10000个离线样本进行训练的联合学习方法(分别为0.37%和6.27%)。实际上这是由于两种学习方法采用了不同的优化策略所致。我们知道,AdaBoost算法实际上是一个采用加性模型逐步优化目标损失函数的过程。因此对于目标损失函数而言,离线训练得到的强分类器并非全局最优结果。当在线训练样本数为0的时候,联合学习方法实质上就是离线训练时的AdaBoost算法,所以其学习得到的仍然是逐步优化的结果。而增量学习算法则有所不同。由于它以并行化的弱分类器调整策略获取目标损失函数的全局最优结果,离线学习得到的强分类器可以被增量学习方法进一步地优化。这实际上也是增量学习方法能够在离线和在线测试错误率方面优于联合学习方法的另一个原因。
另外,为了检验该增量学习算法是否能够有效对检测器进行适当的调整,我们选择了三类特殊环境下的人脸检测问题对其进行独立的测试。其中佩戴墨镜和围巾的正面直立人脸图片来自AR库,各有765张不同的人脸图片,属于人脸被部分遮挡的情况。而逆光的半侧面图片则来自CMU PIE库,共有340张不同的人脸图片,属于光照条件极端不良的情况。测试方法仿照一般终端用户的操作方式,每标定图片中的一个漏检人脸,就生成与之对应的若干样本加入到已有的在线训练样本集合中,再通过增量学习算法对检测器进行适当的调整。具体在实验中,每个被标定的人脸都会加以适度地扰动并生成16个样本。由于上面的实验已经说明,强分类器的增量学习过程对在线样本增强比率并不敏感。因此我们直接经验性地选择λ+1=16。至于λ-1,由于这个实验所采用的图片集合(AR库和CMU PIE库)的背景十分简单,在实验中始终收集不到任何检测器的误报作为反例进行增量学习,所以反例的在线样本增强比率是多少无关紧要。实验的结果如图19所示,其中左子图对应AR库中正面直立人脸的两种特殊情况(墨镜和围巾),而右子图则对应CMU PIE库中半侧面人脸的逆光情况。
在没有标定任何在线样本之前(对应于图中x轴为0的情况),离线训练得到的人脸检测器在这三个测试集合上的检测率很不理想,都有大量的人脸图片漏检。然而,只需要手工标注15张(墨镜)、19张(围巾)和8张(半侧面逆光)漏检的人脸图片,借助于上述检测器的增量学习算法,我们就可以分别得到三个检测率达100%的人脸检测器。这意味着我们提出的增量学习算法能够根据少量的在线训练样本有效地调整已有的人脸检测器,使之快速地适应特殊的应用环境。
然而仅仅这样还是不够的,我们还需要增量学习后得到的检测器仍然保有处理一般情况下人脸检测问题的能力。为此,以佩戴墨镜的正面人脸检测问题为例,我们将增量学习前后的检测器在CMU+MIT正面人脸测试集合上进行比较。得到了如图20所示的ROC曲线比较结果。
在图20中,“OFF”表示检测器在增量学习之前(即离线训练的结果)的ROC曲线,而“INC”则表示该检测器通过增量学习达到100%的戴墨镜人脸检测率之后(参见图19的左子图),在与训练集合无关的CMU+MIT正面人脸测试集合上获得的ROC曲线。不难看出,在处理像CMU+MIT正面人脸测试集合这样一般情况下的人脸检测问题时,增量学习得到的人脸检测器虽然略逊于离线学习得到的人脸检测器,但考虑到图19中增量学习前后检测器在处理特殊环境时能力的巨大差异,这样微小程度的退步是可以接受的。
通过深入分析,我们发现增量学习后检测器精度降低的原因并不是检测率下降。在同样的检测条件下,与增量学习之前的检测器相比,根据戴墨镜人脸样本增量学习之后的检测器能够从图片中检测到更多困难的人脸(方框为增量学习之前的结果,圆圈为增量学习之后的结果)。真正导致检测器精度下降的原因是误报率在增量学习之后上升了。问题的根源在于,增量学习戴墨镜人脸样本的过程中,根本没有涉及到任何非人脸训练样本。这使得增量学习算法在调整检测器使之适应特殊人脸样本的同时,也错误地让一部分与这些在线训练样本相似的非人脸模式得以通过。实际上,只需要将检测器所产生的误报收集起来,作为非人脸在线训练样本,然后重新对检测器进行增量学习,就可以在检测过程中有效地消除这些误报。图20中“INC+”曲线正是重新增量学习后得到的结果。这个检测器的误报数几乎一直保持在0左右,而由于增量学习考虑了佩带墨镜的人脸情况,其检测率相对于离线训练的结果又有所提高。因此,这个重新增量学习后得到的检测器在检测精度方面明显优于离线训练和第一次增量学习的结果。
综上所述,根据本发明的一个方面,提供了一种特定被摄体检测装置,该特定被摄体检测装置包括:输入单元,用于输入待检测的图像;一个或更多个强分类单元,用于对所述图像进行强分类,各所述强分类单元包括一个或更多个弱分类单元,所述弱分类单元使用弱分类模板对所述待检测的图像进行弱分类;存储单元,存储所述弱分类器所使用的弱分类模板;判断单元,根据所述强分类单元的分类结果,对所述图像是否包含所述特定被摄体进行判断;其特征在于,所述特定被摄体检测装置还包括:增量样本输入单元,用于输入增量学习用的数据,即输入增量学习样本,也就是该种特定被摄体检测装置所漏检或误报的数据;学习单元,用于根据所述增量样本输入单元输入的增量学习样本,更新所述存储单元所存储的所述弱分类模板。
根据本发明的又一方面,本发明提供了一种用于特定被摄体检测装置的学习装置,所述特定被摄体检测装置包括一个或更多个强分类单元,所述强分类单元包括一个或更多个弱分类单元,所述弱分类单元利用弱分类模板对输入的图像进行是否包含特定被摄体的判断,所述学习装置利用增量学习样本对所述弱分类模板进行更新,所述增量学习样本是该种特定被摄体检测装置运行中被漏检或误报的数据,所述学习装置包括:优化程度计算部,用于根据输入的增量学习样本,计算利用一优化参量对弱分类模板进行优化的优化程度;判断单元,根据所述优化程度计算部的计算结果,判断利用所述优化参量对所述弱分类模板进行的优化是否满足一定的条件;优化参量更新单元,当所述判断单元判断出利用所述优化参量对所述弱分类模板进行的优化未满足一定的条件时,所述优化参量更新单元对所述优化参量进行更新;以及模板更新单元,当所述判断单元判断出利用所述优化参量对所述弱分类模板进行的优化满足了一定的条件时,所述模板更新单元对所述弱分类模板进行更新。
优选地,所述弱分类单元包括:子区间判定单元,用于根据对实例空间的划分将输入的所述待检测的图像归类到互不相交的多个子区间中的某个子区间;弱分类确定单元,用于根据所述子区间判定单元的判定结果,根据子区间弱分类模板,输出对所述待检测图像所属的分类的预测结果;所述存储单元存储有所述子区间弱分类模板;所述学习单元根据所述增量样本输入单元输入的增量学习样本,更新所述存储单元所存储的各所述子区间弱分类模板。
优选地,所述学习单元包括:优化程度计算部,用于根据输入的增量学习样本,计算利用一优化参量对所述子区间弱分类模板进行优化的优化程度;判断单元,根据所述优化程度计算部的计算结果,判断利用所述优化参量对所述子区间弱分类模板进行的优化是否满足一定的条件;优化参量更新单元,当所述判断单元判断出利用所述优化参量对所述弱分类模板进行的优化未满足一定的条件时,所述优化参量更新单元对所述优化参量进行更新;以及模板更新单元,当所述判断单元判断出利用所述优化参量对所述弱分类模板进行的优化满足了一定的条件时,所述模板更新单元对所述弱分类模板进行更新。
优选地,所述优化程度计算部包括:修正系数确定单元,用于确定增量学习样本的修正系数;第一目标损失计算单元,用于计算利用所述优化参量对所述子区间弱分类模板进行的优化所造成的第一目标损失;第二目标损失计算单元,用于根据所输入的所述增量学习样本计算利用所述优化参量对所述子区间弱分类模板进行的优化造成的第二目标损失;优化程度计算单元,根据所述第一目标损失计算单元计算出的第一目标损失、所述第二目标损失计算单元计算出的第二目标损失、以及所述修正系数确定单元确定出的增量样本的修正系数,计算利用所述优化参量对所述弱分类模板进行优化的优化程度。
优选地,所述优化程度计算单元包括第一乘法部、第二乘法部、第一求导部、第二求导部和加法部,所述第一乘法部用于将1与所述修正系数的差与所述第一目标损失相乘;所述第二乘法部用于将所述修正系数与所述第二目标损失相乘;所述第一求导部用于对所述第一乘法部的相乘结果进行求导;所述第二求导部用于对所述第二乘法部的相乘结果进行求导;所述加法部用于将所述第一求导部的求导结果与所述第二求导部的求导结果相加。
优选地,所述优化程度计算单元包括第一乘法部、第二乘法部、加法部、和求导部,所述第一乘法部用于将1与所述修正系数的差与所述第一目标损失相乘;所述第二乘法部用于将所述修正系数与所述第二目标损失相乘;所述加法部用于将所述第一乘法部的相乘结果与所述第二乘法部的相乘结果相加;所述求导部用于对所述加法部的相加结果进行求导。
优选地,所述修正系数确定单元根据在线样本的数量确定所述修正系数,使增量学习样本的作用不受增量学习样本总数变化的影响。
优选地,所述学习单元还包括增量学习样本更新单元,该增量学习样本更新单元用于减少所述增量学习样本组成的集合中的增量学习样本,得到新的所述增量学习样本的集合。
优选地,所述第一目标损失计算单元采用
Bayes法计算所述第一目标损失。
优选地,所述优化参量更新单元根据0.618法更新所述优化参量。
优选地,所述子区间判定单元首先提取所述待检测图像的特征,然后根据分段函数的等间隔分隔方式将所述待检测图像归类到所述实例空间中的某个子区间。
优选地,所述增量学习样本是所述特定被摄体检测装置运行中被漏检或误报的图像,所述增量样本输入单元包括记录单元,所述记录单元用于记录所述特定被摄体检测装置在运行中漏检或误报的图像。
优选地,所述增量学习样本是所述特定被摄体检测装置之外的与所述特定被摄体检测装置相同的其他特定被摄体检测装置运行中被漏检或误报的图像,所述增量样本输入单元包括接收单元,所述接收单元用于接收来自所述其他特定被摄体检测装置在运行中漏检或误报的图像。
其中,所述特定被摄体指人脸。
其中,所述一个或更多个强分类单元按瀑布模式或矢量树模式连接。
优选地,所述特定被摄体检测装置包括切换装置,所述切换装置用于切换所述特定被摄体检测装置的模式状态,使所述特定被摄体检测装置在检测模式和学习模式之间互换;所述增量样本输入单元和所述学习单元在所述切换装置将所述特定被摄体检测装置切换为学习模式时工作。
根据本发明的又一方面,提供了一种用于特定被摄体检测装置的学习方法,所述特定被摄体检测装置包括一个或更多个强分类单元,所述强分类单元包括一个或更多个弱分类单元,所述弱分类单元利用弱分类模板对输入的图像进行是否包含特定被摄体的判断,所述学习方法包括针对各弱分类器的:输入步骤,输入增量学习样本;优化程度获得步骤,用于根据输入的增量学习样本,计算利用一优化参量对弱分类模板进行优化的优化程度,所述增量学习样本是该种特定被摄体检测装置运行中被漏检或误报的数据;判断步骤,根据所述优化程度获得步骤的计算结果,判断利用所述优化参量对所述弱分类模板进行的优化是否满足一定的条件;优化参量更新步骤,当所述判断步骤判断出利用所述优化参量对所述弱分类模板进行的优化未满足一定的条件时,该优化参量更新步骤对所述优化参量进行更新;以及模板更新步骤,当所述判断步骤判断出利用所述优化参量对所述弱分类模板进行的优化满足了一定的条件时,该模板更新步骤对所述弱分类模板进行更新。
优选地,所述优化程度获得步骤包括:修正系数确定步骤,用于确定增量学习样本的修正系数;第一目标损失计算步骤,用于计算利用所述优化参量对所述弱分类模板进行的优化所造成的第一目标损失;第二目标损失计算步骤,用于根据所输入的所述增量学习样本计算利用所述优化参量对所述弱分类模板进行的优化造成的第二目标损失;优化程度计算步骤,根据所述第一目标损失计算步骤计算出的第一目标损失、所述第二目标损失计算步骤计算出的第二目标损失、以及所述修正系数确定步骤确定出的增量学习样本的修正系数,计算利用所述优化参量对所述弱分类模板进行优化的优化程度。
优选地,所述优化程度计算步骤包括第一相乘步骤、第二相乘步骤、第一求导步骤、第二求导步骤和相加步骤,所述第一相乘步骤用于将1与所述修正系数的差与所述第一目标损失相乘;所述第二相乘步骤用于将所述修正系数与所述第二目标损失相乘;所述第一求导步骤用于对所述第一相乘步骤的相乘结果进行求导;所述第二求导步骤用于对所述第二相乘步骤的相乘结果进行求导;所述相加步骤用于将所述第一求导步骤的求导结果与所述第二求导步骤的求导结果相加。
优选地,所述优化程度计算步骤包括第一相乘步骤、第二乘法步骤、相加步骤、和求导步骤,所述第一相乘步骤用于将1与所述修正系数的差与所述第一目标损失相乘;所述第二相乘步骤用于将所述修正系数与所述第二目标损失相乘;所述相加步骤用于将所述第一相乘步骤的相乘结果与所述第二相乘步骤的相乘结果相加;所述求导步骤用于对所述相加步骤的相加结果进行求导。
优选地,所述修正系数确定步骤根据在线样本的数量确定所述修正系数,使增量学习样本的作用不受增量学习样本总数变化的影响。
优选地,所述学习方法还包括增量学习样本更新步骤,所述增量学习样本更新步骤用于减少所述增量学习样本组成的集合中的增量学习样本,得到新的所述增量学习样本的集合。
优选地,所述第一目标损失计算步骤采用边缘分布函数法或Bayes法计算所述第一目标损失。
其中,所述弱分类单元包括:子区间判定单元,用于根据对实例空间的划分将输入的所述待检测的图像归类到互不相交的多个子区间中的某个子区间;弱分类确定单元,用于根据所述子区间判定单元的判定结果,根据子区间弱分类模板,输出对所述待检测图像所属的分类的预测结果;所述学习方法根据所述增量学习样本,更新各所述子区间弱分类模板。
优选地,所述优化参量更新步骤利用0.618法对所述优化参量进行更新。
其中,所述增量学习样本是所述特定被摄体检测装置运行中被漏检或误报的图像,或所述特定被摄体检测装置之外的与所述特定被摄体检测装置相同的其他特定被摄体检测装置运行中被漏检或误报的图像。
其中,所述特定被摄体是人脸。
另外,根据本发明的又一方面,本发明提供了一种计算机程序,当其由计算机执行时,可以使计算机作为上述特定被摄体检测装置进行工作。
另外,根据本发明的又一方面,本发明提供了一种计算机程序,当其由计算机执行时,可以使计算机作为上述学习装置进行工作。
另外,根据本发明的又一方面,本发明提供了一种计算机程序,当其由计算机执行时,可以使计算机实现上述学习方法。
另外,根据本发明的又一方面,本发明提供了一种计算机可读存储介质,其存储由上面所述的可以使计算机作为上述特定被摄体检测装置进行工作的计算机程序。
另外,根据本发明的又一方面,本发明提供了一种计算机可读存储介质,其存储由上面所述的可以使计算机作为学习装置进行工作的计算机程序。
另外,根据本发明的又一方面,本发明提供了一种计算机可读存储介质,其存储由上面所述的可以使计算机实现上述学习方法的计算机程序。
所述计算机存储介质可以是软盘、DVD、VCD、CD、磁盘、硬盘、Flash、磁光盘等本领域技术人员所知的任何计算机可读存储介质。
[1]R.E.Schapire and Y.Singer.Improved Boosting Algorithms UsingConfidence-rated Predictions.In:Machine Learning,vol.37,pp.297-336,1999.
[2]V.N.Vapnik.The nature of statistical learning theory.Berlin,Germany:Springer-Verlag,1995.
[3]J.Friedman,T.Hastie,and R.Tibshirani.Additive logistic regression:A statistical view of boosting.In:Annals of Statistics,vol.28,pp.337-374,2000.
[4]P.Utgoff,N.Berkman,and J.Clouse.Decision tree induction basedon efficient tree restructuring.In:Machine Learning,29(1),5-44.1997.
[5]N.Littlestone.Learning quickly when irrelevant attributes abound:Anew linear threshold algorithm.In:Machine Learning,2,285-318.1988.
[6]N.Littlestone,and M.Warmuth.The weighted majority algorithm.In:Information and Computation,108,212-261.1994.
[7]L.Breiman.Pasting small votes for classification in large databasesand on-line.In:Machine Learning,36,85-103.1999.
[8]A.Fern and R.Givan.Online ensemble learning:An empirical study.In:Proc.ICML,pp.151 279-286,2000.
[9]N.Oza and S.Russel.Online bagging and boosting.In:Proc.Artificial Intelligence and Statistics,2001.
[10]N.Oza.Online ensemble learning.Ph.D.thesis,University ofCalifornia,Berkeley,2001.
[11]O.Javed,S.Ali,and M.Shah.Online detection and classification ofmoving objects using progressively improving detectors.In:Proc.CVPR,2005.
[12]H.Grabner and H.Bischof.Online Boosting and Vision.In:Proc.CVPR,2006.
[13]R.O.Duda,P.E.Hart,and D.G.Stork.Pattern Classification,Second Edition.John Wiley&Sons,Inc.pp 62-64,2001.
[14]T.Sim,S.Baker,and M.Bsat.The CMU pose,illumination,andexpression database.IEEE Trans.PAMI,25(12),1615-1618,2003.