CN101743537A - 用于学习高效级联检测器的多实例修剪 - Google Patents

用于学习高效级联检测器的多实例修剪 Download PDF

Info

Publication number
CN101743537A
CN101743537A CN200880024082A CN200880024082A CN101743537A CN 101743537 A CN101743537 A CN 101743537A CN 200880024082 A CN200880024082 A CN 200880024082A CN 200880024082 A CN200880024082 A CN 200880024082A CN 101743537 A CN101743537 A CN 101743537A
Authority
CN
China
Prior art keywords
sample
sorter
classifier
threshold value
pruning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880024082A
Other languages
English (en)
Other versions
CN101743537B (zh
Inventor
C·张
P·沃拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101743537A publication Critical patent/CN101743537A/zh
Application granted granted Critical
Publication of CN101743537B publication Critical patent/CN101743537B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

“分类器训练器”训练用于检测信号中的特定对象(例如,图像中的脸、语音中的词语、信号中的模式等)的组合分类器。在一个实施例中,引入“多实例修剪”(MIP)来训练组合分类器的弱分类器或“特征”。具体地,将已训练的组合分类器和用于设置虚假肯定/否定操作点的相关联的最终阈值与所学习的中间拒绝阈值相组合以构造组合分类器。拒绝阈值是使用确保原始组合分类器检测到的对象也被该组合分类器检测到的修剪过程来学习的,从而保证在修剪之后对训练集合相同的检测率。贯穿训练所需的唯一参数是最终级联系统的目标检测率。在附加实施例中,组合分类器使用权重修整、自引导和被称为“肥树桩”分类器的弱分类器的各种组合来训练。

Description

用于学习高效级联检测器的多实例修剪
背景
技术领域:
本发明涉及基于分类器的检测系统,并且具体地,涉及用于高效地训练用来检测数据中感兴趣的信息实例的组合分类器的系统和方法。
相关技术:
如本领域技术人员所知,存在着用于实现用来检测信号内的特定元素或成分的目标检测系统的各种各样的技术。这种检测包括例如,检测或标识图像中的脸或其它特定对象,检测语音样本中的特定词语,检测心电图信号中的特定心跳模式等。
一种常见检测技术涉及使用分层分类器(也被称为“级联检测器”),其供在构造常规目标检测系统时使用。级联检测器已经被显示出能以高准确度来极其快速地操作,并且具有诸如脸检测等重要应用。因此,针对级联学习技术进行了大量努力来改进在这种检测系统中使用的分类器的训练。尽管使用典型的检测系统通常是很快的(可能是实时的),但这种检测系统的初始训练通常很慢。不幸的是,对于确定最佳级联大小和目标检测率而言,用于高效且有效地训练级联检测器的过程仍然是具有挑战性的技术问题。
基于级联的检测系统的一种日益重要的应用涉及实时脸检测。例如,一种常规技术涉及结合“积分图像”使用自适应推进(通常还被称为“AdaBoost”)来训练级联检测器。该检测方案需要多个复杂参数,包括例如矩形过滤器的数量和形状、级数、每一级中的弱分类器数量、以及每一级联级的目标检测率。不幸的是,尽管这一类型的系统提供良好的检测结果,但它的计算复杂度意味着初始级联训练过程需要大量时间(取决于所使用的CPU资源,可能数天或数星期),并且因此,挑选最佳参数是困难的任务。
一般级联训练过程的概念和计算复杂度引起了对这种训练的多种改进和改善。例如,若干新近的基于“软级联”的技术通过放松各个不同且分开的级的原始级联结构来操作,使得较早的弱分类器分数的计算可以与较晚的弱分类器相组合。例如,在一种这样的“软级联”方法中,整个检测器作为不具有级的单个组合分类器(具有数百或甚至数千弱分类器)来训练。软级联分配给检测窗口的分数只是弱分类器的和。只要部分和落在某预定阈值之下,即及早终止对和的计算。
相关的软级联训练技术通常通过基于自组织检测率目标(被称为“拒绝分发向量”)设置中间阈值来操作。如早先基于级联的方案一样,该方案的软级联逐渐放弃多个肯定样本,以致力于积极地减少通过该级联的否定样本的数量。
在训练过程早期放弃一些肯定样本证明是正确的,因为原始组合分类器无论如何最终都将放弃一些肯定样本。原始组合分类器可能因为肯定样本太难以检测或因为最终阈值将容许太多的虚假肯定样本而丢弃该肯定样本。尽管设置中间阈值以便不丢失肯定样本是可能的,但这导致非常保守的阈值和非常慢的检测器。主要问题是哪些肯定样本可被丢弃以及何时可被丢弃。不幸的是,常规级联学习方法的一个问题是尽管许多方案同意丢弃一些肯定样本是被批准的,但这些方案未能提供用于确定最好丢弃哪些样本的高效或有效机制。
例如,一种常规训练方案尝试拒绝0个肯定样本直至不可能继续为止,此时视需要来一次拒绝一个肯定样本。相关方案定义确定在每一级可被丢弃的脸的数量的指数曲线。简单地丢弃落在该有点任意的曲线的外部的任何肯定样本。另一常规方案使用比率测试来确定拒绝阈值。尽管该方案具有某种统计有效性,但必须估计分布(这引入了经验风险)。这些方案中的每一个都具有优点和缺点,这一般导致各种因素之间的折中,这些因素包括目标检测率、目标检测速度、以及分类器训练速度。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
此处描述的“分类器训练器”使用一个或多个训练数据集来构造“修剪分类器”,该修剪分类器包括用于检测数据中的特定信息实例(例如,图像中的脸、语音中的特定词语、信号中的模式、因特网上的特定文档、搜索引擎所收集的查询实例、数据库中的书籍、购物数据库中的产品等)的一系列弱分类器和相关联的中间拒绝阈值。该修剪分类器是从已针对一个或多个数据集使用常规训练技术训练的原始组合分类器构造的。构造修剪分类器是通过学习原始组合分类器的每一弱分类器的单独的或中间拒绝阈值来实现的。在附加实施例中,修剪分类器训练包括使用权重修整、自引导和被称为“肥树桩(fat stump)”分类器的新颖的弱分类器的各种组合。
一般而言,给定包括多个弱分类器的成功训练的组合分类器,学习每一弱分类器的中间拒绝阈值并将其用于构造最终的修剪分类器,该最终修剪分类器随后取代原始组合分类器来使用。使用术语“修剪分类器”是因为中间拒绝阈值是通过为原始组合分类器的一些或全部弱分类器迭代地“修剪”表示训练数据中的信息实例的多个肯定样本或窗口来学习的。一旦学习了这些中间拒绝阈值,则它们随后可用于从提供给修剪分类器的实际(即,未训练的)数据中修剪(即,拒绝)肯定样本。
例如,在一个实施例中,使用多级修剪过程(在此称为“多实例修剪”(MIP))来学习中间拒绝阈值,该多级修剪过程确保原始组合分类器检测到的每一对象也被已训练的修剪分类器检测到,从而保证对训练集合的检测率在修剪之后不变。此外,修剪分类器对训练集合的虚假肯定率将不高于原始组合分类器。贯穿训练过程所需的唯一参数是最终修剪分类器的目标检测率,该参数提供用于设置虚假肯定/虚假否定操作点的最终阈值。因此,分类器训练器所提供的训练过程是全自动的并且不需要假定概率分布、统计独立性、或自组织中间拒绝目标。
此处描述的分类器训练器解决关于确定最佳级联级大小和目标检测率的问题。具体地,相对于原始训练数据,此处描述的用于训练修剪分类器的MIP技术提供积极地终止计算而不降低检测率或增加虚假肯定率的拒绝阈值集合。因此,分类器训练器的一个清楚的优点是对所学习的最终修剪分类器的中间阈值的使用通过提高修剪分类器相对于原始组合分类器的总体效率而相对于原始组合分类器提供了显著提高的检测速度。此外,修剪分类器的总体检测能力是高度准确的。
鉴于以上概述,很清楚,此处描述的分类器训练器提供用于通过自动地学习供在基于修剪分类器的检测器系统中使用的中间拒绝阈值来训练弱分类器的独特系统和方法。除了刚才所描述的好处之外,从结合附图所考虑的以下详细描述中将清楚该分类器训练器的其它优点。
附图描述
参考以下描述、所附权利要求书以及附图,将更好地理解本发明的具体特征、方面和优点,附图中:
图1是描绘了构成用于实现此处所描述的“分类器训练器”的示例性系统的通用计算设备的概括系统图。
图2是描绘了具有用于实现此处所描述的“分类器训练器”的简化计算和I/O能力的一般设备的概括系统图。
图3提供示出用于实现此处描述的训练器分类器的程序模块的示例性体系结构流程图。
图4提供针对此处描述的组合分类器的弱分类器计算的示例性下包络,其用于修剪样本来加速分类器检测执行。
图5提供此处描述的使用具有固定格(bin)大小的哈尔特征的常规现有技术查找表(LUT)分类器的示例。
图6提供此处描述的使用哈尔特征和可变格大小的“肥树桩”多线程分类器的示例。
图7提供此处描述的示出用于学习修剪分类器的中间拒绝阈值的各实施例的示例性操作流程图。
优选实施例的详细描述
在对本发明的优选实施例的以下描述中,对附图进行了参考,附图构成了实施例的一部分且在其中作为说明示出了可在其中实践本发明的具体实施例。可以理解,可以使用其它实施例并且可以做出结构上的改变而不背离本发明的范围。
1.0示例性操作环境:
图1和图2示出了其上可实现此处所描述的“分类器训练器”的各个实施例和要素的合适的计算环境的两个示例。
例如,图1示出了可在其上实现本发明的合适的计算系统环境100的示例。计算系统环境100只是合适计算环境的一个示例,而非意在暗示对本发明使用范围或功能有任何限制。也不应该将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
本发明可用各种其它通用或专用计算系统环境或配置来操作。适用于本发明的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、诸如蜂窝电话和PDA等手持式、膝上型或移动计算机或通信设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、包含上述系统或设备中的任一个的分布式计算环境等。
本发明可在诸如程序模块等由计算机结合各种硬件模块来执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。
计算机110的组件可以包括,但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。作为示例而非局限,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能由计算机110访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。
计算机存储介质包括,但不限于,RAM、ROM、PROM、EPROM、EEPROM、闪存或其它存储器技术;CD-ROM、数字多功能盘(DVD)或其它光盘存储;磁带盒、磁带、磁盘存储或其它磁性存储设备;或能用于存储所需信息且可以由计算机100访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外、和其它无线介质。以上的任何组合也应包括在计算机可读介质的范围内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,它通常储存在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘156中读取或向其写入的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141通常由不可移动存储器接口,诸如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可移动存储器接口,诸如接口150连接至系统总线121。
上文讨论并在图1中示出的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,如键盘162和定点设备161(通常指鼠标、跟踪球或触摸板)向计算机110输入命令和信息。
其它输入设备(未示出)可包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、无线电接收机、以及电视或广播视频接收机等等。这些和其它输入设备通常通过耦合至系统总线121的有线或无线用户输入接口160连接至处理单元120,但是也可以通过其它常规的接口和总线结构来连接,如并行端口、游戏端口、通用串行总线(USB)、IEEE 1394接口、蓝牙TM无线接口、IEEE 802.11无线接口等等。此外,计算机110还可包括语音或音频输入设备,诸如话筒或话筒阵列198、以及经由音频接口199连接的扬声器197或其它声音输出设备,音频接口同样包括常规的有线或无线接口,诸如并行、串行、USB、IEEE 1394、蓝牙TM等等。
监视器191或其它类型的显示设备也经由接口,诸如视频接口190连接至系统总线121。除监视器之外,照相机192或其它图像捕捉设备也可经由视频接口190或其它输入耦合到计算机110。计算机110还可包括诸如打印机196等其它外围输出设备,它可通过输出外围接口195连接。
计算机110可使用至一个或多个远程计算机,如远程计算机180的逻辑连接在联网环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备、或其它常见网络节点,并且通常包括以上相对计算机110描述的许多或全部元素,但在图1中只示出了存储器存储设备181。图1中所示的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的联网环境常见于办公室、企业范围计算机网络、内联网和因特网中。
当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN联网环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。调制解调器172可以是内置或外置的,它可以经由用户输入接口160或其它适当的机制连接至系统总线121。在联网环境中,相对于计算机110所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非限制,图1示出了远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
参考图2,该附图示出了显示简化计算设备的概括系统图。这样的计算设备通常可以在至少具有一些最小计算能力且结合了通信接口或输入设备的设备中找到,该通信接口或输入设备用于接收诸如例如向量图图像等在空间上相干的可变比率多维数据。这样的设备包括例如,蜂窝电话;PDA;媒体播放器;手持式、膝上型或便携式计算机;手持式或便携式电子游戏设备等。应当注意,图2中由断开的线或虚线所表示的任何框表示简化计算设备的替换实施例,并且以下描述的这些替换实施例中的任一个或全部可以结合贯穿本文所描述的其它替换实施例来使用。
至少,为允许设备实现分类器训练器的功能,该设备必须具有一些最小计算能力、一些存储能力、以及用于允许输入训练数据的接口。另外,如下详细描述的,该简化计算设备还可包括用于输出经训练的检测系统的输出设备。
具体地,如由图2所示,计算能力一般由处理单元210(大致类似于以上相对于图1所描述的处理单元120)来示出。此外,图2的简化计算设备还可包括用于经由照相机295捕捉训练或测试图像的照相机接口290。注意,与图1的通用计算设备的处理单元120形成对比,图2所示的处理单元210可以是专用微处理器,诸如DSP、VLIW、或其它微控制器,而非如上所述的PC型计算机等的通用处理器单元。
另外,图2的简化计算设备还可包括其它组件,诸如例如一个或多个输入设备240(类似于相对于图1所描述的输入设备)。图2的简化计算设备还可包括其它可任选组件,诸如例如一个或多个输出设备250(类似于相对于图1所描述的输出设备)。图2的简化计算设备还包括作为可移动270和/或不可移动280的存储260(类似于相对于图1所描述的存储设备)。
现在已讨论了示例性操作环境,本说明书的其余部分将致力于讨论具体化“分类器训练器”的程序模块和过程,该分类器训练器通过自动地学习用于基于“修剪分类器”的目标检测系统的中间拒绝阈值来提供用于训练弱分类器的过程。
2.0介绍:
此处描述的“分类器训练器”构造用于检测数据中的特定信息实例(例如,图像中的脸、语音中的特定词语、信号中的模式、因特网上的特定文档、搜索引擎所收集的查询实例、数据库中的书籍、购物数据库中的产品等)的经训练的修剪分类器。该修剪分类器是从原始组合分类器来构造的,该原始组合分类器本身已使用任何所需训练过程(常规或其它)针对一个或多个原始数据集被成功训练。所得修剪分类器相对于原始组合分类器而言提供显著提高的检测速度而同时维持高水平的检测准确度。
一般而言,原始组合分类器包括多个弱分类器。取决于原始组合分类器的复杂度,可能存在数百或甚至数千个单独的弱分类器。在一个实施例中,分类器训练器使用在此被称为“多实例修剪”(MIP)的技术来学习原始组合分类器的每一弱分类器的各个拒绝阈值。这些学习的中间拒绝阈值随后被用来构造上述修剪分类器。在附加实施例中,修剪分类器训练包括使用权重修整、自引导和被称为“肥树桩”分类器的新颖的弱分类器的各种组合。
上述MIP过程使分类器训练器能够使用确保原始组合分类器检测到的每一信息实例也被经训练的修剪分类器检测到的技术来学习中间拒绝阈值,从而保证对训练集合的检测率在修剪之后不变。此外,经修剪的检测器对训练集合的虚假肯定率将不会高于原始组合分类器。贯穿训练过程所需的唯一参数是最终检测系统的目标检测率,该参数提供用于设置虚假肯定/虚假否定操作点的最终阈值。因此,训练过程是全自动的并且不需要假定概率分布、统计独立性、或自组织中间拒绝目标。
2.1系统概览:
如上所述,此处描述的分类器训练器操作来学习先前训练的组合分类器的各个弱分类器的拒绝阈值。一般而言,如本领域技术人员所知,总体组合分类器中的每一弱分类器顺序地检查从训练数据集的每一数据元素中取出的“样本”或“窗口”,以确定关于正在检查的特定样本或窗口是否包括正在训练数据中搜索的感兴趣的某特定目标或其它信息的实例的置信度水平。每一样本或窗口的最终“分数”一般是所有弱分类器的置信度水平的和。在最终分数超过某检测阈值的情况下,该特定样本或窗口被组合分类器标识为包括正在搜索的感兴趣的目标或信息的检测到的实例。
例如,出于讨论目的,为使用脸检测,每一“窗口”表示图像中被测试来检查脸的存在(即脸的“实例”)的某一区域。通常,在常规脸检测的情况下,这些区域是矩形,但可以是任何所需形状。在最初训练脸检测系统时,一般针对每一图像选择非常大数量的窗口(还被称为“样本”)并由总体组合分类器中的每一弱分类器处理,这些窗口通常具有不同大小和位置并且通常完全或部分与许多其它窗口重叠。
这一类型的常规检测系统的各个弱分类器通常最初相对于已知实例的地面真值(ground truth)点和构成训练数据的图像中的脸位置,来针对非常大的训练数据集进行训练。训练通常是相对缓慢的过程。然而,一旦经过训练,这些弱分类器则表示随后可用于在评估实际数据(即实况或记录的图像)时使用以检测该数据中的脸的总体组合分类器。这一类型的经训练系统的总体检测速度中的各因素之一是必须评估实际数据来检测脸的弱分类器的数量。
一般而言,给定包括多个弱分类器的成功训练的组合分类器,分类器训练器操作来学习随后被用来构造最终修剪分类器的中间拒绝阈值。该修剪分类器随后取代原始组合分类器来使用。具体地,在一个实施例中,使用确保原始组合分类器检测到的每一目标或特定信息实例也被分类器训练器所产生的修剪分类器检测到的多级修剪过程来学习中间拒绝阈值,从而保证在修剪后对训练集合的检测率不会降低且虚假肯定率不会增加。
换言之,所学习的中间拒绝阈值允许分类器训练器所产生的修剪分类器在相对于原始训练数据不降低检测率或增加虚假肯定率的情况下,只要就可能积极地终止目标检测计算。这一终止表示“修剪”正在评估来寻找正在搜索的目标或所信息实例的窗口或样本。因此,窗口或样本越早地从进一步计算中被修剪,总体检测系统将越快。
一般而言,在训练了原始组合分类器后,分类器训练器通过使用训练数据(可以与用于训练原始组合分类器的数据相同或不同)来学习中间拒绝阈值来操作。对于检测率(或虚假肯定率),没有关于概率分布、统计独立性、或自组织中间目标的假定。基本修剪方法基于以下观察:1)在修剪期间,原始组合分类器所丢弃的肯定样本(例如,对应于正在搜索的目标实例的窗口)可被安全地丢弃;以及2)信息的每一地面真值实例(例如,图像中的脸)仅需要一个匹配的样本或检测窗口来维持原始组合分类器的检测率。
更具体地,通过检查训练数据的每一肯定样本或窗口穿过整个弱分类器系列的“路径”,分类器训练器能够确定肯定样本(即,对于目标检测的测试是肯定的样本)的“包络”。在一个实施例中,包络由从在每一单独的弱分类器处的分数或置信度水平计算得到的下限来表示。
例如,通过特定弱分类器的每一肯定窗口将具有该弱分类器的特定分数或置信度水平。因此,通过确定穿过特定弱分类器的任何肯定样本的最小分数,可以说,在总体组合分类器的训练期间,没有具有更低分数的肯定样本通过该弱分类器。因此,该信息可被用于设置每一弱分类器的最小拒绝阈值,以便在通过弱分类器的任何样本或窗口的置信度水平低于该特定弱分类器的拒绝阈值的情况下,该窗口将立即从进一步考虑中剪除。注意,该修剪过程的具体细节在第3节中进一步详细讨论。
应当注意,以下讨论一般指的是用于检测图像中的脸的脸检测系统。然而,对图像中的脸检测的讨论只是旨在提供分类器训练器的使用和训练的示例性上下文。实际上,鉴于以下讨论,应当清楚,分类器训练器不旨在限于图像或脸检测系统的使用,并且可以通过学习适当的中间拒绝阈值来评估任何类型的数据以标识特定目标实例或感兴趣的其它信息,以用于从先前训练的组合分类器构造修剪分类器。
2.2系统体系结构概览:
以上概述的过程由图3的概括系统图示出。特别地,图3的系统图示出了用于实现此处所描述的分类器训练器的程序模块之间的相互关系。应当注意,图3中由断开的线或虚线所表示的任何框和框之间的互连表示此处所描述的分类器训练器的替换实施例,并且以下描述的这些替换实施例中的任一个或全部可以结合贯穿本文所描述的其它替换实施例来使用。
一般而言,如图3所示,分类器训练器300通过接收先前训练的组合分类器305和训练数据集310并将它们提供给修剪模块320来开始操作。注意,该训练数据集310优选地是用于原始组合分类器305的初始训练的同一数据集,但不要求该数据与用于组合分类器的初始训练的数据相同。另外,原始组合分类器305的最终检测阈值被经由检测阈值模块设为所需水平。该最终检测阈值也被提供给修剪模块320。
如在第3.2节和第3.3节中进一步详细描述的,修剪模块320随后结合来自训练数据集的窗口或样本来评估原始组合分类器305的各个弱分类器,以确定哪些窗口或样本可被修剪以及可对各弱分类器中的每一个设置什么阈值来用于修剪。在各实施例中,修剪模块320通过采用直接后向修剪(DBP)模块325或多实例修剪(MIP)模块330来修剪窗口和确定拒绝阈值来执行上述修剪过程。
在评估了训练数据集310之后,修剪模块320输出中间拒绝阈值335的集合,分类器构造模块340随后将中间拒绝阈值335集合与原始组合分类器305相组合以构造修剪分类器345,修剪分类器345可被存储以供稍后在需要时使用。
如上所述,修剪模块320结合检测阈值和训练数据集310使用先前训练的组合分类器305。尽管分类器训练器300可以使用任何常规地训练的级联检测器305,但在一个实施例中,分类器训练器使用级联学习模块350来学习新颖的组合分类器305,该新颖组合分类器305包括使用被称为“肥树桩”分类器的新颖弱分类器。肥树桩分类器模块355使用迭代过程来学习这些肥树桩分类器,如在第3.5节中进一步详细描述的。此外,如第3.4节中讨论的,在一个实施例中,级联学习模块350结合自动学习的肥树桩分类器来使用权重修整和自引导的组合,以构造组合分类器305以及保守的预备拒绝阈值集合360。
在任一情况下,不管原始组合分类器305是使用常规还是基于肥树桩分类器的技术来学习的,所得的修剪分类器345都可用于基于常规分类器的检测系统中。例如,在一个实施例中,一旦构造了修剪分类器345,则将其提供给评估实况或先前记录的测试数据集370的目标/实例检测模块。目标/实例检测模块365随后经由修剪分类器345来评估测试数据370,并输出包括相对于测试数据集370的目标或实例检测信息的检测数据集375。
显然,检测系统,诸如参考目标/实例检测模块365简要描述的检测系统被用于各种各样的检测操作中,并与各种各样的数据类型一起使用。因此,在一个实施例中,使用数据输入模块380来从一个或多个源接收测试数据370,这些源诸如例如照相机295、雷达或雷达阵列385、话筒或话筒阵列、或生成或接收与目标检测准则相兼容的数据的任何其它源395,其中修剪分类器345是针对该目标检测准则来训练的。通常,数据输入模块380接收到的数据的类型将与训练数据集310是同一类型的。
3.0操作概览:
上述程序模块用于实现分类器训练器。如上概括的,分类器训练器操作来学习先前训练的组合分类器的每一单独弱分类器的拒绝阈值以构造修剪分类器。以下各节提供了对该分类器训练器的操作,以及用于实现在第2节中参考图3描述的程序模块的示例性方法的更详细讨论。
3.1分类器训练器的操作细节:
以下各段详细描述了此处所述的分类器训练器的具体操作和替换实施例。具体地,以下各段描述基于原始组合分类器的最终样本分类的直接后向修剪;基于原始组合分类器的最终样本分类的多实例修剪;用于改进级联学习的权重修整和自引导;以及“肥树桩”分类器。
3.2使用最终分类进行修剪:
一般而言,如上所述,分类器训练器基于通过原始组合分类器的一系列弱分类器的每一样本或窗口的最终分类(即肯定或否定)来学习中间拒绝阈值。设置这些中间阈值,以使它们尽可能早地修剪原始组合分类器所丢弃的那些肯定样本/窗口。通过以此方式处理原始训练数据来学习每一弱分类器的中间拒绝阈值,分类器训练器产生修剪分类器。类似地,所得的修剪分类器参考实际(即,非训练)测试数据来评估的任何样本也将被积极地修剪,从而得到对测试数据的更快的总体分类。
例如,如图4所示,原始组合分类器的最终拒绝400阈值结合训练数据集来使用,以构造包含分类器训练器所构造的修剪分类器的每一弱分类器的最小拒绝阈值(420到475)的拒绝“包络”。如以下进一步详细描述的,该包络表示一轨迹,沿着该轨迹,没有具有更低分数的肯定样本通过任何弱分类器。如以下并且参考上述基于MIP的修剪在第3.3节中所述,使用各基于修剪的实施例来确定中间拒绝阈值(420到475)。
具体地,从训练数据取出的每一样本或窗口的分数sk(t)可被认为是该窗口随时间通过构成原始组合分类器的一系列T个弱分类器的“轨迹”或“路径”。如果肯定样本的最终分数sk(t)落在最终阈值θ(T)之下,则原始组合分类器拒绝该肯定样本。在用于设置中间拒绝阈值的最简单的实施例中,来自落在最终阈值之下的肯定窗口的所有轨迹都被移除。给定了通过最终阈值θ(T)的肯定样本的全集,随后通过确定在每一弱分类器处观察到的分数来简单地计算每一弱分类器的阈值。具体地,如等式1所示,在该实施例中,中间拒绝阈值θ(T)如下计算:
θ ( t ) = min { k | s k ( T ) > θ ( T ) , y k = 1 } s k ( T ) 等式1
其中{xk,yk}是训练集合,其中yk=1指示特定样本xk的肯定窗口且yk=-1指示否定窗口。这些中间拒绝阈值产生非常快速的、确保产生不超过原始组合分类器的误差(相对于原始训练数据)的修剪分类器。该修剪实施例在此被称为“直接后向修剪”(DBP)。
该基于DBP的修剪方法与常规修剪方法之间的一个区别是常规方法设置中间阈值拒绝最大数量的否定样本同时尝试限制相对于原始组合分类器被拒绝的肯定样本的百分比。
相反,基于DBP的修剪方法调整原始组合分类器的最终阈值来拒绝最大数量的否定样本同时达到某检测率目标。分类器训练器随后学习中间拒绝阈值,以使所得修剪分类器拒绝最大数量的否定样本并且不拒绝原始组合分类器所保留的肯定样本。因此,不同于常规方案,所得的修剪分类器所拒绝的任何特定肯定样本只是那些注定要被原始组合分类器拒绝的肯定样本。
因此,该过程产生以与原始组合分类器完全相同的方式标记所有肯定样本的快速分类器。实际上,其产生保留与原始组合分类器相同(如果弱分类器未被重新排序)的肯定样本的最快的可能修剪分类器。此外,应当注意,最终通过原始组合分类器阈值的一些否定样本通常被分类器训练器所学习的中间拒绝阈值修剪。这提供了在所得修剪分类器中降低虚假肯定样本率的附加好处。注意,在一个实施例中,如果需要,经由以上描述的基于DBP修剪来训练的弱分类器可被重新排序,但这可影响对某些样本的修剪。
一般而言,使用从大型图像集合(或其它数据)取出的大型训练样本集合(一个或多个样本对应于训练数据中的特定信息实例)来学习中间拒绝阈值。然而,出于解释的目的,该基本过程将参考具有单个脸的单个图像来描述。例如,给定单个图像的情况,该图像中的单个物理脸将对应于处于某可接受位置和比例范围内的肯定检测窗口集合中。通常,每一脸(即每一“实例”)存在着大量可接受的窗口。每一肯定窗口通过一系列弱分类器的“轨迹”对应于最终落在原始组合分类器的最终检测阈值θ(T)之上的可接受窗口。因为这些“可接受”窗口是原始组合分类器所保留的窗口,所以只有这些可接受窗口的轨迹被用于计算中间拒绝阈值。
鉴于分类器训练器的这一能力,可以说,用于设置操作点的原始组合分类器连同阈值θ(T)一起在样本上提供比正在检测脸的地面真值标记更有价值的标记。具体地,总是存在极其难以检测的“肯定”样本的集合,或更坏地,被错误地标记的肯定样本(即“虚假肯定样本”)的集合。实际上,将设置原始组合分类器的最终阈值θ(T)以使这些特定样本被拒绝。然而,在上述基于DBP的修剪方法中,这些特定样本可在总体级联的计算的极早期时候被拒绝。这可以在不损失分类准确度的情况下产生非常显著的速度增长。
3.3多实例修剪:
注意,以下讨论一般描述对图像中的脸的检测。然而,如上所述,此处描述的分类器训练器更一般地能够检测某数据或数据集中特定信息的各具体实例。示例包括检测图像中的脸、语音中的特定词语、信号中的模式、因特网上的特定文档、搜索引擎所收集的查询实例、数据库中的书籍、购物数据库中的产品等。因此,应当理解,以下关于图像中的脸检测的讨论仅旨在作为示例,以提供对分类器训练器的各实施例的操作的更好的理解。
“可接受检测窗口”的概念在用于设置最终拒绝阈值的改进过程中扮演重要角色。具体地,通常难以定义图像中的脸的正确位置和比例。对于完全直立和正面的脸,一般可以找到关于包括下巴、前额、以及耳朵的内缘的最小矩形的某种一致。然而,在包括一定范围的非直立和非正面的脸时,这些矩形变化相当大。注意,在脸检测的情况下,在同一脸通常导致多个肯定窗口或样本时,这表示同一目标的“多实例”检测的情况。
例如,在设置最终拒绝阈值时可以考虑的一个因素是地面真值窗口位置和比例是否应当根据外观头部大小来定义。另选地,要考虑的另一因素是眼睛位置和内眼(innerocular)距离是否是用于脸检测的更可靠的指示符。不幸的是,使用这些因素中的任一个所得的“地面真值”标记不能与目标脸完全一致。
此外,如上所述,总体检测过程一般通过扫描图像并以各种比例在各个位置生成大型但有限的重叠窗口集合来操作。此外,即使在缺少比例/位置多义性时,需要某种溢出来确保所生成的窗口中的至少一个被认为是每一脸的成功检测(即,具有通过阈值θ(T)的分数的肯定窗口)。在地面真值位置和比例中添加不可避免的多义性后,通常将大小处于50%内且处于(大小的)50%距离内的任何窗口认为是真实的肯定样本。使用典型扫描参数,这可对每一脸产生大量窗口,这些窗口是同样有效的肯定检测,其中同一脸的多个窗口具有通过阈值θ(T)的分数。因此,如果这些窗口中的任一个被分类成肯定样本,则认为检测到了对应的脸。
尽管大多数脸检测算法看到了同一脸的多个肯定窗口的这一问题,但该问题通常未得到解决。少数常规方案在“多实例学习”(MIL)框架中考虑了这一问题,其中肯定样本被收集成“包(bag)”中。基于MIL的方案从每一个包中选择一个或多个肯定样本作为真实肯定样本来用于训练原始组合分类器。相反,分类器训练器修改并采用“包”的概念来学习此处描述的中间拒绝阈值。实际上,分类器训练器可以使用最初使用MIL式训练算法(或上述任何其它级联训练算法)训练的原始组合分类器来构造修剪分类器。
给定可接受窗口的“包”的概念,如在以下几段中所讨论的,分类器训练器通过实现基于“多实例修剪”(MIP)的过程来改进在第3.2节描述的基于DBP的修剪过程来修剪样本以避免进一步考虑。具体地,假定图像中的每一地面真值脸存在可接受窗口的集合(即“包”),有可能为每一弱分类器设置更积极的阈值,如等式2所示,其中:
θ ( t ) = min { i ∈ P } [ max { k | k ∈ F i ∩ R i , y k = 1 } s k ( t ) ] 等式2
其中i是地面真值脸的索引;Fi是与地面真值脸i相关联的可接受窗口的集合且Ri是所保留的窗口(见下)的集合。P是具有高于最终阈值的至少一个可接受窗口的地面真值脸的集合:
P = { i | max { k | k ∈ F i } s k ( T ) > θ ( T ) } 等式3
在该基于MIP的修剪过程中,肯定样本进入包中,其中每一个包中的肯定样本只有至少一个必须被分类成肯定样本以确保成功地检测每一脸。该准则允许对肯定样本进行比上述基于DBP的方法更积极的修剪,而仍然确保所得的分类器训练器所产生的修剪分类器的中间拒绝阈值产生与原始组合分类器相同的脸检测成功率(相对于原始训练数据集)。
在这种情况下,在等式2和等式3的计算中使用的“保留”样本的定义比以上针对基于DBP的修剪的情况描述的定义稍微更加复杂。具体地,如基于DBP的修剪一样,最初保留来自肯定包中落在最终阈值之上的所有轨迹。然而,与基于DBP的方法相反,每一个包中保留的样本的集合Ri在分类器训练器设置中间拒绝阈值时被进一步减少。具体地,基于MIP的修剪方法检查样本的部分分数是否落在特定弱分类器的当前阈值之下(因为它处于具有更好样本的包中)。每一这样的样本随后从保留集合Ri中被移除并且不被用于设置后续阈值。
换言之,对于对应于特定脸的每一样本包,随着分类器训练器前进通过原始组合分类器的各弱分类器,将从每一个包中消除具有针对特定弱分类器的最低分数的肯定样本。随后,一旦从特定包中消除了肯定样本,则对于后续弱分类器不再考虑该肯定样本。很明显,该修剪方法比上述基于DBP的修剪方法更积极。
注意,在一个实施例中,从每一特定弱分类器的每一个包中的肯定样本的最小分数减去小的偏移值ε,以便不过快地从每一个包中修剪肯定样本。例如,通过将最小分数减少某一小量,如果肯定样本对于该特定弱分类器比该小值ε更接近,则分类器训练器将在包中保留更多肯定样本。在一测试实施例中,使用数量级大约为10-6的ε值。然而,应当注意,该值取决于所使用的弱分类器的类型和这些弱分类器生成的分数的相对值。
上述基于MIP的修剪过程由表1中示出的伪码来概括:
Figure G2008800240826D00181
Figure G2008800240826D00191
在较早的级拒绝特定轨迹(并且因此从特定包中拒绝对应的肯定样本)可以对后续弱分类器造成生较高的拒绝阈值。因此,在一相关实施例中,分类器训练器延迟从特定包中消除肯定样本,同时跨各消除组合来进行搜索以实现最佳MIP修剪检测器。然而,该实施例可能需要比基本的基于MIP的修剪过程显著更多的计算开销。
最后,应当注意,即使基于MIP的修剪方法比基于DBP的修剪方法更积极,它仍然能保证与原始组合分类器相同的对训练数据集的脸检测率。注意,通过依次设置每一阈值以使得保留所有肯定包以及最少数量的肯定样本通过最终弱分类器,基于MIP的修剪方法被认为是贪婪的。该过程被保证来生成至少与在第3.2节描述的基于DBP的修剪分类器一样快的修剪分类器(因为用于设置阈值的准则较不严格)。然而,该过程不保证所得的修剪分类器是满足该MIP准则的最快的分类器。
3.4权重修整和自引导
上述修剪过程可应用于任何常规组合分类器(即,作为在此通常称为“弱分类器”的较简单功能的和的分类器)。然而,除常规组合分类器之外,以下各段描述用于从非常大的训练样本集合(可能包括数百万、数十亿、或甚至更大数量的样本)中学习组合分类器的新颖过程。为处理这种大数量的样本,分类器训练器在各实施例中结合称为“肥树桩”分类器的新颖的弱分类器(参见第3.5节)来使用权重修整和自引导的新颖适应。
常规上,“权重修整”是用于改进在各学习算法中使用的“推进”技术的概念。例如,在每一轮推进处,常规权重修整忽略具有最小权重的训练样本,直达总权重的某一百分比(通常在1%和10%之间)。因为权重通常非常偏向少量困难的样本,所以这可以消除非常大数量的样本。已经证明,权重修整可以显著地减少用于推进方法的计算而不牺牲准确度。此外,权重修整的另一有益属性是从不完全扔掉样本,因为即使某一样本在一个级处被修整,它也可以在稍候级中返回。因为没有样本被永久丢弃,所以其对于用于学习组合分类器而言是理想的。在一个实施例中,如上所述,所学习的组合分类器随后由分类器训练器处理,以通过学习组合分类器的每一弱分类器的中间拒绝阈值来从该组合分类器构造修剪分类器。
一般而言,如以下讨论地,通过结合经修改的自适应推进(即“AdaBoost”)来使用周期性权重更新的组合以训练以训练原始组合分类器的原始弱分类器,分类器训练器提供用于数十亿样本数量级的大型训练样本集合的基于级联的学习方法。一旦使用以下描述的修整和自引导技术学习了该原始组合分类器,则如上所述,随后可应用上述修剪技术通过构造新修剪分类器来进一步改进效率。
具体地,如表2的伪码所示,分类器训练器首先初始化大型样本输入{(x1,y1),...(xK,yK)}的权重,其中K是数十亿样本的数量级。对整个样本集合的权重更新通过预定义集合A来限制,其指定在连续的权重更新之间要对整个训练集合执行的学习迭代的数量,因为进一步更新的效果降低所以更新时间间隔通常随时间增加。注意,如果需要,可以在学习每一弱分类器后,对整个训练集合的分数执行权重更新。然而,从附加更新得到的任何性能增益可以被增加的计算开销所抵销。
来自该学习构成的输出是弱分类器的预备阈值的集合,使结果成为软级联。然而,这些预备拒绝阈值极其保守,保留了训练集合中的所有肯定样本。它们导致非常慢的检测器,其中每一窗口访问的弱分类器的平均数量是数百数量级的。然而,如上所述,分类器训练器使用上述修剪技术学习每一弱分类器的新中间拒绝阈值,从而显著地提高了所得修剪分类器的总体性能。
上述学习过程由在表2中示出的伪码来概括:
Figure G2008800240826D00211
3.5“肥树桩”弱分类器:
如上所述,在各实施例中,此处称为“肥树桩”的新类型的弱分类器结合第3.4节中描述的学习过程来使用,以训练原始组合分类器(即级联检测器),具有每一肥树桩分类器的预备拒绝阈值。该肥树桩弱分类器使用可变格(bin)大小来显著地提高所得级联的总体分类性能而在分类时间上的增加可以忽略。
一般而言,此处描述的肥树桩分类器表示基于多个阈值执行多路划分的决策树。例如,图5提供使用具有固定格大小(510到540)的哈尔(Haar)特征的常规现有技术查找表(LUT)分类器的示例。相反,图6示出使用具有动态确定的格宽度和位置(610到640)的哈尔特征的“肥树桩”多线程分类器的示例。
多阈值可以从更宽范围的矩形过滤器(例如,预测脸的值非常大还是非常小的过滤器)中提取预测值。如本领域技术人员所知,使用完整决策树作为弱分类器一般对检测性能产生改进。不幸的是,这伴随着检测时间的可测量增加。已经观察到,检测性能可以通过使用具有固定格的查找表(LUT)来代替简单树桩而改进(如图5所示)。然而,当在LUT表中存在大量格时,通常有过多灵活性,这可导致过训练。相反,当在LUT表中存在过少格时,常规的基于决策树的学习算法表现得不比简单树桩更好。
为解决这些问题,分类器训练器提供肥树桩分类器,这些分类器是通过将输入范围划分成多个灵活的可变大小的格来被迭代地学习的,这些格最终基于用于最大化每一可变大小格中肯定对否定样本的比率的迭代操作而对每一格收敛于最佳大小。对于过滤器池中的每一矩形过滤器,在当前权重集合ω1,i,i∈Q(参见表3的迭代伪码)下构造最小化Z分数的“肥树桩”分类器。注意,收敛是得到保证的,因为在每一迭代处Z分数都不增加。在一测试实施例中,最大迭代次数被设为5,然而,已经观察到,1到3次迭代通常足以实现收敛。所得弱分类器像小型决策树;然而,该树中的每一节点使用同一矩形过滤器。这显著地提高了每一弱分类器的速度,同时提供良好的检测性能。
用于学习肥树桩分类器的过程由在表3中示出的伪码来概括:
例如,在一测试实施例中,从92,412个哈尔型矩形过滤器的池中构造
这些肥树桩弱分类器的集合。这些矩形过滤器按检测窗口的方差来归一化。此外,在一个实施例中,该窗口方差的值作为可被选择来用于弱分类器中的附加“过滤器”来提供。另外,该过滤器可供使用而不需要任何附加计算开销,因为无论如何都要为每一窗口进行计算来归一化。注意,第一肥树桩弱分类器总是告知(split on)方差。
4.0用于学习拒绝阈值的操作概览:
以上相对于学习中间拒绝阈值描述的各实施例中的一些由图7中提供的操作流程图来概括。注意,图7仅旨在作为用于学习中间拒绝阈值的一般概览,并且应当鉴于图3和图4以及进一步鉴于以上在第2节和第3节中提供的详细描述来理解。
具体地,图7提供示出用于在给定已训练的原始组合分类器(即,级联检测器)、原始训练数据集、以及最终检测阈值的情况下,学习中间拒绝阈值的各实施例的示例性流程图。应当注意,图7中由断开的线或虚线所表示的任何框表示分类器训练器的替换实施例,并且以下描述的这些替换实施例中的任一个或全部可以结合贯穿本文所描述的其它替换实施例来使用。
例如,如图7所示,分类器训练器通过接收700级联检测器检测阈值705、用于训练该级联检测器的训练数据310、以及当然先前训练的级联检测器305(在此也被称为“原始组合分类器”)的输入来开始操作。
给定这些输入,分类器训练器在训练集合310中与任何地面真值目标相匹配的所有窗口上运行710级联检测器305。换言之,所有肯定样本穿过级联检测器305。在将这些窗口穿过级联检测器305时,保留各信息。例如,每一窗口的最终检测分数连同总体级联中每一弱分类器的中间分数一起保留。给定该信息,分类器训练器接着收集715具有超过为级联检测器305设置的检测阈值的最终分数的所有窗口。
在一个实施例(以上参考DBP(即“直接后向修剪”)描述的实施例)中,分类器训练器接着评估针对每一弱分类器收集的窗口来修剪720高于在每一单独的弱分类器处看到的最小分数的所有中间分数。这些单独的最小分数随后被输出(725)到每一分类器的中间拒绝阈值集合335(循环730)。
在一相关的修剪实施例(以上参考MIP(即“多实例修剪”)描述)中,分类器训练器收集715具有超过为级联检测器305设置的检测阈值的最终分数的窗口/样本,随后将所收集的窗口归组735成各个样本“包”,其中特定包中的每一窗口或样本对应于同一(即多实例)地面真值目标的肯定样本。例如,在脸检测的情况下,表示图像中同一确切脸(即,同一实例)的肯定样本的每一窗口被置于同一个包中。
接着,对于每一弱分类器,分类器训练器确定740每一个包中剩余的每一窗口的最大分数。分类器训练器随后从每一弱分类器的所有包的最大分数中计算745最小分数,并输出750该最小分数作为当前弱分类器的中间拒绝阈值335。分类器训练器从特定包中修剪或消除755具有小于计算得到的最小分数的分数的所有窗口。(注意,如上所述,该“最小分数”可小于各最大分数中的实际最小值,因为在一个实施例中,从最小分数减去了小的偏移值ε。)该过程随后通过输出750每一弱分类器的各个中间拒绝阈值335来继续(循环760)。然而,应当注意,如上所述,一旦从特定包中修剪755了窗口,则对于任何后续弱分类器,在该包中该窗口不再可用于评估(即计算该包的最大分数)。
最后,不管使用哪一修剪实施例,如上所述,一旦学习了级联检测器305的每一弱分类器的中间拒绝阈值335,分类器训练器即使用这些中间拒绝阈值来构造765修剪分类器345。随后存储所得修剪分类器345以供稍后在使用某基于级联的目标检测应用来检测目标时使用。
以上对分类器训练器的描述是出于说明和描述的目的而提出的。这并不是要穷举本发明或将本发明限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。此外,应当注意,可以按所需的任何组合使用上述替换实施例的任一个或全部以形成分类器训练器的另外的混合实施例。本发明的范围并不旨在由该详细描述来限定,而是由所附权利要求书来限定。

