• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 42
    • 下载费用:30 金币  

    重庆时时彩坐标走势: 信息处理装置及其控制方法、以及电子设备.pdf

    关 键 词:
    信息处理 装置 及其 控制 方法 以及 电子设备
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201310618198.5

    申请日:

    2013.11.27

    公开号:

    CN103838570A

    公开日:

    2014.06.04

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20131127|||公开
    IPC分类号: G06F9/44; G06F12/08 主分类号: G06F9/44
    申请人: 佳能株式会社
    发明人: 伊藤嘉则; 野吕英生
    地址: 日本东京都大田区下丸子3-30-2
    优先权: 2012.11.27 JP 2012-259059
    专利代理机构: 北京怡丰知识产权代理有限公司 11293 代理人: 迟军
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201310618198.5

    授权公告号:

    ||||||

    法律状态公告日:

    2017.04.19|||2014.07.02|||2014.06.04

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明提供信息处理装置及其控制方法、以及电子设备。通过在考虑到存储器架构的情况下以使得能够进行高速访问的方式确定处理对象数据的访问方法来实现高速信息处理技术。根据该技术,在通过根据诸如识别字典的预定信息处理规则依次参照存储在主存储器中的所述处理对象数据的元素数据来进行信息处理的方法中,当生成所述信息处理规则时,基于用于将所述处理对象数据的元素数据存储在所述主存储器中的规则,所参照的元素数据的位置的记录以及缓存架构来确定提高缓存命中率的元素数据的参照顺序。

    权利要求书

    权利要求书
    1.  一种信息处理装置,该信息处理装置生成用于在包括处理器和存储器的目标系统中针对对象数据执行信息处理的信息处理规则,所述信息处理装置包括:
    输入单元,其被构造为输入关于所述目标系统的结构元素的结构信息;
    计算器,其被构造为根据所输入的结构信息,计算用于当所述处理器执行所述信息处理时对所述存储器中的所述对象数据的各位置的元素进行参照的参照负荷;以及
    确定单元,其被构造为使用由所述计算器计算出的所述参照负荷,确定表示要参照的所述元素的位置及其参照顺序的信息处理规则。

    2.  根据权利要求1所述的信息处理装置,其中,所述对象数据是图像数据或者特征量数据阵列。

    3.  根据权利要求1所述的信息处理装置,其中,所述信息处理是判别所述对象数据是否属于特定类的类判别处理。

    4.  根据权利要求1所述的信息处理装置,其中,当计算所述参照负荷时,所述计算器考虑用于提高所述处理器参照所述存储器中的数据时的效率的缓存架构,以及用于将所述对象数据的各元素存储在所述存储器中的预定位置的存储规则。

    5.  根据权利要求1所述的信息处理装置,其中,所述计算器在考虑到基于目前为止参照的所述处理对象数据的所述元素的位置的历史的缓存命中的情况下,计算所述参照负荷。

    6.  根据权利要求4所述的信息处理装置,其中,所述存储规则是光栅扫描模式,并且针对所参照的所述对象数据的元素,所述计算器通过假设在相应缓存行的范围内在水平方向上相邻位置的元素的低负荷,来计算所述参照负荷。

    7.  根据权利要求5所述的信息处理装置,其中,所述存储规则是Z排序模式,并且针对所参照的所述对象数据的元素,所述计算器通过假设在根据所述Z排序模式的布置中相应缓存行的范围内相邻位置的元素 的低负荷,来计算所述参照负荷。

    8.  根据权利要求5所述的信息处理装置,其中,所述缓存架构使用直接映射模式,并且所述处理对象数据的所述元素的位置的历史包括与各缓存行的一个或更多个在前参照位置相对应的信息。

    9.  根据权利要求5所述的信息处理装置,其中,
    所述缓存架构使用组相联缓存模式,并且
    所述处理对象数据的所述元素的位置的历史包括数量与所述组相联缓存模式的路数相等的在前参照位置相对应的信息。

    10.  根据权利要求1所述的信息处理装置,其中,所述确定单元以减少所述参照负荷的方式依次选择要参照的所述元素的位置,并且所述选择的顺序被确定为所述参照顺序。

    11.  根据权利要求1所述的信息处理装置,其中,所述确定单元在对执行所述信息处理所需的所有所述元素的位置进行选择之后,以减少所述参照负荷的方式确定所述参照顺序。

    12.  一种电子设备,该电子设备通过参照由根据权利要求1所述的信息处理装置生成的信息处理规则来针对对象数据执行信息处理。

    13.  一种信息处理装置的控制方法,该信息处理装置生成用于在包括处理器和存储器的目标系统中针对对象数据执行信息处理的信息处理规则,该控制方法包括:
    输入步骤,输入关于所述目标系统的结构元素的结构信息;
    计算步骤,根据所输入的结构信息,计算用于当所述处理器执行所述信息处理时对所述存储器中的所述对象数据的各位置的元素进行参照的参照负荷;以及
    确定步骤,使用在所述计算步骤中计算出的所述参照负荷,确定表示要参照的所述元素的位置及其参照顺序的信息处理规则。

    说明书

    说明书信息处理装置及其控制方法、以及电子设备
    技术领域
    本发明涉及用于针对存储在存储器中的诸如图像的数据进行高速计算处理的信息处理装置、信息处理装置的控制方法以及电子设备。
    背景技术
    传统上,已知如下信息处理方法及信息处理装置:针对存储在存储器中的诸如图像的多个元素数据项的阵列,通过根据预定规则依次参照特定位置的元素数据来进行计算处理并获得计算结果。
    例如,在“Rapid Object Detection using a Boosted Cascade of Simple Features”(P.Viola and M.Jones,IEEE Conference on Computer Vision and Pattern Recognition 2001)(下文中称为参考文献1)中提出了如下方法:使用Boosting型判别器(discriminator)来高速检测图像数据中的诸如人脸的对象物体。该方法对通过基于由机器学习预先获得的级联弱判别器的字典依次参照并计算滑动窗口(sliding window)内的预定位置的特征量而获得的积分进行累积,然后确定是中止(abort)计算还是该物体是最后的对象物体。
    被计算作为多个局部矩形内的总和值的线性和的Haar-like特征被用作要由各弱判别器参照的特征量。通过仅参照由原始亮度图像预先生成的、积分图像或称为区域求和表(summed area table)的图像中的四个点进行加/减处理,能够低负荷计算矩形内的总和值。
    作为要由各弱判别器参照的特征量,通过使用多个样本数据项进行预学习来选择当执行弱判别器时使判别性能最大化的特征量。此外,如果通过将目前为止的积分与由弱判别器计算出的积分相加而获得的累积积分尚未到达预定阈值,则中止后续计算以减少总计算量,从而提高速度。
    日本特许4553044号公报(下文中称为参考文献2)通过使用判别对 象亮度图像中针对各弱判别器进行预学习而确定的两个点之间的亮度差分作为特征量,实现了由类似于参考文献1中描述的多个弱判别器进行的高速判别处理。
    还提出了如下方法:通过将各自利用简单计算进行二进制判别的多个节点组合而创建多类判别器来实现高精度、高速度的多类判别。例如,在“Keypoint recognition using randomized trees”(V.Lepetit and P.Fua,IEEE Transaction on Pattern Analysis and Machine Intelligence,28(9):1465-1479,September 2006)(下文中称为参考文献3)中描述的称为随机树(randomized trees)的方法使用通过二进制树模式组合多个节点而获得的判别器,从而省略不必要的判别。此外,在“Keypoint recognition using Random Ferns”(M.Ozuysal,M.Calonder,V.Lepetit,and P.Fua,IEEE Transaction on Pattern Analysis and Machine Intelligence,32(3):448-461,March 2010)(下文中称为参考文献4)中描述的称为随机蕨(random ferns)的方法使用在同一分层内使用同一二进制特征的判别器,从而提出更高速度的多类判别器。
    如上所述,在针对例如图像进行判别处理的多种传统的信息处理方法中,仅关注判别器的计算量减少以提高速度。
    另一方面,在用于执行这种信息处理的诸如计算机的处理系统的电路中,存在各种存储器架构。例如,通常,经常使用包括DRAM和SRAM的架构,DARM具有大容量但从处理器进行访问费时,而SRAM被布置在处理器附近并且能够被高速访问,但具有小容量。
    这种架构中的一些架构通过从DRAM向SRAM一次传送具有预定大小的连续区域来提高速度,这被称为突发传送(bust transfer)。
    可选地,经常使用如下缓存机制:当对DRAM中的数据进行访问时将预定范围复制到SRAM,然后当下次参照该范围内的数据时仅对SRAM进行访问。提出了诸如直接映射模式和组相联缓存(set associative cache)等的各种模式作为缓存机制。
    为了针对数据进行高速计算处理,有效的是,不仅尽可能减少计算 量,而且除考虑到上述存储器架构以外还尽可能减少数据访问时生成的负荷(下文中称为参照负荷)。
    在日本特开2010-102584号公报(下文中称为参考文献5)中,判别器被划分成前半部和后半部,并且由前半部中的判别器参照的局部特征被限制为主扫描方向上的长线性形状??裳〉?,通过将像素限制在利用对像素进行隔行稀疏(thin out)而获得的范围内,来选择局部特征。这有利于从DRAM到SRAM的突发传送,从而实现了高速度。
    日本特开2005-190477公报(下文中称为参考文献6)描述如下处理:通过参照相当于判别处理字典的直方图来针对图像的各块进行判别处理。通过从正常顺序改变直方图的栈组(bin)的顺序,提高当参照直方图时的缓存命中率。
    参考文献1至参考文献4中公开的技术没有考虑用于执行信息处理的处理系统的存储器架构。参考文献5中公开的技术主要关注突发传送,但是没有直接地考虑缓存架构。参考文献6中公开的技术提高当参照预先生成的直方图(即,用于物体检测处理的判别处理字典数据)时的缓存命中率,但是没有考虑参照处理对象图像数据。
    发明内容
    鉴于上述问题而作出本发明,本发明提供了如下的信息获得技术:在考虑到用于实现依次参照构成图像数据的诸如像素的多个元素的处理的目标系统(target system)的硬件结构的情况下提高该处理的效率。
    本说明书的第一方面提供了一种信息处理装置,该信息处理装置生成用于在包括处理器和存储器的目标系统中针对对象数据执行信息处理的信息处理规则,所述信息处理装置包括:输入单元,其被构造为输入关于所述目标系统的结构元素的结构信息;计算器,其被构造为根据所输入的结构信息,计算用于当所述处理器执行所述信息处理时对所述存储器中的所述对象数据的各位置的元素进行参照的参照负荷;以及确定单元,其被构造为使用由所述计算器计算出的所述参照负荷,确定表示 要参照的所述元素的位置及其参照顺序的信息处理规则。
    本说明书的第二方面提供了一种电子设备,该电子设备通过使用由上述信息处理装置生成的信息处理规则,并且参照所生成的信息处理规则,来针对对象数据执行信息处理。
    本说明书的第三方面提供一种信息处理装置的控制方法,该信息处理装置生成用于在包括处理器和存储器的目标系统中针对对象数据执行信息处理的信息处理规则,该控制方法包括:输入步骤,输入关于所述目标系统的结构元素的结构信息;计算步骤,根据所输入的结构信息,计算用于当所述处理器执行信息处理时对所述存储器中的对象数据的各位置的元素进行参照的参照负荷;以及确定步骤,使用在所述计算步骤中计算出的所述参照负荷,确定表示要参照的所述元素的位置及其参照顺序的信息处理规则。
    根据本发明,由于在考虑到用于执行信息处理的目标系统的存储器架构的情况下,以使得能够进行高速访问的方式确定要处理的对象数据的访问方法,因此能够实现高速信息处理。
    通过以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
    附图说明
    图1是例示根据实施例的图像判别处理的字典的学习处理的流程图;
    图2A和图2B是分别示出用于根据本实施例的利用判别处理字典执行判别处理的目标系统的结构示例的框图;
    图3是用于说明根据本实施例的图像判别处理的过程的框图;
    图4A和图4B是用于说明根据本实施例的使用直接映射模式的缓存架构的应用的图;
    图5是示意性示出根据本实施例的级联Boosting型判别器的图;
    图6A和图6B是用于说明Boosting型判别器中的两种阈值确定方法的图表;
    图7是例示学习处理中的缓存命中确定处理的示例的流程图;
    图8是用于说明由Boosting型判别器进行的判别处理的过程的流程图;
    图9是用于说明滑动窗口处理的图;
    图10是用于说明根据实施例的当使用直接映射模式的缓存架构执行滑动窗口处理时的操作的图;
    图11是用于说明根据实施例的使用组相联模式的缓存架构的应用的图;
    图12A至图12C是用于说明用于将数据存储在存储器中的规则以及地址计算方法的示例的图;
    图13A至图13C是用于说明根据实施例的树型判别器和蕨型判别器的图;
    图14是例示根据本实施例的应用于蕨型判别器的学习处理的流程图;
    图15是例示根据本实施例的应用于蕨型判别器的二进制特征的重排处理的流程图;
    图16A至图16C是用于说明根据本实施例的应用于蕨型判别器的二进制特征的重排处理的示例的图;
    图17是例示由蕨型判别器进行的判别处理的示例的流程图;
    图18是例示缓存命中确定处理的另一示例的流程图;以及
    图19是示出应用于实施例的信息处理装置的结构的框图。
    具体实施方式
    图19是示出根据实施例的信息处理装置的结构的框图。如图19所示,该信息处理装置包括用于控制整个装置的CPU 1901、存储BIOS以及引导程序的ROM 1902、用于加载OS或应用并且用作CPU 1091的工作区的RAM 1903。该装置还包括用作大容量存储设备的硬盘(HDD)1904、键盘1905、诸如鼠标的指示设备1906、具有视频存储器并控制显 示处理的显示控制单元1907、例如由液晶显示器构成的显示设备1908以及用于与外部设备进行通信的接口(I/F)1909。在上述结构中,当将该信息处理装置通电时,CPU 1901执行ROM 1902中的引导程序,并且将存储在HDD 1904中的操作系统(OS)加载到RAM 1903。之后,CPU 1901将在OS之下存储在HDD 1904中的根据本实施例的应用程序加载到RAM 1903,并执行该应用程序。因此,该信息处理装置用作要开发的产品中的处理规则信息生成装置。
    在本实施例中,为便于描述,假设要开发的电子设备是数字照相机(摄像装置)。最近的许多数字照相机实现了诸如作为被摄体的人脸的识别的类(class)判别处理。在本实施例中,将描述如下情况:在考虑到关于要开发的数字照相机的硬件结构的信息的情况下,确定表示提高类判别处理的最优化效率(提高速度)的像素的参照顺序的信息。需要首先输入关于要开发的数字照相机的、包括处理器的硬件的信息(以下称为硬件结构信息)。假设经由接口1909输入该信息。在该情况下,经由接口1909的输入源可以是诸如网络储存器或USB存储器的任何类型的存储介质。在所输入的硬件结构信息中,描述处理器内核数、缓存存储器的大小和模式(scheme)、主存储器(在许多情况下是DARM)的容量以及数据总线的总线宽度(位数)。以下将描述本发明的实施例。
    [第一实施例]
    <图像判别处理基本系统结构>
    图2A示出了要开发的数字照相机中的、由硬件结构信息表示的处理器周围的结构。使用该结构,将描述如下情况:生成用于当执行判别图像是否属于特定类的类判别处理时定义元素数据(像素)的有效参照顺序的信息(信息处理规则)。
    请注意,在本说明书中,在下文中,图2A所示的用于执行如同类判别处理的信息处理的处理系统(在本实施例中为数字照相机)将被称为目标系统。当该目标系统执行信息处理时,该目标系统使用利用诸如机器学习技术的技术而预先生成的信息处理规则。用于执行生成信息处理 规则的处理的处理系统可以与目标系统不同。
    图3是用于说明根据本实施例的作为由目标系统执行的信息处理的图像类判别处理的概要过程的框图。
    在图2A所示的目标系统中,附图标记201表示将系统的结构元素互连并使得能够进行数据和信号的交换的系统总线;202表示进行各种计算操作和数据处理的诸如CPU的处理器内核。请注意,将该系统作为仅包括一个处理器内核的单处理器结构来进行说明。然而,本发明并不限于此。主存储器204存储要经历处理器内核202的计算处理的数据以及要执行的处理程序。主存储器204通常由具有相对较大的存储容量但低速度的DRAM构成。处理器内核202通过经由缓存架构203访问主存储器204等来提高速度?;捍嫱ǔS蒘RAM构成,SRAM的速度通常比DRAM高几十倍,但具有相对较小的存储容量。稍后将描述根据本实施例的缓存架构。附图标记205表示控制针对用户或该系统的外部的输入/输出的输入/输出接口;206表示永久性地存储要由该系统执行的程序、参数等的诸如硬盘设备的大容量非易失性存储设备。请注意,在该系统通电时,将要由该系统执行的程序从硬盘设备206传送到主存储器204,处理器内核202依次读取并执行主存储器204上的程序指令。
    为了执行根据本实施例的图像类判别处理,如图3中的附图标记301所示,输入或接收判别对象图像。在本实施例中,为了便于描述,输入处理对象图像(处理对象数据)具有16×16像素的固定像素大小。输入图像是RGB彩色图像。处理对象图像已经被存储在HDD 206中。请注意,图像的源可以是数字照相机或图像扫描器,并且可以使用任何类型的图像(诸如由描绘(rendering)应用生成的图像)。
    执行图3中的预处理302。在本实施例中,假设图像经历单色亮度图像生成处理、对比度校正处理以及高斯(gaussian)模糊处理而不改变图像的大小。请注意,在该阶段中,要经历类判别处理的图像是单色多值图像数据,该单色多值图像数据的各像素包括8位。请注意,本发明也不限于上述输入图像和预处理的组合,可以应用于输入图像和预处理的 任意组合。
    经历了预处理302的处理对象图像被存储在主存储器204中的预定地址。判别处理字典303(即,信息处理规则)最初被存储在硬盘设备206中,并且在该系统通电时被传到主存储器204中的预定地址。在图3所示的判别处理304中,处理器内核202依次参照判别处理字典303的内容,并根据由判别处理字典303定义的处理规则针对存储在主存储器204中的预定地址的处理对象图像执行处理。稍后将详细描述此时执行的处理。
    如附图标记305所示,输出判别处理结果,并将其发送到用户、外部装置或后处理。
    <直接映射模式>
    在本实施例中,目标系统的缓存架构203被构成为使用直接映射模式。以下将参照图4A和图4B描述根据本实施例的缓存架构。
    缓存的基本单位被称为缓存行(cache line)?;捍嫘锌梢跃哂懈髦执笮?,并且缓存行的大小通常被设置成2的幂字节。在本实施例中,为了便于描述,假设目标系统的数据总线宽度被设置为8位并且缓存行被设置为4字节。
    请注意,在许多现有系统中,数据总线宽度是32位或更大,而缓存行通常具有大的缓存行大小,诸如32字节或更大。虽然在本实施例中将说明具有一段(stage)缓存结构的目标系统,但是存在从L1缓存至L3缓存的具有多段结构的缓存架构。在多段缓存架构中,容量通常远离处理器内核而增加,而行大小倾向于相应地增加。然而,显然地,如下所述,本发明的基本原理同样是适用的。
    参照图4A,附图标记401表示构成目标系统的缓存存储器的、称为数据阵列的存储器。数据阵列的一个矩形代表缓存行?;捍娲娲⑵靼ㄋ饕?至7的8行。即,缓存存储器的容量为4×8=32字节。请注意,与缓存行的大小类似,在许多情况下,实际的缓存存储器具有大量行,并且可以具有几千字节(Kb)到几百万字节(Mb)的总容量。在本实施 例中,缓存存储器具有八行。虽然在本实施例中描述了最简单的结构,但是很明显,通过用实际使用的缓存结构替换该结构,本发明是适用的。
    附图标记403表示用于存储判别对像图像数据404的主存储器204的一部分。各储元(cell)包括4字节,并且存储在水平方向上的4个连续像素的数据。在本实施例中,如上所述,判别对像图像数据404包括16×16个像素。因此,在上述缓存行结构中,包括第一行的奇数行上的16×8个像素的数据被存储在主存储器403的左半区中,包括第二行的偶数行上的16×8个像素的数据被存储在主存储器403的右半区中。
    被分配给数据阵列401的各行的主存储器204中的地址范围被设置为相互不同。
    如图4B所示,可以通过从最低有效位(LSB)起将相应行内的位置411、行索引412以及标签413连结(concatenate)而依次获得存储器地址。在本实施例中,行大小是4字节,因此需要2位来表示位置。此外,由于行数是八,因此行索引包括3位。假设该系统中的总线的地址空间是16位。在该情况下,剩余的11位表示标签(虽然许多现有的实际系统具有诸如32位或64位的更大的地址空间,并且缓存的行大小自然也更大,但是相同的描述适用这些系统)。
    数据阵列的各行分配有主存储器中的地址的3位行索引与该行的行索引(0至7)一致的区域。例如,行409分配有具有包括主存储器中的行索引0的地址的区域。在主存储器403的部分中,通过图4A中的箭头(例如箭头410)与各缓存行相关联的、具有4字节行宽度的列指示主存储器中分配给缓存行的范围。即,当处理器202访问图4A所示的矩形(各矩形包括4字节)411中的一个时,该四字节被存储在缓存的数据阵列的行409中,该行409的行索引为0并且由虚线表示。以这种方式,当处理器202访问主存储器中的任意地址时,包括该地址的一字节的一个缓存行(即,四字节)的数据被存储在缓存的数据阵列的分配有该地址的行存储器中。如果处理器202读出在相同范围内的其他地址的数据,则读取在缓存203的数据阵列401的该行上存储的值,而不访问主存储器 204,从而实现非常高速度的访问。
    此时,标签阵列402管理数据阵列的对主存储器的各个地址的值进行存储的行。标签阵列对当前存储的存储器地址的标签值进行存储。如果处理器202读出给定地址,则如图4B所示,该地址被划分,并且确定访问地址的标签值是否与对应于访问地址的行索引的标签阵列的值一致。如果值相互一致,则期望的数据已经被存储在数据阵列中,因此读出缓存203中的值,而不进行经由系统总线201对主存储器204的访问。请注意,由并入缓存的专用硬件部件以非常高的速度进行确定以及访问的切换。
    对于处理器202将数据写入主存储器中的情况,同样适用。然而,需要在适当的定时将数据从缓存203写回(刷新)到主存储器204。如果该系统包括多个总线主控器(bus master),例如,如果系统是多核系统,则需要进行控制以不引起因访问定时而产生的不匹配(以维持缓存一致性),将省略其详细描述。
    在使用直接映射模式的缓存中,数据阵列401包括各行索引的一行和一个标签。因此,如果对分配给主存储器中的同一行的其他地址进行访问,则缓存行的内容被替换。这被称为系统颠簸(trashing)。每次发生系统颠簸时,访问主存储器。因此,系统颠簸的发生次数越少,则能够以更高的速度进行处理。
    例如,如果参照像素405并且然后参照像素406,则发生缓存命中,由此能够实现非常高速度的访问,从而导致低参照负荷。然而,如果在参照像素405之后参照像素407,则除非在之前访问过与像素407同一行内的像素,否则访问速度低。如果在参照像素405之后参照像素408,然后参照像素406,则针对索引1的行发生两次系统颠簸,从而导致高参照负荷。如上所述,在本实施例中,如果针对参照的像素发生缓存命中,则计算出低参照负荷;否则,计算出高参照负荷。
    <Boosting判别器>
    图5是示出根据本实施例的用于进行图像判别处理的Boosting型判 别器的示意图。在本实施例中,由图2所示的目标系统执行的程序实现该判别器。如在参考文献1中,该判别器由多个级联弱判别器501至503构成。请注意,图5所示的判别器在各弱判别器进行中止确定(如同日本特开2010-165046号公报),而不是如同参考文献1在段结构的各段进行中止确定。然而,根据本发明,其中任一结构都是可行的。
    第一弱判别器501接收经历了预处理的处理对象图像。各弱判别器计算接收图像中的预定特征量。在本实施例中,对图像中针对各弱判别器的不同位置的点进行参照,并且该点的像素值被设置为特征量。各弱判别器将特征量的量值与预定判别阈值进行比较(量值比较关系针对各弱判别器而不同)。如果比较结果是真,则获得判别结果hk(x)=1;否则,获得判别结果hk(x)=-1。请注意,x表示判别对象输入图像,k=1,2,...表示弱判别器数。将针对各弱判别器的参照点的位置登记为上述判别字典中的字典数据。
    请注意,可以输入积分图像来通过参照四个点计算多个矩形内的总和值,通过将各总和值乘以预定系数并且对乘积的结果求和而获得的值可以被设置为特征量(如参考文献1)??裳〉?,通过参照预定位置的两个点并且将这些点的值的量值进行相互比较,能够获得判别结果。在本实施例中,为了便于说明,采用针对各弱判别器通过参照一个点而获得的特征量。然而,本发明显然可应用于参照多个点的情况。
    作为各弱判别器的字典数据,登记与上述判别阈值不同的可信度αk和判别阈值Tk??尚哦圈羕和判别阈值Tk是在学习第k个弱判别器时确定的参数。由αkhk计算各弱判别器的判别结果积分。各弱判别器将各自的判别结果积分与从前一段弱判别器发送的累积积分相加,并且基于判别阈值Tk进行中止确定。即,由以下公式给出在第t段进行的中止确定:
    Σk=1tαkhk(x)>Tt....(1)]]>
    如果满足不等式(1),则处理继续,并且弱判别器向下一段弱判别器发送由以下公式给出的相加得出的累积积分:
    Σk=1tαkhk(x)]]>
    即,参照图5,第二弱判别器502及其后续弱判别器中的各个将前一段弱判别器的累积积分与处理对象图像一起接收。
    如果在最后的弱判别器503未中止处理,则确认判别结果是正(positive)。此时的累积积分表示输入图像包括判别对象物体的“可能性”。
    <Boosting学习处理>
    将参照图1所示的流程图来描述根据本实施例的生成Boosting型判别器的判别字典的学习处理??梢栽谕?A所示的目标系统上执行该学习处理,或者可以利用诸如更高速度的超级计算机或者PC集群的其他系统执行该处理。本发明不限制学习处理的执行环境。
    下面将描述根据本实施例的学习算法。
    在步骤S101中,输入要用于学习的大量样本数据。学习数据以预定比率包括判别对象图案(诸如脸图像数据的正样本)以及非判别对象图案(诸如如同背景的非脸图像数据的负样本)。请注意,样本数据经历了必要的预处理,诸如亮度图像生成处理以及高斯滤波处理。
    在步骤S102中,初始化学习数据集的各样本数据项的加权因子。设i为学习数据项的总数(包括正样本和负样本)。然后,所有加权因子被均等地初始化,由以下公式给出:
    w1,I=1/m,m=1,...,m   ...(2)
    其中,t表示当前用于学习的弱判别器数并且初始值为1,i表示学习数据数。即,在第一段的弱判别器的学习中,对所有样本数据分配共同的权重。
    在步骤S103中,初始化参照记录表。参照记录表用于依次存储由紧接本步骤之前已经进行学习的各段的弱判别器参照的特征像素的位置。该表被清除为未保持位置信息的初始状态。
    参照记录表用于通过模拟目标系统的缓存架构来进行缓存命中确 定。如果目标系统的缓存使用直接映射模式,则需要使得参照记录表能够保持针对各行索引的紧接本步骤的至少一个或更多个访问记录。
    请注意,取代按照原样将参照像素位置信息保持作为参照记录表,为了应对目标系统的架构,通过将参照像素位置信息转换为与参照图4描述的标签阵列等同的信息来间接地保持参照像素位置信息。
    在步骤S104中,对加权因子进行归一化处理,由以下公式给出:
    Wt,i&LeftArrow;wt,iΣj=1mwt,j...(3)]]>
    请注意,当第一次执行步骤S104时,在进行第一段的学习时,加权因子w1,I已经被设置为步骤S102中设置的值(公式(2)),并且已经满足公式(3)。即,步骤S104是以如下方式进行归一化的处理:在第二判别器或后续判别器的学习中,加权因子w1,i的总和值变为1。
    在步骤S105中,选择要由弱判别器参照的像素值特征的一个候选位置。候选位置可以是处理对象图像中的任意点,或可以在限制为某种程度的范围内选择。如果使用通过参照多个点而获得的特征(诸如上述矩形特征或者或者像素差分),则预先准备特征候选的多个组合并且选择其中的一个。
    在步骤S106中,针对所选择的特征候选进行判别性能评价。针对所有学习样本数据中的各个,参照特征候选的位置的像素值,并且确定用于区分判别对象与非判别对象的阈值θt,j。请注意,t代表正在进行学习的弱判别器数,j代表特征候选数。
    利用使用所有学习样本数据创建的参照像素值直方图来确定阈值。图6A示出了判别对象数据直方图602和非判别对象数据直方图601的示例。横轴代表特征候选位置的参照像素值(特征值),纵轴代表参照像素值是相应值的样本数据项数。利用该直方图确定用于最优区分判别对象与非判别对象的阈值θt,j。通过在参照像素值大于阈值θt,j情况下确定判别对象,而在参照像素值小于阈值θt,j情况下确定非判别对象,非判别对象被错误地确定为判别对象或者判别对象被错误地确定为非判别对象的 “误差率”变得最小。如果判别对象数据直方图602和非判别对象数据直方图601的峰值在水平方向上相反的位置出现,则与阈值的量值比较关系被反转。即,如果参照像素值小于阈值θt,j,则确定判别对象,而如果参照像素值大于阈值θt,j,则确定非判别对象。
    使用所确定的阈值θt,j和由公式(3)归一化的加权因子,计算针对所有学习样本数据的加权判别误差率。由以下公式给出加权判别误差率:
    Et,j=Σiwt,i|ht,j(xi)-yi|...(4)
    请注意,i代表学习样本数据数,xi代表各学习样本数据项。ht,j(xi)表示基于特征候选j的学习样本数据xi的判别结果,并且如果利用先前确定的阈值θt,j和量值比较关系输入对象数据xi被确定为判别对象,则输出1,或者如果输入对象数据xi被确定为非判别对象,则输出-1。yi表示正确回答标记(answer label)(教学标记teaching label),并且根据第i个样本数据是否是判别对象而被分配1或-1。加权误差率Et,j是针对ht,j(xi)等于yi的样本的与0相加的总和值,或者针对ht,j(xi)不等于yi的样本的与2wt,j相加的总和值。
    在步骤S107中,利用参照记录表进行当参照特征候选的像素位置时的缓存命中确定。如果针对特征候选的像素发生缓存命中,则其参照负荷低;否则,发生系统颠簸,从而导致高参照负荷。请注意,参照负荷表示当如上所述目标系统访问数据时生成的负荷。根据图7所示的流程图进行该确定处理。
    在步骤S701中,利用特征候选的像素位置的坐标以及处理对象图像的存储区的首地址(first address),计算存储参照像素的像素值的存储器地址。此时使用的首地址是被设置为目标系统的存储器中的处理对象图像存储区的首地址,并且与正在进行学习处理的目标系统的存储器地址不相关。
    在步骤S702中,由计算出的参照像素位置的地址获得标签值和索引值。为此,如参照图4B所述,仅需要从地址值中取出预定范围的位串。在本实施例中,如上所述,索引值由3位表示,而标签值由11位表示。
    在步骤S703中,通过参照参照记录表,确定是否发生缓存命中。参照记录表依次存储目前为止访问的像素位置。模拟标签阵列以创建用于保持等同信息的表,从开始起依次取出参照像素的位置信息,并且如同步骤S701和S702计算标签值和索引值,从而更新与标签阵列相对应的信息。由于这样能够再生与当访问当前特征候选的像素位置时的标签阵列相对应的信息,因此能够基于与在步骤S702中取出的标签值相同的值是否存储在具有在步骤S702中取出的索引值的行中,来进行缓存命中确定。请注意,如上所述,取代按照原样将像素位置的坐标的记录保持作为参照记录表,显然也可以预先将各记录转换为与标签阵列相对应的信息并对其保持。
    在步骤S704中返回命中确定结果。请注意,如果使用通过如上所述参照多个点获得的特征,则仅需要确定当按照预定顺序依次参照各点时是否发生缓存命中,并且将此时的平均值设置为作为确定结果返回的缓存命中率。
    由ct,j表示步骤S107中的缓存命中确定结果,如果发生命中则取值为1,而如果未发生命中则取值为0。如果ct,j被计算为命中率,则取值0与1之间。
    在步骤S108中,基于在步骤S107中确定的缓存命中确定结果(或者命中率),计算访问处罚(access penalty)Pt,j并且将访问处罚Pt,j与加权误差率Et,j相加。参照负荷越高,访问处罚Pt,j取值越大,由以下公式给出:
    Pt,j=K(1-ct,j)
    其中,K代表用于调整参照负荷被考虑作为处罚的比率的预定正系数。即,如果在步骤S107中确定缓存命中,则Pt,j=0;否则Pt,j=K。如果确定结果被计算为缓存命中率,则取值为0与K之间。由以下公式给出通过考虑访问处罚而获得的误差率EPt,j:
    EPt,j=Σiwt,i|ht,j(xi)-yi|+K(1-ct,j)....(5)]]>
    请注意,取代缓存命中率,与通过参照特征候选计算特征量的目标系统所需的系统时钟的总数成比例的值可以用作访问处罚Pt,j。
    通过步骤S109中的重复处理,针对所有特征候选进行上述步骤S105至步骤S108中处理,然后针对各特征候选获得由公式(5)表示并且通过考虑访问处罚Pt,j而获得的误差率EPt,j。
    在步骤S110中,选择具有计算出的误差率EPt,j(通过针对所有特征候选考虑访问处理Pt,j而获得)中的最小误差率的特征候选j(在本实施例中对应于候选像素特征的位置)(argmin(EPt,j)),并且将特征候选j设置为第t个弱判别器的特征量,从而确定参照像素位置。请注意,由Et表示在与所选择的特征的访问处罚Pt,j相加之前的误差率Et,j。使用步骤S106中的特征候选j确定的阈值θt,j被设置为判别阈值θt。
    在步骤S111中,更新参照记录表。在本示例中,所确定的第t段的参照像素的位置信息被另外存储在参照记录表中。(或者,如果位置信息被保持作为与标签阵列相对应的信息,则在图7的步骤S701和S702中计算地址并获得标签值和索引值,并且覆写具有所获得的索引值的标签信息。)
    在步骤S112中,通过以下公式计算与当前弱判别器相对应的可信度αt:
    αt=log(1-EtEt)....(6)]]>
    在步骤S113中,确定中止阈值。在本示例中,使用利用所有学习样本数据而创建的累积积分值的直方图。由以下公式给出累积积分:
    Σk=1takhk(x)]]>
    图6B示出了判别对象数据的累积积分值直方图604和非判别对象数据的累积积分值直方图603。确定中止阈值,使得要中止的数据与判别对象数据的比(要中止的正数据项数/正数据项总数)落入预定容许范围。要中止的正数据项数表示累积积分直方图604中的中止阈值的左侧的正数据项总数。要中止的负数据项数优选地更大,因此不需要考虑负数据。
    存储如下参数作为第t个弱判别器的字典数据:由此确定的参照像素位置、可信度αt、判别阈值θt、量值比较关系以及判别阈值Tt。
    在步骤S114中,由以下公式更新针对各学习样本数据项的加权因子:
    wt+1,i=wt,i×(Et1-Et)...(7)]]>
    请注意,根据公式(7)更新的加权因子wt,j仅表示正确判别的学习数据i的加权因子。由于误差率Et通常具有小于0.5的值,所以被正确判别的样本数据(正数据和负数据)的加权因子wt,I被更新为更小。因此,错误判别的样本数据的加权因子wt,i相对较大。
    在以上处理中(步骤S104至S114)另外生成第t个弱判别器之后,在步骤S115中确定满足预定完成条件的判别器是否完成。当弱判别器数到达预设上限数,或者当误差率Et变为小于实现期望性能的预定值时,满足预定条件。如果未满足该条件,则处理返回到步骤S104以继续另外生成弱判别器的处理。
    <Boosting型判别处理>
    类似于通常的Boosting型判别处理,根据图8所示的流程图,在目标系统上执行利用如上所述生成的判别处理字典的判别处理。
    在步骤S801中,输入判别对象图像x。请注意,该图像已经经历诸如亮度图像生成处理和高斯模糊处理的上述预定预处理。
    在步骤S802中,选择第一段的弱判别器(处理段t=1)。
    在步骤S803中,参照判别处理字典,并且参照如下作为所选择的处理段的弱判别器的特征的参数:参照像素位置、可信度αt、判别阈值θt、量值比较关系以及判别阈值Tt。
    在步骤S804中,进行第t个弱判别器的判别处理。如上所述,使用所参照的判别阈值θt和量值比较关系来计算各弱判别器的判别结果ht(x),然后由以下公式计算累积积分值:
    Σk=1tαkhk(x)]]>
    在步骤S805中,如果根据不等式(1)确定累积积分不大于判别阈值Tt,则处理将被中止,因此,处理进行到步骤S808以确认输入判别对象图像x不是判别对象(负)。
    如果在步骤S805中确定累积积分大于判别阈值Tt并且处理继续,则处理进行到步骤S806以检查所执行的弱判别器是否是最后段的判别器。如果该弱判别器不是最后段的判别器,则处理返回到步骤S803以执行下一段弱判别器的判别处理。
    如果到达了最后段的弱判别器,则处理进行到步骤S807以确认输入判别对象图像x是判别对象,即“正”。
    如上所述,在本实施例中,通过当在依次选择各段的弱判别器的特征时,除了判别性能之外,还在考虑到用于执行判别处理的目标系统的缓存架构的情况下考虑所获得的访问处罚,抑制系统颠簸的发生。这能够生成实现良好的判别性能和高速度的、Boost型判别器的判别处理字典。
    [第二实施例]
    <滑动窗口处理>
    当从大图像中检测诸如人脸的期望物体时,经常进行与滑动窗口处理组合的判别处理。例如,在参考文献1中也使用滑动窗口处理。
    图9是用于说明滑动窗口处理的图。附图标记900表示输入图像;901是在输入图像900上设置的具有预定大小的滑动窗口(子窗口)?;翱?01在输入图像900上从左上角向右移动预定数量个像素。当滑动窗口901到达右边缘时,其向位于下方预定数量个像素的位置的左边缘移动,并且继续向输入图像900的右下角移动?;翱?01每移动一次,就提取滑动窗口内的图像并将其输入到与第一实施例相同的判别器,从而判别该图像是否是判别对象图像。即,在被确定为图像是判别对象的滑动窗口的位置检测到存在期望物体。
    本发明还应用于进行与滑动窗口处理组合的检测处理的情况。
    如果滑动窗口内的图像被输入到判别器,则通过将图像从原始输入 图像复制到存储器的另一区域来执行处理是低效率的。由于滑动窗口移动的像素数可以被设置为一个,因此这种操作导致多个存储器复制处理。为了避免这种情况,通常通过设置滑动窗口在输入图像上的区域位置并且参照判别器将输入图像直接存储到的存储器区域,来执行判别处理。
    图10是用于说明本发明在包括滑动窗口处理的检测处理中的应用的图,并且示出了目标系统的缓存架构。虽然根据本实施例的目标系统包括使用如同第一实施例的直接映射模式的缓存,但是本发明的应用不限于此。
    为了便于描述,在图10所示的缓存中,缓存的(缓存行大小×行数)与要处理的输入图像的宽度的像素数一致。即,行数大于以上参照图4的描述的缓存的行数。这是为了便于说明,并且显然本发明可应用于不满足以上条件的情况。请注意,在图10中省略了标签阵列和行索引,但是如同图4,标签阵列和行索引实际上存在。假设如同图4,1个缓存行的容量是4字节。
    参照图10,附图标记1001表示数据阵列;1002表示存储图9所示的输入图像900的主存储器的部分。与图4类似,数据阵列1001的各行分别分配有主存储器的部分1002的各区域(如箭头所示)。
    附图标记1003表示布置在输入图像的左上角的滑动窗口(假设该其具有10×10个像素的大?。?。如附图标记1004和1005所示,滑动窗口滑动一个像素。
    当滑动窗口位于位置1003时,如同第一实施例,能够确定针对在参照像素位置1006之后要参照的各像素位置是否发生缓存命中。例如,如果参照位于位置1007的像素,则发生缓存命中。然而,针对位置1008未发生缓存命中。如果参照位置1009,则发生系统颠簸。
    当与滑动窗口处理组合时,针对滑动窗口设置各特征的参照像素位置。即,当滑动窗口移动时,一个特征的参照像素位置相对移动。
    因此,如果滑动窗口移动到位置1004,则对与当滑动窗口处于位置1003时参照的各特征的像素位置的右侧紧邻的像素进行参照。即,当滑 动窗口处于位置1004时,即使参照处于位置1006的像素然后参照处于参照位置1007的像素,也不发生缓存命中。
    即使当用于与滑动窗口处理组合的检测处理时,基本上也能够通过参照图1描述的学习处理过程生成判别处理字典。请注意,缓存命中确定结果不仅取决于参照记录,还取决于需要考虑的滑动窗口的位置。因此,在本实施例中,取代在第一实施例中描述的图7所示的处理,图18所示出的处理被用作图1的步骤S107中的缓存命中确定处理,来计算在0与1之间的缓存命中率ci,j。
    请注意,在本实施例中,预先提取作为图1的步骤S101中设置的学习数据而输入的图像,以使该图像具有滑动窗口的大小。即,在用于学习处理的系统中,存储器中存储学习图像的位置与判别处理中的判别对象数据的存储位置不相关。在学习处理中,通过以下假设(模拟)进行下面的命中率计算:由具有与学习图像相同的大小的滑动窗口设置要经历滑动窗口处理的大图像的部分的位置,并且对该部分进行参照。
    参照图18,滑动窗口的估计位置的偏移(offset)被设置为0。这对应于将滑动窗口的位置设置为主存储器上的缓存行的任一行的开始。例如,该位置被设置为图10所示的位置1003。请注意,如果滑动窗口的位置的偏移,即,滑动窗口从缓存行的开始向右滑动的像素数分别彼此相等,则获得是否发生缓存命中的相同确定结果。例如,当滑动窗口位于图10所示的位置1010时的给定参照像素候选的命中确定结果与滑动窗口位于位置1003时获得的确定结果相同?;翱谖挥谖恢?011时获得的命中确定结果与滑动窗口位于位置1004时获得的确定结果相同。因此,能够通过针对缓存行宽度的偏移进行命中确定来整体计算缓存命中率(平均值)。
    在步骤S1802中,计算当滑动窗口处于偏移位置时目标系统上参照像素候选的位置的存储器地址。虽然该处理与图7的步骤S701的处理相同,但是通过将x坐标向右移动该偏移来计算地址。
    在步骤S1803中,与图7的步骤S702类似地,由所计算出的地址获 得标签值和索引值。
    在步骤S1804中,通过参照参照记录表,进行缓存命中确定。此时,如同图7的步骤S703,通过模拟标签阵列进行确定。然而,当从参照记录表中取出参照像素的位置信息时,与步骤S1803类似地,通过将x坐标与偏移相加来计算地址。请注意,如果参照记录表被转换为与标签阵列相对应的信息并被保持,则记录根据偏移位置而改变,由此需要存储与针对各偏移位置的标签阵列相对应的不同信息。
    在步骤S1805中,临时存储是否发生命中的确定结果。在步骤S1806中,确定针对缓存行宽度的偏移是否完成命中判别。如果命中判别尚未完成,则在步骤S1807中计算下一偏移值。在本示例中,将滑动窗口一次滑动的宽度(步长)与当前的偏移值相加。请注意,该步骤的像素数是能够分割缓存行宽度的像素数的值。然后处理返回到步骤S1802以进行下一位置偏移的缓存命中确定。
    如果完成针对缓存行宽度的命中确定,则在步骤S1808中通过获得缓存命中的总数并将所确定的偏移数设置为分母来计算缓存命中率,从而完成处理。
    如上所述,根据第二实施例,本发明还可应用于与滑动窗口处理组合的期望物体检测处理,从而能够生成实现检测性能和高速度的判别处理字典。
    [第三实施例]
    <组相联缓存>
    本发明还可应用于使用具有其他类型的缓存架构的目标系统的情况。
    图11示出了使用2路(2-way)组相联缓存模式的缓存架构。假设该缓存具有4字节的缓存行大小以及用于8列的行索引0至7,类似于图4所示的直接映射模式。
    使用组相联模式的缓存的数据阵列分配有针对各行索引的多行的容量。分配给各索引的行数被称为路数。图11所示的缓存具有2路。
    标签阵列被构造为保持数量等于各索引的路数的标签。参照图11,各上标签存储用于管理相应上行的信息,各下标签存储用于管理相应下行的信息。标签阵列的各标签分配有存储各上行或下行的最后访问时间的时间戳保持区(未示出)。
    直到从访问地址取出索引和标签的缓存命中确定都与直接映射模式中的相同。如果所取出的标签与对应于索引的上标签和下标签中的一个一致,则确定命中。与访问数据阵列的相应缓存行同步地,更新时间戳保持区的最后访问时间。
    如果未发生缓存命中,则参照时间戳保持区,选择在最早时间访问的标签,并且使用包括新地址的行的内容替换相应行的内容。(即,在最早时间访问的行经历系统颠簸)。与此同时,更新最后访问时间。
    本发明甚至可应用于当目标系统具有图11所示的缓存架构的情况,并且能够根据例如图1所示的学习处理过程生成判别处理字典。在该情况下,显然根据如上所述的图11所示的架构进行步骤S107中的缓存命中确定。与直接映射模式不同,各索引具有2行,因此命中率增大并且难以发生系统颠簸。
    参照图11,例如考虑如下状态:将判别对象图像1104的行分别存储在图4A所示的左区和右区中。将描述访问像素1105、访问像素1107、然后访问像素1106的情况。此时,在图4A所示的直接映射模式中,系统颠簸发生两次。在图11所示的缓存中,两行都被保持在缓存中。因此,当访问像素1106时,发生缓存命中。
    在图11所示的2路架构中,针对各行,参照记录表需要保持至少两个过去的访问历史??裳〉?,类似于直接映射模式,各记录可以被转换为与标签阵列相对应的信息并被保持。
    此外,明显的是,还存在本发明同样可适用于的、使用4路或者8路组相联模式的缓存架构。
    与直接映射模式相比,组相联模式提高了缓存命中率,但缺点是由于标签阵列所需的容量随路数增加而增加,所以缓存的有效容量相对减 少。这些模式中哪个模式更合适取决于要执行的处理。如果使用诸如矩形特征或者像素差分的通过参照多个点而计算的特征,则与直接映射模式相比,组相联缓存模式能够在维持特征选择的自由度的同时确保高速度。因此,能够期望容易地实现良好的判别性能和高速处理的效果。
    [第四实施例]
    <纹理(texture)存储器>
    为了将图像存储在主存储器中,在许多情况下通常由光栅扫描模式将图像的一行的像素存储在连续的地址上。图12A示出了由光栅扫描模式将图像存储在存储器中的情况。
    还存在如下架构:根据不同的存储规则将图像存储在存储器中。例如,图12B示出了按照利用Z排序(Z-ordering)模式的顺序将图像存储在存储器中的情况。如果按照这种顺序将像素存储在存储器中,则不仅在水平方向而且在垂直方向上彼此相邻的像素倾向于存储在彼此接近的存储器地址的位置。使用该操作,要经历突发传送或者包含在缓存的一行中的像素在水平方向和垂直方向上彼此相邻,从而能够与方向无关地提高对相邻像素进行访问的效率。如图2B所示,使用Z排序模式的存储器经常与作为与主存储器不同的存储器的系统连接。在例如GUP中使用具有这种存储规则的纹理存储器,并且在针对图像的部分进行包括像素插值的放大/缩小处理等中尤其有利。
    请注意,在本说明书中,确定对象数据的各元素被存储在存储器中的顺序的方法(诸如光栅扫描模式或Z排序模式)被称为“存储规则”。
    本发明可应用于包括具有诸如与光栅扫描模式不同的Z排序模式的存储规则的存储器架构的目标系统,其中存储有判别对象图像。在该情况下,例如,能够通过应用图1所示的学习处理过程来生成判别处理字典。
    在步骤S107中的缓存命中确定中的图7的步骤S701中的参照像素位置地址计算方法与上述实施例不同。
    图12C示出了当使用Z排序模式将16×16图像存储在纹理存储器中 时的地址计算方法。例如,位置1201的像素具有x坐标2和y坐标1。这些坐标由二进制数表示。然后,通过将x坐标的最低有效位设置为最低有效位,并然后交替地布置y坐标的位和x坐标的剩余位,能够计算存储器地址(在该情况下是6),如附图标记1202所示。从图12C可以明显地看出,能够以相同方式计算另一位置的地址。请注意,能够容易地根据Z排序存储规则计算地址,但是需要图像是边长为2的幂的正方形。当存储具有其他大小的图像时,确保边长为2的幂并且包括该图像的最小正方形区域,并且用空白(margin)将其存储。纹理存储器的硬件通常包括用于将坐标值转换为地址值的硬件。用于执行学习处理的系统不需要包括使用Z排序模式的存储器,并且显然仅需要通过软件进行等同地址计算。
    地址计算之后的缓存命中确定方法与上述实施例相同。
    如果本发明应用于如本实施例中的包括纹理存储器的目标系统,则倾向于选择不仅在水平方向上而且在垂直方面上都处于相邻位置的像素,作为具有高访问效率的特征。因此,能够期望在维持高处理速度的同时提高判别性能的效果。
    明显的是,本发明不限于使用Z排序模式的存储器架构,而通过应用相应的地址计算方法甚至可应用于具有其他存储器规则(例如Hilber典线)的存储器架构。
    [第五实施例]
    <随机蕨型判别器>
    本发明不仅可应用于使用Boosting型判别器的判别处理,而且可应用于使用不同类型的判别器的判别处理。
    图13A示出了通过组合二进制树而获得的树型判别器,如参考文献3所述。图13B示出了参考文献4所述的蕨型判别器。在本实施例中,将描述本发明应用于蕨型判别器的情况。之前,将说明树型判别器的操作。
    参照图13A,节点f0至f6分别计算二进制特征。任何特征可以用 作二进制特征,只要该特征能够获得二进制判别结果。在本实施例中,假设使用用于将针对输入判别对象图像中的各节点确定的位置的两个点的像素值的量值进行比较的特征,并且确定第一点的像素值是否大于第二点的像素值。
    显然本发明不特别限于此。例如,如同第一实施例,可以参照一个点,并且可以将该点的像素值的量值与预定阈值进行比较?;蛘?,如同参考文献1,可以使用矩形特征,只要最终执行二进制判别即可。
    如果节点确定结果为真(1),则处理进行到右子节点。另一方面,如果结果为0(假),则处理进行到左子节点。使用节点f0至f6的七个二进制特征中的三个特征来进行三次判别,并且最后到达八个叶l0至l7中的一个叶。判别对象图像属于各个类的概率被保持作为各叶的参数。通过多个其他类似树,针对判别对象图像进行判别,针对各个类对所到达的叶的概率求和,然后将具有最高概率的类确认为判别结果。即,树型判别器是能够进行多类判别的判别器。
    图13B和图13C示出了蕨型判别器。树型判别器的节点判别不同的二进制特征。与此相反,在蕨型判别器中,相同层的节点使用相同的二进制特征。即,如图13B示出了如同图13A所示的树型判别器、将数据分类为八个叶的蕨型判别器。请注意,与该树的子节点无关地使用节点f0至f2的三个二进制特征。因此,如图13C所示,通过首先连结判别结果(0或1)来生成位串,然后使用所生成的位串作为索引确定叶,能够仅进行三个二进制特征的判别。例如,如果获得确定结果f0=0、f1=1以及f2=0,则连结这些确定结果以获得位串(010)b=2,从而使得能够选择叶l2。该结果与通过跟随图13B所示的树而获得的结果相同。
    可以按照任何顺序进行节点f0至f2的三个二进制特征的判别处理,只要按照命名顺序连结节点f0至f2的判别结果即可。
    在到达叶之后的处理与树型判别器的处理相同,并且蕨型判别器还能够进行多类判别。
    <蕨的学习处理>
    图14示出了本发明应用于生成蕨型判别器的判别处理字典的学习处理过程。步骤S1401至S1416中的处理基本上与参考文献4中公开的技术相同。特别地,步骤S1417中的处理是本发明特有的。以下将描述该过程。
    在步骤S1401中,生成M×S个二进制特征。在本实施例中,使用上述将两个像素进行比较的差分特征??梢运婊匮≡窀魈卣鞯牧礁鱿袼氐奈恢?。请注意,M代表要创建的蕨数,S代表用于各个蕨的二进制特征数。诸如所生成的二进制特征的参照像素位置的信息等被登记在判别处理字典中。
    在步骤S1402中,选择判别对象类的类号c。判别对象类数是2或者更大,并且从0起对类依次编号。
    在步骤S1403中,初始化用于计算各类概率的二维直方图H。在直方图H中,蕨号m和S个二进制特征的判别结果的连结值k用作索引,并且H(m,k)表示一个栈组。各栈组H(m,k)对应于参照图13描述的第m个蕨的第k个叶。
    在步骤S1404中,在针对各个判别对象类准备的多个学习样本数据项中,选择所选择的类c的样本数据项中的一个。
    在步骤S1405中,从开始起依次选择要学习的M个蕨。假设m代表蕨号(=0,1,...,M)。
    在步骤S1406中,针对所选择的样本数据计算在步骤S1401中针对第m个蕨生成的S个二进制特征值。这些值对应于第(m×S)至第(m×S+S-1)个二进制特征。
    在步骤S1407中,依次连结S个二进制特征值以计算与于第m个蕨的输出值相对应的S位的值k。
    在步骤S1408中,通过将所计算出的值k和m用作索引,对直方图H的栈组H(m,k)进行计数。
    在步骤S1409中,确定是否计算用于当前选择的样本数据的所有蕨的二进制特征,并且对其进行相加以获得直方图H。如果该处理未完成, 则处理返回到步骤S1405以针对下一编号的蕨执行以上处理。
    如果针对当前选择样本数据的所有蕨完成处理,则在步骤S1410中确定是否针对当前选择的类c的所有样本数据完成处理。如果处理未完成,则处理返回到步骤S1404,并且选择并处理下一样本数据。
    如果针对类c的所有样本数据完成处理,则在步骤S1411中对直方图H的所有栈组增加1。这对应于当对由多个蕨获得的各类的概率求和时进行的累积,并且避免了如下情况:如果包括至少一个表示概率为0的判别结果,则求和结果为0,从而导致判别性能下降。即,即使类被判别为具有低概率的类,则该类也不具有0的概率。
    在步骤S1412中,通过将2的S次幂与类c的学习样本数据项数相加来计算概率的分母D。2的S次幂表示S位的数k的可能值的数量,并且对应于针对各蕨的叶数,即,用于直方图H的第m个蕨的栈组数。所计算出的值D等于针对各蕨的直方图H的栈组的总和值,并且同一值D能够用于所有蕨。
    D=(类c的数据项数)+2S   …(8)
    在步骤S1413中,计算针对各栈组的概率值Pm,c,k,由以下公式给出:
    Pm,c,k=H(m,k)/D   ...(9)
    概率值Pm,c,k对应于保持在第m个蕨的第k个叶中的、表示数据属于类c的概率的概率参数。
    在步骤S1414中,概率值Pm,c,k被转换为对数。当在判别中获得由多个蕨判别的各类的概率的总和时,进行该步骤能够取代乘法而使用加法。所转换的值由表示。
    在步骤S1415中,所计算出的值被存储作为判别处理字典的第m个蕨的第k个叶的参数。
    在步骤S1416中,确定所有类的学习是否完成。如果所有类的学习未完成,则处理返回到步骤S1402,以执行针对下一类c的学习。
    如果所有类的学习完成,则在步骤S1417中进行对在步骤S1401中生成的M×S个二进制特征进行重排的处理。如上所述,可以按照任何顺 序计算各蕨的S个二进制特征fi,只要维持最后连结位的顺序。在本实施例中,如上所述使用随机选择两个像素的参照位置的特征。因此,通过重排计算顺序以提高缓存命中率能够减少存储器的参照负荷,从而提高速度。请注意,根据本实施例的目标系统的缓存架构使用2路组相联模式,该2路组相联模式使用通过参照两个点而获得的特征来提高相对访问效率。显然本发明不限于此。
    图16A至图16C示出了重排处理的示例。图16A示出了在步骤S1401中生成的二进制特征的参数。对于各二进制特征,除了两个点的参照点坐标(x0,y0)和(x1,y1)之外,在考虑到步骤S1417中的重排的情况,蕨号m和二进制特征数s被设置为参数。
    图16B示出了被获得作为重排结果的二进制特征。与图16A相比,为了减少参照负荷,对二进制特征进行重排,使得当参照两个点(x0,y0)和(x1,y1)时容易发生缓存命中。结果,蕨号或二进制特征数的顺序是不规则的。
    图15示出了为了降低参照负荷的步骤S1417中的重排处理的详细过程。请注意,在本实施例中计算参照负荷对应于针对各二进制特征的两个点的缓存命中确定。确定缓存命中的点数越大,参照负荷越低。在本示例中,通过按照在判别处理中的计算顺序、对在图14的步骤S1401中生成的M×S个二进制特征的原始列表(对应于图16A)进行重排,来生成重排的特征列表(对应于图16B)。以下将描述该过程。
    在步骤S1501中,取出原始列表的第一二进制特征。该特征对应于图16A所示的列表的第一特征。该二进制特征被存储在与图16B相对应的重排二进制列表的开始。在计算第一二进制特征时,主存储器中的判别对象数据的访问记录是不确定的(例如,当其他总线主控器利用DMA等传送数据时未访问记录),由此与所选择的二进制特征无关地,不影响缓存命中。
    在步骤S1502中,使用要由第一二进制特征参照的两个点的位置和判别对象图像存储区域的首地址,计算两个点的各个的标签和索引。该 处理与上述图7中的步骤S701和S702中的处理相同。
    在步骤S1503中,所计算出的两个点的标签和索引被存储在参照记录表中。在本实施例中,如上所述,目标系统的缓存架构使用2路组相联模式。因此,参照记录表保持与缓存的标签阵列相对应的信息。此外,参照记录表针对数据阵列的各缓存行,保持当访问缓存行时的访问时间。如第三实施例所述,该信息对应于标签阵列的各标签的时间戳,并且用于判别在最早时间参照的数据。该信息不需要是学习处理系统中的时间。例如,可以按照初始状态(即,在缓存中未存储行的不确定状态)存储基于确定最早时间的值(例如,0),并且可以存储每次发生访问时更新(例如,递增1)的值。
    在步骤S1504中,初始化要下次选择的特征候选的候选检查列表。该候选检查列表用于通过将特征索引0至M×S-1依次分配给原始列表的从第一二进制特征起的二进制特征,针对各特征索引保持计算下一相应特征时的缓存命中状态。图16C示出了该表的示例,该表存储表示针对两个参照点中的一个点是否发生缓存命中的标记以及针对未发生缓存命中的另一个点的已经存储在该行中的缓存行的访问时间。参照图16C,“访问时间0”和“访问时间1”表示在针对特征候选的两个点(x0,y0)和(x1,y1)中的任一个点都不发生缓存命的情况下存储访问时间的区域。如果使用2路组相联模式,则参照记录表针对各行保持两个访问时间,并且选择这两个访问时间中的较早访问时间并且将该较早访问时间存储在候选检查列表中。对于发生缓存命中的点,存储表示发生命中的特殊值(例如,-1等)。
    在步骤S1505中,参照原始列表的下一二进制特征的参数。在步骤S1506中,与步骤S1502类似地,计算二进制特征的两个参照点的标签和索引。
    在步骤S1507中,通过参照参照记录表,确定是否针对两个点都发生缓存命中。
    如果针对两个点都发生缓存命中,则参照负荷最低,因此确认接下 来要计算二进制特征,并且在步骤S1517中将该二进制特征存储在重排特征列表的下一行中。请注意,在本实施例中,如果针对两个点都发生缓存命中,则相应的特征被确认为接下来要计算的分配有最高优先权的特征,因此不必使用上述候选检查列表。候选检查列表被构造为不存储表示针对两个点都发生缓存命中的信息。
    如果确定针对两个点中的任一个点都未发生缓存命中,则在步骤S1508中检查是否针对一个点发生缓存命中。
    在步骤S1509中,针对未发生缓存命中的点,基于参照记录表的信息检查缓存上要替换的行的访问时间。
    在步骤S1510中,检查结果与纹理索引一起被存储在候选检查列表中。请注意,针对发生缓存命中的点,能够判别命中所基于的值(例如,最后访问时间)被存储在访问时间的区域中。
    在步骤S1511中,确定是否检查了原始列表的所有二进制特征。如果尚未检查所有二进制特征,则处理返回到步骤S1505以检查下一候选。
    如果检查了原始列表的所有二进制特征,则在步骤S1514中检查候选检查列表。由于此时确认了针对两个点未发生缓存命中并且具有最低参照负荷的特征,因此检查是否存在针对一个点发生缓存命中并且具有次最低参照负荷的特征。
    如果存在针对一个点发生命中的一个或者更多个特征,则处理进行到步骤S1515,从而在多个特征中选择与未发生命中的另一个点相对应的缓存行的访问时间最早的特征。
    假设不存在针对一个点发生命中的特征。在该情况下,由于候选检查列表仅存储针对两个点中的任一个点都未发生缓存命中的特征,因此获得与各特征的两个点相对应的缓存行的访问时间的较早访问时间,将所获得的访问时间彼此进行比较,然后选择具有最早访问时间的特征。
    即,在本实施例中,如果针对两个点中的至少一个未发生缓存命中,则优选地替换具有最早访问时间的缓存行,这并不总是使参照负荷最小。为了进行进一步的优化,仅需要降低在包括预测处理的处理中在将来以 高概率访问的行的替换优先级,但是该处理是复杂的并且将省略其描述。
    在步骤S1517中,所选择的二进制特征被存储在重排特征列表的下一行中。在步骤S1518中,更新参照记录表。对在该处理中确认的二进制特征的未发生缓存命中的参照点的标签和索引进行计算,以更新与标签阵列相对应的信息。无论是否发生命中,更新与两个参照点相对应的缓存行的访问时间。在步骤S1519中,从原始列表中去除所选择的二进制特征。请注意,如果由所选择的标记管理已经选择的特征以使该特征不再被选择,则不需要从原始列表中实际删除该特征的信息。在步骤S1520中,检查在原始列表中是否保留尚未被选择的二进制特征。如果保留二进制特征,则处理返回到步骤S1504以选择下一特征。
    继续上述处理直到在原始列表中不存在二进制特征为止,完成使得能够容易地发生缓存命中的重排特征列表,该重排特征列表具有在未发生缓存命中时替换具有最早访问时间的缓存行的访问顺序。通过将该列表作为判别处理字典登记在目标系统中,能够在获得与按照原始列表的顺序进行字典特征计算时获得的相同判别精度的同时,实现具有改进的缓存命中率和低参照负荷的高速度判别处理。
    <蕨的判别处理>
    图17示出了使用所生成的判别处理字典在目标系统上执行的判别处理过程。
    在步骤S1701中,输入判别对象数据。如同在本实施例中,预先进行必要的预处理。
    在步骤S1702中,从判别处理字典中读出在先前学习处理中生成并且按照访问顺序重排的字典特征列表,并且通过依次参照像素来进行计算。如上所述,已经生成列表来提高缓存命中率,从而能够实现高速度处理。所计算出的M×S个二进制特征被作为例如二维数据阵列保持,以再生重排之前的原始顺序。
    在步骤S1703中,初始化特定类概率值累积直方图Hp。该直方图用于获得分别表示判别对象数据属于相应类的概率的概率值的总和。栈组 数与要判别的类数一致。所有栈组被清零。
    在步骤S1704中,从0起选择蕨号m。
    在步骤S1705中,计算第m个蕨的输出值(=二进制特征值的连结值)。在本示例中,通过参照在步骤S1702中计算出的二进制特征之中的第m个蕨的第(m×S)至第(m×S+S-1)个二进制特征,来计算S位的连结值k。请注意,(m×S)至(m×S+S-1)对应于在上述学习处理中描述的原始列表中的索引号。
    在步骤S1706中,从编号为0的类起选择类c。在步骤S1701中,对登记在判别处理字典中并且表示当第m个蕨具有连结值k时判别对象数据属于类c的概率的对数概率值进行参照,并且在步骤S1708中,将对数概率值与直方图Hp的类c的栈组相加。在步骤S1709中,对直方图Hp的类c进行递增。
    在步骤S1710中,检查是否针对所有判别对象类c将对数概率值进行相加。如果针对所有类c将对数概率值进行相加,则处理进行到步骤S1706以选择下一类c。
    在步骤S1711中,检查是否针对所有蕨进行特定类概率求和处理。如果尚未针对所有蕨进行处理,则处理返回到步骤S1704以针对编号为m的下一蕨进行处理。最后,在步骤S1712中,选择具有累积直方图Hp的最大值的栈组,并且相应的索引被确认为判别结果类c。
    如上所述,根据本实施例,由于为了提高缓存命中率而被重排的二进制特征列表被用于蕨型判别器的二进制特征的计算,因此能够以与在未重新列表时获得的精度相同的精度来实现高速度处理。通过在学习之后“调优”所生成的判别字典,本发明是适用的。请注意,根据本实施例的基于发生缓存命中的点数计算参照负荷的构思也可以应用于通过参照多个点(例如,积分图像中基于四个点参照的矩形内的总和值)而获得的二进制特征。
    为了便于说明,在所有上述实施例中,判别处理字典被布置为不影 响缓存判别对象数据的操作。例如,判别处理字典被布置在主存储器的非缓存区域、分配给其他缓存的区域、或诸如ROM的其他存储区域中。然而,本发明甚至可应用于判别处理字典被布置在影响缓存判别对象数据的操作的区域中的情况。在该情况下,仅需要通过包括字典访问的模拟来进行缓存命中确定。
    已经详细描述了本发明的优选实施例。然而,本发明不限于上述具体实施例,并且在如所附权利要求所限定的本发明的精神和范围内可以进行各种改变和修改。
    例如,本发明不仅可应用于在上述实施例中描述的类型的判别处理,显然还可应用于包括根据预定信息处理规则的各种处理的信息处理。即,信息处理规则不限于在判别处理中使用的判别字典,还包括限定存储器访问顺序的各种规则。如以上实施例所述,通过考虑当选择特征量时的参照负荷,设置减少在获得所有特征之后的参照负荷的计算顺序,或者部分组合这些处理,本发明是适用的。
    作为参照负荷计算方法,取代使用如上述实施例中描述的缓存命中确定结果,可以使用其他方法。例如,可以利用模拟计算目标系统访问期望的元素数据并获得计算结果所需的系统时钟的总数。
    此外,显然本发明可应用于目标系统具有其他缓存架构(诸如全相联缓存)或具有各种行大小的情况。即使用于将判别对象数据存储在存储器中的规则与上述光栅扫描或者Z排序模式不同,本发明也是适用的。要经历信息处理的数据不限于图像数据,本发明同样地可应用于诸如视频数据或者特征量数据阵列的各种对象数据。
    其他实施例
    本发明的各方面还可以通过读出并执行记录在存储设备上的用于执行上述实施例的功能的程序的系统或装置的计算机(或诸如CPU或MPU的设备)来实现,以及通过由系统或装置的计算机通过例如读出并执行记录在存储设备上的用于执行上述实施例的功能的程序来执行各步骤的方法来实现。鉴于此,例如经由网络或者从用作存储设备的各种类型的 记录介质(例如计算机可读介质)向计算机提供程序。
    虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。

    关于本文
    本文标题:信息处理装置及其控制方法、以及电子设备.pdf
    链接地址://www.4mum.com.cn/p-6147435.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 股票推荐排名的有多坑 广西快3 澳洲幸运8走势图计划软件 高手彩票网 手机516棋牌游戏中心 彩票红球和蓝号的关联 山东时时彩11夺金 欢乐麻将好友房怎么玩 万达二分彩规律 三分彩官网开奖结果 时时彩缩水app苹果 河北快3大小走势图 08年上证指数图 幸运飞艇历史开奖记录 玩五子棋两个人是怎么下的呢 有个网页说可以赚钱