图像处理方法和装置与流程

文档序号:19741436发布日期:2020-01-18 05:16阅读:404来源:国知局
图像处理方法和装置与流程

本发明涉及图像并行计算技术,属于图像处理技术领域。



背景技术:

排序算法是图像处理领域的基本算法模块之一,常用的排序算法包括选择排序、插入排序、交换排序、归并排序、快速排序等,时间复杂度为o(nlog2n)-o(n2),其中n为待排序的数据量,算法的时间复杂度随数据量的增大将成倍增长。快速排序算法是自动目标识别算法的基本模块之一,待排序的数据为数据量约为几百万的浮点型数据,计算时间开销相当庞大,而且对自动目标识别算法的实时性要求非常高,由于数据大小随机分布,无法直接采用数据均分的方法进行排序算法的分核处理,现有的并行处理算法在分核时无法将数据均分,导致各个核的计算量不均等,使某些核的计算量不能充分使用,某些核的计算量过大使时间拉长,致使整个计算过程时间变长,使目标识别过程中实时性不高。



技术实现要素:

本发明的目的在于克服现有技术不足,提供一种负载均衡的多核并行处理图像的装置和方法,解决现有的目标识别过程中实时性不高的问题。

本发明的技术解决方案:

根据本发明的一方面,提供了一种图像处理方法,步骤如下:

将待处理的m个浮点型图像数据按照数据量平均分为n份;n的选取依据处理数据的处理装置和性能,n的取值大于1,小于等于处理装置处理器的个数,n的取值越大,计算的速度越快;

并行对每一份图像数据进行定点化处理;

对每一份定点化处理的图像数据按照灰度进行分类,得到n个定点化处理的图像数据的灰度直方图;

对n个灰度直方图汇集成一个完整的灰度直方图;

根据完整的灰度直方图中各个灰度级的数据量,得到可实现数据量均衡分配的灰度等分点阈值gray1、gray2、……、grayn-1,而且0≤gray1≤gray2≤gray3……≤grayn-1≤255×10k

进行粗排序,根据得到的灰度等分点阈值将完整的灰度直方图分割成n个灰度区域即[0,gray1]、(gray1,gray2]……(grayn-1,255×10k],对n个灰度区域进行并行处理,遍历所有m个定点图像数据,分别与n个灰度区域的灰度等分点阈值进行比较,获取到各自灰度区域的定点图像数据;

进行细排序,对得到的各自灰度区间的定点图像数据进行并行排序处理;

对细排序后的定点图像数据并行进行浮点化。

所述的浮点化是指将定点图像数据乘以10-k,完成浮点图像数据的排序。

所述的灰度直方图的灰度级为0~255×10k

所述的图像数据定点化处理是指将图像数据乘以10k,k为根据精度需求保留浮点型图像数据的位数,然后舍去小数点后面的数位。

所述的灰度等分点阈值计算方法为:从0开始按顺序遍历至255×10k个灰度级,得到完整的灰度级直方图中每个灰度级的图像数据的个数,将灰度级的图像数据的个数大于m/n时,该灰度级记为等分点,该等分点对应的灰度即为灰度等分点阈值gray1……grayn-1。

根据本发明的另一方面,提供了一种图像处理装置,包括均分单元和n个处理单元,每个处理单元包括定点化单元、直方图统计单元、粗排序单元、细排序单元和浮点化单元,其中某一处理单元还包括直方图总汇单元和灰度等分点单元,所述的均分单元将图像数据均分为n份,并下发给n个定点化单元,所述的n个定点化单元将输入的浮点图像数据定点化并给传递给本处理单元的直方图统计单元;所述的直方图统计单元将定点化的图像数据按照灰度等级进行统计,得到图像的灰度直方图,并汇总到直方图总汇单元;所述的直方图总汇单元汇总n个图像的灰度直方图,得到完整的灰度直方图;所述的灰度等分点单元根据完整的灰度直方图确定可实现定点数据量均衡分布的n-1个灰度等分点阀值,n-1个灰度等分点阀值将完整的灰度直方图分割成n个灰度区域,将每一个灰度区域分配给一个粗排序单元;所述的粗排序单元遍历所有m个定点图像数据,获取其分配到的灰度区域内的定点图像数据,并将定点图像数据传输给本处理单元内的细排序单元;所述的细排序单元将本灰度区间内的定点图像数据进行排序;所述的浮点化单元将经细排序单元排序后的定点图像数据浮点化。

进一步的,所述的浮点图像数据定点化为浮点数据乘以10k并舍去小数点后面的数位,其中的k为保留浮点型数据小数点后的位数。

所述的灰度等分点单元中灰度等分点阈值计算方法为:从0开始按顺序遍历至255×10k个灰度级,得到完整的灰度级直方图中每个灰度级的图像数据的个数,将灰度级的图像数据的个数大于m/n时,该灰度级记为等分点,该等分点对应的灰度即为灰度等分点阈值gray1……grayn-1。

本发明与现有技术相比的有益效果:

(1)本发明对图像数据采用灰度粗细两层排序,使由于数据大小随机分布无法进行分核处理的数据,实现了均衡分配的分核处理,解决了大数据量图像数据排序算法的实时处理问题;

(2)本发明将浮点图像数据按照需要的精度进行定点化处理,根据定点化的数据进行灰度直方图统计,然后根据灰度直方图统计结果,完成灰度等分点序列计算,解决了浮点数据的计算单元分配问题。

附图说明

图1为本发明图像处理方法的示意图;

图2为本发明灰度直方图计算灰度等分点示意图;

图3为本发明图像处理装置示意图。

具体实施方式

下面结合具体实例及附图对本发明进行详细说明。

一种图像处理方法,步骤如下:

将待处理的m个浮点型图像数据按照数据量平均分为n份;

n的选取依据处理数据的处理装置和性能,n的取值大于1,小于等于处理装置处理器的个数,n的取值越大,计算的速度越快;

并行对每一份图像数据进行定点化处理,在一个实施例中,图像数据定点化处理是指将图像数据乘以10k,k为根据精度需求保留浮点型图像数据的位数,然后舍去小数点后面的数位;

对每一份定点化处理的图像数据按照灰度进行分类,得到n个定点化处理的图像数据的灰度直方图,灰度直方图的灰度级为0~255×10k

对n个灰度直方图汇集成一个完整的灰度直方图;

将n个计算单元的灰度直方图汇集到一起,得到所有定点图像数据m的灰度直方图;

根据完整的灰度直方图中各个灰度级的数据量,得到可实现数据量均衡分配的灰度等分点阈值gray1、gray2、……、grayn-1,而且0≤gray1≤gray2≤gray3……≤grayn-1≤255×10k;在一个实施例中,灰度等分点阈值计算方法为:从0开始按顺序遍历至255×10k个灰度级,得到完整的灰度级直方图中每个灰度级的图像数据的个数,将灰度级的图像数据的个数大于m/n时,该灰度级记为等分点,该等分点对应的灰度即为灰度等分点阈值gray1……grayn-1。

进行粗排序,根据得到的灰度等分点阈值将完整的灰度直方图分割成n个灰度区域即[0,gray1]、(gray1,gray2]……(grayn-1,255×10k],对n个灰度区域进行并行处理,遍历所有m个定点图像数据,分别与n个灰度区域的灰度等分点阈值进行比较,获取到各自灰度区域的定点图像数据,如图2所示;

进行细排序,对得到的各自的灰度区间的定点图像数据进行并行排序处理;

对细排序后的定点图像数据并行进行浮点化,浮点化是指将定点图像数据乘以10-k,完成浮点图像数据的排序。

根据本发明的另一方面,提供了一种图像处理装置,如图3所示,包括均分单元和n个处理单元,每个处理单元包括定点化单元、直方图统计单元、粗排序单元、细排序单元和浮点化单元,其中某一处理单元还包括直方图总汇单元和灰度等分点单元,均分单元将图像数据均分为n份,并下发给n个定点化单元,n个定点化单元将输入的浮点图像数据定点化并给传递给本处理单元的直方图统计单元;直方图统计单元将定点化的图像数据按照灰度等级进行统计,得到图像的灰度直方图,并汇总到直方图总汇单元;直方图总汇单元汇总n个图像的灰度直方图,得到完整的灰度直方图;灰度等分点单元根据完整的灰度直方图确定可实现定点数据量均衡分布的n-1个灰度等分点阀值,n-1个灰度等分点阀值将完整的灰度直方图分割成n个灰度区域,将每一个灰度区域分配给一个粗排序单元;粗排序单元遍历所有m个定点图像数据,获取其分配到的灰度区域内的定点图像数据,并将定点图像数据传输给本处理单元内的细排序单元;细排序单元将本灰度区间内的定点图像数据进行排序;浮点化单元将经细排序单元排序后的定点图像数据浮点化。

进一步的在一个实施例中,数据定点化方法为浮点数据乘以10k并舍去小数点后面的数位,其中的k为保留浮点型数据小数点后的位数,根据精度的要求来选取。

图像处理方法的一个具体实施例,假设待处理图像为大小为1024×1024灰度图像,首先经过高斯滤波处理得到1024×1024个浮点型数据,然后以图像每个像素为节点计算与相邻4个节点的灰度差,得到总数据量大约1024×1024×4=419.4304万个浮点型数据作为待排序的数据,每个数据的灰度范围为0-255,采用8核tms320c6678dsp处理器为分处理单元,并行处理方案如下,如图1所示:

第一步:数据均分

将419.4304万个浮点型输入数据平均分为8份,每个核计算52.4288万个数据,并下发给8个核;

第二步:数据定点化

8个核并行处理,将各自的52.4288万个浮点数据乘以102,并舍去小数点后面的数位,得到精度为小数点后2位小数的浮点数的定点化处理;

第三步:计算灰度直方图

8个核并行处理,统计各自52.4288万个定点数据每一个灰度级的定点图像数据个数,灰度级范围为0-25500,得到灰度直方图;

第四步:直方图合并

其中的一个核将8个核的灰度直方图处理结果按照0-25500的灰度级分别进行合并,得到419.4304万个定点图像数据的灰度直方图;

第五步:计算灰度等分点

从0开始遍历至25500个灰度级,计算每个灰度级直方图定点数据个数的累加,当数据个数大于平均数据量52.4288万时,该灰度值记为等分点,同时将数据个数置零,重复上述过程,依次遍历剩余灰度级,即可依次得到7个灰度等分点阈值,分别为1000、5000、8000、12000、18000、20000、23000。

第六步:段间粗排序

8个核并行处理,遍历所有419.4304万个定点图像数据,分别与各自的灰度等分点阈值进行比较,1-8核的灰度等分点阈值分别为:[0-1000]、(1000,5000]、(5000,8000]、(8000,12000]、(12000,18000]、(18000,20000]、(20000,23000]、(23000,25000],将定点图像数据粗分为以上8个灰度区间段,每个核分别获取到各自灰度区间段的定点图像数据,实现定点图像数据的段间粗排序;

第七步:段内细排序

8个核并行处理,分别遍历各自数据段内的定点图像数据进行快速排序算法处理,得到排序后的定点图像数据;

第八步:数据浮点化

8个核并行处理,分别将各自排序后的定点图像数据乘以0.01,即可得到排序后的浮点图像数据结果。

通过本发明的算法,将排序算法模块的处理时间缩减至约1/7-1/64范围内,大幅减少大数据排序的时间开销,经在tic6678dsp中实际运行该并行排序算法,算法处理时间由传统排序算法的1s缩短为120ms,解决了嵌入式软件实时性的问题,为高分辨率图像自动目标识别技术的突破和大数据自动目标识别处理的工程应用奠定基础。

本发明未详细说明部分为本领域技术人员公知技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1