本发明涉及图像处理,特别是涉及一种基于并行加速的图像处理加速方法。
背景技术:
1、传统的图像处理方法大多采用单线程或基于cpu的串行方式进行计算,这种做法存在一些明显的缺陷和局限性:
2、(1)单线程串行处理无法充分利用现代计算机系统中多核cpu、gpu等并行计算资源,导致图像处理的效率无法满足实时性和高吞吐量的要求,特别是对于高分辨率、大数据量的图像,单线程处理速度往往远远滞后,导致处理效率低下。
3、(2)由于处理效率的限制,传统的串行图像处理方法往往无法满足对实时响应的需求,在智能视频分析、机器视觉检测等场景下表现不佳,延迟的图像处理结果可能导致决策迟缓,影响整体系统的性能,实时性差。
4、(3)该方法主要依赖通用cpu的运算能力,无法充分发挥专用硬件(如gpu、fpga等)的并行优势,导致计算资源利用率低下。
5、另外,为了提高图像处理速度,部分现有技术方案采用了硬件加速器,如:gpu加速、fpga/asic加速、专用图像处理芯片和一些供应商提供专用的图像处理芯片或加速卡,但同样存在成本高、通用性差的缺陷。
6、上述现有技术方案要么效率低下,要么成本昂贵、灵活性差,因此亟需一种能够有效利用通用硬件并行计算资源、并保持良好灵活性和成本可控性的新型图像处理加速技术,以满足实时性和高吞吐量要求。
技术实现思路
1、针对上述现有技术的不足,本专利申请所要解决的技术问题是如何提供一种成本低,性能可靠,扩展性强的基于并行加速的图像处理加速方法。
2、为了解决上述技术问题,本发明采用了如下的技术方案:
3、一种基于并行加速的图像处理加速方法,包括以下步骤:s1:接收来自用户或其他源的图像数据;s2:对图像进行去噪、对比度调整、归一化的预处理;s3:图像分块;s4:根据系统资源和负载情况,动态地将图像小块分配给不同的处理单元;s5:每个处理单元接收图像小块开始级并行处理;s6:实时监控步骤s5中各处理单元的工作状态,动态调整任务分配;s7:收集各处理单元处理后的小块结果,并使用合并算法,拼接完整输出图像;s8:提高拼接后图像的质量s9:输出图像。
4、作为优化,步骤s1中,支持的图像格式包括但不限于jpeg、png、bmp。
5、作为优化,步骤s2中,对图像去噪采用高斯滤波,其公式如下:
6、
7、其中,g(i,j)是高斯核函数;
8、对比度调整使得图像的亮暗区域更加分明,采用直方图均衡化,其公式如下:
9、
10、其中,rk和sk分别是原图像和均衡化后的像素值,nk是灰度级k的像素个数,n是总像素数;
11、归一化用于将图像像素值调整到范围值(通常是0到1),采用零均值归一化,其公示如下:
12、
13、其中,μ和σ分别是图像像素值的均值和标准差
14、作为优化,步骤s3中,根据图像大小和处理单元的数量,确定分块大小。
15、作为优化,将图像小块动态分配给不同的处理单元时,采用策略进行任务分配,在处理过程中,实现动态检测,检测到某个处理单元负载过高,将其未处理完的任务重新分配给其他负载较轻的处理单元;所述策略包括轮询调度、最短队列优先、负载均衡策略;采用任一进行分配;其中轮询调度为依次将任务分配给每个处理单元,循环分配;短队列优先为监控每个处理单元的任务队列长度,优先将新任务分配给任务最少的处理单元;负载均衡策略为根据处理单元的实时负载情况(如cpu使用率、内存使用率等)进行动态调整,确保负载均衡。
16、作为优化,步骤s5中,所述处理单元包括但不限于cpu核心、gpu、专用硬件加速器。
17、作为优化,步骤s6中,在对各处理单元进行监控时,采用系统监控工具,获得每个处理单元的实时状态,包括cpu使用率、内存使用率、任务队列长度;并定期收集状态数据,反馈给任务调度器;根据监控数据,实时调整任务分配策略。
18、作为优化,步骤s7中,在进行合并时,需要处理边缘像素,确保拼接后的图像没有明显的痕迹。
19、作为优化,步骤s8中,进行图像质量提高的过程采用包括但不限于边缘像素插值、图像质量增强的方式。
20、作为优化,步骤s9中,输出的图像,根据指令输出至指定的存储位置或显示设备。
21、本发明具有以下效果:
22、1)显著的性能提升
23、充分利用并行计算资源,理论上可获得接近线性级别的加速比,处理速度比单线程串行快数倍至数十倍,满足实时性和高吞吐量需求。
24、2)良好的成本可控性
25、无需采购高价的gpu加速卡或专用加速芯片,可在通用硬件平台(如服务器、工作站等)上运行,降低整体系统成本。
26、3)优秀的可扩展性
27、处理能力可以通过增加cpu核数、gpu资源等方式随时扩展,满足不同应用场景的性能需求,避免了专用加速硬件的固化缺陷。
28、4)开发友好性
29、开发人员只需基于标准并行编程接口(如openmp、cuda等)进行开发,无需了解底层硬件细节,显著降低了开发难度。
30、5)广泛的适用场景
31、可广泛应用于智能视频分析、机器视觉检测、医学图像分析等各种图像处理密集型领域,为相关领域的技术发展提供有力支持。
1.一种基于并行加速的图像处理加速方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于并行加速的图像处理加速方法,其特征在于,步骤s1中,支持的图像格式包括但不限于jpeg、png、bmp。
3.根据权利要求2所述的一种基于并行加速的图像处理加速方法,其特征在于,步骤s2中,对图像去噪采用高斯滤波,其公式如下:
4.根据权利要求3所述的一种基于并行加速的图像处理加速方法,其特征在于,步骤s3中,根据图像大小和处理单元的数量,确定分块大小。
5.根据权利要求4所述的一种基于并行加速的图像处理加速方法,其特征在于,将图像小块动态分配给不同的处理单元时,采用策略进行任务分配,在处理过程中,实现动态检测,检测到某个处理单元负载过高,将其未处理完的任务重新分配给其他负载较轻的处理单元;所述策略包括轮询调度、最短队列优先、负载均衡策略;采用任一进行分配;其中轮询调度为依次将任务分配给每个处理单元,循环分配;短队列优先为监控每个处理单元的任务队列长度,优先将新任务分配给任务最少的处理单元;负载均衡策略为根据处理单元的实时负载情况(如cpu使用率、内存使用率等)进行动态调整,确保负载均衡。
6.根据权利要求5所述的一种基于并行加速的图像处理加速方法,其特征在于,步骤s5中,所述处理单元包括但不限于cpu核心、gpu、专用硬件加速器。
7.根据权利要求6所述的一种基于并行加速的图像处理加速方法,其特征在于,步骤s6中,在对各处理单元进行监控时,采用系统监控工具,获得每个处理单元的实时状态,包括cpu使用率、内存使用率、任务队列长度;并定期收集状态数据,反馈给任务调度器;根据监控数据,实时调整任务分配策略。
8.根据权利要求7所述的一种基于并行加速的图像处理加速方法,其特征在于,步骤s7中,在进行合并时,需要处理边缘像素,确保拼接后的图像没有明显的痕迹。
9.根据权利要求8所述的一种基于并行加速的图像处理加速方法,其特征在于,步骤s8中,进行图像质量提高的过程采用包括但不限于边缘像素插值、图像质量增强的方式。
10.根据权利要求9所述的一种基于并行加速的图像处理加速方法,其特征在于,步骤s9中,输出的图像,根据指令输出至指定的存储位置或显示设备。