CN112767278A - 基于非均匀大气光先验的图像去雾方法及相关设备 - Google Patents
基于非均匀大气光先验的图像去雾方法及相关设备 Download PDFInfo
- Publication number
- CN112767278A CN112767278A CN202110122257.4A CN202110122257A CN112767278A CN 112767278 A CN112767278 A CN 112767278A CN 202110122257 A CN202110122257 A CN 202110122257A CN 112767278 A CN112767278 A CN 112767278A
- Authority
- CN
- China
- Prior art keywords
- pixel
- value
- pixel position
- atmospheric light
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000001914 filtration Methods 0.000 claims description 51
- 230000005540 biological transmission Effects 0.000 claims description 34
- 238000002834 transmittance Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 15
- 238000009828 non-uniform distribution Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000000149 argon plasma sintering Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- GJWAPAVRQYYSTK-UHFFFAOYSA-N [(dimethyl-$l^{3}-silanyl)amino]-dimethylsilicon Chemical compound C[Si](C)N[Si](C)C GJWAPAVRQYYSTK-UHFFFAOYSA-N 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G06T5/73—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Abstract
本申请涉及一种基于非均匀大气光先验的图像去雾方法及相关设备。所述方法包括:获取原始图像,原始图像中包括各像素位置对应的第一像素值,根据各像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图;根据亮通道图中各像素位置所在局部图块中的第二像素值最大值,确定各像素位置对应的第一目标像素位置,根据各第一目标像素位置对应的第一像素值,确定各像素位置对应的大气光值;根据各像素位置对应的第一像素值和大气光值,获得各像素位置对应的透射率;基于各像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。采用本方法能够适用于大气光非均匀分布的复杂场景,提高去雾效果。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种基于非均匀大气光先验的图像去雾方法及相关设备。
背景技术
图像是信息时代的重要信息来源,但是由于大气中的微粒会对光线进行反射与折射,导致拍摄的照片、视频会发生显著的退化,这会影响人们的视觉体验和后期的计算机视觉算法的效果,从而可能造成严重的损失,如港口船只停泊系统、机场飞机起降监控系统、高速公路视频监控系统等都可能会因为浓雾对成像的还化作用而发生瘫痪,影响人们的出行。因此,对有雾的图像或视频的恢复算法的研究意义重大且极具应用前景。
目前,基于物理模型的去雾算法中,参照的是相同的大气模型,即模型中的大气光是均匀分布的,这是一种简化的模型,不适用复杂的真实场景,去雾效果有待提高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高去雾效果的基于非均匀大气光先验的图像去雾方法及相关设备。
一种基于非均匀大气光先验的图像去雾方法,所述方法包括:
获取原始图像,所述原始图像中包括各像素位置对应的第一像素值,根据各所述像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图;
根据所述亮通道图中各所述像素位置所在局部图块中的第二像素值最大值,确定各所述像素位置对应的第一目标像素位置,根据各所述第一目标像素位置对应的第一像素值,确定各所述像素位置对应的大气光值;
根据各所述像素位置对应的第一像素值和大气光值,获得各所述像素位置对应的透射率;
基于各所述像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。
一种基于非均匀大气光先验的图像去雾装置,所述装置包括:
获取模块,用于获取原始图像,所述原始图像中包括各像素位置对应的第一像素值,根据各所述像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图;
大气光值确定模块,用于根据所述亮通道图中各所述像素位置所在局部图块中的第二像素值最大值,确定各所述像素位置对应的第一目标像素位置,根据各所述第一目标像素位置对应的第一像素值,确定各所述像素位置对应的大气光值;
透射率确定模块,用于根据各所述像素位置对应的第一像素值和大气光值,获得各所述像素位置对应的透射率;
去雾模块,用于基于各所述像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取原始图像,所述原始图像中包括各像素位置对应的第一像素值,根据各所述像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图;
根据所述亮通道图中各所述像素位置所在局部图块中的第二像素值最大值,确定各所述像素位置对应的第一目标像素位置,根据各所述第一目标像素位置对应的第一像素值,确定各所述像素位置对应的大气光值;
根据各所述像素位置对应的第一像素值和大气光值,获得各所述像素位置对应的透射率;
基于各所述像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取原始图像,所述原始图像中包括各像素位置对应的第一像素值,根据各所述像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图;
根据所述亮通道图中各所述像素位置所在局部图块中的第二像素值最大值,确定各所述像素位置对应的第一目标像素位置,根据各所述第一目标像素位置对应的第一像素值,确定各所述像素位置对应的大气光值;
根据各所述像素位置对应的第一像素值和大气光值,获得各所述像素位置对应的透射率;
基于各所述像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。
上述基于非均匀大气光先验的图像去雾方法及相关设备,利用各像素位置所在局部图块中的最大像素值,确定各像素位置对应的大气光值,使得各像素位置对应的大气光值更符合大气光非均匀分布的现实场景,从而提高光线复杂的场景下的图像去雾效果。
附图说明
图1为一个实施例中基于非均匀大气光先验的图像去雾方法的流程示意图;
图2为一个实施例中侧窗滤波模板示意图;
图3为一个实施例中根据各像素位置对应的第一像素值和大气光值,获得各像素位置对应的透射率步骤的流程示意图;
图4为一个实施例中基于非均匀大气光先验的图像去雾方法的流程示意图;
图5为一个实施例中基于非均匀大气光先验的图像去雾装置的结构框图;
图6为一个实施例中基于FPGA的视频图像去雾方法的流程示意图;
图7为一个实施例中基于FPGA的视频图像去雾系统架构的示意图;
图8为一个实施例中多帧缓冲机制的示意图;
图9为一个实施例中图像去雾效果示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种基于非均匀大气光先验的图像去雾方法,包括以下步骤S102至步骤S108。
S102,获取原始图像,原始图像中包括各像素位置对应的第一像素值,根据各像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图。
原始图像指的是待进行去雾处理的图像,可以理解为有雾图像。第一像素值表示原始图像中的像素值,其包括各通道的像素值,这里的通道指的是颜色通道,包括红色通道(R)、绿色通道(G)和蓝色通道(B)。每个像素位置对应的第一像素值包括三个分量,每个分量对应一个通道的像素值。
第二像素值表示最大通道的像素值,最大通道表示三个颜色通道中像素值最大的通道。对于任一像素位置,从其对应的第一像素值中的三个分量中提取最大分量,该最大分量即为该像素位置对应的第二像素值,也即亮通道图中该像素位置处的像素值。可以理解,亮通道图与原始图像的像素位置一一对应,亮通道图中包括各像素位置对应的第二像素值。
S104,根据亮通道图中各像素位置所在局部图块中的第二像素值最大值,确定各像素位置对应的第一目标像素位置,根据各第一目标像素位置对应的第一像素值,确定各像素位置对应的大气光值。
根据先验,雾图中最亮处可以被认为是雾气最浓的地方,因此可以采用该最亮处的颜色值作为全局的大气光值。但由于现实场景中的大气光是非均匀分布的,因此使用全局大气光值作为运算参数在光线复杂的场景中是不合适的。基于此,将该先验扩展到局部空间中,利用各像素位置所在局部图块中的像素值最大值来确定各像素位置对应的大气光值。
具体而言,对于亮通道图中的任一像素位置,其所在局部图块指的是亮通道图中以该像素位置为中心点、半径为第一预设半径的局部图块,该局部图块中包含该像素位置以及该像素位置的若干邻域像素位置,其中,第一预设半径可以结合实际需求进行设置,此处不做限定。第一目标像素位置表示该局部图块中的第二像素值最大值所在的位置,该第一目标像素位置对应的第一像素值,也即原始图像中该第一目标像素位置处的像素值。
确定各像素位置对应的第一目标像素位置后,根据各第一目标像素位置对应的第一像素值,确定各像素位置对应的大气光值,可以理解的是,不同像素位置对应的大气光值并非一致的,更符合大气光非均匀分布的现实场景。
S106,根据各像素位置对应的第一像素值和大气光值,获得各像素位置对应的透射率。
具体而言,可以根据各像素位置对应的大气光值得到大气光图,结合原始图像和大气光图中的像素信息得到暗通道图,对暗通道图进行处理得到透射图,透射图中包括各像素位置对应的透射率。
S108,基于各像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。
可以预先建立非均匀大气光散射模型,该模型构建了原始图像及其对应的去雾后图像的映射关系,该映射关系中涉及大气光图和透射图。在一个实施例中,将原始图像、大气光图和透射图输入到非均匀大气光散射模型中,模型基于原始图像中各像素位置对应的第一像素值、大气光图中各像素位置的大气光值、以及透射图中各像素位置的透射率进行相应计算,输出该原始图像对应的去雾后图像。
上述基于非均匀大气光先验的图像去雾方法中,利用各像素位置所在局部图块中的最大像素值,确定各像素位置对应的大气光值,使得各像素位置对应的大气光值更符合大气光非均匀分布的现实场景,从而提高光线复杂的场景下的图像去雾效果。
在一个实施例中,根据亮通道图中各像素位置所在局部图块中的第二像素值最大值,确定各像素位置对应的第一目标像素位置的步骤,具体可以包括以下步骤:对于亮通道图中的每一像素位置,对其所在局部图块进行第一预设数量的侧窗滤波处理,获得第一预设数量的第二像素值最大值;计算像素位置对应的第二像素值与各第二像素值最大值的差值绝对值,将其中最小的差值绝对值对应的第二像素值最大值所在的位置,作为像素位置对应的第一目标像素位置。
具体而言,可以通过侧窗滤波方式获得亮通道图中每一像素位置所在局部图块中的第二像素值最大值,局部图块以当前像素位置(或称为锚点)为中心,以第一预设半径(用rA表示)为半径。相对于普通滤波,侧窗滤波方式可以保留边缘信息,滤波效果更好。第一预设数量表示侧窗滤波所使用的模板数量,使用不同的侧窗滤波模板可能得到不同的第二像素值最大值,通过比较各第二像素值最大值与锚点的第二像素值,确定最优的侧窗滤波模板,将最优的侧窗滤波模板下得到的第二像素值最大值对应的位置,作为锚点对应的第一目标像素位置。
如图2所示,对于每个像素位置,使用了8个侧窗滤波模板(上、下、左、右、左上、右上、左下、右下),得到8个第二像素值最大值,分别表示为MAX0(IMAX(X0,Y0),rA),MAX1(IMAX(X0,Y0),rA),...,MAX7(IMAX(X0,Y0),rA),其中,IMAX表示亮通道图,(X0,Y0)表示当前像素位置(中心点位置)的坐标,IMAX(X0,Y0)表示亮通道图中当前像素位置(X0,Y0)的第二像素值,rA表示第一预设半径。这8个第二像素值最大值所在的位置坐标分别表示为L0(x’0,y’0),L1(x’0,y’0),...,L7(x’0,y’0),分别计算这8个第二像素值最大值与IMAX(X0,Y0)的差值绝对值,得到8个差值绝对值,假设其中MAX0(IMAX(X0,Y0),rA)与IMAX(X0,Y0)的差值绝对值最小,则将L0(x’0,y’0)作为当前像素位置(X0,Y0)对应的第一目标像素位置,根据原始图像中坐标L0(x’0,y’0)处的第一像素值确定当前像素位置(X0,Y0)对应的大气光值。滑动计算图块,可以获得所有像素位置对应的大气光值,从而得到非均匀的大气光图。
在一个实施例中,根据各第一目标像素位置对应的第一像素值,确定各像素位置对应的大气光值的步骤,具体可以包括以下步骤:将各第一目标像素位置对应的第一像素值,确定为各像素位置对应的第一大气光值;根据各像素位置对应的第一大气光值,得到第一大气光图,对第一大气光图进行导向滤波,得到各像素位置对应的大气光值。
在前述示例中,L0(x’0,y’0)为当前像素位置(X0,Y0)对应的第一目标像素位置,则将原始图像中坐标L0(x’0,y’0)处的第一像素值确定为当前像素位置(X0,Y0)对应的第一大气光值。根据各像素位置对应的第一大气光值,得到第一大气光图A_coarse。第一大气光图A_coarse的计算公式总结如下:
其中,c表示通道,c∈(R,G,B),Ω(x)表示原始图像上以(x)为中心点的局部空间。为了进一步去除噪声,使边缘信息更为精细,对第一大气光图进行导向滤波,得到最终的大气光图A_smooth,大气光图中包括各像素位置对应的大气光值。
在一个实施例中,如图3所示,根据各像素位置对应的第一像素值和大气光值,获得各像素位置对应的透射率的步骤,具体可以包括以下步骤S302至步骤S306。
S302,根据各像素位置对应的第一像素值与大气光值的比值,获得各像素位置对应的第三像素值,根据各像素位置对应的第三像素值中最小通道的第四像素值,得到最小通道图。
每个像素位置对应的第一像素值和大气光值均包括三个分量,相应的,根据第一像素值与大气光值的比值获得的第三像素值也包括三个分量,每个分量对应一个通道的像素值。第四像素值表示最小通道的像素值,最小通道表示三个颜色通道中像素值最小的通道。对于任一像素位置,从其对应的第三像素值中的三个分量中提取最小分量,该最小分量即为该像素位置对应的第四像素值,也即最小通道图中该像素位置处的像素值。可以理解,最小通道图与原始图像的像素位置一一对应,最小通道图中包括各像素位置对应的第四像素值。
S304,根据最小通道图中各像素位置所在局部图块中的第四像素值最小值,确定各像素位置对应的第二目标像素位置,根据各第二目标像素位置对应的第四像素值,确定各像素位置对应的暗通道像素值。
根据先验,暗通道图的明暗对局部图块大小(暗通道半径)参数非常敏感,暗通道半径越大效果越好,但是当暗通道半径过大时,暗通道图呈现块状,丢失了图像的边缘信息。基于此,引入侧窗滤波的思想来计算暗通道图,侧窗滤波方式可以保留边缘信息,滤波效果更好。
在一个实施例中,根据最小通道图中各像素位置所在局部图块中的第四像素值最小值,确定各像素位置对应的第二目标像素位置的步骤,具体可以包括以下步骤:对于最小通道图中的每一像素位置,对其所在局部图块进行第二预设数量的侧窗滤波处理,获得第二预设数量的第四像素值最小值;计算像素位置对应的第四像素值与各第四像素值最小值的差值绝对值,将其中最小的差值绝对值对应的位置,作为像素位置对应的第二目标像素位置。
具体而言,可以通过侧窗滤波方式获得最小通道图中每一像素位置所在局部图块中的第四像素值最小值,局部图块以当前像素位置为中心,以第二预设半径(用rt表示)为半径。第二预设数量表示侧窗滤波所使用的模板数量,使用不同的侧窗滤波模板可能得到不同的第四像素值最小值,通过比较各第四像素值最小值与当前像素位置对应的第四像素值,确定最优的侧窗滤波模板,将最优的侧窗滤波模板下得到的第四像素值最小值对应的位置,作为当前像素位置对应的第二目标像素位置。
对于每个像素位置,可以采用如图2所示的8个侧窗滤波模板(上、下、左、右、左上、右上、左下、右下),对最小通道图(用IMIN表示)进行卷积,得到8个卷积结果(即第四像素值最小值),表示为Conv(IMIN,Kerneli),其中i=1,2,...,8。分别计算这8个卷积结果与当前像素位置对应的第四像素值的差值绝对值,得到8个差值绝对值,将其中最小差值绝对值对应的侧窗滤波模板(即最优的侧窗滤波模板)作为该当前像素位置求暗通道时局部最小值操作的掩模,用于获得该当前像素位置对应的暗通道像素值。
根据各第二目标像素位置对应的第四像素值,确定各像素位置对应的暗通道像素值的步骤,具体可以是:将各第二目标像素位置对应的第四像素值,确定为各像素位置对应的暗通道像素值。根据各像素位置对应的暗通道像素值,得到暗通道图Idark。暗通道图Idark的计算公式总结如下:
其中,c表示通道,c∈(R,G,B),Ω(x)表示原始图像上以(x)为中心点的局部空间,A表示大气光值。
S306,根据各像素位置对应的暗通道像素值,获得各像素位置对应的透射率。
根据各像素位置对应的暗通道像素值,获得各像素位置对应的透射率的步骤,具体可以包括以下步骤:对于每一像素位置,计算像素位置对应的暗通道像素值与预设参数的乘积,将1减去乘积,获得像素位置对应的第一透射率;根据各像素位置对应的第一透射率,得到第一透射图,对第一透射图进行导向滤波,得到各像素位置对应的透射率。
具体而言,第一透射图t_coarse的计算公式如下:
t_coarse=1-ω·Idark (3)
其中,ω表示预设参数,用于为去雾后的图像保留一定的景深,可以取值为0.95。第一投射图可以理解为粗略的场景透视图,为了进一步降低大的暗通道半径带来的块状效应以增强边缘信息,对第一透射图进行导向滤波,得到最终的透射图t_smooth,透射图中包括各像素位置对应的透射率。
在一个实施例中,基于各像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像的步骤,具体可以包括以下步骤:对于每一像素位置,将其对应的第一像素值减去对应的大气光值,将得到的差值与对应的透射率的比值,加上对应的大气光值,得到像素位置对应的去雾后像素值;根据各像素位置对应的去雾后像素值,得到去雾后图像。
预先建立非均匀大气光散射模型如下:
I(x,y)=t_smooth(x,y)·J(x,y)+A_smooth(x,y)·[1-t_smooth(x,y)]
其中,I(x,y)表示原始图像,J(x,y)表示去雾后图像,A_smooth(x,y)表示大气光图,t_smooth(x,y)表示透射图。对上述模型公式进行转换,得到去雾后图像的计算公式如下:
获得原始图像及其对应的大气光图和透射图后,将原始图像及其对应的大气光图和透射图输入到上述非均匀大气光散射模型中,模型基于原始图像中各像素位置对应的第一像素值、大气光图中各像素位置的大气光值、以及透射图中各像素位置的透射率进行相应计算,输出该原始图像对应的去雾后图像。
在一个实施例中,如图4所示,提供了一种基于非均匀大气光先验的图像去雾方法,包括以下步骤S402至步骤S412。
S402,获取原始图像I。
S404,基于原始图像I,使用侧窗滤波改进的非均匀大气光值算法得到非均匀大气光图A_coarse。
S406,使用导向滤波对非均匀大气光图A_coarse进行平滑,得到平滑后的非均匀大气光图A_smooth。
S408,基于原始图像I和平滑后的非均匀大气光图A_smooth,使用侧窗滤波改进的透射图估测算法得到透射图t_coarse。
S410,使用导向滤波对透射图t_coarse进行平滑,得到平滑后的透射图t_smooth。
S412,将原始图像I以及平滑后的非均匀大气光图A_smooth和透射图t_smooth,代入非均匀大气光散射模型,得到去雾后图像J。
关于步骤S402~S412的具体描述可以参见前文实施例,在此不再赘述。本实施例中,提出了一种非均匀大气光散射模型,适用于光线复杂场景下的图像去雾,并且基于侧窗滤波思想的边缘保护算法,能够改善非均匀大气光图和透射图的边缘效果,继而提高图像去雾效果。
应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种基于非均匀大气光先验的图像去雾装置500,包括:获取模块510、大气光值确定模块520、透射率确定模块530和去雾模块540,其中:
获取模块,510用于获取原始图像,原始图像中包括各像素位置对应的第一像素值,根据各像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图。
大气光值确定模块520,用于根据亮通道图中各像素位置所在局部图块中的第二像素值最大值,确定各像素位置对应的第一目标像素位置,根据各第一目标像素位置对应的第一像素值,确定各像素位置对应的大气光值。
透射率确定模块530,用于根据各像素位置对应的第一像素值和大气光值,获得各像素位置对应的透射率。
去雾模块540,用于基于各像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。
在一个实施例中,大气光值确定模块520在根据亮通道图中各像素位置所在局部图块中的第二像素值最大值,确定各像素位置对应的第一目标像素位置时,具体用于:对于亮通道图中的每一像素位置,对其所在局部图块进行第一预设数量的侧窗滤波处理,获得第一预设数量的第二像素值最大值;计算像素位置对应的第二像素值与各第二像素值最大值的差值绝对值,将其中最小的差值绝对值对应的第二像素值最大值所在的位置,作为像素位置对应的第一目标像素位置。
在一个实施例中,大气光值确定模块520在根据各第一目标像素位置对应的第一像素值,确定各像素位置对应的大气光值时,具体用于:将各第一目标像素位置对应的第一像素值,确定为各像素位置对应的第一大气光值;根据各像素位置对应的第一大气光值,得到第一大气光图,对第一大气光图进行导向滤波,得到各像素位置对应的大气光值。
在一个实施例中,透射率确定模块530在根据各像素位置对应的第一像素值和大气光值,获得各像素位置对应的透射率时,具体用于:根据各像素位置对应的第一像素值与大气光值的比值,获得各像素位置对应的第三像素值,根据各像素位置对应的第三像素值中最小通道的第四像素值,得到最小通道图;根据最小通道图中各像素位置所在局部图块中的第四像素值最小值,确定各像素位置对应的第二目标像素位置,根据各第二目标像素位置对应的第四像素值,确定各像素位置对应的暗通道像素值;根据各像素位置对应的暗通道像素值,获得各像素位置对应的透射率。
在一个实施例中,透射率确定模块530在根据最小通道图中各像素位置所在局部图块中的第四像素值最小值,确定各像素位置对应的第二目标像素位置时,具体用于:对于最小通道图中的每一像素位置,对其所在局部图块进行第二预设数量的侧窗滤波处理,获得第二预设数量的第四像素值最小值;计算像素位置对应的第四像素值与各第四像素值最小值的差值绝对值,将其中最小的差值绝对值对应的位置,作为像素位置对应的第二目标像素位置。
在一个实施例中,透射率确定模块530在据各像素位置对应的暗通道像素值,获得各像素位置对应的透射率时,具体用于:对于每一像素位置,计算像素位置对应的暗通道像素值与预设参数的乘积,将1减去乘积,获得像素位置对应的第一透射率;根据各像素位置对应的第一透射率,得到第一透射图,对第一透射图进行导向滤波,得到各像素位置对应的透射率。
在一个实施例中,去雾模块540在基于各像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像时,具体用于:对于每一像素位置,将其对应的第一像素值减去对应的大气光值,将得到的差值与对应的透射率的比值,加上对应的大气光值,得到像素位置对应的去雾后像素值;根据各像素位置对应的去雾后像素值,得到去雾后图像。
关于基于非均匀大气光先验的图像去雾装置的具体限定可以参见上文中对于基于非均匀大气光先验的图像去雾方法的限定,在此不再赘述。上述基于非均匀大气光先验的图像去雾装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图6所示,提供了一种基于现场可编程逻辑门阵列(FPGA)的视频图像去雾方法,将其设计为IP核的形式,IP核包括AXI_Stream转BGR数据流模块、图像灰度化模块、非均匀大气光计算模块、非均匀大气光导向滤波模块、透射率计算模块、透射率导向滤波模块、图像恢复模块、BGR数据流转AXI_Stream模块。
具体而言,IP核进行如下处理:将AXI_Stream数据流转换为BGR数据流;基于转换后得到的BGR数据,利用前述公式(1)和侧窗滤波的思想计算得到非均匀大气光图A_coarse,对A_coarse进行导向滤波处理,得到精细化的非均匀大气光图A_smooth;基于非均匀大气光图A_smooth和原始BGR数据,利用前述公式(2)和侧窗滤波的思想计算得到暗通道图Idark;基于暗通道图Idark,利用前述公式(3)计算得到透射图T_coarse,对T_coarse进行导向滤波处理,得到精细化的透射图T_smooth;基于透射图非均匀大气光图A_smooth、非均匀大气光图A_smooth以及原始图像I,利用前述公式(4)进行图像去雾处理,得到去雾后的BGR数据流;再将BGR数据流转换为AXI_Stream数据流。
在一个实施例中,如图7所示,提供了一种基于FPGA的视频图像去雾系统架构,包括HDMI视频信号输入输出、HDMI编解码模块、BGR数据流和AXI_Stream转换模块、AXI_VDMA模块、FPGA图像去雾处理模块、HDMI时序控制模块、DDR3控制器等。
通过HDMI信号线输入图像数据,经过HDMI解码后转换为BGR数据流,并将BGR数据流转换为AXI_Stream流,通过具有三帧缓存的AXI_VDMA控制器传送到DDR3上,并通知FPGA图像去雾处理模块开始处理。当处理完一帧图像后,切换帧,并将AXI_Stream数据流转换为BGR数据流,进行HDMI编码,通过HDMI线将视频图像进行输出。据此可以对有雾视频中的每一帧图像进行去雾处理,再将其输出得到去雾后的视频。
在一个实施例中,基于FPGA的视频图像去雾系统包括:Xilinx公司ZYNQ7000系列全可编程FPGA芯片xc7z100ffg900-2、负责视频输入与输出的HDMI接口、容量为1GB的DDR3芯片MT41K256M16TW-107:P、250MHz的时钟模块、以及电源模块。
FPGA芯片用于实现图像去雾算法,即作为FPGA图像去雾处理模块,其内部可包括:AXI_Stream转BGR数据流模块、图像灰度化模块、非均匀大气光计算模块、非均匀大气光导向滤波模块、透射率计算模块、透射率导向滤波模块、图像恢复模块、BGR数据流转AXI_Stream模块。
在AXI_Stream转BGR数据流模块中,使用了AXI_Stream流式协议,避免了将整帧图像加载到FPGA中的BRAM中,减少了资源,提高了速度,依次将AXI_Stream的数据流转换为B、G、R三通道各8比特的数据流。
在图像灰度化模块中,利用公式Gray=R*0.299+G*0.587+B*0.114,将BGR数据转换为灰度数据,以便之后的导向滤波使用。值得注意的是,对于FPGA来说,实现浮点数运算是非常消耗资源的,所以将上述的浮点数运算转换为如下定点数运算Gray=(R*77+G*150+B*29)>>8,以节省资源。
在非均匀大气光计算模块中,需要取局部区域中的最大亮通道,并且需要使用8个侧窗滤波模板来计算A_coarse,因此使用BRAM进行数据暂存。
在非均匀大气光导向滤波模块中,运算量较大,需注意数据的溢出问题,并且A_coarse是3通道的彩色图,需要按通道并行运算,最后再合并。
在透射率计算模块中,根据原始图像I和非均匀大气光图A_smooth,并应用侧窗滤波的思想,得到暗通道Idark。为了保留一定的景深,设置参数ω,且ω取值为0.95。值得注意的是,由于FPGA对浮点乘法支持较弱,直接乘以0.95的话容易导致出现时序问题,可采用的方式是乘以244,再向右移8位(244/256=0.953125)。
在透射率导向滤波模块中,运算量较大,需注意数据的溢出问题。
在图像恢复模块中,将透射图t_smooth和非均匀大气光图A_smooth以及原始图像I,代入非均匀大气光散射模型中,得到去除雾后的清晰图像J。
整个系统的数据输入是通过HDMI接口完成的,该接口属于高速串行接口,直接传输数字信号,不必进行AD转换。该接口的主要引脚有四对TMDS差分信号,分别是TMDS Data0+(-)、TMDS Data1+(-)、TMDS Data2+(-)和TMDS Clock+(-)。将该接口传入的串行信号转换为并行信号,并进行10B/8B解码后得到三通道的BGR数据流。
为了将数据传送到DDR3上,需要将BGR数据流转换为AXI_Stream协议的数据流,并通过AXI_VDMA IP核将其送入帧缓存中。在AXI_VDMA中设置了3帧的DMA缓存地址,实现多帧缓冲机制。如图8所示,启用多帧缓存后,可以同时读写不同的帧地址,加速整个系统的处理速度。
在FPGA图像去雾处理模块处理完一帧图像后,就可以进行显示了。首先将AXI_Stream转换为BGR数据,然后使用8B/10B算法进行并串转换并进行编码,附加时钟信号后,传输到HDMI视频信号输出接口上。这里以1920*1080p@60Hz为例,BGR时钟为148.5MHz,但是HDMI采用的是串行传输,所以时钟为742.5MHz。
经过测试,上述实施例可以处理分辨率为1920*1080的HDMI数据,并且帧数达到了60帧/秒,满足高速、实时性视频图像的处理要求。实测效果如图9所示,其中(a)和(b)分别为原始图像和对应的去雾后图像,可见上述实施例可以稳定高效的处理1920*1080分辨率的视频图像,并且去雾效果非常好。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于非均匀大气光先验的图像去雾方法,其特征在于,所述方法包括:
获取原始图像,所述原始图像中包括各像素位置对应的第一像素值,根据各所述像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图;
根据所述亮通道图中各所述像素位置所在局部图块中的第二像素值最大值,确定各所述像素位置对应的第一目标像素位置,根据各所述第一目标像素位置对应的第一像素值,确定各所述像素位置对应的大气光值;
根据各所述像素位置对应的第一像素值和大气光值,获得各所述像素位置对应的透射率;
基于各所述像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。
2.根据权利要求1所述的方法,其特征在于,根据所述亮通道图中各所述像素位置所在局部图块中的第二像素值最大值,确定各所述像素位置对应的第一目标像素位置,包括:
对于所述亮通道图中的每一所述像素位置,对其所在局部图块进行第一预设数量的侧窗滤波处理,获得所述第一预设数量的第二像素值最大值;
计算所述像素位置对应的第二像素值与各所述第二像素值最大值的差值绝对值,将其中最小的差值绝对值对应的第二像素值最大值所在的位置,作为所述像素位置对应的第一目标像素位置。
3.根据权利要求1所述的方法,其特征在于,根据各所述第一目标像素位置对应的第一像素值,确定各所述像素位置对应的大气光值,包括:
将各所述第一目标像素位置对应的第一像素值,确定为各所述像素位置对应的第一大气光值;
根据各所述像素位置对应的第一大气光值,得到第一大气光图,对所述第一大气光图进行导向滤波,得到各所述像素位置对应的大气光值。
4.根据权利要求1所述的方法,其特征在于,根据各所述像素位置对应的第一像素值和大气光值,获得各所述像素位置对应的透射率,包括:
根据各所述像素位置对应的第一像素值与大气光值的比值,获得各所述像素位置对应的第三像素值,根据各所述像素位置对应的第三像素值中最小通道的第四像素值,得到最小通道图;
根据所述最小通道图中各所述像素位置所在局部图块中的第四像素值最小值,确定各所述像素位置对应的第二目标像素位置,根据各所述第二目标像素位置对应的第四像素值,确定各所述像素位置对应的暗通道像素值;
根据各所述像素位置对应的暗通道像素值,获得各所述像素位置对应的透射率。
5.根据权利要求4所述的方法,其特征在于,根据所述最小通道图中各所述像素位置所在局部图块中的第四像素值最小值,确定各所述像素位置对应的第二目标像素位置,包括:
对于所述最小通道图中的每一所述像素位置,对其所在局部图块进行第二预设数量的侧窗滤波处理,获得所述第二预设数量的第四像素值最小值;
计算所述像素位置对应的第四像素值与各所述第四像素值最小值的差值绝对值,将其中最小的差值绝对值对应的位置,作为所述像素位置对应的第二目标像素位置。
6.根据权利要求4所述的方法,其特征在于,根据各所述像素位置对应的暗通道像素值,获得各所述像素位置对应的透射率,包括:
对于每一所述像素位置,计算所述像素位置对应的暗通道像素值与预设参数的乘积,将1减去所述乘积,获得所述像素位置对应的第一透射率;
根据各所述像素位置对应的第一透射率,得到第一透射图,对所述第一透射图进行导向滤波,得到各所述像素位置对应的透射率。
7.根据权利要求1至6中任一项所述的方法,其特征在于,基于各所述像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像,包括:
对于每一所述像素位置,将其对应的第一像素值减去对应的大气光值,将得到的差值与对应的透射率的比值,加上对应的大气光值,得到所述像素位置对应的去雾后像素值;
根据各所述像素位置对应的去雾后像素值,得到去雾后图像。
8.一种基于非均匀大气光先验的图像去雾装置,其特征在于,所述装置包括:
获取模块,用于获取原始图像,所述原始图像中包括各像素位置对应的第一像素值,根据各所述像素位置对应的第一像素值中最大通道的第二像素值,得到亮通道图;
大气光值确定模块,用于根据所述亮通道图中各所述像素位置所在局部图块中的第二像素值最大值,确定各所述像素位置对应的第一目标像素位置,根据各所述第一目标像素位置对应的第一像素值,确定各所述像素位置对应的大气光值;
透射率确定模块,用于根据各所述像素位置对应的第一像素值和大气光值,获得各所述像素位置对应的透射率;
去雾模块,用于基于各所述像素位置对应的第一像素值、大气光值以及透射率,得到去雾后图像。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110122257.4A CN112767278A (zh) | 2021-01-28 | 2021-01-28 | 基于非均匀大气光先验的图像去雾方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110122257.4A CN112767278A (zh) | 2021-01-28 | 2021-01-28 | 基于非均匀大气光先验的图像去雾方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112767278A true CN112767278A (zh) | 2021-05-07 |
Family
ID=75706570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110122257.4A Pending CN112767278A (zh) | 2021-01-28 | 2021-01-28 | 基于非均匀大气光先验的图像去雾方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112767278A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113610730A (zh) * | 2021-08-06 | 2021-11-05 | 上海大学 | 一种卫星影像非均匀薄云去除方法及系统 |
CN115170443A (zh) * | 2022-09-08 | 2022-10-11 | 荣耀终端有限公司 | 一种图像处理方法、拍摄方法及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013029337A1 (en) * | 2011-08-30 | 2013-03-07 | Fujitsu Limited | Image defogging method and system |
EP2568438A2 (en) * | 2011-09-08 | 2013-03-13 | Fujitsu Limited | Image defogging method and system |
WO2017056834A1 (ja) * | 2015-09-29 | 2017-04-06 | 富士フイルム株式会社 | 画像処理装置及び画像処理方法 |
US10477128B2 (en) * | 2017-01-06 | 2019-11-12 | Nikon Corporation | Neighborhood haze density estimation for single-image dehaze |
EP3598386A1 (en) * | 2018-07-20 | 2020-01-22 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for processing image |
CN110827221A (zh) * | 2019-10-31 | 2020-02-21 | 天津大学 | 一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法 |
-
2021
- 2021-01-28 CN CN202110122257.4A patent/CN112767278A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013029337A1 (en) * | 2011-08-30 | 2013-03-07 | Fujitsu Limited | Image defogging method and system |
EP2568438A2 (en) * | 2011-09-08 | 2013-03-13 | Fujitsu Limited | Image defogging method and system |
US20130071043A1 (en) * | 2011-09-08 | 2013-03-21 | Fujitsu Limited | Image defogging method and system |
WO2017056834A1 (ja) * | 2015-09-29 | 2017-04-06 | 富士フイルム株式会社 | 画像処理装置及び画像処理方法 |
US10477128B2 (en) * | 2017-01-06 | 2019-11-12 | Nikon Corporation | Neighborhood haze density estimation for single-image dehaze |
EP3598386A1 (en) * | 2018-07-20 | 2020-01-22 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for processing image |
US20200027203A1 (en) * | 2018-07-20 | 2020-01-23 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for processing image |
CN110827221A (zh) * | 2019-10-31 | 2020-02-21 | 天津大学 | 一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法 |
Non-Patent Citations (1)
Title |
---|
陈伟;贺元恺;李昭慧;郭明香;郑佳雯;陶智慧;: "一种改进实时图像去雾的暗原色先验算法", 现代电子技术, no. 06 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113610730A (zh) * | 2021-08-06 | 2021-11-05 | 上海大学 | 一种卫星影像非均匀薄云去除方法及系统 |
CN113610730B (zh) * | 2021-08-06 | 2023-08-29 | 上海大学 | 一种卫星影像非均匀薄云去除方法及系统 |
CN115170443A (zh) * | 2022-09-08 | 2022-10-11 | 荣耀终端有限公司 | 一种图像处理方法、拍摄方法及电子设备 |
CN115170443B (zh) * | 2022-09-08 | 2023-01-13 | 荣耀终端有限公司 | 一种图像处理方法、拍摄方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109003325B (zh) | 一种三维重建的方法、介质、装置和计算设备 | |
JP7175197B2 (ja) | 画像処理方法および装置、記憶媒体、コンピュータ装置 | |
CN103218778B (zh) | 一种图像和视频的处理方法及装置 | |
EP3155593B1 (en) | Method and device for color processing of digital images | |
WO2020034743A1 (zh) | 三维模型处理方法、装置、电子设备及可读存储介质 | |
CN103778599B (zh) | 一种图像处理方法及系统 | |
CN104104888A (zh) | 一种并行多核fpga数字图像实时缩放处理方法和装置 | |
CN111476710B (zh) | 基于移动平台的视频换脸方法及系统 | |
CN107622504B (zh) | 用于处理图片的方法和装置 | |
CN103679759A (zh) | 图像优化方法以及使用此方法的装置 | |
CN102609909B (zh) | 一种单幅图像去雾方法及装置 | |
CN112767278A (zh) | 基于非均匀大气光先验的图像去雾方法及相关设备 | |
Singh et al. | Contrast enhancement and brightness preservation using global-local image enhancement techniques | |
CN109389569B (zh) | 基于改进DehazeNet的监控视频实时去雾方法 | |
CN104252700A (zh) | 一种红外图像的直方图均衡化方法 | |
CN111383232A (zh) | 抠图方法、装置、终端设备及计算机可读存储介质 | |
CN111489322A (zh) | 给静态图片加天空滤镜的方法及装置 | |
CN115100337A (zh) | 一种基于卷积神经网络的全身人像视频重照明方法和装置 | |
CN105023246B (zh) | 一种基于对比度和结构相似度的图像增强方法 | |
Lei et al. | A novel intelligent underwater image enhancement method via color correction and contrast stretching | |
CN103942756A (zh) | 一种深度图后处理滤波的方法 | |
CN111353957A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
Du et al. | A real-time effective fusion-based image defogging architecture on FPGA | |
US10963988B2 (en) | Image processing device, image processing system, image processing method, and program | |
CN110689478B (zh) | 图像风格化处理方法、装置、电子设备及可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |