精华内容
下载资源
问答
  • 基于暗原色先验的图像去尘算法,郝亚强,刘丹丹,在煤矿井下工作环境的影响下,采集到的图像清晰度低,成像效果不佳。针对图像的严重退化问题,采用改进的基于暗原色先验的去尘算
  • 针对现有煤矿井下图像模糊增强算法不能应对井下浓雾情况且处理后的图像较模糊的问题,提出一种基于暗原色先验的煤矿井下图像增强技术,通过线性模糊化函数来达到图像增强的目的,并使用暗原色先验理论来增强图像的对比...
  • 基于暗原色先验的快速视频去雾优化算法
  • Matlab:单幅图象的暗原色先验去雾改进算法,Matlab:单幅图象的暗原色先验去雾改进算法
  • 基于暗原色先验的图像快速去雾.pdf
  • 针对雾天条件下获得的遥感图像清晰度、对比度和色彩保真度下降, 继而影响遥感图像后续应用的问题, 考虑到遥感图像数据量大、景深变化小、几乎不含有天空区域的特点, 提出一种改进的基于暗原色先验规律的遥感图像快速...
  • 基于暗原色先验理论在图像的去雾方面有非常好的效果,提出了一种将暗原色先验理论用于大气能见度测量的方法,克服了气象能见度仪成本昂贵且难以大范围架设的缺点。对拍摄雾霾图像的不同区域进行亮度分析以便选择合适...
  • 针对水下捕获图像存在颜色衰减严重和蓝(绿)色基调的问题, 提出了一种基于改进暗原色先验和颜色校正的水下图像增强方法。结合光在水下的传播特性, 对空气中的暗原色先验去雾算法进行改进, 在求取水下暗原色通道和图像...
  • 海天线提取加图像去雾,用暗原色先验理论与改进海天线提取加图像去雾,用暗原色先验理论与改进
  • 暗原色先验图像去雾改进算法,是用vc++开发的。
  • 针对煤矿井下因水雾和煤尘散射作用引起的图像退化问题,结合煤矿井下无线多媒体节点采集的图像特点,提出一种正则化拉普拉斯矩阵的暗原色先验去雾尘模型。根据暗原色先验理论对来自煤矿井下无雾图像数据库进行统计,...
  • 该算法首先基于暗原色先验估计大气参数,然后利用插值算法和最大最小估计法改进暗原色先验模型进而准确计算出不同场景深度的透射率,最后结合容差机制基于大气散射模型恢复无雾图像。实验结果表明,相比于原有的...
  • 暗原色先验知识理论,算法流程,效果对比。
  • 基于暗原色先验的单一图像去雾 Single Image Haze Removal Using Dark Channel Prior
  • 基于暗原色先验的低照度图像增强_黄勇,将去雾的理论应用于增强
  • 基于暗原色先验理论,提出一种单幅图像去雾算法,并对其中的可调参数进行讨论,分析参数变化对去雾效果的影响。针对原算法中提到不用特殊处理的天空区域进行验证,发现此区域需要进行单独处理,通过设置阈值将天空...
  • 暗原色先验图像去雾算法研究,文章的改进算法很不错
  • 鉴于暗原色先验算法能复原不同雾浓度和场景深度的图像,而基于非局部算子概念的NL-CTV(Non-Local Color Total Variation)模型能较好地保持图像边缘和纹理等特征,融合暗原色先验与NL-CTV模型,提出了一种新型单幅...
  • 为解决传统暗原色先验去雾算法运算速度慢,处理结果中天空区域易失真的问题,提出了一种基于阈值分割的暗原色先验图像去雾方法。首先利用阈值分割将天空区域初步分割,然后引入参数[K]对天空区域再分割,精细透射率...
  • 由何恺明教授发布的基于暗原色先验的单一图像去雾方法论文的中文翻译
  • 为了实现对行车视频中单幅雾霾图像的快速去雾,针对现有暗原色先验去雾方法在局部明亮区域存在透射率估算过低、算法效率低等问题,提出了一种改进的去雾方法。该方法在处理不同的像素点时,通过设定门限值,使得门...
  • 针对暗原色先验算法出现的边缘残雾、天空区域彩色失真、去雾后图像偏暗以及实时性差等问题,提出了一种基于点暗原色先验和引导滤波的视频去雾算法。采用逐点式最小值滤波来消除块效应,并利用四叉树法来快速准确地...
  • 暗原色先验图像去雾算法研究Today we are going to learn about Apriori Algorithm. Before we start with that we need to know a little bit about Data Mining. 今天,我们将学习Apriori算法。 在开始之前,我们...

    暗原色先验图像去雾算法研究

    Today we are going to learn about Apriori Algorithm. Before we start with that we need to know a little bit about Data Mining.

    今天,我们将学习Apriori算法。 在开始之前,我们需要了解一些有关数据挖掘的知识。

    What is Data Mining ?

    什么是数据挖掘?

    Data Mining is a non-trivial process of identifying valid, novel, potentially useful and ultimately understandable patterns in data.

    数据挖掘是识别数据中有效,新颖,潜在有用且最终易于理解的模式的重要过程。

    Apriori Algorithm is concerned with Data Mining and it helps us to predict information based on previous data.

    Apriori算法与数据挖掘有关,它可以帮助我们根据先前的数据预测信息。

    In many e-commerce websites we see a recently bought together feature or the suggestion feature after purchasing or searching for a particular item, these suggestions are based on previous purchase of that item and Apriori Algorithm can be used to make such suggestions.

    在许多电子商务网站中,我们会在购买或搜索特定项目后看到最近一起购买的功能或建议功能,这些建议基于该项目的先前购买,并且可以使用Apriori算法来提出此类建议。

    Before we start with Apriori we need to understand a few simple terms :

    在开始使用Apriori之前,我们需要了解一些简单的术语:

    Association Mining: It is finding different association in our data.

    关联挖掘:正在我们的数据中找到不同的关联。

    For E.g. If you are buying butter then there is a great chance that you will buy bread too so there is an association between bread and butter here.

    例如,如果您要购买黄油,那么您也很有可能也会购买面包,因此这里的面包和黄油之间存在关联。

    Support: It specifies how many of the total transactions contain these items.

    支持:它指定总交易中有多少包含这些项目。

    Support(A->B) denotes how many transactions have all items from AUB

    支持(A-> B)表示从AUB获得的所有项目有多少笔交易

    Therefore

    因此

    • Support(A->B) = P(AUB)

      支持(A-> B)= P(AUB)
    • Support(A->B) = support(B->A)

      支持(A-> B)=支持(B-> A)

    Therefore 10% support will mean that 10% of all the transactions contain all the items in AUB.

    因此,10%的支持将意味着所有交易中的10%包含AUB中的所有项目。

    Confidence: For a transaction A->B Confidence is the number of time B is occuring when A has occurred.

    置信度:对于事务A-> B,置信度是发生A时B发生的时间。

    Note that Confidence of A->B will be different than confidence of B->A.

    请注意,A-> B的置信度与B-> A的置信度不同。

    Confidence(A->B) = P(AUB)/P(A).

    置信度(A​​-> B)= P(AUB)/ P(A)。

    Support_Count(A): The number of transactions in which A appears.

    Support_Count(A):出现A的交易数。

    An itemset having number of items greater than support count is said to be frequent itemset.

    具有大于支持计数的项目数的项目集被称为频繁项目集。

    Apriori algorithm is used to find frequent itemset in a database of different transactions with some minimal support count. Apriori algorithm prior knowledge to do the same, therefore the name Apriori. It states that

    Apriori算法用于以最少的支持次数在不同事务的数据库中查找频繁的项目集。 Apriori算法的先验知识也是如此,因此命名为Apriori。 它指出

    All subsets of a frequent itemset must be frequent.

    频繁项目集的所有子集都必须是频繁的。

    If an itemset is infrequent, all its supersets will be infrequent.

    如果某个项目集不频繁,则其所有超集都将不频繁。

    Let’s go through an example :

    让我们来看一个例子:

    Transaction ID Items
    1 I1 I3 I4
    2 I2 I3 I5
    3 I1 I2 I3 I5
    4 I2 I5
    交易编号 物品
    1个 I1 I3 I4
    2 I2 I3 I5
    3 I1 I2 I3 I5
    4 I2 I5

    We will first find Candidate set (denoted by Ci) which is the count of that item in Transactions.

    我们将首先找到“候选集”(用C i表示),它是“交易”中该项目的计数。

    C1:

    C 1

    Items Support Count
    I1 2
    I2 3
    I3 3
    I4 1
    I5 3
    物品 支持计数
    I1 2
    I2 3
    I3 3
    I4 1个
    I5 3

    The items whose support count is greater than or equal to a particular min support count are included in L set

    L组中包含支持计数大于或等于特定最小支持计数的项目

    Let’s say support count for above problem be 2

    假设上述问题的支持计数为2

    L1:

    L 1

    Items Support Count
    I1 2
    I2 3
    I3 3
    I5 3
    物品 支持计数
    I1 2
    I2 3
    I3 3
    I5 3

    Next is the joining step we will combine the different element in L1 in order to form C2 which is candidate of size 2 then again we will go through the database and find the count of transactions having all the items. We will continue this process till we find a L set having no elements.

    接下来是加入步骤,我们将合并L 1中的不同元素以形成C 2 ,它是大小为2的候选者,然后再次遍历数据库并查找具有所有项目的交易计数。 我们将继续此过程,直到找到没有元素的L集。

    C2:

    C 2

    Items Support Count
    I1,I2 1
    I1,I3 2
    I1,I5 1
    I2,I3 2
    I2,I5 3
    I3,I5 2
    物品 支持计数
    I1,I2 1个
    I1,I3 2
    I1,I5 1个
    I2,I3 2
    I2,I5 3
    I3,I5 2

    We will remove sets which have count less than min support count and form L2

    我们将删除计数少于最小支持计数的集并形成L 2

    L2:

    L 2

    Items Support Count
    I1,I3 2
    I2,I3 2
    I2,I5 3
    I3,I5 2
    物品 支持计数
    I1,I3 2
    I2,I3 2
    I2,I5 3
    I3,I5 2

    Now we will join L2 to form C3

    现在我们将加入L 2形成C 3

    Note that we cannot combine {I1,I3} and {I2,I5} because then the set will contain 4 elements. The rule here is the there should be only one element in both set which are distinct all other elements should be the same.

    请注意,我们不能合并{I1,I3}和{I2,I5},因为这样集合将包含4个元素。 这里的规则是,在两个集合中都应该只有一个元素,所有其他元素都应该相同。

    C3:

    C 3

    Items Support Count
    I1,I2,I3 1
    I1,I3,I5 1
    I2,I3,I5 2
    物品 支持计数
    I1,I2,I3 1个
    I1,I3,I5 1个
    I2,I3,I5 2

    L3:

    L 3:

    Item Support Count
    I2,I3,I5 2
    项目 支持计数
    I2,I3,I5 2

    Now we cannot form C4 therefore the algorithm will terminate here.

    现在我们无法形成C 4,因此算法将在此处终止。

    Now we have to calculate the strong association rules. The rules having a minimum confidence are said to be strong association rules.

    现在我们必须计算强关联规则。 具有最小置信度的规则被称为强关联规则。

    Suppose for this example the minimum confidence be  75%.

    假设此示例的最小置信度为75%。

    There can be three candidates for strong association rules.

    对于强关联规则,可以有三个候选者。

    I2^I3->I5 = support(I2^I3)/support(I5) = ⅔  = 66.66%

    I2 ^ I3-> I5 =支撑(I2 ^ I3)/支撑(I5)=⅔= 66.66%

    I3^I5->I2 = support(I3^I5)/support(I2) = ⅔ = 66.66%

    I3 ^ I5-> I2 =支撑(I3 ^ I5)/支撑(I2)=⅔= 66.66%

    I2^I5->I3 = support(I2^I5)/support(I3) = 3/3 = 100%

    I2 ^ I5-> I3 =支持(I2 ^ I5)/支持(I3)= 3/3 = 100%

    So in this example the strong association rule is

    因此,在此示例中,强关联规则是

    I2^I5->I3.

    I2 ^ I5-> I3。

    So from the above example we can draw conclusion that if someone is buying I2 and I5 then he/she is most likely to buy I3 too. This is used to make suggestions while we are purchasing online.

    因此,从上面的示例中我们可以得出结论,如果某人正在购买I2和I5,那么他/她也很有可能也会购买I3。 用于在我们在线购买时提出建议。

    The Algorithm to calculate the frequent itemset is as below:

    计算频繁项集的算法如下:

    Ck : Candidate Set of size k
    Lk : Frequent set of size k
    min_sup : Minimum support count
    T : Database
     
    For all transactions t in T :
    do
    	Go through the items in t 
    		If item already present in set C1 then increase count
    		else insert item in C1 with count 1
    end
     
    For all items I in C
    do
    	If count of I > min_sup
    		L1 ← Item in C1
    end
     
    for(k=1 ; Lk!=ɸ ; k++)
    do	
    	Ck+1 ← Candidates generated from Lk
    	
    	for all transactions t in T 
    	do
    		if Ck+1 a subset of t 
    			increase count of Ck+1
    end	
    	
    For all items I in C
    	do
    	If count of I > min_sup
    			Lk+1 ← Item in Ck
    	end
    end

    Comment down below if you have any queries related to Apriori Algorithm.

    如果您有任何与Apriori算法有关的查询,请在下面注释。

    翻译自: https://www.thecrazyprogrammer.com/2019/09/apriori-algorithm.html

    暗原色先验图像去雾算法研究

    展开全文
  • 暗原色先验单一输入图像去雾

    千次阅读 2018-04-01 11:16:11
    何恺明,孙剑,汤晓鸥 香港中文大学 微软亚洲研究院 摘要:在这篇论文当中,我们提出了一种简单但是有效的图像先验规律——暗原色先验(dark channel prior)来为单一输入图像去雾。暗原色先验来自对户外无雾图像...

    何恺明,孙剑,汤晓鸥
    香港中文大学 微软亚洲研究院
    摘要:在这篇论文当中,我们提出了一种简单但是有效的图像先验规律——暗原色先验(dark channel prior)来为单一输入图像去雾。暗原色先验来自对户外无雾图像数据库的统计规律,它基于经观察得到的这么一个关键事实——绝大多数的户外无雾图像的每个局部区域都存在某些至少一个颜色通道的强度值很低的像素。利用这个先验建立的去雾模型,我们可直接估算雾的浓度并且复原得到高质量的去除雾干扰的图像。对户外各种不同的带雾图像的处理结果表明了 dark channel prior的巨大作用。同时,作为去雾过程中的副产品,我们还可获得该图像高质量的深度图。
    1、引言
    户外景物的图像通常会因为大气中的混浊的媒介(比如分子,水滴等)而降质,雾、霭、蒸气都因大气吸收或散射造成此类现象。照相机接收到景物反射过来的光线经过了衰减。此外,得到的光线还混合有大气光(经大气分子反射的周围环境的光线)。降质的图像的对比度和颜色的保真度有所下降,如图1所示。由于大气散射的程度和景点到照相机的距离有关,图像降质是随着空间变化的。
    在消费/计算摄影业和计算机视觉领域,图像去雾有着广泛的需求。首先,去雾能显著地提高景象的清晰度并且改正因空气而带来的色移。一般的,去除雾干扰的图片看起来要更加舒服。其次,大多数的计算机视觉算法,从低级别的图像分析,到高级别的目标识别,一般会假定输入图像即景物的原始光线会聚所成。视觉算法(例如特征检测、滤波、光度分析等)的实现会不可避免地因为偏光、低对比度图像而不理想。再次,去雾可产生图像的深度信息,有助于视觉算法和高级的图像编辑。通常意义下不好的雾也能派上用场,作为深度的线索能加深人们对景像的理解。
    然而,去雾是一项有挑战性的课题,因为大气中雾所依赖的深度信息是未知的。而在只有一幅图像可分析的情况下,解决这一问题又受到了制约。因此,很多使用多张图像或其他更多辅助信息的去雾方法被提出。在[14, 15] 中用多幅图像从不同程度的偏振光的角度来去除雾的干扰。在[8, 10, 12]里通过从同一景象在不同天气情况下的照片获得更多的对比度的信息来去雾。[5, 11]中基于深度的方法则需要来自对应图片或者已知的3D模型的大致深度信息。
    最近,基于单一图像的去雾取得了很大的进展。这些方法的成功往往得益于一个强有力的先验或假设。Tan[16]观察到无雾图像比有雾图像具有更高的对比度,他通过扩大复原图像的局部对比度来达到去雾的效果。这样得到的结果在视觉上是很吸引人的,但实际上在光学原理上达到去雾。Fattal[2]通过假定透射率和表面投影在局部是不相关的,估算景物的反射率,来推断景物光在空气中传播时的透射率。Fattal的的做法比较准确,并且能产生很好的去雾结果。然而他的方法在雾浓度较大的时候便显得无能为力,尤其是当他的假想一旦失效的时候。
    在这篇文章,我们提出一种新的先验规律——暗原色先验,来用于单一图像去雾。暗原色先验是对户外无雾图像库的统计得出的规律。我们发现,在不包括天空的绝大部分局部区域,总会存在一些我们称之为“dark pixels”的像素,至少有一个颜色通道具备很低的强度值。在被雾干扰的图像里,这些暗像素的强度值会被大气中的白光成分所充斥而变得较高。
    因此,这些暗像素能够直接用来评估雾光的透射信息。结合一个已有的雾成像模型和插值法抠图修复,我们可以得到高质量的去雾图像和很好的深度图。
    我们实现的去雾不仅在物理上有效,而且能够处理包括在雾浓度很大情况下的远距离物体。我们没有依靠输入图像透射率或表面投影的显著变化,结果基本没有人工的痕迹或者晕影。
    和任何其他利用先验规律实现的算法一样,我们的实现也有其限制因素。当取景对象在较大范围内和天空接近并且没有阴影覆盖的时候,暗原色的猜想将不成立。尽管我们的去雾处理对大多数户外带雾图像都有较好成果,在一些极限情况下还是会失效。我们相信,从不同的角度来发展这一先验,并且将其组合能使得这一工作更加完善。
    2、背景
    在计算机视觉和计算机图形中,下述方程所描述的雾图形成模型被广泛使用[16,2,8,9]:
    I(x)= J(x)t(x) + A(1 - t(x)) (1)
    I是指观测到的图像的强度,J是景物光线的强度,A是全球大气光成分,t用来描述光线通过媒介透射到照相机过程中没有被散射的部分,去雾的目标就是从I中复原J,A,t。
    方程右边的第一项J(x)t(x) 叫做直接衰减项[16],第二项A(1 - t(x)) 则是大气光成分。直接衰减项描述的是景物光线在透射媒介中经衰减后的部分,而大气光则是由前方散射引起的,会导致景物颜色的偏移。因为大气层可看成各向同性的,透射率t可表示为:t(x)=exp(-p*d(x))(2)
    贝塔 p大气的散射系数,该式表明景物光线是随着景物深度d按指数衰减的。

    雾图形成模型方程(1)意味着,在RGB色彩空间中,向量A,J(x),I(x)从几何学来看是共面的,它们的端点则是共线的,透射系数t是两条线段长度之比
    c ∈ {r, g, b},是颜色通道的index

    在这个模型上,Tan的方法[16]集中在增强图像的清晰度/能见度上。在透射率t可近似看作不变的区域内,由于t<1,输入图像的可见度(梯度之和)在雾的干扰之下减少:

    在一个局部区域内,透射率函数t是通过扩大图像可见度并且使对比度满足J(x)的强度低于A的方法来估测的。一个MRF模型被用来进一步规范该结果。这一尝试将进一步揭开雾成像的一些细节和结构上的奥秘。然而,这一方法会产生更大的饱和值因为它仅仅集中在可见度的增强而并没有从物理上去复原原始景物的光线。此外,在靠近深度不连续的部位可能会包含一些光环效应。
    在[2]当中,Fttal提出了一种基于独立成分分析(ICA)的实现方法。首先,局部区域的反射率被假定为一个恒定的向量R。因而,在该区域内所有的J(x)拥有相同的方向向量R,如图2所示。其次,通过假定在一个局部表面投影J(x)和透射率函数t(x)在统计学上是相互独立的,可以用ICA来估算R。再次,由输入的彩色图像建立的MRF模型可应用来推断整幅图像的结果。这一实现手段是基于物理的并能结合一幅优质的深度图来产生自然的无雾图像。不足的是,该手段因为利用了一个局部区域的统计学独立的假设,需要在相互独立的成分之间差异很大的时候才能有显著效果。任意差异性的匮乏或者过低的信噪比都会使得统计结果不可靠。还有,统计规律是根据图像的颜色信息得出的,因此对灰度图像无效。在雾浓度较大时,该方法也无能为力,因为浓雾一般没有色彩,倾向于成为噪声。
    在本文下一部分,我们将展示一种新的先验规律——暗原色先验,并用来直接评估户外带雾的图像的透射率分布。
    3、暗原色先验
    暗原色先验是通过对户外无雾图像的观察得出的:在绝大多数非天空的局部区域里,某一些像素总会有至少一个颜色通道具有很低的值。换言之,该区域光强度的最小值是个很小的数。用公式描述,对于一幅图像J,我们定义
    Jdark(x) = min
    c∈{r,g,b}
    ( min
    y∈Ω(x)
    (Jc(y))), (5)

    Jc代表J的某一个颜色通道,而Ω(x)是以x为中心的一块方形区域。我们观察得出,除了天空方位,Jdark的强度总是很低并且趋近于0。如果J是户外的无雾图像,我们把Jdark称为J的暗原色,并且把以上观察得出的经验性规律称为暗原色先验。
    造成暗原色中低通道值主要有三个因素:a)汽车、建筑物和城市中玻璃窗户的阴影,或者是树叶、树与岩石等自然景观的投影;b)色彩鲜艳的物体或表面,在RGB的三个通道中有些通道的值很低(比如绿色的草地/树/植物,红色或黄色的花朵/叶子,或者蓝色的水面);c)颜色较暗的物体或者表面,例如灰暗色的树干和石头。总之,自然景物中到处都是阴影或者彩色,这些景物的图像的暗原色总是很灰暗的。
    为了验证暗原色先验正确与否,我们从 flickr.com 和其他一些图片搜索引擎上使用flickr用户标记的150个最热门的标签,收集了一个户外图像的数据库,因为雾主要出现在户外景物或者城市中,我们从下载到的图像中主要选出了这两部分景区的无雾图像。另外,我们只研究了白天的图像。我们随机选择了5,000张图像并手工去掉了包括天空区域的部分。它们均被剪裁成500*500的大小,计算的步长是15*15。图3显示了几幅图像以及相应的暗原色。
    图4(a)是超过5,000幅图像的暗原色强度直方图,图4(b)是相应的累计直方图。我们可以看到暗原色当中约有75%的像素强度值为0,大概90%的像素强度值低于25。该统计结果强有力地支持了暗原色先验的合理性。我们同时还计算了每幅图像暗原色像素的平均强度值,其直方图如图4(c)所示。同样,大多的暗原色都具有比较低的平均强度值。这就意味着只有极少数的户外无雾图像不符合我们的先验规律。
    由于附加的大气光,图像被雾干扰之后往往要比其本身亮度更大,透射率t一般较小。所以被浓雾覆盖的图像的暗原色具有较高的强度值。视觉上看来,暗原色强度值是雾浓度的粗略近似(见图3的右边)。在下一部分,我们将利用这一性质来估算透射和大气光线的影响。
    可以看到,我们忽视了天空区域因为该处无雾图像的暗原色具有较高的强度值。幸好,可以利用雾图形成模型方程(1)结合我们所提出的先验谨慎地处理天空区域的问题。没有必要明确地在图像中去除天空区域,我们将在4.1讨论这个方面。
    我们的暗原色先验的提出部分得益于众所周知的广泛用于多光谱传感系统的dark-object subtraction技术。在[1]中,通过减去场景中最暗的点所对应的一个常数来去除空间各向同性的雾。我们从这个想法中归纳得到了我们的新的去雾途径。

    4、通过暗原色先验去雾
    4.1 估测透射率分布
    我们首先假设大气光因子A是给定的,在4.4中我们会展示一种自动评估大气光的途径。进一步假定在一个局部区域的透射率是恒定不变的在方程(5)中使用取最小运算符得到:
    min
    y∈Ω(x)
    (Ic (y )) = t (x ) min
    y∈Ω(x)
    (Jc (y ))+(1-t (x ))Ac. (6)

    注意到取最小运算是对三个颜色通道单独进行操作的,该方程等价于:

    min
    y∈Ω(x)
    ( Ic(y)
    Ac ) = t(x) min
    y∈Ω(x)
    (Jc(y)
    Ac ) + (1 -t(x)). (7)
    这样,在三个颜色通道中使用最小操作运算,我们得到:
    min
    c
    ( min
    y∈Ω(x)
    ( Ic(y)
    Ac )) = t(x) min
    c
    ( min
    y∈Ω(x)
    (Jc(y)
    Ac ))
    +(1 -t(x)). (8)

    根据暗原色先验的规律,无雾自然图像的暗原色项Jdark应该是接近于0的。
    Jdark(x) = min
    c
    ( min
    y∈Ω(x)
    (Jc(y))) = 0. (9)
    Ac 总是正的,导致:
    min
    c
    ( min
    y∈Ω(x)
    (Jc(y)
    Ac )) = 0 (10)
    把方程(10)带入方程(8),我们可以简单地估算出透射率t:
    t(x) = 1 -w* min
    c
    ( min
    y∈Ω(x)
    ( Ic(y)
    Ac )). (11)
    事实上,minc(miny∈Ω(x)( Ic(y)
    Ac ))
    Ac 是规格化的雾图Ic(y)的暗原色。它直接提供了透射信息。如前所述,暗原色先验对天空区域不成立,但幸好在带雾的图像中天空的颜色总是同大气光A非常接近,所以在天空区域我们有:
    min
    c
    ( min
    y∈Ω(x)
    ( Ic(y)
    Ac )) → 1, and t(x) → 0,
    又因为天空光来自无穷远处,其透射率趋近于0,所以式子(11)能较好地同时处理包含或者不包含天空的区域。我们并不需要事先把天空部分单独加以处理。
    现实中,即使是很晴朗的天气,空气中总会不可避免地包含一些杂质分子。所以当我们看远处的物体时雾依然是存在的。而且,雾的存在是人们感知深度的一个基本线索 [3 , 13 ]。这一现象被称为空间透视。如果我们彻底地移除雾的存在,图像会看起来不真实,并且深度感会丢失。所以我们可以通过在方程(11)中引进一个常数ω (0<ω≤ 1) ,有针对性的保留一部分覆盖遥远景物的雾:
    t(x) = 1 - ω min
    c
    ( min
    y∈Ω(x)
    ( Ic(y)
    Ac )) . (12)
    这一修正具有优美的特性,对于远处的物体,它能相应地保留更多的雾。 ω的值根据具体情况而定。在本文中,我们对所有的处理选取了一个定值:0.95。

    图5(b)是通过用15*15的步长处理输入雾图(图 5(a))得到的透射率估测图。由于透射率在一个局部区域内并不总是恒定的,所以该图虽然大体上过得去,但包含一些块效应。在下一节,我们将通过一种软修复的方法完善这一映射。

    4.2软图像抠图
    我们注意到雾图形成模型方程(1)和抠图方程在形式上很相似。透射率的分布其实就是阿尔法的分布。因此,我们应用了一种软抠图算法[7 ] 来完善透射率分布函数。记经完善后的透射率函数映射为(x) . 把t(x)和?t(x)的用向量形式重新写成t和?t , 把以下的代价函数最小化:
    E(t) = tT Lt + λ(t-?t)T (t -?t). (13)
    L 是Levin[7 ]提出的抠图拉普拉斯矩阵,λ 是一个修正后的参数。第一项是平滑项,第二项是数据项,元素(i,j)和矩阵L定义如下:
    k|(i,j)∈wk
    (δij?
    1
    |wk|
    (1+(Ii?μk)T (Σk+ ε
    |wk|
    U3)?1(Ij?μk))),
    (14)
    Ii和Ij是输入图像I在i、j像素处的色彩,δij是Kronecker delta, μk 和 Σk分别是窗口wk 中色彩矩阵的平均值和方差。 U3是一个3*3的单位矩阵, ε是一个修正参数,|wk|是 窗口wk中像素的数目。
    最优的t可以通过解下面的稀疏线性系统得到:
    (L + λU)t = λ?t (15)
    U是一个和L大小相等的单位矩阵。我们给λ 设置一个很小的值(在我们的实验中为10?4),因此t与?t相关。
    Levin的软抠图修复方法在Hsu et al . [4 ]用来处理空间变量的白平衡问题。在Levin和Hsu两人的工作中,?t只在稀疏区域是已知的。Soft matting用来传输项推断未知区域的值。在本文中,我们使用soft matting粗略地完善填充了整幅图像的?t。图5 (c)是对5 (b)的数据项进行软抠图的结果。我们可以看到,修复后的透射率分布能抓住尖锐边缘的不连续性,并且勾勒出物体的轮廓。

    4.3. 复原物体光线
    有了透射分布,我们可以通过方程(1)复原物体的原始图像。但当t(x)接近0的时候,直接衰减项J(x)t(x)也会接近0。直接复原得到的原始图像倾向于包含噪音。因此,我们把透射因子t(x)设定了一个下限t0。这意味着某些雾稠密的区域仍然保留着一定数量的雾。
    最终的复原J(x)通过下式实现:
    J(x) =
    (I(x) - A)
    /max(t(x), t0)
    + A. (16)
    t0的一个典型值是0.1。由于物体光线的亮度通常不及大气光线,经去雾处理后的图像看起来要黯淡一些。因此我们在显示时增加了J(x)的曝光。图5(d)是我们最终的复原图像。

    4.4.估测大气光
    从前的大多数单一图像去雾方法当中,大气光成分A通常是从不透明的含雾的像素中测得。例如,在[16]中,最大强度值的像素被看成是大气光。[2]完善这一做法。但在实际的图像中,最明亮的像素点有可能是一辆白色的汽车或者是白色的建筑物。
    如我们在第三部分提到的,雾图的暗原色能够得到还算理想的雾浓度的粗略值(见图6(b))。我们可以通过暗原色来提高大气光的估测。首先选取暗原色中亮度最大的0.1%的像素,这些像素大都是不透明的(图6(b)中以黄线为界)。在以上像素当中,输入图像I中强度最大的像素点被选定为大气光。这些像素都在图6(a)中的红色三角形内。注意到它们并不一定是整幅图像里最亮的点。
    这一基于暗原色先验的简单方法与“最明亮像素”方法相比,要更加健壮。我们利用它自动地估测本文中引用的所有图像的大气光成分。

    5、实验结果
    在我们的实验当中,我们使用了Marcel van Herk的快速算法[17]来实现求出局部区域最小值的操作,该算法的时间复杂度为图像面积的线性阶。对一幅600*400的图像我们使用了15*15的卷积核。在软抠图中,我们使用了预处理共轭梯度(PCG)算法求解。在一台处理器为3.0 GHz的 Intel Pentium 4 Processor的PC机上处理一幅600*400的图像,用了10~20秒钟。
    图1和图7显示了我们的去雾结果以及复原得到的深度图。该深度图是由方程(2)计算得出,其结果依赖于一个未知比例的参数β。这些图像的大气光均是通过4.4中所提到的方法自动测得的。可以看到,即使实在雾浓度较大的地方,我们的算法也能较好地得到一些细节的信息并且还原出生动的彩色图像。同时得到的深度图也和输入图像保持一致性。
    在图8中,我们对我们的方法与Tan的工作进行了比较,他的处理结果的一些色彩经常会出现过度饱和,因为Tan的算法没有基于实际理论并且忽视了透射率。我们的方法在结构上复原的同时没有牺牲色彩的真实度(e.g ., swan)。我们的结果里也很少有明显的晕影。然后,我们又与Fattal的工作进行了比较。在图9中,我们的结果可以和Fattal的结果2相比。图10中显示了在浓雾情况下我们的方法优于Fattal的。Fattal的方法是基于统计学的,需要充足的颜色信息以及差异性。当雾很浓时,颜色很微弱,差异也不够明显,他的评估透射率的方法就不可靠了。图10(b)和(c)显示了MRF模型建立前后他的结果的不同。由于只有部分的透射能被可靠地复原,即使在模型建立之后,一些区域还是太灰暗(比如山峰),还有一些雾没有被移除(城市景观的较远处)。与之相反,我们的实现在这两个方面都有理想的结果。(图10(d))
    我们还和Kopf et al[5]最近的工作进行了比较,如图11所示。为了去雾他们利用了3D模型和景物的纹理贴图。这些附加的信息可能来自 Google Earth和一些卫星图片。然而,我们的技术可以从单一图像中产生与之媲美的去雾结果,而不需要借助任何几何学的信息。
    当图像里有足够的阴影区域时,我们的算法甚至能对灰度图处理。我们省略最小值操作,用灰度形式的软消光修复算法[7]。图12显示了一个例子。[更多的结果和比较可在补充材料中找到。]

    1. 结论探讨
      在本文中我们提出了一种简单但很强大的先验, 即暗原色先验来为单一图像去雾。暗原色先验是从对户外无雾图像数据库的统计得出的规律。在雾成像模型里引入暗原色先验,单一图像的去雾变得更为简单和有效。
      由于暗原色先验是一种统计规律,对某些极为特殊的图像可能会效果不佳。当景物在本质上同空气层接近并且没有阴影覆盖其上时,暗原色的理论就是无效的。对那些物体我们的方法会忽略掉透射的影响,如图13中的白色大理石。我们的方法同其他许多去雾模型有一些共同的局限性——某些情况无法成功去除雾的干扰。更为先进的模型[13]可用来描述复杂的现象,比如阳光对天空光的影响,和地平线附近的青色带。今后我们将在这些模型的基础上进一步对去雾进行研究。
    展开全文
  • 此matlab算法能够很好地通过暗原色先验实现图象去雾功能,并在通过设置容差,改进了天空部分失真的不足,达到了很好的图象去雾效果。
  • 目前主流的基于暗原色先验的去雾方法的参数选择较为单一,难以适应多种不同的雾天图像,针对这个问题,本文提出了自适应参数优化的图像去雾算法。本文通过实验发现去雾时ω权值与大气光值存在一定的关系,并基于这种...
  • 针对基于暗原色先验理论的单幅图像去雾算法中,由于某些场景下的雾天图像存在大面积明亮区域(如天空、水面或偏白色物体等)不满足暗原色先验假设,从而导致去雾处理效果不好的问题,基于暗原色先验理论,提出了一种...
  • 按照dark channel prior暗原色先验写的 图像去雾的小程序,因为把算法做了一些改动,所以速度还可以,效果也还行-dark channel prior haze removal

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 130
精华内容 52
关键字:

暗原色先验