CN115601536B - 一种图像处理方法及电子设备 - Google Patents
一种图像处理方法及电子设备 Download PDFInfo
- Publication number
- CN115601536B CN115601536B CN202211534178.5A CN202211534178A CN115601536B CN 115601536 B CN115601536 B CN 115601536B CN 202211534178 A CN202211534178 A CN 202211534178A CN 115601536 B CN115601536 B CN 115601536B
- Authority
- CN
- China
- Prior art keywords
- image
- frame
- reflection
- network
- layer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本申请提供了一种图像处理方法及电子设备,该方法包括:利用训练数据集对多帧去反射模型进行训练,得到已训练的多帧去反射模型,根据已训练的多帧去反射模型的中间层的输出特征,对单帧去反射模型进行训练,得到已训练的单帧去反射模型,将待去反射的单帧图像输入到已训练的单帧去反射模型,单帧去反射模型输出对应的背景层图像、反射层图像和反射置信图。利用已经训练好的多帧去反射模型作为教师网络,通过知识蒸馏技术,训练学生网络得到单帧去反射模型,使得该单帧去反射模型的去反射效果可以达到多帧去反射模型的去反射效果。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法及电子设备。
背景技术
随着科学技术的不断发展,大多数电子设备都具备有拍摄功能,例如:手机、电子相机、平板电脑等。用户在使用电子设备进行拍摄过程中,经常会受到反射现象的影响,由于反射现象会使得拍摄的图像中出现反射区域,导致图像中部分区域被遮挡,妨碍图像后处理的基本信息的提取,例如:计算机视觉任务的实现十分依赖于图像效果,如果基于存在反射区域的图像进行计算机视觉任务的话,会对算法的性能和稳定性造成较大的影响。其中,反射现象主要是由于通过玻璃、橱窗等透明介质拍摄时产生。
当前情况下,具有较好的图像去反射效果的方法,都是基于多幅图像所达到的,需要较长的图像序列,极大地限制了它们的应用范围。并且对于已经拍摄完成很久的图像或是网络图像,重新获得其对应的多视角图像是不现实的。
由此可见,图像去反射的方法具有局限性,对于无法获得多视角视图的单帧图像无法有效地实现去反射的效果。
发明内容
为了解决上述问题,本申请提供了一种图像处理方法及电子设备,能够有效地对单帧图像实现去反射的效果。
为达到上述目的,本申请采用如下技术方案:
本申请的第一方面提供一种图像处理方法,该方法包括:获取包括多组训练数据的训练数据集,每组训练数据包括多帧反射图像、以及对应的背景层图像和反射层图像,该多帧反射图像是针对同一目标、同一时刻、不同视角的多帧图像,利用训练数据集,对多帧去反射模型进行训练,训练完成的多帧去反射模型作为教师网络,根据教师网络的中间层的输出特征,以及训练数据集中的单帧反射图像,对学生网络进行训练,从而得到单帧去反射模型,将待去反射的单帧图像输入到单帧去反射模型中,单帧去反射模型输出对应的背景层图像、反射层图像以及反射置信图。利用已经训练好的多帧去反射模型作为教师网络,通过知识蒸馏技术,训练学生网络得到单帧去反射模型,使得该单帧去反射模型的去反射效果可以达到多帧去反射模型的去反射效果,突破了局限性。
在一种可能的实现方式中,利用学生网络的损失函数对学生网络进行训练,从而得到单帧去反射模型,该学生网络的损失函数包括第一部分和第二部分,基于教师网络的中间层的输出特征,确定学生网络的损失函数的第一部分,基于训练数据集中的反射图像以及对应的背景层图像和反射层图像,确定学生网络的损失函数的第二部分,实现了有效地对学生网络进行全面的有监督训练。
在一种可能的实现方式中,在训练学生网络时,将训练数据集中的单帧反射图像输入所述学生网络的同时,将该单帧反射图像对应组的训练数据中的多帧反射图像输入到教师网络中,在教师网络基于该组训练数据中的多帧反射图像进行去反射处理的过程,获得所述教师网络的中间层的输出特征。
在一种可能实现的方式中,多帧去反射模型包括光流初始网络、背景层重建网络、反射层重建网络以及光流优化网络,其中背景层重建网络和反射层重建网络都称为重建网络。
在一种可能实现的方式中,首先,利用合成数据集,对光流初始网络单独进行训练,从而得到已训练的光流初始网络,其次再利用合成数据集,对背景层重建网络和反射层重建网络单独进行训练,从而得到已训练的背景层重建网络和反射层重建网络,最后,利用合成数据集和真实数据集,对多帧去反射模型整体进行训练,从而得到已训练的多帧去反射模型,作为教师网络。先对多帧去反射模型的部分进行单独训练,再对多帧去反射模型的整体训练,有效确保了已训练的多帧去反射模型的性能和精度。
在一种可能的实现方式中,训练光流初始网络时,随机选择合成数据集中的任意两帧反射图像第一图像和第二图像,将第一图像和第二图像输入光流初始网络,光流初始网络输出第二图像与第一图像之间的背景层光流和反射层光流,根据光流初始网络输出的背景层光流和反射层光流,获得背景层光流和真实背景层光流之间的平均绝对误差损失和反射层光流和真实反射层光流之间的平均绝对误差损失;其中,真实背景层光流是基于第一图像的背景层图像和第二图像的背景层图像获得的,真实反射层光流是基于第一图像的反射层图像和第二图像的反射层图像获得的,基于背景层光流和真实背景层光流之间的平均绝对误差损失和反射层光流和真实反射层光流之间的平均绝对误差损失,构建所述光流初始网络的损失函数,利用所述损失函数,对所述光流初始网络单独进行训练。
在一种可能的实现方式中,教师网络的中间层的输出特征是背景层重建网络中的特征和反射层重建网络中的特征。训练学生网络基于单帧图像提取出来的特征与教师网络中的重建网络中所能提取出来的特征接近,以便单帧去反射模型的去反射效果可以达到多帧去反射模型的效果。
在一种可能的实现方式中,在教师网络基于多帧反射图像进行去反射的N次循环处理过程中,获取每次循环处理过程中的所述教师网络的中间层的输出特征;所述N为大于等于2的整数;其中,N次循环处理过程中的一次循环处理过程包括:根据对应的背景层光流和反射层光流,得到多帧扭曲背景层图像和多帧扭曲反射层图像,并将多帧扭曲背景层图像和多帧扭曲反射层图像,分别输入背景层重建网络和反射层重建网络,根据输入的多帧扭曲背景层图像、关键帧图像以及上一尺度的关键帧的背景层图像,背景层重建网络输出当前尺度的关键帧的背景层图像,获得该循环过程中的所述背景层重建网络中的特征;根据输入的多帧扭曲反射层图像、关键帧图像以及上一尺度的关键帧的反射层图像,反射层重建网络输出当前尺度的关键帧的反射层图像,获得该循环过程中的反射层重建网络中的特征,对应的背景层光流和反射层光流是采用如下方式获得的:若教师网络基于所述多帧反射图像进行去反射的首次循环处理时,对应的训练数据中的多帧反射图像中的任意两帧反射图像输入光流初始网络,光流初始网络输出对应的背景层光流和反射层光流;若教师网络基于多帧反射图像进行去反射的非首次循环处理时,背景层重建网络输出的多帧背景层图像输入光流优化网络,光流优化网络输出对应的背景层光流,反射层重建网络输出的多帧反射层图像输入光流优化网络,光流优化网络输出对应的反射层光流。
在一种可能实现的方式中,在单帧去反射模型输出对应的背景层图像、反射层图像以及反射置信图之后,显示该反射置信图给用户,以便用户基于该反射置信图对反射区域进行编辑操作。
在一种可能实现的方式中,获取用户根据显示的反射置信图对于反射区域的编辑操作,根据编辑操作,获得更新反射置信图,将单帧去反射模型输出的背景层图像和反射层图像、更新反射置信图、以及待去反射的单帧图像重新输入所述单帧去反射模型后,单帧去反射模型重新输出对应的背景层图像、反射层图像以及所述更新反射置信图。实现人机交互,使得单帧去反射模型的去反射效果更加符合用户需求,使得操作更加灵活,提高了用户的使用感。
第二方面,本申请提供了一种电子设备,该电子设备包括处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得处理器执行上述第一方面的方法。
第三方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被运行时,实现上述第一方面的方法。
第四方面,本申请提供了一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时,实现上述第一方面的方法。
由上述方案可知,本申请的有益效果如下:利用已经训练好的多帧去反射模型作为教师网络,通过知识蒸馏技术,对学生网络进行训练得到单帧去反射模型,使得单帧去反射模型的去反射效果达到多帧去反射模型的去反射效果。在实现利用单帧反射图像实现去反射效果的同时,利用单帧反射图像实现的去反射效果也到达了利用多帧(多视角)反射图像实现的去反射效果,突破了图像去反射方法的局限性。
附图说明
图1A为本申请实施例提供的一种电子设备的组成示例图;
图1B为本申请实施例提供的一种电子设备的软件结构示例图;
图2为本申请实施例提供的一种多帧去反射模型的结构示例图;
图3为本申请实施例提供的一种光流初始网络的结构示意图;
图4A为本申请实施例提供的一种单帧去反射模型的结构示意图;
图4B为本申请实施例提供的一种双卷积残差块的结构示意图;
图5为本申请实施例提供的一种利用多帧去反射模型通过知识蒸馏技术训练单帧去反射模型的示意图;
图6A为本申请实施例提供的一种电子设备的桌面界面示意图;
图6B为本申请实施例提供的一种电子设备的相册界面示意图;
图6C为本申请实施例提供的一种电子设备的图片界面示意图;
图7A为本申请实施例提供的一种电子设备的图片编辑界面示意图;
图7B为本申请实施例提供的一种电子设备的更多编辑操作界面示意图;
图8A为本申请实施例提供的一种电子设备的去反射操作界面示意图;
图8B为本申请实施例提供的又一种电子设备的去反射操作界面示意图;
图9为本申请实施例提供的一种电子设备的图片输出界面示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为了便于描述,以下先对本申请实施例涉及的一种深度学习方法:知识蒸馏的概念进行介绍:
知识蒸馏(knowledge distillation)是模型压缩的一种常用的方法,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来训练这个小模型,使得小模型达到更好的性能和精度。一般情况下,称性能更好的大模型为教师模型(teacher),小模型我们称之为学生模型(Student),来自教师模型输出的监督信息称之为knowledge(知识),而学生模型学习迁移来自教师模型的监督信息的过程称之为Distillation(蒸馏)。
以下结合其他图像去反射方法的实现方式,对比说明本申请实施例提供的一种图像处理方法的优势。
在一些实现方式中,需要获取同一时刻、针对同一目标,并且从不同方位拍摄得到的至少两幅图像,至少两幅图像中包括待去反射的图像以及至少一幅参考图像(参考图像相对于待去反射的图像来说,与待去反射的图像的拍摄方位不同的、与待去反射的图像的拍摄时刻相同的、与待去反射的图像的拍摄目标相同的图像),根据上述的参考图像和去反射的图像的重合图像区域生成一幅估计图像,根据该估计图像,对待去反射的图像进行处理,从而得到去除反射后的图像。可以理解的是,当前的图像去反射方法是基于有关拍摄目标以及反射区域的多视角视图,对待去除反射的图像进行去反射的处理,从而获得去除反射后的图像。
但是,对于已经拍摄很久的图像或者是网络图像等无法获得相关的多视角视图的图像来说,采用上述利用多视角视图来去除反射的图像去反射方法,无法完成对该类图像(无法获得相关的多视角视图的图像,例如:从网络上下载下来的图像)的去反射处理。除此之外,当前已有的技术中,基于待去反射的图像(单帧图像/单视角图像)所能获得的特征远远小于基于多帧图像(多视角图像)所能获得的特征,所以基于单帧待去反射的图像所实现的去反射效果远远不如基于多视角视图的图像去反射方法的去反射效果。
由此,在本申请中,预先训练好基于多帧反射图像(同一时刻、同一目标、不同视角的多帧发射图像)实现去反射效果的模型,利用已经训练好的基于多帧反射图像实现去反射效果的模型输出的中间特征作为训练标签,对基于单帧反射图像实现去反射效果的模型进行有监督训练,使得基于单帧反射图像实现的去反射效果可以达到基于多帧反射图像实现的去反射效果。由此可知,通过知识蒸馏技术,利用训练好的基于多帧反射图像实现去反射效果的模型(教师模型),对基于单帧反射图像实现去反射效果的模型进行训练(学生模型),使得基于单帧反射图像实现去反射效果的模型达到基于多帧去反射图像实现去反射效果模型的去反射效果。即将利用多帧反射图像(即同一时刻、同一目标、不同视角的多帧反射图像)的去反射效果,迁移到利用单帧反射图像的去反射效果上,从而实现利用单帧反射图像可以达到利用多帧反射图像的去反射效果。在实现利用单帧反射图像实现去反射效果的同时,利用单帧反射图像实现的去反射效果也到达了利用多帧(多视角)反射图像实现的去反射效果,突破了图像去反射方法的局限性。
在一些实施例中,电子设备可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等设备,本申请对上述电子设备的具体形式不做特殊限制。在本实施例中,电子设备的结构可以如图1A所示,图1A为本申请实施例提供的一种电子设备的结构示意图。
如图1A所示,电子设备可以包括处理器110,显示屏120,摄像头130,内部存储器140,天线1,天线2,移动通信模块150,无线通信模块160,传感器模块170等。其中传感器模块170可以包括压力传感器170A,触摸传感器170B等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,在本申请实施例中,可以对具有反射现象的图像进行处理,从而获得去反射后的图像。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器170B,充电器,闪光灯,摄像头130等。例如:处理器110可以通过I2C接口耦合触摸传感器170B,使处理器110与触摸传感器170B通过I2C总线接口通信,实现电子设备的触摸功能,例如:在本申请实施例中,可以用户可以通过触屏操作实现对反射区域的增加、减少和保留操作。
MIPI接口可以被用于连接处理器110与显示屏120,摄像头130等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头130通过CSI接口通信,实现电子设备的拍摄功能。处理器110和显示屏120通过DSI接口通信,实现电子设备的显示功能,例如:在本申请实施例中,可以显示反射置信图给用户。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头130,显示屏120,无线通信模块160,传感器模块170等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备输出声音信号,或通过显示屏120显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system ,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备通过GPU,显示屏120,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏120和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏120用于显示图像,视频等。显示屏120包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏120,N为大于1的正整数。
电子设备的显示屏120上可以显示一系列图形用户界面(graphical userinterface,GUI),这些GUI都是该电子设备的主屏幕。一般来说,电子设备的显示屏120的尺寸是固定的,只能在该电子设备的显示屏120中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
电子设备可以通过ISP,摄像头130,视频编解码器,GPU,显示屏120以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头130反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头130中。
摄像头130用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头130,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等,例如:在本申请实施例中,可以利用训练好的单帧去反射模型,可以实现基于单帧图像实现图像的去反射处理。
内部存储器140可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器140的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器140中的指令,进行利用单帧图像实现图像的去反射处理。内部存储器140可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,图像数据等)等。此外,内部存储器140可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。处理器110通过运行存储在内部存储器140的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
压力传感器170A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器170A可以设置于显示屏120。压力传感器170A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器170A,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏120,电子设备根据压力传感器170A检测所述触摸操作强度。电子设备也可以根据压力传感器170A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于反射置信图A反射区域时,执行锁定该A反射区域,避免后续误触摸操作造成的A反射区域有所改变。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于反射置信图A反射区域时,执行从反射置信图上删除该A发射区域。
触摸传感器170B,也称“触控器件”。触摸传感器170B可以设置于显示屏120,由触摸传感器170B与显示屏120组成触摸屏,也称“触控屏”。触摸传感器170B用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏120提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器170B也可以设置于电子设备的表面,与显示屏120所处的位置不同。
另外,在上述部件之上,运行有操作系统。例如苹果公司所开发的iOS操作系统,谷歌公司所开发的Android开源操作系统,微软公司所开发的Windows操作系统等。在该操作系统上可以安装运行应用程序。
电子设备的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。
图1B是本申请实施例的电子设备的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图1B所示,应用程序包可以包括相机,图库,日历,通话,音乐,视频,短信息,图像编辑等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图1B所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但是其基本原理同样适用于基于iOS、Windows等操作系统的电子设备。
下面结合图2,详细介绍本申请实施例提供的多帧去反射模型200。多帧去反射模型200也可以称为教师网络。其中,多帧去反射模型200包括光流初始网络210、重建网络220以及光流优化网络230。
其中,光流初始网络210:用于接收电子设备输入的任意两帧图像,输出与电子设备输入的两帧图像所对应的背景层光流和反射层光流。其中任意两帧图像是两帧针对于同一目标、同一时刻、不同视角的两帧图像。
具体的,光流初始网络210根据电子设备输入的两帧图像,进行光流估计,从而获得与两帧图像对应的背景层光流和反射层光流。其中,光流估计的目的是根据两帧图像来求解对应像素的运动速冻(或偏移量)。
其中,光流(Optical Flow)可以定义为图像亮度模式的表观运动(apparentmotion),光流是一个有方向、有长度的矢量,包含了像素的运动信息,故光流表达了图像的变化。可以理解的是,光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在空间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息。
为了方便理解,下面结合图3详细说明一下光流初始网络的构成。
其中,光流初始网络210的网络架构参考PWC-Net,PWC-Net是一种紧凑并且有效的卷积神经网络(Convolutional Neural Networks,CNN)光流模型,PWC-Net包括三个部分:金字塔(Pyramid)、扭曲(warping)以及代价体积(Cost Volume)。PWC-Net根据金字塔式处理,基于上一层学习得到的光流偏移下一层特征,逐层学习下一层光流并且设计代价体积函数,从而实现光流估计的效果。
具体的,金字塔层为特征金字塔提取特征:确定两帧输入图像I a和I b,生成特征表示的金字塔,为了生成特征表示,使用卷积层对输入图像的特征进行下采样。例如:从0层(底层)是输入的图像I a和I b,那么1层金字塔层的特征为I a和I b进行2倍下采样处理后的特征、2层金字塔层的特征为1层金字塔层的特征进行2倍下采样处理后的特征(也称为I a和I b进行4倍下采样处理后的特征)。
需要说明的是,以上仅以三层金字塔构成的金字塔层为例进行说明,在本申请实施例中不做具体限定。
扭曲层(warping layer):将第2帧图像的特征扭曲到第1帧图像上,从而得到扭曲后的特征。
代价体积层(Cost Volume layer):使用已经得到的特征构建一个Cost Volume,存储下一帧像素与其相对应的像素观澜的匹配Cost Volume。
根据上述三层的处理后,对输入两帧图像进行光流估计,从而获得对应的背景层光流和反射层光流。
其中,重建网络220包括背景层重建网络221和反射层重建网络222。重建网络220可以输出关键帧对应的背景层图像。
其中,背景层重建网络221输入当前尺度的4帧扭曲背景层图像、当前尺度的关键帧图像以及上一尺度的背景层图像,输出当前尺度的关键帧的背景层图像。需要说明的是,当不存在上一尺度的背景层图像时,只输入当前尺度的4帧扭曲背景层图像以及当前尺度的关键帧图像,即可输出当前尺度的背景层图像。
其中,反射层重建网络222输入当前尺度的多帧扭曲反射层图像、当前尺度的关键帧图像以及上一尺度的反射层图像,输出当前尺度的关键帧的反射层图像。需要说明的是,当不存在上一尺度的反射层图像时,只输入当前尺度的多帧扭曲反射层图像以及当前尺度的关键帧图像,即可输出当前尺度的反射层图像。
其中,光流优化网络230,输入任意两帧背景层图像或者任意两帧反射层图像后,输出对应的光流。
具体的,光流优化网络230是使用开源的PWC-Net模型和相关参数,输入背景层重建网络输出的多帧背景层和反射层重建网络输出的多帧反射层,获得帧与帧之间的光流。开源的PWC-Net模型是已经训练好的PWC-Net模型,可以准确输出多帧背景层之间的光流、以及多帧反射层之间的光流。
下面结合图2详细介绍一下多帧去反射模型200输出背景层图像和反射层图像的过程。
首先,输入2N+1帧图像(-N帧…-2帧、-1帧、0帧、+1帧、+2帧…+N帧),随机选择上述2N+1帧图像中任意1帧作为关键帧。其中,2N+1帧图像为针对同一目标、同一时刻、不同方位视角的2N+1帧图像,其中N为正整数。在本申请实施例中以N=2为例进行说明,其中-2帧图像为第一视角图像、-1帧图像为第二视角图像、0帧图像为第三视角图像、+1帧图像为第四视角图像、+2帧图像为第五视角图像。
首先,电子设备输入5帧图像(-2帧、-1帧、0帧、+1帧、+2帧)。
为了便于下面描述,将输入的5帧图像分别用I -2、I -1、I 0、I +1、I +2来表示,其中I -2的背景层图像和反射层图像分别用B -2和F -2来表示、I -1的背景层图像和反射层图像分别用B -1和F -1来表示、I 0的背景层图像和反射层图像分别用B 0和F 0来表示、I +1的背景层图像和反射层图像分别用B +1和F +1来表示、I +2的背景层图像和反射层图像分别用B +2和F +2来表示。
然后对电子设备输入的5帧图像进行4倍下采样处理,获得4倍下采样处理后的5帧图像。
其中,下采样(subsample),也称作降采样(downsample),例如可以是对图像进行缩小处理。对于一幅尺寸为m*n的图像,对其进行s倍下采样,得到(m/s)*(n/s)尺寸的分辨率图像;如果是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,该像素点的值就是窗口内所有像素的均值。在本申请实施例中,对输入的5帧图像进行4倍下采样,就是将输入的5帧图像缩小4倍。
需要说明的是,以上仅以进行4倍下采样处理为例进行说明,在其他情况下也可以是进行8倍下采样处理,本领域技术人员可以根据实际情况选择进行2 M 倍下采样处理(其中M为大于等于2的正整数),本申请不做具体限定。
将上述4倍下采样处理后的5帧图像,根据关键帧将上述5帧图像分为4组,分别输
入光流初始网络210,光流初始网络210分别输出与四组输入对应的四组背景层光流201和
四组反射层光流202。为了方便描述,我们定义a帧图像到b帧图像的光流为。
具体的,以0帧为关键帧将上述5帧图像分为4组,该4组分别为4倍下采样处理过的0帧图像和4倍下采样处理过+1帧图像、4倍下采样处理过0帧图像和4倍下采样处理过+2帧图像、4倍下采样处理过0帧图像和4倍下采样处理过-1帧图像、4倍下采样处理过0帧图像和4倍下采样处理过-2帧图像。为了方便描述,将上述四组分别定义为(I 0,I +1)、(I 0,I +2)、(I 0,I -1)、(I 0,I -2)。
为了方便理解,下面结合表1说明光流初始网络的输入以及对应的输出。
表1
根据光流初始网络210输出的背景层光流,基于对应尺度(4倍下采样处理后)的对
应图像进行扭曲,得到对应的扭曲背景层图像;根据光流初始网络输出的反射层光流,基于
对应图像进行扭曲得到对应的扭曲反射层图像。例如:背景层光流为, 基于+1帧图
像(I +1)进行扭曲,得到+1帧图像对应的扭曲背景层图像。
具体的,光流初始网络210输出了4组背景层光流201和4组反射层光流202,基于4组背景层光流201和4组反射层光流202,获得了4帧扭曲背景层图像203和4帧扭曲反射层图像204。其中,4帧扭曲背景层图像203为输入到背景层重建网络221的多帧背景层图像;4帧扭曲反射层图像204为输入到反射层重建网络222的多帧反射层图像。
其中,扭曲(warping),也可以称为映射。根据光流改变图像的像素位置。由于光流是一个有方向、有长度的矢量,我们根据光流可以对图像中的像素进行改变,从而得到扭曲后的图像。
在获得4帧扭曲背景层图像203和4帧扭曲反射层图像204之后,将4帧扭曲背景层图像203以及4倍下采样处理后的关键帧(0帧)图像输入背景层重建网络221,背景层重建网络221输出对应尺度(4倍下采样)的0帧图像对应的背景层图像;将4帧扭曲反射层图像以及4倍下采样处理后的关键帧(0帧)图像输入反射层重建网络222,背景层重建网络222输出对应尺度(4倍下采样)的0帧图像对应的反射层图像。
在得到关键帧(0帧)对应的对应尺度(4倍下采样)的背景层图像和反射层图像后,切换关键帧,基于切换后的关键帧将经过4倍下采样处理后的电子设备输入的5帧图像分为4组,重复经过上述光流初始网络210和重建网络220的处理。最终获得与经过4倍下采样处理后的电子设备输入的5帧图像对应的对应尺度(4倍下采样的)的5帧背景层图像和5帧反射层图像。
具体的,预先设定0帧为关键帧,切换关键帧可以是将关键帧切换为+1帧,将4倍下采样处理后的5帧图像分为4组(I +1,I +2)、(I +1,I 0)、(I +1,I -1)、(I +1,I -2),分别输入光流初始网络210,输出对应的4组背景层光流201和对应的4组反射层光流202。根据对应的4组背景层光流201和对应的4组反射层光流202,基于对应尺度(4倍下采样)的对应图像进行扭曲,获得对应的4帧反射层图像203和4帧背景层图像204。将4帧扭曲背景层图像203以及对应尺度(4倍下采样)+1帧图像输入背景层重建网络221输出对应尺度的+1帧图像对应的+1帧背景层图像205,将4帧扭曲反射层图像204以及对应尺度(4倍下采样)+1帧图像输入反射层重建网络222后输出对应尺度的+1帧图像对应的+1帧反射层图像206。
需要说明的是,以上仅仅是以切换关键帧为+1帧为例进行介绍,切换关键帧为其他帧(例如+2帧、-1帧、-2帧)的处理过程类似,此处不再赘述。然后再切换关键帧,直到获得与电子设备输入的5帧图像对应的对应尺度(4倍下采样后)的5帧背景层图像205和5帧反射层图像206。
在获取与电子设备输入的5帧图像对应的对应尺度(4倍下采样后)的5帧背景层图像205和5帧反射层图像206之后,再次以0帧为关键帧,将上述获得的5帧背景层图像205(B -2、B -1、B 0、B +1、B +2)以0帧为关键帧分为4组(B 0,B -2)、(B 0,B -1)、(B 0,B +1)、(B 0,B +2),分别输入光流优化网络230,输出对应的4组背景层光流201;同理,将上述获得的5帧反射层图像(F 0,F -2)、(F 0,F -1)、(F 0,F +1)、(F 0,F +2),分别输入光流优化网络230,输出对应的4组背景层光流202。
需要说明的是,以上仅仅是以0帧为关键帧开始处理为例,也可以是以+1帧为关键帧开始处理,本领域技术人员可以基于实际需要进行选择,在本申请不做具体限定。
在光流优化网络230输出对应的4组背景层光流201和4组反射层光流202之后,根据光流优化网络230输出的4组背景层光流201,基于电子设备输入的对应尺度(4倍下采样处理后)的对应图像进行扭曲,得到对应的4帧扭曲背景层图像203;根据光流优化网络230输出的4组反射层光流202,基于电子设备输入的对应尺度(4倍下采样处理后)的对应图像进行扭曲得到对应的4帧扭曲反射层图像204。
得到与光流优化网络230输出的4组背景层光流201和4组反射层光流202对应的4帧扭曲背景层图像203和4帧扭曲反射层图像204之后,将4帧扭曲背景层图像203进行2倍上采样处理后,将2倍上采样处理后的4帧扭曲背景层图像203、对应尺度(2倍下采样)的关键帧(0帧)图像以及上个尺度背景层重建网络221输出的上个尺度(4倍下采样)的关键帧(0帧)的背景层图像一同输入背景层重建网络221,背景层重建网络221输出对应尺度(2倍下采样)的关键帧(0帧)背景层图像205;将4帧扭曲反射层图像进行2倍上采样处理后,将2倍上采样处理后的4帧扭曲反射层图像、对应尺度(2倍下采样)的关键帧(0帧)图像以及上个尺度反射层重建网络222输出的上个尺度(4倍下采样)的关键帧(0帧)反射层图像206一同输入反射层重建网络222,背景层重进网络222输出对应尺度(2倍下采样)的关键帧(0帧)反射层图像206。
在获取与关键帧(0帧)对应的对应尺度(2倍下采样)的背景层图像205和反射层图像206之后,切换关键帧,基于切换后的关键帧将获得上个尺度(4倍下采样)的5帧背景层图像205和5帧反射层图像206,重复经过上述光流优化网络230、扭曲以及重建网络220的处理。最终获得与电子设备输入的5帧图像对应的对应尺度(2倍下采样)的5帧背景层图像205和5帧反射层图像206。
具体的,以0帧为关键帧处理完,切换关键帧可以是将关键帧切换为+1帧,将背景层重建网络221输出的对应尺度(4倍下采样)的5帧背景层图像205根据关键帧+1分为4组(B +1,B -2)、(B +1,B -1)、(B +1,B 0)、(B +1,B +2),分别输入光流优化网络230,光流优化网络230输出对应的4组背景层光流201;将反射层重建网络222输出的对应尺度(4倍下采样)的5帧反射层图像206分为4组(F +1,F -2)、(F +1,F -1)、(F +1,F 0)、(F +1,F +2),分别输入光流优化网络230,光流优化网络230输出对应的4组反射层光流202。根据对应的4组背景层光流201和对应的4组反射层光流202,基于对应尺度(4倍下采样)的对应图像进行扭曲,获得对应的4帧对应尺度(4倍下采样)的反射层图像203和4帧对应尺度(4倍下采样)背景层图像204。将4帧扭曲背景层203经过2倍上采样处理后得到对应尺度(2倍下采样)的4帧背景层图像,将对应尺度(2倍下采样)的4帧扭曲背景层图像、对应尺度(2倍下采样)+1帧图像以及上一尺度(4倍下采样)的+1帧的背景层图像一同输入背景层重建网络221输出对应尺度(2倍下采样)的+1帧图像对应的+1帧背景层图像205;将4帧扭曲反射层图像204经过2倍上采样处理后得到对应尺度(2倍下采样)的4帧反射层图像,将对应尺度(2倍下采样)的4帧扭曲反射层图像、对应尺度(2倍下采样)+1帧图像以及上一尺度(4倍下采样)的+1帧的反射层图像输入反射层重建网络222后输出对应尺度的+1帧图像对应的+1帧反射层图像206。
需要说明的是,以上仅仅是以切换关键帧为+1帧为例进行介绍,切换关键帧为其他帧(例如+2帧、-1帧、-2帧)的处理过程类似,此处不再赘述。
在获取与电子设备输入的5帧图像对应的对应尺度(2倍下采样后)的5帧背景层图像205和5帧反射层图像206之后,根据获得的对应尺度(2倍下采样)的5帧背景层图像和对应尺度(2倍下采样)5帧反射层图像,重复进行上述关键帧设定、光流优化网络230、扭曲、重建网络220以及切换关键帧的处理,最终输出与一开始电子设备输入的5帧图像对应尺度(没有进行下采样)的5帧背景层图像205和5帧反射层图像206,作为最终多帧去反射模型200的输出效果图,其中5帧对应尺度(没有进行下采样)的背景层图像205为最终的去反射后的图像,即电子设备输入5帧图像给多帧去反射模型200,多帧去反射模型200输出对应的5帧反射层图像205为去反射处理后的图像。
下面结合图2详细介绍本申请实施例提供的多帧去反射模型200的训练方法。其中多帧去反射模型200的训练分为3个阶段,下面对该3个阶段进行详细介绍。
首先,先详细说明一下训练多帧去反射模型200的数据集,为训练数据集,训练数据集中包括合成数据集和真实数据集。训练数据集中包括多组训练数据,其中每组训练数据包括多帧反射图像、以及对应的背景层图像和反射层图像。每组训练数据中包括的多帧反射图像具体为2N+1帧反射图像(N为正整数),N的数据根据实际情况而定,本申请不做具体限定。
其中,合成数据集由多组合成数据构成的数据集,合成数据集包括:多组合成数据,每组合成图像包括2N+1帧反射图像(N为正整数),以及与反射图像一一对应的背景层图像和反射层图像。其中N的值可以根据情况而定,在本申请实施例中N=2,与上述多帧去反射模型对应取值,在其他情况下N可以为其他正整数,在本申请中不做具体限定。其中,合成数据中包含的反射图像也可以称为合成反射图像。
以一组合成数据为例,对获得合成数据的具体过程进行说明:
获取两张分辨率大于720p的高分辨率图像,一张作为背景层数据,一张作为反射层数据。在本申请实施例中,可以在ImageNe数据集(ImageNet Dataset)和BSDS 500数据集(BSDS 500 Dataset)数据集中随机选择两张图像作为背景层数据和反射层数据。
其中,ImageNet Dataset是一个计算机视觉数据集,ImageNet Dataset是为了促进计算机图像识别技术的发展而设立的一个大型图像数据集;其中,BSDS 500 Dataset是用于轮廓检测和语义分割研究的数据集,包含大量图像数据。除此之外,两张高分辨率图像还可以从网络上下载,在本申请实施例中不做具体限定。
已知在现实世界中,背景层和反射层在视角移动时,运动的速度不同,可以区分背景层和反射层。在本申请实施例中,假设背景层相比于反射层来说移动得慢。在背景层数据和反射层数据中分别使用相同尺寸的滑动窗口进行数据截取,背景层数据中滑动窗口的移动速度相比于反射层数据中的滑动窗口的移动速度慢。
具体的,假设背景层数据中每次滑动窗口移动1-3像素,反射层数据中每次滑动窗口移动10-20像素。背景层数据中的滑动窗口每次移动的像素在[1,3]中随机采样、反射层数据中的滑动窗口每次移动的像素在[10,20]中随机采样。滑动窗口的尺寸可以是256*256,也可以为其他尺寸,可以根据实际情况设定,在本申请实施例中不做具体限定。
使用滑动窗口分别提取5帧背景层数据图像,也分别提取5帧反射层数据图像。上述5帧背景层数据图像和上述5帧反射层数据图像一一对应。
使用高斯模糊核将一一对应的背景层数据图像和反射层数据图像进行合成,从而得到合成反射图像数据。
其中,电子设备将一一对应的背景层数据图像和反射层数据图像进行合成的合成公式,具体如下:
I=α*B+β*F*G(K)
其中,I表示合成反射图像;B表示滑动窗口所截取的背景层数据图像;F表示滑动窗口所截取的反射数据层图像,该B和F为对应的背景层数据图像和反射层数据图像。
其中,α和β是用于减弱背景层图像和反射层图像的强度的系数。由于选取两张高分辨率的图像作为合成数据的基础数据,所以通过滑动窗口的截取出的背景层图像和反射层图像也是高分辨率的,由于反射现象主要是由于通过玻璃、橱窗等透明介质拍摄而产生的,所以透明介质存在吸收效应,所得到的背景层图像和反射层图像的分辨率会有对应的衰减,所以通过α和β适应性的减弱背景层图像和反射层图像的强度。需要说明的是,α的数值应该远远小于β的数据,在本申请实施例中,α=0.2、β=0.8,在其他情况下,可能对应着不同的α和β的数据,在本申请实施例中不做具体限定。
其中,G(K)为卷积核尺寸为K的高斯模糊核(也可以成为高斯卷积核),通过G(K)来使背景层图像产生对应的模糊效果。
根据合成公式获得与合成图像对应的背景层图像(=α*B)和反射层图像(=β*F*G(K))。
其中,真实数据集由多组实拍数据构成的数据集,真实数据集包括:多组实拍数据,每组实拍图像包括2N+1帧具有反射的图像(N为正整数),以及与该具有反射的图像一一对应的背景层图像和反射层图像。其中N的值可以根据情况而定,在本申请实施例中N=2,与上述多帧去反射模型对应取值,在其他情况下N可以为其他正整数,在本申请中不做具体限定。
具体的,一组实拍数据是通过2N+1部电子设备拍摄获取的背景层图像、反射层图像、以及具有反射的图像。控制该2N+1部电子设备针对同一目标、在不同视角(角度)、同一时刻进行拍摄,从而获得2N+1帧图像。
具体的,实拍数据采用电子设备并且配合着便携玻璃和黑布进行拍摄。拍摄反射图像时,使用移动终端通过玻璃拍摄目标背景;拍摄反射层图像时,使用黑布遮挡住玻璃的后方后,使用移动终端拍摄玻璃;拍摄背景层图像时,将玻璃移开后,使用移动终端拍摄目标背景。
第一阶段:使用合成数据集,单独训练光流初始网络210。
其中,合成数据集中包括:合成反射图像、与合成反射图像对应的背景层图像、反射层图像。
具体的,使用合成数据集通过有监督学习对于估计帧与帧之间的背景层光流和反射层光流的光流初始网络进行训练。具体如下:
随机选择两帧反射图像第一图像和第二图像,为了方便说明第一图像记作I 1、第二图像记作I 2,以及I 1对应的真实背景层图像B 1和真实反射层图像F 1、I 2对应的真实背景层图像B 2和真实反射层图像F 2作为标签训练光流初始网络。其中两帧反射图像是合成数据集中任意一组合成数据中的随机两帧反射图像,该反射图像为合成反射图像。
将两帧合成反射图像(I 1、I 2)输入光流初始网络210,输出背景层光流和反
射层光流。基于光流初始网络210输出的背景层光流与真实背景层图像B 1
和B 2的背景层光流的平均绝对误差损失、光流初始网络210输出的反射层光流与真实反射层图像F 1和F 2的反射层光流的平均绝对误差损失的和作为光
流初始网络的损失函数。
其中,真实背景层图像(B 1和B 2)的真实背景层光流以及真实反射层图像
(F 1和F 2)的反射层光流,可以通过光流优化网络230获得。即将真实背景层图像(B 1,B 2)输入光流优化网络230可以输出真实背景层光流,同理将真实反射层图像(F 1,F 2)输入光流优化网络230可以输出真实反射层光流。
其中,平均绝对误差损失(Mean Absolute Error Loss,MAE),也被称为L1 Loss。平均绝对误差指的就是模型预测值f(x)与样本真实值y之间距离的平均值。
第二阶段:使用合成数据集,单独训练重建网络220,该重建网络220包括背景层重建网络221以及反射层重建网络222。
基于合成数据集,输入4帧扭曲背景层图像、关键帧图像以及上一尺度背景层图像到背景层重建网络221,背景层重建网络221输出关键帧的背景层图像。背景层重建网络输出的关键帧的背景层与真实的背景层之间的平均绝对误差损失、结构相似性指标、图像梯度差、感知损失共同构成背景层重建网络的损失函数。
基于合成数据集,输入4帧扭曲反射层图像、关键帧图像以及上一尺度反射层图像到反射层重建网络222,反射层重建网络222输出关键帧的反射层图像。反射层重建网络输出的关键帧的反射层与真实的反射层之间的平均绝对误差损失、结构相似性指标、图像梯度差、感知损失共同构成背景层重建网络的损失函数。
在合成数据集中,随机选择一组合成数据中的合成反射图像输入第一阶段训练好的光流初始网络210,输出对应的4组背景层光流以及4组反射层光流,从而获得4帧扭曲背景层图像以及4帧扭曲反射层图像。或者,在合成数据集中,随机选择一组合成数据,将该组合数据中的5帧背景层图像输入光流优化网络230,输出对应的4组背景层光流;将该组合数据中的5帧反射层图像输入光流优化网络230,输出对应的4组反射层光流,从而获得4帧扭曲背景层图像和4帧扭曲反射层图像。一组合成数据包括:5帧合成反射图像,以及与合成反射图像一一对应的背景层图像和反射层图像。
其中,结构相似性指标(structural similarity index measure, SSIM)是一种用以衡量两张数位影像相似程度的指标。例如:当两张影像其中一张为无失真影像,另一张为失真后的影像,二者的结构相似性可以看成是失真影像的影像品质衡量指标。SSIM相较于传统所使用的影像品质衡量指标,在影像品质的衡量上更能符合人眼对影像品质的判断。
其中,图像梯度差(gradient difference loss)计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也小。一般情况下,图像梯度计算的是图像的边缘信息。
其中,感知损失(perceptual loss),也被成为VGG Loss,可以用于比较两张图像感官上的差距。具体来说的话就是将两张图像送入预训练好的VGG-19网络中提取各层特征,然后对比各层特征之间的差异(使用L1Loss)来评判。
其中,VGG-19网络是一种物体识别的卷积神经网络,每一层神经网络都会利用上一层的输出来进一步提取更加复杂的特征,直到复杂到能被用来识别物体为止,所以每一层都可以被看作很多个局部特征的提取器。
该阶段的评价指标为:结构相似度指数(Structural Similarity Index, SSIM)和峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)。
其中,PSNR是“Peak Signal to Noise Ratio”的缩写,即峰值信噪比,是一种评价图像的客观标准。
其中,SSIM(structural similarity index),结构相似性指标,是一种衡量两幅图像相似度的指标。结构相似性指标的范围为0-1,当两张图像完全不一样时,结构相似性指标为0;当两张图像一模一样时,结构相似性指标为1。
具体的,在多帧去反射模型200的第二阶段训练中,持续获得背景层重建网络221输出的背景层图像与真实的背景层图像之间的评价指标,当所获得的评价指标达到预设阈值或者趋于平稳时,则背景层重建网络221的训练完成。在多帧去反射模型200的第二阶段训练中,持续获得反射层重建网络222输出的反射层图像与真实的反射层图像之间的评价指标,当所获得的评价指标达到预设阈值或者趋于平稳时,则反射层重建网络222的训练完成。
需要说明的是,该阶段的评价指标可以选择SSIM或者PSNR,当然也可以是SSIM和PSNR相结合。
第三阶段:使用真实数据集,对多帧去反射模块200进行端到端的训练。输入5帧真实数据集中的图像,应该输出5帧反射层图像和5帧背景层图像。
随机选择真实数据集一组真实数据中的5帧真实反射图像,以及与上述5帧真实反射图像所对应的5帧真实背景层图像和5帧真实反射层图像作为标签训练多帧去反射模型。
多帧去反射模型的损失函数由平均绝对误差损失、结构相似性指标、图像梯度差、感知损失共同构成。
该阶段的评价指标为:结构相似度指数(Structural Similarity Index, SSIM)和峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)。
下面结合图4A和图4B,详细介绍本申请实施例提供的单帧去反射模型400。其中单帧去反射模型的结构参考U-Net模型。其中单帧去反射模型400也可以称为学生网络。
该基于U-Net模型的单帧去反射模型主要由四部分组成,包括下采样部分410、DCRB420、上采样部分430以及最后一层网络440,整个模型呈现了“U”字形。
其中,下采样部分410,主要由4层特征提取部分以及最大池化层(max pooling)构成。
该4层特征提取部分都是由卷积层(conv)、批归一化层(BN)、激活函数(ReLU)构成,每一层特征提取部分是用于提取各层次特征的,将输入的反射图像经过卷积层、批归一化层和激活函数的操作,可以提取该层次特征。
在4层特征提取部分之间,分别插入一个最大池化层,用于对每个层次所提取的特征进行下采样处理后,输入到下一个层次中进行特征提取。例如:第一层特征提取部分,提取了第一层次的特征后,经过最大池化层的下采样操作后,输入到第二层特征提取部分进行第二层次的特征提取。最大池化层用于进行下采样,作用是逐渐降低数据体的空间尺寸,这样的话就能减少网络中参数的数量,使得计算资源耗费变少,也能有效控制过拟合。
DCRB部分420,也称为双卷积残差模块420,DCRB部分420由八个双卷积残差块(Double convolution residual block)构成,DCRB部分可以增强U-Net模型的特征传播性能,有效地缓解特征传播过程中梯度消失问题,同时还可以增加U-Net网络的复杂度,从而使得所提取的特征可以更加丰富。
为了方便理解,下面结合图4B详细介绍一下DCRB部分420中的一个双卷积残差块。
输入特征到双卷积残差块后,对输入的特征进行卷积层、批归一化层、激活函数层的处理后,与上述输入到双卷积残差块的特征进行求和,重新输入卷积层、批归一化层以及激活函数层处理后,再次与输入到双卷积残差块的特征进行求和,从而输出特征作为双卷积残差块的输出。
其中,上采样部分430,主要由卷积层(conv)、批归一化层(BN)、激活函数(ReLU)以及反卷积层(Deconv)构成。具体的,每进行一次上采样,将下采样部分中所对应尺度(层次)的特征与上采样部分所提取的特征进行相同尺度的融合,即采用跳跃连接结合上采样部分410和下采样部分430的特征。
其中,上采样部分最终输出的特征包括:基础输出特征和知识蒸馏特征。
其中,基础输出特征是基于U-Net模型,未经过多帧去反射模型200进行监督训练的输出特征。
其中,知识蒸馏特征是通过已经训练好的多帧去反射模型200中的重建网络220(背景层重建网络221、反射层重建网络222)中的特征,基于知识蒸馏技术,对U-Net模型所输出的特征进行训练后输出的特征。基于已经训练好的多帧去反射模型200,通过知识蒸馏技术训练后的U-Net模型的输出特征与多帧去反射模型200中的重建网络220中的特征尽可能接近,即通过单帧图像所提取出来的特征与通过多帧图像所提取出来的特征进行可能相近。
在本申请实施例中,教师模型为多帧去反射模型200,学生模型为单帧去反射模型400。
将U-Net模型的基础输出特征和知识蒸馏特征一起输入到最后一层网络440,最后一层网络440是由卷积层(conv)、批归一化层(BN)、激活函数(ReLU)构成的网络,最后一层网络440输出与输入反射图像相对应的背景层图像401、反射层图像402以及反射置信图403。
其中,反射置信图403是一种可以表示反射层的反射区域分布以及反射强度的权重图。为了方便理解,下面结合公式推导进行解释说明:其中I表示反射图像;B表示背景层图像;F表示反射层图像;W表示反射置信图。
I=B+F(反射图像为背景层图像和背景层图像融合)
I=B+I*W(反射图像为背景层图像和反射图像*反射置信图的融合)
W=(I-B)/I。
下面结合图5,详细介绍一下单帧去反射模型400输出与电子设备输入单帧图像对应的背景层、反射层和反射置信图的过程。
电子设备输入一帧(单帧)反射图像;
对该单帧反射图像进行4倍下采样处理,从而获取4倍下采样处理后的单帧反射图像,并输入到基于U-Net模型的单帧去反射模型400。
通过U-Net模型下采样部分410、DCRB部分420以及上采样部分430对该单帧图像进行特征提取,从而获得与该单帧图像对应的特征(包括:基础输出特征和知识蒸馏特征)。
将下采样部分410、DCRB部分420以及上采样部分430所提取的的基础输出特征和知识蒸馏特征一同输入到最后一层网络440,最后一层网络440输出对应尺度(4倍下采样)的背景层图像401、反射层图像402以及反射置信图403。
将上述尺度(4倍下采样)背景层图像401、反射层图像402以及反射置信图403经过2倍上采样处理后,并将该单帧图像经过2倍下采样处理后,一同输入单帧去反射模型400,输出对应尺度(2倍下采样)的背景层图像401、反射层图像402以及反射置信图403。
将上述尺度(2倍下采样)输出的背景层图像401、反射层图像402以及反射置信图403经过2倍上采样处理后,与该单帧图像(未经过采样处理)一同输入单帧去反射模型400,输出对应尺度(未经过采样处理)的背景层图像401、反射层图像402以及反射置信图403。完成单帧去反射模型400的去反射过程,其中输出的背景层图像401为与输入的单帧反射图像对应的去反射处理后的图像。
下面结合图5详细介绍一下,单帧去反射模型400的训练方法。
基于已经训练好的多帧去反射模型200,通过知识蒸馏技术,对单帧去反射模型400进行训练。
具体的,利用合成数据集和真实数据集,对单帧去反射模型400进行端到端的训练。
具体的,随机选择合成数据集和真实数据集中的一帧反射图像输入单帧去反射模型400进行训练的同时,需要将与上述反射图像对应的一组数据输入到已经训练好的多帧去反射模型200中,利用多帧去反射模型200中重建网络220(也就是背景层重建网络221和反射层重建网络222)中的特征作为训练标签,对单帧去反射模型400中所提取出的特征(也就是知识蒸馏特征)进行训练,使得单帧去反射模型400中通过单帧反射图像提取出的特征与多帧去反射模型200所提取出来的特征尽可能的接近,使得单帧去反射模型400具有多帧去反射模型200中的多帧图像提取特征的能力。
单帧去反射模型的损失函数由平均绝对误差损失、图像梯度差、结构相似性指标、感知损失、特征维度L1损失以及重建损失共同构成。
其中,特征维度L1损失是用于表示知识蒸馏效果的损失函数。具体为,单帧去反射模型400所提取的知识蒸馏特征与多帧去反射模型400中重建网络200所提取的图像特征之间距离的平均值。
其中,重建损失是表示单帧去反射模型输出的反射置信图与真实反射置信图之间距离的平均值。
其中,用于训练单帧去反射模型的反射置信图是根据公式W=(I-B)/I,计算获得。
通过训练好的多帧去反射模型(教师网络)的中间层的输出特征,训练单帧去反射模型(学生网络),使得训练好的单帧去反射模型基于单帧图像所能提取出来的特征和多帧去反射模型所提取出来的特征相近,以便于所述单帧去反射模型的去反射效果达到多帧去反射模型的去反射效果。即通过知识蒸馏技术,将利用多帧反射图像(同一时刻、同一目标、不同视角的反射图像)的去反射效果迁移到单帧去反射模型上,使得单帧去反射模型可以拥有利用多帧反射图像的去反射效果。
进一步,电子设备将一帧反射图像输入单帧去反射模型400后,单帧去反射模型400输出与该单帧反射图像对应的背景层图像401、反射层图像402、以及反射置信图403。该反射置信图403可以进行可视化处理后展示给用户,并且用户可以根据显示出来的反射置信图403,对反射区域进行保留、增加或减少等交互操作;单帧去反射模型400基于用户对反射置信图403的交互操作,将用户交互得到的反射置信图403、单帧去反射模型400输出的背景层图像401和反射层图像402、以及单帧反射图像一同输入到单帧去反射模型400中,重新输出对应的背景层图像401、反射层图像402和反射置信图403。
该单帧去反射模型可以获取用户对反射置信图的操作,从而实现人机交互,使得单帧去反射模型的去反射效果更加符合用户要求、操作更加灵活,提高了用户的使用感。
下面结合图6A-图9,详细介绍一下利用本申请实施例提供的图像处理方法,对单帧图像实现图像去反射的电子设备界面展示。其中电子设备以手机为例进行说明,本申请实施例中不做具体限定。
如图6A所示的电子设备的桌面界面图,用户对电子设备解锁后,电子设备100可以向用户呈现桌面界面600,该桌面界面600包括多种应用程序的图标,例如:电话图标、联系人图标、互联网图标、短信图标、设置图标以及相册图标601等。用户可以对应用的图标触发操作,例如:点击、长按、滑动等。电子设备接收到用户触发的操作后,启动相应的应用。用户点击电子设备的桌面界面600上的相册图标601,则会启动相册应用,进入电子设备的相册界面(如图6B)。用户点击电子设备的桌面界面600上的相册图标601,电子设备会向用户呈现相册界面610。
相册界面610包括图片或者视频,有规律地分布在相册界面610上,例如:包括图片602、视频等。用户点击图片602,则会启动有关图片602的信息以及处理界面,也被称为图片界面620(如图6C)。用户点击电子设备的相册界面610上的图片602,电子设备会向用户呈现图片界面620。
图片界面620包括多种针对于图片602的操作的图标,例如:分享图片图标、编辑图标603、删除图标等,电子设备接收到用户触发的操作后,会对图片602进行对应的操作。用户点击电子设备的图片界面620上的编辑图标603,会启动图片编辑功能,进入到电子设备的图片编辑界面700(如图7A所示)。
图片编辑界面700上包括多种有关图片602的编辑操作的图标,例如修剪图标、滤镜图标、调节图标以及更多编辑操作的图标701。其中,修剪图标对应的修剪功能,包括:对图片的大小、旋转角进行调整;滤镜图标对应的滤镜功能,包括:为用户提供多种滤镜,供用户选择并应用到图片中;调节图标对应的调节应用,包括:对图片的对比度、亮度、饱和度等进行调节。用户点击图片编辑界面700上的更多编辑操作的图标701后,进入到电子设备的更多编辑操作界面710(如图7B),向用户展示除了修剪、滤镜、调节以外的更多图像编辑操作。
更多编辑操作界面710中包括多种除修剪、滤镜、调节以外的更多图像编辑操作的图标,例如:标注图标、涂鸦图标、水印图标、去反射图标702、虚化图标、保留色彩图标等。用户点击去反射图标702,会启动针对图片的去反射功能,进入到电子设备的去反射操作界面800(如图8A)。
用户点击去反射图标702,进入到电子设备的去反射操作界面800,去反射操作界面800中将图片602的反射置信图在图片602上可视化(即为去反射操作界面800上的反射区域801),即表现出了电子设备基于图片602输出的反射置信图,用户可以基于反射置信图,对反射区域进行增加、保留、删除等操作,从而实现人机交互,使得输出的去反射图片满足用户期望。例如:去反射操作界面800上有一块反射区域802没有被识别出来,用户涂抹该反射区域802,则达到了基于反射置信图,对反射区域进行增加操作。用户触摸涂抹了反射区域802后,进入到电子设备的又一去反射界面810(如图8B)。
电子设备向用户展示又一去反射界面810后,用户基于反射置信图可以判断,反射区域的识别是否准确,若准确则点击图标803,则输出去反射后的图片(即输出背景层图像)。具体的,用户点击图标803后,进入到电子设备的图片输出界面900(如图9)。
电子设备的图片输出界面900展现了图片602去反射处理后的图片(背景层图像/去反射后的图片),用户可以自行选择是否保存,若保存该去反射后的图片,则点击保存图标901,则对去反射后的图片进行保存。
本申请实施例提供一种图像处理方法,该方法包括:获取训练数据集;训练数据集包括多组训练数据;其中,每组训练数据包括多帧反射图像、以及对应的背景层图像和反射层图像;多帧反射图像是针对同一目标、同一时刻、不同视角的多帧图像;利用训练数据集,对多帧去反射模型进行训练,得到已训练的多帧去反射模型,作为教师网络;根据该教师网络的中间层的输出特征,利用训练数据集中的单帧反射图像,对所述学生网络进行训练,从而得到单帧去反射模型;将待去反射的单帧图像输入单帧去反射模型,输出对应的背景层图像、反射层图像以及反射置信图。利用已经训练好的多帧去反射模型作为教师网络,通过知识蒸馏技术,训练学生网络得到单帧去反射模型,使得该单帧去反射模型的去反射效果可以达到多帧去反射模型的去反射效果。在实现利用单帧反射图像实现去反射的同时,利用单帧反射图像实现的去反射效果也到达了利用多帧(多视角)反射图像实现的去反射效果,突破了去反射的局限性,使得无法获得多视角图像的单帧图像也可以实现基于多帧反射图像实现的去反射效果。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现上述方法实施例中电子设备100执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时,实现上述方法实施例中电子设备100执行的各个功能或者步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种图像处理方法,其特征在于,所述方法包括:
获取训练数据集;所述训练数据集包括多组训练数据;其中,每组训练数据包括多帧反射图像、以及对应的背景层图像和反射层图像;所述多帧反射图像是针对同一目标、同一时刻、不同视角的多帧图像;
利用所述训练数据集,对多帧去反射模型进行训练,得到已训练的多帧去反射模型,作为教师网络;所述多帧去反射模型包括:光流初始网络、重建网络以及光流优化网络;其中,所述重建网络包括:背景层重建网络和反射层重建网络;
基于所述教师网络的中间层的输出特征,利用所述训练数据集中的单帧反射图像,对学生网络进行训练,从而得到单帧去反射模型;
将待去反射的单帧图像输入所述单帧去反射模型,输出对应的背景层图像、反射层图像以及反射置信图;
所述教师网络的中间层的输出特征是采用如下方式获得的:
将所述训练数据集中的单帧反射图像输入所述学生网络的同时,将所述单帧反射图像对应组的训练数据中的多帧反射图像输入到所述教师网络中,在所述教师网络基于所述多帧反射图像进行去反射处理的过程中,获得所述教师网络的中间层的输出特征;
所述在所述教师网络基于所述多帧反射图像进行去反射处理的过程中,获得所述教师网络的中间层的输出特征,包括:
在所述教师网络基于所述多帧反射图像进行去反射的M次循环处理过程中,获取每次循环处理过程中的所述教师网络的中间层的输出特征;所述M为大于等于2的整数;
其中,所述M次循环处理过程中的一次循环处理过程包括:
根据对应的背景层光流和反射层光流,得到多帧扭曲背景层图像和多帧扭曲反射层图像,并将所述多帧扭曲背景层图像和所述多帧扭曲反射层图像,分别输入所述背景层重建网络和所述反射层重建网络;
根据输入的所述多帧扭曲背景层图像、关键帧图像以及上一尺度的所述关键帧的背景层图像,所述背景层重建网络输出当前尺度的所述关键帧的背景层图像,获得该循环处理过程中的所述背景层重建网络中的特征;
根据输入的所述多帧扭曲反射层图像、关键帧图像以及上一尺度的所述关键帧的反射层图像,所述反射层重建网络输出当前尺度的所述关键帧的反射层图像,获得该循环处理过程中的所述反射层重建网络中的特征;
所述对应的背景层光流和反射层光流是采用如下方式获得的:
若所述教师网络基于所述多帧反射图像进行去反射的首次循环处理时,所述对应的训练数据中的多帧反射图像中的任意两帧反射图像输入所述光流初始网络,所述光流初始网络输出对应的背景层光流和反射层光流;
若所述教师网络基于所述多帧反射图像进行去反射的非首次循环处理时,所述背景层重建网络输出的多帧背景层图像输入所述光流优化网络,所述光流优化网络输出对应的背景层光流;所述反射层重建网络输出的多帧反射层图像输入所述光流优化网络,所述光流优化网络输出对应的反射层光流。
2.根据权利要求1所述的方法,其特征在于,所述基于所述教师网络的中间层的输出特征,利用所述训练数据集中的单帧反射图像,对所述学生网络进行训练,从而得到单帧去反射模型包括:
基于所述教师网络的中间层的输出特征,确定所述学生网络的损失函数的第一部分;
基于所述训练数据集中的反射图像以及对应的背景层图像和反射层图像,确定所述学生网络的损失函数的第二部分;
基于所述学生网络的损失函数,对所述学生网络进行训练,从而得到单帧去反射模型。
3.根据权利要求1所述的方法,其特征在于,所述训练数据集包括:合成数据集和真实数据集;
所述利用所述训练数据集,对多帧去反射模型进行训练,得到已训练的多帧去反射模型,作为教师网络包括:
利用所述合成数据集,对所述光流初始网络单独进行训练,从而得到已训练的光流初始网络;
利用所述合成数据集,对所述背景层重建网络和所述反射层重建网络单独进行训练,从而得到已训练的背景层重建网络和反射层重建网络;
利用所述合成数据集和所述真实数据集,对所述多帧去反射模型整体进行训练,从而得到已训练的多帧去反射模型,作为教师网络。
4.根据权利要求3所述的方法,其特征在于,所述利用所述合成数据集,对所述光流初始网络单独进行训练包括:
随机选择所述合成数据集中的任意两帧反射图像,所述两帧反射图像包括:第一图像和第二图像;
将所述第一图像和所述第二图像输入所述光流初始网络;
所述光流初始网络输出所述第二图像与所述第一图像之间的背景层光流和反射层光流;
基于所述光流初始网络输出的背景层光流和反射层光流,获得所述背景层光流和真实背景层光流之间的平均绝对误差损失和所述反射层光流和真实反射层光流之间的平均绝对误差损失;其中,所述真实背景层光流是基于所述第一图像的背景层图像和所述第二图像的背景层图像获得的,所述真实反射层光流是基于所述第一图像的反射层图像和所述第二图像的反射层图像获得的;
基于所述背景层光流和真实背景层光流之间的平均绝对误差损失和所述反射层光流和真实反射层光流之间的平均绝对误差损失,构建所述光流初始网络的损失函数;
利用所述损失函数,对所述光流初始网络单独进行训练。
5.根据权利要求3所述的方法,其特征在于,所述教师网络的中间层的输出特征,包括:
所述教师网络的所述背景层重建网络中的特征和所述反射层重建网络中的特征。
6.根据权利要求1-5任意一项所述的方法,其特征在于,在所述将待去反射的单帧图像输入所述单帧去反射模型,输出对应的背景层图像、反射层图像以及反射置信图之后,所述方法还包括:
显示所述反射置信图。
7.根据权利要求6所述的方法,其特征在于,在所述显示所述反射置信图之后,所述方法还包括:
基于显示的所述反射置信图,获取用户对于反射区域的编辑操作;
基于所述编辑操作,获得更新反射置信图;
将所述单帧去反射模型输出的所述背景层图像和所述反射层图像、所述更新反射置信图、以及所述待去反射的单帧图像重新输入所述单帧去反射模型;所述单帧去反射模型重新输出对应的背景层图像、反射层图像以及所述更新反射置信图。
8.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-7中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211534178.5A CN115601536B (zh) | 2022-12-02 | 2022-12-02 | 一种图像处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211534178.5A CN115601536B (zh) | 2022-12-02 | 2022-12-02 | 一种图像处理方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115601536A CN115601536A (zh) | 2023-01-13 |
CN115601536B true CN115601536B (zh) | 2023-05-26 |
Family
ID=84853705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211534178.5A Active CN115601536B (zh) | 2022-12-02 | 2022-12-02 | 一种图像处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115601536B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127696A (zh) * | 2016-06-13 | 2016-11-16 | 西安电子科技大学 | 一种基于bp神经网络拟合运动场的图像去除反射方法 |
CN112802076A (zh) * | 2021-03-23 | 2021-05-14 | 苏州科达科技股份有限公司 | 反射图像生成模型及反射去除模型的训练方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3142038A1 (en) * | 2019-05-28 | 2020-12-03 | Abhijith PUNNAPPURATH | System and method for reflection removal using dual-pixel sensor |
CN110930323B (zh) * | 2019-11-07 | 2023-09-12 | 华为技术有限公司 | 图像去反光的方法、装置 |
CN112102182B (zh) * | 2020-08-31 | 2022-09-20 | 华南理工大学 | 一种基于深度学习的单图像去反射方法 |
CN112508169A (zh) * | 2020-11-13 | 2021-03-16 | 华为技术有限公司 | 知识蒸馏方法和系统 |
US11528435B2 (en) * | 2020-12-25 | 2022-12-13 | Industrial Technology Research Institute | Image dehazing method and image dehazing apparatus using the same |
CN113240120A (zh) * | 2021-05-07 | 2021-08-10 | 深圳思谋信息科技有限公司 | 基于温习机制的知识蒸馏方法、装置、计算机设备和介质 |
CN113610146B (zh) * | 2021-08-03 | 2023-08-04 | 江西鑫铂瑞科技有限公司 | 基于中间层特征提取增强的知识蒸馏实现图像分类的方法 |
CN113744146A (zh) * | 2021-08-23 | 2021-12-03 | 山东师范大学 | 一种基于对比学习和知识蒸馏的图像去雾方法 |
CN114677304A (zh) * | 2022-03-28 | 2022-06-28 | 东南大学 | 一种基于知识蒸馏和深度神经网络的图像去模糊算法 |
CN114926352A (zh) * | 2022-04-14 | 2022-08-19 | 华南理工大学 | 一种图像去反射方法、系统、装置及存储介质 |
-
2022
- 2022-12-02 CN CN202211534178.5A patent/CN115601536B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127696A (zh) * | 2016-06-13 | 2016-11-16 | 西安电子科技大学 | 一种基于bp神经网络拟合运动场的图像去除反射方法 |
CN112802076A (zh) * | 2021-03-23 | 2021-05-14 | 苏州科达科技股份有限公司 | 反射图像生成模型及反射去除模型的训练方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115601536A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113538273B (zh) | 图像处理方法及图像处理装置 | |
US20220319077A1 (en) | Image-text fusion method and apparatus, and electronic device | |
WO2021078001A1 (zh) | 一种图像增强方法及装置 | |
CN113706414B (zh) | 视频优化模型的训练方法和电子设备 | |
CN115061770B (zh) | 显示动态壁纸的方法和电子设备 | |
CN113538227B (zh) | 一种基于语义分割的图像处理方法及相关设备 | |
CN113539290B (zh) | 语音降噪方法和装置 | |
CN116630354B (zh) | 一种视频抠图方法、电子设备、存储介质及程序产品 | |
CN115601536B (zh) | 一种图像处理方法及电子设备 | |
CN113724151B (zh) | 一种图像增强方法、电子设备和计算机可读存储介质 | |
CN114419517A (zh) | 视频帧处理方法、装置、计算机设备及存储介质 | |
CN116205806B (zh) | 一种图像增强方法及电子设备 | |
CN115802148A (zh) | 一种获取图像的方法及电子设备 | |
CN114793283A (zh) | 图像编码方法、图像解码方法、终端设备及可读存储介质 | |
CN116152123B (zh) | 图像处理方法、电子设备及可读存储介质 | |
CN116630355B (zh) | 一种视频分割方法、电子设备、存储介质及程序产品 | |
CN115861042B (zh) | 一种图像处理方法、电子设备及介质 | |
CN117274109B (zh) | 图像处理方法、降噪模型训练方法及电子设备 | |
CN115460343B (zh) | 图像处理方法、设备及存储介质 | |
CN115988339B (zh) | 图像处理方法、电子设备、存储介质及程序产品 | |
CN116993619B (zh) | 图像处理方法及相关设备 | |
CN116664630B (zh) | 一种图像处理方法和电子设备 | |
CN117156261A (zh) | 图像处理方法及相关设备 | |
CN117729445A (zh) | 一种图像处理方法、电子设备以及计算机可读存储介质 | |
CN117764853A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |