APP下载

用于高动态场景图像序列获取的自动曝光模型

2022-05-18侯幸林周培培赵景波

关键词:直方图灰度像素

侯幸林,周培培,赵景波

(1.常州工学院 汽车工程学院,江苏 常州 213032;2.常州工学院 电气信息工程学院,江苏 常州 213032)

0 引言

自然景物的辐射度可以达到10 个数量级,但是传统的相机只能捕捉大约4 个数量级的动态范围。高动态范围(high dynamic range,HDR)场景往往包含多个亮度区域,采用传统相机单次曝光难以获得清晰的图像。最常用的HDR 成像技术是包围曝光技术[1-2],它可以捕捉同一场景不同曝光时间的一组多曝光图像,且获取包含明暗区域场景细节的最小图像集对高动态图像融合[3-4]具有重要意义,图像集的数量和质量严重影响着成像效率和成像效果。

在HDR 成像领域,针对多曝光图像获取模型,研究人员提出了多种方法。在Piao 等[5]的方法中,通过改变曝光时间,将图像的中值调整到系统输出的中间范围,从而捕获到第一个图像。然后,将曝光不足和曝光过度的像素调整到显示范围的中间,捕获另外两个图像,这些图像被合并在一起以获得HDR 场景图像序列。然而,当一个HDR 场景包含3 个以上不同的亮度区域时,该方法将无能为力。斐波纳契包围法是在Gupta 等[6]的研究中提出的,该方法捕获一系列图像中的每个曝光时间是前两次曝光时长的总和,然而,该曝光时间设置方法并无科学依据,不能自适应不同的高动态场景。Hirakawa 等[7]提出了一种基于直方图的曝光时间选择方法,可以根据不同的场景自动调整每个镜头的曝光时间。Reza 等[8]探索出了一种利用像素聚类和局部熵自动优化选择曝光时间的方法,三幅不同曝光设置下的图像被自动捕获,该方法与Piao 等[5]的方法有相同的局限性。赵金波等[9]提出了一种基于最优曝光的最小包围曝光集合的获取方法,该方法在实际多曝光捕获时,通过计算目标场景最优曝光图像的动态范围,以及目标场景最小、最大辐照度,从而获取最小包围曝光集合。然而,针对任意的高动态场景,其最优曝光图像的动态范围无法精确获得。近年来,强化学习(reinforcement learning,RL)逐步应用到不同的计算机视觉任务中,如分类[10]、检测[11]以及图像获取[12-13]等方面,Yang 等[14]的目标是建立一个系统,用户可以通过给预览图像打分来自动调整单个图像的曝光。Yu 等[15]使用RL 学习局部曝光,以便通过分割和精修进行曝光融合。Wang 等[16]的模型倾向于使用RL 通过分析预览图像来确定生成HDR 图像的最佳曝光间隔,并直接从多曝光融合网络中获得奖励,通过联合训练,其图像获取与图像融合网络可以相互受益。该类方法通过自主强化学习,获得较好的图像数据,同时得到较好的融合图像。然而,该类方法对数据集的需求大,需要有图像融合网络作为强化学习的评价机制,网络复杂难以训练,耗时长,计算量大,对硬件要求高。

综上,已有模型均为HDR 场景的图像获取提供了解决方案,但都受到一定的限制。本文为HDR 场景提供了一种鲁棒的多曝光图像获取模型,无需数据集与训练环节,计算量较小,实现简单方便,对硬件要求低。如图1 所示,该模型的基本思想是对场景中亮度不同的区域进行不同时长的曝光,通过计算每个不同亮度区域的最佳曝光时间,使HDR 场景高效呈现在一个最小图像集中。

图1 本文方法的流程图

根据不同曝光时长的两幅初始图像,构造联合概率分布函数(probability distribution function,PDF),分割HDR 场景。已知在一定范围内,相机响应曲线是近似线性的,因此根据平均梯度和曝光度可计算每个区域的粗略曝光时间。然而,实际的相机响应曲线并不是严格线性的,因此,获得的曝光时间不能满足最佳图像区域捕获的要求。针对该问题,本文提出了一种自动包围曝光的调整机制,通过分析图像的统计特性来获得精确的曝光时间。最后,可以得到一组曝光程度不同的HDR 图像序列。

1 基于PDF 的场景分割

如图2 所示,HDR 场景包含天空、城堡、草坪和大门等多个亮度区域,为了给不同亮度区域提供不同的曝光时间,需要把HDR 场景划分为不同的区域,本文提出了基于PDF 的场景分割方法。

图2 一组高动态场景的多曝光图像序列

在不同曝光时间(t1和t2)下拍摄的2 幅场景图像表示为f1和f2,构成这些图像的像素的灰度值本质上是随机变量。联合分布函数P(f1,f2)是基于2 幅图像像素的灰度值分布情况来确定的,P(f1,f2)可以用L×L 矩阵来表示,其中L 表示图像中的灰度级。P(f1,f2)矩阵中的元素分布着一些有用的性质,它显示了像素灰度值从横坐标值变为纵坐标值的概率。对于HDR 场景,有多个不同的亮度区域。当曝光时间发生变化时,灰度值的差异也会发生变化,并反映在PDF 中。因此,这些随机变量的PDF 可用于场景分割。

已知摄像机的相机响应曲线在一定范围是近似线性的,设T2=2T1,矩阵P(f1,f2)中的非零值将主要分布在直线y=0.5x 的两侧。对于f1中灰度值为I (I<128)的像素,f2对应的灰度值为2I。这些像素用于确定PDF 的位置(I,2I)。对于f1中灰度I (I>127)的像素,f2中对应的灰度值将为255,这使得坐标为(I,255)的概率很大。

对于HDR 场景,不同的亮度区域将反映在PDF 中。图3(a)(b)显示的2 幅图像样本,曝光时间T2=4T1。如图3(c)为2 幅图像的联合概率分布函数,x 和y 分别表示灰度值的变化范围为0~255,大多数非零值位于直线y=0.25x 附近,非零值集中在2 个区域,主要对应于场景的暗区和亮区。根据非零值的分布可以对场景进行分割。图3(d)显示了场景分割的结果,该场景被分为2个亮度区域。每个分割后的场景区域都可以看作多个低动态范围(low dynamic range,LDR)区域的组合,此时,每个LDR 区域可以用一个合适的曝光时间来拍摄。

图3 基于联合概率分布函数(PDF)的场景分割示意图

2 基于虚拟曝光的粗曝光时间估计

场景分割后,每个LDR 区域需要设置不同的曝光时间,使每个LDR 场景区域都能得到很好的曝光。然而,最佳曝光时间是未知的,为了得到最佳曝光时间,首先通过虚拟曝光来估计粗略曝光时间,然后基于模糊控制对其进行精确调整。

图像f1和f2不仅可用于HDR 场景的分割,分割出来的区域还可以用来估计粗略的曝光时间。基于近似线性的相机响应曲线,将虚拟曝光定义为参考图像乘以时间系数的图像获取过程。比较图像f1和f2中特定的亮度区域,将表现较好的作为参考图像,通过优化图像最大曝光度以获得时间系数。对于一个可以分割成2 个亮度区域的HDR 场景,不同的曝光时间使得一个区域在2 幅图像中的表达不同。

根据曝光度和平均梯度,选择表现较好的一个作为该区域的虚拟曝光时间。图像质量可以联合曝光度和平均梯度来衡量,如式(1)所示。

式中:(i,j)是像素的位置索引,h‖=[10-1],,σ=0.2,对于每个像素,使用乘法将2 种度量信息融合为标量权重映射函数:

式中:wW和wG用于控制每个度量的影响。在下面的实验中,设置wW=0.5 和wG=0.5。高动态场景内,某个亮度区域的图像质量使用以下平均值进行评估:

式中:(i,j)是位于该区域的像素的索引,M 是该区域的总像素数。当图像区域的平均值位于灰度值范围的中间时,图像具有良好的曝光质量。对于选定的参考图像区域,如果图像的平均灰度大于128,则选择较小的时间系数(δ<1);当平均灰度小于128 时,则选择较大的时间系数(δ>1)。通过优化曝光度来选择最佳时间系数δ:

式中:fR是标准化的参考图像,δ 是时间系数。通过推导,可以得到:

式中:M 和N 是图像区域的长度和宽度。显然,该函数为二次函数,可以通过计算二次函数的极值来得到最优解。

最后,可得到粗曝光时间trough=δopttR,其中tR是参考图像区域的当前曝光时间。

3 基于模糊控制的曝光时间精调

基于虚拟曝光技术,计算得到场景每个亮度区域的粗曝光时间trough。然后,将曝光时间设置为trough来捕获一组多曝光图像。然而,由于相机线性响应曲线和虚拟曝光机制的假设,获得的曝光时间不是最佳的选择,针对此问题,提出了一种基于模糊控制的曝光时间精调方法。

为了满足快速成像的要求,调整算法必须具有快速、鲁棒、低复杂度的特点。由于灰度直方图是对不同灰度级像素数的统计,因此,图像的曝光度与其直方图有着直接的关系。图像直方图广泛应用于自动曝光控制,可用于反映光照条件以及图像是否曝光良好。对于一幅LDR 图像,如果直方图位于灰度范围的中心,则图像通常曝光良好。当直方图位于灰度范围的两端时,图像视觉效果较差。本文采用灰度直方图来调整曝光时间。但是,根据直方图只能判断出图像曝光度为很暗、稍暗、曝光良好、稍亮和很亮5 个模糊概念,无法根据这些语言概念直接得到曝光时间精确调整的数学模型。模糊控制器可以解决这类问题,其输出可为曝光时间调整的推荐值,使用模糊控制器来精调曝光时间。

模糊控制器的设计包括3 个步骤:模糊逻辑定义、带规则的模糊推理和去模糊化。第1 步,定义由模糊控制隶属函数组成的模糊控制基变量。第2 步,构造模糊控制规则并进行模糊规则推理,使规则库中的规则能够确定曝光调整时间。第3步,将模糊推理的结果从语言概念转换为量化的曝光时间。

3.1 模糊化

模糊化需要将量化的输入值转换为模糊值。根据图像区域的直方图以及直方图的主域位置,可推断出图像是亮的还是暗的。直方图的主域定义为一个包含30 个连续灰度级且像素数最大的区间。一般来说,如果直方图的主域位于灰度中心(128 左右),图像是可以接受的。当主域位于离中心稍远的位置时,图像效果较差。如果主域位于灰度的一端,则图像是不可接受的。因此,直方图主域位置可用于模糊控制。此外,曝光过多和曝光不足的像素数目可以指示曝光程度。如果过度曝光的像素数超过总像素的一定比例,则应缩短曝光时间。理想情况下,分割后的场景区域的动态范围较低,因此曝光过多和曝光不足的像素不会同时出现在分割区域中。针对某个特定的亮度区域,过曝光和欠曝光的像素归一化差异diff将用于模糊控制,其定义如下:

式中:No和Nu分别表示曝光过多和曝光不足的像素数,N 是该亮度区域的总像素个数,Th 是阈值。

结合灰度直方图主域位置(条件1)、过曝光和欠曝光的像素归一化差异diff(条件2)2 个因素来调整曝光时间,并为这2 个条件分别定义语言变量,语言变量是由多个描述不同特征的语言术语组成的。根据条件1,定义5 个语言术语,分别是极左(FL)、稍左(LL)、中间(M)、稍右(LR)和极右(FR)。对于条件2,diff 为正表示曝光时间应缩短,反之则应增加曝光时间。条件2 定义了3个语言术语,分别为负(N)、相等(E)和正(P)。条件1 和条件2 对应的隶属函数如图4(a)(b)所示。模糊控制器的作用是调整曝光时间,定义的输出语言术语是大减(LD)、微减(SD)、不变(U)、微增(SI)和大增(LI)。输出模糊域定义为[-mTc,mTc],其中Tc是当前曝光时间,m 是比例因子。实验中模糊域[-mTc,mTc]应归一化到[-1,1]。成员函数如图4(c)所示。利用条件1和条件2 的隶属函数,可以将精确的输入转化为模糊项。如果图像区域的直方图主域位于[110,143](M)且过曝光和欠曝光的像素归一化差异在[-0.2,0.2](E)中,则认为该区域曝光良好,当前曝光时间为最佳曝光时间。如果有任意一个变量超出最佳范围(M 或E),曝光时间都将被调整。

图4 2 个条件变量与1 个输出变量的隶属函数

3.2 模糊规则推理

模糊推理系统由一组模糊规则和模糊推理机制组成。模糊规则是根据专家经验定义的语言变量之间的关系,使用“如果……那么……”的规则。如表1 所示,如果条件1 直方图主域位置为FL,条件2 过曝光和欠曝光的像素归一化差异为E,则输出曝光时间调整为LI。

表1 模糊控制器模糊规则

在该模糊逻辑系统中,输入和输出语言变量的真实度在0 到1 之间。“0”表示完全不真实,“1”表示完全正确。这样,一个清晰的输入可以被翻译成一个语言变量。“如果…那么…”规则可以产生模糊逻辑推理,将输入语言变量与输出语言变量联系起来。

模糊逻辑推理是模糊控制器中模糊规则的计算。聚合是模糊推理的第1 步,用于确定输入语言变量的实现程度。这里使用模糊算子来综合各种先决条件的有效程度。合成是第2 步,它利用条件的有效性来确定结果的有效性,并生成最终的模糊输出语言项。

3.3 去模糊化

模糊化是利用隶属函数将模糊输出的语言项转换为清晰的输出值。本文采用了区域中心去模糊化方法,清晰值的位置将输出区域均匀地分成2部分。该规则去模糊化的稳态性能较好,且能尽量减少系统振荡。

实验中,当输出的绝对值小于0.05 时,对应的曝光时间是最佳的。对场景的每个亮度区域重复这一曝光时间调整过程,可为每个亮度区域获取最优的曝光时间,最终,为整个高动态场景获取一个多曝光图像序列。

4 实验及结果分析

为了验证所提出方法的有效性,在MATLAB平台上将其应用于Basler 相机。对于HDR 场景,首先用曝光时间T(T∈[10 ms,200 ms])进行场景分割,然后进行虚拟曝光,得到每个亮度区域的粗曝光时间,最后利用模糊控制器得到精确的曝光时间。实验拍摄的场景中,天空比建筑物明亮得多,是典型的HDR 场景。场景分割的曝光时间分别设置为15 ms 和30 ms,采用本文提出的联合概率分布函数场景分割方法,将该场景分割成了2个不同的区域,分割结果如图5(a)所示,其中亮区为天空,暗区为建筑,与预期效果一致。然后进行虚拟曝光和模糊控制,得到曝光良好的图像,如图5(b)(c)所示。

如图5(b)所示,当建筑物曝光良好时,天空区域就会过度曝光。相反,当天空曝光良好时,建筑区域出现欠曝光现象。对于“建筑”区域,虚拟曝光获得的曝光时间正好是最佳曝光时间。对于“天空”区域,经过5 次调整后得到最佳曝光时间。在这个过程中,总共进行了9 次曝光,最终获得2幅图像。如图5 所示,建筑物和天空的细节在2幅图像中得到了很好的表达。

图5 本文模型在HDR 场景中的拍摄图像

为了证明本方法的优势,选择同一个HDR 场景,与已有性能较好的文献[5]的方法和文献[8]的方法进行对比。在文献[5]的方法中,通过改变曝光时间来将曝光不足、曝光过度和中值像素调整到系统输出的中间范围,从而获取3 幅图像,如图6(a)所示,很明显,第1 张照片曝光过度,基本没有有用信息。

