本发明涉及图像处理技术领域,具体而言,涉及一种红外图像校正方法、装置及存储介质。
背景技术:
在红外成像系统中,由于生产材料不均匀及制作工艺原因,红外焦平面阵列探测元之间普遍存在着差异性,导致不同探测元在相同辐射输入时的输出不一致。从而导致成像后的红外图像具有严重的非均匀性,红外成像系统灵敏度和可靠性严重下降。
针对红外图像非均匀性严重的问题,目前主要有两种解决方案:一是提高红外探测器的制造水平,减小irfpa各探测元之间的差异性,但是探测器制造研发耗费巨大且周期长,局限于材料学、制造工艺和电子技术等,该方案短期内无法完全解决上述问题;二是采用信号处理技术对红外图像进行相应预处理操作,从而改善红外图像的质量,该方案易于实现,投入较小,而且便于快速推广和应用,是目前应用最广泛的一种方法。
在红外图像非均匀校正算法中,基于场景的校正方法由于其具有可自适应跟踪校正参数的漂移,无需进行参考辐射定标等优点是目前的发展趋势,其中基于神经网络的非均匀性校正算法由于其校正效果好,原理简单、实时性好和易于硬件实现等优点,被广泛关注和使用。但是,现存的基于神经网络的非均匀性校正算法由于对校正区域参数的更新与否的判断依据依然不完善,导致校正后图像普遍存在剩余非均匀性依然较大以及边缘模糊问题依然严重的问题,最终校正图像质量较低。
综上,即现有技术存在的问题是校正参数的更新判断依据不完善,校正后无法有效减弱图像的非均匀性问题。
技术实现要素:
有鉴于此,本发明实施例的目的在于提供一种红外图像校正方法、装置及存储介质,该红外图像校正方法通过运动累积量与校正位置的邻域相关度对校正参数值进行更新,解决了现有技术存在的校正参数的更新判断依据不完善,校正后无法有效降低图像的非均匀性的问题。
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种红外图像校正方法,包括:
根据当前帧图像中的第一像素的邻域相关度,获得所述第一像素的期望灰度值,所述当前帧图像为红外图像,所述第一像素为所述当前帧图像中的任一像素;
根据所述第一像素的期望灰度值,获得所述第一像素相对于上一帧图像的第二像素的运动累积量,其中,所述第一像素在所述当前帧图像中的位置与所述第二像素在所述上一帧图像中的位置相同;
根据所述运动累积量与所述第一像素的邻域相关度,获得所述第一像素的校正参数值;
根据所述校正参数值,对所述第一像素进行校正。
优选地,所述根据当前帧图像中的第一像素的邻域相关度,获得所述第一像素的期望灰度值的步骤,包括:
当所述第一像素的邻域相关度小于预设的空间阈值时,对所述第一像素进行高斯滤波处理,得到所述第一像素的期望灰度值;和/或
当所述第一像素的邻域相关度大于或等于预设的空间阈值时,对所述第一像素进行双边滤波处理,得到所述第一像素的期望灰度值。
优选地,所述根据所述第一像素的期望灰度值,获得所述当前帧图像相对于上一帧图像的第二像素的运动累积量的步骤,包括:
根据所述第二像素的期望灰度值与所述第二像素的运动中间变量,获取所述第一像素的运动中间变量;其中,所述第二像素的期望灰度值是根据所述第二像素的邻域相关度获得,所述第一像素运动中间变量的初始值为首帧图像的期望灰度值;
根据所述第一像素的运动中间变量与所述第一像素的期望灰度值,获取所述运动累积量。
优选地,所述根据所述第二像素的期望灰度值与所述第二像素的运动中间变量,获取所述第一像素的运动中间变量的步骤,包括:
获取所述第二像素的期望灰度值与所述第二像素的运动中间变量的绝对差值;
若所述绝对差值大于预设的运动量阈值,则将所述第二像素的期望灰度值作为所述第一像素的运动中间变量;
若所述绝对差值小于或等于预设的运动量阈值,则将所述第二像素的运动中间变量作为所述第一像素的运动中间变量。
优选地,所述根据所述运动累积量与所述第一像素的邻域相关度,获得所述第一像素的校正参数值的步骤,包括:
根据所述第一像素的运动累积量的大小与所述第一像素的邻域相关度,获取更新所述第一像素的校正参数的迭代步长;
根据更新所述第一像素的校正参数的迭代步长,获取所述第一像素的校正参数值。
优选地,所述根据所述第一像素的运动累积量的大小与所述第一像素的邻域相关度,获取更新所述第一像素的校正参数的迭代步长的步骤,包括以下方式中的一种或多种:
当所述第一像素的运动累积量大于预设的运动量阈值时,根据
当所述第一像素的运动累积量小于预设的运动量阈值,且所述第一像素的邻域相关度小于预设的空间阈值时,根据
当所述第一像素的运动累积量小于预设的运动量阈值,且所述第一像素的邻域相关度大于预设的空间阈值时,获取的更新所述第一像素的校正参数的迭代步长为零;
其中,μij(n)为迭代步长,k1为运动时的最大迭代步长,k2为运动不足或静止状态下最大迭代步长,m为归一化常数,σij2(n)为第一像素的邻域方差,n为第n帧图像。
优选地,所述根据更新所述第一像素的校正参数的迭代步长,获取所述第一像素的校正参数值的步骤,包括:
根据gij(n+1)=gij(n)-2μij(n)xij(n)eij(n),获取所述第一像素的校正参数值中的增益校正系数;
根据oij(n+1)=oij(n)-2μij(n)eij(n),获取所述第一像素的校正参数值中的偏置校正系数;
其中,gij(n)为增益校正系数,oij(n)为偏置校正系数,μij(n)为迭代步长,xij为未校正的图像理论输出值,eij(n)为误差值,eij(n+1)=yij(n)-fij(n),fij(n)为期望灰度值。
优选地,所述根据所述校正参数值,对所述第一像素进行校正的步骤,包括:
根据yij(n)=gij(n)xij(n)+oij(n)对所述第一像素进行校正;其中,yij(n)为校正后的所述第一像素的理论输出值。
第二方面,本申请通过本申请的一实施例提供如下技术方案:
一种红外图像校正装置,包括:
期望灰度值获取模块,用于根据当前帧图像中的第一像素的邻域相关度,获得所述第一像素的期望灰度值,所述当前帧图像为红外图像,所述第一像素为所述当前帧图像中的任一像素;
运动累积量获取模块,用于根据所述第一像素的期望灰度值,获得所述第一像素相对于上一帧图像的第二像素的运动累积量,其中,所述第一像素在所述当前帧图像中的位置与所述第二像素在所述上一帧图像中的位置相同;
校正参数值获取模块,用于根据所述运动累积量与所述第一像素的邻域相关度,获得所述第一像素的校正参数值;
校正模块,用于根据所述校正参数值,对所述第一像素进行校正。
第三方面,本申请通过本申请的一实施例提供如下技术方案:
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
根据当前帧图像中的第一像素的邻域相关度,获得所述第一像素的期望灰度值,所述当前帧图像为红外图像,所述第一像素为所述当前帧图像中的任一像素;
根据所述第一像素的期望灰度值,获得所述第一像素相对于上一帧图像的第二像素的运动累积量,其中,所述第一像素在所述当前帧图像中的位置与所述第二像素在所述上一帧图像中的位置相同;
根据所述运动累积量与所述第一像素的邻域相关度,获得所述第一像素的校正参数值;
根据所述校正参数值,对所述第一像素进行校正。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明提供的一种红外图像校正方法,与现有技术相比,该方法通过获取当前帧图像的第一像素的期望灰度值,并根据期望灰度值获取当前帧相对于上一帧图像(第二像素)的运动累积量,运动累积量的大小可以反应出当前帧图像相较于上一帧图像的场景的运动状态。同时根据运动累积量的大小结合所述第一像素的邻域相关度,对该第一像素的校正参数进行修正,可保证运动状态为运动不足或静止场景下图像的局部均匀区域与非均匀区域进行区别更新,达到了校正参数值更新判断的合理性,提高校正后红外图像的均匀性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他相关的附图。
图1为本发明第一实施例提供的一种红外图像校正方法的流程图;
图2为图1的步骤s20的子步骤的流程图;
图3为图1的步骤s30的子步骤的流程图;
图4为本发明第二实施例提供的一种红外图像校正装置的功能模块图;
图5为本发明第三实施例提供的一种存储介质的结构示意图。
图标:300-红外图像校正装置;301-期望灰度值获取模块;302-运动累积量获取模块;303-校正参数值获取模块;304-校正模块;500-存储介质;511-计算机程序。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获取的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
第一实施例
请参照图1,图1示出了本实施例中提供一种红外图像校正方法的步骤流程图,下面将对该方法进行详细阐述。具体的,该方法包括:
步骤s10:根据当前帧图像中的第一像素的邻域相关度,获得所述第一像素的期望灰度值,所述当前帧图像为红外图像,所述第一像素为所述当前帧图像中的任一像素。
步骤s20:根据所述第一像素的期望灰度值,获得所述第一像素相对于上一帧图像的第二像素的运动累积量。
步骤s30:根据所述运动累积量与所述第一像素的邻域相关度,获得所述第一像素的校正参数值。
步骤s40:根据所述校正参数值,对所述第一像素进行校正。
其中:
步骤s10:根据当前帧图像中的第一像素的邻域相关度,获得所述第一像素的期望灰度值,所述当前帧图像为红外图像,所述第一像素为所述当前帧图像中的任一像素。
在步骤s10中,所述的当前帧图像即为需要校正的一帧红外图像。
第一像素的所在位置可使用坐标(i,j)进行表示,参考原点可任意确定。所述邻域相关度指,在所述第一像素的所在位置的邻域上图像相关性的强弱。图像相关性强的邻域上表明该区域属于图像的非边缘或非细节区域;图像相关性弱的邻域上表明该区域属于图像的边缘或细节区域。
其中,邻域为像素所在位置的预设范围内(指定距离内)的区域,具体的,第一像素的邻域为以当前像素的坐标位置(i,j)为基础,划定一与之相邻的图像范围ω,对任意的(p,q)都属于ω,ω即为第一像素的邻域。
更进一步的,步骤s10中获取所述当前帧第一像素的期望灰度值具体包括两种情况:
第一,在当前帧图像中,第一像素的邻域相关度小于预设的空间阈值时,对第一像素进行高斯滤波处理,得到第一像素的期望灰度值。当第一像素的邻域相关度小于(或等于)预设的空间阈值时代表第一像素的邻域相关性强。
第二,在当前帧图像中,当第一像素的邻域相关度大于或等于预设的空间阈值时,对第一像素的像素点进行双边滤波处理,得到第一像素的期望灰度值。当第一像素的邻域相关度大于或等于预设的空间阈值时代表第一像素的邻域相关性弱。
具体的,相关性的强弱可通过函数
此时,第一像素的期望灰度值可表示为
通过步骤s10的高斯滤波与双边滤波的结合可保证图像得到更好的滤波降噪处理的同时,防止图像的边缘模糊化。
步骤s20:根据所述第一像素的期望灰度值,获得所述第一像素对于上一帧图像的第二像素的运动累积量。
其中,所述第一像素在所述当前帧图像中的位置与所述第二像素在所述上一帧图像中的位置相同,同上位置坐标可使用(i,j)表示。
请参阅图2,在步骤s20中,运动累积量表示同一像素位置的当前帧图像相较于上一帧图像的变化值,即第一像素与第二像素的图像变化值,可以是像素值的变化。除特别说明之外,后文所述的运动累积量均指所述第一像素相对于第二像素之间的运动累积量。具体的,步骤s20可包括:
步骤s21:根据所述第二像素的期望灰度值与所述第二像素的运动中间变量,获取所述第一像素的运动中间变量。在步骤s21中,所述第二像素的期望灰度值根据所述第二像素的邻域相关度获得,所述第一像素运动中间变量的初始值为首帧图像的期望灰度值。所述运动中间变量的获取方法分别为:
获取所述第二像素的期望灰度值与所述第二像素的运动中间变量的绝对差值。
然后,若所述绝对差值大于预设的运动量阈值,则将所述第二像素的期望灰度值作为所述第一像素的运动中间变量;若所述绝对差值小于或等于预设的运动量阈值,则将所述第二像素的运动中间变量作为所述第一像素的运动中间变量。具体的,所述运动中间变量可根据运动中间变量的更新/迭代公式进行获取,
步骤s22:根据所述第一像素的运动中间变量与所述第一像素的期望灰度值,获取运动累积量。即当前帧图像的第一像素的运动累积量为当前帧的第一像素的期望灰度值与第一像素的运动中间变量的差值,具体表示为|fij(n)-zij(n)|。通过运动累积量可判断当前帧图像的运动状态(图像的变化状态),可将像素点运动不足或静止的场景进行有效的识别和区分。
步骤s30:根据所述运动累积量与所述第一像素的邻域相关度,获得所述第一像素的校正参数值。
请参阅图3,在步骤s30中,具体获取第一像素的校正参数值的方法包括:
步骤s31:根据所述第一像素的运动累积量的大小与所述第一像素的邻域相关度,获取更新所述第一像素的校正参数的迭代步长。迭代步长的更新根据图像中像素位置的运动状态和该像素位置的图像均匀性进行。具体包括以下一种或多种:
当所述第一像素的运动累积量大于预设的运动量阈值时,根据
当所述第一像素的运动累积量小于预设的运动量阈值,且所述第一像素的邻域相关度小于预设的空间阈值时,根据
当所述第一像素的运动累积量小于预设的运动量阈值,且所述第一像素的邻域相关度大于预设的空间阈值时,获取的的更新所述第一像素的更新校正参数的迭代步长为零;即不对校正参数进行更新,保证图像中非均匀区域的场景得到持续修正。
在步骤s31中,μij(n)为迭代步长,k1为运动时的最大迭代步长,k2为运动不足或静止状态下最大迭代步长,m为归一化常数,σij2(n)为第一像素的邻域方差,n为第n帧图像。
步骤s32:根据更新所述第一像素的校正参数的迭代步长,获取所述第一像素的校正参数值。在步骤s32中,校正参数值具体包括:增益校正系数与偏置校正系数。
具体的,根据gij(n+1)=gij(n)-2μij(n)xij(n)eij(n),获取所述第一像素的校正参数值中的增益校正系数。根据oij(n+1)=oij(n)-2μij(n)eij(n),获取所述第一像素的校正参数值中的偏置校正系数。
其中,gij(n)为增益校正系数,oij(n)为偏置校正系数,μij(n)为迭代步长,xij为未校正的图像理论输出值,eij(n)为误差值,eij(n+1)=yij(n)-fij(n),fij(n)为期望灰度值。使用更新后所得到的增益校正系数与偏置校正系数,即可进行下一步骤的图像校正。
步骤s40:根据所述校正参数值,对所述第一像素进行校正。
在步骤s40中,具体根据校正公式yij(n)=gij(n)xij(n)+oij(n)对当前帧图像进行校正,获得校正后的红外图像,其中,yij(n)为校正后的所述第一像素的理论输出值。由于,本实施例中针对图像不同像素点位置根据运动积累量大小与邻域相关度进行了校正参数的跟新,保证了得到的增益校正系数与偏置校正系数更加可靠,使最终得到红外图像具有更高的均匀性。
第二实施例
请参阅4,基于同一发明构思,在本实施例中还提供一种可应用上述红外图像校正方法的红外图像校正装置300,该装置具体包括:期望灰度值获取模块301、运动累积量获取模块302、校正参数值获取模块303和校正模块304。
期望灰度值获取模块,用于根据当前帧图像中的第一像素的邻域相关度,获得所述第一像素的期望灰度值,所述当前帧图像为红外图像,所述第一像素为所述当前帧图像中的任一像素。
运动累积量获取模块,用于根据所述第一像素的期望灰度值,获得所述第一像素相对于上一帧图像的第二像素的运动累积量,其中,所述第一像素在所述当前帧图像中的位置与所述第二像素在所述上一帧图像中的位置相同。
校正参数值获取模块,用于根据所述运动累积量与所述第一像素的邻域相关度,获得所述第一像素的校正参数值。
校正模块,用于根据所述校正参数值,对所述第一像素进行校正。
本实施例中的各个功能模块的其他做作用或可执行的方法请参阅第一实施例中对应的方法步骤,在本实施例中不再赘述。
第三实施例
请参阅图5,基于同一发明构思,在本实施例中还提供一种存储介质500,具体的为一种计算机可读存储介质,其上存储有计算机程序511,所述计算机程序511被处理器执行时实现以下步骤:
根据当前帧图像中的第一像素的邻域相关度,获得所述第一像素的期望灰度值,所述当前帧图像为红外图像,所述第一像素为所述当前帧图像中的任一像素;
根据所述第一像素的期望灰度值,获得所述第一像素相对于上一帧图像的第二像素的运动累积量,其中,所述第一像素在所述当前帧图像中的位置与所述第二像素在所述上一帧图像中的位置相同;
根据所述运动累积量与所述第一像素的邻域相关度,获得所述第一像素的校正参数值;
根据所述校正参数值,对所述第一像素进行校正。
本实施例中的存储介质500中的计算机程序511被处理器执行时可实现的其他步骤轻参照第一实施例中的方法,不再赘述。
综上所述:
本发明提供的一种红外图像校正方法,与现有技术相比,该方法通过获取校正位置的期望灰度值即第一像素的期望灰度值,并根据第一像素的期望灰度值获取第一像素的相对于上一帧相同位置之间的运动累积量,运动累积量的大小可以反应出当前帧图像相较于上一帧图像的场景的运动状态。同时根据运动累积量的大小结合校正位置(第一像素的)的邻域相关度,对该校正位置的校正参数进行修正,可保证运动状态为运动不足或静止场景下图像的局部均匀区域与非均匀区域进行区别更新,达到了校正参数值更新判断的合理性,提高校正后红外图像的均匀性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
本发明中的所述方法功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。