当前位置: 首页 > 专利查询>英特尔公司专利>正文

在计算机视觉处理系统中并行求解线性方程的方法和装置制造方法及图纸

技术编号:21115931 阅读:35 留言:0更新日期:2019-05-16 09:02
公开了在计算机视觉处理系统中并行求解线性方程的方法和装置。公开了一种用于为逐次超松弛处理器准备方程组的方法、装置、系统和制造物品。示例性装置包括标识器,该标识器用于标识与输入图像的像素相对应的方程组。示例性装置还包括:分区器,该分区器用于将方程组划分成分区,该分区包含相互独立的方程子集;以及收集器,该收集器用于基于分区将方程组的子集收集在组中,该组要由逐次超松弛处理器并行求解。

A Method and Device for Parallel Solution of Linear Equations in Computer Vision Processing System

【技术实现步骤摘要】
在计算机视觉处理系统中并行求解线性方程的方法和装置
本公开总体上涉及计算机视觉处理系统,并且更具体地涉及在计算机视觉处理系统中求解线性方程时实现并行处理的方法和装置。
技术介绍
计算机视觉处理系统被设计用于采集和分析静止图像和视频图像,以用于对所采集的图像的内容进行基于机器的评估。在许多情况下,基于机器的评估的目标是识别在所采集的图像/视频记录中发生的活动。一旦识别出所记录的活动,就可以存储有关活动的信息以用于之后的检索和分析,和/或可以在活动附近执行动作。这种动作可以包括与具有某种形式的人工智能的机器人设备相关联的一个或多个伺服电机控制器/致动器的致动。计算机视觉处理系统被广泛地应用于各种应用领域,包括安全监控、质量控制监控、辅助汽车(或其他机动)驾驶、计算机化的客户服务机器人、制造等。
技术实现思路
根据本公开的一个实施例,提供了一种用于为逐次超松弛处理器准备方程组的装置,包括:标识器,其用于标识所述方程组,方程组中的相应方程与输入图像的相应像素相对应;分区器,其用于将方程组划分成分区,分区包含相互独立的方程子集;以及收集器,其用于基于分区将方程组的子集收集在组中,组中所包括的方程将由逐次超松弛处理器并行求解。根据本公开的另一实施例,提供了一种或多种非暂时性机器可读存储介质,包括机器可读指令,机器可读指令当被执行时使得一个或多个处理器至少执行以下操作:标识要求解的方程组,方程组中的相应方程与输入图像的相应像素相对应;将方程组划分成分区,分区包含相互独立的方程子集;以及基于分区将方程组的子集置于要由一组逐次超松弛处理器并行求解的组中,由逐次超松弛处理器产生的结果形成输入图像的增强版本。根据本公开的又一实施例,提供了一种用于为逐次超松弛处理器准备方程的装置,包括:用于标识方程的装置,方程的组中的相应方程与输入图像的相应像素相对应;用于将方程划分成分区的装置,分区包含方程的相互独立的子集;以及用于将方程的子集收集在组中以由逐次超松弛处理器并行求解的装置。根据本公开的又一实施例,提供了一种用于对与图像数据相关联的一组线性方程进行并行化求解的方法,所述方法包括:通过利用处理器执行指令来标识要求解的方程,方程中的相应方程与图像数据的相应像素相对应;通过利用处理器执行指令来确定方程的相互独立的子集;以及通过利用处理器执行指令来将子集中所包括的方程同时提供给逐次超松弛算法,以便进行并行求解。附图说明图1是根据本公开的教导构造的示例性计算机视觉处理系统的框图。图2是具有示例性方程并行化器的图1的示例性计算机视觉增强器的示例性实施方式的框图。图3是具有示例性分区器的图2的示例性方程并行化器的示例性实施方式的框图。图4A、4B、4C、4D和4E是示出将掩模置于由图3的分区器创建的初始化矩阵的元素/单元上的迭代方式的图。图5是表示可以被执行以实施图3的示例性方程并行化器的示例性机器可读指令的流程图。图6是表示可以被执行以实施图3的示例性分区器的示例性机器可读指令的流程图。图7是能够执行图4-6的指令以实施图1和图2的示例性计算机视觉增强器的示例性处理器平台的框图。这些图不是按比例的。在可能的情况下,在(一个或多个)附图和随附的书面说明书中通篇使用相同的附图标记来指代相同或相似的部分。具体实施方式计算机视觉处理系统采集和分析图像和视频数据,以便对采集到的图像/视频数据中所包含的特征执行机器识别。计算机视觉处理的主要目标是使用基于机器的技术以类似于人类头脑能够理解图像和视频信息的方式来理解这些数据。一旦理解了图像/视频中所包含的信息,就可以基于该信息采取任何数量的动作。例如,用于医疗技术的计算机视觉系统包括如下图像处理系统:其采集人体图像、自动识别图像中的疾病指示符、并提供关于可能的诊断的信息。计算机视觉处理系统也可以用于辅助的电机驱动应用中,以检测迎面而来的对象,并采取动作来躲避这些对象。计算机视觉处理系统还可以用于监控建筑物,并在检测到特定描述的入侵者时制定警报。可以使用计算机视觉处理系统的可能应用是广泛的并且正在扩展。计算机视觉处理领域的一个重要部分在于提高图像识别技术。图像识别已被证明是一个困难的任务,即使是在被分析的图像是详细且照明良好的情况下。当被分析的(多个)图像是颗粒状、有孔(缺少像素数据)、暗、缺乏深度信息等时,任务变得更加困难。当由多个相机在不同位置拍摄的二维图像用于尝试标识和/或得出关于移动(或静止)对象的一个或多个结论时,计算机视觉专家面临的挑战进一步加剧。许多计算机视觉问题(例如上面所标识的那些以及其他问题)是使用线性优化来处理的。线性优化可以用于执行任何数量的图像增强技术,包括孔填充(也被称为深度修复)、光流估计、着色、阿尔法混合等,所有这些技术都有助于图像识别。在一些示例中,使用线性优化的图像增强技术旨在求解由方程“Ax=b”表示的大型线性系统,其中“A”表示数据值矩阵,“x”表示向量并且是基于要求解的方程确定的变量。并且“b”表示数据值的向量。逐次超松弛(successiveover-relaxation)是这样一种基于线性优化的技术,其用于使用由具有“Ax=b”形式的方程组表示的大型线性系统来求解向量“x”。在一些示例中,与原始(例如,未增强)的图像/视频相关联的一组像素/体素表示一组原始的、未增强的“x”值,并且用大型线性系统求解所得到的“x”值表示增强的“x”值。在一些这样的示例中,增强的“x”值一起形成由原始的、未增强的x值表示的原始图像/视频的增强版本。逐次超松弛是一种迭代技术,其中每次迭代都集中于求解方程组的单个方程,并且每次迭代都受到前面迭代结果的影响。当在图像/视频增强的情况下使用时,确定与图像/视频数据的每个像素/体素相对应的方程。与第一像素/体素相对应的方程的解不仅依赖于第一像素/体素数据,而且依赖于相邻像素/体素数据值。由于这些依赖关系,与所有像素/体素相对应的方程不能并行求解,而是必须迭代求解。不幸的是,逐次超松弛过程的迭代性质使得逐次超松弛过程是一个耗时的过程,其可能不适合在实时图像处理/识别应用中使用。本文使用的体素表示三维空间中的规则网格上的值。体素可以被图像渲染系统用于辅助体积空间在二维空间的可视化。本文公开的计算机视觉处理系统包括计算机视觉增强器,该计算机视觉增强器具有方程并行化器,该方程并行化器标识可并行求解的线性优化系统的方程。在一些示例中,计算机视觉增强器包括分区器,该分区器将要求解的方程划分成子集。每个子集仅包括相互独立的方程,并且因此可以并行求解。将被并行求解的方程由分区器提供给收集器,该收集器将子集中所包括的相互独立的方程组分组到矩阵的相同区域中,以便传递给一组逐次超松弛处理器。逐次超松弛处理器随后并行求解相互独立的方程,从而大大减少了求解大型线性优化所需的时间。在一些示例中,单个逐次超松弛处理器使用多线程技术来并行求解相互独立的方程。在一些示例中,单指令多数据(SIMD)处理器并行操作以并行求解相互独立的方程。本文公开的计算机视觉处理系统能够快速地求解与图像/视频数据相关联的大型线性方程系统。因此,这样公开的计算机视觉处理系统能够将计算机视觉处理用于其中时间极为关键的更多的真实世界应用中。图1是示例性计算机视觉处理系统100的框图,示例本文档来自技高网...

【技术保护点】
1.一种用于为逐次超松弛处理器准备方程组的装置,包括:标识器,其用于标识所述方程组,所述方程组中的相应方程与输入图像的相应像素相对应;分区器,其用于将所述方程组划分成分区,所述分区包含相互独立的方程子集;以及收集器,其用于基于所述分区将所述方程组的子集收集在组中,组中所包括的方程将由所述逐次超松弛处理器并行求解。

【技术特征摘要】
2017.11.08 US 15/807,2531.一种用于为逐次超松弛处理器准备方程组的装置,包括:标识器,其用于标识所述方程组,所述方程组中的相应方程与输入图像的相应像素相对应;分区器,其用于将所述方程组划分成分区,所述分区包含相互独立的方程子集;以及收集器,其用于基于所述分区将所述方程组的子集收集在组中,组中所包括的方程将由所述逐次超松弛处理器并行求解。2.根据权利要求1所述的装置,其中,所述方程组中的相应方程存储在矩阵的相应元素中,并且所述收集器通过重新定位所述矩阵中的所述方程来将所述方程组的子集收集在组中。3.根据权利要求1所述的装置,其中,所述分区器包括:矩阵初始化器,其用于将矩阵的元素初始化为零;掩蔽器,其用于通过一组迭代逐次地掩蔽所述矩阵的值;值选择器,其用于基于由掩模掩蔽的元素子集的值来为所述矩阵的元素中的相应元素逐次地选择非零值;以及值替换器,其用于用由所述值选择器选择的所述非零值替换所述矩阵的零值。4.根据权利要求3所述的装置,其中,所述掩蔽器通过定义具有形状的掩模并且在相应的迭代期间将所述掩模的中心置于所述矩阵的值中的相应值之上来掩蔽所述矩阵的值。5.根据权利要求4所述的装置,其中,所述形状由像素连接性的类型定义。6.根据权利要求3所述的装置,其中,所述矩阵是第一矩阵,所述方程组在被所述标识器标识时被排列在第二矩阵中,所述第一矩阵和所述第二矩阵具有相同的维度,并且所述收集器通过基于分别存储在所述第一矩阵的对应位置中的非零值重新定位所述第二矩阵中的所述方程组中的相应方程来将所述方程组的所述子集收集在组中。7.根据权利要求6所述的装置,其中,所述收集器通过将所述方程组中与第一非零值相对应的相应方程置于所述第二矩阵的第一组行中并且将所述方程组中与第二非零值相对应的相应方程置于所述第二矩阵的第二组行中来重新定位所述方程组中的相应方程,所述第一组行和所述第二组行是不同组的行。8.一种或多种非暂时性机器可读存储介质,包括机器可读指令,所述机器可读指令当被执行时使得一个或多个处理器至少执行以下操作:标识要求解的方程组,所述方程组中的相应方程与输入图像的相应像素相对应;将所述方程组划分成分区,所述分区包含相互独立的方程子集;以及基于所述分区将所述方程组的子集置于要由一组逐次超松弛处理器并行求解的组中,由所述逐次超松弛处理器产生的结果形成所述输入图像的增强版本。9.根据权利要求8所述的一种或多种非暂时性机器可读存储介质,其中,所述方程组被排列在矩阵中,并且通过重新排列所述矩阵中的方程的位置而将所述方程组的子集置于组中,使得相同子集中所包括的方程在所述矩阵中彼此靠近。10.根据权利要求8所述的一种或多种非暂时性机器可读存储介质,其中,用于划分所述方程组的指令包括用于使所述一个或多个处理器执行以下操作的指令:用零值填充矩阵;基于所述像素之间的关系来定义掩模;迭代地将所述掩模置于零值矩阵上,其中,在相应的迭代期间,所述掩模以所述矩阵中的所述零值中的相应零值为中心,在相应的迭代期间,基于所述掩模对所述矩阵的覆盖,选择与所述零值中的所述相应零值相对应的相应非零值;以及在相应的迭代期间,在所述矩阵中,用相应的、所选择的非零值替换所述相应零值。11.根据权利要求10所述的一种或多种非暂时性机器可读存储介质,其中,基于关于所述像素的假设来标识所述方程。12.根据权利要求10所述的一种或多种非暂时性机器可读存储介质,其中,所述掩模的形状是基于所述像素的连接性的。13.根据权利要求10所述的一种或多种非暂时性机器可读存储介质,其中,所述相应非零...

【专利技术属性】
技术研发人员:德罗尔·科恩阿维格多·埃尔达尔阿莫司·高曼乔纳森·艾布拉姆森
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1