图像去模糊方法、装置、电子设备与存储介质

文档序号:9211 发布日期:2021-09-17 浏览:17次 英文

图像去模糊方法、装置、电子设备与存储介质

技术领域

本公开涉及图像与视频处理

技术领域

,尤其涉及一种图像去模糊方法、图像去模糊装置、计算机可读存储介质与电子设备。

背景技术

在图像拍摄过程中,由于抖动、失焦或其他原因导致图像模糊不清,是较为常见的情况。图像去模糊是涉及到画质的任务,而模糊的成因复杂,导致相关技术难以实现高质量的图像去模糊效果。

发明内容

本公开提供了一种图像去模糊方法、图像去模糊装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善图像去模糊的效果。

根据本公开的第一方面,提供一种图像去模糊方法,包括:获取一帧第一原始图像;对所述第一原始图像进行单帧去模糊处理,得到第一去模糊图像;获取在所述第一原始图像的拍摄时间的邻域时间内所采集的一帧或多帧第二原始图像;利用所述第二原始图像对所述第一去模糊图像进行去模糊处理,得到第二去模糊图像。

根据本公开的第二方面,提供一种图像去模糊装置,包括:第一获取模块,被配置为获取一帧第一原始图像;第一去模糊模块,被配置为对所述第一原始图像进行单帧去模糊处理,得到第一去模糊图像;第二获取模块,被配置为获取在所述第一原始图像的拍摄时间的邻域时间内所采集的一帧或多帧第二原始图像;第二去模糊模块,被配置为利用所述第二原始图像对所述第一去模糊图像进行去模糊处理,得到第二去模糊图像。

根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的图像去模糊方法及其可能的实施方式。

根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面的图像去模糊方法及其可能的实施方式。

本公开的技术方案具有以下有益效果:

结合了单帧去模糊与多帧去模糊两种方式,利用了图像的空域与时域信息,有利于提升图像去模糊效果,特别适用于人脸图像的去模糊,能够去除人脸刚性运动引起的模糊与画质相关的模糊,并进一步恢复人脸的质感与纹理细节,使得去模糊后的图像更加清晰、真实。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

图1示出本示例性实施方式中一种系统架构的示意图;

图2示出本示例性实施方式中一种电子设备的结构示意图;

图3示出本示例性实施方式中一种图像去模糊方法的流程图;

图4示出本示例性实施方式中确定第一原始图像的示意图;

图5示出本示例性实施方式中一种确定图像模糊度的流程图;

图6示出本示例性实施方式中一种单帧去模糊网络的结构示意图;

图7示出本示例性实施方式中一种训练单帧去模糊网络的示意图;

图8示出本示例性实施方式中确定第二原始图像的示意图;

图9示出本示例性实施方式中获取第二原始图像的流程图;

图10示出本示例性实施方式中图像融合的示意图;

图11示出本示例性实施方式中图像配准的流程图;

图12示出本示例性实施方式中图像金字塔与特征点匹配的示意图;

图13示出本示例性实施方式中另一种图像去模糊方法的流程图;

图14示出本示例性实施方式中一种图像去模糊装置的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

图像模糊按照类型可分为镜头硬件模糊、运动模糊、虚焦模糊和其他类型模糊等。其中,运动模糊是智能手机等终端拍照时最常出现的一种情况,其成因非常复杂,特别是人脸图像的运动模糊,图像所处的环境通常为背景复杂的自然环境,不同程度的模糊纹理颜色和环境的背景有着极高的相似性,并且模糊分散不连续,不易识别,使得图像去模糊的难度较高。

相关技术的一种方案中,通过数据模型估计图像的模糊核,利用模糊核对图像进行去模糊处理。然而,当模糊成因复杂、难以分析时,导致无法准确估计模糊核,影响图像去模糊的质量。

鉴于上述问题,本公开的示例性实施方式提供一种图像去模糊方法。下面先对该图像去模糊方法运行环境的系统架构进行介绍。

图1示出了系统架构的示意图,该系统架构100可以包括终端110与服务器120。其中,终端110可以是台式电脑、笔记本电脑、智能手机、平板电脑等终端设备,服务器120可以是提供图像处理相关服务的一台服务器,或者多台服务器形成的集群。终端110与服务器120之间可以通过有线或无线的通信链路形成连接,以进行数据交互。终端110可以拍摄或者从其他设备处获取第一原始图像或第二原始图像。在一种实施方式中,终端110可以将第一原始图像与第二原始图像发送至服务器120,由服务器120通过执行本示例性实施方式中的图像去模糊方法,输出去模糊后的图像(如第二去模糊图像或第三去模糊图像),并返回终端110。在一种实施方式中,可以由终端110执行本示例性实施方式中的图像去模糊方法,得到去模糊后的图像。

上述图像去模糊方法的应用场景包括但不限于:用户在终端110上打开拍照功能,并在拍摄界面内点击拍摄键(快门键)时,触发终端110通过内置的摄像头拍摄第一原始图像,并在随后的邻域时间内拍摄第二原始图像;终端110通过执行上述图像去模糊方法,或者将第一原始图像与第二原始图像发送至服务器120,由服务器120执行上述图像去模糊方法,最终得到去模糊后的图像,在终端110的拍摄界面上加以显示并进行存储,实现与拍照同步的图像去模糊处理。

由上可知,上述图像去模糊方法的执行主体可以是上述终端110,也可以是上述服务器120。本公开的示例性实施方式还提供一种用于执行图像去模糊方法的电子设备,该电子设备可以是终端110或服务器120。下面以图2中的移动终端200为例,对上述电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。

如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、USB(Universal Serial Bus,通用串行总线)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及SIM(Subscriber Identification Module,用户标识模块)卡接口295等。

处理器210可以包括一个或多个处理单元,例如:处理器210可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。

编码器可以对图像或视频进行编码(即压缩),例如对当前图像进行编码,得到码流数据;解码器可以对图像或视频的码流数据进行解码(即解压缩),以还原出图像或视频数据。移动终端200可以支持一种或多种编码器和解码器。这样,移动终端200可以处理多种编码格式的图像或视频,例如:JPEG(Joint Photographic Experts Group,联合图像专家组)、PNG(Portable Network Graphics,便携式网络图形)、BMP(Bitmap,位图)等图像格式,MPEG(Moving Picture Experts Group,动态图像专家组)1、MPEG2、H.263、H.264、HEVC(High Efficiency Video Coding,高效率视频编码)等视频格式。

在一种实施方式中,处理器210可以包括一个或多个接口,通过不同的接口和移动终端200的其他部件形成连接。

内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器221可以包括易失性存储器与非易失性存储器。处理器210通过运行存储在内部存储器221的指令,执行移动终端200的各种功能应用以及数据处理。

外部存储器接口222可以用于连接外部存储器,例如Micro SD卡,实现扩展移动终端200的存储能力。外部存储器通过外部存储器接口222与处理器210通信,实现数据存储功能,例如存储图像,视频等文件。

USB接口230是符合USB标准规范的接口,可以用于连接充电器为移动终端200充电,也可以连接耳机或其他电子设备。

充电管理模块240用于从充电器接收充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为设备供电;电源管理模块241还可以监测电池的状态。

移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块250可以提供应用在移动终端200上2G、3G、4G、5G等移动通信解决方案。无线通信模块260可以提供应用在移动终端200上的WLAN(Wireless Local Area Networks,无线局域网)(如Wi-Fi(Wireless Fidelity,无线保真)网络)、BT(Bluetooth,蓝牙)、GNSS(Global Navigation Satellite System,全球导航卫星系统)、FM(FrequencyModulation,调频)、NFC(Near Field Communication,近距离无线通信技术)、IR(Infrared,红外技术)等无线通信解决方案。

移动终端200可以通过GPU、显示屏290及AP等实现显示功能,显示用户界面。例如,当用户进行摄像头检测时,移动终端200可以在显示屏290中显示摄像头检测App(Application,应用程序)的界面。

移动终端200可以通过ISP、摄像模组291、编码器、解码器、GPU、显示屏290及AP等实现拍摄功能。例如,用户可以在隐藏摄像头检测App中开启图像或视频拍摄功能,此时可以通过摄像模组291采集待检测空间的图像。

移动终端200可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及AP等实现音频功能。

传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803、气压传感器2804等,以实现相应的感应检测功能。

指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。马达293可以产生振动提示,也可以用于触摸振动反馈等。按键294包括开机键,音量键等。

移动终端200可以支持一个或多个SIM卡接口295,用于连接SIM卡,以实现通话与移动通信等功能。

图3示出了上述图像去模糊方法的示例性流程,可以包括:

步骤S310,获取一帧第一原始图像;

步骤S320,对第一原始图像进行单帧去模糊处理,得到第一去模糊图像;

步骤S330,获取在第一原始图像的拍摄时间的邻域时间内所采集的一帧或多帧第二原始图像;

步骤S340,利用第二原始图像对第一去模糊图像进行去模糊处理,得到第二去模糊图像。

其中,第一原始图像与第二原始图像均是终端采集的、未经过去模糊处理的图像。第一原始图像与第二原始图像的拍摄时间相邻,两种原始图像可以是针对相同对象或场景所拍摄的图像。在一种实施方式中,第一原始图像与第二原始图像可以是以人脸为主要拍摄对象的图像。第一去模糊图像是对第一原始图像进行单帧去模糊处理后所得到的中间图像,并非最终输出的图像;第二去模糊图像可以是完成全部去模糊流程后最终输出的图像。

在一种实施方式中,还可以对第二去模糊图像进一步进行单帧去模糊处理,得到第三去模糊图像,并进行最终输出。

基于上述方法,结合了单帧去模糊与多帧去模糊两种方式,利用了图像的空域与时域信息,有利于提升图像去模糊效果,特别适用于人脸图像的去模糊,能够去除人脸刚性运动引起的模糊与画质相关的模糊,并进一步恢复人脸的质感与纹理细节,使得去模糊后的图像更加清晰、真实。

下面分别对图3中的每个步骤进行具体说明。

参考图3,在步骤S310中,获取一帧第一原始图像。

第一原始图像是常规拍摄时间内所采集的原始图像。常规拍摄时间是指用户操作终端进行拍照或者终端按照自动拍照设置进行拍照的时间。常规拍摄时间可以是拍摄一张图像的时间,例如可以是拍摄触发时刻,即用户点击拍摄键的时刻,终端在该时刻采集一张原始图像,将其作为第一原始图像。常规拍摄时间也可以是拍摄多张图像的时间,例如可以是包括拍摄触发时刻的一个时间段,终端在该时间段内采集多张原始图像,从中选取一张作为第一原始图像。

在一种实施方式中,步骤S310可以包括:

获取在拍摄触发时刻所采集的一帧基准原始图像以及一帧或多帧与之相邻的原始图像,将该基准原始图像与相邻的原始图像中模糊度最低的一帧图像作为第一原始图像。

参考图4举例说明,当终端的摄像头被启动后,其每时每刻采集原始图像,通常以预览图像的方式展示给用户,例如摄像头预览的帧率为30fps,则每一秒可以采集30帧预览图像,这些图像可以存放在缓存中。当用户在t2时刻按下拍摄键,触发终端在t2时刻采集一帧原始图像F2,记为基准原始图像;实际上,终端在t2之前的t0、t1时刻,以及t2之后的t3、t4时刻均在采集原始图像。终端可以读取与F2相邻的一帧或多帧原始图像,例如读取F2的前一帧原始图像F1与后一帧原始图像F3,由此得到三帧原始图像F1、F2、F3,将其中模糊度最低(即清晰度最高)的一帧图像作为第一原始图像,或者以t0~t4为常规拍摄时间,读取该时间内的全部5帧原始图像。

需要说明的是,本示例性实施方式对于上述所获取的相邻的原始图像的数量不做限定,例如可以获取预设数量的相邻的原始图像,也可以获取缓存中全部的相邻的原始图像。

在获取上述基准原始图像与相邻的原始图像后,将其中模糊度最低(即清晰度最高)的一帧图像作为第一原始图像,保证在进行图像去模糊处理前,所得到的第一原始图像为最清晰的图像,以提高后续去模糊处理后的图像清晰度。

本示例性实施方式对于计算模糊度(或清晰度)的具体方式不做限定,下面进行示例性说明:

参考图5所示,在获取上述基准原始图像与相邻的原始图像后,可以通过步骤S510和S520确定其中每一帧图像的模糊度:

步骤S510,将上述基准原始图像或相邻的原始图像转换为频域图像;

步骤S520,将上述频域图像中高频分量统计值与低频分量统计值的差值,作为上述基准原始图像或相邻的原始图像的模糊度。

以计算图像F2的模糊度为例,图像F2本身为空域图像,可以采用傅立叶变换、小波变换、离散余弦变换等方式将其转换为频域图像。频域图像包括高频部分与低频部分,低频部分大多为平坦区域、色块等信息,高频部分大多为纹理、边缘、噪声等信息。计算频域图像中高频分量统计值与低频分量统计值的差值,一般来说,图像越模糊,模糊噪声越严重,该差值越大,因此可以将该差值作为图像的模糊度。高频分量统计值可以是高频部分的信号幅值的平均值,低频分量统计值可以是低频部分的信号幅值的平均值,则模糊度可以表示为以下公式:

Difffreq=Avg(Freq_powerhigh)-Avg(Freq_powerlow) (1)

其中,Avg(Freq_powerhigh)表示对频域图像中高频部分的信号幅值进行积分平均,Avg(Freq_powerlow)表示对频域图像中低频部分的信号幅值进行积分平均。采用两部分的差值来计算图像模糊度,计算过程简单,有利于减少整体方案的计算量。

此外,还可以采用梯度统计、深度学习算法等计算图像的模糊度(或清晰度)。

在一种实施方式中,还可以设置关于第一原始图像的模糊度筛选条件。例如设置第一模糊度阈值,要求第一原始图像的模糊度小于第一模糊度阈值。示例性的,在获取基准原始图像后,如果基准原始图像的模糊度小于第一模糊度阈值,则将基准原始图像作为第一原始图像;如果基准原始图像的模糊度不小于第一模糊度阈值,则在基准原始图像的相邻帧中,从近到远逐帧选取相邻的原始图像,判断其模糊度是否小于第一模糊度阈值,如果小于,则将该相邻的原始图像作为第一原始图像。例如,在图4中,可以按照F2、F1、F3、F0、F4的顺序逐帧选取并判断图像的模糊度是否小于第一模糊度阈值,在小于第一模糊度阈值时,将当前所选取的图像作为第一原始图像。

继续参考图3,在步骤S320中,对第一原始图像进行单帧去模糊处理,得到第一去模糊图像。

单帧去模糊处理是指不借助第一原始图像以外其他帧的信息进行去模糊处理。本公开对于单帧去模糊处理的具体方式不做限定,例如可以采用模糊核对第一原始图像进行去模糊处理。

在一种实施方式中,步骤S320可以包括以下步骤:

利用单帧去模糊网络对第一原始图像进行处理,得到第一去模糊图像。

其中,单帧去模糊网络是预先训练的用于单帧图像去模糊的神经网络,可以采用端到端的网络结构。图6示出了单帧去模糊网络的示例性结构,其采用类U-Net结构。将第一原始图像输入该网络后,处理过程如下:

首先,由输入端的像素重排层进行像素重排操作,一般的,第一原始图像的尺寸较大,可以通过space_to_depth函数将其重排至多个通道,减小每个通道的图像尺寸。例如第一原始图像为H*W*3的三通道图像,当设置space_to_depth的block_size为2时,相当于将第一原始图像中每个通道内2*2格子的像素拆分到4个不同通道上,这样将一个通道的图像拆分为4个通道的新图像,新图像的宽度与高度均降为原图像的一半,从而得到H/2*W/2*12的特征图像。这样便于后续对小尺寸的特征图像进行卷积等操作。

其次,由2d卷积层、残差块、下采样层组成的下采样部分,对上述特征图像进行下采样以及下采样过程中多尺度的卷积操作,以提取多尺度层面的图像特征。下采样层可以采用池化操作实现。

再次,由残差块、上采样层、2d卷积层组成的上采样部分,对下采样后的特征图像进行上采样以及上采样过程中多尺度的卷积操作,以在多尺度层面上恢复图像细节信息。上采样层可以采用转置卷积、插值(如双线性插值)等操作实现。上采样部分的结构与下采样部分的结构可以是对称的,上采样部分的操作可以是下采样部分的逆操作。

最后,由输出端的像素重排层进行像素重排操作,其可以是输入端的像素重排操作的逆操作,用于恢复第一原始图像的尺寸,例如可以将H/2*W/2*12的特征图像重排为H*W*3的三通道图像,使得输出的第一去模糊图像与第一原始图像的尺寸一致。

图7示出了训练单帧去模糊网络的示意图。获取样本输入图像与标准图像(Groundtruth),标准图像为样本输入图像对应的清晰图像,例如可以获取大量的清晰图像作为标准图像,对清晰图像进行模糊处理,得到对应的样本输入图像。将样本输入图像输入待训练的单帧去模糊网络,输出对应的样本输出图像;基于样本输出图像与标准图像的差别,计算损失函数;损失函数可以选择L1、L2等形式;利用损失函数更新单帧去模糊网络的参数,如可以通过反向传播算法计算每个参数的梯度,对每个参数进行梯度下降更新。由此对单帧去模糊网络进行迭代训练,直到其准确度达到预定的要求。

应当理解,单帧去模糊网络可以采用不同于图6或图7所示的网络结构,例如可以采用GAN(Generative Adversarial Network,生成对抗网络)的结构。

通过单帧去模糊处理,可以实现单帧图像空域层面的去模糊,所得到的第一去模糊图像相比于第一原始图像,清晰度能够得到显著提升。

继续参考图3,在步骤S330中,获取在第一原始图像的拍摄时间的邻域时间内所采集的一帧或多帧第二原始图像。

邻域时间是指与第一原始图像的拍摄时间相邻的时间段。邻域时间可以位于常规拍摄时间内,例如在图4中,假设选取F4为第一原始图像,其拍摄时间为t4,则t0~t3可以是邻域时间,F0~F3可以是第二原始图像。邻域时间也可以位于常规拍摄时间外,例如在常规拍摄时间后,可以有追加拍摄时间,参考图8所示,假设常规拍摄时间在拍摄图像F4后结束,之后的时间段内终端继续拍摄图像,该时间段为追加拍摄时间,邻域时间为t5~t8,拍摄的图像F5~F8为第二原始图像。

本公开对于所获取的第二原始图像的数量不做限定,一般的,第二原始图像的数量越多,越有利于后续的去模糊处理。因此,在一种实施方式中,可以根据第一去模糊图像的模糊度确定所需的第二原始图像的数量,第一去模糊图像的模糊度越高,所需的第二原始图像的数量越多。

除了数量外,第二原始图像的质量也将影响后续去模糊处理的效果。在一种实施方式中,参考图9所示,步骤S330可以包括:

步骤S910,当确定第一去模糊图像的模糊度满足预设条件时,获取在邻域时间内以第一曝光时长所采集的一帧或多帧第二原始图像;

步骤S920,当确定第一去模糊图像的模糊度不满足预设条件时,获取在邻域时间内以第二曝光时长所采集的一帧或多帧第二原始图像。

其中,第二曝光时长大于第一曝光时长。曝光时长影响第二原始图像的质量。具体来说,如果曝光时长较短,会导致第二原始图像中物体的运动程度较低,进而难以利用第二原始图像减小第一去模糊图像的模糊补偿,同时容易在第二原始图像中引入较多噪声,影响去模糊效果。

预设条件可以是模糊度小于第二模糊度阈值,第二模糊度阈值可以根据经验或实际需求确定。当第一去模糊图像的模糊度较低时,对于第二原始图像的质量要求也较低,在较短的第一曝光时长下所拍摄的第二原始图像即可满足需求;当第一去模糊图像的模糊度较高时,对于第二原始图像的质量要求也较高,则需要在较长的第二曝光时长下所拍摄的第二原始图像。

由此,针对不同模糊度的第一去模糊图像,采用不同曝光时长下所采集的第二原始图像,兼顾了方案实现成本与去模糊效果。

在一种实施方式中,上述获取在邻域时间内以第一曝光时长所采集的一帧或多帧第二原始图像,可以包括以下步骤:

在常规拍摄时间内确定邻域时间,常规拍摄时间所述第一原始图像的拍摄时间;

获取在上述邻域时间内以第一曝光时长所采集的一帧或多帧第二原始图像。

其中,常规拍摄时间可以是用户触发拍摄功能(如点击拍摄键)时终端拍摄基准原始图像以及采集前后数帧预览图像的时间,例如可以是图4中的t0~t4时间段。常规拍摄时间内除去第一原始图像的拍摄时间以外的时间段,均可以被作为邻域时间,例如在常规拍摄时间t0~t4内除去第一原始图像F4的拍摄时间t4,得到邻域时间t0~t3

在上述邻域时间内,终端可以以固定的曝光时长采集多帧原始图像,包括第一原始图像与第二原始图像,即第一原始图像也可以是在第一曝光时长下所采集的。

基于上述以第一曝光时长获取第二原始图像的方案,可以从常规拍摄时间内所拍摄的图像中获取第二原始图像,无需拍摄额外的图像,降低了方案实现成本。

在一种实施方式中,上述获取在邻域时间内以第二曝光时长所采集的一帧或多帧第二原始图像,可以包括以下步骤:

在追加拍摄时间内确定邻域时间,追加拍摄时间晚于第一原始图像的拍摄时间;

获取在上述邻域时间内以第二曝光时长所采集的一帧或多帧第二原始图像。

