首页> 中国专利> 并行处理机器学习决策树训练

并行处理机器学习决策树训练

摘要

本发明涉及并行处理机器学习决策树训练。此处所公开的各实施例涉及通过基于图形处理单元(GPU)的机器学习来生成决策树。例如,一个实施例提供了一种方法,包括,对于决策树的每个层级:在并行处理流水线的每个GPU处对示例集中的每个示例执行针对特征集中的一个特征的特征测试。方法进一步包括将特征测试的结果累积在本地存储器块中。该方法还包括,将累积的结果从每个本地存储器块的写入到全局存储器,以生成层级中的每个节点的特征的直方图,并且对于层级中的每个节点,根据直方图将具有最低熵的特征分配给该节点。

著录项

  • 公开/公告号CN102566981A

    专利类型发明专利

  • 公开/公告日2012-07-11

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201110443208.7

  • 申请日2011-12-14

  • 分类号G06F9/38(20060101);G06N5/00(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人蔡悦

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 05:55:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-27

    专利权的转移 IPC(主分类):G06F9/38 变更前: 变更后: 登记生效日:20150507 申请日:20111214

    专利申请权、专利权的转移

  • 2015-01-14

    授权

    授权

  • 2012-09-12

    实质审查的生效 IPC(主分类):G06F9/38 申请日:20111214

    实质审查的生效

  • 2012-07-11

    公开

    公开

说明书

技术领域

本发明涉及用于决策树训练的机器学习,更具体地,本发明涉及利用包括 多个图形处理单位(GPU)的平行处理流水线来生成决策树。

背景技术

在机器学习中,决策树是资源密集处理的结果,通过决策树,计算系统处 理非常大的示例集。这些示例被用于构建问题树,这些问题被用于最终在运行 时对输入数据进行分类。通常,在决策树的训练期间使用的示例越多,运行时 结果就越准确。习惯上,用于处理数百万至数十亿计的示例的方案将使用联网 的基于中央处理单元(CPU)的计算设备的大规模群集。然而,这类方案是昂 贵的并且容易受到不可靠性的影响。例如,要求额外的组件和连接以便将基于 CPU的计算设备群集连网在一起,这创建了额外的可能故障的点。另外,由于 基于CPU的计算设备群集通常被分布在不同区域,因此需要额外的劳力来维护 这些群集,这增加了运行成本。

发明内容

提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步 描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要 特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不 限于解决在本发明的任一部分中提及的任何或所有缺点的实现。

此处所公开的各实施例涉及通过基于图形处理单元(GPU)的机器学习来 生成决策树。例如,公开的一个实施例提供一种用于生成包括组织在多个层级 中的多个节点的决策树。决策树由包括多个处理块的并行处理流水线来生成。 每个处理块包括共享一个存储器块的多个图形处理单元(GPU)。此外,并行 处理流水线的每个GPU共享一个全局存储器。该方法包括,对于决策树的每 个层级:在并行处理流水线的每个GPU处对示例集中的每个示例执行针对特 征集中的一个特征的特征测试。该方法还包括在每个存储器块处累积由共享存 储器块的多个GPU处理的对每个示例执行的每个特征测试的结果。该方法还 包括,将累积的结果从每个存储器块写入到全局存储器,以生成对于层级中的 每个节点的特征的直方图,并且对于层级中的每个节点,根据直方图将具有最 低熵的特征分配给该节点。

附图说明

图1示出了本公开的计算系统的一个实施例。

图2示出了包括用于决策树训练的多个分层对象平面的深度图的示例。

图3显示了用于累积特征测试结果的非未优化策略的示例。

图4显示了用于累积特征测试结果的优化策略的示例。

图5显示了用于生成决策树的方法的实施例。

图6显示了用于增强示例集的信号强度以降低决策树中的特征的熵的方法 的实施例。

具体实施方式

本描述涉及用于决策树训练的机器学习。更具体地,本描述涉及利用包括 多个图形处理单元(GPU)的并行处理流水线来生成决策树。例如,较繁重的 操作或集中占用大部分时间用于机器学习的操作可由并行处理流水线并行执 行。此外,具有诸如从同一图像中选择的像素之类的共享的属性的示例可由并 行处理流水线的处理块内的GPU并行处理,以便利用被处理块的各GPU共享 的本地存储器。具体来说,在将累积的结果写入全局存储器之前,对各示例执 行的特征测试的结果可被累积在本地化的存储器中。通过在将累积的结果写入 较慢的全局存储器之前将特征测试结果累积在较快的本地存储器中,可减少若 干全局存储器写入操作。相应地,决策树训练时间可被显著地缩短。

此外,在一些应用中,基于GPU的并行处理流水线可被实现在本地化的 或非分布式的平台中,该平台允许单个机器以一小部分的成本并以比分布式的 基于CPU的计算设备群集更高的稳定性来执行决策树训练。在一个特定示例 中,决策树训练在单个相对不昂贵的机器上执行,而不是在远程数据中心中的 大规模的昂贵的机器群集上执行,因为后者在存在问题时非常难以调试。然而, 可以理解的是,一个或多个基于GPU的并行处理流水线可被实现在分布式或 联网的设备群集配置中,而不违背本公开的范围。

图1示意性地显示了可被配置成执行机器学习操作以生成或训练决策树的 计算系统100的实施例。以简化形式示出了计算系统100。在一个示例中,计 算系统100使用统一计算设备架构(CUDA)。然而,可以理解,可使用其他 计算机架构而不背离本发明的范围。在不同实施例中,计算系统100可采用大 型计算机、服务器计算机、桌面计算机等的形式。

计算系统100可包括逻辑子系统102、数据保持子系统104、显示子系统 106和输入子系统108。计算系统100可任选地包括未在图1中示出的其它组 件。

逻辑子系统102可包括被配置成执行一个或多个指令的一个或多个物理设 备。例如,逻辑子系统可被配置为执行一个或多个指令,该一个或多个指令是 一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其它逻 辑构造的部分。可实现此类指令以执行任务、实现数据类型、变换一个或多个 设备的状态、或以其它方式得到所需结果。在一个示例中,逻辑子系统102被 配置成执行包括在计算机程序产品中的指令。

逻辑子系统102可包括被配置成执行软件指令的一个或多个中央处理单元 (CPU)110。在例示的实施例中,CPU 110包括共享本地存储器高速缓存114 的多核处理器112。例如,本地存储器高速缓存114可包括L1高速缓存、L2 高速缓存等。本地存储器缓存114可被连接至主存储器或全局存储器116。本 地存储器高速缓存114和全局存储器116可被包括在数据保持子系统104中。 可以理解,CPU 110可包括单个核而不背离本发明的范围。在一个示例中,CPU 110包括执行24个线程的12个核,并且这12个核共享24吉字节(GB)的随 机存取存储器(RAM)。

逻辑子系统102可包括并行处理流水线118。并行处理流水线118可包括 多个处理块120。多个处理块120的每一个可包括多个图像处理单元(GPU) 122。在一些实施例中,GPU采用通用处理图形处理单元(GPGPU)的形式。 多个GPU 122中的每一个可共享本地存储器块124。换句话说,本地存储器块 可与每个处理块相关联。

此外,多个处理块中的每一个可共享全局存储器116。多个本地存储器块 124和全局存储器116可被包括在数据保持子系统104中。在一个示例中,并 行处理流水线118包括960个GPU,每个本地存储器块可以是16千字节(KB), 并且全局存储器可包括16GB的RAM。另外或另选地,逻辑子系统可包括被配 置成执行硬件或固件指令的一个或多个硬件或固件逻辑机器。

数据保持子系统104可包括一个或多个物理、非瞬时设备,这些设备被配 置成保持数据和/或可由该逻辑子系统执行的指令,以实现此处描述的方法和过 程。在实现这样的方法和过程时,可以变换数据保持子系统104的状态(例如, 以保持不同的数据)。相反,在一些实施例中,本文描述的指令的各方面可以 按暂态方式通过不由物理设备在至少有限持续时间期间保持的纯信号(例如电 磁信号、光信号等)传播。此外,与本公开有关的数据和/或其他形式的信息可 以通过纯信号传播。

数据保持子系统104可以包括可移动介质和/或内置设备。数据保持子系统 104尤其是可以包括光学存储器设备(例如,CD、DVD、HD-DVD、蓝光盘等)、 半导体存储器设备(例如,RAM、EPROM、EEPROM等)和/或磁存储器设备 (例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)。数据保持子系 统104可以包括可移动计算机可读存储介质,该介质可用于存储和/或传送可执 行以实现本文描述的方法和过程的数据和/或指令。可移动计算机可读存储介质 尤其可以采取CD、DVD、HD-DVD、蓝光盘、EEPROM和/或软盘形式。数据 保持子系统104可以包括具有以下特性中的一个或更多个特性的设备:易失性、 非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文 件可寻址、以及内容可寻址。在某些实施例中,可以将逻辑子系统102和数据 保持子系统104集成到一个或更多个常见设备中,如专用集成电路或片上系统。

术语“模块”、“程序”和“引擎”可用于描述被实现以执行一个或更多 个具体功能的计算系统100的一方面。在某些情况下,可以通过执行由数据保 持子系统104所保持的指令的逻辑子系统102来实例化这样的模块、程序或引 擎。应当理解,可以从同一应用、服务、代码块、对象、库、例程、API、函 数等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用、服务、 代码块、对象、例程、API、函数等来实例化同一模块、程序和/或引擎。术语 “模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、 库、驱动程序、脚本、数据库记录等。

数据保持子系统104可包括被配置成执行机器学习操作以生成决策树152 的决策树训练程序126。决策树训练程序126可包括输入信号增强模块128和 训练模块130。

输入信号增强模块128可以被配置成修改源数据132以提供适合于训练模 块130的各示例的示例集146以生成决策树152。可以理解的是,示例集146 可包括训练决策树152的任何合适的示例数据集,而不背离本公开的范围。另 外地或另选地,输入信号增强模块128可被配置成增强由源数据132所定义的 特定场景,使得由训练模块130所执行的机器学习操作能够更好地标识场景以 生成更有效的决策树。输入信号增强模块128可被配置成接收源数据132并增 强来自输入子系统108的输入。

输入子系统108可包括被配置成感测一个或多个对象的位置和定向的传感 设备144。在一个示例中,传感设备144包括红、绿、蓝(RGB)相机和深度 传感器,以感测对象的位置和定向。另外地或另选地,输入子系统108可以包 括诸如例如键盘、鼠标、游戏控制器、相机、话筒和/或触摸屏之类的用户输入 设备。

可以理解,源数据132可包括任何合适的数据以传递一个不同的示例集, 该示例集可由训练模块130处理以生成决策树152。在一个示例中,源数据132 包括多个深度图134。多个深度图134可包括角色的不同姿势,这些姿势可被 用于生成对身体部位进行分类的决策树。增强输入142可代表用于修改深度图 134以增加决策树152对角色的身体部位进行准确归类的情况的可能性的用户 指令。

增强模块128可被配置成将每一个深度图134重新定位为针对不同运动、 姿势、身体类型、高度、宽度、颜色等,以提供包括多个重定位深度图的重定 位深度图集,其增加了示例集146中的不同示例的数量。此外,增强模块128 可被配置成将每个深度图134分割成分层的对象平面140。具体来说,每个对 象可位于一个不同的平面,并且这些不同平面可在彼此上层叠,以创建重定位 的深度图138。

增强模块128可被配置成修改重定位的深度图138以基于增强输入142添 加/移除对象平面。增强输入142可由输入子系统108响应于审阅由决策树152 输出的输出数据154而提供。相应地,增强输入142和输出数据154可协调运 作,以向决策树训练程序126提供反馈以通过增加场景的信号强度使其更可能 被决策树152所标识来改善决策树的有效性。在手动实现的示例中,用户可审 阅输出数据154并可提供增强输入142以手动地选择要被添加到重定位深度图 138或是从重定位深度图138中移除的对象平面140。在自动化实现的示例中, 输出数据154可被提供为包括示例的信号强度的数据库,并且响应于信号强度 小于信号强度阈值,增强输入142可被提供给增强模块128。

当被包括时,显示子系统106可用于呈现由数据保持子系统104所保持的 数据的可视表示,诸如重定位深度图138。在一个示例中,用户查看重定位深 度图138以标识哪个对象平面140将被添加/移除以增强场景的信号强度。由于 本文所描述的方法和过程改变由数据保持子系统104保持的数据,并由此变换 数据保持子系统104的状态,因此同样可以变换显示子系统106的状态以在视 觉上表示底层数据的改变。显示子系统106可包括利用几乎任何类型的技术的 一个或多个显示设备。可将此类显示设备与逻辑子系统102和/或数据保存子系 统104一起组合在共享封装中,或此类显示设备可以是外围显示设备。

继续图1,训练模块130可包括示例集146,其由增强模块129与特征集 148一起填充。如上所讨论的,在一个示例中,以重定位深度图集136来填充 示例集146。在这一示例中,决策树152被训练来对深度图像中的对象,诸如 身体部位,进行归类。因此,特征集可包括可被标识的不同类别的身体部位以 及其他特征。可以理解的是,示例像素选择的深度图图像是一个示例,且实际 上任何其它合适的数据都可被用于填充示例集。例如,除了深度图以外的图像 类型也可被用于填充示例集。作为另一示例,在天气模式决策树训练实现中, 可以用天气数据填充示例集。

训练模块130可包括学习内核150,其被配置成接收示例集和特征集148。 学习内核150可被配置成控制并行处理流水线118以通过对决策树152中的每 个节点执行针对特征集148中的选定的特征的特征测试来并行处理示例集146 中的每个示例。具体来说,增强模块128可被配置成在并行处理流水线118的 每个GPU122处对从示例集146中选择的示例执行针对特征集148中的特征的 特征测试。对于决策树152中的每个节点,并行处理流水线118的GPU122共 同对示例集146中的每个示例执行针对特征集148中的选定的特征的特征测 试。在一些实施例中,可从特征集中随机选择特征。并行处理可以逐层执行, 其中对于决策树152的每个层级,在移动至下一层级之前向每个节点分配特征。

作为一个示例,特征测试可包括点深度特征测试,在该特征测试中,从深 度图中选择两个像素,并且执行算术运算(例如减法)来确定一值,将该值与 阈值进行比较。如果该值大于阈值,特征测试返回“真”值。如果该值小于阈 值,特征测试返回“假”值。

学习内核150可被配置成累积对本地存储器块124中的每个示例执行的每 个特征测试的结果。由相同的处理块120中的GPU 122执行的特征测试可被累 积在被处理块120的各GPU共享的本地存储器块124中。在一个示例中,每 个示例包括从多个深度图像之一中选择的像素,并且示例集包括从多个深度图 像的每一个中选择的像素。此外,从相同的深度图中被选择作为示例的像素由 相同的处理块的GPU来处理。这可有利于减少处理开销,这进而缩短了决策 树152的训练时间。可以理解的是,可从任何合适的两维图像中选择用于决策 树训练的示例像素。可包括用于决策树训练的示例像素的图像的非限制性示例 可包括RGB、轮廓等。另外,三维体积(volume)可被包括在决策树训练示例 集中。三维体积的非限制性示例包括医疗图像(例如,核磁共振造影)、视频 序列等。

基于特征测试结果在局部存储器块124中的累积,学习内核150可被配置 成将累积的结果从每个存储器块124写入到全局存储器116,以生成决策树152 的层级中的每个节点的特征的直方图。在特征测试结果被写入全局存储器之前 可先被累积在本地存储器块中,以便减少对于全局存储器的单位递增的数目, 从而缩短决策树训练时间。此外,写入共享本地存储器的时间可以比写入全局 存储器快例如一个级数。同样地,决策树训练时间可以此方式被进一步缩短。

学习内核150可被配置成为每个节点确定直方图中的每个特征的熵或任何 其它合适的优化准则。作为另一示例,拖曳(tow)优化例程可被应用于每个 特征。此外,学习内核150可被配置成寻找用于节点的最优特征或将根据直方 图具有最低熵的特征分配给该节点。学习内核150可被配置成在处理其它层级 中的节点之前向层级中的每一节点分配特征。学习内核150可被配置成递归地 将特征分配给每一层级中的节点直到树的每一层级中的每一节点被分配了特 征为止,以训练或生成决策树152。

提供了用于配置学习内核以向节点分配特征的示例伪代码块,该示例伪代 码块可被递归地执行以训练决策树152:

Learn函数可被递归地对每一节点执行,以生成决策树152。Learn函数包 括两个嵌套的for循环,其使ComputeResponse函数对示例“e”执行针对特征“f” 的特征测试。内层for循环调用ComputeResponse函数来对示例集“s”中的每个 示例执行针对特征的特征测试。如果ComputeResponse函数返回“真”值,则 positive[e.Class]列表被迭代。如果ComputeResponse函数返回“假”值,则 negative[e.Class]被迭代。相应地,为每一示例生成特征的正的和负的直方图(列 表)。值得注意的是,在一些情况下,这些迭代可被替换为单位增加,以缩短 存储器存取等待时间。

外层for循环为特征集中的选定的特征重复内层for循环。相应地, ComputeResponse函数对示例集中的每个示例执行针对特征集中的选定的特征 的特征测试。由于嵌套的for循环,重复地执行ComputeResponse函数和列表 迭代。并行处理流水线可利用这一迭代。具体来说,每个GPU可并行地对每 个示例执行特征测试,使得每个示例的正的和负的直方图可在同时生成。

InfoGain函数为正的和负的直方图中的每个特征计算一个纯度层级(a  purity level)。InfoGain函数产生与熵相对的值。例如,随着熵减小,InfoGain 值增大,并且结果的纯度增大。ScoreFeature函数确定具有最高InfoGain值或 最低熵的值的特征并将该特征分配给该节点。SplitExamples函数根据正的和负 的直方图将示例集分割为两个示例集。递归地学习这两个示例集以分配具有最 低熵的特征以创建子节点。Learn函数被迭代地执行以生成决策树152。值得注 意的是,伪代码块是一个示例,其它代码块也可被实现。作为一个示例,for 循环函数可被切换使得针对示例的循环可以在针对特征的循环之外。

图2示出了包括用于决策树训练的多个分层对象平面202的深度图200的 示例。增强模块128可被配置成接收包括深度图134的源数据132。增强模块 128可被配置成标识深度图中具有不同深度的不同对象,并且可将这些对象分 割到不同平面中,这些平面层叠在一起形成深度图200。通过将深度图像分割 成不同的层叠的对象平面,增强模块128能够添加/移除不同对象平面以根据来 自决策树的输出数据修改深度图像。由此,信号强度可被增强使得深度图中的 对象具有与原有的实现相比更高的概率被准确归类,在原有的实现中深度图将 被呈现作为单幅图像,而不考虑可被添加/移除以增强信号强度的不同对象平 面。

在示出的示例中,增强模块128标识能够被层叠在一起形成深度图像200 的五个不同对象平面。第一对象平面是最近的或具有最浅深度的平面,并且包 括处于站立位置的第一个人。第二对象平面比第一平面远或具有比第一平面深 的深度,并且包括处于坐位置的第二个人。第三对象平面比第二平面远或具有 比第二平面深的深度,并且包括第二对象平面中的第二个人正坐着的沙发。第 四对象平面比第三平面远或具有比第三平面深的深度,并且包括第一面墙。第 五对象平面比第四平面远或具有比第四平面深的深度,并且包括第二面墙。

当接收来自生成的决策树的输出时,增强模块128可从深度图中移除第一 对象层,因为第一个人挡住第二个人。在用如增强模块128所修改的深度图训 练之后,这一反馈可增强第二对象平面的信号强度,使得第二个人的身体部位 更可能被决策树标识出并准确归类。

图3显示了用于累积特征测试结果的非未优化策略的示例。在这一示例中, 对被应用于决策树的同一层级中的第一节点或第二节点的16个不同示例300 执行针对单个特征的特征测试302。特征测试302的结果304是真(+)值或假 (-)值,这些结果被直接累积到全局存储器116以生成每个节点的正的直方图 和负的直方图。具体来说,每个特征测试结果通过单位递增310被写入一部分 全局存储器116。单位递增310锁定这部分全局存储器116,使得该部分中的 数据不会被损坏。然而,如果多个特征测试结果在争用存储器的同一部分,则 位于该部分上的锁定创建特征测试结果累计的序列,这延长了用于训练决策树 所花费的时间的量。在这一示例中,执行了16个单位递增来将特征测试结果 写入全局存储器116,以便生成第一节点直方图306和第二节点直方图308。

图4显示了用于累积特征测试结果的优化策略的示例。在这一示例中,对 被应用于决策树的同一层级中的第一节点或第二节点的16个不同示例300执 行针对单个特征的特征测试302。这一策略分配同一处理块中的GPU来处理相 似的示例,诸如来自同一深度图的示例像素。通过在将累积的结果从本地存储 器块124写入到全局存储器116之前先在本地存储器块124中累积特征测试结 果304,这允许利用本地存储器125的快速访问时间。具体来说,在特征测试 结果304被累积在局部存储器块124中的情况下,该策略可考虑本地存储器部 分312。本地存储器部分312可被用于确定是否不存在对于本地存储器部分312 的争用。换句话说,只有一个特征测试结果正被写入到本地部分312。如果没 有争用,则特征测试结果可经由非单位递增314被累积到本地存储器块124。 非单位递增不要求锁定存储器部分,并因此比单位递增更快地执行。如果存在 对于本地存储器部分312的争用并且不止一个特征测试结果304将被累积到本 地存储器部分,则经由单位递增316将每个特征测试结果累积到本地存储器块 124,使得参与争用的各特征测试结果不损坏本地存储器部分。

通过将特征测试结果累积在本地存储器块124中,可减少写入全局存储器 116的操作的数目。具体来说,可执行单位添加操作来将累积的特征测试结果 从本地存储器块124写入到全局存储器116,以取代对于每个特征测试结果执 行单位递增操作。在这一示例中,四个特征测试结果争用本地存储器块124的 正列表的部分1(计为0-5)。通过四个单位递增操作累积四个测试结果。随 后,经由单位添加318将累积的特征测试结果从本地存储器块124写入到全局 存储器116,单位添加318将值4添加到全局存储器116。使用这一示例中的 优化的策略,14个单位递增和2个非单位递增被执行以将特征测试结果累积在 本地存储器中,并且7个单位添加操作被执行以将累积的特征测试结果从共享 的存储器块写入到全局存储器。相反,非优化策略执行16个单位添加操作来 将特征测试结果写入到全局存储器。

图5显示了用于生成决策树的方法500的实施例。在一个示例中,方法500 可由包括学习内核150的决策树训练程序126执行,以控制并行处理流水线118 来训练如图1所示的决策树152。在502,该方法可包括在并行处理流水线的 每个GPU处对示例集中的每个示例执行针对特征集中的一个特征的特征测试。 每个GPU可对示例集中的每个示例执行针对特征的特征测试。在一个示例中, 示例集可包括从不同深度图中选择的示例像素。作为另一示例,像素可以从另 一图像或视频类型中选择。

在504,方法可包括在每个存储器块处累积被共享该存储器块的多个GPU 处理的对每个示例执行的每个特征测试的结果。在一个示例中,从相同深度图 中选择的像素由相同处理块的GPU处理,使得特征测试结果被累积到相同的 本地存储器块。如果多个特征测试结果争用存储器块的相同部分,则在506, 方法可包括对一部分存储器块执行单位递增以将每个特征测试结果累积到该 存储器部分。单位递增为每个特征测试结果锁定存储器部分,使得累积的值不 会因尝试将其它特征测试结果累积到存储器部分而损坏。如果一个特征测试结 果将被存储在部分存储器块中,则在508,方法可包括对一部分存储器块执行 非单位递增。

在510,方法可包括将累积的结果从每个本地存储器块写入到全局存储器 块,以生成层级中的每个节点的特征的直方图。在512,在其中不止一个特征 测试结果被累积到本地存储器块的相同存储器部分的一些情况下,方法可包括 对包括累积的特征测试结果值的每个存储器块部分执行至全局存储器的单位 添加。

在514,方法可包括对于层级中的每个节点,将根据直方图将具有最低熵 的特征分配给节点。由于特征测试的并行处理和每个节点的直方图的创建,层 级中的每个节点可被并行地训练或分配特征。

在516,方法可包括确定决策树中的每一层级是否已被训练或生成。换句 话说,可确定每一层级中的每个节点是否已被分配了特征。如果确定决策树的 每个层级已被生成或训练,则该方法返回到其它操作。否则,该方法移至518。

在518,方法可包括行进到树的下一层级。当走到下一层级时,方法返回 到502以并行地训练下一层级中的每一节点。这可被递归地执行直到决策树的 每一层级中的每个节点被训练或生成为止。

图6显示了用于增强包括多个示例的示例集的信号强度以降低决策树中的 特征的熵的方法600的实施例。在一个示例中,方法600可由包括增强模块130 的决策树训练程序126执行来修改深度以增强深度图中的场景的信号强度,以 便增加由图1中所示的决策树标识和准确归类的可能性。

在602,方法可包括从示例集生成决策树。在一些情况下,在604,方法 可包括从包括像素示例的示例集生成决策树,像素示例集选自包括多个层叠的 对象平面的深度图像。

在606,方法可包括确定深度图像中的任何场景的信号强度是否低。在一 个示例中,确定信号强度包括确定场景的熵大于熵阈值。如果确定信号强度是 低的,则方法移动至608。否则,方法返回至其它操作。

在608,方法可包括修改示例集以增强具有低信号强度的场景的信号强度。 在其中示例集包括选自包括多个层叠的对象平面的深度图像的像素的情况下, 在610,方法可包括修改深度图像以添加或移除对象平面以增强深度图像中对 象的信号强度。此外,方法可返回到602来基于经修改的示例集来训练决策树。 方法可继续直到示例集所表示的场景的信号强度已被增强至合适的水平为止。

应该理解,此处所述的配置和/或方法在本质上是示例性的,且这些具体实 施例或示例不是限制意义,因为多个变体是可能的。此处所述的具体例程或方 法可表示任何数量的处理策略中的一个或更多个。由此,所示出的各个动作可 以按所示顺序执行、按其他顺序执行、并行地执行、或者在某些情况下省略。 同样,可以改变上述过程的次序。

本发明的主题包括各种过程、系统和配置的所有新颖和非显而易见的组合 和子组合、和此处所公开的其他特征、功能、动作、和/或特性、以及其任何和 全部等效物。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号