图像融合方法、计算机程序产品、存储介质及电子设备与流程

文档序号:30664277发布日期:2022-07-06 02:25阅读:80来源:国知局
图像融合方法、计算机程序产品、存储介质及电子设备与流程

1.本发明涉及图像处理技术领域,具体而言,涉及一种图像融合方法、计算机程序产品、存储介质及电子设备。


背景技术:

2.当强光源照射下的高亮度区域及阴影、逆光等相对亮度较低的区域在拍摄场景中同时存在时,摄像机采集的图像往往会出现明亮区域因曝光过度成为白色,而黑暗区域因曝光不足而成为黑色的现象,该现象将严重影响图像质量。摄像机在同一场景中对最亮区域及较暗区域的表现是存在局限的,这种局限就是通常所讲的“动态范围”。
3.高动态范围(high-dynamic range,简称hdr),是一种在拍摄场景中存在强烈亮度对比的情况下让图像尽量还原出场景中的细节的技术。该技术的一种典型的应用是:利用特定的融合算法,将针对同一场景采集的多帧曝光程度不同的图像合成为一帧hdr图像,使得该hdr图像无论在高光部分还是阴影部分都有着良好的细节表现。
4.然而,现有融合算法都比较复杂,导致在进行图像融合时效率太低,从而在对实时性要求较高的场合基本无法使用,给hdr技术的推广带来很大的限制。


技术实现要素:

5.本技术实施例的目的在于提供一种图像融合方法、计算机程序产品、存储介质及电子设备,以改善上述技术问题。
6.为实现上述目的,本技术提供如下技术方案:
7.第一方面,本技术实施例提供一种图像融合方法,包括:获取曝光程度不完全相同的n帧待融合图像;其中,n为大于1的整数,每帧待融合图像均包括至少一个通道,所述至少一个通道中包括目标通道;对所述n帧待融合图像中属于同一通道的n帧通道图像进行融合,得到至少一帧通道融合图像,并根据所述至少一帧通道融合图像确定融合结果图像;其中,对于所述n帧待融合图像中属于同一目标通道的n帧通道图像,通过以下步骤计算其对应的通道融合图像:利用与所述n帧通道图像对应的n个查找表,确定与所述n帧通道图像对应的n帧在线融合掩膜;其中,每帧通道图像中的像素值,根据该帧通道图像对应的查找表中记录的像素值与权重的映射关系,被映射为该帧通道图像对应的在线融合掩膜在相同位置处权重;利用所述n帧在线融合掩膜对所述n帧通道图像进行加权融合,得到所述通道融合图像。
8.上述方法直接通过查表的方式,将目标通道的通道图像映射为在线融合掩膜,从而可以在极短的时间完成融合权重(在线融合掩膜)的计算,进而高效地完成图像融合,该方法实时性好,可应用于各种场合,有利于hdr技术的普及推广。
9.另外,该方法中使用的查找表中仅仅记录了像素值与权重的映射关系,并且此处的像素值是单个通道图像中的像素值,即是单个数值而非多个数值,从而该方法中使用的查找表是一维查找表,其结构十分简单,查找效率极高。
10.再者,该方法中使用的查找表共有n个,即充分考虑在不同的曝光程度下像素值和权重可能存在的不同映射关系,因此得到的在线融合掩膜具有较高的精度,有利于改善融合结果图像的hdr效果。
11.在第一方面的一种实现方式中,所述利用与所述n帧通道图像对应的n个查找表,确定与所述n帧通道图像对应的n帧在线融合掩膜,包括:对所述n帧通道图像进行下采样,得到n帧低分辨的通道图像;利用与所述n帧低分辨的通道图像对应的n个查找表,确定与所述n帧低分辨的通道图像对应的n帧低分辨率的在线融合掩膜;其中,每帧低分辨率的通道图像中的像素值,根据该帧低分辨率的通道图像对应的查找表中记录的像素值与权重的映射关系,被映射为该帧低分辨率的通道图像对应的低分辨率的在线融合掩膜在相同位置处权重;对所述n帧低分辨率的在线融合掩膜进行上采样,得到与所述n帧通道图像分辨率相同的所述n帧在线融合掩膜。
12.在上述实现方式中,对目标通道的通道图像先进行下采样降低其分辨率,然后再通过查表得到低分辨率的在线融合掩膜,最后通过上采样获得原始分辨率的在线融合掩膜。由于使用了低分辨率的图像进行查表,从而显著提高了掩膜计算的效率,进而也就提高了图像融合的效率。
13.在第一方面的一种实现方式中,所述对所述n帧低分辨率的在线融合掩膜进行上采样,得到与所述n帧通道图像分辨率相同的所述n帧在线融合掩膜,包括:对所述n帧低分辨率的在线融合掩膜进行保留边缘的平滑滤波以及上采样,得到与所述n帧通道图像分辨率相同的所述n帧在线融合掩膜。
14.上述实现方式在利用低分辨率的在线融合掩膜计算原始分辨率的在线融合掩膜时,不仅会进行上采样,还会进行保留边缘的平滑滤波(例如,引导滤波),从而有利于抑制因上采样造成的掩膜质量下降,改善融合掩膜的精度。
15.在第一方面的一种实现方式中,在所述对所述n帧待融合图像中属于同一通道的n帧通道图像进行融合之前,所述方法还包括:遍历像素值取值范围内的每个像素值x,通过执行以下步骤确定所述n个查找表中记录的像素值与权重的映射关系:获取相同的n帧单色图像,所述单色图像仅包括一个通道且图像中所有像素的像素值均为x;利用预训练的神经网络模型中的主干网络提取所述n帧单色图像的基础特征图,并将所述基础特征图拆分为n帧子特征图;利用所述神经网络模型中的n个分支网络计算所述n帧单色图像对应的n帧离线融合掩膜;其中,每个分支网络用于根据一帧子特征图计算一帧单色图像对应的一帧离线融合掩膜,每帧离线融合掩膜中包括对应的一帧单色图像融合用的权重;根据每帧离线融合掩膜中的权重,确定该帧离线融合掩膜对应的查找表中与像素值x对应的权重,共确定出所述n个查找表中与像素值x对应的n个权重。
16.如果神经网络模型进行的是恒等映射,则将单色图像输入到模型中,输出的还是原来的单色图像,但实际上,预训练的神经网络模型进行的并不是恒等映射,因此输出的图像(离线融合掩膜)相对于原来的单色图像中的像素值已经发生了变化,这种变化反映的正是神经网络模型所学习到的像素值与权重的映射关系,从而只需将这种映射关系保存下来就可以构建出所需的查找表,而构建出的查找表也在一定程度上代替了神经网络模型所建模的映射关系。
17.进一步的,若直接采用神经网络模型计算在线融合掩膜,计算精度高,融合结果图
像(hdr图像)的质量较好。其原因在于:第一,神经网络模型是训练得到的,并非是一种根据经验确定的预设规则,因此计算出的权重具有较好的鲁棒性,有利于改善在待融合图像的曝光程度跨度较大时,所得到的融合结果图像出现画面发灰、缺少细节等现象。第二,由于神经网络模型分为主干网络和分支网络两部分,主干网络是n帧通道图像共用的,从而有利于促进帧间信息交流,提升在线融合掩膜的精度,而每个分支网络则用于计算一帧通道图像对应的在线融合掩膜,从而有利于针对该帧通道图像进行参数优化,同样能够提升在线融合掩膜的精度,而计算出的在线融合掩膜精度越高,进行融合的效果自然也就越好。
18.然而,神经网络模型的结构相对复杂,利用其进行图像融合的实时性较差。而使用查找表计算在线融合掩膜,不仅实时性极佳,而且如上所述,由于基于神经网络模型构建的查找表能够在一定程度上代替模型本身,所以其对于在线融合掩膜的计算精度也足够高,即很好地兼顾了图像融合的效率与质量。
19.在第一方面的一种实现方式中,所述根据每帧离线融合掩膜中的权重,确定该帧离线融合掩膜对应的查找表中与像素值x对应的权重,包括:将每帧离线融合掩膜中的权重的均值,确定为该帧离线融合掩膜对应的查找表中与像素值x对应的权重;或者,将每帧离线融合掩膜中出现频率最高的权重,确定为该帧离线融合掩膜对应的查找表中与像素值x对应的权重。
20.在上述实现方式中,根据离线融合掩膜确定查找表中像素值与权重之间的映射关系存在多种不同的方式,十分灵活。
21.在第一方面的一种实现方式中,在所述确定出所述n个查找表中与像素值x对应的n个权重之后,所述方法还包括:对所述n个权重进行归一化,使得所述n个权重之和为1。
22.在上述实现方式中,将对应于同一像素之的n个权重进行归一化后再保存到查找表中,不仅统一了不同像素值对应的权重的取值范围,另外也方便了后续直接根据查找到的权重进行图像融合。
23.在第一方面的一种实现方式中,所述n帧离线融合掩膜的分辨率低于所述n帧单色图像。
24.在上述实现方式中,若离线融合掩膜是低分辨率图像(离线融合掩膜的分辨率和神经网络模型的设计有关,有的神经网络模型中加入有下采样模块,则会得到低分辨率的离线融合掩膜),同样可以构建查找表。
25.在第一方面的一种实现方式中,所述神经网络模型被训练为:在向模型中的所述主干网络输入曝光程度不完全相同的n帧单通道图像时,从模型中的所述n个分支网络输出与所述n帧单通道图像对应的n帧融合掩膜;其中,每个分支网络输出一帧对应的融合掩膜,每帧融合掩膜中包括对应的一帧单通道图像融合用的权重。
26.在上述实现方式中,神经网络模型被训练为能够对融合掩膜进行预测,从而基于该神经网络模型构建的查找表也能够比较准确地进行在线融合掩膜的计算,即起到代替神经网络模型进行图像融合的作用。
27.在第一方面的一种实现方式中,所述利用所述n帧在线融合掩膜对所述n帧通道图像进行加权融合,得到所述通道融合图像,包括:根据每帧在线融合掩膜构造对应的一个高斯金字塔,共得到n个高斯金字塔,以及,根据每帧通道图像构造对应的一个拉普拉斯金字塔,共得到n个拉普拉斯金字塔;其中,所述高斯金字塔和所述拉普拉斯金字塔层数相同,且
两种金字塔中位于同一层的金字塔图像的分辨率也相同;利用所述n个高斯金字塔对所述n个拉普拉斯金字塔进行加权融合,得到融合后的拉普拉斯金字塔;其中,所述融合后的拉普拉斯金字塔中的每层金字塔图像,是利用所述n个高斯金字塔中位于该层的n帧金字塔图像,对所述n个拉普拉斯金字塔中位于该层的n帧金字塔图像进行加权融合后得到的;利用所述融合后的拉普拉斯金字塔进行图像重构,得到所述通道融合图像。
28.在上述实现方式中,不是直接对通道图像本身进行线性融合,而是对基于通道图像构建的拉普拉斯金字塔进行分层的线性融合。在拉普拉斯金字塔中,每一层的残差图像,包括最顶层的小图都可以视为特征图,而且这些特征图代表着不同频率的图像细节,因为在构建金字塔的过程中每次下采样丢失的细节是不一样的。从而,对同层的拉普拉斯金字塔图像进行加权融合,就相当于在每一种频率所对应的子空间上单独进行图像融合,因此其融合的难度较低,融合的效果也要好于直接在原始的通道图像上进行融合,进而有利于改善通道融合图像的质量。
29.在第一方面的一种实现方式中,若每帧待融合图像均包括多个通道,且所述多个通道不全是目标通道,则利用在对目标通道的通道图像进行融合时计算出的融合掩膜,对于所述n帧待融合图像中属于同一非目标通道的n帧通道图像进行加权融合。
30.在上述实现方式中,对于非目标通道的通道图像,在融合时可以直接利用目标通道的通道图像使用的融合掩膜,从而简化融合过程,提高融合效率。例如,目标通道可以选择待融合图像中比较重要的通道(比如yuv图像的y通道),非目标通道可以选择待融合图像中相对次要的通道(比如yuv图像的u、v通道),这样非目标通道采用的融合掩膜即使不是根据自身的通道图像计算的,也不会对融合结果图像的图像质量造成太大的影响。
31.第二方面,本技术实施例提供一种图像融合装置,包括:图像获取组件,用于获取曝光程度不完全相同的n帧待融合图像;其中,n为大于1的整数,每帧待融合图像均包括至少一个通道,所述至少一个通道中包括目标通道;图像融合组件,用于对所述n帧待融合图像中属于同一通道的n帧通道图像进行融合,得到至少一帧通道融合图像,并根据所述至少一帧通道融合图像确定融合结果图像;其中,对于所述n帧待融合图像中属于同一目标通道的n帧通道图像,通过以下步骤计算其对应的通道融合图像:利用与所述n帧通道图像对应的n个查找表,确定与所述n帧通道图像对应的n帧在线融合掩膜;其中,每帧通道图像中的像素值,根据该帧通道图像对应的查找表中记录的像素值与权重的映射关系,被映射为该帧通道图像对应的在线融合掩膜在相同位置处权重;利用所述n帧在线融合掩膜对所述n帧通道图像进行加权融合,得到所述通道融合图像。
32.第三方面,本技术实施例提供一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
33.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
34.第五方面,本技术实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
附图说明
35.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
36.图1示出了本技术实施例提供的图像融合方法的步骤;
37.图2示出了图1中步骤s120可能包含的子步骤;
38.图3示出了本技术实施例提供的图像融合方法的一种具体工作流程;
39.图4示出了本技术实施例提供的图像融合方法的另一种具体工作流程;
40.图5示出了高斯金字塔、拉普拉斯金字塔的构造流程以及拉普拉斯重建流程;
41.图6示出了本技术实施例提供的图像融合方法中的查找表的一种构建流程;
42.图7示出了本技术实施例提供的图像融合方法中的神经网络的一种训练流程;
43.图8示出了本技术实施例提供的图像融合装置包含的功能组件;
44.图9示出了本技术实施例提供的电子设备的一种结构。
具体实施方式
45.近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(artificial intelligence,简称ai)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、行为识别、三维重建、虚拟现实、增强现实、同步定位与地图构建、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安防、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。本技术实施例中的图像融合方法也利用了人工智能等方面的技术。
46.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
47.术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
48.图1示出了本技术实施例提供的图像融合方法的步骤,该方法可以但不限于由图9
示出的电子设备执行,关于该电子设备的结构可以参考后文关于图9的阐述。参照图1,图像融合方法包括:
49.步骤s110:获取曝光程度不完全相同的n帧待融合图像。
50.其中,n为大于1的整数,待融合图像是指需要进行相互融合的图像,融合的目标是为了获得具有hdr效果的图像。待融合图像的曝光程度可以通过一定的方式进行量化表示,例如,曝光补偿值(ev)等。注意,步骤s110中只要求n帧待融合图像的曝光程度不完全相同,但并不要求n帧待融合图像的曝光程度要完全不同:例如,在n=3时,ev-1、ev0、ev+1的3帧图像是符合要求的一组待融合图像;在n=4时,ev-1、ev0、ev0、ev+1的4帧图像也是符合要求的一组待融合图像,其中ev0的图像出现了2次,表明ev0的图像比较重要,在融合结果中应当具有更高的占比。
51.至于如何获得满足上述要求的n帧待融合图像本技术并不限定:例如,可以是从电子设备的摄像头处接收其实时采集的图像作为待融合图像(比如,将摄像头的ev值分别设置成-1、0和1连续采集3帧图像);又例如,可以是直接从电子设备的存储器中读取事先保存好的待融合图像,等等。另外应当理解是,n帧待融合图像在内容上针对的是同一场景,否则对其进行融合意义不大。
52.步骤s120:对n帧待融合图像中属于同一通道的n帧通道图像进行融合,得到至少一帧通道融合图像,并根据至少一帧通道融合图像确定融合结果图像。
53.每帧待融合图像均包含至少一个通道,且各帧待融合图像包含的通道数量是相同的。例如,n帧待融合图像可以都是灰度图像,即均包含1个通道;又例如,n帧待融合图像可以都是yuv图像,即均包含3个通道;又例如,n帧待融合图像可以都是rgb图像,即均包含3个通道,等等。
54.若每帧待融合图像仅包含一个通道,则该通道的通道图像就是待融合图像自身,步骤s120中对n帧通道图像进行融合也就是对n帧待融合图像进行融合,得到的通道融合图像也就是融合结果图像。
55.若每帧待融合图像包含两个或两个以上的通道,则应分通道进行图像融合,得到与通道数量相同的通道融合图像,再将这些通道融合图像按照其所属的通道拼接起来,就可以得到融合结果图像。例如,若n帧待融合图像均为yuv图像,则应对n帧y通道的通道图像进行融合,得到y通道的通道融合图像,对n帧u通道的通道图像进行融合,得到u通道的通道融合图像,对n帧v通道的通道图像进行融合,得到v通道的通道融合图像,最后将3帧通道融合图像分别作为新的y、u、v通道图像拼接起来,就可以得到融合结果图像,显然,融合结果图像仍然是yuv图像。
56.在每帧融合图像包含的通道中包括目标通道,目标通道的数量可以是一个或多个,除了目标通道外,若待融合图像还有剩余的通道,则这些剩余的通道可称为非目标通道,至于哪些通道是目标通道可以是预先确定好的。例如,若待融合图像是灰度图像,则其仅有的一个通道必然也是目标通道;若待融合图像是yuv图像,可以将y通道选为目标通道,此时u、v为非目标通道,或者也可以将y、u、v通道都选为目标通道,此时没有非目标通道。
57.目标通道和非目标通道的区别在于,对于每个目标通道的n帧通道图像,应执行图2中的步骤s121~s122融合为对应的一帧通道融合图像,而对于每个非目标通道的n帧通道图像(如果有非目标通道的话),则可以执行图2中的步骤s123融合为对应的一帧通道融合
图像。显然,步骤s121~s123均属于步骤s120的子步骤。
58.其中,步骤s121~s122为本技术所提出的主要融合方案,能够显著提高图像融合的效率,这些步骤的某些实现方式还可以改善图像融合的效果(主要指hdr效果)。因此,作为一种可选的策略,为尽可能提高图像融合效率,可以将待融合图像包含的所有通道都作为目标通道。或者,若出于其他因素的考虑,也可以仅将待融合图像中的一个或几个通道作为目标通道(例如,yuv图像中的y通道),其余的通道作为非目标通道(例如,yuv图像中的u、v通道),比如,结合后文内容可知,在某些实现方式中,为构建查找表,需要训练相应的神经网络模型,如果针对每个通道都训练一个神经网络模型,所需要的计算资源也是不小的,因此在计算资源有限时,也可以仅将待融合图像中的部分通道作为目标通道。
59.下面对图2中的步骤进行详细阐述,在阐述时将主要结合图3示出的流程。
60.步骤s121:利用与n帧通道图像对应的n个查找表,确定与n帧通道图像对应的n帧在线融合掩膜。
61.其中,在线融合掩膜可以视为一种权重图像,即在线融合掩膜中的每个像素值都代表对应的一帧通道图像在进行融合时使用的权重(后文为便于区分,将在线融合掩膜中的像素值都统一称为权重),在线融合掩膜的分辨率与通道图像是相同的。关于如何使用在线融合掩膜对目标通道的通道图像进行融合,在步骤s122中再进行阐述。关于在线融合掩膜中“在线”一词的含义,在后文再进行解释。
62.每帧通道图像中的像素值,根据该帧通道图像对应的查找表中记录的像素值与权重的映射关系,被映射为该帧通道图像对应的在线融合掩膜在相同位置处权重。这样,利用一帧通道图像和一个对应的查找表,就可以计算出一帧对应的在线融合掩膜,总共计算出n帧在线融合掩膜。
63.例如,在图3中,通道图像中像素值的取值范围是[0,255],查找表共包含256个表项,索引分别为0~255,代表256个可能的像素值取值,每个表项的内容是一个代表权重的数值,比如对于图3中最上面的查找表,表项0的内容是权重0.6,表项1的内容是权重0.5,以此类推。从而,每一个表项都记录了一个像素值与一个权重的映射关系,比如0

0.6、1

0.5,等等。对于图3最上面的一帧通道图像,假设其在坐标(0,0)位置处的像素值为1、在坐标(1,0)位置处的像素值为0,利用对应的查找表,可以确定对应的在线融合掩膜在(0,0)位置处的权重为0.5、在(1,0)位置处的权重为0.6。对于图3中其余的通道图像,情况是类似的。
[0064]
另外需要注意的是,每帧通道图像都对应一个不同的查找表,因为每帧通道图像的曝光程度是不同的,不宜采用相同的映射关系进行在线融合掩膜的计算。
[0065]
至于步骤s121中使用的n个查找表如何构建,后文再详细阐述。由于n帧通道图像中像素值的取值范围是相同的(因为它们本就来自于待融合图像中相同的目标通道),所以对于该取值范围内的任意一个像素值x,在每个查找表中都会存在一个与之对应的权重,一共有n个权重,例如,在图3中,n=3,像素值0在3个查找表中对应的权重分别为0.6、0.3、0.1,像素值1在3个查找表中对应的权重分别为0.5、0.3、0.2,等等。
[0066]
可选的,在构建n个查找表时,可以将对应于同一像素值的n个权重进行归一化,即使得n个权重之和为1,且每个权重都位于区间[0,1]内。例如,图3中的n个查找表就是归一化后处理的,对于像素值0,有0.6+0.3+0.1=1,对于像素值1,有0.5+0.3+0.2=1,等等。归
一化操作可以统一各个权重的取值范围,另外也方便了后续直接根据查找到的权重进行图像融合。在后文介绍步骤s122时,为简单起见,不妨认为在线融合掩膜中的权重都是归一化以后的。
[0067]
在上面对步骤s121的实现中,直接用通道图像中的像素值进行查表就可以得到对应的在线融合掩膜,但在另一种实现方式中,也可以先对通道图像进行下采样之后再进行查表,即步骤s121中可以引入下采样和上采样机制,其具体做法如下:
[0068]
步骤a:对n帧通道图像进行下采样,得到n帧低分辨的通道图像,如图4所示。
[0069]
注意,这里的“低分辨率”是相对意义上的而非绝对意义上的,意思是分辨率低于通道图像的原始分辨率,后文的“低分辨率”均应作此理解。
[0070]
步骤b:利用与n帧低分辨的通道图像对应的n个查找表,确定与n帧低分辨的通道图像对应的n帧低分辨率的在线融合掩膜,如图4所示。
[0071]
其中,低分辨的在线融合掩膜和原始分辨率的在线融合掩膜类似,都可以视为一种权重图像,只是其分辨率较低,因此掩膜中的权重和通道图像中的像素值不是一一对应的关系,不方便直接使用低分辨的在线融合掩膜进行通道图像的融合,还需要将其上采样回原始分辨率。
[0072]
每帧低分辨率的通道图像中的像素值,根据该帧低分辨率的通道图像对应的查找表中记录的像素值与权重的映射关系,被映射为该帧低分辨率的通道图像对应的低分辨率的在线融合掩膜在相同位置处权重。这样,利用一帧低分辨率的通道图像和一个对应的查找表,就可以计算出一帧对应的低分辨率的在线融合掩膜,总共计算出n帧低分辨率的在线融合掩膜。
[0073]
此处使用的查找表和上面介绍的查找表是类似的,只是用于查找的是低分辨率的通道图像中的像素值,查找出的是低分辨率的在线融合掩膜中的权重,不再重复阐述。
[0074]
步骤c:对n帧低分辨率的在线融合掩膜进行上采样,得到与n帧通道图像分辨率相同的n帧在线融合掩膜,如图4所示。
[0075]
如果将下采样、查表以及上采样操作视为在一个“黑盒”中进行,从结果上来看,步骤a~c仍然是利用每帧通道图像对应的查找表,将该帧通道图像中的像素值映射为了对应的在线融合掩膜在相同位置处权重。
[0076]
上述实现方式使用了低分辨率的图像进行查表,有利于提高掩膜计算的效率,进而也能提高图像融合的效率,特别是在待融合图像的分辨率较高时,且下采样倍数较大时,效率的提升更加明显。
[0077]
进一步的,发明人发现,上采样操作会在一定程度上造成掩膜质量下降,因此在一种可选方案中,在对n帧低分辨率的在线融合掩膜进行上采样时,还可以对其进行保留边缘的平滑滤波,改善得到的n帧在线融合掩膜的质量。参照图4,在上采样操作的位置处,还标出了滤波操作。
[0078]
边缘保留的平滑滤波是一类图像滤波算法,例如双边滤波、引导滤波都属于此类,这类滤波算法可以在平滑图像内容的同时尽量保留图像中的边缘信息。滤波可以在上采样之前进行,例如,可以先对低分辨率的在线融合掩膜进行引导滤波(引导图选择低分辨率的通道图像),再对滤波结果进行上采样得到在线融合掩膜。
[0079]
或者,也可以同时进行滤波和上采样(此处的“同时”,应理解为上采样和滤波的过
程混合在一起,二者之间的界限并不清晰,不应理解为“并行”),例如,可以采用联合引导上采样(guided filtering for joint upsampling,简称gfu)模块,gfu模块包括3个输入,分别是低分辨率的通道图像(记作x_l)、低分辨率的在线融合掩膜(记作m_l)和通道图像(记作x_h),输出为在线融合掩膜(记作m_h),在gfu模块内部会根据x_l和m_l计算两个低分辨率的映射矩阵a和b,然后对a和b进行上采样,得到两个原始分辨率的映射矩阵a*和b*,最后将x_h作为引导图,利用公式m_h=a*

x_h+b将其映射为m_h。gfu模块中的引导图由于采用了分辨率较高的x_h而非x_l,所以能够在很大程度上降低上采样造成的边缘信息丢失。
[0080]
每帧低分辨率的在线融合掩膜通过gfu模块处理可以得到一帧在线融合掩膜,并且gfu模块可以设计为具有批处理功能,即只需要设置一个gfu模块,将n帧低分辨率的在线融合掩膜一次性输入该模块,该模块一次性输出n帧在线融合掩膜。当然,即使不采用gfu模块进行上采样和平滑滤波,同样可以对n帧低分辨率的在线融合掩膜进行批处理。
[0081]
应当理解,上述流程中的下采样机制和上采样机制是配合使用的,如果不进行下采样,自然也没有必要进行上采样。
[0082]
步骤s122:利用n帧在线融合掩膜对n帧通道图像进行加权融合,得到通道融合图像。
[0083]
先以线性融合的方式为例,线性融合可以用公式表示为:
[0084][0085]
其中,y
*
表示通道融合图像,yi表示第i帧通道图像,mi表示第i帧在线融合掩膜(与yi对应的在线融合掩膜),符号
“⊙”
表示对应位置的像素值相乘,如前文所述,在线融合掩膜与通道图像分辨率相同,所以二者可以进行

运算。可见,线性融合实际上就是以n帧在线融合掩膜为权重图像,对n帧通道图像进行加权求和,从而得到通道融合图像的过程,如果在线融合掩膜中的权重是归一化以后的,可以保证通道融合图像中的像素和通道图像中的像素具有相同的取值范围,例如,都是[0,255]。
[0086]
当然,线性融合并非唯一的加权融合方式,例如还可以采用金字塔融合,其步骤简述如下:
[0087]
步骤a:根据每帧在线融合掩膜构造对应的一个高斯金字塔,共得到n个高斯金字塔,以及,根据每帧通道图像构造对应的一个拉普拉斯金字塔,共得到n个拉普拉斯金字塔。
[0088]
图像金字塔就是一组不同分辨率的图像堆叠形成的一种结构,高斯金字塔和拉普拉斯金字塔是两种不同类型的图像金字塔,图像金字塔中的每一层图像可以称为金字塔图像。图5示出了高斯金字塔、拉普拉斯金字塔的构造流程以及拉普拉斯重建流程。
[0089]
参照图5左侧一列,左上角尺寸最大的白色矩形表示原始图像,也就是高斯金字塔的第1层图像;高斯金字塔的第1层图像经高斯滤波和下采样后得到尺寸稍小的白色矩形,也就是高斯金字塔的第2层图像;高斯金字塔的第2层图像经高斯滤波和下采样后得到尺寸最小的白色矩形,也就是高斯金字塔的第3层图像(顶层图像);这样,一个3层的高斯金字塔就构建好了。
[0090]
参照图5中间一列,将高斯金字塔的第3层图像直接作为拉普拉斯金字塔的第3层图像;对拉普拉斯金字塔的第3层图像进行上采样(倍数和左侧的下采样相同)和高斯滤波,
得到的结果图像和高斯金字塔的第2层图像分辨率相同,但一般来说无法完全还原高斯金字塔的第2层图像,用高斯金字塔的第2层图像减去该结果图像,得到的残差图像即为拉普拉斯金字塔的第2层图像,表示为一个尺寸较小的深色矩形;对拉普拉斯金字塔的第2层图像进行上采样(倍数和左侧的下采样相同)和高斯滤波,得到的结果图像和高斯金字塔的第1层图像分辨率相同,但一般来说无法完全还原高斯金字塔的第1层图像,用高斯金字塔的第1层图像减去该结果图像,得到的残差图像即为拉普拉斯金字塔的第1层图像,表示为一个尺寸较大的深色矩形;这样,一个3层的拉普拉斯金字塔就构建好了。
[0091]
不难看出,对于同一张原始图像而言,要先构造其高斯金字塔,然后才能构造其拉普拉斯金字塔,拉普拉斯金字塔中除了最顶层的金字塔图像以外,其他层的金字塔图像都是残差图像,或者说是同层高斯金字塔的金字塔图像在下采样过程中丢失的一些细节信息。
[0092]
参照图5的右侧一列,根据拉普拉斯金字塔的构造方式可知,对拉普拉斯金字塔的第3层图像进行上采样和高斯滤波,再将得到的结果图像和拉普拉斯金字塔的第2层图像相加,可以无损还原出高斯金字塔的第2层图像;对还原出的高斯金字塔的第2层图像进行上采样和高斯滤波,再将得到的结果图像和拉普拉斯金字塔的第1层图像相加,可以无损还原出高斯金字塔的第1层图像,即原始图像。从而,基于拉普拉斯金字塔可以重构出原始图像。
[0093]
以上金字塔的构造、图像的重构虽然都是以3层金字塔为例的,但对于2层或3层以上的金字塔,其做法是类似的。
[0094]
需要注意,步骤a中的高斯金字塔是根据在线融合掩膜构造的(即在线融合掩膜为上述原始图像),而拉普拉斯金字塔是根据通道图像构造的(即在通道图像为上述原始图像),因此两种金字塔的构造过程是独立的,可以先后执行,也可以并行执行,这和图5中的金字塔构造过程还有一定的区别,因为图5中的高斯金字塔和拉普拉斯金字塔都是基于原始图像构造的。
[0095]
在步骤a中,所有的高斯金字塔层数都相同,且各个高斯金字中位于同一层的金字塔图像的分辨率也相同,所有的拉普拉斯金字塔层数都相同,且各个拉普拉斯金字中位于同一层的金字塔图像的分辨率也相同,任意一个高斯金字塔和任意一个拉普拉斯金字塔层数都相同,且两种金字塔中位于同一层的金字塔图像的分辨率也相同。
[0096]
沿用上面的符号,若mi表示第i帧融合掩膜,则n个高斯金字塔可以表示为其中表示第i个高斯金字塔(基于mi构建)的第j层金字塔图像。若yi表示第i帧通道图像,则n个拉普拉斯金字塔可以表示为其中表示第i个拉普拉斯金字塔(基于yi构建)的第j层金字塔图像。上面的i和j应在各自的取值范围内取遍所有值,即i取遍1至n中的所有整数,假设高斯金字塔和拉普拉斯金字塔都是l层(l为大于1的整数),则j取遍1至l中的所有整数。
[0097]
步骤b:利用n个高斯金字塔对n个拉普拉斯金字塔进行加权融合,得到融合后的拉普拉斯金字塔。
[0098]
其中,融合后的拉普拉斯金字塔中的每层金字塔图像,是利用n个高斯金字塔中位于该层的n帧金字塔图像,对n个拉普拉斯金字塔中位于该层的n帧金字塔图像进行加权融合后得到的。例如,在采用线性融合时,融合过程可以表示为如下公式:
[0099][0100]
其中,yj表示融合后的拉普拉斯金字塔中位于第j层的金字塔图像,整个融合后的拉普拉斯金字塔可以记作j取遍1至l中的所有整数。
[0101]
步骤c:利用融合后的拉普拉斯金字塔进行图像重构,得到通道融合图像。
[0102]
基于拉普拉斯金字塔进行图像重构的方法已经在介绍图5时阐述过了,重构的结果就是步骤s122要计算的通道融合图像。
[0103]
对比可知,金字塔融合并不是直接利用在线融合掩膜对通道图像本身进行线性融合,而是利用在线融合掩膜的高斯金字塔,对通道图像的拉普拉斯金字塔进行分层的线性融合。根据拉普拉斯金字塔的构造过程可知,在拉普拉斯金字塔中,每一层的金字塔图像都可以视为从通道图像中提取出的特征图,而且这些特征图代表着通道图像中不同频率的图像细节(残差)。从而,对同层的金字塔图像进行加权融合,就相当于在每一种频率所对应的子空间上单独进行图像融合,因此其融合的难度较低,并且融合的效果也要好于直接在原始的通道图像上进行融合,进而有利于改善通道融合图像的质量。当然,采用金字塔融合在算法复杂度上要高于采用线性融合,所以在具体实施时可以根据需求采用不同的融合方式。
[0104]
步骤s123:利用其他方法对n帧通道图像进行融合,得到通道融合图像。
[0105]
对于属于同一非目标通道的通道图像,可采用其他方法进行融合,步骤s123中的“其他方法”是指除步骤s121~s122以外的方法,例如,现有的任意一种用于获得hdr图像的图像融合方法,或者也可以利用后文将要介绍的神经网络模型进行图像融合。
[0106]
此外,还可以直接利用在对目标通道的通道图像进行融合时计算出的融合掩膜,对于属于同一非目标通道的n帧通道图像进行加权融合。例如,待融合图像为yuv图像,目标通道为y道,通过执行步骤s121~s122计算出了针对y通道的n帧在线融合掩膜,则对于u通道或v通道的n帧通道图像,均可以直接利用这n帧在线融合掩膜进行融合,融合方式可以参考步骤s122,比如可以选择线性融合或金字塔融合。对于目标通道有多个的情况,可以类似处理,例如,若目标通道有两个,则利用这两个目标通道的通道图像分别可以算出n帧在线融合掩膜,即共有2n帧在线融合掩膜,然后先将其中每两帧对应的在线融合掩膜取平均,得到n帧融合掩膜,再利用这n帧融合掩膜融合非目标通道的通道图像。
[0107]
上述融合方式简化了非目标通道的图像融合过程(避免了查表操作),提高了融合效率。例如,目标通道可以选择待融合图像中比较重要的通道(比如yuv图像的y通道),非目标通道可以选择待融合图像中相对次要的通道(比如yuv图像的u、v通道),这样非目标通道采用的融合掩膜即使不是根据自身的通道图像计算的,也不会对融合结果图像的图像质量造成太大的影响。
[0108]
下面简单总结图1和图2中的图像融合方法:该方法直接通过查表的方式,将目标通道的通道图像映射为在线融合掩膜,从而可以在极短的时间完成融合权重(在线融合掩膜)的计算,进而高效地完成图像融合,该方法实时性好,可应用于各种场合,有利于hdr技术的普及推广。
[0109]
另外,该方法中使用的查找表中仅仅记录了像素值与权重的映射关系,并且此处
的像素值是单个通道图像中的像素值,即是单个数值而非多个数值,从而该方法中使用的查找表是一维查找表(例如,图3或图4中的数组,是一种一维数据结构),其结构十分简单,查找效率极高。
[0110]
再者,该方法中使用的查找表共有n个,即充分考虑在不同的曝光程度下像素值和权重可能存在的不同映射关系,因此得到的在线融合掩膜具有较高的精度,有利于改善融合结果图像的质量。
[0111]
最后,在该方法的某些实现方式中,还可以通过引入下采样和上采样机制,减少查表次数,进一步提高图像融合效率。
[0112]
下面,在以上实施例的基础上,继续介绍查找表的构建。由于通道图像中像素值的取值范围一般是已知的,比如[0,255],所以构建查找表的关键在于,确定每个像素值应该被映射成多大的权重,只有所确定的权重是合理的,基于该查找表才能计算出质量较高的在线融合掩膜,进而才能够计算得到高质量的通道融合图像乃至融合结果图像。构建查找表的步骤可以在步骤s120之前执行。
[0113]
在一种实现方式中,可以遍历像素值取值范围内的每个像素值x(例如,x取遍[0,255]中的每个整数),通过执行以下的步骤1~4确定n个查找表中记录的像素值与权重的映射关系,映射关系确定了,查找表自然也就构建好了。
[0114]
步骤1:获取相同的n帧单色图像。
[0115]
其中,单色图像是指仅包括一个通道且所有像素的像素值均为x的图像,例如,在x=0的遍历轮次中,单色图像是指像素值为全0的单通道图像,在x=1的遍历轮次中,单色图像是指像素值为全1的单通道图像,等等。另外,单色图像的分辨率可以和步骤s110中的待融合图像相同。
[0116]
获取单色图像的方式有多种:例如,可以是在执行步骤1时实时生成;又例如,可以是在执行步骤1之前就生成好单色图像,在执行步骤1时从电子设备的存储器直接读取出单色图像,等等。
[0117]
步骤2:利用预训练的神经网络模型中的主干网络提取n帧单色图像的基础特征图,并将基础特征图拆分为n帧子特征图。
[0118]
步骤3:利用神经网络模型中的n个分支网络计算n帧单色图像对应的n帧离线融合掩膜。
[0119]
步骤2和3结合在一起进行阐述。步骤中使用的神经网络模型是预先训练好的(指执行步骤2之前),其训练过程后文再说明,如果目标通道有多个,可以针对每个目标通道都训练一个神经网络模型,用于构建针对该目标通道的n个查找表,或者为了节约计算资源,也可以多个目标通道共用一个神经网络模型。
[0120]
神经网络模型具体采用哪种神经网络不限,例如,可以是卷积神经网络(cnn)、循环神经网络(rnn)、人工神经网络(ann)或者这些神经网络的结合。该神经网络模型至少包括两个部分,分别是主干网络和n个分支网络,主干网络的尾部与各个分支网络的头部连接,并且主干网络和分支网络各自也是神经网络,都具有可训练的参数,图6示出了神经网络模型的总体结构。
[0121]
利用主干网络可以对n单色图像进行特征提取,得到其对应的基础特征图,然后将基础特征图拆分为n帧子特征图,每帧子特征图作为一个分支网络的输入。
[0122]
参照图6,左侧的白色矩形表示n帧单色图像(n=3),n帧通道图像在输入主干网络时可以作为一个整体图像输入,该整体图像的形状为n
×1×w×
h,其中n为帧数,1是每帧单色图像包含的通道数,w和h分别是单色图像的宽和高。基础特征图(图6中未示出)的形状可以是n
×c×w×
h,其中n为帧数,c是每帧包含的通道数(c不一定等于1),w和h分别是基础特征图的宽和高,若主干网络中包含下采样模块,则w《w且h<h,否则w=w且h=h。主干网络中的拆分模块(图6中未示出)可以对基础特征图按照帧维度进行拆分,即n帧子特征图(图6中未示出)中每帧的形状可以是1
×c×w×
h,每帧子特征图可以认为与一帧单色图像相对应,但此处的“对应”不应理解为每帧子特征图是仅根据一帧单色图像计算的。
[0123]
利用每个分支网络可以基于输入的一帧子特征图计算对应的一帧离线融合掩膜,对于总共n个分支网络,计算出的离线融合掩膜共有n帧。如前所述,子特征图与单色图像是相对应的,所以根据子特征图计算出的每帧离线融合掩膜也和一帧单色图像相对应。
[0124]
其中,离线融合掩膜可以视为一种权重图像,即离线融合掩膜中的每个像素值都代表对应的一帧单色图像融合用的权重(当然,根据后文内容可知,并不会真的对单色图像进行融合)。离线融合掩膜的分辨率可能与单色图像是相同的,也可能低于单色图像的分辨率(比如,主干网络中设置有下采样模块时)。例如,若单色图像的形状为1
×1×w×
h,则离线融合掩膜的形状可能是1
×1×w×
h,或者也可能是1
×1×w×
h(w<w且h<h)。关于离线融合掩膜中“离线”一词的含义,在后文再进行解释。
[0125]
至于为什么离线融合掩膜中的像素值能够代表融合用的权重,是因为神经网络模型就是出于预测权重的目的训练的。
[0126]
例如,神经网络模型可以被训练为:在向模型中的主干网络输入曝光程度不完全相同的n帧单通道图像时,从模型中的n个分支网络输出与n帧单通道图像对应的n帧融合掩膜。其中,每个分支网络输出一帧对应的融合掩膜,每帧融合掩膜中包括对应的一帧单通道图像融合用的权重。
[0127]
上面例子中的“被训练为”可以理解为训练好的神经网络模型具有如例子中所述的输入和输出。n帧单通道图像可以是任意的、仅包含一个通道的图像,例如,n帧待融合图像中属于同一目标通道的n帧通道图像就可以作为此处所说的“n帧单通道图像”,而n帧融合掩膜是用于融合(可以采用线性融合、金字塔融合等方式)n帧单通道图像的权重图像,其在功能上与前文提到的n帧在线融合掩膜类似,只是计算方式不同。
[0128]
既然神经网络模型被训练为具有上述性质,所以若将n帧单色图像视为曝光程度不完全相同的n帧单通道图像输入神经网络模型,模型输出的n帧离线融合掩膜离线中的像素值就必然能够代表单色图像融合用的权重。
[0129]
关于神经网络模型的具体训练过程,后文再进行说明。
[0130]
步骤4:根据每帧离线融合掩膜中的权重,确定该帧离线融合掩膜对应的查找表中与像素值x对应的权重,共确定出n个查找表中与像素值x对应的n个权重。
[0131]
确定权重的方式有多种,下面列举两种:
[0132]
方式1:将每帧离线融合掩膜中的权重的均值,确定为该帧离线融合掩膜对应的查找表中与像素值x对应的权重。
[0133]
例如,某帧离线融合掩膜中共有w
×
h个权重,可以计算这w
×
h个权重的均值,将其作为该帧离线融合掩膜对应的查找表中与像素值x对应的权重。
[0134]
方式2:将每帧离线融合掩膜中出现频率最高的权重,确定为该帧离线融合掩膜对应的查找表中与像素值x对应的权重。
[0135]
例如,某帧离线融合掩膜中共有w
×
h个权重,这w
×
h个权重中有2/3的权重为0.6(不排除事先对所有的权重进行一定的舍入处理,比如只保留一位小数),则可将0.6作为该帧离线融合掩膜对应的查找表中与像素值x对应的权重。
[0136]
应当理解,除了方式1和方式2之外,还存在其他确定查找表中与像素值x对应的权重的方式,不再逐一举例说明。另外,查找表中与像素值x对应的权重确定了,像素值x与权重的对应关系也就确定了,例如,在图6中,根据最上面的一帧离线融合掩膜确定了像素值0对应的权重为0.6,只需将0.6保存至最上面一个查找表中索引为0的表项中,该表项自然就能够表达0和0.6之间的映射关系。
[0137]
可选的,在执行步骤4时,还可以先对n帧离线融合掩膜进行平滑滤波(比如,前面提到的保留边缘的平滑滤波),去除掩膜中可能存在的噪声,然后再基于滤波后的离线融合掩膜确定与像素值x对应的权重。
[0138]
可选的,在步骤4中得到与像素值x对应的n个权重之后,还可以对这n个权重进行归一化,使得n个权重之和为1,且每个权重的取值都位于区间[0,1]内。例如,图6中的n个查找表就是归一化后处理的,对于像素值0,有0.6+0.3+0.1=1,对于像素值1,有0.5+0.3+0.2=1,等等。归一化操作可以统一各个权重的取值范围,另外也方便了后续在使用查找表时,直接根据查找到的权重进行图像融合。
[0139]
进一步的,前文曾经提到,离线融合掩膜的分辨率可能与单色图像是相同的(称为原始分辨率的离线融合掩膜),也可能低于单色图像的分辨率(称为低分辨率的离线融合掩膜),但这都不影响步骤4的正常执行。另外,根据何种分辨率的离线融合掩膜构建查找表,和步骤s121中是否要计算低分辨率的在线融合掩膜也没有必然的关系:比如,可以根据低分辨率的离线融合掩膜构建查找表,但在步骤s121中直接基于通道图像查表得到原始分辨率的在线融合掩膜(图3);又比如,可以根据原始分辨率的离线融合掩膜构建查找表,但在步骤s121中先对通道图像下采样得到低分辨率的通道图像,然后基于低分辨率的通道图像查表得到低分辨率的在线融合掩膜,最后再上采样得到原始分辨率的在线融合掩膜(图4)。
[0140]
另外,也不排除步骤3中计算出的离线融合掩膜是低分辨率的,先将其上采样回原始分辨率后,再执行步骤4的可能。并且,在上采样时还可以进行边缘保留的平滑滤波,类似于前文在介绍步骤s121中提到的操作,不再重复阐述。
[0141]
根据步骤1~4可知,每遍历一个像素值x,就可以确定出n个查找表中的n个与x对应的权重,从而遍历完x的所有取值后,n个查找表中所有的权重都确定好了,此时n个查找表也就构建完成了。
[0142]
下面简单分析一下利用单色图像构建查找表的意义:
[0143]
如果神经网络模型进行的是恒等映射,则将单色图像输入到模型中,输出的还是原来的单色图像,但实际上,预训练的神经网络模型进行的并不是恒等映射,因此输出的图像(离线融合掩膜)相对于原来的单色图像中的像素值已经发生了变化,这种变化反映的正是神经网络模型所学习到的像素值与权重的映射关系,从而只需将这种映射关系保存下来就可以构建出所需的查找表,而构建出的查找表也在一定程度上代替了神经网络模型所建模的映射关系(可以认为每个查找表代替了主干网络加上一个分支网络所实现的功能)。
[0144]
进一步的,若在步骤s121中改为直接采用神经网络模型计算在线融合掩膜,计算精度可能会较高,融合结果图像的质量也可能会较好。其原因在于:
[0145]
第一,神经网络模型是训练得到的,并非是一种根据经验确定的预设规则,因此计算出的权重具有较好的鲁棒性,这有利于改善在待融合图像的曝光程度跨度较大时,所得到的融合结果图像出现画面发灰、缺少细节等现象。其中,若采用ev值表示曝光程度,则曝光程度跨度较大可以理解为:将n帧待融合图像按照ev值递增或递减的顺序排列后,相邻的两帧待融合图像的ev值差距较大,或者,第一帧和最后一帧待融合图像的ev值差距较大。
[0146]
第二,由于神经网络模型分为主干网络和分支网络两部分,主干网络是n帧通道图像共用的,从而有利于促进帧间信息交流,提升在线融合掩膜的精度,而每个分支网络则用于计算一帧通道图像对应的在线融合掩膜,从而有利于针对该帧通道图像进行参数优化,同样能够提升在线融合掩膜的精度,而计算出的在线融合掩膜精度越高,进行融合的效果自然也就越好。
[0147]
然而,神经网络模型的结构相对复杂,利用其进行图像融合的实时性较差。而使用查找表计算在线融合掩膜,不仅实时性极佳,而且如上所述,由于基于神经网络模型构建的查找表能够在一定程度上代替模型本身,所以其对于在线融合掩膜的计算精度也足够高,即很好地兼顾了图像融合的效率与质量。
[0148]
采用单色图像构建查找表还有一个优势在于,针对像素值取值范围内的每个像素值,都会构造n帧相同的单色图像通过神经网络模型,假设单色图像的分辨率为w
×
h,则相当于每个查找表在构建时都统计了总共w
×
h个相同的像素值的映射结果,因此查找表中的权重具有高度的可信度。
[0149]
应当理解,采用若干组其他类型的单通道图像(每组n帧,且非单色图像)构建查找表也是可行的,但要保证这些单通道图像中的像素值能够覆盖到像素值取值范围内的每个像素值。
[0150]
进一步的,在一些实现方式中,上述神经网络模型具有注意力机制。人在观察图像时,会对图像中不同的部分表现出不同的关注程度——重要的部分关注程度较高,不重要的部分关注程度较低。从而,针对某个特定的图像处理任务(例如,分类、分割、融合、识别)而言,图像中不同部分的特征在重要性上是不同的,所谓注意力机制,就是通过某些技术手段,来表达图像中的不同部分的特征在重要性上的差异。例如,对图像中的不同部分的特征赋予不同的权重,被赋予权重较大的特征表明其重要性较高,被赋予权重较小的特征表明其重要性较低。
[0151]
在神经网络模型中,可以采用两个分支加一个乘法器的结构来实现注意力机制,两个分支中的一个分支用于将特征图输入至乘法器,另一个分支则用于计算特征图中不同部分的特征的权重,并将这些权重输入至乘法器,乘法器用于实现特征的加权。如何划分特征图中不同的部分,将形成不同类型的注意力机制。
[0152]
本技术的方案中,特征图共有4个维度,以前文提到的基础特征图为例,假设其形状为n
×c×w×
h,其中n代表帧维度,c代表通道维度,w代表横坐标维度,h代表纵坐标维度。也可以将w和h视为一个维度,即空间维度,此时特征图共有3个维度。从而,本技术的方案中可能用到以下三种注意力机制:
[0153]
通道注意力,即通道维度的注意力机制,是指对特征图的不同通道中的数据赋予
相应的权重;
[0154]
帧注意力,即帧维度的注意力机制,是指对特征图的不同帧中的数据赋予相应的权重;
[0155]
空间注意力,即空间维度的注意力机制,是指对特征图的不同空间位置处的数据赋予相应的权重。
[0156]
在神经网络模型中,注意力机制既可能被引入主干网络中,也可能被引入分支网络中,或者也可能主干网络和分支网络中都具有注意力机制。其中,主干网络中可能具有通道注意力、帧注意力以及空间注意力中的至少一种机制,而分支网络中可能具有通道注意力以及空间注意力中的至少一种机制。其中,由于输入每个分支网络的子特征图可能只有一帧(形状1
×c×w×
h),而根据帧注意力的定义,要对不同帧中的数据进行加权才有意义,所以对于分支网络无需考虑帧注意力。
[0157]
通过在神经网络中加入不同的注意力机制,有利于改善计算出的离线融合掩膜的精度,进而使得基于离线融合掩膜构建的查找表中的权重取值更为合理。
[0158]
下面,在以上实施例的基础上,简单说明上述神经网络模型如何训练。该模型既可以采用无监督训练,也可以采用有监督训练。
[0159]
先以有监督训练为例,参照图7,n帧曝光程度不完全相同的训练图像(均为单通道图像)可作为一个训练样本,将训练样本输入神经网络模型后,利用模型计算出n帧训练融合掩膜。其中,每个分支网络用于计算一帧训练图像对应的一帧训练融合掩膜,每帧训练融合掩膜中包括对应的一帧训练图像融合用的权重,关于训练融合掩膜,可以参照在线融合掩膜以及离线融合掩膜的概念进行理解,其区别主要在于训练融合掩膜是“训练”阶段产生的。接着,可以利用n帧训练融合掩膜对n帧训练图像进行加权融合(例如,可以采用线性融合、金字塔融合等),得到训练融合图像,关于训练融合图像,可以参照融合结果图像的概念进行理解,其区别主要在于训练融合图像是“训练”阶段得到的。然后,可以利用训练融合图像以及训练样本对应的标准结果图像计算预测损失,损失函数的形式不限,其中,标准结果图像即ground truth,该图像具有较好的hdr效果,可由人工结合其他图像融合算法事先确定。最后,可以根据计算出的预测损失更新神经网络模型中的参数直至模型收敛,例如,可以采用反向传播算法进行模型参数更新。
[0160]
对于无监督训练,虽然没有标准结果图像,但可以通过计算mef-ssim等盲评估指标来实现模型参数的更新,不再详细阐述。
[0161]
被训练好的神经网络模型可以具有这样的性质:在向模型中的主干网络输入曝光程度不完全相同的n帧单通道图像时,从模型中的n个分支网络输出与n帧单通道图像对应的n帧融合掩膜。
[0162]
最后,在以上实施例的基础上,介绍本技术的方案可能涉及的三个阶段,分别命名为训练阶段、离线阶段以及在线阶段:
[0163]
训练阶段:利用训练集中的训练图像训练神经网络模型。
[0164]
离线阶段:利用单色图像以及训练好的神经网络模型构建查找表。
[0165]
在线阶段:利用构建好的查找表实现待融合图像的融合。
[0166]
以上三个阶段在时间上是依次进行的,一旦在离线阶段构建好了查找表,之后的图像融合过程可以不再使用神经网络模型。当然也不排除在融合过程中发现了一些融合效
果不佳的图像,可以将其作为训练图像,重新训练神经网络模型、重新构建查找表。关于每个阶段的具体实现可以参考前文的内容,前文之所以在融合掩膜之前加上“在线”、“离线”、“训练”等限定,也正是为了对不同阶段生成的掩膜进行区分。
[0167]
图8示出了本技术实施例提供的图像融合装置200包含的功能组件。参照图8,图像融合装置200包括:
[0168]
图像获取组件210,用于获取曝光程度不完全相同的n帧待融合图像;其中,n为大于1的整数,每帧待融合图像均包括至少一个通道,所述至少一个通道中包括目标通道;
[0169]
图像融合组件220,用于对所述n帧待融合图像中属于同一通道的n帧通道图像进行融合,得到至少一帧通道融合图像,并根据所述至少一帧通道融合图像确定融合结果图像;其中,对于所述n帧待融合图像中属于同一目标通道的n帧通道图像,通过以下步骤计算其对应的通道融合图像:利用与所述n帧通道图像对应的n个查找表,确定与所述n帧通道图像对应的n帧在线融合掩膜;其中,每帧通道图像中的像素值,根据该帧通道图像对应的查找表中记录的像素值与权重的映射关系,被映射为该帧通道图像对应的在线融合掩膜在相同位置处权重;利用所述n帧在线融合掩膜对所述n帧通道图像进行加权融合,得到所述通道融合图像。
[0170]
在图像融合装置200的一种实现方式中,图像融合组件220利用与所述n帧通道图像对应的n个查找表,确定与所述n帧通道图像对应的n帧在线融合掩膜,包括:对所述n帧通道图像进行下采样,得到n帧低分辨的通道图像;利用与所述n帧低分辨的通道图像对应的n个查找表,确定与所述n帧低分辨的通道图像对应的n帧低分辨率的在线融合掩膜;其中,每帧低分辨率的通道图像中的像素值,根据该帧低分辨率的通道图像对应的查找表中记录的像素值与权重的映射关系,被映射为该帧低分辨率的通道图像对应的低分辨率的在线融合掩膜在相同位置处权重;对所述n帧低分辨率的在线融合掩膜进行上采样,得到与所述n帧通道图像分辨率相同的所述n帧在线融合掩膜。
[0171]
在图像融合装置200的一种实现方式中,图像融合组件220对所述n帧低分辨率的在线融合掩膜进行上采样,得到与所述n帧通道图像分辨率相同的所述n帧在线融合掩膜,包括:对所述n帧低分辨率的在线融合掩膜进行保留边缘的平滑滤波以及上采样,得到与所述n帧通道图像分辨率相同的所述n帧在线融合掩膜。
[0172]
在图像融合装置200的一种实现方式中,所述装置还包括:查找表构建组件,用于在图像融合组件220对所述n帧待融合图像中属于同一通道的n帧通道图像进行融合之前,执行以下步骤:遍历像素值取值范围内的每个像素值x,通过执行以下步骤确定所述n个查找表中记录的像素值与权重的映射关系:获取相同的n帧单色图像,所述单色图像仅包括一个通道且图像中所有像素的像素值均为x;利用预训练的神经网络模型中的主干网络提取所述n帧单色图像的基础特征图,并将所述基础特征图拆分为n帧子特征图;利用所述神经网络模型中的n个分支网络计算所述n帧单色图像对应的n帧离线融合掩膜;其中,每个分支网络用于根据一帧子特征图计算一帧单色图像对应的一帧离线融合掩膜,每帧离线融合掩膜中包括对应的一帧单色图像融合用的权重;根据每帧离线融合掩膜中的权重,确定该帧离线融合掩膜对应的查找表中与像素值x对应的权重,共确定出所述n个查找表中与像素值x对应的n个权重。
[0173]
在图像融合装置200的一种实现方式中,查找表构建组件根据每帧离线融合掩膜
中的权重,确定该帧离线融合掩膜对应的查找表中与像素值x对应的权重,包括:将每帧离线融合掩膜中的权重的均值,确定为该帧离线融合掩膜对应的查找表中与像素值x对应的权重;或者,将每帧离线融合掩膜中出现频率最高的权重,确定为该帧离线融合掩膜对应的查找表中与像素值x对应的权重。
[0174]
在图像融合装置200的一种实现方式中,查找表构建组件还用于:在确定出所述n个查找表中与像素值x对应的n个权重之后,对所述n个权重进行归一化,使得所述n个权重之和为1。
[0175]
在图像融合装置200的一种实现方式中,所述n帧离线融合掩膜的分辨率低于所述n帧单色图像。
[0176]
在图像融合装置200的一种实现方式中,所述神经网络模型被训练为:在向模型中的所述主干网络输入曝光程度不完全相同的n帧单通道图像时,从模型中的所述n个分支网络输出与所述n帧单通道图像对应的n帧融合掩膜;其中,每个分支网络输出一帧对应的融合掩膜,每帧融合掩膜中包括对应的一帧单通道图像融合用的权重。
[0177]
在图像融合装置200的一种实现方式中,图像融合组件220利用所述n帧在线融合掩膜对所述n帧通道图像进行加权融合,得到所述通道融合图像,包括:根据每帧在线融合掩膜构造对应的一个高斯金字塔,共得到n个高斯金字塔,以及,根据每帧通道图像构造对应的一个拉普拉斯金字塔,共得到n个拉普拉斯金字塔;其中,所述高斯金字塔和所述拉普拉斯金字塔层数相同,且两种金字塔中位于同一层的金字塔图像的分辨率也相同;利用所述n个高斯金字塔对所述n个拉普拉斯金字塔进行加权融合,得到融合后的拉普拉斯金字塔;其中,所述融合后的拉普拉斯金字塔中的每层金字塔图像,是利用所述n个高斯金字塔中位于该层的n帧金字塔图像,对所述n个拉普拉斯金字塔中位于该层的n帧金字塔图像进行加权融合后得到的;利用所述融合后的拉普拉斯金字塔进行图像重构,得到所述通道融合图像。
[0178]
在图像融合装置200的一种实现方式中,若每帧待融合图像均包括多个通道,且所述多个通道不全是目标通道,则图像融合组件220利用在对目标通道的通道图像进行融合时计算出的融合掩膜,对于所述n帧待融合图像中属于同一非目标通道的n帧通道图像进行加权融合。
[0179]
本技术实施例提供的图像融合装置200,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
[0180]
图9示出了本技术实施例提供的电子设备300的结构。参照图9,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。
[0181]
其中,处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、微控制单元(micro controller unit,简称mcu)、网络处理器(network processor,简称np)或者其他常规处理器;还可以是专用处理器,包括图形处理器(graphics processing unit,gpu)、神经网络处理器(neural-network processing unit,简称npu)、数字信号处理器(digital signal processor,简称dsp)、专用集成电路
(application specific integrated circuits,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器310为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
[0182]
存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(random access memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),电可擦除可编程只读存储器(electric erasable programmable read-only memory,简称eeprom)等。
[0183]
处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。特别地,在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本技术实施例提供的图像融合方法。
[0184]
通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口330可以包括进行有线和/或无线通信的接口。
[0185]
可以理解,图9所示的结构仅为示意,电子设备300还可以包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。例如,电子设备300还可能包括摄像头,用于拍摄图像或视频,被拍摄的图像或者视频中的帧都可以作为步骤s110中的待融合图像;又例如,若电子设备300无需与其他设备通信,也可以不设置通信接口330。
[0186]
图9中所示的各组件可以采用硬件、软件或其组合实现。电子设备300可能是实体设备,例如手机、摄像机、照相机、pc机、笔记本电脑、平板电脑、服务器、机器人等,也可能是虚拟设备,例如虚拟机、容器等。并且,电子设备300也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
[0187]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,这些计算机程序指令被处理器读取并运行时,执行本技术实施例提供的图像融合方法。例如,计算机可读存储介质可以实现为图9中电子设备300中的存储器320。
[0188]
本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序指令,这些计算机程序指令被处理器读取并运行时,执行本技术实施例提供的图像融合方法。
[0189]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1