去除图像中的混浊对象的方法和装置与流程

文档序号:13388633阅读:364来源:国知局
去除图像中的混浊对象的方法和装置与流程

本公开的实施例涉及信息技术,更具体地涉及去除图像中的混浊对象的方法和装置。



背景技术:

近年来,随着电子技术和图像处理技术的飞速发展,视觉系统广泛地应用于智能交通(诸如交通监控、驾驶辅助系统、无人驾驶系统等)、公共安全、边防海关、体育赛事报道、事件检测、跟踪、场景分析和分类、对象检测和识别、图像索引和检索等诸多领域。然而,在一些情况下,图像中常常有大量的混浊对象,诸如雾、烟、灰尘、沙尘、霾等,这些混浊对象严重地影响了所获取的视觉信息的质量,从而极大地影响了视觉系统的性能。

作为示例,无人驾驶技术是未来汽车工业的关键技术,对未来改善交通环境、减少交通事故的发生及方便人们的出行起着至关重要的作用。然而现实环境中,无人驾驶汽车有时需要行驶在各种恶劣天气中,如浓雾、霾等。这些恶劣天气严重影响了获取的视觉信息的质量。尤其是在浓雾环境下,图像中视觉信息严重丢失,极大地影响了无人驾驶汽车检测、定位和识别周围物体的性能。除此之外,浓雾环境严重阻碍了人眼对场景的判断能力,从而导致驾驶员无法及时、准确地对无人驾驶汽车的行驶进行干预。此外,图像中的混浊对象也会影响其它视觉系统的性能以及用户体验。

然而现有的去除图像中的混浊对象的方法往往不能较好地恢复图像中的对象的细节和颜色,因此,需要一种改进的技术方案。



技术实现要素:

根据本公开的一个方面,公开了一种去除输入图像中的混浊对象的方法。该方法包括:将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分;使用第一方法去除所述第一部分中的混浊对象;使用第二方法去除所述第二部分中的混浊对象;以及将去除所述混浊对象的第一部分和去除所述混浊对象的第二部分组合成输出图像,其中所述第一方法和所述第二方法不同,所述第一透射率大于所述第二透射率。

在一个实施例中,透射率与所述输入图像中的对象至获取所述输入图像的成像设备的距离有关,将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分包括:基于所述输入图像的深度图,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。

在一个实施例中,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分包括:将所述输入图像分成多个图像块;计算每个图像块的透射率;以及基于每个图像块的透射率,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。

在一个实施例中,该方法还包括:基于已分类的每个图像块周围的图像块的分类,将已分类的每个图像块重新分类为所述第一部分或所述第二部分。

在一个实施例中,计算每个图像块的透射率包括:基于以下与透射率相关联的特征参数来计算每个图像块的透射率:所述每个图像块的每个像素的最大颜色通道值与最小颜色通道值的差值之和、所述输入图像的最大像素值与所述每个图像块的每个像素的最小颜色通道值的差值之和、所述每个图像块的每个像素的每个颜色通道的梯度之和。

在一个实施例中,每个图像块的透射率由所述特征参数线性表示,每个特征参数与各自系数相关联,所述方法还包括:通过学习确定所述各自系数。

在一个实施例中,所述第一方法为图像恢复方法。

在一个实施例中,所述图像恢复方法包括通过以下公式来获得恢复的图像:

其中,i为所述输入图像的第一部分中的图像块或像素,j为恢复的所述输入图像的第一部分的所述图像块或像素,a为大气光,t为所述输入图像的第一部分的所述图像块或像素的透射率。

在一个实施例中,所述第二方法为图像增强方法。

在一个实施例中,所述图像增强方法包括:

通过以下公式对所述第二部分中的像素的亮度进行处理,

其中,f(x)为像素x的输出亮度,x为像素x的输入亮度,βi为系数。

在一个实施例中,所述方法还包括:对输出图像的亮度进行调整以使得所述第一部分和所述第二部分的亮度一致。

在一个实施例中,对输出图像的亮度进行调整以使得所述第一部分和所述第二部分的亮度一致包括:将输入图像的亮度分量分成多个图像块;确定输入图像中具有最大透射率的图像块的平均亮度;确定输入图像中其它每个图像块的平均亮度与具有最大透射率的图像块的平均亮度的比值;以及基于所述比值和所述输出图像中对应于所述输入图像中具有最大透射率块的图像块的图像块的每个像素的亮度,对输出图像中对应图像块的对应像素的亮度进行调整。

在一个实施例中,所述方法还包括:对所述第一部分和所述第二部分交界处的像素的亮度进行平滑处理。

根据本公开的另一个方面,提供了一种包含在计算机可读介质上的计算机程序产品,所述计算机程序产品包括程序指令,当将所述程序指令加载到计算机时,所述程序指令使得所述计算机执行任何一个上述实施例的方法步骤。

根据本公开的另一个方面,提供了一种非短暂性的计算机可读介质,其包括程序指令,该程序指令使得处理器执行任何一个上述实施例的方法步骤。

根据本公开的另一个方面,提供了一种装置,所述装置包含至少一个处理器和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置执行任何一个上述实施例的方法步骤。

根据本公开的另一个方面,提供了一种去除输入图像中的混浊对象的装置。所述装置包括:分割单元,用于将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分;第一去除单元,用于使用第一方法去除所述第一部分中的混浊对象;第二去除单元,用于使用第二方法去除所述第二部分中的混浊对象;以及组合单元,用于将去除所述混浊对象的第一部分和去除所述混浊对象的第二部分组合成输出图像,其中所述第一方法和所述第二方法不同,所述第一透射率大于所述第二透射率。

在一个实施例中,透射率与所述输入图像中的对象至获取所述输入图像的成像设备的距离有关,所述分割单元还用于基于所述输入图像的深度图,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。

在一个实施例中,所述分割单元还用于:将所述输入图像分成多个图像块;计算每个图像块的透射率;以及基于每个图像块的透射率,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。

在一个实施例中,所述装置还包括:重分类单元,用于基于已分类的每个图像块周围的图像块的分类,将已分类的每个图像块重新分类为所述第一部分或所述第二部分。

在一个实施例中,该装置还包括:计算单元,用于基于以下与透射率相关联的特征参数来计算每个图像块的透射率:所述每个图像块的每个像素的最大颜色通道值与最小颜色通道值的差值之和、所述输入图像的最大像素值与所述每个图像块的每个像素的最小颜色通道值的差值之和、所述每个图像块的每个像素的每个颜色通道的梯度之和。

在一个实施例中,每个图像块的透射率由所述特征参数线性表示,每个特征参数与各自系数相关联,所述装置还包括:确定单元,用于通过学习确定所述各自系数。

在一个实施例中,所述第一方法为图像恢复方法。

在一个实施例中,所述图像恢复方法包括通过以下公式来获得恢复的图像:

其中,i为所述输入图像的第一部分中的图像块或像素,j为恢复的所述输入图像的第一部分的所述图像块或像素,a为大气光,t为所述输入图像的第一部分的所述图像块或像素的透射率。

在一个实施例中,所述第二方法为图像增强方法。

在一个实施例中,所述图像增强方法包括:

通过以下公式对所述第二部分中的像素的亮度进行处理,

其中,f(x)为像素x的输出亮度,x为像素x的输入亮度,βi为系数。

在一个实施例中,所述装置还包括:调整单元,用于对输出图像的亮度进行调整以使得所述第一部分和所述第二部分的亮度一致。

在一个实施例中,所述调整单元还用于:将输入图像的亮度分量分成多个图像块;确定输入图像中具有最大透射率的图像块的平均亮度;确定输入图像中其它每个图像块的平均亮度与具有最大透射率的图像块的平均亮度的比值;以及基于所述比值和所述输出图像中对应于所述输入图像中具有最大透射率块的图像块的图像块的每个像素的亮度,对输出图像中对应图像块的对应像素的亮度进行调整。

在一个实施例中,所述装置还包括:平滑单元,用于对所述第一部分和所述第二部分交界处的像素的亮度进行平滑处理。

本公开的一些实施例可以较好地恢复图像中的对象的细节和纹理,而且颜色失真较小。此外,一些实施例还可以避免第一部分和第二部分的亮度不一致的情况。另外,一些实施例还可以使第一部分和第二部分过度较为自然。

附图说明

图1示出了可以实现本公开的实施例的装置的示意框图。

图2示出了根据本公开的实施例的方法的流程图。

图3示出了根据本公开的实施例的映射函数的形状的示意图。

图4示出了根据本公开的实施例的在第一部分和第二部分交界处的区域的示意图。

图5示出了根据本公开的实施例的图像去雾的过程的流程图。

图6示出了根据本公开的实施例的装置的示意图。

图7示出了根据本公开的实施例的图像分割的示意图。

图8示出了根据本公开的实施例的方法和其它方法的图像去雾的结果。

具体实施方式

下面参照附图描述本公开的实施例。在下面的描述中,阐述了许多具体细节以便使所属技术领域的技术人员更全面地了解和实现本公开。但是,对所属技术领域的技术人员明显的是,可以在不具有这些具体细节中的一些具体细节的情况下来实现本公开的实施例。此外,应当理解的是,本公开并不局限于所介绍的特定实施例。相反,可以考虑用下面所述的特征和要素的任意组合来实施本公开的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用,而不应看作是权利要求的要素或限定,除非在权利要求中明确提出。

需要注意的是,在本公开的一些实施例中,将结合图像去雾来描述本公开的实施例,但是本公开的实施例并不仅限于图像去雾,而是可以适用于去除图像中任何合适的混浊对象。此外,虽然下文中主要在单个图像的上下文中来介绍本公开的实施例,但是应当理解的是,本公开的实施例同样可以应用于视频。还需要说明的是,本文中的实施例不但可以应用于处理非实时的图像或视频,而且可以应用于处理实时的图像或视频。

当前,图像去雾的方法主要分为两种。第一种方法是基于图像增强的方法。该方法的主要目的是提高图像的对比度,保持细节的清晰度。然而,由于此类方法并不以保持颜色的保真度为主要目的,导致图像中受雾影响较小(在本文中,其还被称为浅雾区域)的对象(例如近处的对象)的颜色失真严重。作为示例,对于在浓雾环境下行驶的汽车来说,由于远景物体距离车辆较远,威胁性较小,因而其首要目标是准确及时地识别近景物体。然而,增强方法这种造成颜色失真的特性会使得车辆视觉系统对近处对象识别的准确率降低,从而使得车辆无法躲避障碍而造成事故。

另一种方法是基于图像恢复的方法。该方法主体思想是基于雾天图像的成像模型,通过对模型中未知数的求解,最终恢复无雾的图像。在实际的雾环境中,由于受雾影响较小(例如,浅雾区域)的对象的成像较为符合雾天图像成像模型,因而该方法能较好地恢复浅雾区域内的对象。但对于受雾影响较大(在本文中,其还被称为浓雾区域)的对象(例如远处的对象),由于从远处对象到成像设备的路径上的严重吸收、反射及散射,导致其成像并不符合该模型。因此,如果对受雾影响较大的对象仍采用该模型,则无法较好地恢复受雾影响较大的对象的细节,从而影响视觉系统的性能,例如,导致无人驾驶车辆的视觉系统无法检测和识别受雾影响较大的对象。

因此,上述两种方法都不能够同时较好地恢复浅雾区域和浓雾区域内的对象。为了解决或减轻上述问题中的至少一个问题,本公开提出了一种基于图像增强和图像恢复相结合以去除输入图像中的混浊对象的技术方案。该技术方案能够对输入图像中具有第一透射率的第一部分和具有第二透射率的第二部分采用不同的方法进行处理,从而既可以较好地恢复对象的颜色,又能够较好地恢复对象的细节。

如本文中使用的,透射率可以与光线受到在从对象到成像设备的路径上的混浊对象的吸收、反射及散射程度有关。作为示例,假设在雾天气中,空气中的雾的浓度基本相同,在通过成像设备获取的图像中,因为从远景处的对象到成像设备的距离较远,在该路径上的光线受到雾成分的吸收、反射及散射较大,因此该路径的透射率较低,从而在远景处的对象的成像质量较差,例如细节损失较大、成像模糊等。相反,因为从近景处的对象到成像设备的距离较近,在该路径上的光线受到雾成分的吸收、反射及散射较小,因此该路径的透射率较大,从而在近景处的对象的成像质量较好。一般而言,如果在成像环境中,混浊对象浓度均匀,则可以认为在输入图像中的近景处对象的透射率较大,而远景处对象的透射率较小。然而,如果在成像环境中混浊对象浓度不均匀,则透射率可能与对象的远近不相关。另外,全文中,图像块或像素的透射率指从与该图像块或像素对应的对象到成像设备的路径的透射率。

在全文中,相同的标记指相同的元素。如本文所使用的,词语“数据”、“内容”、“信息”以及类似的词语可交换地使用,以指依照本公开的实施例能够被传送、接收和/或存储的数据。因此,任何此类词语的使用不应当被认为是限制本公开的实施例的精神和范围。

另外,如本文所使用的,词语‘电路’指:(a)仅硬件电路实现方式(例如,在模拟电路和/或数字电路中的实现方式);(b)电路和计算机程序产品(多个)的组合,所述计算机程序产品(多个)包括:存储在一个或多个计算机可读存储器上的软件和/或固件指令,所述组合一起工作以使得装置执行本文描述的一个或多个功能;以及(c)要求用于运行的软件或固件的电路(诸如例如,微处理器(多个)或微处理器(多个)的一部分),即使所述软件或固件不是物理呈现的。‘电路’的这种定义应用于本文中(包括在任何权利要求中)的这个词语的所有使用。作为进一步示例,如本文所使用的,词语‘电路’还包含:包括一个或多个处理器和/或其部分(多个)并且伴随有软件和/或固件的实现方式。

图1示出了可以在本公开的实施例中使用的装置(诸如电子装置10)的框图。然而,应当理解的是,在本文中说明的以及在下文中描述的电子装置仅是说明可以受益于本公开的实施例的电子装置,以及因此不应当被认为是限制本公开的范围。虽然出于示例的目的,说明了并且将在下文中将描述电子装置10,但是其它类型的电子装置可以容易地利用本公开的实施例。电子装置10可以是便携式数字助理(pda),移动计算机,台式计算机、智能电视,游戏装置,便携式计算机,媒体播放器、夜视仪、相机,视频记录器、移动电话、全球定位系统(gps)装置、智能眼镜、车载导航系统、视频监控系统、智能电话、平板计算机、膝上型计算机、服务器、瘦客户端、云计算机、虚拟计算机、机顶盒、计算设备、分布式系统和/或任何其它类型的电子系统。电子装置10可以运行任何类型的操作系统,其包括但不限于windows、linux、unix、android、ios以及它们的变体。此外,在其它示例实施例中,至少一个示例实施例的电子装置不需要是整个电子装置,而是可以是电子装置的组件或组件组。

此外,电子装置10可以容易地利用本公开的实施例而不管该电子装置是移动的还是固定的。在这点上,即使可以结合移动应用来描述本公开的实施例,但是应当理解的是,可以结合各种其它应用(例如,在移动应用外的各种其它应用,例如交通监控应用)来使用本公开的实施例。

在至少一个示例实施例中,电子装置10包括处理器11和存储器12。处理器11可以是任何类型的处理器、控制器、嵌入式控制器、处理器核心、和/或诸如此类。在至少一个示例实施例中,处理器11使用计算机程序代码以使得电子装置10执行一个或多个动作。存储器12可以包括:易失性存储器,诸如易失性随机存取存储器(ram)(其包含用于数据的临时存储的缓存区域),和/或其它存储器,例如,非易失性存储器,其可以是嵌入式的和/或可以是可移动的。非易失性存储器可以包括:eeprom、闪速存储器和/或诸如此类。存储器12可以存储任何数量的信息片段,以及数据。信息和数据可以由电子装置10使用以实现电子装置10的一个或多个功能,诸如本文中描述的功能。在至少一个示例实施例中,存储器12包括:计算机程序代码。存储器和计算机程序代码被配置为与处理器一起工作使得电子装置执行本文中描述的一个或多个动作。

电子装置10还可以包括:通信设备15。在至少一个示例实施例中,通信设备15包括:天线(或多个天线)、有线连接器、和/或诸如此类,它们与传送器和/或接收器操作地通信。在至少一个示例实施例中,处理器11提供信号给传送器和/或从接收器接收信号。信号可以包括:根据通信接口标准的信令信息、用户语音、接收的数据、用户生成的数据、和/或诸如此类。通信设备15可以使用一个或多个空中接口标准、通信协议、调制类型、和接入类型进行操作。作为说明,通信设备15可以根据以下协议进行操作:第二代(2g)无线通信协议is-136(时分多址接入(tdma)),全球移动通信系统(gsm),以及is-95(码分多址接入(cdma)),第三代(3g)无线通信协议,诸如通用移动通信系统(umts),cdma2000,宽带cdma(wcdma)和时分同步cdma(td-scdma),和/或第四代(4g)无线通信协议,无线联网协议(诸如802.11),短距无线协议(诸如蓝牙)和/或诸如此类。通信设备15可以依照有线协议进行操作,诸如以太网、数字用户线路(dsl)、异步转移模式(atm)和/或诸如此类。

处理器11可以包括诸如电路的构件,该构件用于实现音频、视频、通信、导航、逻辑功能、和/或诸如此类,以及用于实现本公开的实施例,其包括例如本文中描述的功能中的一个或多个功能。例如,处理器11可以包括用于执行各种功能(其包括例如本文中描述的一个或多个功能)的构件,诸如数字信号处理器、微处理器、各种模拟至数字转换器、数字至模拟转换器、处理电路和其它支持电路。电子装置10可以执行控制和信号处理功能。处理器11可以包括:在调制和传输之前对消息和数据进行编码和交织的功能。处理器11还可以包括内部语音编码器,可以包括内部数据调制解调器。此外,处理器11可以包括操作一个或多个软件程序,该软件程序可被存储在存储器中,以及该软件程序可以使得处理器11实现至少一个实施例,例如本文中描述的功能中的一个或多个功能。例如,处理器11可以操作连通性程序,诸如常规网络浏览器。连通性程序可以允许电子装置10根据以下来传送和接收网络内容(诸如基于位置的内容和/或其它网页内容):例如传输控制协议(tcp)、互联网协议(ip)、用户数据包协议(udp)、互联网消息访问协议(imap)、邮局协议(pop)、简单邮件传输协议(smtp)、无线应用协议(wap)、超文本传输协议(http)和/或诸如此类。

电子装置10可以包括:用户接口,该用户接口用于提供输出和/或接收输入。电子装置10可以包括输出设备14。输出设备14可以包括:音频输出设备,诸如振铃器、耳机、扬声器、和/或诸如此类。输出设备14可以包括:触感输出设备,诸如振动传感器、电变形表面、电变形结构、和/或诸如此类。输出设备14可以包括:可视化输出设备,诸如显示器、灯、和/或诸如此类。电子装置可以包括:输入设备13。输入设备13可以包括:光传感器、接近传感器、麦克风、触摸传感器、力传感器、按钮、小键盘、运动传感器、磁场传感器、运动传感器、相机、和/或诸如此类。在包括触摸显示器的实施例中,触摸显示器可以被配置为接收来自单点触摸、多点触摸和/或诸如此类的输入。在此类实施例中,触摸显示器和/或处理器可以至少部分地基于方位、运动、速度、接触区域和/或诸如此类来确定输入。

电子装置10可以包括各种触摸显示器,例如,该触摸显示器被配置为使得能够通过各种电阻式、电容式、红外线、应变仪(straingauge)、表面波、光学成像、色散信号技术、声脉冲识别和/或其它技术的触摸识别以及然后提供指示与触摸相关联的位置和其它参数的信号。另外,触摸显示器可以被配置为接收以触摸事件的形式的输入的指示,触摸事件可以被定义为在选择对象(例如,手指、触针、触笔或其它定点设备)和触摸显示器之间的实际物理触摸。触摸输入可以包括由触摸显示器检测的任何输入,其包括涉及实际物理接触的触摸事件和不涉及物理接触但是以其它方式被触摸显示器检测的触摸事件。触摸显示器能够接收与触摸输入有关的与应用于触摸屏的力相关联的信息。例如,触摸屏可以在重压触摸输入和轻压触摸输入之间进行区分。在至少一个示例实施例中,显示器可以显示二维信息、三维信息和/或诸如此类。

输入设备13可以包括媒体捕获元件。媒体捕获元件可以是用于捕获用于存储、显示或传输的图像、视频、和/或音频的任何构件。例如,在至少一个示例实施例(其中,媒体捕获元件是相机模块)中,相机模块可以包括数字相机,其可以从捕获的图像形成数字图像文件。因此,相机模块可以包括:用于从捕获的图像创建数字图像所需要的硬件(诸如镜头或其它光学组件(多个))和/或软件。可替代地,相机模块可以包括:仅用于查看图像的硬件,而电子装置10的存储设备以软件的形式存储用于由处理器11执行的指令,该指令用于从捕获的图像创建数字图像。在至少一个示例实施例中,相机模块还可以包括:处理元件(诸如协处理器)和编码器和/或解码器,处理元件协助处理器11来处理图像数据,编码器和/或解码器用于压缩和/或解压缩图像数据。编码器和/或解码器可以根据标准格式(诸如联合图像专家组(jpeg)标准格式、运动图像专家组(mpeg)标准格式、视频编码专家组(vceg)标准格式或任何其它合适的标准格式)进行编码和/或解码。

图2示出了根据本公开的实施例的去除输入图像中的混浊对象的方法200的流程图,可以在诸如图1的电子装置10的装置处来执行方法200。因此,电子装置10可以提供用于实现方法200的各个部分的构件以及用于实现电子装置10的其它功能的构件。

输入图像中的混浊对象可以指影响图像质量(例如清晰度)的任何混浊对象。例如,输入图像中的混浊对象可以是大气中的颗粒物,例如,恶劣天气中的对象,诸如雾、霾、灰尘、沙尘、烟、诸如此类。作为示例,在浓雾天气中,通过数字相机所获取的图像往往包含很多雾成分,导致所获取的图像对比度下降、图像场景细节损失,从而使得图像变得模糊。在这种情况下,会极大地影响视觉系统的性能,例如不能准确识别图像中的对象。

输入图像可以包括任何颜色模型的图像,例如,rgb颜色模型、hsl颜色模型、cmyk颜色模型等。图像的格式包括但不限于:bmp,jpg,jpeg,tiff,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw或其它合适的格式。

如在图2中示出的,方法200从框201开始。在框201中,将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。输入图像可以是预先存储在电子装置10中的存储器中的图像,或通过图像传感器实时捕获的图像,或从本地位置或网络位置获取的图像。例如,在无人驾驶系统中,可以通过图像传感器获取无人驾驶车辆周围的路况图像等。可以使用任何可以使用的现有的或将来的方法来计算透射率。例如,在一个实施例中,可以与输入图像一起提供与该输入图像相关联的透射率信息。

