针对二维阵列处理器的性能增强制造技术

技术编号:17573391 阅读:21 留言:0更新日期:2018-03-28 20:51
公开了用于增加对二维阵列中的数据的处理操作的速度以及用于检测图像中的特征的方法和系统。一种用于检测图像中的特征的方法包括在并行处理系统内的一组数据存储器中存储表示第一图像的像素的第一图像数据。该方法进一步包括在耦接到并行处理系统的主机处理器的存储器中存储表示一组权重矩阵的特征内核数据。一种用于增加对二维阵列中的数据的处理操作的速度的方法包括在并行处理系统内的一组数据存储器中存储表示第一阵列的元素的第一阵列数据。该方法进一步包括对于第一阵列内的多个选择元素中的每一个,对选择元素执行处理操作以产生与选择元素对应的输出元素。

【技术实现步骤摘要】
【国外来华专利技术】针对二维阵列处理器的性能增强
本申请要求于2015年7月23日提交的题为“MireplicaVisual-ProcessingArchitecture:ConvolutionalNeuralNetworks”的申请号为62/195,921的美国临时申请的优先权,该申请的整体通过引用并入在此,并为了如在此完全和全面阐述的所有目的。
技术介绍
许多应用程序涉及二维数据集合。视觉处理应用程序就是一个示例。在此使用的术语“视觉处理”涉及图像和视频图片元素(“像素”)和相关数据的一般处理类别。这包括诸如增强图像和转换像素格式、运动检测和跟踪,以及识别静止图像或视频帧中的特征或对象的应用程序。涉及可以以二维集合表示的数据的其它应用程序包括物理量(诸如力或电磁场)的建模。在一些情况下,三维数据集合可以以二维表示,诸如通过投影或变换到二维平面中,或者作为多个相邻的二维数据集合。卷积神经网络包含大量的检测和分类算法。近来,二维(2D)卷积神经网络(CNN)由于其对大量图像对象的检测和分类的能力而受到广泛关注。CNN具有许多不同的配置,但该配置由基本元素组成,其通过调节网络参数和互连拓扑结构而允许网络“受训练”以识别对象,以实现高水平的检测可靠性,在现有实施方式中通常为超过90%。CNN通常被分类为“深度”神经网络,通常具有四层或更多层。CNN的“卷积”层通常具有比输入更多的输出值,输出进而成为下一个卷积层的输入。如下面进一步讨论的,由此产生的运算的数量非常大,并且对一个输入图像帧执行检测处理所需的时钟周期的数量可以容易地在十亿的量级上。对于许多应用程序来说,实时图像识别是期望的,诸如自动操作车辆的签名读取或在安全情况下的面部识别。因此,检测速度的提高可以极大地提高这种图像识别应用程序的性能和能力。附图说明以下对各种公开实施例的详细描述参考了附图,在附图中:图1是示出示例性卷积神经网络的某些方面的简化框图;图2是示出在卷积神经网络中的卷积运算的图;图3是示出与单个像素相关联的检测输出所依赖的图像、信号、权重和偏置元素的数量的图;图4是示出瓦片(tile)处理器数据流实施方式的某些方面的简化框图;图5是示出针对在示例性CNN检测处理的操作期间执行的数据请求的延迟的直方图;图6是示出在一些实施例中与在此描述的瓦片处理器一起使用的指令生成单元的实施例的某些方面的简化框图;图7是示出在卷积神经网络中的示例性子采样(subsampling)操作的图;图8是示出示例性卷积神经网络中的子采样操作导致的数据矢量宽度的图;图9是示出在采用子采样执行示例性卷积神经网络期间的瓦片处理器数据存储器存储的图;图10是示出提供示例性卷积神经网络的改进的并行性(parallelism)和更快的执行的数据重组方案的图;图11是示出在执行采用子采样和矢量级联(vectorconcatenation)的示例性卷积神经网络期间的瓦片处理器数据存储器存储的图;图12是示出在不存在数据重组方案的情况下对示例性卷积运算的行和列输入的图;图13是示出使用数据重组方案的示例性卷积运算的行和列输入的图;图14是示出作为数据重组方案的一部分的数据的输入置乱(shuffling)的图;图15是示出作为数据重组方案的一部分的数据的输入置乱的图;图16是示出针对在利用数据重组的示例性CNN检测处理的操作期间执行的数据请求的延迟的直方图;图17是示出用于示例性卷积神经网络的交错数据重组方案的图;图18是示出作为数据重组方案的一部分的数据的输入置乱的图;以及图19是示出针对在利用交错数据重组方案的示例性CNN检测处理的操作期间执行的数据请求的延迟的直方图。具体实施方式概述公开了用于增加对二维阵列中的数据的处理操作的速度以及用于检测图像中的特征的方法和系统。用于检测二维图像中的特征的处理器实现的方法的实施例包括在并行处理系统内的一组数据存储器中存储表示第一图像的像素的第一图像数据。并行处理系统包括通过指令流水线连接的一行多个基本上相同的数据处理器,其中指令流水线适于轮流将来自多个数据处理器中的第一数据处理器的指令依次传送到每一个相邻数据处理器。数据处理器中的每一个包括第一图像数据存储在其中的一组数据存储器中的相应数据存储器。另外,数据存储器中的每一个被分区为包括具有基本上相同的存储容量的多个存储器区域,并且存储第一图像数据包括将表示第一图像的相继垂直切片的数据存储在并行处理系统的数据存储器的相应的相邻存储器区域中。该方法的该实施例继续在耦接到并行处理系统的主机处理器的存储器中存储特征内核数据,该特征内核数据包括表示一组权重矩阵的权重数据。该方法进一步包括对于第一图像内的多个选择像素中的每一个,在包括选择像素的二维像素区域上执行一组卷积,并且将非线性函数应用于每一个卷积的结果以产生与选择像素对应的特征映射图像素(featuremappixel)。使用该组权重矩阵中的相应一个权重矩阵执行该组卷积中的每一个卷积,并且对于权重矩阵中的每一个产生特征映射图像素。该方法继续对于权重矩阵中每一个存储包括所有特征映射图像素的特征映射图,其中存储特征映射图包括将表示特征映射图的单独像素的数据存储在并行处理系统的数据存储器的相应的单独存储器区域中。对于特征映射图的每一个像素,将表示来自使用所有权重矩阵产生的特征映射图中的每一个特征映射图的对应像素的数据存储在相同的存储器区域中。该方法的该实施例进一步包括处理特征映射图以产生关于在第一图像内是否检测到特定特征或特征类别的决定。在上述方法的另一实施例中,特征内核数据进一步包括偏差数据,该偏差数据表示与该组权重矩阵中的每一个权重矩阵相关联的偏差值,并且使用与该组权重矩阵中的相应一个权重矩阵相关联的偏差值执行该组卷积中的每一个卷积。在实施例中,对于多个选择像素中的每一个执行所述一组卷积包括在并行处理系统的相邻数据处理器中依次执行用于执行该组卷积的指令。在另一实施例中,在并行处理系统的相邻数据处理器中依次执行指令的单个迭代包括对于第一图像的一个水平行内的所有选择像素执行该组卷积。在该方法的另一实施例中,多个选择像素由在第一图像内的水平和垂直方向中由通过整数子采样因数n定义的多个像素间隔开的像素组成。在另一实施例中,依次执行并行处理系统的相邻数据处理器中的指令的单个迭代包括对于第一图像的n个水平行内的所有选择像素执行该组卷积,其中n个水平行是间隔开n个像素的一系列水平行内的相邻行。在另一实施例中,存储特征映射图同样包括在相邻数据处理器中依次执行指令的单个迭代期间,将与第一图像的n个水平行的最高行中的选择像素对应的特征映射图像素存储在并行处理系统内的数据处理器的第一组相邻存储器区域中,其中第一组相邻存储器区域位于最靠近并行处理系统的指令流水线的开始的数据处理器中。在该实施例中,存储特征映射图同样包括在相邻数据处理器中依次执行指令的单个迭代期间,将与第一图像的n个水平行的下一较低行中的选择像素对应的特征映射图像素存储在与第一组相邻存储器区域相邻的下一组相邻存储器区域中,其中下一组相邻存储器区域位于进一步沿着并行处理系统的指令流水线定位的数据处理器中。该实施例同样包括在相邻数据处理器中依次执行指令的单个迭代期间,将与n个水平行的任何附加的较低行中的选择像本文档来自技高网...
针对二维阵列处理器的性能增强

【技术保护点】
一种用于检测二维图像中的特征的处理器实现的方法,所述方法包括:在并行处理系统内的一组数据存储器中存储表示第一图像的像素的第一图像数据,其中,所述并行处理系统包括由指令流水线连接的一行多个基本上相同的数据处理器,所述指令流水线适于轮流将来自所述多个数据处理器中的第一数据处理器的指令依次传送到每一个相邻数据处理器,所述数据处理器中的每一个包括所述一组数据存储器中相应的一个数据存储器,所述数据存储器中的每一个被分区为包括具有基本上相同的存储容量的多个存储器区域,以及存储所述第一图像数据包括将表示所述第一图像的相继垂直切片的数据存储在所述并行处理系统的所述数据存储器的相应的相邻存储器区域中;在耦接到所述并行处理系统的主机处理器的存储器中存储包括表示一组权重矩阵的权重数据的特征内核数据;对于所述第一图像内的多个选择像素中的每一个选择像素,在包括所述选择像素的二维像素区域上执行一组卷积,其中使用所述一组权重矩阵中的相应一个权重矩阵执行所述一组卷积中的每一个卷积,以及将非线性函数应用于每一个卷积的结果,以对于所述权重矩阵中的每一个产生与所述选择像素对应的特征映射图像素;对于所述权重矩阵中的每一个,存储包括所有所述特征映射图像素的特征映射图,其中,存储所述特征映射图包括将表示所述特征映射图的单独像素的数据存储在所述并行处理系统的所述数据存储器的相应的单独存储器区域中,以及对于特征映射图中的每一个像素,将表示来自使用所有所述权重矩阵产生的所述特征映射图中的每一个特征映射图的对应像素的数据存储在相同的存储器区域中;以及处理所述特征映射图以产生关于在所述第一图像内是否检测到特定特征或特征类别的决定。...