其中,追加拍摄时间可以是上述常规拍摄时间之后追加拍摄数帧图像所用的时间,其晚于第一原始图像的拍摄时间。在追加拍摄时间内,以更长的第二曝光时长拍摄一帧或多帧第二原始图像。

在一种实施方式中,可以预先根据经验与试验调试情况,确定第一去模糊图像的模糊度与所需的曝光时长的对应关系。在实际运行中,基于该对应关系以及第一去模糊图像的模糊度,确定第二曝光时长。在用户触发拍摄功能,终端完成常规拍摄后,增加一段拍摄时间,即追加拍摄时间,以第二曝光时长拍摄第二原始图像,用于后续的去模糊处理。在追加拍摄的情况下,可以呈现相应的提示,如在拍摄界面内显示提示信息“拍摄中,请勿移动镜头”,以提示用户在追加拍摄时间内将镜头保持对准目标。

通过上述以第二曝光时长获取第二原始图像的方案,可以在第一去模糊图像的模糊度较高的情况下,追加拍摄长曝光的第二原始图像,保证后续图像去模糊的效果。

继续参考图3,在步骤S340中,利用第二原始图像对第一去模糊图像进行去模糊处理,得到第二去模糊图像。

与步骤S320的单帧去模糊处理相比,步骤S340采用多帧去模糊处理,可以实现多帧图像时域层面的去模糊处理。

在一种实施方式中,步骤S340可以包括以下步骤:

对第一去模糊图像与第二原始图像进行配准与融合,得到第二去模糊图像。

其中,当第二原始图像的数量大于一帧时,可以采用以下两种方式进行配准与融合:

方式一:第一去模糊图像的数量为一帧,假设第二原始图像的数量为m帧,则可以将该m+1帧图像两两逐对进行配准与融合。以图8为例,假设第一原始图像为F4,经过单帧去模糊处理后得到第一去模糊图像F4',第二原始图像包括F5、F6、F7、F8。在进行多帧去模糊处理时,参考图10所示,可以先将F4'与F5进行配准与融合,得到图像F5',再将F5'与F6进行配准与融合,得到F6',……,直到将最后一帧图像F8完成配准与融合,得到第二去模糊图像F8'。

在进行融合时,如上述图10所示,可以采用加权平均的方式对图像进行叠加,权重可以根据实际融合的图像数量确定。假设对上述m+1帧图像按照第1帧、第2帧的顺序进行融合,参考以下公式:

其中,i为[2,m+1]的任意正整数。将第i帧与前i-1帧的融合图像(即Fi-1')进行融合时,权重分别为1与i-1。由此可得,在图10中,权重M4为1,权重M5为2。

方式二:第一去模糊图像的数量为一帧,假设第二原始图像的数量为m帧,则可以将该m+1帧图像全部配准至其中某一参考图像,然后对配准后的m+1帧图像进行融合。参考图像可以是该m+1帧图像中的任一帧图像,例如可以是第一去模糊图像,则将m帧第二原始图像均向第一去模糊图像配准,然后对全部m+1帧图像进行融合,例如可以对m+1帧图像进行平均值叠加。

可见,上述两种方式的原理是相同的,只是配准与融合的顺序不同。

由于第二原始图像与第一去模糊图像的拍摄时间(即第一原始图像的拍摄时间)不同,且各帧第二原始图像的拍摄时间也不同,拍摄对象可能存在微小的运动,或者拍摄者可能发生手部抖动等,导致第二原始图像与第一去模糊图像之间的视角不同,以及第二原始图像之间的视角不同,为了提高图像融合的准确性,在融合前先进行配准。本公开对于配准的具体方式不做限定,下面通过一个示例进行说明:

参考图11所示,上述对第一去模糊图像与第二原始图像进行配准,可以包括以下步骤S1110至S1140:

步骤S1110,将第一去模糊图像与第二原始图像中的已融合图像所融合得到的当前融合图像确定为一张待配准图像,在第一去模糊图像与第二原始图像中的未融合图像中确定另一张待配准图像;或者将第一去模糊图像与第二原始图像中的参考图像确定为一张待配准图像,在第一去模糊图像与第二原始图像中的非参考图像中确定另一张待配准图像。

当采用上述方式一进行图像融合时,参考公式(2),当前融合图像为当前已融合得到的图像,即Fi-1',在第一去模糊图像与第二原始图像中的未融合图像中确定另一张待配准图像,通常为第i帧图像Fi。步骤S1110中可以将Fi-1'与Fi作为两张待配准图像。

当采用上述方式二进行图像融合时,在第一去模糊图像与第二原始图像中确定一帧作为配准基准的参考图像,其余的均为非参考图像。以参考图像与一帧非参考图像作为两张待配准图像,例如以第一去模糊图像为参考图像时,可以先将第一去模糊图像与第1帧第二原始图像作为两张待配准图像,再将第一去模糊图像与第2帧第二原始图像作为两张待配准图像,…,最后将第一去模糊图像与第m帧第二原始图像作为两张待配准图像。

为便于说明,下面以P、Q来表示上述两张待配准图像。

步骤S1120,分别对两张待配准图像进行金字塔操作,得到每张待配准图像在多个分辨率下的采样图像。

金字塔操作是指对图像进行一系列不同低分辨率的下采样,得到分辨率逐渐降低的采样图像集合。上述多个分辨率下的采样图像可以包括原分辨率下的原图像,其作为一张特殊的采样图像。

一般的,在进行金字塔操作时,可以设置停止条件,如可以是特定的分辨率或者下采样倍数,当达到该条件时,停止继续下采样。本公开对于停止条件以及金字塔中每一层的下采样倍数不做具体限定。参考图12举例说明,对于待配准图像P与Q,分别按照1/2、1/4、1/8的倍数逐层进行下采样,得到P的采样图像P(即原图像)、P(1/2)(表示按照1/2倍数下采样得到的采样图像)、P(1/4)、P(1/8),以及Q的采样图像Q、Q(1/2)、Q(1/4)、Q(1/8)。

步骤S1130,通过对每个分辨率下的两张采样图像进行特征点匹配,得到两张待配准图像的匹配特征点对。

本公开对于特征点的类型与特征点检测算法不做限定,例如可以采用Harris角点、SIFT(Scale-Invariant Feature Transform,尺度不变特征变换)特征点及其检测算法等。对于每个分辨率下的两张采样图像,均进行特征点匹配。具体来说,在待配准图像P中检测特征点后,在其每张采样图像中均检测该特征点对应的特征点,由此得到P的一组特征点,例如图12中所示的(p1,p2,p3,p4),如果(p1,p2,p3,p4)与待配准图像Q的一组特征点(q1,q2,q3,q4)匹配成功,则确定p1与q1为P与Q的一个匹配特征点对。由此,实现了不同尺度下的特征点匹配,由于不同尺度的图像对应的语义是有差别的,这样保证了特征点在不同尺度下语义的稳定性,提高了匹配特征点对的准确性。

步骤S1140,根据上述匹配特征点对,对两张待配准图像进行配准。

在得到上述匹配点对后,可以通过光流算法等,计算两张待配准图像间的变换矩阵,进而对其中任一张待配准图像进行变换,实现两张待配准图像的配准。

通过上述配准与融合,最终得到第二去模糊图像,可以将第二去模糊图像作为最终的图像处理结果进行输出,也可以对第二去模糊图像做进一步的处理,例如可以对第二去模糊图像进行锐化处理,以提升图像的整体锐度。

在一种实施方式中,图像去模糊方法还可以包括以下步骤:

对第二去模糊图像进行单帧去模糊处理,得到第三去模糊图像。

单帧去模糊处理的实现方式可以参考上述步骤S320,例如可以将第二去模糊图像再次输入单帧去模糊网络,通过网络输出第三去模糊图像。通过再一次单帧去模糊处理,可以去除上述图像融合可能带来的局部模糊等副作用,进一步提高图像的清晰度。可以将第三去模糊图像作为最终的图像处理结果进行输出。

图13示出了本示例性实施方式中图像去模糊方法的另一种示例性流程,包括:

步骤S1310,用户在终端的拍摄界面内点击拍摄键,触发终端通过摄像头在常规拍摄时间内以第一曝光时长采集多张原始图像;

步骤S1320,计算上述多张原始图像的模糊度,选取其中模糊度最低(即清晰度最高)一帧图像作为第一原始图像;

步骤S1330,将第一原始图像输入预先训练的单帧去模糊网络,以进行单帧去模糊处理,输出第一去模糊图像;

步骤S1340,判断第一去模糊图像的模糊度是否满足预设条件,预设条件可以是第一去模糊图像的模糊度小于第二模糊度阈值;若是,则执行步骤S1350;若否,则执行步骤S1360;

步骤S1350,从上述常规拍摄时间内所采集的原始图像中获取一帧或多帧第二原始图像;

步骤S1360,在常规拍摄时间后增加一段追加拍摄时间,在追加拍摄时间内以第二曝光时长采集一帧或多帧第二原始图像,第二曝光时长大于第一曝光时长;

步骤S1370,将第一去模糊图像与第二原始图像进行配准,可以参考图11的方法,通过图像金字塔、Harris角点检测与匹配得到匹配特征点对,并根据匹配特征点对进行光流配准;

步骤S1380,将配准后的第一去模糊图像与第二原始图像进行融合,得到第二去模糊图像;在步骤S1370与S1380中,也可以采用逐帧配准与融合的方式(参考上述方式一);

步骤S1390,对第二去模糊图像进行图像锐化,并输入单帧去模糊网络中,进行再一次单帧去模糊处理,输出第三去模糊图像;该第三去模糊图像可以作为最终的图像处理结果,在终端的拍摄界面内加以展示,并存储在终端的内存中。

本公开的示例性实施方式还提供一种图像去模糊装置。参考图14所示,该图像去模糊装置1400可以包括:

第一获取模块1410,被配置为获取一帧第一原始图像;

第一去模糊模块1420,被配置为对第一原始图像进行单帧去模糊处理,得到第一去模糊图像;

第二获取模块1430,被配置为获取在第一原始图像的拍摄时间的邻域时间内所采集的一帧或多帧第二原始图像;

第二去模糊模块1440,被配置为利用第二原始图像对第一去模糊图像进行去模糊处理,得到第二去模糊图像。

在一种实施方式中,第一获取模块1410,被配置为:

获取在拍摄触发时刻所采集的一帧基准原始图像以及一帧或多帧与之相邻的原始图像,将所获取的基准原始图像与相邻的原始图像中模糊度最低的一帧图像作为第一原始图像。

在一种实施方式中,第一获取模块1410,被配置为在获取上述基准原始图像与相邻的原始图像后,通过以下方式确定其中每一帧图像的模糊度:

将上述基准原始图像或相邻的原始图像转换为频域图像;

将频域图像中高频分量统计值与低频分量统计值的差值,作为上述基准原始图像或相邻的原始图像的模糊度。

在一种实施方式中,第一去模糊模块1420,被配置为:

利用单帧去模糊网络对第一原始图像进行处理,得到第一去模糊图像。

在一种实施方式中,第二获取模块1430,被配置为:

当确定第一去模糊图像的模糊度满足预设条件时,获取在邻域时间内以第一曝光时长所采集的一帧或多帧第二原始图像;

当确定第一去模糊图像的模糊度不满足预设条件时,获取在邻域时间内以第二曝光时长所采集的一帧或多帧第二原始图像;

第二曝光时长大于第一曝光时长。

在一种实施方式中,第二获取模块1430,被配置为:

在常规拍摄时间内确定邻域时间,常规拍摄时间包括第一原始图像的拍摄时间;

获取在邻域时间内以第一曝光时长所采集的一帧或多帧第二原始图像。

在一种实施方式中,第二获取模块1430,被配置为:

在追加拍摄时间内确定邻域时间,追加拍摄时间晚于第一原始图像的拍摄时间;

获取在邻域时间内以第二曝光时长所采集的一帧或多帧第二原始图像。

在一种实施方式中,第二去模糊模块1440,被配置为:

对第一去模糊图像与第二原始图像进行配准与融合,得到第二去模糊图像。

在一种实施方式中,第二去模糊模块1440,被配置为通过以下方式进行图像配准:

将第一去模糊图像与第二原始图像中的已融合图像所融合得到的当前融合图像确定为一张待配准图像,在第一去模糊图像与第二原始图像中的未融合图像中确定另一张待配准图像;或者将第一去模糊图像与第二原始图像中的参考图像确定为一张待配准图像,在第一去模糊图像与第二原始图像中的非参考图像中确定另一张待配准图像;

分别对两张待配准图像进行金字塔操作,得到每张待配准图像在多个分辨率下的采样图像;

通过对每个分辨率下的两张采样图像进行特征点匹配,得到两张待配准图像的匹配特征点对;

根据匹配特征点对,对两张待配准图像进行配准。

在一种实施方式中,第一去模糊模块1420,还被配置为:

对第二去模糊图像进行单帧去模糊处理,得到第三去模糊图像。

上述装置中各部分的细节在方法部分实施方式中已经详细说明,因而不再赘述。

本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:瞳孔亮斑消除方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!