本技术涉及成像,特别是一种高动态范围成像方法、装置和产品。
背景技术:
1、高动态范围成像(high dynamic range imaging,hdri)是一种成像技术,旨在解决传统成像所面临的亮度范围受限的问题。传统图像只能够记录有限的亮度范围,因此在拍摄高对比度场景时容易出现过曝或欠曝的情况,导致细节丢失或者阴影过暗。而hdri则通过一定技术扩展亮度范围并增强细节,相比于常规成像技术,实现更加真实和逼真的图像表现,被广泛应用于数字媒体、虚拟现实、移动摄影等领域。
2、然而,现有的hdri技术中,基于算法扩展动态范围的成像方法,动态范围提升有限,拍摄动态场景会导致运动模糊;而基于硬件扩展动态范围的成像方法的成像系统结构复杂,成本较高,实用性低。因此,有必要开发一种高动态范围成像方法、装置和产品,以扩展图像动态范围并提高成像质量。
技术实现思路
1、鉴于上述问题,本技术实施例提供了一种高动态范围成像方法、装置和产品,以便克服上述问题或者至少部分地解决上述问题。
2、本技术实施例的第一方面,提供了一种高动态范围成像方法,应用于成像设备,所述成像设备包括:逐像素曝光调控模块、重建算法模块和联合优化模块,所述方法包括:
3、接收图像生成请求;
4、通过所述逐像素曝光调控模块对成像场景的不同空间位置逐像素进行曝光调控,输出编码曝光图像;
5、通过所述重建算法模块对所述编码曝光图像进行解码重建,得到针对所述成像场景生成的重建hdr图像;其中,所述逐像素曝光调控模块和所述重建算法模块是利用所述联合优化模块预先通过数据驱动的方式联合优化训练得到的。
6、在一种可能的实施方式中,所述逐像素曝光调控模块包括:空间光调制器、曝光编码模块和图像传感器;所述通过所述逐像素曝光调控模块对成像场景的不同空间位置逐像素进行曝光调控,输出编码曝光图像,包括:
7、针对所述成像场景获取原始hdr图像;所述原始hdr图像为m×n的矩阵,矩阵中每个元素表示一个像素单元,每个所述像素单元对应于所述成像场景的一个空间位置;
8、通过所述曝光编码模块获取透过率矩阵;所述透过率矩阵为大小与所述原始hdr图像相同的m×n的矩阵;
9、利用所述空间光调制器根据所述透过率矩阵,对所述原始hdr图像中每个像素的光强进行调控,得到调制后信号;
10、利用所述图像传感器对所述调制后信号进行积分,输出所述编码曝光图像,所述编码曝光图像为所述原始hdr图像所对应的低动态范围图像。
11、在一种可能的实施方式中,所述根据所述透过率矩阵,对所述原始hdr图像中每个像素的光强进行调控,包括:
12、按照如下公式,根据所述透过率矩阵,对所述原始hdr图像的每个像素的光强进行调控:
13、y(i,j)=x(i,j)×t(i,j);
14、其中,y(i,j)表示位于(i,j)位置的调制后的像素单元,x(i,j)表示所述原始hdr图像中的(i,j)位置处的像素单元,t(i,j)表示所述透过率矩阵中的(i,j)处的元素。
15、在一种可能的实施方式中,所述利用所述图像传感器对所述调制后信号进行积分,输出所述编码曝光图像,包括:
16、计算时间范围[t0,t1]内的每个像素(i,j)对应的电荷量s(i,j);
17、根据所述电荷量生成所述编码曝光图像;
18、其中,所述电荷量s(i,j)可以表示为:
19、
20、其中,x(i,j)表示所述原始hdr图像中的(i,j)位置处的像素单元,t(i,j)表示所述透过率矩阵中的(i,j)处的元素,p表示将时间[t0,t1]分成p个离散的采样点,δt=(t1-t0)/p。
21、在一种可能的实施方式中,利用所述联合优化模块进行联合优化训练的步骤如下:
22、获取训练数据集,所述训练数据集包括多张原始hdr样本图像,以及,每张所述原始hdr样本图像所对应的低动态范围样本图像;
23、将所述原始hdr样本图像输入初始化的逐像素曝光调控模块,得到调控结果;
24、将所述调控结果,输入初始化的重建算法模块,得到图像重建结果;
25、根据所述图像重建结果与所述原始hdr样本图像,计算所述重建算法模块的损失函数值,以及,所述逐像素曝光调控模块的损失函数值;所述重建算法模块的损失函数以最小化所述图像重建结果与所述原始hdr图像之间的差距为目标,所述逐像素曝光调控模块的损失函数以最小化透过率矩阵元素分布与预期分布之间的差距为目标;
26、根据所述重建算法模块的损失函数值,对所述重建算法模块进行参数更新;根据所述逐像素曝光调控模块的损失函数值,对所述逐像素曝光调控模块进行参数更新;
27、重复上述过程直至损失函数收敛,结束联合优化训练。
28、在一种可能的实施方式中,在将所述调控结果,输入初始化的重建算法模块之前,所述联合优化训练的步骤还包括:
29、利用mask模块,对所述调控结果进行伪逆;
30、所述根据所述重建算法模块的损失函数值,对所述重建算法模块进行参数更新,包括:
31、根据所述重建算法模块的损失函数值,对所述mask模块和所述重建算法模块的参数进行交替更新。
32、在一种可能的实施方式中,所述空间光调制器为数字微透镜阵列,所述数字微透镜阵列与所述图像传感器的分辨率相同,所述成像设备还包括透镜系统;所述针对所述成像场景获取原始hdr图像,包括:
33、通过所述透镜系统获取所述成像场景的光学信息,生成所述原始hdr图像;
34、在得到所述调制后信号之后,所述方法还包括:
35、通过所述透镜系统将所述调制后信号聚焦到所述图像传感器上。
36、本技术实施例第二方面还提供了一种高动态范围成像装置,所述装置包括:
37、请求接收模块,用于接收图像生成请求;
38、逐像素曝光调控模块,用于对成像场景的不同空间位置逐像素进行曝光调控,输出编码曝光图像;
39、重建算法模块,用于对所述编码曝光图像进行解码重建,得到针对所述成像场景生成的重建hdr图像;
40、联合优化模块,用于预先通过数据驱动的方式,对所述逐像素曝光调控模块和所述重建算法模块进行联合优化训练。
41、在一种可能的实施方式中,所述逐像素曝光调控模块包括:
42、原始hdr图像获取模块,用于针对所述成像场景获取原始hdr图像;所述原始hdr图像为m×n的矩阵,矩阵中每个元素表示一个像素单元,每个所述像素单元对应于所述成像场景的一个空间位置;
43、曝光编码模块,用于获取透过率矩阵;所述透过率矩阵为大小与所述原始hdr图像相同的m×n的矩阵;
44、空间光调制器,用于根据所述透过率矩阵,对所述原始hdr图像中每个像素的光强进行调控,得到调制后信号;
45、图像传感器,用于对所述调制后信号进行积分,输出所述编码曝光图像,所述编码曝光图像为所述原始hdr图像所对应的低动态范围图像。
46、在一种可能的实施方式中,所述空间光调制器,用于按照如下公式,根据所述透过率矩阵,对所述原始hdr图像的每个像素的光强进行调控:
47、y(i,j)=x(i,j)×t(i,j);
48、其中,y(i,j)表示位于(i,j)位置的调制后的像素单元,x(i,j)表示所述原始hdr图像中的(i,j)位置处的像素单元,t(i,j)表示所述透过率矩阵中的(i,j)处的元素。
49、在一种可能的实施方式中,所述图像传感器,用于计算时间范围[t0,t1]内的每个像素(i,j)对应的电荷量s(i,j);根据所述电荷量生成所述编码曝光图像;
50、其中,所述电荷量s(i,j)可以表示为:
51、
52、其中,x(i,j)表示所述原始hdr图像中的(i,j)位置处的像素单元,t(i,j)表示所述透过率矩阵中的(i,j)处的元素,p表示将时间[t0,t1]分成p个离散的采样点,δt=(t1-t0)/p。
53、在一种可能的实施方式中,所述联合优化模块,包括:
54、训练数据集获取子模块,用于获取训练数据集,所述训练数据集包括多张原始hdr样本图像,以及,每张所述原始hdr样本图像所对应的低动态范围样本图像;
55、第一训练子模块,用于将所述原始hdr样本图像输入初始化的逐像素曝光调控模块,得到调控结果;
56、第二训练子模块,用于将所述调控结果,输入初始化的重建算法模块,得到图像重建结果;
57、损失函数计算子模块,用于根据所述图像重建结果与所述原始hdr样本图像,计算所述重建算法模块的损失函数值,以及,所述逐像素曝光调控模块的损失函数值;所述重建算法模块的损失函数以最小化所述图像重建结果与所述原始hdr图像之间的差距为目标,所述逐像素曝光调控模块的损失函数以最小化透过率矩阵元素分布与预期分布之间的差距为目标;
58、参数更新子模块,用于根据所述重建算法模块的损失函数值,对所述重建算法模块进行参数更新;根据所述逐像素曝光调控模块的损失函数值,对所述逐像素曝光调控模块进行参数更新;
59、重复子模块,用于重复上述过程直至损失函数收敛,结束联合优化训练。
60、在一种可能的实施方式中,所述联合优化模块还包括:
61、伪逆子模块,用于利用mask模块,对所述调控结果进行伪逆;
62、所述参数更新子模块,用于根据所述重建算法模块的损失函数值,对所述mask模块和所述重建算法模块的参数进行交替更新。
63、在一种可能的实施方式中,所述空间光调制器为数字微透镜阵列,所述数字微透镜阵列与所述图像传感器的分辨率相同,所述原始hdr图像获取模块,用于通过透镜系统获取所述成像场景的光学信息,生成所述原始hdr图像;
64、所述装置还包括:
65、聚焦模块,用于在得到所述调制后信号之后,通过所述透镜系统将所述调制后信号聚焦到所述图像传感器上。
66、本技术实施例第三方面还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现本技术实施例第一方面所述的高动态范围成像方法中的步骤。
67、本技术实施例第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本技术实施例第一方面所述的高动态范围成像方法中的步骤。
68、本技术实施例第五方面还提供了一种计算机程序产品,所述计算机程序产品在电子设备上运行时,使处理器执行时实现如本技术实施例第一方面所述的高动态范围成像方法中的步骤。
69、本技术实施例提供的一种高动态范围成像方法,应用于成像设备,所述成像设备包括:逐像素曝光调控模块、重建算法模块和联合优化模块,所述方法包括:接收图像生成请求;通过所述逐像素曝光调控模块对成像场景的不同空间位置逐像素进行曝光调控,输出编码曝光图像;通过所述重建算法模块对所述编码曝光图像进行解码重建,得到针对所述成像场景生成的重建hdr图像;其中,所述逐像素曝光调控模块和所述重建算法模块是利用所述联合优化模块预先通过数据驱动的方式联合优化训练得到的。
70、具体有益效果在于:
71、①本技术实现了高动态范围成像。在一个成像场景中往往存在多个亮度不同的空间位置,如果按照同一曝光策略进行曝光,所得到的图像中会容易出现过曝或欠曝的情况,导致原本亮度很高的位置在图像中的细节丢失,或者,原本亮度很低位置在图像中的阴影过暗。本技术所提出的高动态范围成像方法通过逐像素曝光调控模块,对成像场景的不同空间位置逐像素进行曝光调控,即对于同一成像场景中的不同空间位置,可以以像素为单位分别按照不同的曝光策略进行调控,从而实现了在单次曝光中的精细曝光调控,扩展图像亮度范围并增强细节,实现更加真实和逼真的图像表现。
72、②本技术提升了图像质量。本技术利用联合优化模块,预先通过数据驱动的方式,对逐像素曝光调控模块和重建算法模块联合优化训练,实现了图像编解码(逐像素曝光调控模块对图像进行压缩表示,重建算法模块对图像进行解码重建)的高度耦合,使得编码结构和图像重建质量得到进一步提升。
73、③降低了成像成本。本技术利用逐像素曝光调控模块,只需单次曝光即可实现以像素为单位的曝光调控,获得高动态范围图像,相比多帧融合成像技术,数据量减少66%以上,成像更为简单高效。