【技术特征摘要】
【国外来华专利技术】2015.07.23 US 62/195,9211.一种用于检测二维图像中的特征的处理器实现的方法,所述方法包括:在并行处理系统内的一组数据存储器中存储表示第一图像的像素的第一图像数据,其中,所述并行处理系统包括由指令流水线连接的一行多个基本上相同的数据处理器,所述指令流水线适于轮流将来自所述多个数据处理器中的第一数据处理器的指令依次传送到每一个相邻数据处理器,所述数据处理器中的每一个包括所述一组数据存储器中相应的一个数据存储器,所述数据存储器中的每一个被分区为包括具有基本上相同的存储容量的多个存储器区域,以及存储所述第一图像数据包括将表示所述第一图像的相继垂直切片的数据存储在所述并行处理系统的所述数据存储器的相应的相邻存储器区域中;在耦接到所述并行处理系统的主机处理器的存储器中存储包括表示一组权重矩阵的权重数据的特征内核数据;对于所述第一图像内的多个选择像素中的每一个选择像素,在包括所述选择像素的二维像素区域上执行一组卷积,其中使用所述一组权重矩阵中的相应一个权重矩阵执行所述一组卷积中的每一个卷积,以及将非线性函数应用于每一个卷积的结果,以对于所述权重矩阵中的每一个产生与所述选择像素对应的特征映射图像素;对于所述权重矩阵中的每一个,存储包括所有所述特征映射图像素的特征映射图,其中,存储所述特征映射图包括将表示所述特征映射图的单独像素的数据存储在所述并行处理系统的所述数据存储器的相应的单独存储器区域中,以及对于特征映射图中的每一个像素,将表示来自使用所有所述权重矩阵产生的所述特征映射图中的每一个特征映射图的对应像素的数据存储在相同的存储器区域中;以及处理所述特征映射图以产生关于在所述第一图像内是否检测到特定特征或特征类别的决定。2.根据权利要求1所述的方法,其中,所述特征内核数据进一步包括偏差数据,所述偏差数据表示与所述一组权重矩阵中的每一个权重矩阵相关联的偏差值:以及使用与所述一组权重矩阵中的所述相应一个权重矩阵相关联的偏差值来进一步执行所述一组卷积中的每一个卷积。3.根据权利要求1所述的方法,其中,对于所述多个选择像素中的每一个选择像素执行所述一组卷积包括在所述并行处理系统的相邻数据处理器中依次执行用于执行所述一组卷积的指令;以及在所述并行处理系统的相邻数据处理器中依次执行所述指令的单个迭代包括对所述第一图像的一个水平行内的所有选择像素执行所述一组卷积。4.根据权利要求3所述的方法,其中所述多个选择像素由在所述第一图像内在水平和垂直方向中由整数子采样因数n定义的多个像素间隔开的像素组成。5.根据权利要求4所述的方法,其中,在所述并行处理系统的相邻数据处理器中依次执行所述指令的单个迭代包括对所述第一图像的n个水平行内的所有选择像素执行所述一组卷积;以及所述n个水平行是间隔开n个像素的一系列水平行内的相邻行。6.根据权利要求5所述的方法,其中存储所述特征映射图进一步包括在相邻数据处理器中依次执行所述指令的单个迭代期间:将与所述第一图像的所述n个水平行的最高行中的选择像素对应的特征映射图像素存储在所述并行处理系统内的数据处理器的第一组相邻存储器区域中,其中所述第一组相邻存储器区域位于最靠近所述并行处理系统的所述指令流水线的开始定位的数据处理器中;将与所述第一图像的所述n个水平行的下一较低行中的选择像素对应的特征映射图像素存储在与所述第一组相邻存储器区域相邻的下一组相邻存储器区域中;其中所述下一组相邻存储器区域位于进一步沿着所述并行处理系统的所述指令流水线定位的数据处理器中;以及将与所述n个水平行的任何附加的较低行中的选择像素对应的特征映射图像素存储在进一步沿着所述并行处理系统的所述指令流水线定位的数据处理器中的相继组的相邻存储器区域中。7.根据权利要求5所述的方法,其中存储所述特征映射图进一步包括,在相邻数据处理器中依次执行所述指令的单个迭代期间:以从所述n个水平行的最高行到最低行的顺序,将与所述n个水平行中的每一个水平行中的所述第一选择像素对应的第一系列的n个特征映射图像素中的每一个特征映射图像素存储在所述并行处理系统中的所述数据处理器的相应的相邻存储器区域中,从定位在最靠近所述并行处理系统的所述指令流水线的开始的所述数据处理器的第一存储器区域开始;以从所述n个水平行的最高行到最低行的顺序,将与所述n个水平行中的每一个水平行中的第二选择像素对应的第二系列的n个特征映射图像素中的每一个特征映射图像素存储在所述并行处理系统中的所述数据处理器的相应的相邻存储器区域中,从紧接存储所述第一系列的特征映射图像素中的最后特征映射图像素的存储器区域的存储器区域开始;以从所述n个水平行的所述最高行到所述最低行的顺序,将与所述n个水平行中的每一个水平行中的附加选择像素对应的任何附加系列的n个特征映射图像素中的每一个特征映射图像素存储在所述并行处理系统中的所述数据处理器的相应的相邻存储器区域中,从紧接存储先前系列的特征映射图像素中的最后特征映射图像素的存储器区域的存储器区域开始。8.根据权利要求5所述的方法,其中处理所述特征映射图以产生决定包括:重新排列表示所述特征映射图像素的存储数据,使得表示与所述第一图像中具有相同水平位置的选择像素对应的特征映射图像素的数据全部存储在所述并行处理系统中的所述数据处理器的相同存储器区域内;以及对于每一个特征映射图内的多个选择特征映射图像素中的每一个,随后在包括选择特征映射图像素的二维特征映射图像素区域上执行附加的一组卷积,其中使用存储在所述主机处理器的所述存储器中的附加的一组权重矩阵中的相应一个权重矩阵来执行所述附加一组卷积中的每一个卷积。9.根据权利要求1所述的方法,其中,所述第一图像构成较大图像的水平切片;以及所述方法进一步包括,在完成针对表示所述第一图像的最高行的第一图像数据的所述一组卷积之后,用表示刚好在预先包括在所述第一图像中的所述较大图像的最低行下面的所述较大图像的一行的数据覆写表示所述第一图像的所述最高行的所述第一图像数据。10.一种用于检测二维图像中的特征的数据处理系统,所述系统包括:一行基本上相同的数据处理器,其中,所述数据处理器通过指令流水线连接,所述指令流水线适于轮流将来自所述多个数据处理器中的第一数据处理器的指令依次传送到每一个相邻数据处理器,以及所述数据处理器中的每一个包括数据存储器,所述数据存储器被分区为包括具有基本上相同的存储容量的多个存储器区域;以及耦接到所述行的数据处理器的主机处理器,其中所述主机处理器包括:数据存储器,其适于存储特征内核数据,所述特征内核数据包括表示一组权重矩阵的权重数据和表示针对所述一组权重矩阵内的每一个权重矩阵的偏差值的偏差数据,控制模块,其适于提取并向所述指令流水线提供由所述多个数据处理器执行的指令,以及存储的程序指令,其在被提供给所述指令流水线并由所述行的数据处理器执行时可被操作以实现以下步骤:在所述多个数据处理器的所述数据存储器中存储表示第一图像的第一图像数据,其中存储所述第一图像数据包括将表示所述第一图像的相继垂直切片的数据存储在所述数据存储器的相应的相邻存储器区域中,对于所述第一图像内的多个选择像素中的每一个,执行包括所述选择像素的二维像素区域上的一组卷积,其中使用所述一组权重矩阵中的相应一个权重矩阵及其相应的偏差值来执行所述一组卷积中的每一个卷积,将非线性函数应用于每一个卷积的结果,以对于所述权重矩阵中的每一个权重矩阵产生与每一个选择像素对应的特征映射图像素,对于所述权重矩阵中的每一个,存储包括所有特征映射图像素的特征映射图,其中,存储所述特征映射图包括将表示所述特征映射图的单独像素的数据存储在所述数据存储器的相应的单独存储器区域中,以及对于特征映射图的每一个像素,将表示来自使用所有权重矩阵产生的所述特征映射图中的每一个特征映射图的对应像素的数据存储在相同的存储器区域中,以及处理所述特征映射图以产生关于是否在所述第一图像内检测到...

【专利技术属性】
技术研发人员:W·H·约翰逊永田敏夫
申请(专利权)人:米雷普里卡技术有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1