CN114266899A - 一种基于多核dsp的图像目标并行检测方法 - Google Patents
一种基于多核dsp的图像目标并行检测方法 Download PDFInfo
- Publication number
- CN114266899A CN114266899A CN202111315928.5A CN202111315928A CN114266899A CN 114266899 A CN114266899 A CN 114266899A CN 202111315928 A CN202111315928 A CN 202111315928A CN 114266899 A CN114266899 A CN 114266899A
- Authority
- CN
- China
- Prior art keywords
- sequence
- data
- core
- image
- working
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于多核DSP的图像目标并行检测方法,应用于八个内核的DSP中,八个内核包括一个主核和七个辅核;每一个步骤中,主核根据该步骤待处理数据的数据量确定包括主核在内的工作核的数量,将该步骤的待处理数据依据工作核的数量划分为多份,向各工作核分发其中不同的一份作为任务数据,各工作核对各自任务数据独立处理,在主核判定所有工作核处理完成后对所有工作核的处理结果进行汇总;单个工作核的处理步骤包括:计算灰度相关统计量、提取序列团的信息、生成邻接表、生成映射表、提取连通域的特征数据信息和连通域目标判断。本发明利用多核DSP、仅扫描图像一次能提高处理效率,提取序列团能减小资源存储量,满足实时性需求。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种基于多核DSP的图像目标并行检测方法。
背景技术
对图像中的目标进行检测是图像处理技术中重要且基本的一个环节,通常是判断图像中是否含有一个或多个感兴趣的目标,并将检测出的目标在图像中进行定位。目前,针对图像的目标检测技术已经深入到人类社会生活的各个方面,比如日常生活中的扫码识物,以及未完全落地的增强现实技术等,都需要用到目标检测。目前的目标检测方法主要分为以下两种:
第一种为基于人工设定特征的目标检测方法。该种围绕人工设定特征进行目标检测的方法属于传统的目标检测方法,一般又可分为基于模板匹配的检测方法、基于先验知识的检测方法和先划分对象区域后分类的检测方法三种类型。传统的目标检测方法更适用于图像背景简单、目标尺寸较大的检测环境,而面对目标与图像背景对比度较低和存在目标遮挡等的复杂场景,传统的目标检测方法有较高的误检概率和漏检概率。而在复杂场景下,为了提高检测精度,传统的目标检测方法往往需要增加算法的复杂度,但复杂度太高,无法满足实时性的场景需求。
第二种为基于卷积神经网络的目标检测方法。该种围绕卷积神经网络进行目标检测的方法,是伴随着计算机视觉和深度学习技术的发展与应用而逐渐兴起的目标检测方法,往往比传统的目标检测方法有更精准的目标检测效果。但该种目标检测方法对计算资源有较高的要求,在计算效率与占用空间的关系上有一些明显的缺陷。特别是在图像场景复杂或是出现大量区域冗余的情况下,由于大量场景噪声的引入,会导致图像特征信息被干扰甚至淹没,而且冗余区域也不利于对非极大值的抑制,因此会影响目标检测的准确性。
近年来,伴随着图像传感器元件的不断升级换代,图像的分辨率越来越高,帧频越来越快,对目标检测应用于更复杂环境下的需求日益明显,对目标检测的实时性要求也越来越高。而目前现有技术中广泛采用串行计算方式,其数据处理速率和数据交换速率难以满足高实时性和低资源存储量的需求。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于多核DSP的图像目标并行检测方法。本发明要解决的技术问题通过以下技术方案实现:
一种基于多核DSP的图像目标并行检测方法,应用于具有八个内核的数字信号处理器DSP中,所述八个内核包括一个主核和七个辅核;所述方法的每一个步骤中:所述主核根据该步骤待处理数据的数据量确定包括所述主核在内的工作核的数量,将该步骤的待处理数据依据工作核的数量划分为多份,并向各工作核分发其中不同的一份作为任务数据,各工作核对各自的任务数据独立处理,在所述主核判定所有工作核处理完成后,所述主核对所有工作核的处理结果进行汇总;其中,所述方法的步骤包括:
步骤1:每个工作核对该步骤中各自的任务数据计算得到灰度相关统计量;所述主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值;所述步骤1中,待处理数据为所述DSP获取的一帧待测图像;
步骤2:每个工作核对所述步骤1中各自的任务数据提取序列团的信息;所述主核汇总并更新得到所述待测图像中所有序列团的信息作为下一步骤的待处理数据;一个序列团指图像数据的一行中连续落入图像分割门限范围的至少一个像素所组成的序列;所述序列团的信息包括序列团的序号;
步骤3:每个工作核利用该步骤中各自的任务数据生成对应的邻接表,并更新各自原有的序列团的序号;所述主核汇总得到所述待测图像的邻接表作为下一步骤的待处理数据;其中,一邻接表含有对应图像数据中各序列团行间相邻重叠关系的信息;
步骤4:每个工作核利用该步骤中各自的任务数据生成对应的映射表,并利用所述映射表更新各自原有的序列团的序号;所述主核汇总得到所述待测图像的映射表,并得到所述待测图像的更新后的序列团的信息作为下一步骤的待处理数据;一映射表中的数据表示对应图像数据中各个序列团更新后的序号,相邻且具有重叠区域的序列团在所述映射表中具有相同数据;
步骤5:每个工作核从该步骤中各自的任务数据中依据相同序号,获取作为同一连通域的序列团的特征数据信息;所述主核汇总并更新得到所述待测图像中所有连通域的特征数据信息作为下一步骤的待处理数据;
步骤6:每个工作核对该步骤中各自的任务数据判断其中每一连通域是否为目标;所述主核汇总各工作核的目标判断结果,得到所述待测图像中所有目标的特征数据信息。
在本发明的一个实施例中,针对任一工作核,所述灰度相关统计量包括该工作核的图像数据中,分别属于第一灰度类和第二灰度类的像素数量,以及每一灰度类下的像素灰度和;其中,一像素的灰度值小于预设的灰度判决门限则属于所述第一灰度类,反之则属于所述第二灰度类;
相应的,所述步骤1中,所述主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值,包括:
计算所有工作核的第一灰度类下的像素数量之和,得到第一灰度类像素数量总和,以及计算所有工作核的第二灰度类下的像素数量之和,得到第二灰度类像素数量总和;
确定所述第一灰度类像素数量总和与所述第二灰度类像素数量总和中的较大者所对应的灰度类,为目标灰度类;
对所有工作核在所述目标灰度类下的像素灰度和求取总和得到目标像素灰度和,以及对所有工作核在所述目标灰度类下的像素数量之和求取总和得到目标像素数量总和;
求取所述目标像素灰度和和所述目标像素数量总和的商值,得到所述待测图像的灰度均值。
在本发明的一个实施例中,所述步骤2中,每个工作核对所述步骤1中各自的任务数据提取序列团的信息,包括:
针对每个工作核,该工作核对作为任务数据的图像数据从左至右进行逐行的像素遍历,在每一行的遍历中,将落入图像分割门限范围内的像素确定为有效像素,将单独的有效像素、两个及以上相邻的有效像素所组成的序列均确定为序列团,并针对确定的每个序列团,确定序列团的信息,所述序列团的信息包括序列团的序号、序列团的行位置、序列团的起始列位置、序列团的结束列位置、序列团的峰值灰度以及序列团的累加灰度;
在每一行的遍历结束后该工作核进行下一行的遍历,直至该工作核完成对应图像数据的所有行遍历;其中,所有行的遍历过程中先后确定的各个序列团的序号依次递增。
在本发明的一个实施例中,所述步骤3中,所述主核根据该步骤待处理数据的数据量确定包括所述主核在内的工作核的数量,包括:
所述主核确定所述待测图像的所有序列团共占用的不同行号的总个数;
所述主核判断所述不同行号的总个数是否大于或等于预设的工作核判决门限,若是,则确定工作核的数量为八个;若否,则依据所述不同行号的总个数和预设的选择关系,选择低于八的工作核数量;
相应的,所述步骤3中,每个工作核的任务数据通过对该步骤的待处理数据依据所述不同行号的总个数划分得到。
在本发明的一个实施例中,所述步骤3之前,邻接表的初始状态为具有两行、若干列的空白表格;
所述步骤3中,每个工作核利用该步骤中各自的任务数据生成对应的邻接表,并更新各自原有的序列团的序号,包括:
针对每个工作核,该工作核利用作为任务数据的所述待测图像的部分序列团的信息,进行序列团的逐行遍历,针对遍历到的当前序列团,
若所述当前序列团与上一行的序列团无重叠区域,则将所述当前序列团的序号接续之前已确定的序列团的最大序号进行递增更新,在邻接表中与所述当前序列团对应列的上下两行均填入所述当前序列团更新后的序号;
若所述当前序列团仅与上一行的一个序列团有重叠区域,则将所述当前序列团的序号更新为上一行中与其重叠的序列团的序号,邻接表不更新;
若所述当前序列团与上一行的m个序列团有重叠区域,则将所述当前序列团的序号更新为上一行中与其重叠的首个序列团的序号,在邻接表中与所述当前序列团对应的m-1列中上行均填入所述当前序列团更新后的序号,下行依次填入上一行中与所述当前序列团重叠的其余序列团的序号;其中m≥2。
在本发明的一个实施例中,所述步骤4之前,映射表的初始状态为具有若干列的空白表格;
所述步骤4中,每个工作核利用该步骤中各自的任务数据生成对应的映射表,包括:
针对每个工作核,该工作核对作为任务数据的邻接表进行从左至右的列遍历,针对遍历到的当前列,
若所述当前列为第一类别列,其中,所述第一类别列满足上下行数据相同、非0且数据之前未曾遍历过;所述当前列进行以下处理:将所述邻接表中所述当前列的数据清零,连通域数目加1,将得到的连通域数目填入映射表中与所述当前列对应的列中进行映射表更新;并在所述邻接表中判断所述当前列之后,是否存在部分第二类别列,其中,所述第二类别列满足上下行数据不同且上行数据与所述当前列的数据相同;若不存在部分第二类别列,接续为第一类别列的原当前列向右继续进行列遍历;若存在部分第二类别列,将各第二类别列依次更新为当前列进行各自的处理,并在各第二类别列均处理完成后,在所述邻接表中判断是否存在部分第三类别列,其中,所述第三类别列满足数据与之前处理列的下行数据相同,且之前处理列为第二类别列;若不存在部分第三类别列,接续为第一类别列的原当前列向右继续进行列遍历;若存在部分第三类别列,依据各第二类别列的倒序顺序,将对应的第三类别列依次更新为当前列进行各自的处理,并在所有第三类别列处理完成后,接续为第一类别列的原当前列向右继续进行列遍历;
若所述当前列为第二类别列,所述当前列进行以下处理:将所述邻接表中所述当前列的数据清零,重复所述映射表中前一当前列更新的数据进行映射表的列更新,保持连通域数目不更新;
若所述当前列为第三类别列,所述当前列进行以下处理:将所述邻接表中该当前列的数据清零,不进行映射表和连通域数目的更新;
在所述邻接表全部完成遍历后,该工作核的映射表生成完成,其中列数为生成所述映射表之前序列团的序号的最大值,各数据依次为各序列团应更新的序号。
在本发明的一个实施例中,所述步骤5中,同一连通域的序列团的特征数据信息,包括:
连通域的累加灰度、连通域的峰值灰度、连通域的面积、连通域的累加行号、连通域的累加列号、连通域的形心行位置、连通域的形心列位置、连通域的均值灰度、连通域的最大宽度和连通域的最大高度;
其中,同一连通域由具有同一序号的多个序列团构成;所述连通域的累加灰度为构成所述连通域的序列团的累加灰度之和,减去所述连通域的面积与所述待测图像的灰度均值之积的差值;所述连通域的峰值灰度为构成所述连通域的序列团的峰值灰度的最大值减去所述待测图像的灰度均值的差值;所述连通域的面积为构成所述连通域的各序列团的结束列位置与起始列位置之差的累加和;所述连通域的累加行号与累加列号分别为构成所述连通域的序列团内所有像素的行号和与列号和;所述连通域的形心行位置为所述连通域的累加行号与所述连通域的面积之商;所述连通域的形心列位置为所述连通域的累加列号与所述连通域的面积之商;所述连通域的均值灰度为所述连通域的累加灰度与所述连通域的面积之商;所述连通域的最大宽度为所述连通域内序列团的最大结束列号与最小起始列号之差;所述连通域的最大高度为所述连通域内序列团的最大行号与最小行号之差。
在本发明的一个实施例中,所述步骤6中,每个工作核对该步骤中各自的任务数据判断其中每一连通域是否为目标,包括:
针对每个工作核,该工作核对其任务数据中的每一连通域进行目标特征合法性判断和图像坏点判断,如果该连通域具备目标特征合法性且非图像坏点,则判定该连通域为一目标;
其中,针对一连通域,一工作核进行目标特征合法性判断和图像坏点判断的过程,包括:
该工作核判断该连通域的形心行位置、形心列位置是否在该工作核对应的图像数据范围内,判断该连通域的最大宽度和最大高度是否均在对应的阈值范围内,判断该连通域的最大宽度和最大高度之比是否在对应的阈值范围内,若全部为是,则判定该连通域具备目标特征合法性;
该工作核判断该连通域的面积是否大于或等于1,且该连通域的累加灰度是否大于或等于对应的阈值,若全部为是,则判定该连通域非图像坏点。
在本发明的一个实施例中,在所述基于多核DSP的图像目标并行检测方法用于处理多帧待测图像时,所述步骤1中,针对任一工作核,所述灰度相关统计量还包括该工作核的图像数据中,每一灰度类下的灰度平方和;
相应的,所述步骤1中,所述主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值之后,所述方法还包括:
所述主核对所有工作核在所述目标灰度类下的灰度平方和求取总和得到目标灰度平方和;
所述主核利用所述目标灰度平方和、所述目标像素数量总和以及所述待测图像的灰度均值求取所述待测图像的灰度均方差,以用于下一帧待测图像的图像分割门限范围的确定。
在本发明的一个实施例中,所述主核对所有工作核的处理结果进行汇总,包括:
所述主核将各工作核存放在双倍速率同步动态随机存储器DDR中的数据搬移至共享存储区进行汇总。
本发明实施例所提供的方案中,充分利用DSP的架构特点,发挥多核DSP并行执行的优势和处理速度,通过合理分配每个核的处理任务,使得DSP各内核可以同时并行处理数据,能够提高处理效率。且本发明实施例对图像数据进行一次扫描从中获得序列团的信息,后续处理基于序列团的信息而并非图像数据,因此与现有技术中区域标记法对图像进行两次扫描相比,本发明实施例仅进行一次扫描,不受图像灰度级数的限制,能够减少扫描时间。与传统的目标检测方法利用保存一幅图像的方式进行图像信息提取,本发明实施例从图像数据中提取序列团来携带关键的图像信息,进而生成邻接表和映射表,这些信息所需的存储量远小于整幅图像,因此,本发明实施例通过提取序列团可以减小资源存储量,提高处理效率;同时,利用序列团表示图像信息,更易提取目标面积和目标形心等特征,能够提高后续图像的处理效率和目标检测的准确性。本发明实施例运算量低、易于工程实现,能够解决数据处理速率低和数据交换速率较慢的问题,在满足实时性前提下,能够同时保证较高的检测精度,在多目标检测场景下具有更明显的优势。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1为本发明实施例提供的一种基于多核DSP的图像目标并行检测方法的流程示意图;
图2为本发明实施例提供的一图像数据的序列团分布示意图;
图3为本发明实施例图2的邻接表的生成过程示意图;
图4为本发明实施例图2在邻接表生成完成后的序列团分布示意图。
图5为本发明实施例的邻接表的变化过程示意图;
图6为本发明实施例的映射表的变化过程示意图;
图7为本发明实施例的栈的变化过程示意图;
图8为本发明实施例图4利用映射表更新后的序列团分布示意图。
图9为本发明实施例的多工作核同步处理交互示意图;
图10为本发明实施例中一帧待测图像的目标检测结果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了满足目标检测中高实时性和低资源存储量的需求,本发明实施例提供了一种基于多核DSP(Digital Signal Processing,数字信号处理器)的图像目标并行检测方法。应用于具有八个内核的数字信号处理器DSP中,八个内核包括一个主核和七个辅核;方法的每一个步骤中:主核根据该步骤待处理数据的数据量确定包括主核在内的工作核的数量,将该步骤的待处理数据依据工作核的数量划分为多份,并向各工作核分发其中不同的一份作为任务数据,各工作核对各自的任务数据独立处理,在主核判定所有工作核处理完成后,主核对所有工作核的处理结果进行汇总。其中,该方法的步骤请参见图1理解,图1为本发明实施例提供的一种基于多核DSP的图像目标并行检测方法的流程示意图。需要说明的是,步骤1~6在图1中以S1~S6表示。其中,每一步骤中,工作核的数量由主核根据该步骤待处理数据的数据量,即工作量决定,当工作量较大时,工作核的数量为八个;当工作量较小时,工作核的数量少于八个,具体由各步骤根据需要选择,八个内核中,未作为工作核的辅核处于等待状态。如图1所示,该方法的步骤包括:
步骤1:每个工作核对该步骤中各自的任务数据计算得到灰度相关统计量;主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值。
步骤1中,待处理数据为DSP获取的一帧待测图像。在本发明实施例中,待测图像可以为红外图像或者可见光图像。
本发明实施例根据待测图像的大小确定该步骤工作核的数量。可选的一种实施方式中,可以预先利用对应的图像大小阈值范围,确定工作核的数量的不同等级,当一待测图像满足其中一个等级的图像大小阈值范围时,则确定使用该等级的工作核的数量。例如一待测图像小于5*5时,确定其工作核的数量为4,等等。
在确定工作核的数量后,主核将待测图像按行分为工作核的数量所对应的份数,将各份分发给各工作核作为各自的任务数据,对每个工作核而言,其任务数据为待测图像部分的图像数据。为了简便处理,可选的一种实施方式中,划分任务数据时,待测图像采用按行均分方式。当然,为各工作核划分不同数据量大小的任务数据也是可以的。在后续步骤中,关于待处理数据划分为各个任务数据的方式均可以类似处理。
在步骤1中,各个工作核的任务是计算灰度相关统计量,主核另外还需获得待测图像的灰度均值。关于灰度相关统计量和待测图像的灰度均值的获得过程:
可选的第一种实施方式中:
针对任一工作核,灰度相关统计量包括该工作核的图像数据中,所有像素数量以及像素灰度和。
相应的,步骤1中,主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值,包括:
计算所有工作核的像素灰度和之和,得到待测图像的像素灰度和。其中,像素灰度和为像素灰度值求和。
计算所有工作核的像素数量之和,得到待测图像的像素数量。
求取待测图像的像素灰度和与待测图像的像素数量的商值,得到待测图像的灰度均值。
该第一种实施方式中,待测图像的灰度均值是所有像素的灰度值平均得到,能够保证计算的准确性。
可选的第二种实施方式中:
针对任一工作核,灰度相关统计量包括该工作核的图像数据中,分别属于第一灰度类和第二灰度类的像素数量,以及每一灰度类下的像素灰度和。
其中,一像素的灰度值小于预设的灰度判决门限则属于第一灰度类,反之则属于第二灰度类;针对单帧待测图像而言,灰度判决门限是一个固定值,可以根据经验值预先设定,比如可以为65等。
相应的,步骤1中,主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值,包括:
计算所有工作核的第一灰度类下的像素数量之和,得到第一灰度类像素数量总和,以及计算所有工作核的第二灰度类下的像素数量之和,得到第二灰度类像素数量总和。
确定第一灰度类像素数量总和与第二灰度类像素数量总和中的较大者所对应的灰度类,为目标灰度类。
对所有工作核在目标灰度类下的像素灰度和求取总和得到目标像素灰度和,以及对所有工作核在目标灰度类下的像素数量之和求取总和得到目标像素数量总和。
求取目标像素灰度和和目标像素数量总和的商值,得到待测图像的灰度均值。
该第二种实施方式中,通过比较两个灰度类下像素数量的多少,并认为像素数量多的灰度类部分为正常图像信息,像素数量少的灰度类部分为为异常图像信息,主核以像素数量多的一个灰度类部分,代表整个图像,来计算待测图像的灰度均值,因此,可以更简便快速地获得待测图像的灰度均值。
待测图像的灰度均值用于步骤5中同一连通域的序列团的部分特征数据信息的计算,具体在后文中予以介绍。
步骤2:每个工作核对步骤1中各自的任务数据提取序列团的信息;主核汇总并更新得到待测图像中所有序列团的信息作为下一步骤的待处理数据。
一个序列团指图像数据的一行中连续落入图像分割门限范围的至少一个像素所组成的序列。序列团的信息包括序列团的序号。
在本发明实施例中,步骤1和步骤2可以同时完成,为了便于理解方案,在此依据不同的处理结果,以两个步骤进行展示。实质上,步骤1和步骤2均是对待测图像进行处理,共同完成了对待测图像的一次扫描过程。因此,在步骤2中,主核无需进行任务数据的重新划分,各工作核的任务数据仍是步骤1中对应的任务数据。
在步骤2中,各个工作核的任务是提取序列团的信息,主核另外还需汇总所有工作核所提取的序列团的信息,得到待测图像的序列团的信息。
可选的一种实施方式中,步骤2中,每个工作核对步骤1中各自的任务数据提取序列团的信息,包括:
针对每个工作核,该工作核对作为任务数据的图像数据从左至右进行逐行的像素遍历,在每一行的遍历中,将落入图像分割门限范围内的像素确定为有效像素,将单独的有效像素、两个及以上相邻的有效像素所组成的序列均确定为序列团,并针对确定的每个序列团,确定序列团的信息,序列团的信息包括序列团的序号、序列团的行位置、序列团的起始列位置、序列团的结束列位置、序列团的峰值灰度以及序列团的累加灰度。
在每一行的遍历结束后该工作核进行下一行的遍历,直至该工作核完成对应图像数据的所有行遍历;其中,所有行的遍历过程中先后确定的各个序列团的序号依次递增。
本发明实施例中,图像分割门限范围是一个像素灰度范围,对于单帧待测图像而言,可以根据经验值预先设置,比如可以为[150,230]等。序列团的序号用于区分各个序列团,可以以数字等符号表示;序列团的行位置是指序列团所在行的行号;序列团的起始列位置和序列团的结束列位置分别指序列团开始列的列号和结束列的列号;序列团的峰值灰度是指序列团内的多个像素中,最大的像素灰度值;序列团的累加灰度是指序列团内多个像素的灰度值之和。
具体的,在从左至右的逐行遍历过程中,在同一行内,针对当前像素,判断其是否落入图像分割门限范围内,若是,则确定该当前像素为有效像素,并确定其为一个序列团,赋予其一个序列团的序号,为其记录序列团的行位置、序列团的起始列位置、序列团的结束列位置、序列团的峰值灰度以及序列团的累加灰度作为序列团的信息。
继续判断原当前像素右相邻的像素是否为有效像素,若是,则将这两个像素确定为一个序列团,更新两像素构成的序列团的信息。
继续向右侧遍历,当右相邻的像素为有效像素,则继续更新多个像素构成的序列团的信息,若出现一个像素为非有效像素,则之前的序列团结束。
在该行内继续向右侧遍历,直至遍历到的当前像素的列号达到图像数据的最大列号,则该行遍历完成,继续下一行的遍历。直至遍历到的当前像素的行号达到图像数据的最大行号,且遍历到的当前像素的列号达到图像数据的最大列号,则整个图像数据遍历完成。
为了便于理解,请参见图2,图2为本发明实施例提供的一图像数据的序列团分布示意图。
在图2中,横轴的数字表示列号;纵轴的数字表示行号;黑色区域为序列团,每个序列团的序号在该序列团内以白色数字表示。可见,该图像数据通过步骤2,共提取出15个序列团。在图2中仅示意出序列团的序号,关于序列团的其余信息请参见图2理解,比如序列团2,其序列团的行位置为1,序列团的起始列位置为7,序列团的结束列位置为9。
步骤3:每个工作核利用该步骤中各自的任务数据生成对应的邻接表,并更新各自原有的序列团的序号。主核汇总得到待测图像的邻接表作为下一步骤的待处理数据。
其中,一邻接表含有对应图像数据中各序列团行间相邻重叠关系的信息。
步骤3的待处理数据为待测图像中所有序列团的信息。步骤3中,主核根据该步骤待处理数据的数据量确定包括主核在内的工作核的数量,包括:
1)主核确定待测图像的所有序列团共占用的不同行号的总个数。
为了便于理解,以图2中的15个序列团为例,序列团的序号(表1简称为序号)和序列团所在的行号(表1简称为行号)如表1所示。
表1
可见,15个序列团占用的不同行号有1、3、4、6、7、9、10,因此所有序列团共占用的不同行号的总个数为7。
2)主核判断不同行号的总个数是否大于或等于预设的工作核判决门限,若是,则确定工作核的数量为八个;若否,则依据不同行号的总个数和预设的选择关系,选择低于八的工作核数量。
在本发明实施例中,预设的工作核判决门限可以为9。若不同行号的总个数大于或等于9,则确定工作核的数量为八个。若不同行号的总个数小于9,则可以根据预设的选择关系,选择低于八的工作核数量,比如选择关系中,可以将小于9的不同行号的总个数划分为多个不同的等级,每个等级对应有一个工作核数量,比如,不同行号的总个数为1时,工作核的数量为1;当不同行号的总个数∈[2,9)时,工作核的数量为不同行号的总个数减1。
那么,以表1为例,根据上述选择关系,确定工作核的数量为7-1=6,即除了主核外还有5个辅核作为工作核。
步骤3中,待处理数据为待测图像的所有序列团的信息,每个工作核的任务数据通过对该步骤的待处理数据依据不同行号的总个数划分得到。
继续以上述示例说明,所有序列团共占用的不同行号的总个数为7,根据上式计算得到,每个工作核的任务数据所包括的序列团的不同行号数为2。因此,6个工作核各自任务数据所含序列团的行号如表2所示。
表2
在步骤3中,各个工作核得到对应的任务数据后,各个工作核的任务是生成邻接表,主核另外还需汇总所有工作核的邻接表,更新得到待测图像的邻接表。
需要说明的是,步骤3之前,邻接表的初始状态为具有两行、若干列的空白表格。
可选的一种实施方式中,步骤3中,每个工作核利用该步骤中各自的任务数据生成对应的邻接表,并更新各自原有的序列团的序号,包括:
针对每个工作核,该工作核利用作为任务数据的待测图像的部分序列团的信息,进行序列团的逐行遍历,针对遍历到的当前序列团,
若当前序列团与上一行的序列团无重叠区域,则将当前序列团的序号接续之前已确定的序列团的最大序号进行递增更新,在邻接表中与当前序列团对应列的上下两行均填入当前序列团更新后的序号。
若当前序列团仅与上一行的一个序列团有重叠区域,则将当前序列团的序号更新为上一行中与其重叠的序列团的序号,邻接表不更新。
若当前序列团与上一行的m个序列团有重叠区域,则将当前序列团的序号更新为上一行中与其重叠的首个序列团的序号,在邻接表中与当前序列团对应的m-1列中上行均填入当前序列团更新后的序号,下行依次填入上一行中与当前序列团重叠的其余序列团的序号;其中m≥2。
具体以图2为例进行说明,邻接表按步骤的生成过程请参见图3,图3为本发明实施例图2的邻接表的生成过程示意图;每一邻接表下的数字表示对应步骤序号。具体的,遍历图2中的各序列团,有以下步骤:
1)序列团1与上一行的序列团无重叠,在已有邻接表第1列均填入1,该序列团的序号更新为1。
2)序列团2与上一行的序列团无重叠,在已有邻接表第2列均填入2,该序列团的序号更新为2。
3)序列团3与上一行的序列团无重叠,在已有邻接表第3列填入3,该序列团的序号更新为3。
4)序列团4与上一行的序列团无重叠,在已有邻接表第4列填入4,该序列团的序号更新为4。
5)序列团5与上一行的序列团无重叠,在已有邻接表第5列填入5,该序列团的序号更新为5。
6)序列团6仅与上一行中的序列团3有重叠,将该序列团的序号更新为与其重叠的上一行的序列团的序号3;不更新邻接表。
7)序列团7与上一行的序列团无重叠,接续之前已确定的序列团的最大序号5,在已有邻接表第6列填入6,该序列团的序号更新为6。
8)序列团8与上一行的序列团无重叠,在已有邻接表第7列填入7,该序列团的序号更新为7。
9)序列团9与上一行的序列团无重叠,在已有邻接表第8列填入8,该序列团的序号更新为8;
10)序列团10与上一行中的序列团6、7(更新后的序号)有重叠,将该序列团的序号更新为上一行中与其重叠的首个序列团的序号6,在已有邻接表第9列上行填入该序列团更新后的序号6,下行填入与其重重叠的另外一个序列团的序号7。
11)序列团11与上一行的序列团无重叠,在已有邻接表第10列填入9,该序列团的序号更新为9。
12)序列团12与上一行的序列团无重叠,在已有邻接表第11列填入10,该序列团的序号更新为10。
13)序列团13与上一行的序列团无重叠,在已有邻接表第12列填入11,该序列团的序号更新为11。
14)序列团14与上一行的序列团无重叠,在已有邻接表第13列填入12,该序列团的序号更新为12。
15)序列团15与上一行中的序列团9、10、11(更新后的序号)有重叠,该序列团的序号更新为9,在已有邻接表第14列上下两行分别填9、10,第15列上下两行分别填9、11。
最终得到的邻接表如图3步骤15的邻接表。更新各自原有的序列团的序号后的序列团分布如图4所示,图4为本发明实施例图2在邻接表生成完成后的序列团分布示意图。图3步骤15的邻接表,体现了整个数据图像中序列团的独立性和连通性,比如(1,1)列表示了独立的序列团,而(6,7)列表示了有一个序列团和上一行中的序列团6相邻重叠,且和上一行中的序列团7相邻重叠。而(9,10)和(9,11)两列则表示了有一个序列团和上一行中的序列团9至序列团11均相邻重叠。而参见图4,相比于图2,图4中和上一行有重叠的序列团的序号已被更新为上一行中与其重叠的首个序列团的序号。
步骤4:每个工作核利用该步骤中各自的任务数据生成对应的映射表,并利用映射表更新各自原有的序列团的序号;主核汇总得到待测图像的映射表,并得到待测图像的更新后的序列团的信息作为下一步骤的待处理数据。
一映射表中的数据表示对应图像数据中各个序列团更新后的序号,相邻且具有重叠区域的序列团在映射表中具有相同数据。
在步骤4中,各个工作核的任务是生成映射表,主核另外还需汇总所有工作核的映射表,得到待测图像的映射表。
需要说明的是,步骤4之前,映射表的初始状态为具有若干列的空白表格,行数可以为一行。
可选的一种实施方式中,步骤4中,每个工作核利用该步骤中各自的任务数据生成对应的映射表,包括:
针对每个工作核,该工作核对作为任务数据的邻接表进行从左至右的列遍历,针对遍历到的当前列,
若当前列为第一类别列,其中,第一类别列满足上下行数据相同、非0且数据之前未曾遍历过;当前列进行以下处理:将邻接表中当前列的数据清零,连通域数目加1,将得到的连通域数目填入映射表中与当前列对应的列中进行映射表更新;并在邻接表中判断当前列之后,是否存在部分第二类别列,其中,第二类别列满足上下行数据不同且上行数据与当前列的数据相同;若不存在部分第二类别列,接续为第一类别列的原当前列向右继续进行列遍历;若存在部分第二类别列,将各第二类别列依次更新为当前列进行各自的处理,并在各第二类别列均处理完成后,在邻接表中判断是否存在部分第三类别列,其中,第三类别列满足数据与之前处理列的下行数据相同,且之前处理列为第二类别列;若不存在部分第三类别列,接续为第一类别列的原当前列向右继续进行列遍历;若存在部分第三类别列,依据各第二类别列的倒序顺序,将对应的第三类别列依次更新为当前列进行各自的处理,并在所有第三类别列处理完成后,接续为第一类别列的原当前列向右继续进行列遍历。
若当前列为第二类别列,当前列进行以下处理:将邻接表中当前列的数据清零,重复映射表中前一当前列更新的数据进行映射表的列更新,保持连通域数目不更新。
若当前列为第三类别列,当前列进行以下处理:将邻接表中该当前列的数据清零,不进行映射表和连通域数目的更新。
在邻接表全部完成遍历后,该工作核的映射表生成完成,其中列数为生成映射表之前序列团的序号的最大值,各数据依次为各序列团应更新的序号。
为了便于理解方案,以图3和图4继续说明。在实际遍历邻接表的过程中,可以利用存储数据的栈进行处理。邻接表按步骤的变化过程请参见图5所示,其中邻接表下的数字表示步骤序号,对应邻接表为该步骤结束时的状态。映射表的变化过程请参见图6所示,其中映射表下的数字表示步骤序号。栈的变化过程请参见图7所示,遍历邻接表生成映射表过程包括以下步骤:
第1步,邻接表当前列(1,1)为第一类别列,将该列第1行数据1入栈,该列数据清0;连通域数目加1;栈区数据出栈;连通域数目1赋给映射表的第1列。判断之后并无第二类别列,向右继续遍历。
第2步,邻接表当前列(2,2)为第一类别列,将该列第1行数据2入栈,该列数据清0;连通域数目加1;栈区数据出栈;连通域数目2赋给映射表的第2列。判断之后并无第二类别列,向右继续遍历。
第3步,邻接表当前列(3,3)为第一类别列,将该列第1行数据3入栈,该列数据清0;连通域数目加1;栈区数据出栈;连通域数目3赋给映射表的第3列。判断之后并无第二类别列,向右继续遍历。
第4步,邻接表当前列(4,4)为第一类别列,将该列第1行数据4入栈,该列数据清0;连通域数目加1;栈区数据出栈;连通域数目4赋给映射表的第4列。判断之后并无第二类别列,向右继续遍历。
第5步,邻接表当前列(5,5)为第一类别列,将该列第1行数据5入栈,该列数据清0;连通域数目加1;栈区数据出栈;连通域数目5赋给映射表的第5列。判断之后并无第二类别列,向右继续遍历。
第6步,邻接表当前列(6,6)为第一类别列,将该列第1行数据6入栈,该列数据清0;连通域数目加1;栈区数据6出栈;连通域数目6赋给映射表的第6列。
第7步,判断邻接表中有一个第二类别列(6,7)。将其作为当前列,该列除6外的另一行数字7入栈,该列数据清0;栈区数据7出栈;重复连通域数目6,赋给映射表的第7列。
第8步,判断邻接表中有一个第三类别列(7,7),将其作为当前列,该列数据清0;连通域数目6不变,不进行映射表和连通域数目的更新。
第9步,接续为第一类别列的原当前列向右继续进行列遍历,邻接表当前列(8,8)为第一类别列,第1行数据8入栈,该列数据清0;连通域数目加1;栈区数据出栈;连通域数目7赋给映射表的第8列。判断之后并无第二类别列,向右继续遍历。
第10步,邻接表当前列(9,9)为第一类别列,第1行数据9入栈,该列数据清0;连通域数目加1;栈区数据9出栈;连通域数目8赋给映射表的第9列;判断之后并无第二类别列,向右继续遍历。
第11步,判断邻接表中有两个第二类别列(9,10)和(9,11),将其依次作为当前列。针对(9,10)列,该列数据清0,该列除9外的另一行数字10入栈出栈,重复连通域数目8,赋给映射表的第10列;同理针对(9,11)列,该列数据清0,该列除9外的另一行数字11入栈出栈,重复连通域数目8,赋给映射表的第11列。
第12步,判断邻接表中有一个与(9,11)对应的第三类别列(11,11),将其作为当前列,该列数据清0;连通域数目8不变,不进行映射表和连通域数目的更新。
第13步,判断邻接表中有一个与(9,10)对应的第三类别列(10,10),将其作为当前列,该列数据清0;连通域数目8不变,不进行映射表和连通域数目的更新。判断再无其余第三类别列,第二类别列也已经处理完成。接续为第一类别列的原当前列向右继续进行列遍历。
第14步,邻接表当前列(12,12)为第一类别列,第1行数据入栈,该列数据清0;连通域数目加1;栈区数据出栈;连通域数目9赋给映射表的第12列。
其中,邻接表经各步骤处理完成的列在图5中以灰色示意。至此,该步骤邻接表的遍历和映射表的生成完成。在最终的映射表中,从左到右为按行出现的各个序列团,对应的数字为序列团步骤4后应该更新的序号。因此,在生成映射表后可以直接利用映射表更新原有的序列团的序号,具体的,针对图4,将各个序列团的序号按照映射表的数字更新,更新后的序列团分布如图8所示。图8为本发明实施例图4利用映射表更新后的序列团分布示意图。从图8可以看出,相邻重叠的多个序列团的序号全部相同。
步骤5:每个工作核从该步骤中各自的任务数据中依据相同序号,获取作为同一连通域的序列团的特征数据信息;主核汇总并更新得到待测图像中所有连通域的特征数据信息作为下一步骤的待处理数据。
在步骤5中,各个工作核的任务是提取连通域的特征数据信息,主核另外还需汇总所有工作核所提取的连通域的特征数据信息,并重新计算具有相同连通域序号的特征数据信息,实现连通域序号更新和各特征数据信息更新,得到待测图像中所有连通域的特征数据信息。
具体的,步骤5中,同一连通域的序列团的特征数据信息,包括:
连通域的累加灰度、连通域的峰值灰度、连通域的面积、连通域的累加行号、连通域的累加列号、连通域的形心行位置、连通域的形心列位置、连通域的均值灰度、连通域的最大宽度和连通域的最大高度。
其中,同一连通域由具有同一序号的多个序列团构成;连通域的累加灰度为构成连通域的序列团的累加灰度之和,减去连通域的面积与待测图像的灰度均值之积的差值;连通域的峰值灰度为构成连通域的序列团的峰值灰度的最大值减去待测图像的灰度均值的差值;连通域的面积为构成连通域的各序列团的结束列位置与起始列位置之差的累加和;连通域的累加行号与累加列号分别为构成连通域的序列团内所有像素的行号和与列号和;连通域的形心行位置为连通域的累加行号与连通域的面积之商;连通域的形心列位置为连通域的累加列号与连通域的面积之商;连通域的均值灰度为连通域的累加灰度与连通域的面积之商;连通域的最大宽度为连通域内序列团的最大结束列号与最小起始列号之差;连通域的最大高度为连通域内序列团的最大行号与最小行号之差。。可以理解的是,上述序列团的特征数据信息均可以在步骤2后得到的数据中获取到,具体计算过程不再一一详述。
步骤6:每个工作核对该步骤中各自的任务数据判断其中每一连通域是否为目标;主核汇总各工作核的目标判断结果,得到待测图像中所有目标的特征数据信息。
可以理解的是,当一个连通域被确定为目标后,目标的特征数据信息就是该连通域的特征数据信息。
在步骤6中,各个工作核的任务是连通域目标判断,得到各任务数据对应的目标判断结果,其中包括目标的特征数据信息。
可选的一种实施方式中,步骤6中,每个工作核对该步骤中各自的任务数据判断其中每一连通域是否为目标,包括:
针对每个工作核,该工作核对其任务数据中的每一连通域进行目标特征合法性判断和图像坏点判断,如果该连通域具备目标特征合法性且非图像坏点,则判定该连通域为一目标。也就是说,同时满足上述两个条件的连通域才可以确定为目标。
其中,针对一连通域,一工作核进行目标特征合法性判断和图像坏点判断的过程,包括:
该工作核判断该连通域的形心行位置、形心列位置是否在该工作核对应的图像数据范围内,判断该连通域的最大宽度和最大高度是否均在对应的阈值范围内,判断该连通域的最大宽度和最大高度之比是否在对应的阈值范围内,若全部为是,则判定该连通域具备目标特征合法性。
该工作核判断该连通域的面积是否大于或等于1,且该连通域的累加灰度是否大于或等于对应的阈值,若全部为是,则判定该连通域非图像坏点。
在目标特征合法性判断过程以及在图像坏点判断过程中的各种阈值的范围各不相同。但均是根据场景变动设置的经验值。且针对多帧待测图像而言,同种阈值固定不变。
在以上各个步骤中,具有八个内核的DSP采用0核作为主核,其他核作为辅核的主辅模式进行数据处理。其中主核除了负责处理所分配的任务数据,还负责各工作核间的数据同步。本发明实施例中,使用硬件信号量实现各工作核的同步功能,即每个工作核获取编号为本工作核核号加1的信号量,主核判断其他工作核发生阻塞时,判定所有工作核同步完成,主核释放信号量,各工作核同时进行下一步算法操作。算法操作完成后,各工作核等待主核判断其他工作核是否都发生阻塞,以等待同步,同步操作如上交替进行。具体请参见图9,图9为本发明实施例的多工作核同步处理交互示意图,其中八个内核分别是主核0、辅核1至辅核7。
其中,每一步骤中,各工作核在DDR(Double Data Rate SDRAM,双倍速率同步动态随机存储器)中对任务数据进行处理,相应的,主核对所有工作核的处理结果进行汇总,包括:
主核将各工作核存放在DDR中的数据搬移至共享存储区进行汇总。
主核将汇总结果放至共享存储区能够方便后续各工作核调用数据,并减少空间占用,提高处理速度。
关于本发明实施例的目标检测结果,作为一个示例,请参见图10,图10为本发明实施例中一帧待测图像的目标检测结果示意图。图中方框内为检测出的目标。关于本发明实施例中的目标,根据场景以及图像对象的不同可以包括多个类别,比如人、动物、建筑物、车辆等等,在此不做具体限制。
本发明实施例所提供的方案中,充分利用DSP的架构特点,发挥多核DSP并行执行的优势和处理速度,通过合理分配每个核的处理任务,使得DSP各内核可以同时并行处理数据,能够提高处理效率。且本发明实施例对图像数据进行一次扫描从中获得序列团的信息,后续处理基于序列团的信息而并非图像数据,因此与现有技术中区域标记法对图像进行两次扫描相比,本发明实施例仅进行一次扫描,不受图像灰度级数的限制,能够减少扫描时间。与传统的目标检测方法利用保存一幅图像的方式进行图像信息提取,本发明实施例从图像数据中提取序列团来携带关键的图像信息,进而生成邻接表和映射表,这些信息所需的存储量远小于整幅图像,因此,本发明实施例通过提取序列团可以减小资源存储量,提高处理效率;同时,利用序列团表示图像信息,更易提取目标面积和目标形心等特征,能够提高后续图像的处理效率和目标检测的准确性。本发明实施例运算量低、易于工程实现,能够解决数据处理速率低和数据交换速率较慢的问题,在满足实时性前提下,能够同时保证较高的检测精度,在多目标检测场景下具有更明显的优势。
另外,可选的一种实施方式中,在基于多核DSP的图像目标并行检测方法用于处理多帧待测图像时,步骤1中,针对任一工作核,灰度相关统计量还包括该工作核的图像数据中,第一灰度类和第二灰度类下的灰度平方和。其中,每一灰度类下的灰度平方和是指求取该灰度类下的所有像素的灰度值的平方和。
相应的,步骤1中,主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值之后,该方法还包括:
主核对所有工作核在目标灰度类下的灰度平方和求取总和得到目标灰度平方和。
主核利用目标灰度平方和、目标像素数量总和以及待测图像的灰度均值求取待测图像的灰度均方差,以用于下一帧待测图像的图像分割门限范围的确定。
具体的,待测图像的灰度均方差的计算公式如下:
因为多帧待测图像是变化的,为了提高针对性和后续目标预测的准确性,本发明实施例对各帧待测图像的图像分割门限范围不使用固定值,而是在处理当前帧待测图像时,提前预测下一帧待测图像的图像分割门限范围。
可选的一种实施方式中,下一帧待测图像的图像分割门限范围的确定过程包括:
针对当前帧待测图像,计算待测图像的灰度均值与待测图像的灰度均方差的差值,并将差值与预设系数的乘积作为下限值;以及计算待测图像的灰度均值与待测图像的灰度均方差的和值,并将和值与预设系数的乘积作为上限值;由得到的下限值和上限值确定下一帧待测图像的图像分割门限范围。
其中,预设系数可以为3等。
并且,在处理多帧待测图像时,本发明实施例对各帧待测图像的灰度判决门限也可以不使用固定值,而是在处理当前帧待测图像时,提前预测下一帧待测图像的灰度判决门限。具体的:
针对第一帧待测图像,灰度判决门限可以为65等固定值;当前帧待测图像所预测出的下一帧待测图像的灰度判决门限为,当前帧的待测图像的灰度均值与预设数值的差值,该预设数值可以为一个固定值,比如为5等。
因此,本发明实施例的基于多核DSP的图像目标并行检测方法可以用于多帧待测图像的目标检测,并且能够针对各帧待测图像自适应地调整灰度判决门限和图像分割门限范围,以在满足高实时性和低资源需求的前提下,能够针对性地提高各帧待测图像后续目标检测的精度,具有广泛的应用前景。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种基于多核DSP的图像目标并行检测方法,其特征在于,应用于具有八个内核的数字信号处理器DSP中,所述八个内核包括一个主核和七个辅核;所述方法的每一个步骤中:所述主核根据该步骤待处理数据的数据量确定包括所述主核在内的工作核的数量,将该步骤的待处理数据依据工作核的数量划分为多份,并向各工作核分发其中不同的一份作为任务数据,各工作核对各自的任务数据独立处理,在所述主核判定所有工作核处理完成后,所述主核对所有工作核的处理结果进行汇总;其中,所述方法的步骤包括:
步骤1:每个工作核对该步骤中各自的任务数据计算得到灰度相关统计量;所述主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值;所述步骤1中,待处理数据为所述DSP获取的一帧待测图像;
步骤2:每个工作核对所述步骤1中各自的任务数据提取序列团的信息;所述主核汇总并更新得到所述待测图像中所有序列团的信息作为下一步骤的待处理数据;一个序列团指图像数据的一行中连续落入图像分割门限范围的至少一个像素所组成的序列;所述序列团的信息包括序列团的序号;
步骤3:每个工作核利用该步骤中各自的任务数据生成对应的邻接表,并更新各自原有的序列团的序号;所述主核汇总得到所述待测图像的邻接表作为下一步骤的待处理数据;其中,一邻接表含有对应图像数据中各序列团行间相邻重叠关系的信息;
步骤4:每个工作核利用该步骤中各自的任务数据生成对应的映射表,并利用所述映射表更新各自原有的序列团的序号;所述主核汇总得到所述待测图像的映射表,并得到所述待测图像的更新后的序列团的信息作为下一步骤的待处理数据;一映射表中的数据表示对应图像数据中各个序列团更新后的序号,相邻且具有重叠区域的序列团在所述映射表中具有相同数据;
步骤5:每个工作核从该步骤中各自的任务数据中依据相同序号,获取作为同一连通域的序列团的特征数据信息;所述主核汇总并更新得到所述待测图像中所有连通域的特征数据信息作为下一步骤的待处理数据;
步骤6:每个工作核对该步骤中各自的任务数据判断其中每一连通域是否为目标;所述主核汇总各工作核的目标判断结果,得到所述待测图像中所有目标的特征数据信息。
2.根据权利要求1所述的基于多核DSP的图像目标并行检测方法,其特征在于,针对任一工作核,所述灰度相关统计量包括该工作核的图像数据中,分别属于第一灰度类和第二灰度类的像素数量,以及每一灰度类下的像素灰度和;其中,一像素的灰度值小于预设的灰度判决门限则属于所述第一灰度类,反之则属于所述第二灰度类;
相应的,所述步骤1中,所述主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值,包括:
计算所有工作核的第一灰度类下的像素数量之和,得到第一灰度类像素数量总和,以及计算所有工作核的第二灰度类下的像素数量之和,得到第二灰度类像素数量总和;
确定所述第一灰度类像素数量总和与所述第二灰度类像素数量总和中的较大者所对应的灰度类,为目标灰度类;
对所有工作核在所述目标灰度类下的像素灰度和求取总和得到目标像素灰度和,以及对所有工作核在所述目标灰度类下的像素数量之和求取总和得到目标像素数量总和;
求取所述目标像素灰度和和所述目标像素数量总和的商值,得到所述待测图像的灰度均值。
3.根据权利要求1或2所述的基于多核DSP的图像目标并行检测方法,其特征在于,所述步骤2中,每个工作核对所述步骤1中各自的任务数据提取序列团的信息,包括:
针对每个工作核,该工作核对作为任务数据的图像数据从左至右进行逐行的像素遍历,在每一行的遍历中,将落入图像分割门限范围内的像素确定为有效像素,将单独的有效像素、两个及以上相邻的有效像素所组成的序列均确定为序列团,并针对确定的每个序列团,确定序列团的信息,所述序列团的信息包括序列团的序号、序列团的行位置、序列团的起始列位置、序列团的结束列位置、序列团的峰值灰度以及序列团的累加灰度;
在每一行的遍历结束后该工作核进行下一行的遍历,直至该工作核完成对应图像数据的所有行遍历;其中,所有行的遍历过程中先后确定的各个序列团的序号依次递增。
4.根据权利要求1所述的基于多核DSP的图像目标并行检测方法,其特征在于,所述步骤3中,所述主核根据该步骤待处理数据的数据量确定包括所述主核在内的工作核的数量,包括:
所述主核确定所述待测图像的所有序列团共占用的不同行号的总个数;
所述主核判断所述不同行号的总个数是否大于或等于预设的工作核判决门限,若是,则确定工作核的数量为八个;若否,则依据所述不同行号的总个数和预设的选择关系,选择低于八的工作核数量;
相应的,所述步骤3中,每个工作核的任务数据通过对该步骤的待处理数据依据所述不同行号的总个数划分得到。
5.根据权利要求1所述的基于多核DSP的图像目标并行检测方法,其特征在于,所述步骤3之前,邻接表的初始状态为具有两行、若干列的空白表格;
所述步骤3中,每个工作核利用该步骤中各自的任务数据生成对应的邻接表,并更新各自原有的序列团的序号,包括:
针对每个工作核,该工作核利用作为任务数据的所述待测图像的部分序列团的信息,进行序列团的逐行遍历,针对遍历到的当前序列团,
若所述当前序列团与上一行的序列团无重叠区域,则将所述当前序列团的序号接续之前已确定的序列团的最大序号进行递增更新,在邻接表中与所述当前序列团对应列的上下两行均填入所述当前序列团更新后的序号;
若所述当前序列团仅与上一行的一个序列团有重叠区域,则将所述当前序列团的序号更新为上一行中与其重叠的序列团的序号,邻接表不更新;
若所述当前序列团与上一行的m个序列团有重叠区域,则将所述当前序列团的序号更新为上一行中与其重叠的首个序列团的序号,在邻接表中与所述当前序列团对应的m-1列中上行均填入所述当前序列团更新后的序号,下行依次填入上一行中与所述当前序列团重叠的其余序列团的序号;其中m≥2。
6.根据权利要求1所述的基于多核DSP的图像目标并行检测方法,其特征在于,所述步骤4之前,映射表的初始状态为具有若干列的空白表格;
所述步骤4中,每个工作核利用该步骤中各自的任务数据生成对应的映射表,包括:
针对每个工作核,该工作核对作为任务数据的邻接表进行从左至右的列遍历,针对遍历到的当前列,
若所述当前列为第一类别列,其中,所述第一类别列满足上下行数据相同、非0且数据之前未曾遍历过;所述当前列进行以下处理:将所述邻接表中所述当前列的数据清零,连通域数目加1,将得到的连通域数目填入映射表中与所述当前列对应的列中进行映射表更新;并在所述邻接表中判断所述当前列之后,是否存在部分第二类别列,其中,所述第二类别列满足上下行数据不同且上行数据与所述当前列的数据相同;若不存在部分第二类别列,接续为第一类别列的原当前列向右继续进行列遍历;若存在部分第二类别列,将各第二类别列依次更新为当前列进行各自的处理,并在各第二类别列均处理完成后,在所述邻接表中判断是否存在部分第三类别列,其中,所述第三类别列满足数据与之前处理列的下行数据相同,且之前处理列为第二类别列;若不存在部分第三类别列,接续为第一类别列的原当前列向右继续进行列遍历;若存在部分第三类别列,依据各第二类别列的倒序顺序,将对应的第三类别列依次更新为当前列进行各自的处理,并在所有第三类别列处理完成后,接续为第一类别列的原当前列向右继续进行列遍历;
若所述当前列为第二类别列,所述当前列进行以下处理:将所述邻接表中所述当前列的数据清零,重复所述映射表中前一当前列更新的数据进行映射表的列更新,保持连通域数目不更新;
若所述当前列为第三类别列,所述当前列进行以下处理:将所述邻接表中该当前列的数据清零,不进行映射表和连通域数目的更新;
在所述邻接表全部完成遍历后,该工作核的映射表生成完成,其中列数为生成所述映射表之前序列团的序号的最大值,各数据依次为各序列团应更新的序号。
7.根据权利要求3所述的基于多核DSP的图像目标并行检测方法,其特征在于,所述步骤5中,同一连通域的序列团的特征数据信息,包括:
连通域的累加灰度、连通域的峰值灰度、连通域的面积、连通域的累加行号、连通域的累加列号、连通域的形心行位置、连通域的形心列位置、连通域的均值灰度、连通域的最大宽度和连通域的最大高度;
其中,同一连通域由具有同一序号的多个序列团构成;所述连通域的累加灰度为构成所述连通域的序列团的累加灰度之和,减去所述连通域的面积与所述待测图像的灰度均值之积的差值;所述连通域的峰值灰度为构成所述连通域的序列团的峰值灰度的最大值减去所述待测图像的灰度均值的差值;所述连通域的面积为构成所述连通域的各序列团的结束列位置与起始列位置之差的累加和;所述连通域的累加行号与累加列号分别为构成所述连通域的序列团内所有像素的行号和与列号和;所述连通域的形心行位置为所述连通域的累加行号与所述连通域的面积之商;所述连通域的形心列位置为所述连通域的累加列号与所述连通域的面积之商;所述连通域的均值灰度为所述连通域的累加灰度与所述连通域的面积之商;所述连通域的最大宽度为所述连通域内序列团的最大结束列号与最小起始列号之差;所述连通域的最大高度为所述连通域内序列团的最大行号与最小行号之差。
8.根据权利要求7所述的基于多核DSP的图像目标并行检测方法,其特征在于,所述步骤6中,每个工作核对该步骤中各自的任务数据判断其中每一连通域是否为目标,包括:
针对每个工作核,该工作核对其任务数据中的每一连通域进行目标特征合法性判断和图像坏点判断,如果该连通域具备目标特征合法性且非图像坏点,则判定该连通域为一目标;
其中,针对一连通域,一工作核进行目标特征合法性判断和图像坏点判断的过程,包括:
该工作核判断该连通域的形心行位置、形心列位置是否在该工作核对应的图像数据范围内,判断该连通域的最大宽度和最大高度是否均在对应的阈值范围内,判断该连通域的最大宽度和最大高度之比是否在对应的阈值范围内,若全部为是,则判定该连通域具备目标特征合法性;
该工作核判断该连通域的面积是否大于或等于1,且该连通域的累加灰度是否大于或等于对应的阈值,若全部为是,则判定该连通域非图像坏点。
9.根据权利要求2所述的基于多核DSP的图像目标并行检测方法,其特征在于,在所述基于多核DSP的图像目标并行检测方法用于处理多帧待测图像时,所述步骤1中,针对任一工作核,所述灰度相关统计量还包括该工作核的图像数据中,每一灰度类下的灰度平方和;
相应的,所述步骤1中,所述主核利用所有工作核的灰度相关统计量获得待测图像的灰度均值之后,所述方法还包括:
所述主核对所有工作核在所述目标灰度类下的灰度平方和求取总和得到目标灰度平方和;
所述主核利用所述目标灰度平方和、所述目标像素数量总和以及所述待测图像的灰度均值求取所述待测图像的灰度均方差,以用于下一帧待测图像的图像分割门限范围的确定。
10.根据权利要求1所述的基于多核DSP的图像目标并行检测方法,其特征在于,所述主核对所有工作核的处理结果进行汇总,包括:
所述主核将各工作核存放在双倍速率同步动态随机存储器DDR中的数据搬移至共享存储区进行汇总。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111315928.5A CN114266899A (zh) | 2021-11-08 | 2021-11-08 | 一种基于多核dsp的图像目标并行检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111315928.5A CN114266899A (zh) | 2021-11-08 | 2021-11-08 | 一种基于多核dsp的图像目标并行检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114266899A true CN114266899A (zh) | 2022-04-01 |
Family
ID=80824880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111315928.5A Pending CN114266899A (zh) | 2021-11-08 | 2021-11-08 | 一种基于多核dsp的图像目标并行检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114266899A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816773A (zh) * | 2022-06-29 | 2022-07-29 | 浙江大华技术股份有限公司 | 数据处理方法、系统、电子装置和存储介质 |
CN117934532A (zh) * | 2024-03-22 | 2024-04-26 | 西南石油大学 | 一种图像边缘检测并行优化方法及系统 |
CN117934532B (zh) * | 2024-03-22 | 2024-06-04 | 西南石油大学 | 一种图像边缘检测并行优化方法及系统 |
-
2021
- 2021-11-08 CN CN202111315928.5A patent/CN114266899A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816773A (zh) * | 2022-06-29 | 2022-07-29 | 浙江大华技术股份有限公司 | 数据处理方法、系统、电子装置和存储介质 |
CN114816773B (zh) * | 2022-06-29 | 2022-09-23 | 浙江大华技术股份有限公司 | 数据处理方法、系统、电子装置和存储介质 |
CN117934532A (zh) * | 2024-03-22 | 2024-04-26 | 西南石油大学 | 一种图像边缘检测并行优化方法及系统 |
CN117934532B (zh) * | 2024-03-22 | 2024-06-04 | 西南石油大学 | 一种图像边缘检测并行优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115082467B (zh) | 基于计算机视觉的建材焊接表面缺陷检测方法 | |
CN112837303A (zh) | 一种用于模具监视的缺陷检测方法、装置、设备及介质 | |
CN109859226B (zh) | 一种图形分割的棋盘格角点亚像素的检测方法 | |
CN111540005B (zh) | 基于二维栅格地图的回环检测方法 | |
CN112883820B (zh) | 基于激光雷达点云的道路目标3d检测方法及系统 | |
CN110580481B (zh) | 一种基于epi的光场图像关键位置检测方法 | |
CN113763269B (zh) | 一种用于双目图像的立体匹配方法 | |
CN106097313B (zh) | 图像分割方法及装置 | |
CN105118090A (zh) | 一种自适应复杂地形结构的点云滤波方法 | |
CN110334719B (zh) | 一种提取遥感影像中建筑物图像的方法及系统 | |
CN111739020B (zh) | 周期纹理背景缺陷标签自动标注方法、装置、设备及介质 | |
CN109993753B (zh) | 遥感影像中城市功能区的分割方法及装置 | |
CN107220647A (zh) | 一种叶片交叉条件下作物中心点定位方法及系统 | |
CN111178193A (zh) | 一种车道线的检测方法、检测装置及计算机可读存储介质 | |
CN111047603A (zh) | 一种基于新型马尔可夫随机场和区域合并的航拍图像混合分割算法 | |
CN111598780A (zh) | 一种适用于机载LiDAR点云的地形自适应插值滤波方法 | |
CN111274964B (zh) | 一种基于无人机视觉显著性分析水面污染物的检测方法 | |
CN106846343A (zh) | 一种基于聚类超像素分割的病理图像特征提取方法 | |
CN114266899A (zh) | 一种基于多核dsp的图像目标并行检测方法 | |
CN114387408A (zh) | 数字高程模型的生成方法、装置及计算机可读存储介质 | |
CN112669301B (zh) | 一种高铁底板脱漆故障检测方法 | |
CN116721228B (zh) | 一种基于低密度点云的建筑物高程提取方法及系统 | |
CN105828061B (zh) | 一种基于视觉掩蔽效应的虚拟视点质量评价方法 | |
CN116229419B (zh) | 一种行人检测方法及装置 | |
CN109740337B (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 |