CN112288642A - 鬼影检测方法、图像融合方法及对应装置 - Google Patents
鬼影检测方法、图像融合方法及对应装置 Download PDFInfo
- Publication number
- CN112288642A CN112288642A CN202010998549.XA CN202010998549A CN112288642A CN 112288642 A CN112288642 A CN 112288642A CN 202010998549 A CN202010998549 A CN 202010998549A CN 112288642 A CN112288642 A CN 112288642A
- Authority
- CN
- China
- Prior art keywords
- image
- frame
- ghost
- images
- area
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 87
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000004927 fusion Effects 0.000 claims description 117
- 230000003287 optical effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002829 reductive effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 230000010339 dilation Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G06T5/70—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Abstract
本申请涉及图像处理技术领域,提供一种鬼影检测方法、图像融合方法及对应装置。其中,鬼影检测方法包括:获取采集于第一曝光补偿值下多帧第一图像,以及,采集于不同于第一曝光补偿值的其他曝光补偿值下的至少一帧第二图像;根据多帧第一图像计算第一鬼影区域以及第一鬼影区域中运动对象的运动速度和运动方向,第一鬼影区域为包含有多帧第一图像中的运动对象的区域;根据第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域。上述方法有效避免了图像中的高光区域对鬼影检测的干扰,提高了鬼影检测的精度。
Description
技术领域
本发明涉及图像处理技术领域,具体而言,涉及一种鬼影检测方法、图像融合方法及对应装置。
背景技术
目前,用户对手机拍照的质量要求变得越来越高,特别是拍摄夜景,作为一个亮点功能也受到了很多用户关注和喜爱。目前为实现图像降噪,拍摄夜景时通常会采集不同曝光补偿值下的多帧图像进行融合,但在画面中存在运动对象(如行人、车辆)时,融合后的图像中运动对象所在的位置容易出现鬼影,严重影响照片质量和用户体验。
例如,在图1中,由于用户在进行夜间拍摄时,画面中的路人正处于走动状态,导致拍摄出的照片(已经经过多帧融合去噪)中出现了三个连续的人影(箭头指向位置),即所谓的鬼影。
为有效消除鬼影,必须先有效检测出融合前的多帧图像中的包含有运动对象的区域,即鬼影区域。然而,对于不同的曝光补偿值下采集的图像,其高光区域存在显著差异,在利用现有方法进行检测时容易将存在变化的高光区域误判为鬼影区域,从而可能引起融合后的图像质量下降。
发明内容
本申请实施例的目的在于提供一种鬼影检测方法、图像融合方法及对应装置,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种鬼影检测方法,包括:获取多帧第一图像以及至少一帧第二图像;其中,所述第一图像为在第一曝光补偿值下采集的图像,所述第二图像为在不同于所述第一曝光补偿值的其他曝光补偿值下采集的图像;根据所述多帧第一图像计算第一鬼影区域以及所述第一鬼影区域中运动对象的运动速度和运动方向;其中,所述第一鬼影区域为包含有所述多帧第一图像中的运动对象的区域;根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域。
在上述方法中,第一鬼影区域是利用多帧第一图像计算的,由于多帧第一图像都采集于第一曝光补偿值下,其高光区域基本一致,所以第一鬼影区域的检测基本不会受到高光区域的干扰,其检测精度较高。而第二鬼影区域并非是利用第一图像和第二图像计算的,而是根据第一鬼影区域中运动对象的运动趋势(指运动速度和运动方向)估计出的,因此尽管第二图像对应的曝光补偿值与第一曝光值不同,其高光区域也与第一图像存在显著差异,但却不会影响第二鬼影区域的计算结果。从而,第二鬼影区域的检测也不会受到高光区域的干扰,其检测精度较高。
进一步的,由于第一鬼影区域和第二鬼影区域的检测结果都具有较高的精度,所以若基于检测到的鬼影区域融合多帧第一图像以及至少一帧第二图像也可以得到质量较高的融合结果,有利于改善用户在夜景拍摄等方面的体验。但应当理解,检测到的鬼影区域并不限于用于图像融合。
在第一方面的一种实现方式中,所述根据所述多帧第一图像计算第一鬼影区域,包括:从所述多帧第一图像中选择参考帧;根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算所述第一鬼影区域。
以参考帧为参照系,若某个对象在参考帧和非参考帧之间发生了运动,则该对象在参考帧与非参考帧中的位置也必然有所不同,从而通过计算非参考帧与参考帧之间的像素值差值,就可以确定包含有非参考帧和参考帧中的运动对象的区域,即第一鬼影区域。
在第一方面的一种实现方式中,所述根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算所述第一鬼影区域,包括:根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算初始鬼影区域;将所述初始鬼影区域划分为互不连通的至少一个第一鬼影区域。
第一图像中很可能存在多个运动对象,这些运动对象在画面中可能位于不同的位置,各自也可能具有不同的运动规律,并不便于在后续进行统一计算运动速度和运动方向,因此可以首先根据多帧第一图像中的非参考帧与参考帧的像素值差值计算出一个初始鬼影区域,然后再将初始鬼影区域划分为互不连通的至少一个第一鬼影区域(每个第一鬼影区域视为包含不同的运动对象),在后续步骤中分别利用每个第一鬼影区域去预测第二鬼影区域,结果可能会更加准确。
在第一方面的一种实现方式中,所述根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算初始鬼影区域,包括:计算所述多帧第一图像中的每个非参考帧与参考帧在各像素位置处的像素值差值,获得多个初始运动掩膜;将所述多个初始运动掩膜进行叠加,获得第一运动掩膜;判断所述第一运动掩膜中的每个像素位置处的像素值是否大于第一阈值,并将像素值大于所述第一阈值的像素位置构成的集合确定为所述初始鬼影区域。
根据上述计算过程,第一运动掩膜中的每个像素位置处的像素值可以理解为:所有非参考帧相对于参考帧在该像素位置处的运动强度的叠加,像素值越大,则运动强度也越大,该像素位置属于鬼影区域的可能性也越高,从而通过设置第一阈值,就是可以确定初始鬼影区域。
在第一方面的一种实现方式中,所述判断所述第一运动掩膜中的每个像素位置处的像素值是否大于第一阈值,并将像素值大于所述第一阈值的像素位置构成的集合确定为所述初始鬼影区域,包括:判断所述第一运动掩膜中的每个像素位置处的像素值是否大于第一阈值,并将像素值大于所述第一阈值的像素位置在第二运动掩膜中的对应像素位置处的像素值设置为第一数值;其中,所述第二运动掩膜中像素值取第一数值或第二数值,像素值取第一数值的像素位置构成的集合为所述初始鬼影区域,像素值取第二数值的像素位置构成的集合为非初始鬼影区域;所述将所述初始鬼影区域划分为互不连通的至少一个第一鬼影区域,包括:通过对所述第二运动掩膜中位于的所述初始鬼影区域内的像素进行连通性检测,将所述初始鬼影区域划分为互不连通的至少一个第一鬼影区域。
第二运动掩膜是一个二值化图像,采用第二运动掩膜记录第一鬼影区域的位置,首先比较方便,其次也便于在二值化图像上应用一些现有算法,例如,去噪算法、连通性检测算法、膨胀算法等,后文中都会提到。
在第一方面的一种实现方式中,所述从所述多帧第一图像中选择参考帧,包括:将所述多帧第一图像中的清晰度最高的第一图像选为参考帧。
若需要对多帧第一图像进行融合,很多方案会使用参考帧作为融合基准,选择多帧第一图像中清晰度最高的一帧作为参考帧,有利于改善融合后的图像质量,不过需要指出的是,第一方面提供的方法只是一种鬼影检测方法,至于是否要根据检测出的鬼影区域进行多帧融合,则是可选的。
在第一方面的一种实现方式中,根据所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:根据所述多帧第一图像中的两帧第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向。
在很多场景下,多帧第一图像的采集时间间隔比较接近(例如,只有几十毫秒),在这段时间内画面中对象的运动可以近似认为是线性的,从而即使只取其中两帧,其对于第一鬼影区域中运动对象的运动趋势的估计也是比较精确的。
在第一方面的一种实现方式中,所述根据所述多帧第一图像中的两帧第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:根据邻近第一图像以及与所述邻近第一图像在采集时间上间隔最远的第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像。
利用在采集时间上间隔较远的两帧第一图像计算第一鬼影区域中运动对象的运动速度和运动方向可能会更精确,因为计算结果反映了第一图像中的运动对象在较长时间内的积累起来的运动趋势。
在第一方面的一种实现方式中,根据所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:根据所述多帧第一图像中的每个非邻近第一图像以及邻近第一图像,计算所述第一鬼影区域中运动对象的一组运动速度和运动方向,共获得至少一组运动速度和运动方向;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像;计算所述至少一组运动速度和运动方向的均值,获得所述第一鬼影区域中运动对象的运动速度和运动方向。
上述实现方式由于利用了每帧第一图像中的信息计算第一鬼影区域中运动对象的运动速度和运动方向,所以计算结果精确度较高。
在第一方面的一种实现方式中,根据所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:根据所述多帧第一图像,利用光流法计算所述第一鬼影区域中的每个像素位置处的运动速度和运动方向;计算所述第一鬼影区域中的每个像素位置处的运动速度和运动方向的均值,获得所述第一鬼影区域中运动对象的运动速度和运动方向。
每个像素位置处的运动速度和运动方向可以表示为一个向量(向量的大小为运动速度,向量的方向为运动方向),即光流,对第一鬼影区域中的每个像素位置处的向量求均值,获得的均值向量即可以表示第一鬼影区域中运动对象的运动速度和运动方向。
在第一方面的一种实现方式中,所述根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域,包括:根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与邻近第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像。
虽然任意一帧第一图像和第二图像之间都可以算出一个采集时间间隔,但根据邻近第一图像的定义,邻近第一图像与第二图像之间的采集时间间隔是最短的,从而根据这个时间间隔调整第一鬼影区域的面积也是比较精确的,不至于将第一鬼影区域的面积调整得过大。
在第一方面的一种实现方式中,在获得任一帧第二图像对应的第二鬼影区域之后,所述方法还包括:对该帧第二图像对应的第二鬼影区域进行膨胀处理。
因为纯粹利用第一鬼影区域中运动对象的运动趋势估计第二鬼影区域,难免存在不准确的情况,扩大第二鬼影区域的面积有利于将第二图像中的运动对象包含在内。
在第一方面的一种实现方式中,所述第一曝光补偿值为正数,所述其他曝光补偿值均为非正数。
若第一图像和第二图像是在夜晚采集的,并且在检测完鬼影区域后要用于融合去噪,则可以按照上述对曝光补偿值的设定方式进行采集,有利于改善融合后的图像质量。其原因在于,在融合后的图像中,大部分区域内的像素值主要来源于曝光补偿值为正数的图像,因为这些图像亮度较高,在大部分区域中细节更丰富,少部分高光区域的像素值主要来源于曝光补偿值为非正数的图像,因为这些图像亮度较低,在高光区域不易过曝。
在第一方面的一种实现方式中,每帧第二图像均采集于不同的曝光补偿值下。
若第一图像和第二图像是在夜晚采集的,并且在检测完鬼影区域后要用于融合去噪,由于在融合后的图像中,通常高光区域都不会占据太大面积,并且也不会具有太多细节,因此相对来说,第二图像在融合过程中的重要性不及第一图像。从而,为了在保证融合后的图像质量的前提下尽可能减小运算量,可以这样处理:
在第一曝光补偿值(正数)下采集多帧第一图像进行融合去噪,确保在融合后的图像中,大部分的区域都具有较高的图像质量;在其他每种曝光补偿值(非正数)下只采集1帧第二图像,主要用于产生高光区域内的像素,必要时还可以针对第二图像的融合加大去噪强度,使得在只使用少量图像进行融合时也能获得不错的融合效果。
第二方面,本申请实施例提供一种图像融合方法,包括:利用第一方面或第一方面的任意一种可能的实现方式提供的鬼影检测方法多帧第一图像对应的获取第一鬼影区域以及至少一帧第二图像中的每帧第二图像对应的第二鬼影区域;利用所述第一鬼影区域融合所述多帧第一图像,获得第一融合图像;利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像。
由于第一鬼影区域和第二鬼影区域的检测结果都具有较高的精度,所以若基于检测到的鬼影区域融合多帧第一图像以及至少一帧第二图像也可以得到质量较高的融合结果。
在第二方面的一种实现方式中,所述利用所述第一鬼影区域融合所述多帧第一图像,获得第一融合图像,包括:将所述多帧第一图像中的参考帧中位于所述第一鬼影区域内的每个像素位置处的像素值,作为所述第一融合图像在对应像素位置处的像素值;将所述多帧第一图像中位于非第一鬼影区域内的每个像素位置处的像素值融合后,作为所述第一融合图像在对应像素位置处的像素值。
在上述实现方式中,对于第一鬼影区域内保留参考帧中的像素值,不进行多帧融合,从而避免在第一融合图像中产生鬼影;在第一鬼影区域之外则进行多帧融合以降低画面中的噪声。
在第二方面的一种实现方式中,所述第一曝光补偿值为正数,所述其他曝光补偿值均为非正数,所述利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像,包括:将对应的曝光补偿值与所述第一曝光补偿值差值最大的第二图像作为最初的第二融合图像,按照对应的曝光补偿值与所述第一曝光补偿值的差值逐渐减小的顺序,依次利用每帧第二图像对应的第二鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像;其中,若该帧第二图像不是最后一帧第二图像,则下一帧图像为下一帧第二图像,若该帧第二图像是最后一帧第二图像,则下一帧图像为所述第一融合图像,所述第一融合图像融合后得到的第二融合图像为所述最终结果图像。
按照对应的曝光补偿值与第一曝光补偿值的差值逐渐减小的顺序依次融合各帧第二图像,使得在每次融合时曝光补偿值的跨度不至于太大,从而有利于改善融合后的图像质量。
在第二方面的一种实现方式中,利用一帧第二图像对应的第二鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像,包括:计算当前的第二融合图像与下一帧图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,并将像素值差值大于第二阈值的像素位置构成的集合确定为该帧第二图像对应的第三鬼影区域;利用该帧第二图像对应的第三鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像。
由于第二鬼影区域是对第一鬼影区域进行面积调整得到的,为尽可能包含第二图像中的运动对象,面积调整可采用扩展的方式,从而第二鬼影区域的面积会比较大,其中可能包含背景区域(或者说非运动对象所在的区域)。若在多帧融合时采取在第二鬼影区域内不融合的策略,则其中的背景区域也无法进行融合去噪(运动对象所在的区域为了避免鬼影本来就不进行融合去噪),对融合后的图像质量产生不利影响。
在上述实现方式中,通过在第二鬼影区域内计算待融合的两帧图像的像素值差值评估每个像素位置处的运动强度(类似于前文的计算初始运动掩膜),进而排除掉第二鬼影区域中一些实际上未发生运动或者说运动不明显(像素值差值不大于第二阈值)的像素位置,使得到的面积较小的第三鬼影区域能够比较精确地覆盖运动对象,从而有利于改善融合后的图像质量。
在第二方面的一种实现方式中,所述利用该帧第二图像对应的第三鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像,包括:将下一帧图像中位于所述第三鬼影区域内的每个像素位置处的像素值,作为新的第二融合图像在对应像素位置处的像素值;将当前的第二融合图像与下一帧图像中位于非第三鬼影区域内的每个像素位置处的像素值融合后,作为新的第二融合图像在对应像素位置处的像素值。
在上述实现方式中,对于第三鬼影区域内保留下一帧图像中的像素值,不进行多帧融合,从而避免在新的第二融合图像中产生鬼影;在第三鬼影区域之外则进行多帧融合以降低画面中的噪声。
在第二方面的一种实现方式中,在所述计算当前的第二融合图像与下一帧图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值之前,所述方法还包括:将当前的第二融合图像的亮度调整至与下一帧图像的亮度匹配。
待融合的第二图像与当前结果图像通常并不能视为在同一曝光补偿值下采集的图像,从而二者的像素值在整体亮度上区别较大,直接计算像素值差值容易导致计算出的差值偏大,不能起到对第二鬼影区域进行优化的效果。在上述实现方式中,首先将待融合的第二图像的亮度调整至与当前结果图像的亮度匹配(相等或接近),然后再计算其与当前结果图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,则可以改善这一问题。
在第二方面的一种实现方式中,所述将当前的第二融合图像的亮度调整至与下一帧图像的亮度匹配,包括:利用直方图匹配算法将当前的第二融合图像的亮度调整至与下一帧图像的亮度匹配。
在第二方面的一种实现方式中,所述利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像,包括:将所述第一融合图像作为最初的当前结果图像,依次利用每帧第二图像对应的第二鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像;其中,最后一帧第二图像融合后得到的当前结果图像为所述最终结果图像。
上述融合方式操作简单,但若待融合的第二图像对应的曝光补偿值与第一曝光补偿值跨度过大,则可能影响融合后的图像质量,所以该方案更推荐在第二图像对应的曝光补偿值与第一曝光补偿值跨度不大的情况下使用。
在第二方面的一种实现方式中,利用一帧第二图像对应的第二鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像,包括:计算该帧第二图像与当前结果图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,并将像素值差值大于第三阈值的像素位置构成的集合确定为该帧第二图像对应的第四鬼影区域;利用该帧第二图像对应的第四鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像。
在上述实现方式中,通过在第二鬼影区域内计算待融合的两帧图像的像素值差值评估每个像素位置处的运动强度,进而排除掉第二鬼影区域中一些实际上未发生运动或者说运动不明显的像素位置,使得到的面积较小的第四鬼影区域能够比较精确地覆盖运动对象,有利于改善融合后的图像质量。
在第二方面的一种实现方式中,所述利用该帧第二图像对应的第四鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像,包括:将当前结果图像中位于所述第四鬼影区域内的每个像素位置处的像素值,作为新的当前结果图像在对应像素位置处的像素值;将当前结果图像与该帧第二图像中位于非第四鬼影区域内的每个像素位置处的像素值融合后,作为新的当前结果图像在对应像素位置处的像素值。
在上述实现方式中,对于第四鬼影区域内保留当前结果图像中的像素值,不进行多帧融合,从而避免在新的当前结果图像中产生鬼影;在第四鬼影区域之外则进行多帧融合以降低画面中的噪声。
第三方面,本申请实施例提供一种鬼影检测装置,包括:图像获取模块,用于获取多帧第一图像以及至少一帧第二图像;其中,所述第一图像为在第一曝光补偿值下采集的图像,所述第二图像为在不同于所述第一曝光补偿值的其他曝光补偿值下采集的图像;第一鬼影检测模块,用于根据所述多帧第一图像计算第一鬼影区域以及所述第一鬼影区域中运动对象的运动速度和运动方向;其中,所述第一鬼影区域为包含有所述多帧第一图像中的运动对象的区域;第二鬼影检测模块,用于根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域。
第四方面,本申请实施例提供一种图像融合装置,包括:第三鬼影检测模块,用于利用第一方面或第一方面的任意一种可能的实现方式提供的鬼影检测方法获取多帧第一图像对应的第一鬼影区域以及至少一帧第二图像中的每帧第二图像对应的第二鬼影区域;第一融合模块,用于利用所述第一鬼影区域融合所述多帧第一图像,获得第一融合图像;第二融合模块,用于利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面、第二方面或这两方面的任意一种可能的实现方式提供的方法。
第六方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面、第二方面或这两方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了融合后的图像中出现的鬼影;
图2示出了本申请实施例提供的一种鬼影检测方法;
图3示出了第一鬼影区域的一种计算过程;
图4示出了第一图像与第二图像的一个融合示例;
图5示出了本申请实施例提供的一种图像融合方法;
图6示出了本申请实施例提供的一种鬼影检测装置的结构;
图7示出了本申请实施例提供的一种图像融合装置的结构;
图8示出了本申请实施例提供的一种电子设备的结构。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
图2示出了本申请实施例提供的一种鬼影检测方法,该方法可以但不限于由图8示出的电子设备500执行,参照图2,该方法包括:
步骤S110:获取多帧第一图像以及至少一帧第二图像。
曝光补偿是一种曝光控制方式:通过有意地改变相机自动演算出的曝光参数(如光圈、快门),使得相机的曝光量发生变化,从而让拍摄出的照片更加明亮或者更加昏暗。
曝光补偿值可视为对曝光补偿力度的一种量化表示,曝光补偿值的取值范围可以是一个以0为中心的区间,例如[-2,2]、[-3,3]等。曝光补偿值取0表示采用相机自动确定的曝光量进行拍摄,曝光补偿值取正数表示(相对于曝光补偿值取0)在增大曝光量的情况下进行拍摄,曝光补偿值取负数表示(相对于曝光补偿值取0)在减小曝光量的情况下进行拍摄,曝光补偿值的绝对值越大,曝光量增大或者减小的程度也越大。在一些现有设备中,曝光补偿值采用间隔取值,例如在[-2,2]中以1为间隔,可以得到EV-2、EV-1、EV0、EV+1、EV+2共5个曝光补偿值,相邻的曝光补偿值之间相差1EV,表示曝光量相差一倍,例如EV+1相对于EV0曝光量增大了一倍,当然也采用1/2、1/3作为相邻曝光补偿值之间的间隔。
在步骤S110中,多帧第一图像均采集于第一曝光补偿值下,而至少一帧第二图像均采集于不同于第一曝光补偿值的其他曝光补偿值下。注意,若第二图像有多帧,这里并不限定每帧第二图像对应的曝光补偿值都不同,例如,一种满足步骤S110中要求的图像组合为:在EV0下采集5帧第一图像、在EV-1下采集5帧第二图像、在EV-2下采集5帧第二图像。
在采集第一图像和第二图像时,可以按照曝光补偿值渐变顺序进行采集,这样对于很多现有设备来说比较方便实施。例如,先采集EV0下的5帧图像,再采集EV-1下的5帧图像,最后采集EV-2下的5帧图像,曝光补偿值按照0、-1、-2的顺序依次减小;或者,先采集EV-2下的5帧图像,再采集EV-1下的5帧图像,最后采集EV0下的5帧图像,曝光补偿值按照-2、-1、0的顺序依次增大。
发明人长期研究发现,对于夜景拍摄,在利用采集于不同曝光补偿值下的多帧图像进行融合去噪时,在融合后的图像中,绝大部分区域的像素值主要来源于曝光补偿值为正数的图像,只有少部分高光区域的像素值主要来源于曝光补偿值为非正数的图像。其原因是可以理解的,夜晚光线较暗,增大曝光量可以保留大部分区域内的画面细节,但对于高光区域,减小曝光量则可以避免过曝。
因此,若第一图像和第二图像是在夜晚(或者其他光线较暗的环境,为简化阐述都视为夜晚)采集的,并且在检测完鬼影区域后要用于融合去噪,则第一图像可以在曝光补偿值为正数的条件下采集,而第二图像可以在曝光补偿值为非正数的条件下采集,这样融合后的图像中将保留较为丰富的细节。例如,一种符合要求的图像组合为:在EV+1下采集5帧第一图像、在EV0下采集5帧第二图像、在EV-1下采集5帧第二图像。
发明人进一步发现,在融合后的图像中,通常高光区域都不会占据太大面积,并且也不会具有太多细节,因此相对来说,第二图像在多帧融合去噪的过程中的重要性不及第一图像。从而,在一些实现方式中,若在第一曝光补偿值下第一图像采集N帧(N>1),则在其他每种曝光补偿值下第二图像只需采集小于N帧,这样可以减小融合时的运算量,并且对融合后的图像质量也不会造成明显的影响,特别地,为了尽可能减小运算量,在其他每种曝光补偿值下第二图像只需采集1帧。例如,一种符合要求的图像组合为:在EV+1下采集5帧第一图像、在EV0下采集1帧第二图像、在EV-1下采集1帧第二图像。此外,若希望进一步改善此时的融合效果,考虑到每种曝光补偿值下采集的第二图像帧数较少,还可以在融合高光区域时加大去噪强度。
步骤S120:根据多帧第一图像计算第一鬼影区域以及第一鬼影区域中运动对象的运动速度和运动方向。
步骤S120分为两部分,一部分是计算第一鬼影区域,另一部分是计算第一鬼影区域中运动对象的运动速度和运动方向。下面先介绍对于第一鬼影区域的计算:
第一鬼影区域可以指包含有多帧第一图像中的运动对象的区域。在一些实现方式中,可以首先从多帧第一图像中选择参考帧,然后再根据多帧第一图像中的非参考帧与参考帧的像素值差值计算第一鬼影区域。
例如,可以固定选择一帧(例如,第一帧)作为参考帧,可以随机选择一帧作为参考帧,等等。若考虑到在后续步骤中对多帧第一图像进行融合时,很多方案也会使用参考帧作为融合基准,则可以选择其中清晰度最高的一帧作为参考帧,以改善融合后的图像质量,不过需要指出的是,图2示出的方法只是一种鬼影检测方法,至于是否要根据检测出的鬼影区域进行多帧融合,则是可选的。评估图像的清晰度,可以采用但不限于基于梯度算子(例如,Sobel算子)的方法。
多帧第一图像中除参考帧以外的第一图像称为非参考帧。以参考帧为参照系,若某个对象在参考帧和非参考帧之间发生了运动,则该对象在参考帧与非参考帧中的位置也必然有所不同,从而通过计算非参考帧与参考帧之间的像素值差值,就可以确定包含有非参考帧和参考帧中的运动对象的区域,即第一鬼影区域。
进一步的,考虑存在多个运动对象的情况,这些运动对象在第一图像中可能位于不同的位置,各自也可能具有不同的运动规律,并不便于在后续进行统一计算运动速度和运动方向,因此在一些实现方式中,可以首先根据多帧第一图像中的非参考帧与参考帧的像素值差值计算出一个初始鬼影区域,然后再将初始鬼影区域划分为互不连通的至少一个第一鬼影区域,可以认为,不同的第一鬼影区域包含不同的运动对象,在后续步骤中分别利用每个第一鬼影区域去预测第二鬼影区域,结果可能会更加准确。
下面给出第一鬼影区域的一种可能的计算过程,并参照图3进行说明:
步骤A:计算每个非参考帧与参考帧在各对应像素位置处的像素值差值,获得多个初始运动掩膜。
在图3中示出了3帧第一图像,其中第2帧为参考帧,为简单起见,每帧第一图像只包括9个像素,每个像素的像素值如图所示。将第1帧第一图像和第2帧第一图像在各对应像素位置处的像素值相减后取绝对值,得到一个初始运动掩膜图像,记为初始运动掩膜图像1。类似的,将第3帧第一图像和第2帧第一图像在各对应像素位置处的像素值相减后取绝对值,得到另一个初始运动掩膜图像,记为初始运动掩膜图像2。
某个初始运动掩膜图像中的每个像素位置处的像素值可以理解为:某个非参考帧相对于参考帧在该像素位置处的运动强度,像素值越大,则运动强度也越大,该像素位置属于鬼影区域的可能性也越高。
步骤B:将多个初始运动掩膜进行叠加,获得第一运动掩膜。
参照图3,将初始运动掩膜图像1和初始运动掩膜图像2各对应像素位置处的像素值直接相加,就可以得到第一运动掩膜。当然,这只是一种叠加方式,也不排除将各初始运动掩膜对应像素位置处的像素值加权求和、求均值等叠加方式。
第一运动掩膜中的每个像素位置处的像素值可以理解为:所有非参考帧相对于参考帧在该像素位置处的运动强度的叠加,像素值越大,则运动强度也越大,该像素位置属于鬼影区域的可能性也越高。
步骤C:判断第一运动掩膜中的每个像素位置处的像素值是否大于第一阈值,并将像素值大于第一阈值的像素位置构成的集合确定为初始鬼影区域。
在图3中,第一阈值T1设置为30,从而,根据第一阈值,可以确定(0,1)、(1,0)、(1,1)三个像素位置构成的集合为初始鬼影区域。
对于初始鬼影区域的位置,可以通过其包含的每个像素位置来记录,可以通过位于其边缘的像素位置来记录,也可以通过第二运动掩膜来记录,等等。第二运动掩膜是一个二值化的图像,其中的每个像素值只能取第一数值或第二数值,若某个像素值取第一数值,则表明该像素值所在的像素位置属于初始鬼影区域,若某个像素值取第二数值,则表明该像素值所在的像素位置属于非初始鬼影区域。例如,第一数值可以取1,第二数值可以取0。
在执行步骤C时,若判断出第一运动掩膜中的每个像素位置处的像素值大于第一阈值,则可以将该像素位置在第二运动掩膜中的对应像素位置处的像素值设置为第一数值,否则可以将该像素位置在第二运动掩膜中的对应像素位置处的像素值设置为第二数值。遍历完第一运动掩膜中的所有像素位置后,就可以得到第二运动掩膜。
参照图3,在得到的第二运动掩膜中,(0,1)、(1,0)、(1,1)三个像素位置处的像素值被置为1,从而这三个像素位置构成了初始鬼影区域。
在一些实现方式中,还可以对得到的第二运动掩膜进行平滑滤波,消除其中的一些噪点,避免这些噪点在步骤D中被误判为第一鬼影区域。
步骤D:将初始鬼影区域划分为互不连通的至少一个第一鬼影区域。
由于在步骤C中已经获知了构成初始鬼影区域的每个像素位置,因此容易判断初始鬼影区域的连通性,进而可以进行第一鬼影区域的划分。
进一步的,若采用第二运动掩膜表示鬼影区域,特别是在第一数值取1、第二数值取0时,直接利用一些现有的连通性检测算法对第二运动掩膜中位于的初始鬼影区域内的像素进行检测,就可以将初始鬼影区域划分为互不连通的至少一个第一鬼影区域。在图3中,由于初始鬼影区域中的三个像素位置是连通的,所以执行步骤D后只得到了一个第一鬼影区域。
在一些实现方式中,在执行完步骤A后,还可以直接根据每个初始运动掩膜得到一个鬼影区域(通过将初始运动掩膜中的像素值和某个阈值比较),然后对这些鬼影区域取并集,获得初始鬼影区域。
此外,在一些较简单的实现方式中,也可以直接将上面的初始鬼影区域作为第一鬼影区域,不再对其进行进一步划分。
除了利用非参考帧与参考帧的像素值差值计算第一鬼影区域以外,还存在别的方案,例如,在多帧第一图像中进行运动目标检测(例如,可以采用基于神经网络、背景建模的方法),然后将各帧中检测到运动目标的区域取并集作为第一鬼影区域。通过运动目标检测虽然能更精确地捕捉运动对象,但这些算法的复杂程度也会高一些。
下面继续介绍对于第一鬼影区域中运动对象的运动速度和运动方向的计算:
在一些实现方式中,可以首先利用光流法计算第一鬼影区域中的每个像素位置处的运动速度和运动方向,然后计算第一鬼影区域中的每个像素位置处的运动速度和运动方向的均值,最终得到第一鬼影区域中运动对象的运动速度和运动方向。这里需注意,根据定义,第一鬼影区域包含多帧第一图像中的运动对象,理想情况下第一鬼影区域恰好覆盖运动对象,但实际中第一鬼影区域中也可能覆盖运动对象之外的内容,但并不容易在第一鬼影区域中严格区分这两部分,因此在计算上述运动速度和运动方向时,可以认为第一鬼影区域的检测结果是理想的,第一鬼影区域中的每个像素位置(而非只有属于运动对象的像素位置)都会参与计算,计算出的结果为第一鬼影区域中运动对象的运动速度和运动方向。
其中,每个像素位置处的运动速度和运动方向可以表示为一个向量(向量的大小为运动速度,向量的方向为运动方向),即光流,对第一鬼影区域中的每个像素位置处的向量求均值,获得的均值向量即可以表示第一鬼影区域中运动对象的运动速度和运动方向。可以采用的光流法包括DIS算法、FlowNet算法等,这些算法都比较成熟,对光流进行估计的精度较高。
在另一些实现方式中,考虑到第一鬼影区域本质上是位于多帧第一图像中的对象运动所形成的,因此也可以利用运动目标跟踪的方法确定第一鬼影区域中运动对象的运动速度和运动方向。
可以理解的,无论采用上面哪种方式,计算第一鬼影区域中运动对象的运动速度和运动方向至少需要两帧不同的第一图像,两帧第一图像相互参照,才能确定其中的运动情况。
从而,在一种较简单的实现方式中,可以根据从多帧第一图像中选择出的两帧第一图像计算第一鬼影区域中运动对象的运动速度和运动方向。在很多场景下(例如,拍照时),多帧第一图像的采集时间间隔比较接近,在这段时间内画面中对象的运动可以近似认为是线性的,从而即使只取其中两帧,其对于第一鬼影区域中运动对象的运动趋势(指运动速度和运动方向)的估计也是比较精确的。
例如,可以随机选择两帧第一图像,可以选择邻近第一图像以及与邻近第一图像在采集时间上间隔最远的第一图像,等等。
其中,邻近第一图像是指多帧第一图像中与第二图像(可以是任一帧第二图像)在采集时间间隔上最接近的第一图像。出于实用性考虑,每种曝光补偿值下的多帧图像一般为连续采集,从而图像的采集顺序无非有两种:先采集第一图像再采集第二图像,例如,先在EV+1下依次采集5帧第一图像、然后在EV0下采集1帧第二图像、最后在EV-1下采集1帧第二图像;以及,先采集第二图像再采集第一图像,例如,先在EV-1下采集1帧第二图像、然后在EV0下采集1帧第二图像、最后在EV+1下依次采集5帧第一图像。
根据邻近第一图像的定义,对于前者,在EV+1下采集的最后一帧第一图像就是邻近第一图像,与其在采集时间上间隔最远的第一图像就是在EV+1下采集的第一帧第一图像;对于后者,在EV+1下采集的第一帧第一图像就是邻近第一图像,与其在采集时间上间隔最远的第一图像就是在EV+1下采集的最后一帧第一图像。
不难看出,在上述两种图像采集方式中,邻近第一图像以及与其在采集时间上间隔最远的第一图像必然是最早采集的第一图像与最晚采集的第一图像(或者反过来),而利用在采集时间上间隔较远的两帧第一图像计算第一鬼影区域中运动对象的运动速度和运动方向可能会更精确,因为计算结果反映了第一图像中的运动对象在较长时间内的积累起来的运动趋势。
以光流法为例,将邻近第一图像以及与其在采集时间上间隔最远的第一图像作为算法输入,算法将输出两帧输入图像之间的光流场,将该光流场中位于第一鬼影区域内的光流求均值,就可以得到第一鬼影区域中运动对象的运动速度和运动方向。
在一种较精确的实现方式中,可以将每帧第一图像都用于计算第一鬼影区域中运动对象的运动速度和运动方向。例如,可以首先根据多帧第一图像中的每个非邻近第一图像以及邻近第一图像,计算第一鬼影区域中运动对象的一组运动速度和运动方向,共获得至少一组运动速度和运动方向。该步骤本质上就是每次选两帧第一图像计算第一鬼影区域中运动对象的一组运动速度和运动方向,其中一帧固定为邻近第一图像计算,另一帧从其他第一图像中选择,计算方法上文已阐述。然后,计算获得的至少一组运动速度和运动方向的均值,最终得到第一鬼影区域中运动对象的运动速度和运动方向。由于利用了多帧第一图像中的信息,所以该实现方式对于第一鬼影区域中运动对象的运动趋势的估计可能会更准确,但其计算量也较大。可选的,此种实现方式中的邻近第一图像也可以换成其他的某帧第一图像。
步骤S130:根据第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域。
第一鬼影区域的面积调整原则可以为:至少应覆盖调整前的第一鬼影区域,还应尽量覆盖第二鬼影区域中的运动对象。步骤S130中的所谓的“其中一帧第一图像”并不限定是多帧第一图像中的哪一帧,这里先以选择其中的邻近第一图像为例。
参照图4,在该场景中,先在EV+1下采集2帧第一图像、然后在EV0下采集1帧第二图像(假设以T为周期匀速采集),图像中的运动对象以白色圆圈表示。执行完步骤S120后,可以得到第一鬼影区域(阴影表示),通过图4可以看出,第一鬼影区域大致覆盖了2帧第一图像中的运动对象。另外,还得到了第一鬼影区域中运动对象的运动方向为向右(和运动对象的运动方向保持一致),运动速度为d/T,d表示圆圈的直径。
根据邻近第一图像的定义,图4中的邻近第一图像为第2帧第一图像,该第一图像与第二图像的采集时间间隔为T。从而,将第一鬼影区域向右扩展T×(d/T)=d的距离,即可得到第二鬼影区域,该第二鬼影区域不仅覆盖了第一鬼影区域,还覆盖了第二图像中的运动对象。
若先在EV0下采集1帧第二图像、然后在EV+1下采集2帧第一图像,其余条件不变,则第一鬼影区域中运动对象的运动方向为向左,运动速度为d/T,此时需要将第一鬼影区域向右扩展T×(d/T)=d的距离,才能得到第二鬼影区域。总结起来,若先采集第一图像再采集第二图像,则应当按照与第一鬼影区域中运动对象的运动方向相同的方向对其进行扩展;若先采集第二图像再采集第一图像,则应当按照与第一鬼影区域中运动对象的运动方向相反的方向对其进行扩展。
图4中第二图像只有一帧,若有多帧第二图像,则都可以按照上述方法得到其对应的第二鬼影区域。若第一鬼影区域的位置采用二值化的掩膜(第二运动掩膜)来记录,第二鬼影区域的位置也可以采用二值化的掩膜来记录。在一些实现方式中,得到某帧第二图像对应的第二鬼影区域后,还可以对其进行膨胀处理,以使其面积适当扩大。因为纯粹利用第一鬼影区域中运动对象的运动趋势估计第二鬼影区域,难免存在不准确的情况,扩大第二鬼影区域的面积有利于将第二图像中的运动对象包含在内。若采用二值化的掩膜表示第二鬼影区域,则可以直接在该二值化的掩膜上执行现有的区域膨胀算法。
虽然任意一帧第一图像和第二图像之间都可以算出一个采集时间间隔,因此都可以进行第二鬼影区域的估计,但选择邻近第一图像计算出的第二鬼影区域是比较精确的,原因分析如下:
根据邻近第一图像的定义,邻近第一图像与第二图像(任一帧第二图像)在采集时间间隔上是最接近的,再根据第一鬼影区域的定义,第一鬼影区域中也应包含邻近第一图像中运动对象的位置,从而对第一鬼影区域的面积进行扩展,可视为在该位置的基础上所进行的扩展,即面积扩展行为的时间起点应为采集邻近第一图像的时刻。
从而,选择邻近第一图像用于计算步骤S130中的采集时间间隔,使得该时间间隔的起点与面积扩展行为的时间起点恰好一致(均为采集邻近第一图像的时刻),这样计算出的第二鬼影区域面积较小、精确度较高。
相对地,若选择某个非邻近第一图像用于计算步骤S130中的采集时间间隔,此时该时间间隔的起点与面积扩展行为的时间起点不一致,这样计算出的第二鬼影区域面积较大(因此时计算出的时间间隔必然大于采用邻近第一图像时计算出的时间间隔)、精确度较低。当然,计算出的第二鬼影区域面积较大也并非一定产生负面效果,因为纯粹利用第一鬼影区域中运动对象的运动趋势估计第二鬼影区域,难免存在不准确的情况,一个面积较大的第二鬼影区域有利于将第二图像中的运动对象包含在内(类似上面对第二鬼影区域进行膨胀处理的原因)。
在本申请实施例提供的鬼影检测方法中,分别对第一鬼影区域和第二鬼影区域进行了检测。其中,第一鬼影区域是利用多帧第一图像计算的,由于多帧第一图像都采集于第一曝光补偿值下,其高光区域基本一致,所以第一鬼影区域的检测基本不会受到高光区域的干扰,其检测精度较高。而第二鬼影区域并非是利用第一图像和第二图像计算出的,而是根据第一鬼影区域中运动对象的运动趋势估计出的,因此尽管第二图像对应的曝光补偿值与第一曝光值不同,其高光区域也与第一图像存在显著差异,但却不会影响第二鬼影区域的计算结果。从而,第二鬼影区域的检测也不会受到高光区域的干扰,其检测精度较高。
进一步的,由于第一鬼影区域和第二鬼影区域的检测结果都具有较高的精度,所以若基于检测到的鬼影区域融合多帧第一图像以及至少一帧第二图像也可以得到质量较高的融合结果,例如,有利于改善用户在夜景拍摄等方面的体验。
应当理解,对于检测到的鬼影区域,并不限于用于图像融合,例如也可以用于输出展示,用于作为训练样本等。
图5示出了本申请实施例提供的一种图像融合方法,该方法可以但不限于由图8示出的电子设备500执行,参照图5,该方法包括:
步骤S210:利用本申请实施例提供的鬼影检测方法获取多帧第一图像对应的第一鬼影区域以及至少一帧第二图像中的每帧第二图像对应的第二鬼影区域。
步骤S210的内容在前文中已经介绍,此处不再重复阐述。
步骤S220:利用第一鬼影区域融合多帧第一图像;其中,融合后的图像称为第一融合图像。
在一些实现方式中,可以这样融合:将多帧第一图像中的参考帧中位于第一鬼影区域内的每个像素位置处的像素值,作为第一融合图像在对应像素位置处的像素值;将多帧第一图像中位于非第一鬼影区域内的每个像素位置处的像素值融合后,作为第一融合图像在对应像素位置处的像素值。
简单来说,就是在第一鬼影区域内保留参考帧中的像素值,不进行多帧融合,从而避免在第一融合图像中产生鬼影;在第一鬼影区域之外则进行多帧融合以降低画面中的噪声。相同曝光补偿值下的多帧融合可以采用加权求和等现有方法,此处不作具体解释。另外,需要指出,在鬼影检测阶段,并非每种方法都会从多帧第一图像中选择参考帧,若之前未选择参考帧的,可以在多帧融合时再选择参考帧,选择参考帧的方式前文已经介绍,不再重复阐述。
继续参照图4,利用第一鬼影区域将采集于EV+1下的2帧第一图像融合,在第一鬼影区域内,直接采用第1帧第一图像(参考帧)中的像素值,所以在第一融合图像中,圆圈的位置与第1帧第一图像相同,并且在与第2帧第一图像中的圆圈对应的位置处也没有出现鬼影。
可以理解的,融合多帧第一图像不限于采用上面的方式,例如在第一鬼影区域内可以不是直接保留参考帧中的像素值,而是也进行多帧融合,不过参考帧中的像素值将占据较高的权重。
需要指出,步骤S220可以不必等到步骤S210全部执行完毕之后再执行,也可以在步骤S210中计算出第一鬼影区域后就执行。
步骤S230:利用每帧第二图像对应的第二鬼影区域融合至少一帧第二图像与第一融合图像;其中,融合后的图像称为最终结果图像。
融合的方式有多种,下面仅列举其中两种:
方式(1)
将第一融合图像作为最初的当前结果图像,然后开始迭代:在每轮迭代中利用一帧第二图像对应的第二鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像。持续迭代直至最后一帧第二图像与第一融合图像融合,此时得到的当前结果图像也就是最终结果图像。其中,若第二鬼影区域进行了膨胀处理,则融合时可使用膨胀后的第二鬼影区域。
至于至少一帧第二图像的融合顺序,则不限定,例如可以按照其对应的曝光补偿值与第一曝光补偿值的差值逐渐增大的顺序。比如,在EV+1下采集5帧第一图像、在EV0下采集1帧第二图像、在EV-1下采集1帧第二图像,则在5帧第一图像融合为第一融合图像后,可以先将EV0下采集的第二图像与第一融合图像(最初的当前结果图像)融合,获得当前结果图像,再将EV-1下采集的第二图像与当前结果图像融合,获得最终结果图像。
若在某个曝光补偿值下采集了多帧第二图像,则对于这多帧第二图像可以按照其中的每帧第二图像与邻近第一图像的采集时间间隔逐渐增大的顺序融合。比如,先在EV+1下依次采集5帧第一图像、然后在EV0下依次采集2帧第二图像,则在5帧第一图像融合为第一融合图像后,可以先将EV0下先采集的第二图像与第一融合图像融合,获得当前结果图像,再将EV0下后采集的第二图像与当前结果图像融合,获得最终结果图像。
在一轮迭代中,利用一帧第二图像对应的第二鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像,可以采用如下做法:
将当前结果图像中位于第二鬼影区域内的每个像素位置处的像素值,作为新的当前结果图像在对应像素位置处的像素值;将该帧第二图像与当前结果图像中位于非第二鬼影区域内的每个像素位置处的像素值融合后,作为新的当前结果图像在对应像素位置处的像素值。此过程和第一图像的融合比较类似,不再具体解释,其中的不同曝光补偿值下的多帧融合可以采用HDR融合等现有方法。
继续参照图4,利用第二鬼影区域虽然能够融合第二图像与第一融合图像(图中未示出表示融合的箭头),使获得的最终结果图像中不存在鬼影,但由于第二鬼影区域是第一鬼影区域扩展而来的,而第一鬼影区域面积本来就比较大(因为其包含了多帧第一图像中的运动对象),所以第二鬼影区域的面积也比较大,除了覆盖第二图像与第一融合图像中的两个圆圈外,还覆盖了这两个圆圈之间的背景区域。从而,融合时若在第二鬼影区域内直接保留第一融合图像中的像素值,则在两个圆圈之间的背景区域内也会保留第一融合图像中的像素值,而未进行多帧融合去噪,从而影响最终结果图像的质量。
因此,在一些实现方式中,可以通过计算待融合的第二图像与当前结果图像(第一融合图像也属于当前结果图像)的像素值差值,先对该帧第二图像对应的第二鬼影区域进行优化,排除其中一些并不存在运动对象的区域(像素值差值较小的区域),然后再进行图像融合。其中,计算待融合的第二图像与当前结果图像的像素值差值,类似于前文的计算初始运动掩膜,由于像素值差值可表示对应像素位置处的运动强度,所以此种对第二鬼影区域的优化策略是合理的。其具体做法为:
首先计算待融合的第二图像与当前结果图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,并将像素值差值大于第三阈值的像素位置构成的集合确定为该帧第二图像对应的第四鬼影区域,即优化后的第二鬼影区域,这里结合像素值差值确定第四鬼影区域的原理和前文通过像素值差值确定第一鬼影区域的原理类似。然后再利用该帧第二图像对应的第四鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像。具体的融合方法可以是:
将当前结果图像中位于第四鬼影区域内的每个像素位置处的像素值,作为新的当前结果图像在对应像素位置处的像素值;将当前结果图像与该帧第二图像中位于非第四鬼影区域内的每个像素位置处的像素值融合后,作为新的当前结果图像在对应像素位置处的像素值。此过程和第一图像的融合比较类似,不再具体解释。
参照图4,按照上述方法计算出的第二图像对应的第四鬼影区域只包含两个带阴影的圆圈,其只覆盖了第二图像与第一融合图像中的两个白色圆圈,而未覆盖这两个白色圆圈之间的背景区域,从而在融合第二图像与第一融合图像时,背景区域中会进行多帧融合降噪,使得最终结果图像的质量得到改善。
进一步的,在很多情况下,待融合的第二图像与当前结果图像并不能视为在同一曝光补偿值下采集的图像,从而二者的像素值在整体亮度上区别较大,直接计算像素值差值容易导致计算出的差值偏大,不能起到对第二鬼影区域进行优化的效果。例如,在图4中,第一融合图像(最初的当前结果图像)是由多帧在EV+1下采集的第一图像融合而成的,从而其对应的曝光补偿值也可以视为EV+1,即与第二图像对应的曝光补偿值(EV0)相差1EV,也就是曝光量相差一倍,显然二者的像素值整体亮度上区别明显。
为解决该问题,在一些实现方式中,可以首先将待融合的第二图像的亮度调整至与当前结果图像的亮度匹配,然后再计算其与当前结果图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值。这里的匹配可以理解为相接近,但并不一定要严格相等。
在一些实现方式中,可以利用直方图匹配算法将待融合的第二图像的亮度调整至与当前结果图像的亮度匹配。在另一些实现方式中,也可以通过分块亮度调整的方式实现亮度匹配,例如,将待融合的第二图像和当前结果图像都按照相同的划分方式分为32块(也可以是其他块数),然后分别计算两张图像在每一块内的像素值均值,接着利用当前结果图像在每个块内的像素值均值除以待融合的第二图像在对应块内的像素值均值,计算出32个变换系数,最后将待融合的第二图像在每个块内的像素值都乘上该块对应的变换系数,即可将该块的总体亮度调整至与当前结果图像中对应块的总体亮度相匹配。当然还有很多别的实现方式,不再列举。
方式(2)
将对应的曝光补偿值与第一曝光补偿值差值最大的第二图像作为最初的第二融合图像,然后开始迭代:在每轮迭代中,按照融合顺序取一帧第二图像对应的第二鬼影区域,利用该第二鬼影区域融合当前的第二融合图像与该帧第二图像的下一帧图像,获得新的第二融合图像。持续迭代直至最后一帧第二图像对应的第二鬼影区域也参与了融合(或者说第一融合图像也参与了融合),此时得到的第二融合图像也就是最终结果图像。
其中,融合顺序是指第二图像在融合时的先后顺序,此处具体为第二图像对应的曝光补偿值与第一曝光补偿值的差值逐渐减小的顺序,特别地,若在某个曝光补偿值下采集了多帧第二图像,则对于这多帧第二图像可以按照其中的每帧第二图像与邻近第一图像的采集时间间隔逐渐减小的顺序融合。
若该帧第二图像不是融合顺序中的最后一帧第二图像,则该帧第二图像的下一帧图像为下一帧第二图像,若该帧第二图像是融合顺序中的最后一帧第二图像,则该帧第二图像的下一帧图像为第一融合图像。
若第二鬼影区域进行了膨胀处理,则融合时可使用膨胀后的第二鬼影区域。
例如,在EV+1下采集5帧第一图像、在EV0下采集1帧第二图像、在EV-1下采集1帧第二图像,在EV-2下采集1帧第二图像,则在5帧第一图像融合为第一融合图像后,可以先将EV-2下采集的第二图像与EV-1下采集的第二图像融合,然后再将得到的第二融合图像与EV0下采集的第二图像融合,然后再将得到的第二融合图像与第一融合图像融合,获得最终结果图像。
在一轮迭代中,利用一帧第二图像对应的第二鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像,可以采用如下做法:
将下一帧图像中位于第二鬼影区域内的每个像素位置处的像素值,作为新的第二融合图像在对应像素位置处的像素值;将当前的第二融合图像与下一帧图像中位于非第二鬼影区域内的每个像素位置处的像素值融合后,作为新的第二融合图像在对应像素位置处的像素值。此过程和第一图像的融合比较类似,不再具体解释。
在一些实现方式中,对于一帧第二图像,可以通过计算当前的第二融合图像与该帧第二图像的下一帧图像的像素值差值,先对该帧第二图像对应的第二鬼影区域进行优化,排除一些并不存在运动对象的区域,然后再进行图像融合,这样处理的原因前文已经分析。其具体做法可以为:
首先计算当前的第二融合图像与下一帧图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,并将像素值差值大于第二阈值的像素位置构成的集合确定为该帧第二图像对应的第三鬼影区域,即优化后的第二鬼影区域。然后再利用该帧第二图像对应的第三鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像。具体的融合方法可以是:
将下一帧图像中位于第三鬼影区域内的每个像素位置处的像素值,作为新的第二融合图像在对应像素位置处的像素值;将当前的第二融合图像与下一帧图像中位于非第三鬼影区域内的每个像素位置处的像素值融合后,作为新的第二融合图像在对应像素位置处的像素值。此过程和第一图像的融合比较类似,不再具体解释。
进一步的,在很多情况下,对于一帧第二图像,当前的第二融合图像与该帧第二图像的下一帧图像并不能视为在同一曝光补偿值下采集的图像,从而二者的像素值在整体亮度上区别较大,直接计算像素值差值容易导致计算出的差值偏大,不能起到对第二鬼影区域进行优化的效果。为解决该问题,在一些实现方式中,可以首先将当前的第二融合图像的亮度调整至与下一帧图像的亮度匹配,然后再计算当前的第二融合图像与下一帧图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值。这里的匹配可以理解为相接近,但并不一定要严格相等。
在一些实现方式中,可以利用直方图匹配算法将当前的第二融合图像的亮度调整至与下一帧图像的亮度匹配,但也可以采用其他方法。
简单比较一下方式(1)和方式(2):方式(1)操作简单,但可能涉及融合曝光补偿值跨度较大的图像(例如,第一图像采集于EV+1下,第二图像采集于EV-2下,二者之间的曝光补偿值差了3EV),这样的图像融合效果较差,并且对鬼影区域进行优化也有困难;方式(2)按照对应的曝光补偿值与第一曝光补偿值的差值逐渐减小的顺序依次融合各帧第二图像,使得每次融合的两帧图像在曝光补偿值上的跨度不至于太大,从而有利于改善融合后的图像质量。注意,根据上文内容,虽然可以通过亮度调整强行拉近两帧图像的总体亮度,但这种方式毕竟会更改原图的像素值,而且在两帧图像亮度差距过大时,一些亮度调整方法也并不适用。
当然,若各帧第二图像对应的曝光补偿值与第一曝光补偿值之间的跨度都不大,采用方式(1)得到的最终结果图像也具有不错的质量。
图6示出了本申请实施例提供的鬼影检测装置300的功能模块图。参照图6,鬼影检测装置300包括:
图像获取模块310,用于获取多帧第一图像以及至少一帧第二图像;其中,所述第一图像为在第一曝光补偿值下采集的图像,所述第二图像为在不同于所述第一曝光补偿值的其他曝光补偿值下采集的图像;
第一鬼影检测模块320,用于根据所述多帧第一图像计算第一鬼影区域以及所述第一鬼影区域中运动对象的运动速度和运动方向;其中,所述第一鬼影区域为包含有所述多帧第一图像中的运动对象的区域;
第二鬼影检测模块330,用于根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320根据所述多帧第一图像计算第一鬼影区域,包括:从所述多帧第一图像中选择参考帧;根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算所述第一鬼影区域。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算所述第一鬼影区域,包括:根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算初始鬼影区域;将所述初始鬼影区域划分为互不连通的至少一个第一鬼影区域。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算初始鬼影区域,包括:计算所述多帧第一图像中的每个非参考帧与参考帧在各像素位置处的像素值差值,获得多个初始运动掩膜;将所述多个初始运动掩膜进行叠加,获得第一运动掩膜;判断所述第一运动掩膜中的每个像素位置处的像素值是否大于第一阈值,并将像素值大于所述第一阈值的像素位置构成的集合确定为所述初始鬼影区域。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320判断所述第一运动掩膜中的每个像素位置处的像素值是否大于第一阈值,并将像素值大于所述第一阈值的像素位置构成的集合确定为所述初始鬼影区域,包括:判断所述第一运动掩膜中的每个像素位置处的像素值是否大于第一阈值,并将像素值大于所述第一阈值的像素位置在第二运动掩膜中的对应像素位置处的像素值设置为第一数值;其中,所述第二运动掩膜中像素值取第一数值或第二数值,像素值取第一数值的像素位置构成的集合为所述初始鬼影区域,像素值取第二数值的像素位置构成的集合为非初始鬼影区域;第一鬼影检测模块320将所述初始鬼影区域划分为互不连通的至少一个第一鬼影区域,包括:通过对所述第二运动掩膜中位于的所述初始鬼影区域内的像素进行连通性检测,将所述初始鬼影区域划分为互不连通的至少一个第一鬼影区域。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320从所述多帧第一图像中选择参考帧,包括:将所述多帧第一图像中的清晰度最高的第一图像选为参考帧。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320根据所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:根据所述多帧第一图像中的两帧第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320根据所述多帧第一图像中的两帧第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:根据邻近第一图像以及与所述邻近第一图像在采集时间上间隔最远的第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:根据所述多帧第一图像中的每个非邻近第一图像以及邻近第一图像,计算所述第一鬼影区域中运动对象的一组运动速度和运动方向,共获得至少一组运动速度和运动方向;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像;计算所述至少一组运动速度和运动方向的均值,获得所述第一鬼影区域中运动对象的运动速度和运动方向。
在鬼影检测装置300的一种实现方式中,第一鬼影检测模块320根据所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:根据所述多帧第一图像,利用光流法计算所述第一鬼影区域中的每个像素位置处的运动速度和运动方向;计算所述第一鬼影区域中的每个像素位置处的运动速度和运动方向的均值,获得所述第一鬼影区域中运动对象的运动速度和运动方向。
在鬼影检测装置300的一种实现方式中,第二鬼影检测模块330根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域,包括:根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与邻近第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像。
在鬼影检测装置300的一种实现方式中,第二鬼影检测模块330还用于:在获得任一帧第二图像对应的第二鬼影区域之后,对该帧第二图像对应的第二鬼影区域进行膨胀处理。
在鬼影检测装置300的一种实现方式中,所述第一曝光补偿值为正数,所述其他曝光补偿值均为非正数。
在鬼影检测装置300的一种实现方式中,每帧第二图像均采集于不同的曝光补偿值下。
本申请实施例提供的鬼影检测装置300,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图7示出了本申请实施例提供的图像融合装置400的功能模块图。参照图7,图像融合装置400包括:
第三鬼影检测模块410,用于利用本申请实施例提供的鬼影检测方法获取多帧第一图像对应的第一鬼影区域以及至少一帧第二图像中的每帧第二图像对应的第二鬼影区域;
第一融合模块420,用于利用所述第一鬼影区域融合所述多帧第一图像,获得第一融合图像;
第二融合模块430,用于利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像。
在图像融合装置400的一种实现方式中,第一融合模块420利用所述第一鬼影区域融合所述多帧第一图像,获得第一融合图像,包括:将所述多帧第一图像中的参考帧中位于所述第一鬼影区域内的每个像素位置处的像素值,作为所述第一融合图像在对应像素位置处的像素值;将所述多帧第一图像中位于非第一鬼影区域内的每个像素位置处的像素值融合后,作为所述第一融合图像在对应像素位置处的像素值。
在图像融合装置400的一种实现方式中,所述第一曝光补偿值为正数,所述其他曝光补偿值均为非正数,第二融合模块430利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像,包括:将对应的曝光补偿值与所述第一曝光补偿值差值最大的第二图像作为最初的第二融合图像,按照对应的曝光补偿值与所述第一曝光补偿值的差值逐渐减小的顺序,依次利用每帧第二图像对应的第二鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像;其中,若该帧第二图像不是最后一帧第二图像,则下一帧图像为下一帧第二图像,若该帧第二图像是最后一帧第二图像,则下一帧图像为所述第一融合图像,所述第一融合图像融合后得到的第二融合图像为所述最终结果图像。
在图像融合装置400的一种实现方式中,第二融合模块430利用一帧第二图像对应的第二鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像,包括:计算当前的第二融合图像与下一帧图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,并将像素值差值大于第二阈值的像素位置构成的集合确定为该帧第二图像对应的第三鬼影区域;利用该帧第二图像对应的第三鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像。
在图像融合装置400的一种实现方式中,第二融合模块430利用该帧第二图像对应的第三鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像,包括:将下一帧图像中位于所述第三鬼影区域内的每个像素位置处的像素值,作为新的第二融合图像在对应像素位置处的像素值;将当前的第二融合图像与下一帧图像中位于非第三鬼影区域内的每个像素位置处的像素值融合后,作为新的第二融合图像在对应像素位置处的像素值。
在图像融合装置400的一种实现方式中,第二融合模块430还用于:在计算当前的第二融合图像与下一帧图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值之前,所述方法还包括:将当前的第二融合图像的亮度调整至与下一帧图像的亮度匹配。
在图像融合装置400的一种实现方式中,第二融合模块430将当前的第二融合图像的亮度调整至与下一帧图像的亮度匹配,包括:利用直方图匹配算法将当前的第二融合图像的亮度调整至与下一帧图像的亮度匹配。
在图像融合装置400的一种实现方式中,第二融合模块430利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像,包括:将所述第一融合图像作为最初的当前结果图像,依次利用每帧第二图像对应的第二鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像;其中,最后一帧第二图像融合后得到的当前结果图像为所述最终结果图像。
在图像融合装置400的一种实现方式中,第二融合模块430利用一帧第二图像对应的第二鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像,包括:计算该帧第二图像与当前结果图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,并将像素值差值大于第三阈值的像素位置构成的集合确定为该帧第二图像对应的第四鬼影区域;利用该帧第二图像对应的第四鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像。
在图像融合装置400的一种实现方式中,第二融合模块430利用该帧第二图像对应的第四鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像,包括:将当前结果图像中位于所述第四鬼影区域内的每个像素位置处的像素值,作为新的当前结果图像在对应像素位置处的像素值;将当前结果图像与该帧第二图像中位于非第四鬼影区域内的每个像素位置处的像素值融合后,作为新的当前结果图像在对应像素位置处的像素值。
本申请实施例提供的图像融合装置400,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图8示出了本申请实施例提供的电子设备500的一种可能的结构。参照图8,电子设备500包括:处理器510、存储器520以及通信接口530,这些组件通过通信总线540和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器520包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(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)等。处理器510以及其他可能的组件可对存储器520进行访问,读和/或写其中的数据。
处理器510包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器510可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(Neural-network Processing Unit,简称NPU)、图形处理器(Graphics ProcessingUnit,简称GPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器510为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
通信接口530包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口530可以包括进行有线和/或无线通信的接口。
在存储器520中可以存储一个或多个计算机程序指令,处理器510可以读取并运行这些计算机程序指令,以实现本申请实施例提供的鬼影检测方法和/或图像融合方法。
可以理解,图8所示的结构仅为示意,电子设备500还可以包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。图8中所示的各组件可以采用硬件、软件或其组合实现。电子设备500可能是实体设备,例如PC机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备500也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的鬼影检测方法和/或图像融合方法。例如,计算机可读存储介质可以实现为图8中电子设备500中的存储器520。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (22)
1.一种鬼影检测方法,其特征在于,包括:
获取多帧第一图像以及至少一帧第二图像;其中,所述第一图像为在第一曝光补偿值下采集的图像,所述第二图像为在不同于所述第一曝光补偿值的其他曝光补偿值下采集的图像;
根据所述多帧第一图像计算第一鬼影区域以及所述第一鬼影区域中运动对象的运动速度和运动方向;其中,所述第一鬼影区域为包含有所述多帧第一图像中的运动对象的区域;
根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域。
2.根据权利要求1所述的鬼影检测方法,其特征在于,所述根据所述多帧第一图像计算第一鬼影区域,包括:
从所述多帧第一图像中选择参考帧;
根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算所述第一鬼影区域。
3.根据权利要求2所述的鬼影检测方法,其特征在于,所述根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算所述第一鬼影区域,包括:
根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算初始鬼影区域;
将所述初始鬼影区域划分为互不连通的至少一个第一鬼影区域。
4.根据权利要求3所述的鬼影检测方法,其特征在于,所述根据所述多帧第一图像中的非参考帧与参考帧的像素值差值计算初始鬼影区域,包括:
计算所述多帧第一图像中的每个非参考帧与参考帧在各像素位置处的像素值差值,获得多个初始运动掩膜;
将所述多个初始运动掩膜进行叠加,获得第一运动掩膜;
判断所述第一运动掩膜中的每个像素位置处的像素值是否大于第一阈值,并将像素值大于所述第一阈值的像素位置构成的集合确定为所述初始鬼影区域。
5.根据权利要求1-4中任一项所述的鬼影检测方法,其特征在于,根据所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:
根据所述多帧第一图像中的两帧第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向。
6.根据权利要求5所述的鬼影检测方法,其特征在于,所述根据所述多帧第一图像中的两帧第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:
根据邻近第一图像以及与所述邻近第一图像在采集时间上间隔最远的第一图像,计算所述第一鬼影区域中运动对象的运动速度和运动方向;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像。
7.根据权利要求1-4中任一项所述的鬼影检测方法,其特征在于,根据所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:
根据所述多帧第一图像中的每个非邻近第一图像以及邻近第一图像,计算所述第一鬼影区域中运动对象的一组运动速度和运动方向,共获得至少一组运动速度和运动方向;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像;
计算所述至少一组运动速度和运动方向的均值,获得所述第一鬼影区域中运动对象的运动速度和运动方向。
8.根据权利要求1-4中任一项所述的鬼影检测方法,其特征在于,根据所述多帧第一图像计算所述第一鬼影区域中运动对象的运动速度和运动方向,包括:
根据所述多帧第一图像,利用光流法计算所述第一鬼影区域中的每个像素位置处的运动速度和运动方向;
计算所述第一鬼影区域中的每个像素位置处的运动速度和运动方向的均值,获得所述第一鬼影区域中运动对象的运动速度和运动方向。
9.根据权利要求1-8中任一项所述的鬼影检测方法,其特征在于,所述根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域,包括:
根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与邻近第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域;其中,所述邻近第一图像为所述多帧第一图像中与所述第二图像在采集时间间隔上最接近的第一图像。
10.根据权利要求1-9中任一项所述的鬼影检测方法,其特征在于,在获得任一帧第二图像对应的第二鬼影区域之后,所述方法还包括:
对该帧第二图像对应的第二鬼影区域进行膨胀处理。
11.根据权利要求1-10中任一项所述的鬼影检测方法,其特征在于,所述第一曝光补偿值为正数,所述其他曝光补偿值均为非正数。
12.根据权利要求11所述的鬼影检测方法,其特征在于,每帧第二图像均采集于不同的曝光补偿值下。
13.一种图像融合方法,其特征在于,包括:
利用权利要求1-12中任一项所述的鬼影检测方法获取多帧第一图像对应的第一鬼影区域以及至少一帧第二图像中的每帧第二图像对应的第二鬼影区域;
利用所述第一鬼影区域融合所述多帧第一图像,获得第一融合图像;
利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像。
14.根据权利要求13所述的图像融合方法,其特征在于,所述利用所述第一鬼影区域融合所述多帧第一图像,获得第一融合图像,包括:
将所述多帧第一图像中的参考帧中位于所述第一鬼影区域内的每个像素位置处的像素值,作为所述第一融合图像在对应像素位置处的像素值;
将所述多帧第一图像中位于非第一鬼影区域内的每个像素位置处的像素值融合后,作为所述第一融合图像在对应像素位置处的像素值。
15.根据权利要求13所述的图像融合方法,其特征在于,所述第一曝光补偿值为正数,所述其他曝光补偿值均为非正数,所述利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像,包括:
将对应的曝光补偿值与所述第一曝光补偿值差值最大的第二图像作为最初的第二融合图像,按照对应的曝光补偿值与所述第一曝光补偿值的差值逐渐减小的顺序,依次利用每帧第二图像对应的第二鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像;
其中,若该帧第二图像不是最后一帧第二图像,则下一帧图像为下一帧第二图像,若该帧第二图像是最后一帧第二图像,则下一帧图像为所述第一融合图像,所述第一融合图像融合后得到的第二融合图像为所述最终结果图像。
16.根据权利要求15所述的图像融合方法,其特征在于,利用一帧第二图像对应的第二鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像,包括:
计算当前的第二融合图像与下一帧图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,并将像素值差值大于第二阈值的像素位置构成的集合确定为该帧第二图像对应的第三鬼影区域;
利用该帧第二图像对应的第三鬼影区域融合当前的第二融合图像与下一帧图像,获得新的第二融合图像。
17.根据权利要求13所述的图像融合方法,其特征在于,所述利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像,包括:
将所述第一融合图像作为最初的当前结果图像,依次利用每帧第二图像对应的第二鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像;其中,最后一帧第二图像融合后得到的当前结果图像为所述最终结果图像。
18.根据权利要求17所述的图像融合方法,其特征在于,利用一帧第二图像对应的第二鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像,包括:
计算该帧第二图像与当前结果图像在该帧第二图像对应的第二鬼影区域内的各像素位置处的像素值差值,并将像素值差值大于第三阈值的像素位置构成的集合确定为该帧第二图像对应的第四鬼影区域;
利用该帧第二图像对应的第四鬼影区域融合该帧第二图像与当前结果图像,获得新的当前结果图像。
19.一种鬼影检测装置,其特征在于,包括:
图像获取模块,用于获取多帧第一图像以及至少一帧第二图像;其中,所述第一图像为在第一曝光补偿值下采集的图像,所述第二图像为在不同于所述第一曝光补偿值的其他曝光补偿值下采集的图像;
第一鬼影检测模块,用于根据所述多帧第一图像计算第一鬼影区域以及所述第一鬼影区域中运动对象的运动速度和运动方向;其中,所述第一鬼影区域为包含有所述多帧第一图像中的运动对象的区域;
第二鬼影检测模块,用于根据所述第一鬼影区域中运动对象的运动速度、运动方向以及每帧第二图像与其中一帧第一图像的采集时间间隔调整所述第一鬼影区域的面积,获得该帧第二图像对应的第二鬼影区域。
20.一种图像融合装置,其特征在于,包括:
第三鬼影检测模块,用于利用权利要求1-12中任一项所述的鬼影检测方法获取多帧第一图像对应的第一鬼影区域以及至少一帧第二图像中的每帧第二图像对应的第二鬼影区域;
第一融合模块,用于利用所述第一鬼影区域融合所述多帧第一图像,获得第一融合图像;
第二融合模块,用于利用每帧第二图像对应的第二鬼影区域融合所述至少一帧第二图像与所述第一融合图像,获得最终结果图像。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-18中任一项所述的方法。
22.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求1-18中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010998549.XA CN112288642A (zh) | 2020-09-21 | 2020-09-21 | 鬼影检测方法、图像融合方法及对应装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010998549.XA CN112288642A (zh) | 2020-09-21 | 2020-09-21 | 鬼影检测方法、图像融合方法及对应装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112288642A true CN112288642A (zh) | 2021-01-29 |
Family
ID=74421189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010998549.XA Pending CN112288642A (zh) | 2020-09-21 | 2020-09-21 | 鬼影检测方法、图像融合方法及对应装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112288642A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112767281A (zh) * | 2021-02-02 | 2021-05-07 | 北京小米松果电子有限公司 | 图像鬼影消除方法、装置、电子设备及存储介质 |
CN113327215A (zh) * | 2021-05-28 | 2021-08-31 | 浙江大华技术股份有限公司 | 一种宽动态图像合成方法、装置、电子设备及存储介质 |
CN113344821A (zh) * | 2021-06-29 | 2021-09-03 | 展讯通信(上海)有限公司 | 图像降噪方法、装置、终端、存储介质 |
CN113706421A (zh) * | 2021-10-27 | 2021-11-26 | 深圳市慧鲤科技有限公司 | 一种图像处理方法及装置、电子设备和存储介质 |
CN114089373A (zh) * | 2022-01-20 | 2022-02-25 | 探维科技(北京)有限公司 | 基于图像融合激光的雷达系统扫描方法及装置 |
CN114640791A (zh) * | 2022-01-27 | 2022-06-17 | 浙江大华技术股份有限公司 | 镜片角度调节方法、装置、计算机设备和摄像机 |
CN114693702A (zh) * | 2022-03-24 | 2022-07-01 | 小米汽车科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN112767281B (zh) * | 2021-02-02 | 2024-04-30 | 北京小米松果电子有限公司 | 图像鬼影消除方法、装置、电子设备及存储介质 |
-
2020
- 2020-09-21 CN CN202010998549.XA patent/CN112288642A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112767281A (zh) * | 2021-02-02 | 2021-05-07 | 北京小米松果电子有限公司 | 图像鬼影消除方法、装置、电子设备及存储介质 |
CN112767281B (zh) * | 2021-02-02 | 2024-04-30 | 北京小米松果电子有限公司 | 图像鬼影消除方法、装置、电子设备及存储介质 |
CN113327215A (zh) * | 2021-05-28 | 2021-08-31 | 浙江大华技术股份有限公司 | 一种宽动态图像合成方法、装置、电子设备及存储介质 |
CN113344821A (zh) * | 2021-06-29 | 2021-09-03 | 展讯通信(上海)有限公司 | 图像降噪方法、装置、终端、存储介质 |
CN113344821B (zh) * | 2021-06-29 | 2022-10-21 | 展讯通信(上海)有限公司 | 图像降噪方法、装置、终端、存储介质 |
CN113706421A (zh) * | 2021-10-27 | 2021-11-26 | 深圳市慧鲤科技有限公司 | 一种图像处理方法及装置、电子设备和存储介质 |
CN114089373A (zh) * | 2022-01-20 | 2022-02-25 | 探维科技(北京)有限公司 | 基于图像融合激光的雷达系统扫描方法及装置 |
CN114640791A (zh) * | 2022-01-27 | 2022-06-17 | 浙江大华技术股份有限公司 | 镜片角度调节方法、装置、计算机设备和摄像机 |
CN114693702A (zh) * | 2022-03-24 | 2022-07-01 | 小米汽车科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112288642A (zh) | 鬼影检测方法、图像融合方法及对应装置 | |
TWI682664B (zh) | 基於亮度分布與動作間之取捨以產生場景之高動態範圍影像之方法 | |
CN107220931B (zh) | 一种基于灰度级映射的高动态范围图像重建方法 | |
WO2018136373A1 (en) | Image fusion and hdr imaging | |
EP2811457B1 (en) | Image processing method and apparatus | |
CN111915505B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
JP2009506688A (ja) | 画像分割方法および画像分割システム | |
CN110443766B (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
KR20110138114A (ko) | 다중 노출에 의한 프레임 처리 방법 및 장치 | |
CN111953893B (zh) | 一种高动态范围图像生成方法、终端设备及存储介质 | |
KR20220024255A (ko) | 스테레오-시간적 이미지 시퀀스들로부터 향상된 3-d 데이터 재구성을 위한 방법들 및 장치 | |
US9338354B2 (en) | Motion blur estimation and restoration using light trails | |
CN112738411A (zh) | 曝光调节方法、装置、电子设备及存储介质 | |
CN112508815A (zh) | 模型的训练方法和装置、电子设备、机器可读存储介质 | |
WO2022184167A1 (zh) | 成像方法、装置、设备及存储介质 | |
CN112132769A (zh) | 图像融合方法、装置以及计算机设备 | |
US20100021008A1 (en) | System and Method for Face Tracking | |
CN111652821A (zh) | 基于梯度信息的微光视频图像降噪处理方法、装置和设备 | |
Wang et al. | An exposure fusion approach without ghost for dynamic scenes | |
CN111800580B (zh) | 一种高动态图像合成方法及存储介质 | |
JP7427398B2 (ja) | 画像処理装置、画像処理方法、画像処理システム及びプログラム | |
CN112543286A (zh) | 一种用于终端的图像生成方法及装置、存储介质、终端 | |
WO2018209603A1 (zh) | 图像处理方法、图像处理设备及存储介质 | |
CN112132879A (zh) | 一种图像处理的方法、装置和存储介质 | |
CN116647760B (zh) | 用于目标检测的宽动态实现方法、装置、相机及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |