CN113032294A - 信息处理方法、装置、设备及存储介质 - Google Patents
信息处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113032294A CN113032294A CN202110517509.3A CN202110517509A CN113032294A CN 113032294 A CN113032294 A CN 113032294A CN 202110517509 A CN202110517509 A CN 202110517509A CN 113032294 A CN113032294 A CN 113032294A
- Authority
- CN
- China
- Prior art keywords
- target
- objects
- information processing
- internal cache
- correlation
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1063—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
Abstract
公开了一种信息处理方法、装置、设备及存储介质,所述方法用于通过多次迭代得到目标对象集合,在每次迭代中:顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象;对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度;在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中。
Description
技术领域
本公开涉及计算机视觉技术,尤其涉及一种信息处理方法、装置、设备及存储介质。
背景技术
非极大值抑制(Non Maximum Suppression,NMS)算法在计算机视觉领域,例如目标检测、边缘检测、目标识别等都有着广泛的应用。
传统的NMS算法中,每轮迭代后剩余的候选框是不连续的,需要额外处理候选框存储不连续的问题,且由于部分无效对象会参与每轮的迭代,导致计算时间长以及硬件功耗增加的问题。如何提高NMS处理速度、提高硬件性能以及降低硬件功耗,成为亟需解决的问题。
发明内容
本公开提供一种信息处理方案。
根据本公开的一方面,提供一种信息处理方法,所述方法应用于信息处理装置,用于通过多次迭代得到目标对象集合,在每次迭代中:顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象;对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度;在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中。
结合本公开提供的任一实施方式,在第一次迭代中,将第一个第一对象加入到所述目标对象集合中。
结合本公开提供的任一实施方式,所述信息处理装置包括第一内部缓存,所述顺序获取第一对象集合中的一个第一对象,包括:从与所述信息处理装置连接的第一外部缓存中顺序读取所述第一对象集合中的多个第一对象,将所述多个第一对象写入所述第一内部缓存中;从所述第一内部缓存中读取所述多个第一对象中的一个第一对象。
结合本公开提供的任一实施方式,所述信息处理装置包括第二内部缓存,所述在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中,包括:将满足设定条件的第一对象写入所述第二内部缓存中的目标对象集合中,得到目标对象。
结合本公开提供的任一实施方式,在所述目标对象的数目达到第一预设数目时,从所述第二内部缓存中读取所述第一预设数目个目标对象,写入与所述信息处理装置连接的第二外部缓存中。
结合本公开提供的任一实施方式,通过四级流水线确定第一对象与目标对象的相关度并确定第一对象是否满足设定条件,所述四级流水线包括:从所述第二内部缓存中读取一个目标对象;确定所述第一对象与读取的目标对象之间的相关度;获取满足所述设定条件的相关度阈值;判断所述相关度是否满足所述相关度阈值要求。
结合本公开提供的任一实施方式,响应于确定所述第一对象与所述目标对象集合中的一个目标对象不满足所述设定条件,终止当前的所述四级流水线,并清除所述四级流水线上的操作。
结合本公开提供的任一实施方式,所述第二内部缓存的宽度根据所述第一对象的宽度确定,所述第二内部缓存的深度根据所述目标对象集合包含目标对象的目标总数确定。
结合本公开提供的任一实施方式,所述方法还包括:在迭代的次数达到所述第一对象集合包含第一对象的第一总数时停止迭代;或,在所述目标对象集合中的目标对象的数目达到所述目标对象集合包含目标对象的目标总数时停止迭代。
结合本公开提供的任一实施方式,所述第一对象集合包括多个目标检测网络生成的候选框,所述多个候选框按照置信度分数排列,所述相关度包括重叠率。
根据本公开的一方面,提供一种信息处理装置,所述装置用于通过多次迭代得到目标对象集合,所述装置包括:获取单元,用于顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象;确定单元,用于对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度;选取单元,用于在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中。
结合本公开提供的任一实施方式,在第一次迭代中,将第一个第一对象加入到所述目标对象集合中。
结合本公开提供的任一实施方式,所述信息处理装置包括第一内部缓存,所述获取单元具体用于:从与所述信息处理装置连接的第一外部缓存中顺序读取所述第一对象集合中的多个第一对象,将所述多个第一对象写入所述第一内部缓存中;从所述第一内部缓存中读取所述多个第一对象中的一个第一对象。
结合本公开提供的任一实施方式,所述信息处理装置包括第二内部缓存,所述选取单元具体用于:将满足设定条件的第一对象写入所述第二内部缓存中的目标对象集合中,得到目标对象。
结合本公开提供的任一实施方式,在所述目标对象的数目达到第一预设数目时,从所述第二内部缓存中读取所述第一预设数目个目标对象,写入与所述信息处理装置连接的第二外部缓存中。
结合本公开提供的任一实施方式,通过四级流水线确定第一对象与目标对象的相关度并确定第一对象是否满足设定条件,所述四级流水线包括:从所述第二内部缓存中读取一个目标对象;确定所述第一对象与读取的目标对象之间的相关度;获取满足所述设定条件的相关度阈值;判断所述相关度是否满足所述相关度阈值要求。
结合本公开提供的任一实施方式,响应于确定所述第一对象与所述目标对象集合中的一个目标对象不满足所述设定条件,终止当前的所述四级流水线,并清除所述四级流水线上的操作。
结合本公开提供的任一实施方式,所述第二内部缓存的宽度根据所述第一对象的宽度确定,所述第二内部缓存的深度根据所述目标对象集合包含目标对象的目标总数确定。
结合本公开提供的任一实施方式,在迭代的次数达到所述第一对象集合包含第一对象的第一总数时停止迭代;或,在所述目标对象集合中的目标对象的数目达到所述目标对象集合包含目标对象的目标总数时停止迭代。
结合本公开提供的任一实施方式,所述第一对象集合包括多个目标检测网络生成的候选框,所述多个候选框按照置信度分数排列,所述相关度包括重叠率。
根据本公开的一方面,提供一种信息处理装置,所述装置包括:读模块,用于顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象;迭代模块,用于对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度,并在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中;写模块,用于写出所述相关度满足设定条件的第一对象。
结合本公开提供的任一实施方式,在第一次迭代中,将第一个第一对象加入到所述目标对象集合中。
结合本公开提供的任一实施方式,所述读模块包括第一内部缓存,所述读模块具体用于:从与所述信息处理装置连接的第一外部缓存中顺序读取所述第一对象集合中的多个第一对象,将所述多个第一对象写入所述第一内部缓存中;从所述第一内部缓存中读取所述多个第一对象中的一个第一对象。
结合本公开提供的任一实施方式,所述迭代模块包括第二内部缓存,所述迭代模块具体用于:将满足设定条件的第一对象写入所述第二内部缓存中的目标对象集合中,得到目标对象。
结合本公开提供的任一实施方式,所述写模块具体用于:在所述目标对象的数目达到第一预设数目时,将从所述第二内部缓存中读取的所述第一预设数目个目标对象写入与所述信息处理装置连接的第二外部缓存中。
结合本公开提供的任一实施方式,所述迭代模块还包括流水线检测模块,用于通过四级流水线确定第一对象与目标对象的相关度并确定第一对象是否满足设定条件,所述四级流水线包括:从所述第二内部缓存中读取一个目标对象;确定所述第一对象与读取的目标对象之间的相关度;获取满足所述设定条件的相关度阈值;判断所述相关度是否满足所述相关度阈值要求。
结合本公开提供的任一实施方式,响应于确定所述第一对象与所述目标对象集合中的一个目标对象不满足所述设定条件,终止当前的所述四级流水线,并清除所述四级流水线上的操作。
结合本公开提供的任一实施方式,所述第二内部缓存的宽度根据所述第一对象的宽度确定,所述第二内部缓存的深度根据所述目标对象集合包含目标对象的目标总数确定。
结合本公开提供的任一实施方式,在迭代的次数达到所述第一对象集合包含第一对象的第一总数时停止迭代;或,在所述目标对象集合中的目标对象的数目达到所述目标对象集合包含目标对象的目标总数时停止迭代。
结合本公开提供的任一实施方式,所述第一对象集合包括多个目标检测网络生成的候选框,所述多个候选框按照置信度分数排列,所述相关度包括重叠率。
根据本公开的一方面,提供一种信息处理装置,包括存储器和处理器,所述存储器用于存储可在所述处理器上运行的计算机指令,所述处理器用于执行所述计算机指令以实现本公开任一实施方式所述的信息处理方法。
根据本公开的一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被信息处理装置执行时实现本公开任一实施方式所述的信息处理方法。
本公开任一实施方式所提出的信息处理方法、装置、设备及存储介质,通过在每次迭代中,顺序获取第一对象集合中的一个第一对象,并对于所述第一对象与当前的目标对象集合中的每个目标对象,分别确定相关度,在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中,通过多次迭代得到最终的目标对象集合,相较于传统的NMS算法,本公开实施例提出的信息处理方法在每轮迭代中对第一对象的读取是连续的,解决了第一对象存储地址不连续的问题,并且,该方法可以避免无效的第一对象参与每轮的迭代,减少了确定相关度的次数,加快了处理速度,降低了信息处理装置的硬件功耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为传统NMS的处理过程示意图;
图1B为本公开至少一个实施例提供的信息处理方法的处理过程示意图;
图2为本公开至少一个实施例提供的信息处理方法的流程图;
图3为本公开至少一个实施例提供的信息处理装置的结构示意图;
图4为本公开至少一个实施例提供的信息处理方法的迭代过程示意图;
图5为本公开至少一个实施例提供的一种信息处理装置的结构示意图;
图6为本公开至少一个实施例提供的一种信息处理装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
在目标检测过程中,会生成一系列候选框,每个候选框都包含位置参数和置信度得分。根据所生成的一系列候选框,可以获得候选框集合,所述候选框集合可以是所生成的一系列候选框中的部分或全部。在进行NMS处理之前,按照置信度对候选框集合中的候选框进行排序,也即将候选框按照置度从高到低的顺序排列。
图1A示出了传统的对候选框集合进行NMS处理的过程。首先,选择第1个候选框,也即所述候选框集合中置信度最高的候选框。然后,遍历剩余的候选框,如果存在与第1个候选框的重叠率(重叠区域面积比,也即交并比)大于设定阈值的候选框,则将该候选框滤除掉。对于未被滤除的候选框,再选择第二个候选框,重复上述操作,直到没有可以滤除的候选框,或者保留的候选框的数量达到预设数量N。如图1A所示,对于按照置信度从高到低排列的候选框b0~b9,在第1次迭代中,将b0与b1~b9进行比较,在b3与b0的相关度大于设定阈值的情况下,删除b3;在第2次迭代中,将b1与b2、b4~b9进行比较,在b5与b1的相关度大于设定阈值的情况下,删除b5;在第3次迭代中,将b2与b4、b6~b9进行比较,在b7与b2的相关度大于设定阈值的情况下,删除b7;在第4次迭代中,在目标对象集中的目标候选框已达到目标总数N=4个时,则不再将b4与其他对一对象进行比较,完成迭代。
从上述NMS处理过程可见,由于存在对候选框的滤除操作,在每轮迭代中满足重叠率阈值要求的候选框是不连续的,如图1A所示,每次迭代完成后剩余的候选框(虚线右侧)的下标不连续,因此需要额外处理候选框存储不连续的问题;并且,在每轮迭代中,排名在前的候选框都需要与剩余所有的候选框进行重叠率检测,由于NMS处理的目标总数N通常较小,在候选框集合中位于重叠率满足设定要求的第N个候选框之后的候选框需要丢弃,却参与了每一轮的迭代,如图1A中的b6、b8、b9,增加了计算时间以及硬件功耗。
为了解决上述问题,本公开至少一个实施例提出了一种信息处理方法,所述方法应用于信息处理装置,用于通过多次迭代得到目标对象集合。如图2所示,在每次迭代中,包括步骤201~203。
在步骤201中,顺序获取第一对象集合中的一个第一对象。
在公开实施例中,所述第一对象集合包括依据设定参数排列的多个第一对象。以所述第一对象为目标检测过程中所生成的候选框为例,所述第一对象集合包括依据置信度从高到低排列的多个候选框。
顺序获取所述第一对象集合中的一个第一对象,是指在每次迭代中,按照顺序依次获取所述第一对象集合中的一个第一对象。例如,在第1次迭代中,获取第1个第一对象,在第2次迭代中,获取第2个第一对象,以此类推。
在步骤202中,对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度。
其中,所述目标对象集合为在本次迭代中、当前的目标对象集合。
以所述第一对象为目标检测过程中所生成的候选框为例,所述相关度可以是所获取的候选框,与当前目标对象集合中的每个候选框之间的重叠率,也即交并比。本领域技术人员应当理解,对于其他类型的处理对象,所述相关度也可以是其他参数,本公开实施例对此不进行限制。
在步骤203中,在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中。也即,将相关度满足所述设定条件的第一对象确定为目标对象。
例如,在从所述候选框集合中得到的候选框,与当前目标对象集合中的每个候选框的重叠率都小于设定阈值的候选框的情况下,将该候选框加入至所述目标对象集合中,也即将该候选框确定为目标候选框。
在本公开实施例中,在第1次迭代中,可以将第1个第一对象加入到所述目标对象集合中。也即,在第1次迭代过程中,对于所获取的第1个第一对象,无需进行比较,直接将该第1个第一对象加入至目标对象集合中。
在本公开实施例中,通过在每次迭代中,顺序获取第一对象集合中的一个第一对象,并对于所述第一对象与当前的目标对象集合中的每个目标对象,分别确定相关度,在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中,通过多次迭代得到最终的目标对象集合,相较于传统的NMS算法,本公开实施例提出的信息处理方法在每轮迭代中对第一对象的读取是连续的,解决了第一对象存储地址不连续的问题,并且,该方法可以避免无效的第一对象参与每轮的迭代,减少了确定相关度的次数,加快了处理速度,降低了信息处理装置的硬件功耗。
此外,由于公开实施例提出的信息处理方法每轮迭代需要存储保留的是满足设定条件的第一对象,需要的设备内部缓存较小,便于使用性能较高的设备内部缓存实现。
以下以对目标检测过程中得到的候选框集合进行NMS处理为例,对本公开至少一个实施例所提出的信息处理方法进行描述。本领域技术人员应当理解,本方法也可以应用于其他利用NMS进行处理的场景,不仅于以下所述。
图1B示出了本公开实施例提供的信息处理方法对所述候选框集合进行NMS处理的过程。首先,选择第1个候选框,也即所述候选框集合中置信度最高的候选框,并将所述第1个候选框直接加入目标对象集合,也即保留第1个候选框;然后,选择第2个候选框,并与第1个候选框进行重叠率检测,如果两个候选框的重叠率满足重叠率阈值要求,例如小于所述重叠率阈值,则将第2个候选框加入所述目标对象集合,也即保留第2个候选框,否则直接丢弃第2个候选框;重复上述步骤,直到所述候选框集合中的候选框都进行了选取和检测,或者所保留的候选框数量已经达到目标总数N。如图1B所示,对于按照置信度从高到低排列的候选框b0~b9,在第1次迭代中,无需比较,直接保留b0;在第2次迭代中,将b1与b0进行比较,在b1与b0的重叠率满足重叠率阈值要求的情况下,保留b1;在第3次迭代中,将b2与b0和b1分别进行比较,在重叠率均满足重叠率阈值要求的情况下,保留b2;在第4次迭代中,将b3分别与b0~b2进行比较,在其中一个重叠率不满足重叠率阈值要求的情况下,删除b3;在第5次迭代中,将b4分别与b0~b2进行比较,在重叠率均满足重叠率阈值要求的情况下,保留b4。在目标对象集中的目标候选框已达到目标总数N=4个时,则不再进行下一轮迭代。
由图1A和图1B所示的处理过程可见,在所需的目标对象的目标总数为4的情况下,传统NMS处理需要进行21次重叠率检测,而本公开实施例所提出的方法需要进行9次重叠率检测。由于在对候选框的NMS处理中,原始的候选框的数量远大于目标候选框的目标总数,本公开实施例提出的NMS处理方法能够避免无效的候选框,例如图1B中的b5~b9参与每轮的迭代,从而降低了候选框之间的重叠率的检测次数,加快了NMS的处理速度。
如图1A所示的传统NMS处理,由于需要反复对候选框进行读取迭代,如果迭代过程中将候选框数据存放在NMS处理设备的外部缓存中,读取延时较大,且对外部缓存的占用率较高,在NMS处理设备与其他设备共享外部缓存时,容易引起缓存读写冲突,降低设备整体性能。
为了解决以上问题,本公开实施例提出一种信息处理方法。在该方法中,所述信息处理装置包括第一内部缓存,所述第一对象集合可以存储在与信息处理装置连接的第一外部缓存(external memory)中。所述信息处理装置从所述第一外部缓存中顺序读取所述第一对象集合中的多个第一对象,并将所述多个第一对象写入所述第一内部缓存中。之后,再从所述第一内部缓存中读取所述多个第一对象中的一个第一对象。
所述信息处理装置从第一外部缓存读取第一对象的同时,还可以读取其他随路信息。例如,在从第一外部缓存读取候选框集合中的候选框的同时,还可以读取所述候选框的置信度等。
图3示出了本公开至少一个实施例提出的信息处理装置的结构示意图。如图3所示,信息处理装置300包括读模块301、迭代模块302、写模块303,还可以包括第一内部缓存3011和第二内部缓存3021,其中,第一内部缓存3011可以设置在读模块301中,第二内部缓存3021可以设置在迭代模块302中。信息处理装置300还可以与第一外部缓存311和第二外部缓存312连接。本领域技术人员应当理解,图3所示的结构仅为示例,本公开实施例对于信息处理装置的具体结构不进行限制。
在图3所示的信息处理装置中,读模块301用于顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象,并将所述第一对象发送至后级的迭代模块302;迭代模块302用于对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度,并在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中;写模块303用于写出所述相关度满足设定条件的第一对象。
在一个示例中,读模块301可以从第一外部缓存311中顺序读取多个第一对象,并将所述多个第一对象缓存在第一内部缓存3011中。之后,再依次地将第一内部缓存3011中的第一对象发送至迭代模块302。
在本公开实施例中,由于第一对象集合中的第一对象是连续读入的,当所述信息处理装置与第一外部缓存之间的读带宽大于单个第一对象的宽度时,可以一次从第一外部缓存中读入多个第一对象,以充分利用所述信息处理装置与所述第一外部缓存之间的读带宽,并且通过对读入的第一对象进行内部缓存后再进行后续处理,可以降低信息处理装置对第一外部缓存读接口的占用时间,在多设备共享所述第一外部缓存的情况下,减小所述信号处理设备与其他设备对于所述第一外部缓存的读取冲突。
如图1A所示的传统NMS处理,如果利用内部缓存来存储迭代过程中的候选框,虽然可以提高迭代过程中候选框的读取速度,但是由于内部缓存的宽度为候选框的宽度,深度至少为候选框集合所包含的原始候选框的第一总数,而在实际应用中第一总数的数值通常较大,导致内部缓存面积较大。
为了解决以上问题,本公开实施例提出一种信息处理方法。在该方法中,所述信息处理装置包括第二内部缓存。对于满足设定条件的第一对象,可以首先写入所述第二内部缓存中的目标对象集合中,得到目标对象。在所述目标对象的数目达到第一预设数目时,从所述第二内部缓存中读取所述第一预设数目个目标对象,写入所述第二外部缓存中,其中,所述第一预设数目根据所述信息处理装置与所述第二外部缓存之间的写带宽确定。
以图3所示的信息处理装置为例,迭代模块302按照迭代的方式,对所获取的第一对象进行相关度检测,并根据所述相关度对不满足设定条件的第一对象进行滤除。由于在迭代过程中,满足设定条件的第一对象将被多次读取使用,在本公开实施例中,将满足设定条件的第一对象暂时存储在第二内部缓存3021中的目标对象集合中,得到目标对象。其中,第二内部缓存3021的宽度可以是单个第一对像的宽度(如携带随路信息,则增加随路信息的宽度),深度可以根据所需的目标对象的目标总数N确定。
写模块303用于读取第二内部缓存3021中的目标对象,并写入第二外部缓存312中,由于在迭代过程中连续对第二内部缓存3021进行读操作,为了进一步减少信息处理装置300的处理时间,写模块303可以与迭代模块302共用第二内部缓存3021的读接口,在迭代检测相关度的过程中,读取第二内部缓存3021中的目标对象,并写入第二外部缓存312中。在一个示例中,写模块303可以在第二内部缓存3021中缓存了多个目标对象后,发起一次写第二外部缓存312的操作,将从第二内部缓存3021读取的多个目标对象一同写入所述第二外部缓存312。
在本公开实施例中,在所述信息处理装置与第二外部缓存之间的写带宽大于单个目标对象的宽度时,可以将从第二内部缓存中读取的多个目标对象一同写入第二外部缓存中,充分利用了信息处理装置与第二外部缓存之间的写带宽,减少了信息处理装置对第二外部缓存写接口的占用,在多个设备共享所述第二外部缓存的情况下,减少第二外部缓存写接口的冲突。
在一些实施例中,可以通过四级流水线确定第一对象与目标对象的相关度并确定第一对象是否满足设定条件,所述四级流水线包括:从所述第二内部缓存中读取一个目标对象;确定所述第一对象与读取的目标对象之间的相关度;获取满足所述设定条件的相关度阈值;判断所述相关度是否满足所述相关度阈值要求。
以利用图3所示的信息处理装置300对候选框集合进行NMS处理为例,迭代模块302按照迭代的方式,调用流水线检测模块3022以四级流水线对所获取的候选框是否满足设定条件进行判断,并对不满足设定条件的候选框进行滤除。其中,每级流水线的主要操作包括:
第一级:从第二内部缓存读取已保留的候选框,也即目标候选框;
第二级:计算从候选框集合中获得的候选框与所述已保留的候选框的重叠率;
第三级:确定满足所述设定条件的重叠率阈值;
第四级:判断所述重叠量是否满足所述重叠率阈值要求。
在本公开实施例中,通过采用流水线方式实现对于第一对象是否满足设定条件的判断,可以提高信息处理装置的处理性能。
在一些实施例中,响应于判断出所述第一对象与所述目标对象集合中的一个目标对象不满足所述设定条件,终止当前的所述四级流水线,并清除所述四级流水线上的操作,开始进行针对下一个第一对象的四级流水线操作。
以利用图3所示的信息处理装置300对候选框集合进行NMS处理为例,只要检测到当前获取的候选框与第二内部缓存中的其中一个候选框的重叠率不满足所述重叠率阈值的要求,即终止当前流水线,并清除当前流水线上的操作,开始进行下一轮迭代,而不必等待第二内部缓存中的所有候选框都检测完毕。
通过上述方式,可以进一步加快迭代速度,提高信息处理装置的处理性能。
在一些实施例中,可以在所述目标对象集合中的目标对象的数目达到所述目标对象集合包含目标对象的目标总数时停止迭代。
以利用图3所示的信息处理装置300对候选框集合进行NMS处理为例,在第二内部缓存中的候选框的数量达到目标总数后,终止对候选框的迭代检测,不再从第一外部缓存读取候选框集合中剩余的候选框,并复位读模块301和迭代模块302的相关控制信号。
通过上述方式,能够避免无效的迭代及功耗浪费,进一步提升信息处理装置的处理性能。
在一些实施例中,也可以在迭代的次数达到所述第一对象集合包含的第一对象的数目时停止迭代,以对第一对象集合中进行全面的检测。
图4示出了信息处理装置300对候选框集合进行NMS的迭代过程。如图4所示,按照置信度从高到低排列的候选框b0~b4可以从第一外部缓存311中依次读取,也可以将候选框b0~b4一次读入到第一内部缓存3011中,再从所述第一内部缓存3011中依次读取;保留的候选框可以存储在第二内部缓存3021中。在第1次迭代中,无需比较,直接将b0存储在第二内部缓存3021中;在第2次迭代中,利用流水线检测模块3022对b1与从第二内部缓存3021中读取的b0进行重叠率检测,在重叠率满足重叠率阈值要求的情况下,将b1存储在第二内部缓存3021中;后续的迭代过程与此相似,通过利用对获取的候选框与从第二内部缓存中读取的、已保留的候选框进行重叠率检测,在重叠率满足重叠率阈值要求的情况下,将候选框存储在第二内部缓存3021中,否则丢弃,直到保留的候选框的数量达到目标总数时,停止迭代。
本公开至少一个实施例还提供了一种信息处理装置,所述装置应用于信息处理装置,如图5所示,所述装置包括:获取单元501,用于顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象;确定单元502,用于对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度;选取单元503,用于在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中。
在一些实施例中,在第一次迭代中,将第一个第一对象加入到所述目标对象集合中。
在一些实施例中,所述信息处理装置包括第一内部缓存,所述获取单元具体用于:从与所述信息处理装置连接的第一外部缓存中顺序读取所述第一对象集合中的多个第一对象,将所述多个第一对象写入所述第一内部缓存中;从所述第一内部缓存中读取所述多个第一对象中的一个第一对象。
在一些实施例中,所述信息处理装置包括第二内部缓存,所述选取单元具体用于:将满足设定条件的第一对象写入所述第二内部缓存中的目标对象集合中,得到目标对象。
在一些实施例中,在所述目标对象的数目达到第一预设数目时,从所述第二内部缓存中读取所述第一预设数目个目标对象,写入与所述信息处理装置连接的第二外部缓存中。
在一些实施例中,通过四级流水线确定第一对象与目标对象的相关度并确定第一对象是否满足设定条件,所述四级流水线包括:从所述第二内部缓存中读取一个目标对象;确定所述第一对象与读取的目标对象之间的相关度;获取满足所述设定条件的相关度阈值;判断所述相关度是否满足所述相关度阈值要求。
在一些实施例中,响应于确定所述第一对象与所述目标对象集合中的一个目标对象不满足所述设定条件,终止当前的所述四级流水线,并清除所述四级流水线上的操作。
在一些实施例中,所述第二内部缓存的宽度根据所述第一对象的宽度确定,所述第二内部缓存的深度根据所述目标对象集合包含目标对象的目标总数确定。
在一些实施例中,在迭代的次数达到所述第一对象集合包含第一对象的第一总数时停止迭代;或,在所述目标对象集合中的目标对象的数目达到所述目标对象集合包含目标对象的目标总数时停止迭代。
在一些实施例中,所述第一对象集合包括多个目标检测网络生成的候选框,所述多个候选框按照置信度分数排列,所述相关度包括重叠率。
图6为本公开至少一个实施例提供的信息处理设备,包括存储器和处理器,所述存储器用于存储可在所述处理器上运行的计算机指令,所述处理器用于执行所述计算机指令以实现本说明书任一实施例所述的信息处理方法。
本说明书至少一个实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例所述的信息处理方法。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、设备或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据信息处理装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位设备(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种设备模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和设备通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (20)
1.一种信息处理方法,其特征在于,所述方法应用于信息处理装置,用于通过多次迭代得到目标对象集合,在每次迭代中:
顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象;
对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度;
在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中。
2.根据权利要求1所述的方法,其特征在于,在第一次迭代中,将第一个第一对象加入到所述目标对象集合中。
3.根据权利要求1所述的方法,其特征在于,所述信息处理装置包括第一内部缓存,所述顺序获取第一对象集合中的一个第一对象,包括:
从与所述信息处理装置连接的第一外部缓存中顺序读取所述第一对象集合中的多个第一对象,将所述多个第一对象写入所述第一内部缓存中;
从所述第一内部缓存中读取所述多个第一对象中的一个第一对象。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述信息处理装置包括第二内部缓存,所述在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中,包括:
将满足设定条件的第一对象写入所述第二内部缓存中的目标对象集合中,得到目标对象。
5.根据权利要求4所述的方法,其特征在于,在所述目标对象的数目达到第一预设数目时,从所述第二内部缓存中读取所述第一预设数目个目标对象,写入与所述信息处理装置连接的第二外部缓存中。
6.根据权利要求4或5所述的方法,其特征在于,通过四级流水线确定第一对象与目标对象的相关度并确定第一对象是否满足设定条件,所述四级流水线包括:
从所述第二内部缓存中读取一个目标对象;
确定所述第一对象与读取的目标对象之间的相关度;
获取满足所述设定条件的相关度阈值;
判断所述相关度是否满足所述相关度阈值要求。
7.根据权利要求6所述的方法,其特征在于,响应于确定所述第一对象与所述目标对象集合中的一个目标对象不满足所述设定条件,终止当前的所述四级流水线,并清除所述四级流水线上的操作。
8.根据权利要求4至7任一项所述的方法,其特征在于,所述第二内部缓存的宽度根据所述第一对象的宽度确定,所述第二内部缓存的深度根据所述目标对象集合包含目标对象的目标总数确定。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:在迭代的次数达到所述第一对象集合包含第一对象的第一总数时停止迭代;或,
在所述目标对象集合中的目标对象的数目达到所述目标对象集合包含目标对象的目标总数时停止迭代。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述第一对象集合包括多个目标检测网络生成的候选框,所述多个候选框按照置信度分数排列,所述相关度包括重叠率。
11.一种信息处理装置,其特征在于,所述装置用于通过多次迭代得到目标对象集合,所述装置包括:
获取单元,用于顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象;
确定单元,用于对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度;
选取单元,用于在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中。
12.一种信息处理装置,其特征在于,所述装置包括:
读模块,用于顺序获取第一对象集合中的一个第一对象,所述第一对象集合包括依据设定参数排列的多个第一对象;
迭代模块,用于对于所述第一对象与所述目标对象集合中的每个目标对象,分别确定相关度,并在所述相关度满足设定条件的情况下,将所述第一对象加入所述目标对象集合中;
写模块,用于写出所述相关度满足设定条件的第一对象。
13.根据权利要求12所述的装置,其特征在于,所述读模块包括第一内部缓存,所述读模块用于:
从与所述信息处理装置连接的第一外部缓存中顺序读取所述第一对象集合中的多个第一对象,将所述多个第一对象写入所述第一内部缓存中;
从所述第一内部缓存中读取所述多个第一对象中的一个第一对象。
14.根据权利要求12或13所述的装置,其特征在于,所述迭代模块包括第二内部缓存,所述迭代模块用于:
将满足设定条件的第一对象写入所述第二内部缓存中的目标对象集合中,得到目标对象。
15.根据权利要求14所述的装置,其特征在于,所述写模块用于:在所述目标对象的数目达到第一预设数目时,将从所述第二内部缓存中读取的所述第一预设数目个目标对象写入与所述信息处理装置连接的第二外部缓存中。
16.根据权利要求14或15所述的装置,其特征在于,所述迭代模块还包括流水线检测模块,用于通过四级流水线确定第一对象与目标对象的相关度并确定第一对象是否满足设定条件,所述四级流水线包括:
从所述第二内部缓存中读取一个目标对象;
确定所述第一对象与读取的目标对象之间的相关度;
获取满足所述设定条件的相关度阈值;
判断所述相关度是否满足所述相关度阈值要求。
17.根据权利要求16所述的装置,其特征在于,所述迭代模块,还用于响应于确定所述第一对象与所述目标对象集合中的一个目标对象不满足所述设定条件,终止当前的所述四级流水线,并清除所述四级流水线上的操作。
18.根据权利要求14至17任一项所述的装置,其特征在于,所述第二内部缓存的宽度根据所述第一对象的宽度确定,所述第二内部缓存的深度根据所述目标对象集合包含目标对象的目标总数确定。
19.一种信息处理设备,其特征在于,包括存储器和处理器,所述存储器用于存储可在所述处理器上运行的计算机指令,所述处理器用于执行所述计算机指令,以实现权利要求1至10任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被信息处理装置执行时实现权利要求1至10任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021102203320 | 2021-02-26 | ||
CN202110220332.0A CN112817881A (zh) | 2021-02-26 | 2021-02-26 | 信息处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113032294A true CN113032294A (zh) | 2021-06-25 |
Family
ID=75864179
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110220332.0A Pending CN112817881A (zh) | 2021-02-26 | 2021-02-26 | 信息处理方法、装置、设备及存储介质 |
CN202110517509.3A Pending CN113032294A (zh) | 2021-02-26 | 2021-05-12 | 信息处理方法、装置、设备及存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110220332.0A Pending CN112817881A (zh) | 2021-02-26 | 2021-02-26 | 信息处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN112817881A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160042491A1 (en) * | 2014-08-11 | 2016-02-11 | Arm Limited | Data processing systems |
CN108268869A (zh) * | 2018-02-13 | 2018-07-10 | 北京旷视科技有限公司 | 目标检测方法、装置及系统 |
CN110390344A (zh) * | 2018-04-19 | 2019-10-29 | 华为技术有限公司 | 备选框更新方法及装置 |
CN110781819A (zh) * | 2019-10-25 | 2020-02-11 | 浪潮电子信息产业股份有限公司 | 一种图像目标检测方法、系统、电子设备及存储介质 |
CN110852258A (zh) * | 2019-11-08 | 2020-02-28 | 北京字节跳动网络技术有限公司 | 物体检测方法、装置、设备及存储介质 |
CN112101061A (zh) * | 2019-06-17 | 2020-12-18 | 富士通株式会社 | 目标检测方法、装置及图像处理设备 |
-
2021
- 2021-02-26 CN CN202110220332.0A patent/CN112817881A/zh active Pending
- 2021-05-12 CN CN202110517509.3A patent/CN113032294A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160042491A1 (en) * | 2014-08-11 | 2016-02-11 | Arm Limited | Data processing systems |
CN108268869A (zh) * | 2018-02-13 | 2018-07-10 | 北京旷视科技有限公司 | 目标检测方法、装置及系统 |
CN110390344A (zh) * | 2018-04-19 | 2019-10-29 | 华为技术有限公司 | 备选框更新方法及装置 |
CN112101061A (zh) * | 2019-06-17 | 2020-12-18 | 富士通株式会社 | 目标检测方法、装置及图像处理设备 |
CN110781819A (zh) * | 2019-10-25 | 2020-02-11 | 浪潮电子信息产业股份有限公司 | 一种图像目标检测方法、系统、电子设备及存储介质 |
CN110852258A (zh) * | 2019-11-08 | 2020-02-28 | 北京字节跳动网络技术有限公司 | 物体检测方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
陈泰红 等: "《手把手教你学DSP 基于TMS320C55x》", article 小透明, pages: 159 - 160 * |
Also Published As
Publication number | Publication date |
---|---|
CN112817881A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107545889B (zh) | 适用于模式识别的模型的优化方法、装置及终端设备 | |
US8412893B2 (en) | Data storage device and method for handling data read out from memory using a ping-pong buffer | |
CN110781819A (zh) | 一种图像目标检测方法、系统、电子设备及存储介质 | |
TWI773467B (zh) | 垃圾回收操作的管理機制 | |
CN109598250B (zh) | 特征提取方法、装置、电子设备和计算机可读介质 | |
CN111178342B (zh) | 一种位姿图的优化方法、装置、设备及介质 | |
CN109035257A (zh) | 人像分割方法、装置及设备 | |
CN102054509A (zh) | 一种随机播放方法和装置 | |
US8615609B2 (en) | System, method, and computer program product for inserting a gap in information sent from a drive to a host device | |
WO2024103653A1 (zh) | 视频与文本的互检方法、装置、设备、非易失性可读存储介质及终端 | |
CN112860758B (zh) | 搜索方法、装置、电子设备及计算机存储介质 | |
CN113012689B (zh) | 一种电子设备和深度学习硬件加速方法 | |
US10360338B2 (en) | Method for improving capacitance extraction performance by approximating the effect of distant shapes | |
CN112817881A (zh) | 信息处理方法、装置、设备及存储介质 | |
CN112614168B (zh) | 一种目标人脸跟踪方法、装置、电子设备及存储介质 | |
CN111813339B (zh) | 闪存Nand Flash的数据写入方法、装置、电子设备及存储介质 | |
CN112540933A (zh) | 缓存读写方法、装置及电子设备 | |
CN110046632B (zh) | 模型训练方法和装置 | |
CN113378194B (zh) | 一种加解密运算加速方法、系统及存储介质 | |
CN115482248B (zh) | 图像分割方法、装置、电子设备及存储介质 | |
CN116258995A (zh) | 视频转场识别方法、装置、计算设备及计算机存储介质 | |
KR20200080109A (ko) | 키 프레임 선택 방법 및 이를 수행하는 장치들 | |
CN114142873B (zh) | 一种极化码译码方法及装置 | |
CN111445019B (zh) | 一种分组卷积中通道混洗操作的实现装置及方法 | |
CN114416863A (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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Wang Wenqiang Inventor after: Zhang Qirong Inventor after: Hu Yingjun Inventor after: Xu Ningyi Inventor before: Zhang Qirong Inventor before: Wang Wenqiang Inventor before: Hu Yingjun Inventor before: Xu Ningyi |