图6 本文方法与已有方法获取的图像序列

实际上,如果场景中存在亮度高或低的小区域,则会严重影响成像效果。在文献[8]的方法中,通过聚类将场景分割成多个区域,然后通过改变曝光时间来获取图像,直到图像区域信息熵调整到最大,如图6(b)所示,右侧和左下方2 个亮度区域在2 幅图中差别甚微,可见该组图像序列存在严重的信息冗余。本文方法的结果如图6(c)所示,在不同的曝光设置下,3 个亮度区域均得到了很好地表达,与实际拍摄场景下人眼的视觉效果更相近。

在图6 的场景下,每种图像获取方法捕获了3幅图像。在HDR 成像中,图像序列将被融合成1幅高动态场景图像,通过融合图像的质量可以更好地反映曝光方法的有效性。这里,采用了3 种图像融合方法[3,17-18],对获取的图像序列进行融合。图7 第1 行为基于文献[5]获取的图像序列采用3 种不同融合方法得到的融合图像,图7 第2行为基于文献[8]获取的图像序列得到的3 幅融合图像,图7 第3 行是采用本文方法所获取图像的序列得到的融合图像。可以看出,采用文献[17]的融合方法时,文献[5]和[8]方法的融合图像细节缺失严重,且图像的对比度较差,本文方法图像序列融合后的效果明显更好;采用文献[18]的融合方法时,文献[5]和[8]方法的图像均出现了明显的伪影,本文方法的图像序列融合后伪影现象明显削弱;采用文献[3]的融合方法时,文献[5]方法的图像整体亮度偏低,文献[8]方法和本文方法的图像融合效果较好。总体来看,通过3种不同的融合方法,采用本文方法获取的图像序列取得的融合图像结果包含了更多的细节,图像的对比度更好,没有伪影出现,整体的视觉效果更舒适。可见,本文提出的高动态场景图像序列获取方法可视性更好。

图7 不同方法获取的图像序列在不同融合方法下的图像

为了进一步表示本文方法的高动态场景图像序列获取效果,在其他HDR 场景上使用了该方法。图8(a)为场景区域分割结果,图8(b)(c)是每个区域的曝光结果,图8(d)为采用文献[17]的融合算法得到的高动态场景的融合图像,在该图像中,场景中的暗区和亮区都得到了很好地表达。

图8 实际高动态场景中的多曝光图像序列

5 结论

本文算法通过精确控制算法,自动调整曝光时间,更具目标性,能够更快速地获取所需图像,从而缩短了图像采集时间,降低了因用户抖动产生鬼影的概率,因此,与已有的图像获取方式相比具有费时少的优势;本文算法获取较少的图像,依然可以表征同一个高动态范围的目标区域,从源头降低了曝光图像的数量,为后续的高动态图像融合操作等提供了更高效的源数据,因此,本文算法在图像获取效率上具有优势。

为了获得适合不同亮度区域的曝光时间,提出使用联合概率分布函数将HDR 场景分割成多个LDR 区域,对每个LDR 场景,采用虚拟曝光方法得到粗曝光时间。为了获得最佳曝光时间,提出了基于模糊控制的曝光时间精调机制,获取一个多曝光的HDR 场景图像序列。实验结果表明了这种曝光方法的有效性。然而,这种曝光方法只能应用于相对静态的场景。当运动物体出现在场景中时,该方法可能会失效。因此,未来工作中将继续研究动态场景的多曝光控制方法。

猜你喜欢

直方图灰度像素
像素前线之“幻影”2000
基于二值化灰度图像的大豆蛋白液喷雾相对雾化程度的研究
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
“像素”仙人掌
用直方图控制画面影调
例析频率分布直方图
中考频数分布直方图题型展示
高像素不是全部
一种基于灰度分割的调焦评价函数