CN103824250B - 基于gpu的图像色调映射方法 - Google Patents

基于gpu的图像色调映射方法 Download PDF

Info

Publication number
CN103824250B
CN103824250B CN201410036309.6A CN201410036309A CN103824250B CN 103824250 B CN103824250 B CN 103824250B CN 201410036309 A CN201410036309 A CN 201410036309A CN 103824250 B CN103824250 B CN 103824250B
Authority
CN
China
Prior art keywords
pixel
image
yardstick
gpu
pending 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.)
Expired - Fee Related
Application number
CN201410036309.6A
Other languages
English (en)
Other versions
CN103824250A (zh
Inventor
李盼
张大龙
董建锋
张丹
赵磊
鲁东明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201410036309.6A priority Critical patent/CN103824250B/zh
Publication of CN103824250A publication Critical patent/CN103824250A/zh
Application granted granted Critical
Publication of CN103824250B publication Critical patent/CN103824250B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Abstract

本发明的基于GPU的图像色调映射方法中首先获取待处理图像的各个像素的初始光亮度值,然后根据各个像素的初始光亮度值计算得到全局光亮度值,进一步将待处理图像映射到中级灰度区中,对映射后的图像进行局部对比度增强得到各个像素的最终亮度值,并以最终亮度值完成色调映射。本发明的图像色调映射方法基于GPU编程管线实现,且高斯滤波采用空间卷积,将待处理图像中的像素划分为若干个部分采用GPU中不同的线程完成卷积,充分利用改了GPU的并行处理能力,大大提高了图像色调映射的速度,能够达到交互的帧率要求,有利于实现实时图像色调映射。

Description

基于GPU的图像色调映射方法
技术领域
本发明涉及计算机图像领域,具体涉及一种基于GPU的图像色调映射方法。
背景技术
色调映射是在有限动态范围媒介上近似显示高动态范围图像的一项计算机图形学技术。在现实世界中,一个场景的动态范围往往是现实设备所无法表示的,这些设备通常只能提供8bit通道来表示动态范围,这就必然需要能将高动态图像映射到低动态设备上的色调映射算法。
目前已经有很多色调映射算法都能够完成将高动态图像映射到低动态设备上的功能。最简单的可能就是线性映射,不过线性变化往往会因为尺度的原因而忽略很多原图像的细节信息,只保留对比度。一种基于人的感知的色调映射算法首先由Tumblin和Rushmeier提出,该算法能够保留原有的感光效果。之后,Ward又提出了一种丢弃亮度信息而保留感知对比信息的算法,这种方法将HDR图像和现实设备最小感知亮度之间的差值保留了下来。Ward Larson et al.提出了另一种柱状图调制技术,该技术基于场景中的分布式光照自适应,能够很好的改善具有对比感、视角变化和色彩敏感度的照片的真实感。Tumblin随后又提出了一种基于人类视觉自适应调整的新算法,该算法把原图像分为照明层和反射层,在保存了反射细节信息之后,对光照层进行压缩。
色调映射算法常常涉及全局和局部计算,全局计算虽然简单有效,但是很难有效地保留大部分HDR图像的局部差异;局部计算却可通过使用空间变换映射来解决这个问题,从这一点,可以知道,依据局部性的原理,两个确定的照明亮度可以映射为不同的值。Jobson和Tanaik.后来发展了一种多分辨率的技术,这种技术能够用来模拟人类视觉系统的行为。虽然它 可以将很多的局部细节信息保留下来,使得最终的实验效果很好,但是却过于强调细节,并且有太多的参数需要设定。
之后Fattal提出一种基于光照梯度衰减的新方法。从概念上讲,这种方法不仅简单,而且能够进行有效的计算,可是却要解一个泊松方程。不过,Goodnight在GPU上实现了这个算法,只不过没能够做到实时的交互。色调映射算法虽然很多,也有不少的人去实现各种色调映射算法,但交互式的色调映射算法却很少有人关注,实时交互的色调映射算法的实现几乎没有人去尝试,很大程度上是因为色调映射算法本身的复杂性。近年来,图形硬件技术的发展,使得部分的图形硬件提供流水线中顶点和图元部分的可编程接口,GPU的高效运算能力使得交互式3D渲染更加快速,这也促使使用GPU可编程管线来实现可交互的实时色调映射更为便捷,更加具有实际意义。
发明内容
针对现有的色调映射方法中实时性差的问题,本发明提供了一种基于GPU的图像色调映射方法。
一种基于GPU的图像色调映射方法,包括:
(1)获取待处理图像中每个像素的初始光亮度值,并根据所有像素的初始光亮度值计算得到待处理图像的全局光亮度值;
(2)将待处理图像映射到中级灰度区,其中待处理图像中各个像素在中级灰度区的光亮度值根据:
L ( x , y ) = a L w ‾ L w ( x , y )
计算,a为亮度常数,为待处理图像的全局光亮度值,Lw(x,y)坐标为(x,y)的像素的初始光亮度值;
(3)根据各个像素在中级灰度区中的光亮度值对待处理图像中的该像素进行局部对比度增强,得到各个像素的最终光亮度值;
(4)利用各个像素的最终光亮度值对待处理图像进行色调映射,得到色调映射后的图像。
亮度常数a为控制图片亮度的常数,是以待处理图像亮度为基础而选择的一个常数,决定待处理图像的亮度的常数,是决定一个给定图像是亮,正常还是偏暗的“关键值”,类似于控制摄像机自动曝光的值,待处理图像正常时a的值为0.18。
本发明的图像色调映射方法中各个步骤均基于GPU完成,首先获取待处理图像的各个像素的初始光亮度值,然后根据各个像素的初始光亮度值计算得到全局光亮度值,进一步将待处理图像映射到中级灰度区中,对映射后的图像进行局部对比度增强得到各个像素的最终亮度值,并以最终亮度值完成色调映射。通过将待处理图像映射到中级灰度区使待处理图像中各个像素的光亮度值的范围映射到显示设备的显示范围[0,1]内,且通过该映射对待处理图像中各个像素的亮度进行微调整,增强待处理图像的细节信息,且进一步通过局部对比度增强有效避免了待处理图像中的高频细节信息丢失。
所述步骤(1)中根据:
L w ‾ = exp ( 1 N Σ x , y log ( δ + L w ( x , y ) ) )
计算得到待处理图像的全局光亮度值,N为待处理图像中的像素个数,(x,y)为像素的坐标,δ为溢出常数,表示对待处理图像中所有像素求和。δ为一个接近0的正数,保证δ+Lw(x,y)的取值大于0即可。
所述步骤(3)中包括:
(3-1)对待处理图像进行多尺度的高斯滤波得到各个尺度上的归一化因子;
(3-2)根据中心环绕函数判断得到满足Reinhard条件的尺度;
(3-3)根据满足Reinhard条件的尺度上的归一化因子计算各个像素的最终光亮度值,其中坐标为(x,y)的像素的最终光亮度值为:
L d ( x , y ) = L ( x , y ) 1 + V ( x , y , s m )
其中V(x,y,sm)为第m个尺度对应的归一化因子,sm为满足Reinhard 条件的尺度。
所述步骤(3-1)包括:
(3-11)分别定义n个尺度及各个尺度下的高斯核函数;
(3-12)对于每个尺度,(根据待处理的图像大小和GPU并行处理能力)将待处理图像中的像素和高斯核函数划分成若干个一一对应的部分,将每部分像素的像素值和对应的高斯核函数进行卷积,将所有部分卷积的和作为该尺度的归一化因子。
将待处理图像中的像素划分后,能够将不同的部分送到GPU中不同的线程中进行并行处理,能够大大提高运算速度。每个部分像素中包含的像素个数根据待处理的图像大小和GPU并行处理能力确定,尽量最大程度的利用GPU的并行处理能力,有利于提高图像色调映射的实时性。
本发明中将待处理图像中的像素进行划分部分时,可以随意选取设定个数的像素作为一个部分,但必须保证不同部分中没有相同的像素,即相同像素不能重复划分。每个部分对应高斯核函数中的一个部分,二者为一一对应关系,且每个部分中的每个像素也对应该部分高斯核函数的一个跟小的部分。
所述步骤(3-2)Reinhard条件使用中心环绕函数如下:
Activity ( x , y , s i ) = V ( x , y , s i ) - V ( x , y , s i + 1 ) 2 Φ a / s i 2 + V ( x , y , s i )
该函数是一个关于(x,y,si)的三元函数,其中:
(x,y)为像素的坐标决定一个点,
si为第i个尺度,si+1为第i+1个尺度,
Activity(x,y,si)表示坐标为(x,y)的像素在尺度si上的中心环绕值,
φ为控制边缘的锐化因子,用于计算各个尺度下的局部对比度,其值越大,锐化效果越差,一般取在0~1。
从i=1开始,直至获取满足Reinhard条件的尺度sm,其中设定ε为Reinhard条件的阈值,则尺度sm满足条件:
|Activity(x,y,si)|>ε。
能否获取满足Reinhard条件的尺度sm与相邻尺度的关系,第一个尺度s1的大小,Reinhard条件的阈值ε,以及尺度的个数n有关系。实际上相邻尺度满足如下:
si+1=k×si
k为比例系数。一般情况下比例系数k和第一个尺度s1越小,尺度个数n和Reinhard条件的阈值ε越大,在本次迭代中获取的Reinhard条件的尺度sm的可能性越大。
若在比例系数k和第一个尺度s1,尺度个数n和Reinhard条件的阈值ε一定的情况下,没有得到满足Reinhard条件的尺度sm,则调整以上各个参数,直至得到满足Reinhard条件的尺度sm
通常情况下,比例系数k的取值范围为1.4~1.8,第一个尺度s1为0~0.5,尺度个数n的取值范围为2~8,Reinhard条件的阈值为0.01~0.08。
作为优选,相邻的两个尺度满足:
si+1=1.6×si
其中,si为第i个尺度,i=1,2,……n,S1=0.35。
作为优选,所述n的取值范围为4~8。
作为优选,所述Reinhard条件的阈值为0.02~0.06。
本发明的基于GPU的图像色调映射方法与图像压缩具有较好的兼容性,只需在步骤(3)中将待处理图像映射到中级灰度区后对全局光亮度值进行映射调整得到待处理图像中每个像素的中间亮度值,并根据各个像素的中间亮度值对待处理图像的RGB值进行现实亮度比例化处理,然后按照正常的图像压缩流程进行图像压缩即可。其中根据:
L d ( x , y ) = L ( x , y ) 1 + L ( x , y )
计算中间亮度值,L(x,y)为坐标为(x,y)的像素在中级灰度区的亮度值。
与现有的映射方法比较,本发明的图像色调映射方法基于GPU编程管线实现,且高斯滤波采用空间卷积,将待处理图像中的像素划分为若干个部分采用GPU中不同的线程完成卷积,充分利用改了GPU的并行处理 能力,大大提高了图像色调映射的速度,能够达到交互的帧率要求,有利于实现实时图像色调映射。
具体实施方式
下面将结合具体实施例对本发明进行详细说明。
一种基于GPU的图像色调映射方法,包括:
(1)获取待处理图像中每个像素的初始光亮度值,并根据所有像素的初始光亮度值计算得到待处理图像的全局光亮度值;
步骤(1)中根据:
L w ‾ = exp ( 1 N Σ x , y log ( δ + L w ( x , y ) ) )
计算得到待处理图像的全局光亮度值,N为待处理图像中的像素个数,(x,y)为像素的坐标,δ为溢出常数,Lw(x,y)坐标为(x,y)的像素的初始光亮度值。
本实施例中N=800×600(单位为像素),δ=0.01,表示对待处理图像中所有像素求和。
(2)将待处理图像映射到中级灰度区,其中待处理图像中各个像素在中级灰度区的光亮度值根据:
L ( x , y ) = a L w ‾ L w ( x , y )
计算,a为亮度常数(本实施例中a=0.18),为待处理图像的全局光亮度值;
(3)根据各个像素在中级灰度区中的光亮度值对待处理图像中的该像素进行局部对比度增强,得到各个像素的最终光亮度值。
步骤(3)具体包括以下步骤:
(3-1)对待处理图像进行多尺度的高斯滤波得到各个尺度上的归一化因子,具体如下:
(3-11)分别定义n个尺度及各个尺度下的高斯核函数;
(3-12)对于每个尺度,将待处理图像中的像素和高斯核函数划分成若干个一一对应的部分(本实施例中每个部分包含四个像素),将每部分像素的像素值和对应的高斯核函数进行卷积,将所有部分卷积的和作为该尺度的归一化因子;
(3-2)根据中心环绕函数判断得到满足Reinhard条件的尺度;
(3-3)根据满足Reinhard条件的尺度上的归一化因子计算各个像素的最终光亮度值,其中坐标为(x,y)的像素的最终光亮度值为:
L d ( x , y ) = L ( x , y ) 1 + V ( x , y , s m )
其中V(x,y,sm)为尺度sm对应的归一化因子,sm为满足Reinhard条件的尺度。
本实施例中n=8,8个尺度分别为S1,S2,……S8,且相邻的两个尺度满足:
si+1=1.6×si
其中,si为第i个尺度,si+1为第i+1个尺度,i=1,2,……8,s1=0.35。
步骤(3-2)中Reinhard条件使用中心环绕函数如下:
Activity ( x , y , s i ) = V ( x , y , s i ) - V ( x , y , s i + 1 ) 2 Φ a / s i 2 + V ( x , y , s i ) ,
其中,(x,y)为像素的坐标,φ为锐化因子,本实施例中φ=0.5。
从i=1开始,直至获取满足Reinhard条件:
|Activity(x,y,sm)|>ε
的尺度sm,其中ε为Reinhard条件的阈值(本实施例中ε=0.05)。
(4)利用各个像素的最终光亮度值对待处理图像进行色调映射,得到色调映射后的图像。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种基于GPU的图像色调映射方法,其特征在于,包括:
(1)获取待处理图像中每个像素的初始光亮度值,并根据所有像素的初始光亮度值计算得到待处理图像的全局光亮度值;
(2)将待处理图像映射到中级灰度区,其中待处理图像中各个像素在中级灰度区的光亮度值根据:
L ( x , y ) = a L w ‾ L w ( x , y )
计算,a为亮度常数,为待处理图像的全局光亮度值,Lw(x,y)坐标为(x,y)的像素的初始光亮度值;
(3)根据各个像素在中级灰度区中的光亮度值对待处理图像中的该像素进行局部对比度增强,得到各个像素的最终光亮度值;
(4)利用各个像素的最终光亮度值对待处理图像进行色调映射,得到色调映射后的图像。
2.如权利要求1所述的基于GPU的图像色调映射方法,其特征在于,所述步骤(1)中根据:
L w ‾ = exp ( 1 N Σ x , y log ( δ + L w ( x , y ) ) )
计算得到待处理图像的全局光亮度值,N为待处理图像中的像素个数,(x,y)为像素的坐标,δ为溢出常数,表示对待处理图像中所有像素求和。
3.如权利要求2所述的基于GPU的图像色调映射方法,其特征在于,所述步骤(3)中包括:
(3-1)对待处理图像进行多尺度的高斯滤波得到各个尺度上的归一化因子;
(3-2)根据中心环绕函数判断得到满足Reinhard条件的尺度;
(3-3)根据满足Reinhard条件的尺度上的归一化因子计算各个像素的最终光亮度值,其中坐标为(x,y)的像素的最终光亮度值为:
L d ( x , y ) = L ( x , y ) 1 + V ( x , y , s m )
其中V(x,y,sm)为第m个尺度对应的归一化因子,sm为满足Reinhard条件的尺度。
4.如权利要求3所述的基于GPU的图像色调映射方法,其特征在于,所述步骤(3-1)包括:
(3-11)分别定义n个尺度及各个尺度下的高斯核函数;
(3-12)对于每个尺度,将待处理图像中的像素和高斯核函数划分成若干个一一对应的部分,将每部分像素的像素值和对应的高斯核函数进行卷积,将所有部分卷积的和作为该尺度的归一化因子。
5.如权利要求4所述的基于GPU的图像色调映射方法,其特征在于,相邻的两个尺度满足:
si+1=1.6×si
其中,si为第i个尺度,i=1,2,……n,s1=0.35。
6.如权利要求5所述的基于GPU的图像色调映射方法,其特征在于,所述n的取值范围为4~8。
7.如权利要求6所述的基于GPU的图像色调映射方法,其特征在于,所述Reinhard条件的阈值为0.02~0.06。
CN201410036309.6A 2014-01-24 2014-01-24 基于gpu的图像色调映射方法 Expired - Fee Related CN103824250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410036309.6A CN103824250B (zh) 2014-01-24 2014-01-24 基于gpu的图像色调映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410036309.6A CN103824250B (zh) 2014-01-24 2014-01-24 基于gpu的图像色调映射方法

Publications (2)

Publication Number Publication Date
CN103824250A CN103824250A (zh) 2014-05-28
CN103824250B true CN103824250B (zh) 2016-09-07

Family

ID=50759298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410036309.6A Expired - Fee Related CN103824250B (zh) 2014-01-24 2014-01-24 基于gpu的图像色调映射方法

Country Status (1)

Country Link
CN (1) CN103824250B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104835121B (zh) * 2015-04-27 2017-10-24 西安电子科技大学 基于无穷范数约束与最大熵原则的色调映射方法
CN110910333B (zh) * 2019-12-12 2023-03-14 腾讯科技(深圳)有限公司 图像处理方法和图像处理设备
CN111683192B (zh) * 2020-06-11 2023-03-21 展讯通信(上海)有限公司 图像处理方法及相关产品
CN113747251A (zh) * 2021-08-20 2021-12-03 武汉瓯越网视有限公司 图像色调调整方法、存储介质、电子设备及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082992A (zh) * 2007-07-06 2007-12-05 浙江大学 实时高动态范围图像的绘制和显示方法
WO2010024782A1 (en) * 2008-08-26 2010-03-04 Agency For Science, Technology And Research A method and system for displaying an hdr image on a ldr display device
CN102741883A (zh) * 2010-02-04 2012-10-17 微软公司 高动态范围图像生成和渲染

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080143720A1 (en) * 2006-12-13 2008-06-19 Autodesk, Inc. Method for rendering global illumination on a graphics processing unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082992A (zh) * 2007-07-06 2007-12-05 浙江大学 实时高动态范围图像的绘制和显示方法
WO2010024782A1 (en) * 2008-08-26 2010-03-04 Agency For Science, Technology And Research A method and system for displaying an hdr image on a ldr display device
CN102741883A (zh) * 2010-02-04 2012-10-17 微软公司 高动态范围图像生成和渲染

Also Published As

Publication number Publication date
CN103824250A (zh) 2014-05-28

Similar Documents

Publication Publication Date Title
CN106296612B (zh) 一种图像质量评价和天气状况引导的分级式监控视频清晰化系统及方法
CN104408752B (zh) 一种基于混合色调映射算法的高动态范围图像压缩方法
Park et al. Single image dehazing with image entropy and information fidelity
CN102436640A (zh) 一种基于HIS空间的多尺度Retinex模型的雾天图像清晰化方法
CN108022223B (zh) 一种基于对数映射函数分块处理融合的色调映射方法
CN103824250B (zh) 基于gpu的图像色调映射方法
CN105118027B (zh) 一种图像的去雾方法
CN103593830A (zh) 一种低照度视频图像增强方法
CN103034986A (zh) 一种基于曝光融合的夜视图像增强方法
CN104537615A (zh) 一种基于HSV色彩空间的局部Retinex增强算法
CN107895357B (zh) 一种基于fpga的实时水面浓雾场景图像增强方法
CN103530847A (zh) 一种红外图像增强方法
CN103034983B (zh) 一种基于各向异性滤波的去雾方法
CN110706172B (zh) 基于自适应混沌粒子群优化的低照度彩色图像增强方法
CN102231791A (zh) 一种基于图像亮度分层的视频图像去雾方法
CN107798661A (zh) 一种自适应的图像增强方法
CN105513015B (zh) 一种雾天图像的清晰化处理方法
CN112785534A (zh) 一种动态场景下去鬼影多曝光图像融合方法
CN102646267B (zh) 退化图像复原方法及系统
CN105447825A (zh) 图像去雾方法及其系统
CN103702116A (zh) 一种图像的宽动态压缩方法和装置
CN111311503A (zh) 一种夜晚低亮度图像增强系统
CN113052923A (zh) 色调映射方法、装置、电子设备和存储介质
CN104050636B (zh) 一种粒度可控的低照度图像的增强方法
CN110047052A (zh) 一种基于fpga的强光抑制夜视增强方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160907