CN102566981A - 并行处理机器学习决策树训练 - Google Patents
并行处理机器学习决策树训练 Download PDFInfo
- Publication number
- CN102566981A CN102566981A CN2011104432087A CN201110443208A CN102566981A CN 102566981 A CN102566981 A CN 102566981A CN 2011104432087 A CN2011104432087 A CN 2011104432087A CN 201110443208 A CN201110443208 A CN 201110443208A CN 102566981 A CN102566981 A CN 102566981A
- Authority
- CN
- China
- Prior art keywords
- decision tree
- characteristic
- node
- gpu
- parallel processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24317—Piecewise classification, i.e. whereby each classification requires several discriminant rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及并行处理机器学习决策树训练。此处所公开的各实施例涉及通过基于图形处理单元(GPU)的机器学习来生成决策树。例如,一个实施例提供了一种方法,包括,对于决策树的每个层级:在并行处理流水线的每个GPU处对示例集中的每个示例执行针对特征集中的一个特征的特征测试。方法进一步包括将特征测试的结果累积在本地存储器块中。该方法还包括,将累积的结果从每个本地存储器块的写入到全局存储器,以生成层级中的每个节点的特征的直方图,并且对于层级中的每个节点,根据直方图将具有最低熵的特征分配给该节点。
Description
技术领域
本发明涉及用于决策树训练的机器学习,更具体地,本发明涉及利用包括多个图形处理单位(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可包括单个核而不背离本发明的范围。在一个示例中,CPU110包括执行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函数为正的和负的直方图中的每个特征计算一个纯度层级(apurity 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来基于经修改的示例集来训练决策树。方法可继续直到示例集所表示的场景的信号强度已被增强至合适的水平为止。
应该理解,此处所述的配置和/或方法在本质上是示例性的,且这些具体实施例或示例不是限制意义,因为多个变体是可能的。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或更多个。由此,所示出的各个动作可以按所示顺序执行、按其他顺序执行、并行地执行、或者在某些情况下省略。同样,可以改变上述过程的次序。
本发明的主题包括各种过程、系统和配置的所有新颖和非显而易见的组合和子组合、和此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物。
Claims (8)
1.一种用于从包括多个处理块的并行处理流水线生成决策树的方法(500),所述决策树包括组织为多个层级的多个节点,每个处理块包括共享存储器块的多个图形处理单元(GPU),并且所述并行处理流水线的每个GPU共享全局存储器,所述方法包括,对于所述决策树的每一层级:
在所述并行处理流水线的每个GPU处对示例集中的每个示例执行(502)针对特征集中的特征的特征测试;在每个存储器块处累积(504)对由共享所述存储器块的多个GPU所处理的每个示例执行的每个特征测试结果的结果;将所累积的结果从每个存储器块写入(510)到所述全局存储器以生成所述层级中的每个节点的特征的直方图;以及对于层级中的每个节点,根据所述直方图将具有最低熵的特征分配(514)给该节点。
2.如权利要求1所述的方法,其特征在于,每个示例包括从多个深度图之一中选择的像素,并且所述示例集包括从所述多个深度图的每一个中选择的像素。
3.如权利要求2所述的方法,其特征在于,从深度图中选择的所有像素由一选择的处理块来处理,并且每个处理块一次处理一幅深度图。
4.权利要求2所述的方法,其特征在于,每个深度图包括多个对象平面,所述方法还包括:
修改深度图以添加/移除所述多个对象平面中的一个以降低分配给节点的特征的熵。
5.如权利要求2所述的方法,其特征在于,所述多个深度图包括不同的角色姿势,并且所述决策树将从所述角色姿势选择的示例归类为不同的身体部位。
6.如权利要求1所述的方法,其特征在于,所述累积包括当多个特征测试结果争用一部分存储器块时,对该部分存储器块执行单位递增,以及当一个特征测试结果将被存储在一部分存储器块中时,对该部分存储器块执行非单位递增。
7.如权利要求1所述的方法,其特征在于,所述写入包括对包括累积的特征测试结果值的每个存储器块部分执行至全局存储器的单位添加。
8.如权利要求1所述的方法,其特征在于,所述并行处理流水线根据统一计算设备架构(CUDA)工作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/969,112 | 2010-12-15 | ||
US12/969,112 US9171264B2 (en) | 2010-12-15 | 2010-12-15 | Parallel processing machine learning decision tree training |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102566981A true CN102566981A (zh) | 2012-07-11 |
CN102566981B CN102566981B (zh) | 2015-01-14 |
Family
ID=46233761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110443208.7A Active CN102566981B (zh) | 2010-12-15 | 2011-12-14 | 并行处理机器学习决策树训练 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9171264B2 (zh) |
CN (1) | CN102566981B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156786A (zh) * | 2015-04-19 | 2016-11-23 | 北京典赞科技有限公司 | 基于多gpu的随机森林训练方法 |
CN106663191A (zh) * | 2014-06-27 | 2017-05-10 | 微软技术许可有限责任公司 | 用于对像素进行分类的系统和方法 |
CN111695693A (zh) * | 2019-03-13 | 2020-09-22 | 株式会社理光 | 学习装置及学习方法 |
CN112785485A (zh) * | 2019-11-04 | 2021-05-11 | 辉达公司 | 用于有效的结构附接存储器的技术 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290882B2 (en) * | 2008-10-09 | 2012-10-16 | Microsoft Corporation | Evaluating decision trees on a GPU |
US9171264B2 (en) | 2010-12-15 | 2015-10-27 | Microsoft Technology Licensing, Llc | Parallel processing machine learning decision tree training |
US8488888B2 (en) | 2010-12-28 | 2013-07-16 | Microsoft Corporation | Classification of posture states |
US10671841B2 (en) | 2011-05-02 | 2020-06-02 | Microsoft Technology Licensing, Llc | Attribute state classification |
KR101909544B1 (ko) * | 2012-01-19 | 2018-10-18 | 삼성전자주식회사 | 평면 검출 장치 및 방법 |
US10009579B2 (en) | 2012-11-21 | 2018-06-26 | Pelco, Inc. | Method and system for counting people using depth sensor |
US9367733B2 (en) | 2012-11-21 | 2016-06-14 | Pelco, Inc. | Method and apparatus for detecting people by a surveillance system |
US9639747B2 (en) | 2013-03-15 | 2017-05-02 | Pelco, Inc. | Online learning method for people detection and counting for retail stores |
EP2854403A1 (en) * | 2013-09-30 | 2015-04-01 | Samsung Electronics Co., Ltd | Image generating apparatus and display device for layered display scheme based on location of eye of user |
US10606651B2 (en) | 2015-04-17 | 2020-03-31 | Microsoft Technology Licensing, Llc | Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit |
US10540608B1 (en) | 2015-05-22 | 2020-01-21 | Amazon Technologies, Inc. | Dynamically scaled training fleets for machine learning |
EP3316184B1 (en) * | 2015-06-25 | 2020-03-11 | Fujitsu Limited | Program generating device, program generating method, and generating program |
US10452995B2 (en) | 2015-06-29 | 2019-10-22 | Microsoft Technology Licensing, Llc | Machine learning classification on hardware accelerators with stacked memory |
US10540588B2 (en) | 2015-06-29 | 2020-01-21 | Microsoft Technology Licensing, Llc | Deep neural network processing on hardware accelerators with stacked memory |
JP6564275B2 (ja) * | 2015-08-20 | 2019-08-21 | キヤノン株式会社 | 画像処理装置、及び画像処理方法 |
US10108321B2 (en) | 2015-08-31 | 2018-10-23 | Microsoft Technology Licensing, Llc | Interface for defining user directed partial graph execution |
US10860947B2 (en) | 2015-12-17 | 2020-12-08 | Microsoft Technology Licensing, Llc | Variations in experiment graphs for machine learning |
WO2017218009A1 (en) | 2016-06-17 | 2017-12-21 | Hewlett-Packard Development Company, L.P. | Shared machine-learning data structure |
KR20180027710A (ko) | 2016-09-06 | 2018-03-15 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법 |
US11010431B2 (en) | 2016-12-30 | 2021-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for supporting machine learning algorithms and data pattern matching in ethernet SSD |
CN108334951B (zh) | 2017-01-20 | 2023-04-25 | 微软技术许可有限责任公司 | 针对决策树的节点的数据的预统计 |
US11521045B2 (en) | 2017-06-14 | 2022-12-06 | Knowm, Inc. | Anti-Hebbian and Hebbian (AHAH) computing |
US11307863B1 (en) * | 2018-10-08 | 2022-04-19 | Nvidia Corporation | Graphics processing unit systems for performing data analytics operations in data science |
US20220180176A1 (en) * | 2020-12-08 | 2022-06-09 | Huawei Technologies Co., Ltd. | System, method and apparatus for intelligent caching |
CN115393659B (zh) * | 2022-10-27 | 2023-01-24 | 珠海横琴圣澳云智科技有限公司 | 基于多级决策树的个性化分类流程优化方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320344A (zh) * | 2008-07-07 | 2008-12-10 | 中国科学院计算技术研究所 | 一种多核或众核处理器功能验证设备及方法 |
US20100094800A1 (en) * | 2008-10-09 | 2010-04-15 | Microsoft Corporation | Evaluating Decision Trees on a GPU |
US20100197390A1 (en) * | 2009-01-30 | 2010-08-05 | Microsoft Corporation | Pose tracking pipeline |
Family Cites Families (188)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4288078A (en) | 1979-11-20 | 1981-09-08 | Lugo Julio I | Game apparatus |
US4695953A (en) | 1983-08-25 | 1987-09-22 | Blair Preston E | TV animation interactively controlled by the viewer |
US4630910A (en) | 1984-02-16 | 1986-12-23 | Robotic Vision Systems, Inc. | Method of measuring in three-dimensions at high speed |
US4627620A (en) | 1984-12-26 | 1986-12-09 | Yang John P | Electronic athlete trainer for improving skills in reflex, speed and accuracy |
US4645458A (en) | 1985-04-15 | 1987-02-24 | Harald Phillip | Athletic evaluation and training apparatus |
US4702475A (en) | 1985-08-16 | 1987-10-27 | Innovating Training Products, Inc. | Sports technique and reaction training system |
US4843568A (en) | 1986-04-11 | 1989-06-27 | Krueger Myron W | Real time perception of and response to the actions of an unencumbered participant/user |
US4711543A (en) | 1986-04-14 | 1987-12-08 | Blair Preston E | TV animation interactively controlled by the viewer |
US4796997A (en) | 1986-05-27 | 1989-01-10 | Synthetic Vision Systems, Inc. | Method and system for high-speed, 3-D imaging of an object at a vision station |
US5184295A (en) | 1986-05-30 | 1993-02-02 | Mann Ralph V | System and method for teaching physical skills |
US4751642A (en) | 1986-08-29 | 1988-06-14 | Silva John M | Interactive sports simulation system with physiological sensing and psychological conditioning |
US4809065A (en) | 1986-12-01 | 1989-02-28 | Kabushiki Kaisha Toshiba | Interactive system and related method for displaying data to produce a three-dimensional image of an object |
US4817950A (en) | 1987-05-08 | 1989-04-04 | Goo Paul E | Video game control unit and attitude sensor |
US5239463A (en) | 1988-08-04 | 1993-08-24 | Blair Preston E | Method and apparatus for player interaction with animated characters and objects |
US5239464A (en) | 1988-08-04 | 1993-08-24 | Blair Preston E | Interactive video system providing repeated switching of multiple tracks of actions sequences |
US4901362A (en) | 1988-08-08 | 1990-02-13 | Raytheon Company | Method of recognizing patterns |
US4893183A (en) | 1988-08-11 | 1990-01-09 | Carnegie-Mellon University | Robotic vision system |
JPH02199526A (ja) | 1988-10-14 | 1990-08-07 | David G Capper | 制御インターフェース装置 |
US4925189A (en) | 1989-01-13 | 1990-05-15 | Braeunig Thomas F | Body-mounted video game exercise device |
US5229756A (en) | 1989-02-07 | 1993-07-20 | Yamaha Corporation | Image control apparatus |
US5469740A (en) | 1989-07-14 | 1995-11-28 | Impulse Technology, Inc. | Interactive video testing and training system |
JPH03103822U (zh) | 1990-02-13 | 1991-10-29 | ||
US5101444A (en) | 1990-05-18 | 1992-03-31 | Panacea, Inc. | Method and apparatus for high speed object location |
US5148154A (en) | 1990-12-04 | 1992-09-15 | Sony Corporation Of America | Multi-dimensional user interface |
US5534917A (en) | 1991-05-09 | 1996-07-09 | Very Vivid, Inc. | Video image based control system |
US5417210A (en) | 1992-05-27 | 1995-05-23 | International Business Machines Corporation | System and method for augmentation of endoscopic surgery |
US5295491A (en) | 1991-09-26 | 1994-03-22 | Sam Technology, Inc. | Non-invasive human neurocognitive performance capability testing method and system |
US6054991A (en) | 1991-12-02 | 2000-04-25 | Texas Instruments Incorporated | Method of modeling player position and movement in a virtual reality system |
JPH06508788A (ja) | 1991-12-03 | 1994-10-06 | フレンチ スポーテク コーポレイション | 対話型ビデオ式検査および訓練システム |
US5875108A (en) | 1991-12-23 | 1999-02-23 | Hoffberg; Steven M. | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
JPH07325934A (ja) | 1992-07-10 | 1995-12-12 | Walt Disney Co:The | 仮想世界に向上したグラフィックスを提供する方法および装置 |
US5999908A (en) | 1992-08-06 | 1999-12-07 | Abelow; Daniel H. | Customer-based product design module |
US5320538A (en) | 1992-09-23 | 1994-06-14 | Hughes Training, Inc. | Interactive aircraft training system and method |
IT1257294B (it) | 1992-11-20 | 1996-01-12 | Dispositivo atto a rilevare la configurazione di un'unita' fisiologicadistale,da utilizzarsi in particolare come interfaccia avanzata per macchine e calcolatori. | |
US5495576A (en) | 1993-01-11 | 1996-02-27 | Ritchey; Kurtis J. | Panoramic image based virtual reality/telepresence audio-visual system and method |
US5690582A (en) | 1993-02-02 | 1997-11-25 | Tectrix Fitness Equipment, Inc. | Interactive exercise apparatus |
JP2799126B2 (ja) | 1993-03-26 | 1998-09-17 | 株式会社ナムコ | ビデオゲーム装置及びゲーム用入力装置 |
US5405152A (en) | 1993-06-08 | 1995-04-11 | The Walt Disney Company | Method and apparatus for an interactive video game with physical feedback |
US5454043A (en) | 1993-07-30 | 1995-09-26 | Mitsubishi Electric Research Laboratories, Inc. | Dynamic and static hand gesture recognition through low-level image analysis |
US5423554A (en) | 1993-09-24 | 1995-06-13 | Metamedia Ventures, Inc. | Virtual reality game method and apparatus |
US5980256A (en) | 1993-10-29 | 1999-11-09 | Carmein; David E. E. | Virtual reality system with enhanced sensory apparatus |
JP3419050B2 (ja) | 1993-11-19 | 2003-06-23 | 株式会社日立製作所 | 入力装置 |
US5347306A (en) | 1993-12-17 | 1994-09-13 | Mitsubishi Electric Research Laboratories, Inc. | Animated electronic meeting place |
JP2552427B2 (ja) | 1993-12-28 | 1996-11-13 | コナミ株式会社 | テレビ遊戯システム |
US5577981A (en) | 1994-01-19 | 1996-11-26 | Jarvik; Robert | Virtual reality exercise machine and computer controlled video system |
US5580249A (en) | 1994-02-14 | 1996-12-03 | Sarcos Group | Apparatus for simulating mobility of a human |
US5597309A (en) | 1994-03-28 | 1997-01-28 | Riess; Thomas | Method and apparatus for treatment of gait problems associated with parkinson's disease |
US5385519A (en) | 1994-04-19 | 1995-01-31 | Hsu; Chi-Hsueh | Running machine |
US5524637A (en) | 1994-06-29 | 1996-06-11 | Erickson; Jon W. | Interactive system for measuring physiological exertion |
JPH0844490A (ja) | 1994-07-28 | 1996-02-16 | Matsushita Electric Ind Co Ltd | インターフェイス装置 |
US5563988A (en) | 1994-08-01 | 1996-10-08 | Massachusetts Institute Of Technology | Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment |
US6714665B1 (en) | 1994-09-02 | 2004-03-30 | Sarnoff Corporation | Fully automated iris recognition system utilizing wide and narrow fields of view |
US5516105A (en) | 1994-10-06 | 1996-05-14 | Exergame, Inc. | Acceleration activated joystick |
US5638300A (en) | 1994-12-05 | 1997-06-10 | Johnson; Lee E. | Golf swing analysis system |
JPH08161292A (ja) | 1994-12-09 | 1996-06-21 | Matsushita Electric Ind Co Ltd | 混雑度検知方法およびそのシステム |
US5594469A (en) | 1995-02-21 | 1997-01-14 | Mitsubishi Electric Information Technology Center America Inc. | Hand gesture machine control system |
US5682229A (en) | 1995-04-14 | 1997-10-28 | Schwartz Electro-Optics, Inc. | Laser range camera |
US5913727A (en) | 1995-06-02 | 1999-06-22 | Ahdoot; Ned | Interactive movement and contact simulation game |
JP3481631B2 (ja) | 1995-06-07 | 2003-12-22 | ザ トラスティース オブ コロンビア ユニヴァーシティー イン ザ シティー オブ ニューヨーク | 能動型照明及びデフォーカスに起因する画像中の相対的なぼけを用いる物体の3次元形状を決定する装置及び方法 |
US5682196A (en) | 1995-06-22 | 1997-10-28 | Actv, Inc. | Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers |
US5702323A (en) | 1995-07-26 | 1997-12-30 | Poulton; Craig K. | Electronic exercise enhancer |
US6098458A (en) | 1995-11-06 | 2000-08-08 | Impulse Technology, Ltd. | Testing and training system for assessing movement and agility skills without a confining field |
US6073489A (en) | 1995-11-06 | 2000-06-13 | French; Barry J. | Testing and training system for assessing the ability of a player to complete a task |
US6430997B1 (en) | 1995-11-06 | 2002-08-13 | Trazer Technologies, Inc. | System and method for tracking and assessing movement skills in multidimensional space |
US6308565B1 (en) | 1995-11-06 | 2001-10-30 | Impulse Technology Ltd. | System and method for tracking and assessing movement skills in multidimensional space |
US6176782B1 (en) | 1997-12-22 | 2001-01-23 | Philips Electronics North America Corp. | Motion-based command generation technology |
US5933125A (en) | 1995-11-27 | 1999-08-03 | Cae Electronics, Ltd. | Method and apparatus for reducing instability in the display of a virtual environment |
US5774591A (en) | 1995-12-15 | 1998-06-30 | Xerox Corporation | Apparatus and method for recognizing facial expressions and facial gestures in a sequence of images |
US5641288A (en) | 1996-01-11 | 1997-06-24 | Zaenglein, Jr.; William G. | Shooting simulating process and training device using a virtual reality display screen |
JP2000510013A (ja) | 1996-05-08 | 2000-08-08 | リアル ヴィジョン コーポレイション | 位置検出を用いたリアルタイムシミュレーション |
US6173066B1 (en) | 1996-05-21 | 2001-01-09 | Cybernet Systems Corporation | Pose determination and tracking by matching 3D objects to a 2D sensor |
US5989157A (en) | 1996-08-06 | 1999-11-23 | Walton; Charles A. | Exercising system with electronic inertial game playing |
WO1998007129A1 (fr) | 1996-08-14 | 1998-02-19 | Latypov Nurakhmed Nurislamovic | Procede de suivi et de representation de la position et de l'orientation d'un sujet dans l'espace, procede de presentation d'un espace virtuel a ce sujet, et systemes de mise en oeuvre de ces procedes |
JP3064928B2 (ja) | 1996-09-20 | 2000-07-12 | 日本電気株式会社 | 被写体抽出方式 |
ATE232621T1 (de) | 1996-12-20 | 2003-02-15 | Hitachi Europ Ltd | Verfahren und system zur erkennung von handgesten |
US6009210A (en) | 1997-03-05 | 1999-12-28 | Digital Equipment Corporation | Hands-free interface to a virtual reality environment using head tracking |
US6100896A (en) | 1997-03-24 | 2000-08-08 | Mitsubishi Electric Information Technology Center America, Inc. | System for designing graphical multi-participant environments |
US5877803A (en) | 1997-04-07 | 1999-03-02 | Tritech Mircoelectronics International, Ltd. | 3-D image detector |
US6215898B1 (en) | 1997-04-15 | 2001-04-10 | Interval Research Corporation | Data processing system and method |
JP3077745B2 (ja) | 1997-07-31 | 2000-08-14 | 日本電気株式会社 | データ処理方法および装置、情報記憶媒体 |
US6188777B1 (en) | 1997-08-01 | 2001-02-13 | Interval Research Corporation | Method and apparatus for personnel detection and tracking |
US6720949B1 (en) | 1997-08-22 | 2004-04-13 | Timothy R. Pryor | Man machine interfaces and applications |
AUPO894497A0 (en) | 1997-09-02 | 1997-09-25 | Xenotech Research Pty Ltd | Image processing method and apparatus |
EP0905644A3 (en) | 1997-09-26 | 2004-02-25 | Matsushita Electric Industrial Co., Ltd. | Hand gesture recognizing device |
US6141463A (en) | 1997-10-10 | 2000-10-31 | Electric Planet Interactive | Method and system for estimating jointed-figure configurations |
WO1999019840A1 (en) | 1997-10-15 | 1999-04-22 | Electric Planet, Inc. | A system and method for generating an animatable character |
AU1099899A (en) | 1997-10-15 | 1999-05-03 | Electric Planet, Inc. | Method and apparatus for performing a clean background subtraction |
US6101289A (en) | 1997-10-15 | 2000-08-08 | Electric Planet, Inc. | Method and apparatus for unencumbered capture of an object |
US6130677A (en) | 1997-10-15 | 2000-10-10 | Electric Planet, Inc. | Interactive computer vision system |
US6072494A (en) | 1997-10-15 | 2000-06-06 | Electric Planet, Inc. | Method and apparatus for real-time gesture recognition |
US6181343B1 (en) | 1997-12-23 | 2001-01-30 | Philips Electronics North America Corp. | System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs |
JP2002516121A (ja) | 1998-03-03 | 2002-06-04 | アリーナ, インコーポレイテッド | 多次元空間における運動技術を追跡し、そして評価するためのシステムおよび方法 |
US6159100A (en) | 1998-04-23 | 2000-12-12 | Smith; Michael D. | Virtual reality game |
US6077201A (en) | 1998-06-12 | 2000-06-20 | Cheng; Chau-Yang | Exercise bicycle |
US7121946B2 (en) | 1998-08-10 | 2006-10-17 | Cybernet Systems Corporation | Real-time head tracking system for computer games and other applications |
US6681031B2 (en) | 1998-08-10 | 2004-01-20 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
US6801637B2 (en) | 1999-08-10 | 2004-10-05 | Cybernet Systems Corporation | Optical body tracker |
US7036094B1 (en) | 1998-08-10 | 2006-04-25 | Cybernet Systems Corporation | Behavior recognition system |
US20010008561A1 (en) | 1999-08-10 | 2001-07-19 | Paul George V. | Real-time object tracking system |
US6950534B2 (en) | 1998-08-10 | 2005-09-27 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
IL126284A (en) | 1998-09-17 | 2002-12-01 | Netmor Ltd | System and method for three dimensional positioning and tracking |
EP0991011B1 (en) | 1998-09-28 | 2007-07-25 | Matsushita Electric Industrial Co., Ltd. | Method and device for segmenting hand gestures |
WO2000034919A1 (en) | 1998-12-04 | 2000-06-15 | Interval Research Corporation | Background estimation and segmentation based on range and color |
US6147678A (en) | 1998-12-09 | 2000-11-14 | Lucent Technologies Inc. | Video hand image-three-dimensional computer interface with multiple degrees of freedom |
EP1147370B1 (en) | 1998-12-16 | 2009-02-25 | 3DV Systems Ltd. | Self gating photosurface |
US6570555B1 (en) | 1998-12-30 | 2003-05-27 | Fuji Xerox Co., Ltd. | Method and apparatus for embodied conversational characters with multimodal input/output in an interface device |
US6363160B1 (en) | 1999-01-22 | 2002-03-26 | Intel Corporation | Interface using pattern recognition and tracking |
US7003134B1 (en) | 1999-03-08 | 2006-02-21 | Vulcan Patents Llc | Three dimensional object pose estimation which employs dense depth information |
DE10080012B4 (de) | 1999-03-19 | 2005-04-14 | Matsushita Electric Works, Ltd., Kadoma | Dreidimensionales Verfahren zum Erkennen von Gegenständen und System zum Aufnehmen eines Gegenstandes aus einem Behältnis mit Verwendung des Verfahrens |
US6299308B1 (en) | 1999-04-02 | 2001-10-09 | Cybernet Systems Corporation | Low-cost non-imaging eye tracker system for computer control |
US6289122B1 (en) | 1999-04-15 | 2001-09-11 | Electronics For Imaging, Inc. | Intelligent detection of text on a page |
US6503195B1 (en) | 1999-05-24 | 2003-01-07 | University Of North Carolina At Chapel Hill | Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction |
US6476834B1 (en) | 1999-05-28 | 2002-11-05 | International Business Machines Corporation | Dynamic creation of selectable items on surfaces |
US6873723B1 (en) | 1999-06-30 | 2005-03-29 | Intel Corporation | Segmenting three-dimensional video images using stereo |
US6738066B1 (en) | 1999-07-30 | 2004-05-18 | Electric Plant, Inc. | System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display |
US7113918B1 (en) | 1999-08-01 | 2006-09-26 | Electric Planet, Inc. | Method for video enabled electronic commerce |
US7050606B2 (en) | 1999-08-10 | 2006-05-23 | Cybernet Systems Corporation | Tracking and gesture recognition system particularly suited to vehicular control applications |
US6663491B2 (en) | 2000-02-18 | 2003-12-16 | Namco Ltd. | Game apparatus, storage medium and computer program that adjust tempo of sound |
US6633294B1 (en) | 2000-03-09 | 2003-10-14 | Seth Rosenthal | Method and apparatus for using captured high density motion for animation |
EP1152261A1 (en) | 2000-04-28 | 2001-11-07 | CSEM Centre Suisse d'Electronique et de Microtechnique SA | Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves |
US6640202B1 (en) | 2000-05-25 | 2003-10-28 | International Business Machines Corporation | Elastic sensor mesh system for 3-dimensional measurement, mapping and kinematics applications |
US6731799B1 (en) | 2000-06-01 | 2004-05-04 | University Of Washington | Object segmentation with background extraction and moving boundary techniques |
US6788809B1 (en) | 2000-06-30 | 2004-09-07 | Intel Corporation | System and method for gesture recognition in three dimensions using stereo imaging and color vision |
US7227526B2 (en) | 2000-07-24 | 2007-06-05 | Gesturetek, Inc. | Video-based image control system |
US7058204B2 (en) | 2000-10-03 | 2006-06-06 | Gesturetek, Inc. | Multiple camera control system |
US7039676B1 (en) | 2000-10-31 | 2006-05-02 | International Business Machines Corporation | Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session |
US6539931B2 (en) | 2001-04-16 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Ball throwing assistant |
US8035612B2 (en) | 2002-05-28 | 2011-10-11 | Intellectual Ventures Holding 67 Llc | Self-contained interactive video display system |
US7259747B2 (en) | 2001-06-05 | 2007-08-21 | Reactrix Systems, Inc. | Interactive video display system |
US7007035B2 (en) | 2001-06-08 | 2006-02-28 | The Regents Of The University Of California | Parallel object-oriented decision tree system |
JP3420221B2 (ja) | 2001-06-29 | 2003-06-23 | 株式会社コナミコンピュータエンタテインメント東京 | ゲーム装置及びプログラム |
US6937742B2 (en) | 2001-09-28 | 2005-08-30 | Bellsouth Intellectual Property Corporation | Gesture activated home appliance |
US20030085887A1 (en) | 2001-11-06 | 2003-05-08 | Smartequip, Inc. | Method and system for identifying objects using a shape-fitting algorithm |
ATE321689T1 (de) | 2002-04-19 | 2006-04-15 | Iee Sarl | Sicherheitsvorrichtung für ein fahrzeug |
US7710391B2 (en) | 2002-05-28 | 2010-05-04 | Matthew Bell | Processing an image utilizing a spatially varying pattern |
US7170492B2 (en) | 2002-05-28 | 2007-01-30 | Reactrix Systems, Inc. | Interactive video display system |
US7348963B2 (en) | 2002-05-28 | 2008-03-25 | Reactrix Systems, Inc. | Interactive video display system |
US7489812B2 (en) | 2002-06-07 | 2009-02-10 | Dynamic Digital Depth Research Pty Ltd. | Conversion and encoding techniques |
KR100575906B1 (ko) | 2002-10-25 | 2006-05-02 | 미츠비시 후소 트럭 앤드 버스 코포레이션 | 핸드 패턴 스위치 장치 |
US7576727B2 (en) | 2002-12-13 | 2009-08-18 | Matthew Bell | Interactive directed light/sound system |
JP4235729B2 (ja) | 2003-02-03 | 2009-03-11 | 国立大学法人静岡大学 | 距離画像センサ |
US9177387B2 (en) | 2003-02-11 | 2015-11-03 | Sony Computer Entertainment Inc. | Method and apparatus for real time motion capture |
US7257237B1 (en) | 2003-03-07 | 2007-08-14 | Sandia Corporation | Real time markerless motion tracking using linked kinematic chains |
DE602004006190T8 (de) | 2003-03-31 | 2008-04-10 | Honda Motor Co., Ltd. | Vorrichtung, Verfahren und Programm zur Gestenerkennung |
FI118062B (fi) | 2003-04-30 | 2007-06-15 | Nokia Corp | Pienimuistinen päätöspuu |
US8072470B2 (en) | 2003-05-29 | 2011-12-06 | Sony Computer Entertainment Inc. | System and method for providing a real-time three-dimensional interactive environment |
US7372977B2 (en) | 2003-05-29 | 2008-05-13 | Honda Motor Co., Ltd. | Visual tracking using depth data |
EP3190546A3 (en) | 2003-06-12 | 2017-10-04 | Honda Motor Co., Ltd. | Target orientation estimation using depth sensing |
WO2005041579A2 (en) | 2003-10-24 | 2005-05-06 | Reactrix Systems, Inc. | Method and system for processing captured image information in an interactive video display system |
EP1743277A4 (en) | 2004-04-15 | 2011-07-06 | Gesturetek Inc | MONITORING OF BI-MANUAL MOVEMENTS |
US7308112B2 (en) | 2004-05-14 | 2007-12-11 | Honda Motor Co., Ltd. | Sign based human-machine interaction |
US7704135B2 (en) | 2004-08-23 | 2010-04-27 | Harrison Jr Shelton E | Integrated game system, method, and device |
US7583819B2 (en) | 2004-11-05 | 2009-09-01 | Kyprianos Papademetriou | Digital signal processing methods, systems and computer program products that identify threshold positions and values |
KR20060070280A (ko) | 2004-12-20 | 2006-06-23 | 한국전자통신연구원 | 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법 |
HUE049974T2 (hu) | 2005-01-07 | 2020-11-30 | Qualcomm Inc | Képeken lévõ objektumok észlelése és követése |
US7379566B2 (en) | 2005-01-07 | 2008-05-27 | Gesturetek, Inc. | Optical flow based tilt sensor |
WO2006074310A2 (en) | 2005-01-07 | 2006-07-13 | Gesturetek, Inc. | Creating 3d images of objects by illuminating with infrared patterns |
EP1851750A4 (en) | 2005-02-08 | 2010-08-25 | Oblong Ind Inc | SYSTEM AND METHOD FOR CONTROL SYSTEM BASED ON GESTURES |
US7317836B2 (en) | 2005-03-17 | 2008-01-08 | Honda Motor Co., Ltd. | Pose estimation based on critical point analysis |
BRPI0613165A2 (pt) | 2005-05-17 | 2010-12-21 | Gesturetek Inc | saìda de sinal sensìvel à orientação |
ATE412882T1 (de) | 2005-08-12 | 2008-11-15 | Mesa Imaging Ag | Hochempfindliches, schnelles pixel für anwendung in einem bildsensor |
US20080026838A1 (en) | 2005-08-22 | 2008-01-31 | Dunstan James E | Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games |
US7450736B2 (en) | 2005-10-28 | 2008-11-11 | Honda Motor Co., Ltd. | Monocular tracking of 3D human motion with a coordinated mixture of factor analyzers |
US8249334B2 (en) | 2006-05-11 | 2012-08-21 | Primesense Ltd. | Modeling of humanoid forms from depth maps |
US7701439B2 (en) | 2006-07-13 | 2010-04-20 | Northrop Grumman Corporation | Gesture recognition simulation system and method |
KR100776801B1 (ko) | 2006-07-19 | 2007-11-19 | 한국전자통신연구원 | 화상 처리 시스템에서의 제스처 인식 장치 및 방법 |
KR100847136B1 (ko) | 2006-08-14 | 2008-07-18 | 한국전자통신연구원 | 어깨 윤곽선 추출 방법, 이를 이용한 로봇 깨움 방법 및이를 위한 장치 |
JP5395323B2 (ja) | 2006-09-29 | 2014-01-22 | ブレインビジョン株式会社 | 固体撮像素子 |
KR101312625B1 (ko) | 2006-11-03 | 2013-10-01 | 삼성전자주식회사 | 동작 추적 장치 및 방법 |
US7801924B2 (en) | 2006-12-28 | 2010-09-21 | Infosys Technologies Ltd. | Decision tree construction via frequent predictive itemsets and best attribute splits |
US7412077B2 (en) | 2006-12-29 | 2008-08-12 | Motorola, Inc. | Apparatus and methods for head pose estimation and head gesture detection |
US7729530B2 (en) | 2007-03-03 | 2010-06-01 | Sergey Antonov | Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system |
WO2008134745A1 (en) | 2007-04-30 | 2008-11-06 | Gesturetek, Inc. | Mobile video-based therapy |
US8726194B2 (en) | 2007-07-27 | 2014-05-13 | Qualcomm Incorporated | Item selection using enhanced control |
US7852262B2 (en) | 2007-08-16 | 2010-12-14 | Cybernet Systems Corporation | Wireless mobile indoor/outdoor tracking system |
US8005263B2 (en) | 2007-10-26 | 2011-08-23 | Honda Motor Co., Ltd. | Hand sign recognition using label assignment |
CN101246602B (zh) | 2008-02-04 | 2010-09-08 | 东华大学 | 基于几何骨架的人体姿态重建方法 |
US9772689B2 (en) | 2008-03-04 | 2017-09-26 | Qualcomm Incorporated | Enhanced gesture-based image manipulation |
CN101254344B (zh) | 2008-04-18 | 2010-06-16 | 李刚 | 场地方位与显示屏点阵按比例相对应的游戏装置和方法 |
US8514251B2 (en) | 2008-06-23 | 2013-08-20 | Qualcomm Incorporated | Enhanced character input using recognized gestures |
US8577085B2 (en) | 2009-01-30 | 2013-11-05 | Microsoft Corporation | Visual target tracking |
US8294767B2 (en) | 2009-01-30 | 2012-10-23 | Microsoft Corporation | Body scan |
US20100195867A1 (en) | 2009-01-30 | 2010-08-05 | Microsoft Corporation | Visual target tracking using model fitting and exemplar |
KR101617645B1 (ko) | 2009-02-24 | 2016-05-04 | 삼성전자주식회사 | 디스플레이 제어 방법 및 이를 이용한 장치 |
WO2010099034A1 (en) | 2009-02-25 | 2010-09-02 | Honda Motor Co., Ltd. | Capturing and recognizing hand postures using inner distance shape contexts |
US9628755B2 (en) | 2010-10-14 | 2017-04-18 | Microsoft Technology Licensing, Llc | Automatically tracking user movement in a video chat application |
US9171264B2 (en) | 2010-12-15 | 2015-10-27 | Microsoft Technology Licensing, Llc | Parallel processing machine learning decision tree training |
US8488888B2 (en) | 2010-12-28 | 2013-07-16 | Microsoft Corporation | Classification of posture states |
-
2010
- 2010-12-15 US US12/969,112 patent/US9171264B2/en active Active
-
2011
- 2011-12-14 CN CN201110443208.7A patent/CN102566981B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320344A (zh) * | 2008-07-07 | 2008-12-10 | 中国科学院计算技术研究所 | 一种多核或众核处理器功能验证设备及方法 |
US20100094800A1 (en) * | 2008-10-09 | 2010-04-15 | Microsoft Corporation | Evaluating Decision Trees on a GPU |
US20100197390A1 (en) * | 2009-01-30 | 2010-08-05 | Microsoft Corporation | Pose tracking pipeline |
Non-Patent Citations (1)
Title |
---|
VICTOR PODLOZHNYUK: "Histogram calculation in CUDA", 《NVIDIA》, 30 November 2007 (2007-11-30) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106663191A (zh) * | 2014-06-27 | 2017-05-10 | 微软技术许可有限责任公司 | 用于对像素进行分类的系统和方法 |
CN106663191B (zh) * | 2014-06-27 | 2020-03-10 | 微软技术许可有限责任公司 | 用于对像素进行分类的系统和方法 |
CN106156786A (zh) * | 2015-04-19 | 2016-11-23 | 北京典赞科技有限公司 | 基于多gpu的随机森林训练方法 |
CN111695693A (zh) * | 2019-03-13 | 2020-09-22 | 株式会社理光 | 学习装置及学习方法 |
CN111695693B (zh) * | 2019-03-13 | 2024-04-26 | 株式会社理光 | 学习装置及学习方法 |
CN112785485A (zh) * | 2019-11-04 | 2021-05-11 | 辉达公司 | 用于有效的结构附接存储器的技术 |
CN112785485B (zh) * | 2019-11-04 | 2023-11-07 | 辉达公司 | 用于有效的结构附接存储器的技术 |
US11822491B2 (en) | 2019-11-04 | 2023-11-21 | Nvidia Corporation | Techniques for an efficient fabric attached memory |
Also Published As
Publication number | Publication date |
---|---|
US9171264B2 (en) | 2015-10-27 |
US20120154373A1 (en) | 2012-06-21 |
CN102566981B (zh) | 2015-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102566981B (zh) | 并行处理机器学习决策树训练 | |
US11631239B2 (en) | Iterative spatio-temporal action detection in video | |
US11074717B2 (en) | Detecting and estimating the pose of an object using a neural network model | |
US10657306B1 (en) | Deep learning testability analysis with graph convolutional networks | |
CN102592133B (zh) | 使用概率推进树进行评估的方法和系统 | |
EP3757899A1 (en) | Neural architecture for self supervised event learning and anomaly detection | |
US11836597B2 (en) | Detecting visual artifacts in image sequences using a neural network model | |
US8630509B2 (en) | Structured grids for label propagation on a finite number of layers | |
CN106779057B (zh) | 基于gpu的计算二值神经网络卷积的方法及装置 | |
CN110880203A (zh) | 场景中对象的联合合成和放置 | |
US10860859B2 (en) | Budget-aware method for detecting activity in video | |
Guo et al. | Network pruning for remote sensing images classification based on interpretable CNNs | |
US20200175392A1 (en) | Multiple Model-Based Apparatus and Method for Inferring a Path for At Least One Target Object | |
US20210247984A1 (en) | Neural network operation reordering for parallel execution | |
CN113657393B (zh) | 一种形状先验缺失的图像半监督分割方法及系统 | |
Zhao et al. | A memory-efficient hardware architecture for connected component labeling in embedded system | |
Li et al. | Alpha-SGANet: A multi-attention-scale feature pyramid network combined with lightweight network based on Alpha-IoU loss | |
GB2607348A (en) | Graphics processing | |
Park et al. | A vision processor with a unified interest-point detection and matching hardware for accelerating a stereo-matching algorithm | |
US20220392146A1 (en) | Graphics processing | |
US20220129755A1 (en) | Incorporating a ternary matrix into a neural network | |
Sim | Real-Time 3D Reconstruction and Semantic Segmentation Using Multi-Layer Heightmaps | |
CN115374396A (zh) | 用于使用稀疏矩阵的分层表示来加速矩阵乘法计算的技术 | |
Xie et al. | Exploring cross-city semantic segmentation of ALS point clouds | |
Zhang et al. | Data Parallel Quadtree Indexing and Spatial Query Processing of Complex Polygon Data on GPUs. |
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: 20150507 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150507 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |