CN111414904B - 处理感兴趣区域数据的方法和装置 - Google Patents
处理感兴趣区域数据的方法和装置 Download PDFInfo
- Publication number
- CN111414904B CN111414904B CN201910015238.4A CN201910015238A CN111414904B CN 111414904 B CN111414904 B CN 111414904B CN 201910015238 A CN201910015238 A CN 201910015238A CN 111414904 B CN111414904 B CN 111414904B
- Authority
- CN
- China
- Prior art keywords
- instruction sequence
- region
- tensor
- interest data
- data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000008569 process Effects 0.000 description 16
- 238000011176 pooling Methods 0.000 description 13
- 230000001788 irregular Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 239000003607 modifier Substances 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Executing Machine-Instructions (AREA)
Abstract
公开了一种处理感兴趣区域数据的方法和装置,该方法可以包括:获取关于原始输入张量的至少一个感兴趣区域数据;根据前述至少一个感兴趣区域数据中的第一感兴趣区域数据,确定原始输入张量的与第一感兴趣区域数据相对应的第一局部张量;根据预先编译的指令序列模板,生成用于处理第一局部张量和/或第一感兴趣区域数据的第一可执行指令序列;基于第一可执行指令序列,生成最终可执行指令序列;以及执行最终可执行指令序列。通过根据本公开的实施例的方法和装置,能够高效率地执行需要基于感兴趣区域的运行时数据的操作。
Description
技术领域
本公开总体上涉及人工智能的技术领域,并且具体地涉及一种处理感兴趣区域数据的方法和装置。
背景技术
在机器学习、图像识别等处理中,可以使用诸如矩形、圆形、椭圆等规则或不规则的多边形或闭合曲线,框住或描绘出输入的图像或视频中的一个或多个关注对象或关注区域,从而生成一个或多个感兴趣区域(Region of Interest,ROI),然后可以基于ROI数据执行诸如非极大值抑制(Non-Maximum Suppression,NMS)、特征提取和分类、边界回归等进一步处理。
基于ROI能够减少机器学习、图像识别等任务的处理时间,并且增加处理结果的精度。
发明内容
根据本公开的一个方面,提供了一种处理感兴趣区域数据的方法,该方法可以包括:获取关于原始输入张量的至少一个感兴趣区域数据;根据前述至少一个感兴趣区域数据中的第一感兴趣区域数据,确定原始输入张量的与第一感兴趣区域数据相对应的第一局部张量;根据预先编译的指令序列模板,生成用于处理第一局部张量和/或第一感兴趣区域数据的第一可执行指令序列;基于第一可执行指令序列,生成最终可执行指令序列;以及执行最终可执行指令序列。
根据本公开的另一个方面,还提供了一种处理感兴趣区域数据的装置,该装置可以包括处理器,并且该处理器可以被配置为在启动时根据预定指令至少执行上述方法。
根据本公开的另一个方面,还提供了一种处理感兴趣区域数据的装置,该装置可以包括获取单元、匹配单元、指令生成单元和指令执行单元,其中,获取单元可以被配置为获取关于原始输入张量的至少一个感兴趣区域数据,匹配单元可以被配置为根据前述至少一个感兴趣区域数据中的第一感兴趣区域数据确定原始输入张量的与第一感兴趣区域数据相对应的第一局部张量,指令生成单元可以被配置为根据预先编译的指令序列模板生成用于处理第一局部张量和/或第一感兴趣区域数据的第一可执行指令序列以及基于第一可执行指令序列生成最终可执行指令序列,并且指令执行单元可以被配置为执行最终可执行指令序列。
根据本公开的另一个方面,还提供了一种计算装置可读取的非临时性存储介质,在其上存储有程序指令,该程序指令可以在被计算装置执行时执行上术方法。
通过根据本公开的实施例的方法和装置,能够高效率地执行需要基于感兴趣区域的运行时数据的操作。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出根据本公开的实施例的用于处理ROI数据的方法的示例。
图2示出根据本公开的实施例的方法的执行过程的示例。
图3示出根据本公开的实施例的期望由指令序列模板定义的处理逻辑的示例。
图4示出根据本公开的实施例的期望由指令序列模板定义的处理逻辑的示例。
图5示出根据本公开的实施例的方法的步骤S120的示例。
图6示出根据本公开的实施例的方法的步骤S140的示例。
图7示出根据本公开的实施例的方法的步骤S140的示例。
图8示出根据本公开的实施例的用于处理ROI数据的装置的示例。
图9示出根据本公开的实施例的用于处理ROI数据的装置的示例。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
概述
通常,可以通过诸如通用的中央处理单元(Central Processing Unit,CPU)这样的一个或多个强性能的处理器,将诸如神经网络这样的用于诸如图像识别、对象检测等任务的处理模型编译为一个或多个指令序列,其中,由于同一个处理模型可能需要针对不同的输入(例如,输入图像或视频的不同部分)运行多次,所以一个处理模型可以被编译成逻辑相同但处理不同数据的多个指令序列。
然后,可以将编译好的指令序列交付给诸如手机、导航仪等终端设备,并由这样的终端设备上的片上处理器执行。由于硬件成本、技术能力等不同方面的原因,与诸如通用的台式计算机、移动计算机、云端处理系统等不同,通常需要在硬件成本和性能等方面对终端设备进行严格的控制。例如,终端设备或者嵌入在终端设备中的处理芯片(例如人工智能芯片)的处理器或片上处理器通常相对于用于离线编程、调试、编译的装置中的处理器具有更低的处理性能,例如,这样的处理器或片上处理器可以是基于诸如现场可编程门阵列(Field Programmable Gate Array,FPGA)、ARM处理器等开发出来的处理器内核。例如,终端设备或终端设备中的处理芯片通常也只配置容量较低的处理器或片上处理器。
相对应地,期望能够在诸如手机、导航仪等具有相对低性能的处理器和/或低容量的存储器的终端设备上执行的可执行程序具有更简单的控制逻辑并且消耗更少的硬件资源(例如存储器资源),从而允许终端设备或者终端设备中的芯片可以具有更少的功耗和更低的硬件开销。
然而,在离线的编程和/或编译期间,无法知道对于实际的输入数据在运行时实际将生成多少ROI,也无法知道实际生成的ROI和/或相对应的张量数据中的各个数据项的实际数据值,例如实际生成的ROI的坐标、大小、置信度等或者与各个ROI相对应的局部张量的大小、每个像素的像素值等,导致离线的编程和/或编译无法针对基于ROI(和/或相对应的局部张量)的运行时数据的操作或者与ROI(和/或相对应的局部张量)的运行时数据密切相关的操作生成高效率且低开销的可执行指令。例如,为了应对未知的运行时数据,在离线的编程中,可以设置更通用的处理逻辑并使用变量表示在当前未知的运行时数据,这意味着更多的条件判断、更复杂的控制逻辑和更多的存储器开销,并将导致终端设备的更多的功耗和更低的处理速度,并且由于不知道数据的实际情况,离线编译也无法对所生成的可执行指令实现更高效的优化。
根据本公开的实施例的方法和装置旨在解决或缓解上述技术问题中的至少一个。
示例性方法
如图1所示,根据本公开的实施例的用于处理感兴趣区域数据的示例方法M100可以包括:
步骤S110、获取关于原始输入张量的至少一个感兴趣区域数据;
步骤S120、根据前述至少一个感兴趣区域数据中的第一感兴趣区域数据确定原始输入张量的与第一感兴趣区域数据相对应的第一局部张量;
步骤S130、根据预先编译的指令序列模板生成用于处理第一局部张量和/或第一感兴趣区域数据的第一可执行指令序列;
步骤S140、基于第一可执行指令序列生成最终可执行指令序列;以及
步骤S150、执行最终可执行指令序列。
在示例方法M100的执行过程中,或者说,在与示例方法M100相对应的可执行指令序列的执行过程中,可以根据预先编译的一个或多个指令序列模板,基于实际生成的ROI的运行时数据,动态地生成并执行另外的一个或多个可执行指令序列,以便处理实际生成的各个ROI数据或者根据实际生成的各个ROI数据执行后续处理。由此,能够简单且高效地处理需要基于ROI的运行时数据进行的操作或处理,并且允许简化程序逻辑和离线编译中的处理,例如,可以在编程和离线编译中简化(甚至省略)与需要基于ROI的运行时数据进行的处理有关的考虑。
在本文中,诸如“第一”、“第二”等不带有量词的修饰词旨在用于区分不同的元件/部件/电路/模块/装置/步骤/对象,而不用于强调次序、位置关系、重要程度、优先级别等。例如,“第一感兴趣区域数据”和“第二感兴趣区域数据”不旨在强调两个ROI数据的生成次序、存储次序、处理次序、重要程度等,而仅仅是用于区分两个不同的“感兴趣区域数据”,例如ROI1和ROI2。应当理解,“第一感兴趣区域数据”或“第二感兴趣区域数据”均不指代某一个特定的ROI数据,而是可以是任何一个ROI数据。例如,“第一感兴趣区域数据”可以是ROI1、ROI2、……、ROIN(N为任一自然数)中的任一个ROI数据,而“第二感兴趣区域数据”可以是ROI1、ROI2、……、ROIN中不同于第一感兴趣区域数据的任一个ROI数据。另外,诸如“第一”、“第二”等不带有量词的修饰词是可以互换的。例如,对于两个不同的ROI1和ROI2,可以将ROI1称为“第一感兴趣区域数据”并且将ROI2称为“第二感兴趣区域数据”,也可以将ROI2称为“第一感兴趣区域数据”并且将ROI1称为“第二感兴趣区域数据”,当然也可以将另外的ROI3称为“第一感兴趣区域数据”,并且将ROI1和ROI2分别称为“第二感兴趣区域数据”和“第三感兴趣区域数据”或者“第三感兴趣区域数据”和“第二感兴趣区域数据”,诸如此类。
类似地,对于本文中可能出现的步骤、数据项、指令、指令集、指令序列等,均可以使用诸如“第一”、“第二”等不带有量词的修饰词进行修饰,以便进行区分,例如“第一指令序列”、“第二局部张量”等。对于这些描述中的诸如“第一”、“第二”等不带有量词的修饰词,应当以与例如上述的“第一感兴趣区域数据”相类似的方式理解,在此不再赘述。
另外,在本文中,在不会引起混淆的情况下,为了简洁,有时可能省略诸如“第一”、“第二”等不带有量词的修饰词,而是采用例如“感兴趣区域数据ROI1”、“感兴趣区域数据ROI2”或者“一个感兴趣区域数据”、“另一个感兴趣区域数据”这样的表述方式。
下面结合示例描述根据本公开的实施例的方法的更多细节。
如图2中的粗直线的上方所示,在编译器侧,可以使用编译器CPL对模型MOD进行离线编译,其中,模型MOD可以是例如为了图像识别、对象检测等不同的目而预先确定的诸如RCNN(Regions with CNN features)、空间金字塔池化网络(Spatial Pyramid PoolingNetwork,SPP-Net)、快速RCNN(Fast RCNN)、更快速RCNN(Faster RCNN)等各种适当的计算模型或处理模型,并且编译器CPL可以是例如具有程序编译功能的任何计算装置(例如,台式计算机)或云端系统。应当理解,根据本公开的实施例的方法不局限于任何特定的模型MOD和/或编译器CPL。通过离线编译,可以生成例如与图1的示例方法M100相对应的可执行指令序列。
如图2中的粗直线的下方所示,可以将所生成的与示例方法M100相对应的可执行指令序列交付给具有指令执行能力的处理器或者包含这样的处理器的任何适当的装置执行。能够执行示例方法M100(或者说,与示例方法M100相对应的可执行指令序列)的装置可以包括但不限于诸如手机、导航仪等终端设备或者诸如人工智能芯片这样的能够装配终端设备中的芯片/装置/部件。
例如,可以在终端设备或芯片出厂之前,将与示例方法M100相对应的可执行指令序列部署或固化在终端设备或者终端设备中的芯片/装置/部件中的例如非易失性存储器中,并且装置或芯片的处理器或片上处理器可以被配置为在启动(例如通电)时执行示例方法M100,其中,处理器或片上处理器例如可以是基于FPGA、ARM处理器或脑处理单元(BrainProcessing Unit、BPU)等开发的处理器或处理器内核,并且可以被配置为结合装置或芯片中的易失或非易失性的存储器或片上存储器(例如,静态随机存取存储器或高速缓冲存储器等)执行预定的程序指令。
在本文中,在不引起混淆的情况下,对于“示例方法M100”以及“通过离线编译生成的与示例方法M100相对应的可执行指令序列”,可以不作区分。因此,在提及“执行示例方法M100”时,可以意味着“执行通过离线编译生成的与示例方法M100相对应的可执行指令序列”,并且更一般地,在提及“执行根据本公开的实施例的方法”时,可以意味着“执行通过离线编译生成的与根据本公开的实施例的方法相对应的可执行指令序列”。
如图2所示,通过离线编译,还可以生成指令序列模板IT(可以是一个或多个),其用于定义需要在运行时动态生成的指令序列,并且不能直接被处理器或片上处理器执行。
在一个实施例中,指令序列模板IT可以通过任何适当的方式与示例方法M100相对应的可执行指令序列链接或组合到一起,并且可以与示例方法M100一体地部署到可执行装置中的例如非易失性存储器中。例如,可以将指令序列模板IT以文本或字符串等形式嵌入到与示例方法M100相对应的可执行指令序列中,或者可以将指令序列模板IT作为与示例方法M100相对应的可执行指令序列的动态链接库的一部分提供。
在另外的实施例中,指令序列模板IT也可以与示例方法M100分开地部署到可执行装置中。
应当理解,本公开不局限于指令序列模板IT的任何特定的部署方式,也不局限于与示例方法M100相对应的可执行指令序列和指令序列模板IT的任何特定的组合或链接的方式。
在一个实施例中,指令序列模板IT中的每条指令可以包括允许硬件直接读取并执行的二进制的操作码。
在另外的实施例中,例如在装置或处理器运行类似于Java解释器或Shell解释器这样的指令解释器并通过这样的指令解释器执行示例方法M100的情况下,指令序列模板IT中的每条指令也可以包括能够被这样的指令解释器解释执行的指令码或命令词。
如图2所示,指令序列模板IT可以包括但不限于下列的一种或多种形式的指令:
-只包括操作码/指令码的指令,例如图2的示例中的“OP1”,例如用于消耗时钟并控制延时的空指令;
-包括操作码/指令码和至少一个参数值或地址码的指令,例如图2的示例中的“OP2P1P2”,其中,每个参数值或地址码(例如,P1和P2)可以指示期望通过操作码/指令码(例如,OP2)处理的数据或存储数据的存储区域的地址,并且可以在前述的离线编译期间确定;
-包括操作码/指令码和至少一个形式参数的指令,例如图2的示例中的“OP3FP1FP2”,其中,每个形式参数(例如,FP1和FP2)可以意味着相应的操作码(例如,OP3)需要基于某个或某些参数值才能执行操作,而这样的参数值无法在前述的离线编译期间确定,而是需要在示例方法M100的运行时才能确定,这样的形式参数例如可以涉及实际生成的某个ROI的尺寸、坐标、置信度等。
应当理解,图2的示例中的指令序列模板IT中的内容仅是用于例如指令序列模板IT中的指令的可能形式,而并不意味着实际的指令序列模板IT必须如图2所示那样地同时包括“OP1”、“OP2P1P2”和“OP3FP1FP2”三条指令。
例如,对于某个处理逻辑,如果在离线编译期间能够确定该逻辑中涉及的每个指令的操作码/指令码的相关参数值或地址码,但是需要根据运行时获得的ROI数据(例如,实际生成的ROI的数量)才能够确定该逻辑的执行次数或针对该逻辑的优化方案,则针对该逻辑的指令序列模板可以不包括具有形式参数的指令。
例如,如果某个处理逻辑需要处理ROI的运行时数据或者基于ROI的运行时数据执行相关操作,并且因此无法在离线编译期间编译或优化,则针对该逻辑的指令序列模板可以包括至少一条具有形式参数的指令。
如前文所述,指令序列模板IT中的每组指令可以是定义用于实现某种处理逻辑或实现某种功能的操作码/指令码的序列。
例如,在期望基于所生成的ROI数据对输入图像或视频中的一个或多个关注图像进行检测(相应地,在编译器CPL侧作为离线编译的对象的模型MOD可以是诸如Yolo、SSD、Densebox等基于ROI的单阶段对象检测模型或者诸如RCNN、SPP-Net、快速RCNN、更快速RCNN等基于ROI的多阶段对象检测模型)的情况下,指令序列模板IT可以定义例如分别用于实现ROI尺寸调整、ROI排序、NMS、基于特定ROI的特征提取等处理的操作码/指令码的序列,其中,这些处理需要基于在运行时才能获得的各个ROI的实际数据,并且因此在离线编译时无法确定或优化相应的执行逻辑,或者需要在编程或离线编译阶段付出较大代价(例如,引入更复杂的控制逻辑或者更多的条件/异常的检测和处理等)才能生成可直接执行的指令序列。
例如,可能需要对输入图像的与实际生成的各个ROI数据相对应的各个局部张量执行进一步的处理,例如,分别将每个局部张量输入到某个预定模型(例如,卷积神经网络)中以便提取特征。各个局部张量需要基于实际生成的各个ROI数据确定,并且预定模型被执行多少次将取决于实际生成的ROI数据的数量。
为了简化编程和离线编译,例如,根据本公开的实施例的指令序列模板IT可以包括一组指令,由该组指令指示或定义的处理逻辑可以用于对张量数量执行预定模型中的至少一个运算(例如卷积运算或池化运算等),并且该组指令中的至少一条指令(例如卷积指令、逐点累加指令等)可以包括至少一个形式参数,这样的形式参数可以指示要处理的张量数据的例如宽度、高度、每个像素的像素值等需要在运行时才能够获得的信息。
又例如,还可能需要将输入图像的与实际生成的ROI1至ROIN相对应并且相应地可能具有各种尺寸的局部张量T1至TN中的每一个调整为具有规整尺寸的张量数据,例如调整宽度和高度均为A的张量。
为此,在一个实施例中,如图3所示,可以对局部张量T1至TN中的每一个执行不规则池化(Irregular Pooling),从而生成具有例如宽度和高度均为A的规整尺寸的N个张量数据T’1至T’N。这样的不规则池化需要基于例如实际生成的各个ROI数据的宽度和高度(即,各个张量数据的宽度和高度)以及实际获得的各个张量数据中的每个像素的像素等数据,并且进行不规则池化的次数也将取决于实际生成并保留的ROI数据的数量。
相应地,根据本公开的实施例的指令序列模板IT可以包括一组指令,由该组指令指示或定义的处理逻辑可以用于对张量数据执行上述的不规则池化以获得具有规整尺寸的张量数据,并且该组指令中的至少一条指令可以包括至少一个形式参数,这样的形式参数可以指示要处理的张量数据的例如宽度、高度、每个像素的像素值等需要在运行时才能够获得的信息。
为了能够通过硬件高效率地将输入图像的与实际生成的ROI1至ROIN相对应的局部张量T1至TN中的每一个调整为具有规整尺寸的张量,在一个实施例中,如图4所示,可以代替上述的不规则池化,先通过例如双线性插值等对与T1至TN中的每一个进行插值,从而获得具有某种预定的规整尺寸(例如,宽度和高度均为A’)的中间张量数据T”1至T”N,然后可以对中间张量数据T”1至T”N中的每一个执行一次或多次的2x2池化(即,利用宽度和高度均为2的池化核进行的规则池化),从而获得具有期望规整尺寸(例如,宽度和高度均为A)的张量数据T’1至T’N。
相应地,根据本公开的实施例的指令序列模板IT可以包括第一组指令和第二组指令,其中,由第一组指令指示或定义的处理逻辑可以用于对张量数据进行插值(例如,双线性插值等)以获得具有第一规整尺寸的中间张量数据,并且由第二组指令指示或定义的处理逻辑可以用于对通过执行由第一组指令指示或定义的处理逻辑所获得的中间张量数据执行至少一次规整池化以获得具有第二规整尺寸的张量数据,并且至少第一组指令中的至少一条指令可以包括至少一个形式参数,这样的形式参数可以指示要处理的张量数据的例如宽度、高度、每个像素的像素值等需要在运行时才能够获得的信息。
在另外的示例中,根据本公开的实施例的指令序列模板IT还可以包括一组或多组指令,并且由这样的一组或多组指令指示或定义的处理逻辑可以用于对实际生成的所有ROI数据(而不是单个的ROI数据或者单个的局部张量)执行诸如排序、NMS等操作。
应当理解,根据本公开的实施例的指令序列模板IT不局限于上述示例。根据需要,根据本公开的实施例的指令序列模板IT可以包括用于实现或定义任何一个或多个期望逻辑的一组或多组指令,这样的一组或多组指令的执行次数和/或所包括的至少一条指令需要基于在运行时实际生成的ROI数据确定或完善,并且每组指令可以针对一个或多个ROI数据或张量数据。
在图2的示例中,原始输入张量可以是(但不局限于)图像IMG,并且可以在步骤S110中获取关于IMG的至少一个ROI数据ROI1至ROIN。
根据不同的实施例,在步骤S110中,可以通过诸如区域推荐网络(RegionProposal Network,RPN)、选择性搜索(Selective Search,SS)等各种适当的方式获取关于IMG中的一个或多个关注对象的至少一个ROI数据ROI1至ROIN。
在另外的实施例中,在步骤S110中,也可以接收例如由另外的处理过程生成和/或存储的ROI数据,例如经由I/O端口接收ROI数据或者从存储器中读取ROI数据。
然后,例如对于ROI1至ROIN中的ROI1,可以在步骤S120中确定IMG的与ROI1相对应的局部张量或局部图像T1。
在一个实施例中,如图5所示,可以根据ROI1中的诸如坐标、宽度、高度等数据确定IMG中的一个局部图像T1。
在另一个实施例中,可以在步骤S110中同时生成关于IMG的至少一个ROI数据和至少一个局部张量或局部图像,然后在步骤S120中,例如可以根据ROI1中的诸如坐标、宽度、高度等数据项,从在步骤S110中确定的至少一个局部张量或局部图像中,确定与ROI1相对应的局部图像T1。
然后,如图2所示,示例方法M100可以继续到步骤S130,并且根据预先编译的指令序列模板IT生成用于处理T1和/或ROI1的可执行指令序列ES1。
在一个实施例中,例如对于T1和/或ROI1,可以通过复制指令序列模板IT生成第一初始指令序列(图2中未示出),然后可以根据T1和/或ROI1的实际数据设置第一初始指令序列中的至少一条指令的参数,例如将形式参数替换为实际的数值或者将某个参数修改为实际的运行时数据,由此生成第一可执行指令序列ES1。
应当理解,用于处理T1和/或ROI1的可执行指令序列ES1可以意味着可执行指令序列ES1至少可以处理T1和/或ROI1。例如,在指令序列模板IT中定义的处理逻辑包括例如ROI排序、NMS这样的针对所有ROI数据执行操作的处理的情况下,用于处理T1和/或ROI1的可执行指令序列ES1可以意味着可执行指令序列ES1可以处理包括T1和/或ROI1在内的T1至TN和/或ROI1至ROIN中的任何一个或多个。
然后,如图2所示,示例方法M100可以继续到步骤S140,并且可以基于在步骤S130中确定的可执行指令序列ES1生成最终可执行指令序列FS。
在一个实施例中,例如在N=1或者在指令序列模板IT中定义的处理逻辑包括例如ROI排序、NMS这样的处理的情况下,可以将可执行指令序列ES1本身作为最终可执行指令序列FS。
另外,如前文所述,用于处理T1和/或ROI1的可执行指令序列ES1可以意味着可执行指令序列ES1至少可以处理T1和/或ROI1。相应地,在一个实施例中,步骤S140还可以包括针对ROI1至ROIN中的不同于ROI1的其他每个ROI数据执行类似于上述的步骤S120和S130的处理,以获得例如可执行指令序列ES2等。类似地,用于处理第二局部张量T2和/或第二感兴趣区域数据ROI2的第二可执行指令序列ES2可以意味着可执行指令序列ES2至少可以处理T2和/或ROI2。然后,可以基于ES1和ES2等生成最终可执行指令序列FS。
例如,可以采用与上述的根据ROI1确定IMG的与ROI1相对应的T1相似的方式,根据ROI2确定IMG的与ROI2相对应的局部张量T2。然后,可以采用与上述的根据指令序列模板IT生成ES1相似的方式,根据指令序列模板IT生成用于处理局部张量T2和/或ROI2的可执行指令序列ES2。例如,可以通过复制指令序列模板生成第二初始指令序列,然后可以根据T2和/或ROI2的实际数据设置第二初始指令序列中的至少一条指令的参数,例如将形式参数替换为实际的数值或者将某个参数修改为实际的运行时数据,由此生成可执行指令序列ES2。
以此类推,可以根据情况进一步地生成例如ES3、……、ESN等。
然后,可以基于ES1、ES2等生成最终可执行指令序列FS。
在一个实施例中,如图6所示,可以将ES1、ES2等按照指定次序前后连接在一起,从而生成最终可执行指令序列FS。
在另一个实施例中,还可以例如通过对实际生成的ES1、ES2等中的指令进行合并、调整次序、拼接等方式进行优化并合并到一起,从而生成最终可执行指令序列FS。
例如,如果基于ES1和ES2生成FS,其中,ES1包括第一组可执行指令S1和随后的第二组可执行指令S2,ES2包括第三组可执行指令S3和随后的第四组可执行指令S4,S1处理第一数据,S2处理第二数据,S3与S1完全相同并且也处理第一数据,并且S4以S2相同的方式(即,具有相同的逻辑)处理第三数据,则可以将S4插入到ES1中以生成FS,使得在FS中,S2和S4两者(可以是S2在前,也可以是S4在前)跟随在S1之后。
例如,如图7所示,可以确定实际生成的ES1中的第一组可执行指令S1和随后的第二组可执行指令S2,其中,S1用于加载权重A,并且S2用于加载张量T1并且根据加载的权重A和T1计算卷积。也就是说,S1要处理的第一数据为权重A,并且S1处理第一数据的动作为“加载权重A”,S2要处理的第二数据为张量T1,并且S2处理第二数据的动作为“根据加载的权重A和T1计算卷积”。另外,可以确定实际生成的ES2中的第三组可执行指令S3和随后的第四组可执行指令S4,其中,S3同样用于加载权重A,并且S4用于加载张量T2并且根据加载的权重A和T2计算卷积。也就是说,S3也处理第一数据(即,权重A),并且S3处理第一数据的动作同样为“加载权重A”,而S4要处理的第三数据为张量T2,并且S4处理第三数据的动作为“根据加载的权重A和T2计算卷积”。
在图7的示例中,S1和S3是完全相同的,而S2和S4的处理逻辑可以相同但要处理的数据不同,并因此对应于不同的可执行指令。如果按照图6的示例那样直接将ES1和ES2拼接到一起,则加载权重A的操作将被重复多次,从而涉及更多的存储器数据的存取操作。
为了获得具有更高执行效率的FS,如图7所示,可以将ES2中的S4插入到ES1中的S1之后(在图7的示例中,插入到S2之后),从而获得FS。在所获得的FS中,可以不包括S3,其中,S3由于与S1完全相同而被丢弃,或者说,S3由于与S1完全相同而与S1合并成一个。
另外,如图7所示,除了S1至S4之外,ES1或ES2还可以包括S5或S6等另外的一组或多组指令。对于ES1中的S5等指令序列以及ES2中的S6等指令序列,可以采用与上述处理S1至S4的方式相似的方式进行处理,也可以如图7所示那样地将其插入到FS中的S4之后。
在图7的示例中,原本需要执行多次的“加载权重A”,在最终可执行指令序列FS中只需要执行一次,由此能够避免重复操作,并且减少对存储器的存取次数,使得最终可执行指令序列FS能够具有更好的执行效率。
应当理解,生成最终可执行指令序列FS的方式不局限于图6和/或图7的示例。
另外,虽然图7仅示出基于ES1和ES2两者生成最终可执行指令序列FS,但是应当理解,实际上可以生成诸如前述的ES3至ESN等更多的可执行指令序列,并且可以采用与上述基于ES1和ES2两者生成最终可执行指令序列FS的过程相似的方式,基于ES1至ESN中的任何一个或多个生成最终可执行指令序列FS。
例如,在ES3包括第一组可执行指令S7和随后的第二组可执行指令S8,S7与S1完全相同并且也处理第一数据,并且S8以S2相同的方式(即,具有相同的逻辑)处理第四数据的情况下,可以将S4和S8插入到ES1中,从而生成FS,使得在FS中,S2、S4和S8跟随在S1之后,并且舍弃S3和S7。
如图2所示,在生成最终可执行指令序列FS之后,可以在步骤S150中执行最终可执行指令序列FS。
例如,通过执行最终可执行指令序列FS,可以获得某个或某些输出结果RLT。
在一个实施例中,输出结果RLT可以是示例方法M100的中间处理结果,并且可以将结果RLT再次提供给示例方法M100,然后例如再次执行M100中的某个步骤,例如,图1或图2中示出的步骤S110至S150中的一个或多个或者在图1或图2的示例中未示出的其他处理。
在另外实施例中,输出结果RLT可以是示例方法M100的最终输出结果,并且根据不同的情况,可以将该结果输出,也可以将该结果提供给由处理器或片上处理器执行的其他可执行程序或可执行指令序列,以便进行其他处理。
在根据本公开的实施例的方法中,利用在预先编译的指令序列模板,简单且高效地处理需要基于ROI的运行时数据进行的操作或处理,从而允许简化程序逻辑和离线编译中的处理,并且允许在运行时根据实际生成的数据动态地优化执行逻辑,使得根据本公开的实施例的方法能够以更低的功耗和硬件开销高效率地处理ROI数据。
示例性装置
图8和图9分别示出根据本公开的实施例的用于处理感兴趣区域数据的装置的示例,这样的示例装置可以是诸如手机、导航仪等终端设备或者能够嵌入到终端设备中的片上装置(例如,人工智能芯片上的一部分),并且可以应用或实施根据本公开的实施例的方法,例如示例方法M100。
图8的示例装置可以包括一个或多个处理器PU。处理器PU可以是具有数据处理能力和/或指令执行能力的任何形式的处理单元,例如可以是基于诸如FPGA、ARM处理器等开发出来的处理器内核。
在一个实施例中,处理器PU可以被配置为在启动(例如,通电)时至少执行根据本公开的实施例的方法的步骤。
另外,如图8所示,该示例装置还可以通过总线系统和/或其他形式的连接机构与处理器PU相连的存储器MEM和/或I/O接口。
存储器MEM可以包括各种形式的计算机可读写存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪速存储器等。可读写存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。
在一个实施例中,存储器MEM中的非易失部分可以存储或固化有与根据本公开的实施例的方法(例如,示例方法M100)相对应的可执行指令序列以及前述的经预先编译生成的指令序列IT,并且存储器MEM中的易失部分可以被配置为在配置处理器PU的操作而缓存或存储处理器PU的操作中涉及的中间数据或结果数据。
I/O接口可以用于向处理器PU提供参数或数据并且输出经过处理器PU处理的结果数据。例如,根据本公开的实施例的示例装置可以与摄像头相连,并且经由I/O接口接收由摄像头拍摄的图像或视频,并且例如在处理器PU的控制下将经由I/O接口接收的图像或视频作为原始输入张量(例如图2的示例中的IMG)存储到存储器MEM中和/或由处理器PU按照根据本公开的实施例的方法(例如示例方法M100)进行处理。
图9的示例装置可以包括获取单元OBT、匹配单元MAT、指令生成单元GEN和指令执行单元。
获取单元OBT可以被配置为获取关于原始输入张量的至少一个感兴趣区域数据。在一个实施例中,获取单元OBT可以包括一个或多个处理器,例如是基于诸如FPGA、ARM处理器等开发出来的处理器内核,并且可以被配置为在启动(例如通电)时执行预定指令序列,以生成关于原始输入张量的至少一个感兴趣区域数据。在另外的实施例中,获取单元OBT可以包括一个或多个I/O接口和/或存储器,并且可以被配置为接收和/或存储关于原始输入张量的至少一个感兴趣区域数据。
匹配单元MAT可以耦接到获取单元OBT,并且可以被配置为根据由获取单元OBT获取的至少一个感兴趣区域数据中的第一感兴趣区域数据确定原始输入张量的与第一感兴趣区域数据相对应的第一局部张量。在一个实施例中,获取单元OBT可以包括一个或多个处理器,例如是基于诸如FPGA、ARM处理器等开发出来的处理器内核,并且可以被配置为在启动(例如通电)时执行例如前述的示例方法M100的步骤S120。在另一个实施例中,获取单元OBT可以包括一个或多个多路选择器,以便从多个局部张量中选择与输入的第一感兴趣区域数据相对应的第一局部张量。在该实施例中,获取单元OBT还可以包括一个或多个比较器(例如,集成数值比较器和/或逻辑门电路),以便比较例如第一感兴趣区域数据中的坐标和/或大小与某个局部张量的坐标和/或大小是否相同。在另一个实施例中,匹配单元MAT可以与获取单元OBT一体化,例如可以使用相同的一个或多个处理器实现两者的功能。
指令生成单元GEN可以耦接到获取单元OBT和/或匹配单元MAT,并且可以被配置为根据预先编译的指令序列模板生成用于处理第一局部张量和/或第一感兴趣区域数据的第一可执行指令序列以及基于第一可执行指令序列生成最终可执行指令序列。在一个实施例中,指令生成单元GEN可以包括一个或多个处理器,例如是基于诸如FPGA、ARM处理器等开发出来的处理器内核,并且可以被配置为在启动(例如通电)时执行例如前述的示例方法M100的步骤S130和S140。
指令执行单元EXE可以耦接到指令生成单元GEN,并且可以被配置为执行由指令生成单元GEN生成的最终可执行指令序列。在一个实施例中,指令执行单元EXE可以包括例如算术逻辑运算单元、控制电路、指令译码器、指令寄存器、数据寄存器、程序计数器、地址寄存器等部件,并且还可以耦接到存储器等部件,并且可以被配置为在启动(例如通电)时执行例如前述的示例方法M100的步骤S150。
应当理解,根据本公开的实施例的装置不局限于图8和/或图9的示例。根据情况,根据本公开的实施例的装置还可以包括例如中断控制器、时序控制器、单独的存储器存取控制电路、专门用于对模型(例如卷积神经网络)中的运行进行加速的加速器(例如,用于对卷积运算进行加速的乘加单元阵列等)、显示器等其他部件或元件,或者也可以采用其他适当的结构。
在根据本公开的实施例的装置中,利用在预先编译的指令序列模板,简单且高效地处理需要基于ROI的运行时数据进行的操作或处理,从而允许简化程序逻辑和离线编译中的处理,并且允许在运行时根据实际生成的数据动态地优化执行逻辑,使得能够以更低的功耗和硬件开销(例如,使用更少的存储空间)高效率地处理ROI数据。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,该计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言可以包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,例如计算机可读取的非临时性存储介质,其上存储有程序指令,程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪速存储器)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (9)
1.一种处理感兴趣区域数据的方法,包括:
获取关于原始输入张量的至少一个感兴趣区域数据;
根据所述至少一个感兴趣区域数据中的第一感兴趣区域数据,确定所述原始输入张量的与所述第一感兴趣区域数据相对应的第一局部张量;
根据预先编译的指令序列模板,生成用于处理所述第一局部张量和/或所述第一感兴趣区域数据的第一可执行指令序列;
基于所述第一可执行指令序列,生成最终可执行指令序列;以及
执行所述最终可执行指令序列,
其中,基于所述第一可执行指令序列生成最终可执行指令序列包括:
根据所述至少一个感兴趣区域数据中的第二感兴趣区域数据,确定所述原始输入张量的与所述第二感兴趣区域数据相对应的第二局部张量;
根据所述指令序列模板,生成用于处理所述第二局部张量和/或所述第二感兴趣区域数据的第二可执行指令序列;以及
基于所述第一可执行指令序列和所述第二可执行指令序列,生成所述最终可执行指令序列。
2.根据权利要求1所述的方法,其中,根据预先编译的指令序列模板生成用于处理所述第一局部张量和/或所述第一感兴趣区域数据的第一可执行指令序列包括:
通过复制所述指令序列模板,生成第一初始指令序列;以及
根据所述第一局部张量和/或所述第一感兴趣区域数据设置所述第一初始指令序列中的至少一条指令的参数,生成所述第一可执行指令序列。
3.根据权利要求1所述的方法,其中,所述指令序列模板包括:
第一组指令,其用于对张量数据进行插值以获得具有第一规整尺寸的中间张量数据;以及
第二组指令,其用于对所述中间张量数据执行至少一次规整池化以获得具有第二规整尺寸的张量数据。
4.根据权利要求1所述的方法,其中,所述指令序列模板包括:
第三组指令,其用于对张量数据执行预定模型中的至少一个运算。
5.根据权利要求1所述的方法,其中,根据所述指令序列模板生成用于处理所述第二局部张量和/或所述第二感兴趣区域数据的第二可执行指令序列包括:
通过复制所述指令序列模板,生成第二初始指令序列;以及
通过根据所述第二局部张量和/或所述第二感兴趣区域数据设置所述第二初始指令序列中的至少一条指令的参数,生成所述第二可执行指令序列。
6.根据权利要求1所述的方法,其中,基于所述第一可执行指令序列和所述第二可执行指令序列生成最终可执行指令序列包括:
确定所述第一可执行指令序列中的第一组可执行指令和随后的第二组可执行指令,所述第一组可执行指令处理第一数据,所述第二组可执行指令处理第二数据;
确定所述第二可执行指令序列中的第三组可执行指令和随后的第四组可执行指令,所述第三组可执行指令与所述第一组可执行指令相同,所述第四组可执行指令处理第三数据;以及
将所述第四组可执行指令插入到所述第一可执行指令序列中,使得在所述最终可执行指令序列中,所述第二组可执行指令和所述第四组可执行指令两者跟随在所述第一组可执行指令之后。
7.一种计算装置可读取的非临时性存储介质,在其上存储有程序指令,所述程序指令在被所述计算装置执行时执行根据权利要求1至6中的任一项所述的方法。
8.一种处理感兴趣区域数据的装置,包括:
处理器,被配置为在启动时至少执行根据权利要求1至6中的任一项所述的方法。
9.一种处理感兴趣区域数据的装置,包括:
获取单元,被配置为获取关于原始输入张量的至少一个感兴趣区域数据;
匹配单元,被配置为根据所述至少一个感兴趣区域数据中的第一感兴趣区域数据确定所述原始输入张量的与所述第一感兴趣区域数据相对应的第一局部张量;
指令生成单元,被配置为根据预先编译的指令序列模板生成用于处理所述第一局部张量和/或所述第一感兴趣区域数据的第一可执行指令序列以及基于所述第一可执行指令序列生成最终可执行指令序列;以及
指令执行单元,被配置为执行所述最终可执行指令序列,
其中,基于所述第一可执行指令序列生成最终可执行指令序列包括:
根据所述至少一个感兴趣区域数据中的第二感兴趣区域数据,确定所述原始输入张量的与所述第二感兴趣区域数据相对应的第二局部张量;
根据所述指令序列模板,生成用于处理所述第二局部张量和/或所述第二感兴趣区域数据的第二可执行指令序列;以及
基于所述第一可执行指令序列和所述第二可执行指令序列,生成所述最终可执行指令序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910015238.4A CN111414904B (zh) | 2019-01-08 | 2019-01-08 | 处理感兴趣区域数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910015238.4A CN111414904B (zh) | 2019-01-08 | 2019-01-08 | 处理感兴趣区域数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414904A CN111414904A (zh) | 2020-07-14 |
CN111414904B true CN111414904B (zh) | 2023-12-01 |
Family
ID=71490704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910015238.4A Active CN111414904B (zh) | 2019-01-08 | 2019-01-08 | 处理感兴趣区域数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414904B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533512A (zh) * | 2009-04-24 | 2009-09-16 | 西安电子科技大学 | 基于人类视觉注意系统的图像感兴趣区域自动提取方法 |
CN103886089A (zh) * | 2014-03-31 | 2014-06-25 | 吴怀正 | 基于学习的行车记录视频浓缩方法 |
CN103974071A (zh) * | 2013-01-29 | 2014-08-06 | 富士通株式会社 | 基于感兴趣区域的视频编码方法和设备 |
CN104799882A (zh) * | 2014-01-28 | 2015-07-29 | 三星麦迪森株式会社 | 用于显示与感兴趣区域相应的超声图像的方法和超声设备 |
CA2948226A1 (en) * | 2014-06-30 | 2016-01-07 | Ventana Medical Systems, Inc. | Detecting edges of a nucleus using image analysis |
CN105957110A (zh) * | 2016-06-29 | 2016-09-21 | 上海小蚁科技有限公司 | 用于检测对象的设备和方法 |
CN106250895A (zh) * | 2016-08-15 | 2016-12-21 | 北京理工大学 | 一种光学遥感图像感兴趣区域检测方法 |
CN106991694A (zh) * | 2017-03-17 | 2017-07-28 | 西安电子科技大学 | 基于显著区域面积匹配的心脏ct与超声图像配准方法 |
CN107067003A (zh) * | 2017-03-09 | 2017-08-18 | 百度在线网络技术(北京)有限公司 | 感兴趣区域边界的提取方法、装置、设备和计算机存储介质 |
CN107480673A (zh) * | 2017-06-30 | 2017-12-15 | 上海联影医疗科技有限公司 | 确定医学图像中感兴趣区域的方法、装置及图像编辑系统 |
WO2018113953A1 (en) * | 2016-12-21 | 2018-06-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Region of interest classification |
CN108460787A (zh) * | 2018-03-06 | 2018-08-28 | 北京市商汤科技开发有限公司 | 目标跟踪方法和装置、电子设备、程序、存储介质 |
CN108734163A (zh) * | 2018-05-04 | 2018-11-02 | 北京雅森科技发展有限公司 | 确定弥散张量成像感兴趣区的方法 |
CN108737724A (zh) * | 2017-04-17 | 2018-11-02 | 英特尔公司 | 用于360视频捕获和显示的系统和方法 |
CN109063603A (zh) * | 2018-07-16 | 2018-12-21 | 深圳地平线机器人科技有限公司 | 基于区域动态筛选的图像预测方法和装置及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116609B2 (en) * | 2011-03-30 | 2015-08-25 | Mckesson Financial Holdings | Methods, apparatuses and computer program products for generating regions of interest using gestures via a user interface |
US9058655B2 (en) * | 2012-11-06 | 2015-06-16 | Apple Inc. | Region of interest based image registration |
US9773192B2 (en) * | 2015-06-07 | 2017-09-26 | Apple Inc. | Fast template-based tracking |
US10349060B2 (en) * | 2017-06-30 | 2019-07-09 | Intel Corporation | Encoding video frames using generated region of interest maps |
-
2019
- 2019-01-08 CN CN201910015238.4A patent/CN111414904B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533512A (zh) * | 2009-04-24 | 2009-09-16 | 西安电子科技大学 | 基于人类视觉注意系统的图像感兴趣区域自动提取方法 |
CN103974071A (zh) * | 2013-01-29 | 2014-08-06 | 富士通株式会社 | 基于感兴趣区域的视频编码方法和设备 |
CN104799882A (zh) * | 2014-01-28 | 2015-07-29 | 三星麦迪森株式会社 | 用于显示与感兴趣区域相应的超声图像的方法和超声设备 |
CN103886089A (zh) * | 2014-03-31 | 2014-06-25 | 吴怀正 | 基于学习的行车记录视频浓缩方法 |
CA2948226A1 (en) * | 2014-06-30 | 2016-01-07 | Ventana Medical Systems, Inc. | Detecting edges of a nucleus using image analysis |
CN105957110A (zh) * | 2016-06-29 | 2016-09-21 | 上海小蚁科技有限公司 | 用于检测对象的设备和方法 |
CN106250895A (zh) * | 2016-08-15 | 2016-12-21 | 北京理工大学 | 一种光学遥感图像感兴趣区域检测方法 |
WO2018113953A1 (en) * | 2016-12-21 | 2018-06-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Region of interest classification |
CN107067003A (zh) * | 2017-03-09 | 2017-08-18 | 百度在线网络技术(北京)有限公司 | 感兴趣区域边界的提取方法、装置、设备和计算机存储介质 |
CN106991694A (zh) * | 2017-03-17 | 2017-07-28 | 西安电子科技大学 | 基于显著区域面积匹配的心脏ct与超声图像配准方法 |
CN108737724A (zh) * | 2017-04-17 | 2018-11-02 | 英特尔公司 | 用于360视频捕获和显示的系统和方法 |
CN107480673A (zh) * | 2017-06-30 | 2017-12-15 | 上海联影医疗科技有限公司 | 确定医学图像中感兴趣区域的方法、装置及图像编辑系统 |
CN108460787A (zh) * | 2018-03-06 | 2018-08-28 | 北京市商汤科技开发有限公司 | 目标跟踪方法和装置、电子设备、程序、存储介质 |
CN108734163A (zh) * | 2018-05-04 | 2018-11-02 | 北京雅森科技发展有限公司 | 确定弥散张量成像感兴趣区的方法 |
CN109063603A (zh) * | 2018-07-16 | 2018-12-21 | 深圳地平线机器人科技有限公司 | 基于区域动态筛选的图像预测方法和装置及电子设备 |
Non-Patent Citations (3)
Title |
---|
周芳露等.TrackVis模型示踪角度阈值对子宫肌瘤DTI纤维示踪成像结果的影响.临床放射学杂志.2018,第37卷(第10期),第1734-1739页. * |
金瑞等.基于高光谱图像和光谱信息融合的马铃薯多指标检测方法. 农业工程学报.2015,第31卷(第16期),第258-263页. * |
陈雷 ; 张健 ; .部分混合位平面位移的JPEG2000感兴趣区域图像编码.辽宁工业大学学报.2008,(第02期),第95-99页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111414904A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11099918B2 (en) | Accelerating algorithms and applications on FPGAs | |
US9898266B2 (en) | Loop vectorization methods and apparatus | |
US11270209B2 (en) | Method for training an artificial neural network by scaling activation values | |
US20190179635A1 (en) | Method and apparatus for tensor and convolution operations | |
CN111178517B (zh) | 模型部署方法、系统、芯片、电子设备及介质 | |
US11694075B2 (en) | Partitioning control dependency edge in computation graph | |
CN113360910A (zh) | 恶意应用的检测方法、装置、服务器和可读存储介质 | |
US20210158131A1 (en) | Hierarchical partitioning of operators | |
CN114201107A (zh) | 存储装置、操作存储装置的方法以及电子装置 | |
US11663020B2 (en) | Bootstrapping frameworks from a generated static initialization method for faster booting | |
US10990073B2 (en) | Program editing device, program editing method, and computer readable medium | |
CN111414904B (zh) | 处理感兴趣区域数据的方法和装置 | |
US10353591B2 (en) | Fused shader programs | |
US20170185387A1 (en) | Sloppy feedback loop compilation | |
CN112416301A (zh) | 深度学习模型开发方法及装置、计算机可读存储介质 | |
CN112766470B (zh) | 特征数据处理方法、指令序列生成方法、装置及设备 | |
CN115391066B (zh) | 用于芯片的数据交互方法、装置和人工智能芯片 | |
CN113688982A (zh) | 处理单元、相关装置和方法 | |
Tagliavini et al. | Enabling OpenVX support in mW-scale parallel accelerators | |
US11762721B2 (en) | Method for realizing nGraph framework supporting FPGA rear-end device | |
CN110502439B (zh) | 调试方法、装置、电子设备以及存储介质 | |
CN113994388A (zh) | 管理神经网络模型的方法和装置 | |
CN113821471A (zh) | 神经网络的处理方法和电子装置 | |
CN114072762A (zh) | 将源代码编译和执行为服务 | |
CN113032843B (zh) | 用于获得和处理带数字签名信息的张量数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |