首页> 中国专利> 一种红外图像细节增强方法和一种红外图像细节增强装置

一种红外图像细节增强方法和一种红外图像细节增强装置

摘要

本发明涉及一种红外图像细节增强方法和一种红外图像细节增强装置,利用SOC架构中的ARM实现对采集到的图像数据依次进行滤波处理和灰度处理,得到第一处理图像;对第一处理图像依次进行对比度处理和进行直方图插值处理,得到第二处理图像;利用SOC架构中的GPU对第二处理图像进行锐化处理,得到第三处理图像;将第三处理图像与第一处理图像进行融合处理,处理后的图像数据即是得到图像细节增强处理后的红外图像。最大程度保留红外图像的细节,图像对比度高,局部细节清晰;而且让设备操作员在温度变化十分显著的场景中,也能够看清红外图像细节,并且,利用SOC架构能够提升图像处理的效率。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-29

    授权

    授权

  • 2017-02-15

    实质审查的生效 IPC(主分类):G06T5/00 申请日:20160818

    实质审查的生效

  • 2017-01-04

    公开

    公开

说明书

技术领域

本发明涉及一种红外图像细节增强方法和一种红外图像细节增强装置,属于红外图像处理领域。

背景技术

红外图像采集设备的一大特点是有着很高的动态范围(如地面与天空),而某些目标与其背景或者目标局部的温差却相对较小。因此为了能以足够高的精度来量化大动态红外场景,高性能热成像系统通常都采用14bits或更高精度的AD对探测器输出信号进行采样和量化。而通常的显示设备或快速处理只要求8bits数据宽度,所以14bits的高精度数据需要经过压缩处理。

目前,常用的线性映射(如AGC)或者非线性映射(如直方图均衡)等压缩方法,都不能很好的解决探测到的大动态图像信息显示问题,因而大动态图像压缩可能会造成原有信息丢失,在显示图像中表现为图像细节的损失,使得这些方法在大动态图像的压缩中普遍存在这种缺陷。图像细节增强(DDE)技术是一种高级非线性图像增强处理算法,可以保留高动态范围图像中的细节,解决在高动态范围场景中定位低对比度目标的难题。

相比于传统的图像线性和非线性映射压缩方法,DDE能最大程度保留红外图像的细节,图像对比度高,局部细节清晰。基于上述性能特性,DDE技术让设备操作员在温度变化十分显著的场景中,也能够看清红外图像细节。在对红外探测器采集的14bits图像数据进行DDE处理时,通常利用FPGA或DSP架构实现,但是这种实现方式的处理效率较低。

发明内容

本发明的目的是提供一种红外图像细节增强方法和一种红外图像细节增强装置,用以解决在现有的DDE方法处理效率较低的问题。

为实现上述目的,本发明的方案包括一种红外图像细节增强方法,利用SOC架构对红外图像进行处理,该红外图像细节增强方法为:

利用SOC架构中的ARM进行以下操作:

对图像数据依次按照滤波预算法进行滤波处理和按照灰度拉伸算法进行灰度处理,得到第一处理图像;

对所述第一处理图像依次按照限制对比度均衡算法进行对比度处理和按照局部直方图双线性插值算法进行直方图插值处理,得到第二处理图像;

利用SOC架构中的GPU进行以下操作:

对所述第二处理图像按照高频锐化算法进行锐化处理,得到第三处理图像;将所述第三处理图像与第一处理图像按照局部直方图融合算法进行融合处理,处理后的图像数据即是得到图像细节增强处理后的红外图像。

ARM与GPU之间的数据传输方式为:ARM将数据发送至预先建立的缓冲队列,GPU从所述预先建立的缓冲队列异步获取数据。

实现对所述第二处理图像按照高频锐化算法进行锐化处理的手段为:将第二处理图像分为若干个图像块,并为所述第二处理图像分配与所述图像块个数相同的线程束,图像块与线程束一一对应,以线程束为处理单位对所述第二处理图像的每个图像块进行锐化处理。

一种红外图像细节增强装置,包括ARM和GPU,

所述ARM执行以下处理模块:

滤波处理模块,用于对图像数据按照滤波预算法进行滤波处理;

灰度处理模块,用于对经所述滤波处理后的图像数据按照灰度拉伸算法进行灰度处理;

对比度处理模块,用于对经所述灰度处理后的图像数据按照限制对比度均衡算法进行对比度处理;

直方图插值处理模块,用于对经对比度处理后的图像数据按照局部直方图双线性插值算法进行直方图插值处理;

所述GPU执行以下处理模块:

锐化处理模块,用于对经所述直方图插值处理后的图像数据按照高频锐化算法进行锐化处理;

直方图融合模块,用于将经所述灰度处理后的图像数据与经所述锐化处理后的图像数据进行按照局部直方图融合算法进行融合处理,处理后的图像数据即是得到图像细节增强处理后的红外图像。

ARM与GPU之间的数据传输方式为:ARM将数据发送至预先建立的缓冲队列,GPU从所述预先建立的缓冲队列异步获取数据。

所述锐化处理模块实现对经所述灰度处理后的图像数据进行锐化处理的手段是:将经所述灰度处理后的图像数据分为若干个图像块,为所述经所述灰度处理后的图像数据分配与所述图像块个数相同的线程束,图像块与线程束一一对应,以线程束为处理单位对所述经所述灰度处理后的图像数据的每个图像块进行锐化处理。

首先,本发明提供的红外图像细节增强方法中,通过对图像数据进行滤波处理、灰度处理、对比度处理、直方图插值处理、锐化处理以及直方图融合处理后,得到图像细节增强处理后的红外图像。该方法能够最大程度保留红外图像的细节,图像对比度高,局部细节清晰;而且让设备操作员在温度变化十分显著的场景中,也能够看清红外图像细节。所以,该增强方法可以保留高动态范围图像中的细节,解决在高动态范围场景中定位低对比度目标的难题。

并且,本发明的红外图像细节增强方式是利用SOC架构实现的,利用SOC架构中的ARM和GPU,两者相互合作来共同实施该图像增强方法,ARM进行下一帧的滤波预处理、灰度拉伸、限制对比度均衡、局部直方图双线性插值处理,将高频锐化和局部直方图融合部分由GPU执行,从而充分利用的空闲的GPU资源,将可并行的部分使用合适的方式由GPU执行,充分利用GPU计算单元多、并行度高的优点,规避GPU不善于处理分支多、相关性高的运算的弱点,充分利用计算资源,从而实现了ARM、GPU的负载均衡。这种逐帧异构计算设计减轻了ARM的负荷,提高了执行效率,另一方面,增加系统的总体吞吐率,将最主要的计算放到GPU上实现,更加容易地提高性能。所以,该图像增强方式能够极大地提升图像处理的效率。

附图说明

图1是该图像增强方法的整体流程图;

图2是基于ARM和GPU的增强装置与外部设备的连接示意图;

图3是ARM线程分配与滤波预处理的流程示意图;

图4是ARM线程分配与变增益线性拉伸的流程示意图;

图5是ARM线程分配与限值局部直方图均衡的流程示意图;

图6是使用GPU优化高频锐化的线程映射关系示意图;

图7是ARM线程分配与局部直方图双线性插值的流程示意图;

图8是GPU线程分配与高频锐化及叠加融合的流程示意图;

图9是GPU上传、下载、执行时间的重叠方式示意图。

具体实施方式

本发明提供的方法基于配置有ARM和GPU的嵌入式SOC架构电子设备,即利用SOC架构来实现本发明提供的DDE方法。在实际应用中,本发明提供的方法可用于高性能热成像实时采集传输显示领域,例如监控、遥感、测绘、军事侦察等;特别在夜间温度变化十分显著的场景中,能够最大程度保留图像细节,有效提高图像对比度。

如图1所示,本发明提供的一种基于ARM和GPU的红外DDE方法,应用于配置有中央处理器ARM和图形处理器GPU的嵌入式SOC架构电子设备,如图1所示,该方法包括以下步骤:

首先,接收图像数据,其中图像数据为经过红外探测器采集的14bits图像数据;

然后,利用SOC架构中的中央处理器ARM进行以下操作:

对接收到的图像数据依次按照滤波预算法进行滤波处理和按照灰度拉伸算法进行灰度处理,得到第一处理结果;

对第一处理图像依次按照限制对比度均衡算法进行对比度处理和按照局部直方图双线性插值算法进行直方图插值处理,得到第二处理结果;

利用SOC架构中的图形处理器GPU进行以下操作:

对第二处理结果按照高频锐化算法进行锐化处理,得到第三处理结果;将第三处理结果与第一处理结果按照局部直方图融合算法进行融合处理,处理后的图像数据即是得到图像细节增强处理后的红外图像。

所以,由于上述图像处理过程是根据中央处理器ARM或图形处理器GPU中设置的软件程序来进行的,所以该红外DDE方法可以描述为:调用电子设备的ARM对图像数据顺序进行滤波预算法处理、灰度拉伸算法处理,得到第一处理结果,再顺序进行限制对比度均衡算法和局部直方图双线性插值算法处理,得到第二处理结果;调用电子设备的GPU对第二处理结果进行高频锐化算法处理,得到第三处理结果,将第三处理结果与第一处理结果进行局部直方图融合算法处理,得到DDE处理后的红外图像。

为了便于直观理解,结合图1对本发明方法的执行流程进行说明,图1以及后面的附图中涉及到的CPU均是处理器ARM,如图1所示,ARM对图像数据顺序进行均值滤波、中值滤波预处理和14位到10位灰度线性拉伸处理,得到第一处理结果;再对第一处理结果顺序进行限制对比度均衡算法和局部直方图双线性插值算法处理。

如图2-8所示为该图像增强方法的每个步骤的流程示意图,下面结合附图对该方法中的每个步骤进行详细地说明。

在本实施例中,针对于配置有多核ARM的嵌入式SOC架构电子设备,本发明可以同时多线程处理图像数据,并根据数据并行度和系统硬件性能为各路图像数据分配ARM内核,以使得ARM等硬件资源得到充分利用,避免出现过分空闲的情况,提高整体数据吞吐率;此外,本发明可以构建多通道图像并行ARM和GPU逐帧异构框架,实时处理图像数据,更符合实际应用的场景,如图2所示。

如图3所示,ARM对图像数据顺序进行均值滤波和中值滤波预处理之后得到滤波预处理图像数据。其中,“椒盐”描述的是噪声的形式,“椒”为黑点,“盐”为白点,“椒盐噪声”就是在图像上随机出现黑色白色的像素点噪声。

紧接着,如图4所示,ARM对滤波预处理图像数据进行14位到10位灰度线性拉伸处理,得到第一处理结果。

如图5和6所示,为ARM根据第一处理结果进行相应地处理之后获取得到第二处理结果的流程图,具体为:对第一处理图像依次按照限制对比度均衡算法进行对比度处理和按照局部直方图双线性插值算法进行直方图插值处理,得到第二处理结果。

所以,通过ARM能够最终获取根据局部直方图双线性插值算法进行直方图插值处理而得到的处理结果。

经过ARM处理后得到的第二处理结果输出给GPU,ARM与GPU之间的数据传递方式可以为:ARM将数据发送至预先建立的缓冲队列,GPU从预先建立的缓冲队列异步获取数据。基于前述数据传递方式,ARM、GPU各个步骤可以完全异步执行,而且耦合很低,使得扩展通过GPU个数、ARM核心数、缓冲队列长度来提高计算能力简单易行。

由于在并行规模小的低分辨率图像解码中,高频锐化环节的GPU处理并不快于串行的ARM处理,但是在高分辨率图像的解码中将高频锐化环节的GPU处理速度与ARM接近,将计算任务分配到GPU,因此,可以根据图像的分辨率值,在不影响解码速度的前提下,决定将高频锐化环节调度到GPU上,GPU对ARM输送的第二处理结果按照高频锐化算法进行高频锐化处理。

GPU可以使用一个专门的守护线程,负责显存-内存数据的传输以及与其他线程的通信,以便获知读取和写入目的缓冲的是否可用。前述专门的守护线程负责从ARM-GPU中间数据队列取数据,上传到显存,执行GPU处理阶段,将结果下传到输出缓冲数组的对应位置中,同时负责与其他环节的ARM线程通信。ARM扫描线程得到GPU守护线程的队列非空信号后,扫描一次输出缓冲队列,将索引最小的数据输出。

一方面计算使用的计算线程可以根据需要扩充,使用的GPU kernel的个数也可以设置为两个以上,缓冲长度也可以根据内存任意调整,这样扩充同时计算能力以增加吞吐率十分简单,还可以自定义对ARM、GPU、内存等硬件的适应性的调优;另一方面实现了内部高效的乱序并发解码,而从程序外部看,输出的序列顺序与输入序列相同,输出保持原有的顺序。

可以根据图像数据在粗粒度上并行度高(codeblock之间),在细粒度上完全串行(codeblock自身)的特征,以及GPU一个Local size线程组内部一次只能执行一种指令的特点,制订GPU线程和数据之间的映射关系。具体为:在对第二处理结果按照高频锐化算法进行锐化处理时,如图7所示,将第二处理结果划分为若干个数据块,调用电子设备的GPU为第二处理结果中的每个图像数据块分配一个线程束Local size,数据块与线程束一一对应,不同图像数据块对应不同的线程束Local size;以Local size为处理单位对第二处理结果中的每个图像数据块进行高频锐化算法处理,得到第三处理结果。

具体的,以数据块为单位进行数据处理,数据块之间独立计算。数据块内部,不具有强迭代性和相关性,易于并行。图像越大数据块总量越多。因此并行方式为:1、数据块间并发,每个数据块对应一个线程束;2、OpenCL中的线程以Local size(一般个数为16)为单位进行组织和调度;3、一个Local size一次只能执行一个计算中的分支,高频锐化算法内部几乎充满分支,因此理想的做法是每16个线程只使用一个执行计算,节省数据传输带宽;4、将算数编码所需的部分分支判断操作转换为查表运算;5、使用共享内存存储中间结果。另外,在本实施例中,将第二处理结果中的每个像素定义为一个数据块,那么,分配的线程束的个数就与像素的个数相同,并且线程束和像素之间是一一对应的关系。

在由GPU负责执行对第二处理结果的后续处理的情况下,ARM可以将第一处理结果发送至显存,以便GPU快速获取数据进行处理。利用GPU的并行能力直接在显存中将锐化之后得到的处理结果(第三处理结果)与第一处理结果进行局部直方图融合算法处理,以提高GPU执行内存读取数据的效率。利用GPU的显存缓存和ARM内存缓存的互访数据映射机制,以减少从内存到显存的数据拷贝次数,优化的数据读取速度。

电子设备的GPU执行高频锐化和局部直方图融合,如图8所示,可以包括:该模块输入16位数据线性拉伸图像数据,其中10位有效,输入8位数据局部均衡增强数据。算法在GPU中并行执行,一次计算2个float像素数据,需要320×512个线程,每个GPU kernel的global size分配320×512个线程,local size分配8×8个线程,线程数据之间没有相关性,模块实现流程如图8所示。为了减少GPU访存,因此本发明采用向量一次抓取图像数据中两个像素float2,并作向量运算,以便减小GPU kernel函数的编译指令数。

由此可见,本发明的基于ARM和GPU的红外DDE方法,在高分辨率图像的解码中调用GPU执行高频锐化算法的速度与ARM接近,将高频锐化算法的执行操作分配到GPU,一方面在不影响解码速度的前提下减轻了ARM的负荷,另一方面充分利用的空闲的GPU资源,从而实现了ARM、GPU的负载均衡,增加系统的总体吞吐率。

另外,GPU执行过程中可以进行上传、执行、下载的并行化。具体的,使用GPU的Stream特性,在执行当前图像解码时,完成将上一帧图像的结果传输到内存,并预先将下一帧图像的数据读取到缓存中,隐藏了数据传输的时间。

在OpenCL定义的GPU接口主要分为三类:数据上传、执行并行计算,下载数据到内存,三种操作都可以是异步的,但要正确获取结果,要在正确的时间同步。这三类必须串行执行,否则会发生逻辑错误。OpenCL定义了新的结构数据流stream,可以理解为上传/执行/下载序列的容器。OpenCL中同类型的操作无法并行,例如多个数据流stream之间的上传操作只能是串行的。因此本发明提出了如图9所示的基于stream的并行方式,图中横轴是操作实际的执行时间,倾斜的纵轴是触发时间,也就是调用操作接口的时间。一个反“L”型方框内是一次循环内的执行内容,可以看到采用如图9所示的异步API调用顺序,上传到显存、下载到内存以及执行运算时间被很好地重叠,实际用时由三者之和减少为三者中最长的那个,显著地减少了总体时间。

较佳的,针对ARM和GPU逐帧异构并行的解码方案。具体的,将实时采集的图像数据按照并行度逐帧将其传入ARM、GPU实现流水作业,这样硬件计算资源可以得到充分使用,不会出现空闲,提高整体数据吞吐率。

这样做的优势在于提供ARM-GPU负载调节机制,充分发挥硬件性能,增加图像特点适应性,各种图像都能高效处理。用户不必关心各个算法的细节或者了解算法硬件的映射方式,只需要根据图像特点和计算资源的限制选择合适的通道即可获得初步的优化。

为了进一步验证本发明方法的优越性,下面通过如下表格中的数据进行说明。

根据红外DDE主要的环节:滤波预处理、灰度拉伸、限制对比度均衡、头信息解析、局部直方图双线性插值和高频锐化和局部直方图融合,将上述解码环节分别使用ARM、GPU实现。各个解码环节的映射关系如下表1所示:

表1

由表中可以看出DDE环节有不同的运算特点,适合并行的模块可并行的方式也不尽相同。将可并行的部分使用合适的方式映射到GPU的线程资源,充分利用GPU计算单元多、并行度高的优点,规避GPU不善于处理分支多、相关性高的运算的弱点,充分利用计算资源。在ARM计算阶段过渡到GPU时需要内存数据上传到显存,在GPU计算期间,数据一直驻留在显存,改变线程映射方式不需要额外的时间,验证了本发明方法在理论上是最优的。在实际实验中,例如在输入图像参数为16bit位深度单通道,使用IMX6平台,可以达到每秒处理25fps的处理数据。由此可见,本发明方法充分利用当前计算机多核ARM+GPU架构的计算能力,也提升了实时图像采集并行处理的吞吐率。

在本实施例中,上述各个步骤中涉及到的处理算法均为现有常规算法,所以,就不再对各个算法本身进行详细介绍。

上述实施例中,对于图像细节增强方法中的各个步骤进行了具体说明,并给出了对应的具体实施方式,但是,本发明的基本思路在于上述基本技术方案,所以,本发明并不局限于上述对于各个步骤的具体描述。

装置实施例

相应于上面提到的方法实施例,本发明还提供了一种基于SOC架构的红外增强装置。

该装置具体为配置有中央处理器ARM和图形处理器GPU的嵌入式SOC架构电子设备,该电子设备中:

中央处理器ARM执行以下软件模块:

滤波处理模块,用于对数据接收模块接收到的图像数据按照滤波预算法进行滤波处理,滤波处理分为暗顺序进行均值滤波和中值滤波预处理;

灰度处理模块,用于对经滤波处理后的图像数据按照灰度拉伸算法进行14位到10位灰度线性拉伸处理;

对比度处理模块,用于对经灰度处理后的图像数据按照限制对比度均衡算法进行对比度处理;

直方图插值处理模块,用于对经对比度处理后的图像数据按照局部直方图双线性插值算法进行直方图插值处理;

图形处理器GPU执行以下软件模块:

锐化处理模块,用于对经直方图插值处理后的图像数据按照高频锐化算法进行锐化处理;

直方图融合模块,用于将经灰度处理后的图像数据与经锐化处理后的图像数据进行按照局部直方图融合算法进行融合处理,处理后的图像数据即是得到图像细节增强处理后的红外图像。

由此可见,本发明的基于ARM和GPU的图像细节增强装置,在高分辨率图像的解码中调用GPU执行高频锐化算法的速度与ARM接近,将高频锐化算法的执行操作分配到GPU,一方面在不影响处理速度的前提下减轻了ARM的负荷,另一方面充分利用的空闲的GPU资源,从而实现了ARM、GPU的负载均衡,增加系统的总体吞吐率。

进一步地,直方图融合模块为数据int到float格式转换模块,用于利用GPU的并行能力直接在显存中将经灰度处理后的图像数据与经锐化处理后的图像数据进行局部直方图融合算法处理,以提高电子设备的GPU执行内存读取数据的效率。

对于装置实施例而言,由于该装置中的各个模块均为功能模块,均为通过相应的软件程序来实现相应的功能,所以,该装置本质上仍旧是方法,由中央处理器ARM执行以下操作:对数据接收模块接收到的图像数据按照滤波预算法进行滤波处理,滤波处理分为暗顺序进行均值滤波和中值滤波预处理;对经滤波处理后的图像数据按照灰度拉伸算法进行14位到10位灰度线性拉伸处理;对经灰度处理后的图像数据按照限制对比度均衡算法进行对比度处理;对经对比度处理后的图像数据按照局部直方图双线性插值算法进行直方图插值处理;

由图形处理器GPU执行以下操作:对经直方图插值处理后的图像数据按照高频锐化算法进行锐化处理;将经灰度处理后的图像数据与经锐化处理后的图像数据进行按照局部直方图融合算法进行融合处理,处理后的图像数据即是得到图像细节增强处理后的红外图像。

由于该方法在上述方法实施例中已进行了详细的描述,所以在装置实施例中描述的比较简单,相关之处参见方法实施例的相应说明即可。

以上给出了具体的实施方式,但本发明不局限于所描述的实施方式。本发明的基本思路在于上述基本方案,对本领域普通技术人员而言,根据本发明的教导,设计出各种变形的模型、公式、参数并不需要花费创造性劳动。在不脱离本发明的原理和精神的情况下对实施方式进行的变化、修改、替换和变型仍落入本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号