在另一个实施例中,透射率可以与输入图像中的对象至获取输入图像的成像设备的距离有关,将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分可以包括:基于输入图像的深度图,将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。例如,在成像环境中的混浊介质(例如雾)的浓度均匀(即同质的大气环境)的情况下,透射率可以与输入图像中的对象至获取输入图像的成像设备的距离有关。在这种情况下,可以通过如下公式来计算透射率:

t(x)=e-βd(x)(10)

其中x表示输入图像中的像素,t(x)表示从与像素x相对应的对象到获取输入图像的成像设备的路径的透射率(在本文中,其还被称为像素的透射率),d(x)表示与像素x相对应的对象至获取输入图像的成像设备的距离,β表示大气的散射系数并且在同质大气条件下其可以被认为是常数。从公式(10)可以看出,透射率主要与d(x)有关。可以通过任何合适的现有或将来的确定深度信息(或深度图)的方法来获取d(x),例如从多幅图像或单幅图像来确定深度信息的方法等。作为示例,可以使用以下文献的方法来确定d(x):q.zhu,j.maiandl.shao,"afastsingleimagehazeremovalusingcolorattenuationprior,"inieeetrans.imageprocess,vol.24,no.11,pp.3522-3533,2015,通过引用将该文献全部内容并入本文。此外,在一些情况下,某些图像传感器在获取图像时,可以同时获取与输入图像对应的深度图。

在获取了透射率后,可以通过阈值ts,将t(x)≤ts的透射率定义为第二透射率,将t(x)>ts的透射率定义为第一透射率,从而可以将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。在一些实施例中,可以根据不同情况设置不同的阈值ts,例如,可以根据混浊对象的类型、混浊对象的浓度等。另外,阈值ts也可以是经验值。作为示例,在浓雾天气中,远景区域(例如,浓雾区域)的透射率小于近景区域(例如,浅雾区域)的透射率,因此,浓雾区域可以被分类为第二部分,而浅雾区域可以被分类为第一部分。

此外,在这个实施例中,还可以将输入图像分成大小为m×m的不重叠的图像块,然后在每个图像块中选取部分像素来计算它们的平均透射率作为该图像块的透射率,然后基于该图像块的透射率,将它分类为第一部分或第二部分。以这种方式,能够提高处理速度,满足对实时性要求较高的应用。相反,对于对准确性要求较高并且对实时性要求不高的应用而言,可以计算每个像素的透射率,从而可以提高准确性。

在一些情况下,并不能获得输入图像的深度图或获取深度图的代价较高。针对这种情况,本公开的实施例提供了分割输入图像的另一种方式。在这个实施例中,将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分包括:将输入图像分成多个图像块;计算每个图像块的透射率;以及基于每个图像块的透射率,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。

在这个实施例中,可以首先将输入图像分成大小为m×m的不重叠的图像块。然后计算每个图像块的透射率。在一个实施例中,计算每个图像块的透射率包括:分别对每个图像块提取与透射率相关联的如下三种特征参数:每个图像块的每个像素的最大颜色通道值与最小颜色通道值的差值之和、输入图像的最大像素值与每个图像块的每个像素的最小颜色通道值的差值之和、每个图像块的每个像素的每个颜色通道的梯度之和。

1)每个图像块的每个像素的最大颜色通道值与最小颜色通道值的差值之和c,可以通过如下公式来计算c:

其中,ω表示一个图像块,x表示图像块中的像素,c表示颜色通道(例如,在rgb颜色空间的情况下,c表示红、绿、蓝颜色通道),ic(x)表示像素x的c通道值,表示像素x的最大颜色通道值,表示像素x的最小颜色通道值。t(x)越大,表示像素x受混浊对象(例如,雾)的影响越小,因而像素x的颜色饱和程度较大,进而最大颜色通道值与最小颜色通道值的差值较大,从而c越大;t(x)越小,表示像素x受混浊对象(例如,雾)的影响较重,像素x的颜色饱和程度较小,各颜色通道的像素值趋于一致,因而最大颜色通道值与最小颜色通道值的差值较小,从而c越小。

2)输入图像的最大像素值与每个图像块的每个像素的最小颜色通道值的差值之和d,可以通过如下公式来计算d:

其中,ω、x、c、ic(x)和的定义与公式(2)中的对应符号的定义相同,imax表示输入图像中所有像素的颜色通道的最大值。t(x)越大,表示像素x受混浊对象(例如,雾)的影响越小,因而像素x的颜色饱和程度较大,像素x的各个颜色通道值中的最小值越小,进而d值越大;t(x)越小,表示像素x受混浊对象(例如,雾)的影响较重,各个颜色通道的像素值通常较大,因而像素x的最小颜色通道值与imax相差较小,进而d值越小。

3)每个图像块的每个像素的每个颜色通道的梯度之和g,可以通过如下公式来计算g:

梯度可以表示图像块包含的纹理及细节的多少,其中ω、x和c的定义与公式(2)和(3)中的对应符号的定义相同,▽ic(x)表示像素x在颜色通道c的梯度。t(x)越大,表示像素x受混浊对象(例如,雾)的影响越小,像素x细节和纹理越明显,因而梯度之和g越大;t(x)越小,表示像素x受混浊对象(例如,雾)的影响较重,细节越模糊不清,因而梯度之和g越小。

在提取了与透射率相关联的上述三种特征参数后,可以使用上述三种特征参数的任何合适的组合来计算图像块的透射率,例如,可以使用上述三种特征参数的任何合适的多项式组合、线性组合等来计算透射率。作为示例,可以通过学习的方式来确定上述三种特征参数的组合及其相应的系数以计算图像块的透射率。

在一个实施例中,每个图像块的透射率t由上述特征参数线性表示,每个特征参数与各自系数相关联,方法200还包括:通过学习确定各自系数。例如,可以由如下公式来表示t:

t=α0c+α1d+α2g(5)