Claims (20)

1.一种用于从数据集中的实例来训练分类器的过程,包括以下过程动作:
接收(700)包括一系列弱分类器的已训练的组合分类器(305);
接收(700)训练数据集(310),所述数据集还包括所述训练数据集中的实例的地面真值标记;
接收(700)所述组合分类器的分类阈值(705);
使用所述组合分类器(305)来计算(710)每一实例的每一样本的中间分数集合;
使用所述组合分类器(305)来计算(710)每一实例的每一样本的最终检测分数;
消除(710)具有低于所述分类阈值(705)的最终检测分数的样本;
对于每一弱分类器,从所有剩余样本的中间分数来计算(740、745、750)拒绝阈值(335);以及
通过集成所述拒绝阈值(335)与所述组合分类器(305)的对应弱分类器来构造(765)修剪分类器(345)。
2.如权利要求2所述的过程,其特征在于,从所有剩余样本的中间分数来计算所述拒绝阈值包括:
将所有剩余样本归组成单独的样本集合,每一样本集合对应于所述实例中的特定一个;以及
对于每一弱分类器:
对于每一样本集合,从每一样本集合中剩余的所有样本的中间分数计算最大分数,
基于每一样本集合的最大分数来计算所述拒绝阈值,以及
在任何样本具有小于所述拒绝阈值的中间分数时,从其对应的样本集合中消除所述样本。
3.如权利要求2所述的过程,其特征在于,基于每一样本集合的最大分数计算所述拒绝阈值包括确定每一样本集合的最大分数中的最小值并从所述最小值中减去小偏移值。
4.如权利要求1所述的过程,其特征在于,用于训练所述组合分类器的所述训练数据集表示图像集合,并且其中所述训练数据集中的实例是脸。
5.如权利要求1所述的过程,其特征在于,还包括使用所述修剪分类器来检测新数据集中的实例的目标检测系统。
6.如权利要求1所述的过程,其特征在于,所述修剪分类器的弱分类器中的一个或多个连同它们对应的拒绝阈值被重新排序。
7.如权利要求1所述的过程,其特征在于,构成所述组合分类器的所述一系列弱分类器是从所述训练数据集中自动学习的。
8.一种其上存储有用于构造供在检测信号中的特定类型的信息的离散实例时使用的分类器集合的计算机可执行指令的计算机可读介质,所述计算机可执行指令包括:
接收(700)包括一系列弱分类器并包括用户选择的检测阈值(705)的已训练的组合分类器(305);
接收(700)训练数据(310),所述训练数据还包括在所述训练数据中表示的特定类型的信息的多个离散实例的地面真值标记;
接收(710)包括对应于所述离散实例中的每一个的一个或多个肯定样本的肯定样本集合;
使用所述组合分类器(305)来确定(710)所述肯定样本中的每一个的最终检测分数;
使用每一弱分类器来确定(710)所述肯定样本集合中的每一肯定样本的对应的中间分数;
从所述肯定样本的对应的中间分数中的至少一些中来计算(740、745、750)每一弱分类器的拒绝阈值(335);以及
通过集成所述拒绝阈值(335)与所述对应的弱分类器来构造(765)修剪分类器(345)。
9.如权利要求8所述的计算机可读介质,其特征在于,使用所述组合分类器来确定所述肯定样本中的每一个的最终检测分数还包括从所述肯定样本集合中移除肯定样本,其中所移除的肯定样本具有落在所述检测阈值之下的最终检测分数。
10.如权利要求8所述的计算机可读介质,其特征在于,从对应的样本的中间分数的至少一些来计算所述拒绝阈值包括:
标识并归组对应于所述离散实例中的特定一个的所有肯定样本;以及
对于每一弱分类器:
对于肯定样本的每一分组,从每一肯定样本分组中剩余的肯定样本的中间分数来计算最大分数,
基于每一肯定样本分组的最大分数来计算所述拒绝阈值,以及
在任何肯定样本具有小于所述拒绝阈值的中间分数时,从其对应的肯定样本分组中消除所述肯定样本。
11.如权利要求10所述的计算机可读介质,其特征在于,基于每一肯定样本分组的最大分数来计算所述拒绝阈值还包括,确定每一肯定样本分组的最大分数中的最小值,并从该最小值中减去小偏移值以确定所述拒绝阈值。
12.如权利要求8所述的计算机可读介质,其特征在于,构成所述已训练的组合分类器的所述一系列弱分类器是从所述训练数据中自动地学习的。
13.如权利要求12所述的计算机可读介质,其特征在于,从所述训练数据中自动地学习所述弱分类器包括用于将迭代权重修整和自引导过程应用于对应于从所述训练数据导出的离散实例中的每一个的大型肯定样本集合以学习每一弱分类器的参数的指令。
14.如权利要求8所述的计算机可读介质,其特征在于,所述训练数据表示一个或多个图像的集合,并且其中所述训练数据中表示的多个离散实例是每一图像中的脸的离散实例。
15.如权利要求14所述的计算机可读介质,其特征在于,还包括用于通过实时地捕捉图像并通过使用所述修剪分类器来处理这些捕捉的图像来提供对所捕捉的图像中的脸的实时检测以实现所述脸检测系统的指令。
16.一种用于构造供在实时目标检测中使用的组合分类器的方法,包括使用计算设备来:
接收(700)包括一系列弱分类器并包括目标检测阈值(705)的已训练的组合分类器(305);
接收(700)训练数据集(310),所述训练集合还包括在所述训练数据中表示的多个单独目标的地面真值标记;
接收(710)对应于所述单独目标中的每一个的一个或多个肯定样本的集合;
使用所述组合分类器来确定(710)所述肯定样本中的每一个的最终检测分数;
消除(710)具有低于所述目标检测阈值的最终检测分数的肯定样本;
对于每一弱分类器,确定(710)每一肯定样本的中间分数;
标识(715)并归组(735)对应于所述训练数据中表示的每一单独目标的所有剩余样本;
对于每一弱分类器,从每一样本分组的对应的中间分数中来计算(740、745、750)中间拒绝阈值(335);以及
通过组合所述拒绝阈值(335)与每一对应的弱分类器来构造(765)修剪分类器(345)。
17.如权利要求16所述的方法,其特征在于,计算每一弱分类器的所述中间拒绝阈值包括确定每一对应的弱分类器的每一样本分组的中间分数的最小值并从所述最小值中减去小偏移值。
18.如权利要求16所述的方法,其特征在于,所述训练数据表示图像集合,并且其中所述训练数据中表示的所述多个单独目标表示单独的脸;以及
其中实时脸检测系统是通过实时地捕捉图像并通过使用所述修剪分类器来处理这些所捕捉的图像以提供对所捕捉的图像中的脸的实时检测来实现的。
19.如权利要求16所述的方法,其特征在于,所述修剪分类器的弱分类器中的一个或多个的次序连同它们对应的中间拒绝阈值被重新排序。
20.如权利要求16所述的方法,其特征在于,构成所述修剪分类器的所述一系列弱分类器是使用肯定和否定样本的柱状图来从所述训练数据自动学习的,所述柱状图具有动态地确定的可变的格宽度和位置。
CN2008800240826A 2007-07-13 2008-07-01 用于学习高效级联检测器的多实例修剪 Expired - Fee Related CN101743537B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/777,464 US8010471B2 (en) 2007-07-13 2007-07-13 Multiple-instance pruning for learning efficient cascade detectors
US11/777,464 2007-07-13
PCT/US2008/068925 WO2009012056A2 (en) 2007-07-13 2008-07-01 Multiple-instance pruning for learning efficient cascade detectors

Publications (2)

Publication Number Publication Date
CN101743537A true CN101743537A (zh) 2010-06-16
CN101743537B CN101743537B (zh) 2013-01-23

Family

ID=40253954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800240826A Expired - Fee Related CN101743537B (zh) 2007-07-13 2008-07-01 用于学习高效级联检测器的多实例修剪

Country Status (5)

Country Link
US (1) US8010471B2 (zh)
EP (1) EP2181398B1 (zh)
CN (1) CN101743537B (zh)
TW (1) TWI466037B (zh)
WO (1) WO2009012056A2 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102210559A (zh) * 2010-04-02 2011-10-12 刘睿婷 带润滑组件的保温瓶盖
CN105138953A (zh) * 2015-07-09 2015-12-09 浙江大学 一种基于连续的多实例学习的视频中动作识别的方法
CN105760899A (zh) * 2016-03-31 2016-07-13 大连楼兰科技股份有限公司 基于分布式计算与检测代价排序的Adboost训练学习方法及装置
CN106663426A (zh) * 2014-07-03 2017-05-10 微软技术许可有限责任公司 生成对社交会话输入的计算机响应
CN106991363A (zh) * 2016-01-21 2017-07-28 北京三星通信技术研究有限公司 一种人脸检测的方法和装置
CN108431824A (zh) * 2015-12-23 2018-08-21 快图有限公司 图像处理系统
CN108968941A (zh) * 2018-05-25 2018-12-11 深圳市太空科技南方研究院 一种心律失常检测方法、装置及终端
CN110895506A (zh) * 2018-09-13 2020-03-20 北京京东尚科信息技术有限公司 测试数据的构造方法和构造系统
US10909969B2 (en) 2015-01-03 2021-02-02 Microsoft Technology Licensing, Llc Generation of language understanding systems and methods
US11532148B2 (en) 2015-12-23 2022-12-20 Fotonation Limited Image processing system
CN117540242A (zh) * 2016-09-19 2024-02-09 应用材料公司 时间序列故障检测、故障分类及转变分析

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315220B2 (en) 2010-04-13 2012-11-20 Nokia Corporation Channel access for cognitive networks
JP2011257805A (ja) * 2010-06-04 2011-12-22 Sony Corp 情報処理装置および方法、並びにプログラム
US8588519B2 (en) 2010-09-22 2013-11-19 Siemens Aktiengesellschaft Method and system for training a landmark detector using multiple instance learning
CN102479329A (zh) * 2010-11-22 2012-05-30 索尼公司 分类器生成装置和方法,检测图像中的对象的装置和方法
US8873840B2 (en) 2010-12-03 2014-10-28 Microsoft Corporation Reducing false detection rate using local pattern based post-filter
US8855369B2 (en) 2012-06-22 2014-10-07 Microsoft Corporation Self learning face recognition using depth based tracking for database generation and update
US9207760B1 (en) * 2012-09-28 2015-12-08 Google Inc. Input detection
JP2014153837A (ja) * 2013-02-07 2014-08-25 Osaka Univ 識別装置、データ判別装置、ソフトカスケード識別器を構成する方法、データの識別方法、および、プログラム
US9477753B2 (en) * 2013-03-12 2016-10-25 International Business Machines Corporation Classifier-based system combination for spoken term detection
US9317781B2 (en) 2013-03-14 2016-04-19 Microsoft Technology Licensing, Llc Multiple cluster instance learning for image classification
JP5808371B2 (ja) * 2013-08-28 2015-11-10 ヤフー株式会社 画像認識装置、画像認識方法及び画像認識プログラム
CN104680120B (zh) * 2013-12-02 2018-10-19 华为技术有限公司 一种人脸检测的强分类器的生成方法及装置
US9443198B1 (en) * 2014-02-27 2016-09-13 Amazon Technologies, Inc. Low latency cascade-based detection system
US9563855B2 (en) * 2014-06-27 2017-02-07 Intel Corporation Using a generic classifier to train a personalized classifier for wearable devices
US9489598B2 (en) * 2014-08-26 2016-11-08 Qualcomm Incorporated Systems and methods for object classification, object detection and memory management
US10460231B2 (en) * 2015-12-29 2019-10-29 Samsung Electronics Co., Ltd. Method and apparatus of neural network based image signal processor
US9858496B2 (en) * 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images
JP6794813B2 (ja) * 2016-12-13 2020-12-02 セイコーエプソン株式会社 電子時計
US10382770B2 (en) * 2017-02-06 2019-08-13 Google Llc Multi-level machine learning-based early termination in partition search for video encoding
TWI624793B (zh) * 2017-09-19 2018-05-21 財團法人成大研究發展基金會 物件偵測的適應系統與方法
CN107729877B (zh) * 2017-11-14 2020-09-29 浙江大华技术股份有限公司 一种基于级联分类器的人脸检测方法及装置
US11120338B2 (en) * 2017-11-20 2021-09-14 Colossio, Inc. Genetic generation of tools for convolutional neural network
US11107307B2 (en) 2018-05-01 2021-08-31 Ford Global Technologies, Llc Systems and methods for probabilistic on-board diagnostics
CN108720831B (zh) * 2018-05-12 2021-01-15 鲁东大学 一种基于导联深度神经网络的自动心律失常分析方法
CN112668786B (zh) * 2020-12-30 2023-09-26 国能信息技术有限公司 一种矿车车辆安全评估预测方法、终端设备和存储介质
CN117851244B (zh) * 2023-12-29 2024-06-18 云和恩墨(北京)信息技术有限公司 数据库故障检测方法和装置、电子设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3173040B2 (ja) * 1991-05-10 2001-06-04 ミノルタ株式会社 画像データ処理装置
CN1068688C (zh) * 1994-10-05 2001-07-18 吴胜远 一种文字信息处理方法和装置
US5793888A (en) * 1994-11-14 1998-08-11 Massachusetts Institute Of Technology Machine learning apparatus and method for image searching
US6804391B1 (en) * 2000-11-22 2004-10-12 Microsoft Corporation Pattern detection methods and systems, and face detection methods and systems
US7099510B2 (en) * 2000-11-29 2006-08-29 Hewlett-Packard Development Company, L.P. Method and system for object detection in digital images
US6697504B2 (en) * 2000-12-15 2004-02-24 Institute For Information Industry Method of multi-level facial image recognition and system using the same
US7024033B2 (en) * 2001-12-08 2006-04-04 Microsoft Corp. Method for boosting the performance of machine-learning classifiers
JP4210137B2 (ja) * 2002-03-04 2009-01-14 三星電子株式会社 2次icaを利用した顔認識法及びその装置
US7139738B2 (en) * 2002-06-27 2006-11-21 Koninklijke Philips Electronics N.V. Face recognition using evolutionary algorithms
US7194114B2 (en) * 2002-10-07 2007-03-20 Carnegie Mellon University Object finder for two-dimensional images, and system for determining a set of sub-classifiers composing an object finder
US7848566B2 (en) * 2004-10-22 2010-12-07 Carnegie Mellon University Object recognizer and detector for two-dimensional images using bayesian network based classifier
KR100682906B1 (ko) * 2004-12-09 2007-02-15 삼성전자주식회사 부스트 알고리즘을 이용한 영상의 얼굴 검출 장치 및 방법
KR100695136B1 (ko) * 2005-01-04 2007-03-14 삼성전자주식회사 영상의 얼굴검출장치 및 방법
JP4744918B2 (ja) * 2005-04-19 2011-08-10 富士フイルム株式会社 顔検出方法および装置並びにプログラム
US7286707B2 (en) * 2005-04-29 2007-10-23 National Chiao Tung University Object-detection method multi-class Bhattacharyya Boost algorithm used therein
EP2360629A3 (en) * 2005-05-07 2012-04-11 Stephen L. Thaler Device for the autonomous bootstrapping of useful information

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102210559A (zh) * 2010-04-02 2011-10-12 刘睿婷 带润滑组件的保温瓶盖
CN106663426A (zh) * 2014-07-03 2017-05-10 微软技术许可有限责任公司 生成对社交会话输入的计算机响应
US10909969B2 (en) 2015-01-03 2021-02-02 Microsoft Technology Licensing, Llc Generation of language understanding systems and methods
CN105138953B (zh) * 2015-07-09 2018-09-21 浙江大学 一种基于连续的多实例学习的视频中动作识别的方法
CN105138953A (zh) * 2015-07-09 2015-12-09 浙江大学 一种基于连续的多实例学习的视频中动作识别的方法
CN108431824A (zh) * 2015-12-23 2018-08-21 快图有限公司 图像处理系统
CN108431824B (zh) * 2015-12-23 2022-04-29 快图有限公司 图像处理系统
US11532148B2 (en) 2015-12-23 2022-12-20 Fotonation Limited Image processing system
CN106991363A (zh) * 2016-01-21 2017-07-28 北京三星通信技术研究有限公司 一种人脸检测的方法和装置
CN106991363B (zh) * 2016-01-21 2021-02-09 北京三星通信技术研究有限公司 一种人脸检测的方法和装置
CN105760899A (zh) * 2016-03-31 2016-07-13 大连楼兰科技股份有限公司 基于分布式计算与检测代价排序的Adboost训练学习方法及装置
CN105760899B (zh) * 2016-03-31 2019-04-05 大连楼兰科技股份有限公司 基于分布式计算与检测代价排序的训练学习方法及装置
CN117540242A (zh) * 2016-09-19 2024-02-09 应用材料公司 时间序列故障检测、故障分类及转变分析
CN108968941A (zh) * 2018-05-25 2018-12-11 深圳市太空科技南方研究院 一种心律失常检测方法、装置及终端
CN110895506A (zh) * 2018-09-13 2020-03-20 北京京东尚科信息技术有限公司 测试数据的构造方法和构造系统

Also Published As

Publication number Publication date
CN101743537B (zh) 2013-01-23
EP2181398B1 (en) 2015-04-08
WO2009012056A3 (en) 2009-03-26
WO2009012056A2 (en) 2009-01-22
TWI466037B (zh) 2014-12-21
EP2181398A4 (en) 2013-03-06
EP2181398A2 (en) 2010-05-05
US20090018980A1 (en) 2009-01-15
US8010471B2 (en) 2011-08-30
TW200912771A (en) 2009-03-16

Similar Documents

Publication Publication Date Title
CN101743537B (zh) 用于学习高效级联检测器的多实例修剪
US7890443B2 (en) Learning classifiers using combined boosting and weight trimming
CN110147726B (zh) 业务质检方法和装置、存储介质及电子装置
CN103299324B (zh) 使用潜在子标记来学习用于视频注释的标记
US7822696B2 (en) Histogram-based classifiers having variable bin sizes
US8401979B2 (en) Multiple category learning for training classifiers
CN103150580B (zh) 一种高光谱图像半监督分类方法及装置
Larios et al. Haar random forest features and SVM spatial matching kernel for stonefly species identification
CN113076994B (zh) 一种开集域自适应图像分类方法及系统
CN108304490B (zh) 基于文本的相似度确定方法、装置及计算机设备
Xu et al. Feature weighting via optimal thresholding for video analysis
CN108985360A (zh) 基于扩展形态学与主动学习的高光谱分类方法
Ahmad et al. A saliency-based approach to event recognition
Liu et al. Tomato pest recognition algorithm based on improved YOLOv4
Guntuboina et al. Deep learning based automated sports video summarization using YOLO
CN103324953B (zh) 视频监控多目标检测与跟踪方法
US8498978B2 (en) Slideshow video file detection
Chiaroni et al. Parametric information maximization for generalized category discovery
CN115082762A (zh) 基于区域建议网络中心对齐的目标检测无监督域适应系统
Davids et al. Hybrid multi scale hard switch YOLOv4 network for cricket video summarization
US20170293863A1 (en) Data analysis system, and control method, program, and recording medium therefor
AU2021102956A4 (en) A method for emperor penguin optimized event recognition and summarization for cricket highlight generation
CN112989869A (zh) 人脸质量检测模型的优化方法、装置、设备及存储介质
Dhariwal et al. Content Based Image Retrieval Using Normalization of Vector Approach to SVM
Heng et al. A compact joint distillation network for visual food recognition

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150511

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150511

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130123

Termination date: 20210701

CF01 Termination of patent right due to non-payment of annual fee