The invention discloses a OpenCL direct multi exposure fusion parallel acceleration method based on the method of the invention of the CPU+GPU based heterogeneous parallel architecture, using GPU powerful floating-point computation ability, in the OpenCL development environment, through a combination of kernel, cache memory, constant to the Gauss kernel cache reuse data to local memory, each increase of work the workload, shorten the memory and computation time, to achieve a more rapid multi exposure fusion, serial processing compared with the traditional method, the method of the invention has the maximum acceleration ratio of 11.19, effectively reduce the running time of the algorithm of multi exposure fusion, provides a strong guarantee for the further application of multi exposure fusion algorithm; in addition, in the spatial frequency and average gradient, the method of the invention has obvious improvement, effective solution to the electronic imaging and display Scene detail information loss caused by insufficient dynamic range of equipment.
【技术实现步骤摘要】
基于OpenCL的直接多曝光融合并行加速方法
本专利技术涉及一种图像处理并行加速方法,具体涉及一种基于OpenCL的直接多曝光融合并行加速方法,属于图像处理的异构并行加速
技术介绍
真实世界场景的动态范围可以高达十几个数量级,但是目前通用的拍摄和显示设备的动态范围远不能与之匹配。即使通过调节光圈和快门速度调整曝光度,获得的单张图像仍然会存在曝光过度的亮区和曝光不足的暗区,由于亮区和暗区的细节丢失导致不能完整表达场景的真实信息。高动态范围技术则可利用同一场景不同曝光度的图像序列获取动态范围扩展、信息表达完整的结果图像。高动态范围技术有两种:曝光融合色调映射方法和直接多曝光融合方法。曝光融合色调映射方法利用多帧不同曝光度的低动态范围图像得到一帧高动态范围图像,然后对高动态范围图像利用色调映射进行动态范围压缩。得到高动态范围图像的过程中,需要知道每幅图像的曝光时间以及相机的响应曲线,效率较低。直接多曝光融合方法根据不同曝光度的低动态范围图像融合成一幅场景各部分细节都保留较为完整的动态范围得到扩展的图像,效率较高。高动态范围技术的实现方式有两种:软件和硬件。相较而言,硬件实现高动态范围技术更为复杂。硬件实现方面,北京交通大学的贾琦在其硕士学位论文“基于FPGA的多曝光图像分块融合设计与验证”中,应用VerilogHDL语言基于DE2开发平台,利用ALTERA公司的CycloneIV系列芯片仿真验证了多曝光融合算法中的部分模块,但是没有完成整个算法在FPGA上实现的目标。软件实现方面,西南科技大学的朱恩弘等人在“朱恩弘,张红英,吴亚东,等.单幅图像的高动态 ...
【技术保护点】
基于OpenCL的直接多曝光融合并行加速方法,其特征在于,包括以下步骤:1、开发环境初始化:明确OpenCL平台的主机和设备,依次创建上下文、命令队列、内核对象和程序对象;2、通过PCI‑e传递低动态范围图像到显存,具体如下:2a、读取同一场景多帧不同曝光度的低动态范围图像到CPU内存;2b、创建内存对象;2c、传递内存的低动态范围图像到显存;3、在GPU上进行RGB到HIS的色域转换:亮度和色度独立表示的HIS色域空间相较于RGB色域空间更易于表示图像特征,按照下式,在GPU上进行RGB到HIS的色域转换,假设多曝光图像序列中共有N张图片,每张图片的分辨率为W×H,则共有N×W×H个待处理像素点,一个工作项处理2×1个像素点:
【技术特征摘要】
1.基于OpenCL的直接多曝光融合并行加速方法,其特征在于,包括以下步骤:1、开发环境初始化:明确OpenCL平台的主机和设备,依次创建上下文、命令队列、内核对象和程序对象;2、通过PCI-e传递低动态范围图像到显存,具体如下:2a、读取同一场景多帧不同曝光度的低动态范围图像到CPU内存;2b、创建内存对象;2c、传递内存的低动态范围图像到显存;3、在GPU上进行RGB到HIS的色域转换:亮度和色度独立表示的HIS色域空间相较于RGB色域空间更易于表示图像特征,按照下式,在GPU上进行RGB到HIS的色域转换,假设多曝光图像序列中共有N张图片,每张图片的分辨率为W×H,则共有N×W×H个待处理像素点,一个工作项处理2×1个像素点:其中,R、G、B是红、绿、蓝三原色,H、S、I分别表示色调、饱和度、亮度,π表示圆周率,min表示求最小值;4、计算决定多曝光融合权重的特征因子,具体如下:4a、不合适的曝光度会影响图像饱和度,按照下式,在GPU上筛选出饱和度适中的部分:其中,n表示不同曝光度的图像序列的序号,T是最佳曝光度可取的最小值,In表示多曝光图像序列中第n张图像的亮度,Sn表示多曝光图像序列中第n张图像的饱和度,一个工作项处理一个像素点;4b、按照下式,在GPU上计算对比度:Cn=L*In其中,Cn表示第n张图片的对比度,L表示拉普拉斯算子,在计算对比度的过程中,拉普拉斯算子始终保持不变,将拉普拉斯算子存储在显存的常量存储器区域以加快对它的访问速度,计算对比度时存在一定的数据复用,缓存复用数据到局部存储器,一个工作组分配16×16个工作项,一个工作项处理2×1个像素点;4c、按照下式,对每个像素位置选择多曝光图像序列中对比度的最大值参与权值计算:其中,表示最终参与权值计算的对比度值,一个工作项处理一个像素点;5、计算归一化的权重图,具体如下:5a、根据步骤4a和步骤4c得到的特征因子,按照下式计算权重图:其中,Wn表示第n张图片的权重图;5b、对步骤5a得到的权重图按照下式进行归一化:其中,是归一化因子,权重计算和归一化同步实现,如果则归一化后的权重Wn=0,如果则归一化后的一个工作项处理一个像素点;6、同时对权重图和亮度图进行高斯下采样得到权重图高斯金字塔和亮度图高斯金字塔:以IG和WG作为高斯金字塔输入图像,则高斯金字塔第i层图像WGi和IGi按照下式计算:其中,WGi-1和IGi-1表示第i-1层图像,第i-1层是第i层的下一层,gauss表示高斯核表示卷积运算,down表示取偶数行和偶数列...
【专利技术属性】
技术研发人员:赖睿,王维,张剑贤,孟灵非,周慧鑫,王炳建,秦翰林,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。