其中,α0、α1、α2表示系数,它们可以通过学习获得,并且根据不同的情况(例如,混浊对象的类别、成像条件、成像质量等),上述系数可以变化。

在一个实施例中,可以如下来确定系数α0、α1、α2。选取n个m×m大小的没有混浊对象的图像块,针对每个图像块,t在0到1之间等间隔地取m个值,利用公式(1)合成m个对应的有混浊对象的图像块:

i=jt+a(1-t)(1)

其中i为有混浊对象的图像块,j为无混浊对象的图像块,a为大气光(通常设为255,在其它实施例中,也可以设置为其它值,例如输入图像中亮度最高的元素的亮度值),t为图像块的透射率。公式(1)可以被称为雾天成像模型。在其它实施例中,还可以使用对应于其它混浊对象的成像模型来替换公式(1)。通过公式(1),可以得到m×n个有混浊对象的图像块。此外,需要注意的是,需要针对像素的每个颜色通道使用公式(1)

然后分别计算这些有混浊对象的图像块的特征参数值c、d及g。最后,通过最小化误差的方法计算最优的α0、α1、α2,例如可以通过公式(6)来确定系数α0、α1、α2:

其中,α=(α0,α1,α2),表示第k个无混浊对象的图像块所取的第i个透射率的值,分别表示在取第i个透射率的情况下,由第k个无混浊对象的图像块所生成的有混浊对象的图像块的c、d、g值。

在确定了系数α0、α1、α2后,可以计算每个图像块的透射率,进而可以基于每个图像块的透射率,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。

此外,还可以对分割后的图像进一步处理,以减少分类错误。在一个实施例中,可以基于已分类的每个图像块周围的图像块的分类,将已分类的每个图像块重新分类为第一部分或第二部分。例如,可以对每个图像块周围的mb×mb个图像块进行统计,如果有超过nb个图像块类别属于与中心图像块的类别不同,则将中心图像块分类为与原分割结果相反的类别。否则的话,可以保持不变。其中,可以根据不同情况将mb和nb设定为不同的值。一般而言,

在将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分后,方法可以前进到框203。在框203处,使用第一方法去除第一部分中的混浊对象。第一方法可以是适合于去除具有第一透射率的图像中的混浊对象的任何合适的现有的或将来的方法。在一个实施例中,第一方法为图像恢复方法。

例如,图像恢复方法可以采用以下文献中的图像恢复方法:(1)k.he,j.sun,andx.tang,“singleimagehazeremovalusingdarkchannelprior,”inproc.ieeeconf.comput.vis.patternrecognit.,2009.(2)q.zhu,j.maiandl.shao,"afastsingleimagehazeremovalusingcolorattenuationprior,"inieeetrans.imageprocess,vol.24,no.11,pp.3522-3533,2015.(3)r.fattal,“dehazingusingcolor-lines,"acmtrans.graphics,vol.34,no.1,pp.13:1–13:14,2014,通过引用将上述文献整体并入本文。

在一个实施例中,图像恢复方法包括通过以下公式来获得恢复的图像:

其中,i为输入图像的第一部分中的图像块或像素,j为恢复的输入图像的第一部分的图像块或像素,a为大气光,t为输入图像的第一部分的图像块或像素的透射率。此外,需要注意的是,需要针对像素的每个颜色通道使用公式(11)。在一个实施例中,使用公式(5)来计算输入图像的第一部分的图像块的透射率。

在框205处,使用第二方法去除第二部分中的混浊对象。第二方法可以是适合于去除具有第二透射率的图像中的混浊对象的任何合适的现有的或将来的方法。此外,第一方法和第二方法不同,第一透射率大于第二透射率。在一个实施例中,第二方法为图像增强方法。

例如,图像增强方法可以采用以下文献中的图像增强方法:(4)jh.kim,jy.simandcs.kim,"singleimagedehazingbasedoncontrastenhancement,"inproc.ieeeconf.acoust.speech.signalprocess,2011.(5)r.t.tan,"visibilityinbadweatherfromasingleimage,"inproc.ieeeconf.comput.vis.patternrecognit.,2009.(6)y.li,f.guo,r.t.tanandm.s.brown,"singleimagedehazingbymulti-scalefusion,"inieeetrans.imageprocess.,vol.22,no.8,2013,通过引用将上述文献整体并入本文。

在一个实施例中,图像增强方法可以对第二部分中的像素的亮度进行处理,而保持颜色分量不变,从而在增强细节的同时,保持颜色不会失真。例如,可以将输入图像的第二部分转换到hsl颜色空间(如果输入图像的第二部分是用hsl颜色空间表示的,则可以省略这个步骤)。然后对亮度(l)分量采用如下映射函数f(x)进行处理,在图3中示意性地示出了映射函数f(x)的大致形状:

其中,f(x)为像素x的输出亮度,x为像素x的输入亮度,βi为系数(例如,其可以通过经验来确定或通过其它任何合适的方式来确定)。如果输入图像不是hsl表示的,则可以将处理后的第二部分转换回原始的颜色空间(例如rgb空间),从而得到增强后的第二部分的图像。此外,需要注意的是,图3中的映射函数的形状仅是示例。

需要注意的是,框203和框205可以以任意顺序执行或并行执行。

然后,方法200可以前进到框207。在框207,将去除混浊对象的第一部分和去除混浊对象的第二部分组合成输出图像。

此外,为了避免分区处理(例如,使用不同的方法来处理第一部分和第二部分)而造成的第一部分和第二部分的亮度不一致的情况,在一个实施例中,方法200还包括对输出图像的亮度进行调整以使得第一部分和第二部分的亮度一致。亮度调整的方法可以是任何合适的现有或将来的方法。

在一个实施例中,亮度调整的过程可以如下:

(1)将输入图像ii转换到hsl空间(如果,输入图像是由hsl表示的,则可以省略这个步骤),其亮度分量记为lihsl;将根据上述实施例所获得的输出图像转换到hsl空间(如果,输出图像是由hsl表示的,则可以省略这个步骤),色相(h)、饱和度(s)、亮度(l)分量分别记为hdhsl、sdhsl、ldhsl。

(2)将输入图像的亮度分量分成多个图像块。例如,将输入图像的亮度分量lihsl分为不重叠的m×m的图像块。

(3)确定输入图像中具有最大透射率的图像块的平均亮度。例如,计算对应最大透射率ptmax的图像块的平均亮度,记为其中,在步骤(2)中的m×m的图像块可以与上述实施例中将输入图像分成m×m图像块相同。以这种方式,可以节省步骤(3)的计算时间,例如可以直接使用上述实施例中计算出的每个图像块的透射率以确定对应最大透射率ptmax的图像块,进而可以在步骤(3)中直接计算对应最大透射率ptmax的图像块的平均亮度。

(4)确定输入图像中其它每个图像块的平均亮度与具有最大透射率的图像块的平均亮度的比值。例如,计算其它每个图像块的平均亮度值的比值即:

(5)基于该比值和输出图像中对应于输入图像中具有最大透射率块的图像块的图像块的每个像素的亮度,对输出图像中对应图像块的对应像素的亮度进行调整。例如,可以通过如下公式对输出图像的第k个图像块的每一个像素的亮度值重新赋值:

其中,表示输出图像中对应于输入图像中具有最大透射率块的图像块的图像块中坐标为(x,y)的像素的亮度值,表示输出图像中对应图像块(即,第k个图像块)的对应像素(即,坐标为(x,y)的像素)的亮度值。对输出图像的每个图像块的每个像素都进行如上操作,直到把所有图像块的像素的亮度值全部赋值完成。

此外,还可以将经过亮度调整的输出图像换回原始的颜色空间(例如rgb空间)。

在一个实施例中,可以对第一部分和第二部分交界处的像素的亮度进行平滑处理,例如以使得在第一部分和第二部分交界处的亮度过度较为自然。作为示例,可以对交界处向上hu个像素和向下hd个像素的亮度值进行平滑,在图4中示出了在第一部分和第二部分交界处的示意图。例如,可以采用双边滤波的方法对交界处附近的像素进行平滑。在一个实施例中,可以使用如下的双边滤波公式:

其中,f为高斯函数,σh、σi为参数,x为中心像素点,y为x邻域内任意一点的像素。经过平滑,可以得到平滑后的亮度ld′f。然后,可以将平滑后的亮度l′df与hdhsl、sdhsl一起,转换回原始颜色空间(例如rgb颜色空间)。此外,除了双边滤波之外,还可以使用任何具有平滑功能的滤波方法,例如导向滤波等。

图5示出了根据示例实施例的图像去雾的过程的流程图。对于在上述实施例已经描述的部分或功能,出于简洁在此省略其说明。

在501处,输入原始有雾图像。

在503处,将输入有雾图像分割成具有第一透射率的第一部分(例如,浅雾区域)和具有第二透射率的第二部分(例如,浓雾部分)。例如,可以根据公式(10)或公式(5)来确定透射率,进而根据透射率将图像分割成第一部分和第二部分。

在505处,使用图像恢复方法去除第一部分中的雾成分。例如,在505处可以使用上述参考文件(1)、(2)、(3)或本公开的实施例的方法。此外,在框505处,还可以例如根据公式(5)确定具有最大透射率的图像块。

在507处,使用图像增强方法去除第二部分中的雾成分。例如,在507处可以使用上述参考文件(4)、(5)、(6)或本公开的实施例的方法。

在509处(非必需的),对输出图像的亮度进行调整以使得所述第一部分和所述第二部分的亮度一致。

在511处(非必需的),对第一部分和第二部分交界处的像素的亮度进行平滑处理。

在513处,输出图像。

基于与上述方法相同的发明构思,本公开还提供了一种用于去除输入图像中的混浊对象的装置。该装置可以包括用于执行上述方法的步骤的构件。针对与前述实施例相同的部分,适当地省略它们的描述。

图6示出了根据本公开的实施例的装置。参照图6,装置600包括:分割单元601,其将输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分;第一去除单元603,其使用第一方法去除所述第一部分中的混浊对象;第二去除单元605,其使用第二方法去除所述第二部分中的混浊对象;以及组合单元607,其将去除所述混浊对象的第一部分和去除所述混浊对象的第二部分组合成输出图像,其中所述第一方法和所述第二方法不同,第一透射率大于第二透射率。

在一个实施例中,透射率与所述输入图像中的对象至获取所述输入图像的成像设备的距离有关,所述分割单元601还基于所述输入图像的深度图,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。

在一个实施例中,所述分割单元601还将所述输入图像分成多个图像块;计算每个图像块的透射率;以及基于每个图像块的透射率,将所述输入图像分割成具有第一透射率的第一部分和具有第二透射率的第二部分。

在一个实施例中,所述装置600还包括:重分类单元(未示出),其基于已分类的每个图像块周围的图像块的分类,将已分类的每个图像块重新分类为所述第一部分或所述第二部分。

在一个实施例中,装置600还包括:计算单元(未示出),其基于以下与透射率相关联的特征参数来计算每个图像块的透射率:所述每个图像块的每个像素的最大颜色通道值与最小颜色通道值的差值之和、所述输入图像的最大像素值与所述每个图像块的每个像素的最小颜色通道值的差值之和、所述每个图像块的每个像素的每个颜色通道的梯度之和。

在一个实施例中,每个图像块的透射率由所述特征参数线性表示,每个特征参数与各自系数相关联,所述装置600还包括:确定单元(未示出),其通过学习确定所述各自系数。

在一个实施例中,所述第一方法为图像恢复方法。。

在一个实施例中,所述图像恢复方法包括通过以下公式来获得恢复的图像:

其中,i为所述输入图像的第一部分中的图像块或像素,j为恢复的所述输入图像的第一部分的所述图像块或像素,a为大气光,t为所述输入图像的第一部分的所述图像块或像素的透射率。在一个实施例中,使用公式(5)来计算输入图像的第一部分的图像块的透射率。

在一个实施例中,所述第二方法为图像增强方法。

在一个实施例中,所述图像增强方法包括:

通过以下公式对所述第二部分中的像素的亮度进行处理,

其中,f(x)为像素x的输出亮度,x为像素x的输入亮度,βi为系数。

在一个实施例中,装置600还包括:调整单元(未示出),其对输出图像的亮度进行调整以使得所述第一部分和所述第二部分的亮度一致。

在一个实施例中,调整单元还用于将输入图像的亮度分量分成多个图像块;确定输入图像中具有最大透射率的图像块的平均亮度;确定输入图像中其它每个图像块的平均亮度与具有最大透射率的图像块的平均亮度的比值;以及基于所述比值和所述输出图像中对应于所述输入图像中具有最大透射率块的图像块的图像块的每个像素的亮度,对输出图像中对应图像块的对应像素的亮度进行调整。

在一个实施例中,装置600还包括:平滑单元(未示出),其对所述第一部分和所述第二部分交界处的像素的亮度进行平滑处理。

图7示出了根据本公开的实施例的对带雾图像的分割的示意图。图7(a)表示原始带雾图像,图7(b)表示根据本公开的实施例的输入图像分割后的结果的示意图。从图7(a)可以看出,在近景处(浅雾区域)的对象受雾的影响较少,图像的颜色和细节保持较好,而远景处(浓雾区域)的对象受雾的影响较大,图像的颜色和细节损失较大。从图7(b)可以看出,通过本公开的实施例的方法,较好地将浅雾区域和浓雾区域分割开。

图8示出了根据本公开的实施例的方法与其它方法的去雾效果。图8(a)示出了原始带雾图像,图8(b)示出了基于恢复的方法的图像去雾的效果,图8(c)示出了基于增强的方法的图像去雾效果,图8(d)示出了根据本公开的实施例的图像去雾效果。观察图5(b)的上半部的浓雾区域可以看出,基于恢复的方法去雾效果非常有限。观察图5(c)左下角处房顶区域可以看出,基于增强的方法得到颜色失真非常颜色,例如,本来是灰白色的房顶变成了红色和白色。从图5(d)可以看出,根据本公开的实施例的方法不仅可以很好地去除浓雾区域的雾而且浅雾区域的房顶颜色保持的也很好。因此,根据本公开的实施例的图像去雾效果比基于恢复的方法和基于增强的方法的图像去雾效果都好。这意味着根据本公开的实施例的方法不仅可以较好地恢复图像中的对象的细节和纹理,而且颜色失真较小。

注意的是,以上描述的装置的组件中的任何组件可以被实现为硬件、软件模块或其组合。在软件模块的情况下,可以将它们包含在有形的计算机可读可记录存储介质上。所有软件模块(或其任何子集)可以在相同的介质上,或每个软件模块可以在不同的介质上。软件模块可以运行在硬件处理器上。使用运行在硬件处理器上的不同的软件模块来执行方法步骤。

另外,本公开的一个方面可以使用在通用计算机或工作站上运行的软件。此类实现方式可以使用例如处理器、存储器和例如由显示器和键盘形成的输入/输出接口。如本文中使用的词语“处理器”旨在包含任何处理设备,诸如处理器包含cpu(中央处理器)和/或其它形式的处理电路。此外,词语“处理器”可以指不只一个处理器。词语“存储器”旨在包含与处理器或cpu相关联的存储器,诸如ram(随机访问存储器)、rom(只读存储器)、固定存储器(例如,硬盘)、可移动存储设备(例如,磁盘)、闪速存储器等。处理器、存储器和输入/输出接口(诸如显示器和键盘)可以例如经由总线互连。

因此,计算机软件(其包含用于执行如本文所描述的本公开方法的指令和代码)可以存储在相关联的存储器设备中的一个或多个相关联的存储器设备中,并且当准备好被使用时,被部分地或全部地加载(例如加载到ram中)并由cpu执行。此类软件可以包括但不限于固件、驻留软件、微码、以及诸如此类。计算机软件可以是使用任何编程语言编写而成的计算机软件,以及可以是以源代码、目标代码或在源代码和目标代码之间的中间代码的形式,诸如以部分编译的形式,或以任何其它期望的形式。

本公开的实施例可以采用包含在计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有在其上包含的计算机可读程序代码。此外,可以使用任何组合的计算机可读介质。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是但不限于电、磁、电磁、光或其它存储介质,以及可以是可移动的介质或被固定地安装在装置和设备中的介质。此类计算机可读介质的非限制性示例是ram、rom、硬盘、光盘、光纤等。计算机可读介质可以例如是有形的介质,例如,有形的存储介质。

本文所使用的词语仅是出于描述特定实施例的目的,并且不是意在限制实施例。如本文所使用的,单数形式“一个”、“一种”和“所述”意味着也包含复数形式,除非上下文中清楚地另外指明。还应当理解的是,当在本文使用时,词语“包括”、“具有”、“包含”和/或“含有”指存在所阐明的特征、数字、步骤、操作、元素和/或组件,但是不排除存在或附加一个或多个其它特征、数字、步骤、操作、元素、组件和/或其组合。

还应当注意的是,在一些可替代实现方式中,所阐明的功能/动作可以不按附图中所阐明的顺序发生。如果需要,可以以不同的顺序和/或彼此并发地执行本公开中所描述的不同功能。此外,如果需要,上述功能中的一个或多个功能可以是非必须的或可以被组合。

尽管以上参照附图描述了本公开的实施例,但是本领域的技术人员可以理解以上描述仅为示例,而不是对本公开的限制。可以对本公开的实施例进行各种修改和变型,而仍落入本公开的精神和范围之内,本公开的范围仅由所附权利要求书确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1