CN116258633A - 图像去反光的方法、图像去反光模型的训练方法与装置 - Google Patents
图像去反光的方法、图像去反光模型的训练方法与装置 Download PDFInfo
- Publication number
- CN116258633A CN116258633A CN202111488290.5A CN202111488290A CN116258633A CN 116258633 A CN116258633 A CN 116258633A CN 202111488290 A CN202111488290 A CN 202111488290A CN 116258633 A CN116258633 A CN 116258633A
- Authority
- CN
- China
- Prior art keywords
- image
- sample
- model
- sub
- camera module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 128
- 238000012549 training Methods 0.000 title claims abstract description 93
- 239000011521 glass Substances 0.000 claims abstract description 134
- 238000012545 processing Methods 0.000 claims abstract description 49
- 230000015654 memory Effects 0.000 claims description 49
- 238000001228 spectrum Methods 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 22
- 230000004044 response Effects 0.000 abstract description 3
- 238000013528 artificial neural network Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000003287 optical effect Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 4
- 238000001028 reflection method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 241001464837 Viridiplantae Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000003705 background correction Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000005282 brightening Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/30—Transforming light or analogous information into electric information
- H04N5/33—Transforming infrared radiation
-
- 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/20081—Training; Learning
-
- 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/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
一种图像去反光的方法、图像去反光模型的训练方法与装置,涉及图像处理领域;该方法包括显示第一界面,第一界面包括第一控件;检测到对第一控件的第一操作;响应于第一操作,获取第一图像与第二图像,第一图像是通过第一相机模组获取的拍摄场景的图像,第二图像是通过第二相机模组获取的拍摄场景的图像,拍摄场景包括第一拍摄对象、透明玻璃与第二拍摄对象,第一拍摄对象与第二拍摄对象位于透明玻璃的两侧;开启红外闪光灯,获取第三图像,第三图像是通过第一相机模组获取的拍摄对象的图像;根据第二图像与第三图像得到第四图像;将第一图像与第四图像输入至图像去反光模型,得到第五图像;基于本申请的技术方案,能够提高图像去反光的效果。
Description
技术领域
本申请涉及图像处理领域,具体地,涉及一种图像去反光的方法、图像去反光模型的训练方法与装置。
背景技术
随着科技的不断进步,终端设备的拍摄功能越来越强大,用户对图像质量的要求越来越高;但是,用户在拍摄时会遇到一些存在镜面反光的场景;比如,用户在透过透明玻璃获取拍摄对象的图像时,由于透过透明玻璃对拍摄对象进行拍摄,透明玻璃存在的镜面反射光与透射光混叠在一起,导致拍摄对象的部分细节信息被掩盖,因此在图像中会出现反光区域。
目前,通常采样基于单帧图像的去反光算法,比如,通过大量的无反光图像与混叠图像(例如,包括反光区域图像的合成图像)作为样本数据训练图像去反光模型;由于获取的样本数据的拍摄场景是有限的,使得训练后的图像去反光模型的泛化能力较差,即训练后的图像去反光模型在处理样本数据中未包括的拍摄场景的图像时,图像去反光的效果较差。
因此,如何去除图像中的镜面反光,提高图像去反光的效果成为一个亟需解决的问题。
发明内容
本申请提供了一种图像去反光的方法、图像去反光模型的训练方法与装置,能够去除图像中的镜面反光,提高图像去反光的效果。
第一方面,提供了一种图像去反光的方法,应用于电子设备,所述电子设备包括第一相机模组、第二相机模组与红外闪光灯,所述第一相机模组接收的光谱为可见光,所述第二相机模组接收的光谱为可见光与近红外光,所述方法包括:
显示第一界面,所述第一界面包括第一控件;
检测到对所述第一控件的第一操作;
响应于所述第一操作,获取第一图像与第二图像,所述第一图像是通过所述第一相机模组获取的拍摄场景的图像,所述第二图像是通过所述第二相机模组获取的所述拍摄场景的图像,所述拍摄场景包括第一拍摄对象、透明玻璃与第二拍摄对象,所述第一拍摄对象与所述第二拍摄对象位于所述透明玻璃的两侧;
开启所述红外闪光灯,获取第三图像,所述第三图像是通过所述第一相机模组获取的所述拍摄场景的图像;
根据所述第二图像与所述第三图像得到第四图像,所述第四图像用于表示所述第二拍摄对象对第一透射光的反射信息,所述第一透射光是通过所述近红外光透过所述透明玻璃得到的;
将所述第一图像与所述第四图像输入至图像去反光模型,得到第五图像;
其中,所述图像去反光模型中包括第一子模型与第二子模型,所述第一子模型用于分离所述第一拍摄对象对所述可见光的反射信息;所述第二子模型用于分离所述第二拍摄对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
可选地,在本申请的实施例中,图像去反光模型中包括的第一子模型与第二子模型可以是指神经网络模型;例如,第一子模型与第二子模型可以是卷积神经网络或者其他神经网络结构,本申请对此不作任何限定。
需要说明的是,在本申请的实施例中第二相机模组获取的第二图像可以是指Raw图像;第二相机模组采集的Raw图像是指单通道的图像;第二相机模组采集的Raw图像可以用于表示光子叠加在一起的强度信息;例如,第二相机模组采集的Raw图像可以是在单通道的灰度图像。
应理解,本申请实施例涉及的拍摄场景中包括第一拍摄对象(前侧物体)、透明玻璃与第二拍摄对象(目标物体),前侧物体与目标物体位于透明玻璃的两侧;终端设备与前侧物体处于透明玻璃的相同一侧;前侧物体可以是指前侧景物,即将透明玻璃的位置替换成镜子时,任何出现在镜子中的物体均可以看作是前侧景物,比如,前侧物体可以是指放置在透明玻璃前侧的物体,或者拍摄场景中的天空,或者拍摄场景中的用户等;由于用户透过透明玻璃对目标物体进行拍摄,透明玻璃存在的镜面反射光与透射光会混叠在一起,导致目标物体的部分细节信息被掩盖,因此获取的目标物体的图像中会存在反光区域;图像去反光的目的在于去除目标物体的图像中包括的前侧物体的信息。
在本申请的实施例中,通过第一相机模组与第二相机模组获取拍摄场景的图像;由于第一相机模组接收的光谱范围为可见光区域(例如,400nm~700nm),第二相机模组接收的光谱范围为可见光区域与近红外光区域(例如,400nm~1000nm);因此,两个相机模组的光谱信息可以是互补的,获取的拍摄场景的信息量更多;通过本申请实施例提供的图像去反光的方法可以提升图像反光的效果,提高去反光图像的清晰度。此外,本申请实施例中电子设备中包括红外闪光灯,由于红外闪光灯的开启状态与关闭状态对于用户是不可见的;因此,可以在用户无感知的情况下,执行本申请实施例的图像去反光的方法,能够去除图像中的镜面反光,提高图像去反光的效果。
结合第一方面,在第一方面的某些实现方式中,还包括:
确定所述拍摄场景的分类信息,所述分类信息用于指示所述拍摄场景所属的场景分类;
根据所述分类信息确定所述拍摄场景中存在镜面反射。
可选地,分类信息可以包括但不限于:绿植场景、人像场景、室内场景或者室外场景等。
示例性地,可以通过大量样本数据学习得到二分类神经网络,通过二分类神经网络可以识别当前拍摄场景是否存在镜面反光;例如,可以识别该拍摄场景中是否包括透明玻璃。
在本申请的实施例中,电子设备可以自动识别当前的拍摄场景中是否存在镜面反光;在确定拍摄场景中存在镜面反光时,执行本申请实施例提供的图像去反光的方法。
结合第一方面,在第一方面的某些实现方式中,还包括:
检测到第二操作,所述第二操作用于指示所述拍摄场景中存在镜面反射。
在本申请的实施例中,用户可以识别当前拍摄场景中是否存在镜面反光;在拍摄场景中存在镜面反光时,用户可以开启电子设备的去反光模式;在电子设备识别用户开启去反光模式后,执行本申请实施例的去除图像中镜面反光的方法。
结合第一方面,在第一方面的某些实现方式中,所述根据所述第一图像与所述第三图像得到第四图像,包括:
对所述第二图像与所述第三图像进行作差,得到第六图像;
以所述第一图像为基准对所述第六图像进行配准处理,得到所述第四图像。
需要说明的是,由于第一相机模组与第二相机模组分别设置在电子设备中的不同位置,因此第一相机模组与第二相机模组之间存在一定的基线距离,即通过第一相机模组采集的图像与通过第二相机模组采集的图像之间存在一定的视差,需要对两者采集的图像进行配准处理。
应理解,第二图像与第三图像是连续两帧的图像,两帧图像分别是在关闭红外闪光灯与开启红外闪光灯的情况下采集的,两帧图像之间像素基本对齐;通过对两帧图像进行像素相减,可以得到只有红外闪光灯照射的图像。
结合第一方面,在第一方面的某些实现方式中,所述第一界面是指所述电子设备的主屏界面,所述主屏界面包括相机应用程序,所述第一控件是指所述相机应用程序对应的控件。
在一种可能的实现方式中,所述第一操作是指点击所述相机应用程序的操作。
结合第一方面,在第一方面的某些实现方式中,所述第一界面是指视频录制界面,所述第一控件是指用于指示录制视频的控件。
在一种可能的实现方式中,所述第一操作是指点击所述用于指示录制视频的控件的操作。
结合第一方面,在第一方面的某些实现方式中,所述第一界面是指视频通话界面,所述第一控件是指用于指示视频通话的控件。
在一种可能的实现方式中,所述第一操作是指点击所述用于指示视频通话的控件的操作。
上述以第一操作为点击操作为例进行举例说明;第一操作还可以包括语音指示操作,或者其它的指示电子设备进行拍照或者视频通话的操作;上述为举例说明,并不对本申请作任何限定。
第二方面,提供了一种图像去反光模型的训练方法,所述图像去反光模型中包括第一子模型与第二子模型,包括:
获取训练数据,其中,所述训练数据包括第一样本图像、第二样本图像、第三样本图像与第四样本图像,所述第一样本图像为通过第一相机模组获取的样本拍摄场景的图像;所述样本拍摄场景包括第一样本对象、透明玻璃与第二样本对象,所述第一样本对象与所述第二样本对象位于所述透明玻璃的两侧;所述第二样本图像是通过第二相机模组获取的用于表示所述第二样本对象对第一透射光的反射信息的图像,所述第一透射光是通过近红外光透过所述透明玻璃得到的;所述第一相机模组接收的光谱为可见光,所述第二相机模组接收的光谱为所述可见光与近红外光;所述第三样本图像是指在遮挡所述透明玻璃的情况下,通过所述第一相机模组获取的所述第一样本对象的图像;所述第四样本图像是指通过所述第一相机模组获取的所述第二样本对象的图像;
以所述第一样本图像与所述第二样本图像为输入数据,以所述第三样本图像为第一目标数据训练第一子模型,得到训练后的第一子模型,所述第一子模型用于分离所述第一样本对象对所述可见光的反射信息;
以所述训练后的第一子模型的输出数据与所述第一样本图像为输入数据,以所述第四样本图像为第二目标数据训练第二子模型,得到训练后的第二子模型,所述第二子模型用于分离所述第二样本对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
应理解,本申请实施例涉及的拍摄场景中包括第一样本对象(前侧物体)、透明玻璃与第二样本对象(目标物体),前侧物体与目标物体位于透明玻璃的两侧;终端设备与前侧物体处于透明玻璃的相同一侧;前侧物体可以是指前侧景物,即将透明玻璃的位置替换成镜子时,任何出现在镜子中的物体均可以看作是前侧景物,比如,前侧物体可以是指放置在透明玻璃前侧的物体,或者拍摄场景中的天空,或者拍摄场景中的用户等;由于用户透过透明玻璃对目标物体进行拍摄,透明玻璃存在的镜面反射光与透射光会混叠在一起,导致目标物体的部分细节信息被掩盖,因此获取的目标物体的图像中会存在反光区域;图像去反光模型的目的在于去除目标物体的图像中包括的前侧物体的信息。
应理解,在本申请的实施例中,图像去反光模型中可以包括第一子模型与第二子模型,第一子模型与第二子模型可以为图像去反光模型中的两个串联的模型,即输入数据先经过第一子模型的处理;第一子模型的输出数据可以作为第二子模型的输入数据;图像去反光模型的整个网络训练可以采用分段式的训练方式,比如,先训练第一子模型;在第一子模型收敛后可以固定第一子模型的权重,再训练第二子模型。
在本申请的实施例中,图像去反光模型中包括第一子模型与第二子模型,在训练第一子模型时通过以第一样本图像与第二样本图像为输入数据,第二样本图像中仅包括第二样本对象(目标物体)相关的光路信息;通过以目标物体的信息作为先验信息对图像去反光模型进行训练,从而能够提高图像去反光模型的泛化能力。
可选地,在本申请的实施例中,图像去反光模型中包括的第一子模型与第二子模型可以是指神经网络模型;例如,第一子模型与第二子模型可以是卷积神经网络或者其他神经网络结构,本申请对此不作任何限定。
结合第二方面,在第二方面的某些实现方式中,所述获取训练数据,包括:
在红外闪光灯开启时,通过所述第二相机模组获取所述样本拍摄场景的第五样本图像;
在所述红外闪光灯关闭时,通过所述第二相机模组获取所述样本拍摄场景的第六样本图像;
根据所述第五样本图像与所述第六样本图像得到所述第二样本图像。
结合第二方面,在第二方面的某些实现方式中,所述根据所述第五样本图像与所述第六样本图像得到所述第二样本图像,包括:
对所述第五样本图像与所述第六样本图像进行作差,得到第七样本图像;
以所述第一样本图像为基准对所述第七样本图像进行配准处理,得到所述第二样本图像。
需要说明的是,由于第一相机模组与第二相机模组分别设置在电子设备中的不同位置,因此第一相机模组与第二相机模组之间存在一定的基线距离,即通过第一相机模组采集的图像与通过第二相机模组采集的图像之间存在一定的视差,需要对两者采集的图像进行配准处理。
应理解,第五样本图像与第六样本图像是连续两帧的图像,两帧图像分别是在关闭红外闪光灯与开启红外闪光灯的情况下采集的,两帧图像之间像素基本对齐;通过对两帧图像进行像素相减,可以得到只有红外闪光灯照射第二样本对象的图像。
结合第二方面,在第二方面的某些实现方式中,所述第一子模型的参数是根据所述第一子模型输出的预测数据与所述第一目标数据之间的差异通过反向传播算进行迭代得到的。
结合第二方面,在第二方面的某些实现方式中,所述第二子模型的参数是根据所述第二子模型输出的预测数据与所述第二目标数据之间的差异通过反向传播算进行迭代得到的。
第三方面,提供了一种图像去反光的装置,所述装置包括一个或多个处理器、存储器、第一相机模组、第二相机模组与红外闪光灯;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述装置执行:
显示第一界面,所述第一界面包括第一控件;检测到对所述第一控件的第一操作;响应于所述第一操作,获取第一图像与第二图像,所述第一图像是通过所述第一相机模组获取的拍摄场景的图像,所述第二图像是通过所述第二相机模组获取的所述拍摄场景的图像,所述拍摄场景包括第一拍摄对象、透明玻璃与第二拍摄对象,所述第一拍摄对象与所述第二拍摄对象位于所述透明玻璃的两侧;开启所述红外闪光灯,获取第三图像,所述第三图像是通过所述第一相机模组获取的所述拍摄场景的图像;根据所述第二图像与所述第三图像得到第四图像,所述第四图像用于表示所述第二拍摄对象对第一透射光的反射信息,所述第一透射光是通过所述近红外光透过所述透明玻璃得到的;
将所述第一图像与所述第四图像输入至图像去反光模型,得到第五图像;
其中,所述图像去反光模型中包括第一子模型与第二子模型,所述第一子模型用于分离所述第一拍摄对象对所述可见光的反射信息;所述第二子模型用于分离所述第二拍摄对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
结合第三方面,在第三方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述装置执行:
确定所述拍摄场景的分类信息,所述分类信息用于指示所述拍摄场景所属的场景分类;
根据所述分类信息确定所述拍摄场景中存在镜面反射。
结合第三方面,在第三方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述装置执行:
检测到第二操作,所述第二操作用于指示所述拍摄场景中存在镜面反射。
结合第三方面,在第三方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述装置执行:
所述根据所述第一图像与所述第三图像得到第四图像,包括:
对所述第二图像与所述第三图像进行作差,得到第六图像;
以所述第一图像为基准对所述第六图像进行配准处理,得到所述第四图像。
结合第三方面,在第三方面的某些实现方式中,所述第一界面是指所述电子设备的主屏界面,所述主屏界面包括相机应用程序,所述第一控件是指所述相机应用程序对应的控件。
结合第三方面,在第三方面的某些实现方式中,所述第一界面是指视频录制界面,所述第一控件是指用于指示录制视频的控件。
结合第三方面,在第三方面的某些实现方式中,所述第一界面是指视频通话界面,所述第一控件是指用于指示视频通话的控件。
第四方面,提供了一种图像去反光模型的训练装置,所述图像去反光模型中包括第一子模型与第二子模型,所述训练装置包括一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述训练装置执行:
获取训练数据,其中,所述训练数据包括第一样本图像、第二样本图像、第三样本图像与第四样本图像,所述第一样本图像为通过第一相机模组获取的样本拍摄场景的图像;所述样本拍摄场景包括第一样本对象、透明玻璃与第二样本对象,所述第一样本对象与所述第二样本对象位于所述透明玻璃的两侧;所述第二样本图像是通过第二相机模组获取的用于表示所述第二样本对象对第一透射光的反射信息的图像,所述第一透射光是通过近红外光透过所述透明玻璃得到的;所述第一相机模组接收的光谱为可见光,所述第二相机模组接收的光谱为所述可见光与近红外光;所述第三样本图像是指在遮挡所述透明玻璃的情况下,通过所述第一相机模组获取的所述第一样本对象的图像;所述第四样本图像是指通过所述第一相机模组获取的所述第二样本对象的图像;
以所述第一样本图像与所述第二样本图像为输入数据,以所述第三样本图像为第一目标数据训练第一子模型,得到训练后的第一子模型,所述第一子模型用于分离所述第一样本对象对所述可见光的反射信息;
以所述训练后的第一子模型的输出数据与所述第一样本图像为输入数据,以所述第四样本图像为第二目标数据训练第二子模型,得到训练后的第二子模型,所述第二子模型用于分离所述第二样本对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
结合第四方面,在第四方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述训练装置执行:
在红外闪光灯开启时,通过所述第二相机模组获取所述样本拍摄场景的第五样本图像;
在所述红外闪光灯关闭时,通过所述第二相机模组获取所述样本拍摄场景的第六样本图像;
根据所述第五样本图像与所述第六样本图像得到所述第二样本图像。
结合第四方面,在第四方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述训练装置执行:
对所述第五样本图像与所述第六样本图像进行作差,得到第七样本图像;
以所述第一样本图像为基准对所述第七样本图像进行配准处理,得到所述第二样本图像。
结合第四方面,在第四方面的某些实现方式中,所述第一子模型的参数是根据所述第一子模型输出的预测数据与所述第一目标数据之间的差异通过反向传播算进行迭代得到的。
结合第四方面,在第四方面的某些实现方式中,所述第二子模型的参数是根据所述第二子模型输出的预测数据与所述第二目标数据之间的差异通过反向传播算进行迭代得到的。
第五方面,提供了一种图像去反光的装置,包括用于执行第一方面或第一方面中任一种方法的模块/单元。
第六方面,提供了一种图像去反光模型的训练装置,包括用于执行第二方面或第二方面中任一种方法的模块/单元。
第七方面,提供了一种图像去反光的装置,所述装置包括:一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述装置执行第一方面或者第一方面中的任一种方法。
第八方面,提供了一种图像去反光模型的训练装置,所述训练装置包括:一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述训练装置执行第二方面或者第二方面中的任一种训练方法。
第九方面,提供了一种芯片系统,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行第一方面或第二方面中的任一种方法。
第十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被电子设备运行时,使得该电子设备执行第一方面或第二方面中的任一种方法。
第十一方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被电子设备运行时,使得该电子设备执行第一方面或第二方面中的任一种方法。
在本申请的实施例中,通过第一相机模组与第二相机模组获取拍摄场景的图像;由于第一相机模组接收的光谱范围为可见光区域(例如,400nm~700nm),第二相机模组接收的光谱范围为可见光区域与近红外光区域(例如,400nm~1000nm);因此,两个相机模组的光谱信息可以是互补的,获取的拍摄场景的信息量更多;通过本申请实施例提供的图像去反光的方法可以提升图像反光的效果,提高去反光图像的清晰度。此外,本申请实施例中电子设备包括红外闪光灯,由于红外闪光灯的开启状态与关闭状态对于用户是不可见的;因此,可以在用户无感知的情况下,执行本申请实施例的图像去反光的方法,能够去除图像中的镜面反光,提高图像去反光的效果。
附图说明
图1是一种适用于本申请的装置的硬件系统的示意图;
图2是一种适用于本申请的装置的软件系统的示意图;
图3是一种适用于本申请实施例的应用场景的示意图;
图4是一种适用于本申请实施例的拍摄场景的光路示意图;
图5是一种适用于本申请的图像去反光模型的训练方法的示意图;
图6是本申请实施例提供的图像去反光的方法的示意图;
图7是本申请实施提供的图像去反光的方法的效果示意图;
图8是本申请实施例提供的一种电子设备的显示界面的示意图;
图9是本申请实施例提供的一种电子设备的显示界面的示意图;
图10是本申请实施例提供的一种电子设备的显示界面的示意图;
图11是本申请实施例提供的一种图像去反光模型的训练装置的结构示意图;
图12是本申请实施例提供的一种图像去反光的装置的结构示意图;
图13是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。
1、神经网络
神经网络是指将多个单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入;每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
2、深度神经网络
深度神经网络(deep neural network,DNN),也称为多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层;层与层之间可以是全连接的,也就是说,第i层的任意一个神经元可以与第i+1层的任意一个神经元相连。
3、卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器;卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。
4、反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,用于得到最优的神经网络模型的参数;例如,权重矩阵。
5、镜面反射
镜面反射是指若反射面比较光滑,当平行入射的光线射到这个反射面时,仍会平行地向一个方向反射出来,这种反射就属于镜面反射。
示例性地,玻璃反光属于一种镜面反射情况;比如,拍摄对象处于远离摄像头玻璃的后侧;例如,用于拍摄玻璃橱窗内的物体;或者,用户透过玻璃拍摄窗外的物体等。
6、全通模组
在本申请的实施例中,全通模组是指可以接收的光谱范围为400nm~1000nm的相机模组;与终端设备的主摄像头模组(接收光谱范围为400nm~700nm)相比,全通模组的可接收光谱范围更广;全通模组可以获取近红外波段(例如,光谱范围为780nm~1000nm)的光谱。
7、近红外光(near infrared,NIR)
近红外光是指介于可见光与中红外光之间的电磁波;可以将近红外光区划分为近红外短波(780nm~1100nm)和近红外长波(1100nm~2526nm)两个区域。
下面将结合附图,对本申请实施例中的技术方案进行描述。
图1示出了一种适用于本申请的装置的硬件系统。
装置100可以是手机、智慧屏、平板电脑、可穿戴电子设备、车载电子设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、投影仪等等,本申请实施例对装置100的具体类型不作任何限制。
装置100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
需要说明的是,图1所示的结构并不构成对装置100的具体限定。在本申请另一些实施例中,装置100可以包括比图1所示的部件更多或更少的部件,或者,装置100可以包括图1所示的部件中某些部件的组合,或者,装置100可以包括图1所示的部件中某些部件的子部件。图1示的部件可以以硬件、软件、或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如,处理器110可以包括以下处理单元中的至少一个:应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器、神经网络处理器(neural-network processing unit,NPU)。其中,不同的处理单元可以是独立的器件,也可以是集成的器件。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
示例性地,在本申请的实施例中,处理器110可以执行:显示第一界面,所述第一界面包括第一控件;检测到对所述第一控件的第一操作;响应于所述第一操作,获取第一图像与第二图像,所述第一图像是通过所述第一相机模组获取的拍摄场景的图像,所述第二图像是通过所述第二相机模组获取的所述拍摄场景的图像,所述拍摄场景包括第一拍摄对象、透明玻璃与第二拍摄对象,所述第一拍摄对象与所述第二拍摄对象位于所述透明玻璃的两侧;开启所述红外闪光灯,获取第三图像,所述第三图像是通过所述第一相机模组获取的所述拍摄场景的图像;根据所述第二图像与所述第三图像得到第四图像,所述第四图像用于表示所述第二拍摄对象对第一透射光的反射信息,所述第一透射光是通过所述近红外光透过所述透明玻璃得到的;将所述第一图像与所述第四图像输入至图像去反光模型,得到第五图像;其中,所述图像去反光模型中包括第一子模型与第二子模型,所述第一子模型用于分离所述第一拍摄对象对所述可见光的反射信息;所述第二子模型用于分离所述第二拍摄对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
示例性地,在本申请的实施例中,处理器110可以执行:获取训练数据,其中,所述训练数据包括第一样本图像、第二样本图像、第三样本图像与第四样本图像,所述第一样本图像为通过第一相机模组获取的样本拍摄场景的图像;所述样本拍摄场景包括第一样本对象、透明玻璃与第二样本对象,所述第一样本对象与所述第二样本对象位于所述透明玻璃的两侧;所述第二样本图像是通过第二相机模组获取的用于表示所述第二样本对象对第一透射光的反射信息的图像,所述第一透射光是通过近红外光透过所述透明玻璃得到的;所述第一相机模组接收的光谱为可见光,所述第二相机模组接收的光谱为所述可见光与近红外光;所述第三样本图像是指在遮挡所述透明玻璃的情况下,通过所述第一相机模组获取的所述第一样本对象的图像;所述第四样本图像是指通过所述第一相机模组获取的所述第二样本对象的图像;以所述第一样本图像与所述第二样本图像为输入数据,以所述第三样本图像为第一目标数据训练第一子模型,得到训练后的第一子模型,所述第一子模型用于分离所述第一样本对象对所述可见光的反射信息;以所述训练后的第一子模型的输出数据与所述第一样本图像为输入数据,以所述第四样本图像为第二目标数据训练第二子模型,得到训练后的第二子模型,所述第二子模型用于分离所述第二样本对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
图1所示的各模块间的连接关系只是示意性说明,并不构成对装置100的各模块间的连接关系的限定。可选地,装置100的各模块也可以采用上述实施例中多种连接方式的组合。
装置100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等器件实现。
天线1和天线2用于发射和接收电磁波信号。装置100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
装置100可以通过GPU、显示屏194以及应用处理器实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194可以用于显示图像或视频。
装置100可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP可以对图像的噪点、亮度和色彩进行算法优化,ISP还可以优化拍摄场景的曝光和色温等参数。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的红绿蓝(red green blue,RGB),YUV等格式的图像信号。在一些实施例中,装置100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当装置100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。装置100可以支持一种或多种视频编解码器。这样,装置100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3和MPEG4。
陀螺仪传感器180B可以用于确定装置100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定装置100围绕三个轴(即,x轴、y轴和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。例如,当快门被按下时,陀螺仪传感器180B检测装置100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消装置100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航和体感游戏等场景。
加速度传感器180E可检测装置100在各个方向上(一般为x轴、y轴和z轴)加速度的大小。当装置100静止时可检测出重力的大小及方向。加速度传感器180E还可以用于识别装置100的姿态,作为横竖屏切换和计步器等应用程序的输入参数。
距离传感器180F用于测量距离。装置100可以通过红外或激光测量距离。在一些实施例中,例如在拍摄场景中,装置100可以利用距离传感器180F测距以实现快速对焦。
环境光传感器180L用于感知环境光亮度。装置100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测装置100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。装置100可以利用采集的指纹特性实现解锁、访问应用锁、拍照和接听来电等功能。
触摸传感器180K,也称为触控器件。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,触摸屏也称为触控屏。触摸传感器180K用于检测作用于其上或其附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于装置100的表面,并且与显示屏194设置于不同的位置。
上文详细描述了装置100的硬件系统,下面介绍图像装置100的软件系统。
图2是本申请实施例提供的装置的软件系统的示意图。
如图2所示,系统架构中可以包括应用层210、应用框架层220、硬件抽象层230、驱动层240以及硬件层250。
应用层210可以包括相机应用程序、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息等应用程序。
应用框架层220为应用层的应用程序提供应用程序编程接口(applicationprogramming interface,API)和编程框架;应用框架层可以包括一些预定义的函数。
例如,应用框架层220可以包括相机访问接口;相机访问接口中可以包括相机管理与相机设备。其中,相机管理可以用于提供管理相机的访问接口;相机设备可以用于提供访问相机的接口。
硬件抽象层230用于将硬件抽象化。比如,硬件抽象层可以包相机抽象层以及其他硬件设备抽象层;相机硬件抽象层可以调用相机算法库中的算法。
例如,相机算法库中可以包括用于图像处理的软件算法。
驱动层240用于为不同硬件设备提供驱动。例如,驱动层可以包括相机设备驱动;数字信号处理器驱动、图形处理器驱动或者中央处理器驱动。
硬件层250可以包括相机设备以及其他硬件设备。
例如,硬件层250包括相机设备、数字信号处理器、图形处理器或者中央处理器;示例性地,相机设备中可以包括图像信号处理器,图像信号处理器可以用于图像处理。
示例性地,本申请实施例提供的图像去反光模型的训练方法可以在数字信号处理器、图形处理器或者中央处理器中执行;或者电子设备的其他算例硬件中执行。
目前,通常采样基于单张图像的去反光算法,比如,通过大量的无反光图像与混叠图像(例如,无反光图像与反光图像的合成图像)作为样本数据训练图像去反光模型;由于基于单张图像的去反光算法的样本数据的拍摄场景是有限的;训练后的神经网络在处理样本数据中未包括的拍摄场景时,图像去反光的效果较差;换而言之,通过采用单张图像训练得到的图像去反光模型的泛化能力较差。
有鉴于此,本申请提供了一种图像去反光的方法与图像去反光模型的训练方法,在本申请的实施例中,电子设备中包括第一相机模组与第二相机模组,通过第一相机模组与第二相机模组获取拍摄场景的图像;由于第一相机模组接收的光谱范围为可见光区域(例如,400nm~700nm),第二相机模组接收的光谱范围为可见光区域与近红外光区域(例如,400nm~1000nm);因此,两个相机模组的光谱信息可以是互补的,获取的拍摄场景的信息量更多;通过本申请实施例提供的图像去反光的方法可以提升图像反光的效果,提高去反光图像的清晰度。此外,本申请实施例中电子设备中包括红外闪光灯,由于红外闪光灯的开启状态与关闭状态对于用户是不可见的;因此,可以在用户无感知的情况下,执行本申请实施例的图像去反光的方法,能够去除图像中的镜面反光,提高图像去反光的效果。
在本申请的实施例中,通过第一相机模组、第二相机模组与红外闪光灯获取训练数据;在红外闪光灯开启的情况下,获取第一样本Raw图像;在红外闪光灯关闭的情况下,获取第二样本Raw图像;通过对第一样本Raw图像与第二样本Raw图像作差,得到仅与背侧物体(目标物体)相关的光路信息;通过以背侧物体的信息作为先验信息对图像去反光模型进行训练,从而能够提高图像去反光模型的泛化能力。
下面结合图3对本申请实施例提供的图像去反光的方法的应用场景进行举例说明。
应用场景:拍照领域
本申请的去除图像中镜面反光的方法可以应用于拍照领域,或者录制视频领域;例如,在透过玻璃进行拍摄时,图3中的(a)是未采用本申请的图像去反光的方法,直接通过终端设备的主摄像头模组进行拍摄,得到拍摄对象260的预览图像;图3中的(b)是通过本申请实施例提供的图像去反光的方法,得到拍摄对象260的预览图像;图3中的(b)所示的预览图像与图3中的(a)所示的预览图像相比,能够有效地减少图像中的反射光斑等;因此,通过本申请实施例的图像去反光的方法,能够去除图像中的镜面反光,提高图像去反光的效果。
应理解,上述为对应用场景的举例说明,并不对本申请的应用场景作任何限定。
下面结合图4至图10对本申请实施例提供的图像去反光的方法进行详细描述。
首先,结合图4对透过透明玻璃进行图像拍摄的光路原理进行描述。图4示出了一种透过透明玻璃进行图像拍摄的光路示意图。
应理解,如图4所示的透明玻璃是指存在透射光的玻璃;背侧物体是指目标拍摄对象,目标拍摄对象位于透明玻璃的背侧;前侧物体可以是指前侧景物,即将透明玻璃的位置替换成镜子时,任何出现在镜子中的物体均可以看作是前侧景物;比如,前侧物体可以是指放置在透明玻璃前侧的物体,或者拍摄场景中的天空,或者拍摄场景中的用户等;由于用户透过透明玻璃对背侧物体进行拍摄,透明玻璃存在的镜面反射光与透射光会混叠在一起,导致背侧物体的部分细节信息被掩盖,因此获取的背侧物体的图像中会存在反光区域;通过本申请实施例中的图像去反光的方法,可以去除图像中的镜面反光区域,提高图像的去反光效果。
示例性地,如图4中的(a)所示,背侧物体是指目标拍摄对象,即目标拍摄对象处于透明玻璃的背侧;在开启红外闪光灯的情况下,拍摄环境中的光照可以包括环境光与红外闪光灯;由于环境光具有发散性,因此环境光可以照射到前侧物体与背侧物体;由于闪光灯是具体方向性的,比如,闪光灯是对着目标拍摄对象进行照射的,因此红外闪光只照射到背侧物体;在开启红外闪光灯的情况下,如图4中的(a)所示全通模组中获取的光路包括三部分,分别是背侧物体反射的红外光(NIR)、背侧物体反射的环境光(RGB+NIR)、前侧物体反射的环境光(RGB+NIR)。
需要说明的是,主摄像头模组的可以接收的光谱范围为:400nm~700nm,主摄像头模组通常采集的为RGB图像;由于全通模组的可以接收的光谱范围为:400nm~1000nm,因此上述RGB+NIR可以用于表示全通模组接收的环境光中的光谱范围。
示例性地,如图4中的(b)所示,在关闭红外闪光灯的情况下,全通模组中获取的光路包括两部分,分别是背侧物体反射的环境光(RGB+NIR)与前侧物体反射的环境光(RGB+NIR)。通过图4中的(a)所示的光路图减去图4中的(b)所示的光路图,可以得到背侧物体反射的红外光(NIR)。
需要说明的是,图4中的(c)所示的光路图中包括只有背侧物体相关的光路信息;即通过图4中的(c)所示的光路图可以获取只有背侧物体即目标拍摄对象相关的信息。
例如,可以通过红外闪光灯的开启与关闭,并控制曝光条件保持一致,获取背侧物体的两幅图像;通过对两帧图像作差,可以得到只有背侧物体的图像信息;在本申请的实施例中,通过以背侧物体的信息作为先验信息对图像去反光模型进行训练,从而使得图像去反光模型的泛化能力明显提升。下面结合图5对图像去反光模型的训练方法进行详细描述。
图5是本申请实施例提供的图像去反光模型的训练方法的示意图。
应理解,图5所示的图像去反光模型的训练方法可以由训练装置执行,该训练装置具体可以是图1所示的装置,也可以是图2所示的数字信号处理器、图形处理器或者中央处理器执行;图5所示的训练方法包括步骤S301至步骤S310,下面分别对步骤S301至步骤S310进行详细的描述。
应理解,在本申请的实施例中,拍摄场景如图4所示,获取训练数据的拍摄场景中包括前侧物体(第一样本对象的一个示例)、透明玻璃与背侧物体(第二样本对象的一个示例),前侧物体与背侧物体位于透明玻璃的两侧;电子设备与前侧物体处于透明玻璃的相同一侧;前侧物体可以是指前侧景物,即将透明玻璃的位置替换成镜子时,任何出现在镜子中的物体均可以看作是前侧景物,比如,前侧物体可以是指放置在透明玻璃前侧的物体,或者拍摄场景中的天空,或者拍摄场景中的用户等;由于用户透过透明玻璃对背侧物体进行拍摄,透明玻璃存在的镜面反射光与透射光会混叠在一起,导致背侧物体的部分细节信息被掩盖,因此获取的背侧物体的图像中会存在反光区域;图像去反光模型的目的在于去除背侧物体的图像中包括的前侧物体的信息。
步骤S301、获取第一样本Raw图像(第五样本图像的一个示例)。
其中,第一样本Raw图像是指在红外闪光灯开启的情况下,全通模组采集的Raw图像。
需要说明的是,在本申请的实施例中,主摄像头模组(第一相机模组的一个示例)的可以接收的光谱范围为:400nm~700nm,主摄像头模组通常采集的为RGB图像;全通模组(第二相机模组的一个示例)的可以接收的光谱范围为:400nm~1000nm。
步骤S302、获取第二样本Raw图像(第六样本图像的一个示例)。
其中,第二样本Raw图像是指在红外闪光灯关闭的情况下,全通模组采集的Raw图像。
示例性地,在获取第一样本Raw图像与第二样本Raw图像时,可以控制电子设备的曝光条件保持一致。
需要说明的是,在本申请的实施例中全通模组采集的Raw图像是指单通道的图像;全通模组采集的Raw图像用于表示光子叠加在一起的强度信息;例如,全通模组采集的Raw图像可以是在单通道的灰度图像。
步骤S303、获取第一样本RGB图像(第一样本图像的一个示例)。
其中,第一样本RGB图像是主摄像头模组采集的RGB图像,第一样本RGB图像可以表示为Iambinent。
应理解,步骤S301、步骤S302与步骤S303获取的图像为在同一场景下针对同一拍摄对象的图像。
还理解,本申请的实施例对步骤S301至步骤S303的先后顺序不作任何限定。
示例性地,上述步骤S301至步骤S303获取的图像为训练数据;在对图像去反光模型进行训练时,还需要获取目标数据;其中,图像去反光模型中可以包括第一子模型与第二子模型,第一子模型的目标数据为第一目标数据,第一目标数据可以是指在隔绝玻璃的透射光的情况下,通过主摄像头模组获取的前侧物体的RGB图像,第一目标数据可以表示为Rambinent;比如,通过黑色布将玻璃遮挡后通过主摄像头模组拍摄并通过ISP处理后的前侧物体的RGB图像,该RGB图像可以看作是纯反射光的图像;第二子模组的目标数据为第二目标数据,第二目标数据可以是指在将玻璃撤掉的情况下,通过主摄像头模组获取的背侧物体(即目标物体)的RGB图像,第二目标数据可以表示为Tambinent;比如,将玻璃撤掉后通过主摄像头模组拍摄并通过ISP处理后的背侧物体的RGB图像。
步骤S304、对第一样本Raw图像与第二样本Raw图像作差,得到第三样本Raw图像(第七样本图像的一个示例)。
示例性地,第一样本Raw图像与第二样本Raw图像可以是连续两帧的图像,二者之间的像素基本对齐;曝光条件(例如,曝光时间和iso)可以完全一致;第一样本Raw图像与第二样本Raw图像可以表示的是传感器输出的原始信号,即未经任何的非线性变换。
应理解,第三样本Raw图像可以表示只有红外闪光灯照射下的背侧物体的Raw图像,此图像只有背侧物体对红外闪光灯的透射光的信息。
还应理解,由于全通模组采集的Raw图像用于表示光子叠加在一起的强度信息;例如,全通模组采集的Raw图像可以是在单通道的灰度图像;因此,第三Raw图像是指灰度图像。
例如,通过第一样本Raw图像与第二样本Raw图像逐像素相减可以得到第三Raw图像;即其中,/>表示第一样本Raw图像,即在红外闪光灯开启的情况下,全通模组在朝向玻璃方向采集的Raw图像;/>表示第二样本Raw图像,即在红外闪光灯关闭的情况下,全通模组在朝向玻璃方向采集的Raw图像;/>表示第三样本Raw图像,即只有红外闪光灯照射下的背侧物体的Raw图像。
步骤S305、通过ISP对第三样本Raw图像进行图像处理,得到第一样本灰度图像,第一样本灰度图像可以表示为Iflash-only。
示例性地,上述图像处理可以包括但不限于:
黑电平矫正(black level correction,BLC)、镜头阴影矫正(lens shadingcorrection,LSC)、伽马处理、去噪处理、对比度提亮处理等。
应理解,由于主摄像头模组与全通模组设置在终端设备中的不同位置,主摄像头模组与全通模组之间存在一定的基线距离;因此,通过主摄像头模组采集的图像与通过全通模组采集的图像之间存在一定的视差,需要对两者采集的图像进行配准。
示例性地,通过对第一样本灰度图像进行一定的单应性变换,生成第二样本灰度图像;比如,可以通过shift算法、surf算法等对第一样本灰度图像进行变换,生成与主摄像头模组输出的图像对齐的第二样本灰度图像。
应理解,由于红外闪光相对于环境光的场强较弱,因此第二样本灰度图像中存在较大的噪声;此外,第二样本灰度图像是无法直接呈现给用户的,因此需要通过图像去反光模型提高第二样本灰度图的图像质量。
步骤S307、对第一样本RGB图像与第二样本灰度图像进行特征提取;并将提取后的图像特征进行拼接操作(contact),以拼接操作后的图像特征作为第一子模型模型的输入数据,以第一目标数据为第一子模型的目标值对第一子模型进行训练。
例如,第一目标数据(第三样本图像的一个示例)是指在隔绝玻璃的透射光的情况下,通过主摄像头模组获取的前侧物体的RGB图像;比如,通过黑色布将玻璃遮挡后通过主摄像头模组拍摄并通过ISP处理后的前侧物体的RGB图像,该RGB图像可以看作是纯反射光的图像。
应理解,第一子模型的输入数据为第一样本RGB图像与第二样本灰度图像,第一样本RGB图像中包括玻璃板前侧物体的反射光与玻璃板背侧物体(目标物体)对透射光进行反射的信息,第二样本灰度图像包括背侧物体(目标物体)对红外闪光灯的透射光进行反射的信息;第一子模型通过大量的样本数据可以学习将第二样本灰度图像信息从第一样本RGB图像中分离,即学习从包括玻璃板前侧物体的反射光与玻璃板背侧物体(目标物体)对透射光进行反射的信息中,分离出只包括玻璃板的前侧物体的反射光的信息。
步骤S308、根据第一样本RGB图像与第二样本灰度图像进行拼接操作,得到第一图像特征;以第一图像特征为输入数据输入至第一子模型,得到第一预测图像。
示例性地,根据第一预测图像与第一目标数据之间的差异通过反向传播算法对第一子模型的参数进行迭代,直至第一子模型的参数收敛,得到训练后的第一子模型。
可选地,第一子模型为卷积神经网络;比如,第一子模型为U型网络结构。
步骤S309、根据第一样本RGB图像与第一预测图像进行拼接操作,得到第二图像特征;以第二图像特征为输入数据输入至第二子模型,以第二目标数据为第二子模型的目标值。
例如,第二目标数据(第四样本图像的一个示例)是指在将玻璃撤掉的情况下,通过主摄像头模组获取的背侧物体(即目标物体)的RGB图像;比如,将玻璃撤掉后通过主摄像头模组拍摄并通过ISP处理后的背侧物体的RGB图像。
步骤S310、第二子模型输出第二预测图像。
应理解,第二子模型的输入数据为第一样本RGB图像与第一预测图像,第一样本RGB图像中包括玻璃板前侧物体的反射光与玻璃板背侧物体(目标物体)的对透射光进行反射的信息,第一预测图像是指玻璃板前侧物体的反射光的图像;第二子模型通过大量的样本数据可以学习将第一预测图像从第一样本RGB图像中分离,即学习从包括玻璃板前侧物体的反射光与玻璃板背侧物体(目标物体)的对透射光进行反射的信息中,分离出只包括玻璃板的背侧物体(目标物体)对透射光进行反射的信息。
示例性地,根据第二预测图像与第二目标数据之间的差异通过反向传播算法对第二子模型的参数进行迭代,直至第二子模型的参数收敛,得到训练后的第二子模型。
可选地,第二子模型为卷积神经网络;比如,第二子模型为U型网络结构。
需要说明的是,第一子模型与第二子模型可以是指图像去反光模型中的两个子模型;两个子模型为串联的模型,即输入数据先经过第一子模型的处理;第一子模型的输出数据可以作为第二子模型的输入数据;图像去反光模型的整个网络训练可以采用分段式的训练方式,比如,先训练第一子模型;在第一子模型收敛后可以固定第一子模型的权重,再训练第二子模型。
在本申请的实施例中,通过主摄像头模组、全通模组与红外闪光灯获取训练数据;在红外闪光灯开启的情况下,获取第一样本Raw图像;在红外闪光灯关闭的情况下,获取第二样本Raw图像;通过对第一样本Raw图像与第二样本Raw图像作差,得到仅与背侧物体(目标物体)相关的光路信息;通过以背侧物体的信息作为先验信息对图像去反光模型进行训练,从而能够提高图像去反光模型的泛化能力。
在本申请的实施例中,通过图5所示的训练方法得到的图像去反光模型可以应用于图像去反光处理,从而去除图像中的镜面反光;下面结合图6对本申请实施例提供的图像去反光的方法进行详细描述。
实现方式一
在一个示例中,终端设备在获取当前帧图像时,可以自动识别当前帧图像的场景分类信息;并识别该场景中是否存在玻璃镜面,若当前帧图像中存在玻璃镜面则终端设备可以自动执行本申请实施例提供的图像去反光的方法。
图6是本申请实施例提供的图像去反光的方法的示意图。图6所示的方法可以由图1所示的装置(例如,电子设备)执行,或者,由配置于图1所示的装置中的芯片执行;图6所示的图像去反光的方法400包括步骤S401至步骤S411,下面分别对步骤S401至步骤S411进行详细的描述。
需要说明的是,本申请实施例涉及的拍摄场景中包括前侧物体(第一拍摄对象的一个示例)、透明玻璃与目标物体(第二拍摄对象的一个示例),前侧物体与目标物体位于透明玻璃的两侧;终端设备与前侧物体处于透明玻璃的相同一侧;前侧物体可以是指前侧景物,即将透明玻璃的位置替换成镜子时,任何出现在镜子中的物体均可以看作是前侧景物,比如,前侧物体可以是指放置在透明玻璃前侧的物体,或者拍摄场景中的天空,或者拍摄场景中的用户等;由于用户透过透明玻璃对目标物体进行拍摄,透明玻璃存在的镜面反射光与透射光会混叠在一起,导致目标物体的部分细节信息被掩盖,因此获取的目标物体的图像中会存在反光区域;图像去反光的目的在于去除目标物体的图像中包括的前侧物体的信息。
步骤S401、获取当前帧图像。
可选地,电子设备显示拍照界面;检测到用户点击指示拍照的控件后,电子设备获取拍摄场景的当前帧图像。
步骤S402、获取当前帧图像的场景分类信息。
示例性地,场景分类信息可以包括但不限于:绿植场景、人像场景、室内场景或者室外场景等。
可选地,可以通过大量样本数据训练得到场景分类神经网络;场景分类神经网络可以识别当前帧图像的场景分类信息,并输出当前帧图像对应的场景标签。
步骤S403、判断当前场景是否存在玻璃镜面反光;若存在玻璃镜面反光,则执行步骤S404;若不存在玻璃镜面反光,则执行步骤S411。
示例性地,可以通过大量样本数据学习得到二分类神经网络,通过二分类神经网络可以识别拍摄场景是否存在玻璃镜面反光;例如,样本数据可以包括第一样本图像与第二样本图像,第一样本图像与第二样本图像是属于同一分类场景的图像;第一样本图像中包括第二样本图像的图像信息与透明玻璃的信息。
步骤S404、获取主摄像头模组拍摄的RGB图像(第一图像的一个示例)与全通模组拍摄的第一Raw图像(第二图像的一个示例)。
其中,第一Raw图像是指关闭电子设备的红外闪光灯时,全通模组采集的Raw图像。
步骤S405、开启红外闪光灯。
在本申请的实施例中,电子设备中包括红外闪光灯,由于红外闪光灯的开启状态与关闭状态对于用户是不可见的;因此,可以在用户无感知的情况下,执行本申请实施例的图像去反光的方法,能够去除图像中的镜面反光,提高图像去反光的效果。
步骤S406、获取全通模组拍摄的第二Raw图像(第三图像的一个示例)。
其中,第二Raw图像是指开启红外闪光灯时,全通模组采集的Raw图像。
步骤S407、关闭红外闪光灯。
可选地,在执行完步骤S406之后,也可以直接执行步骤S408。
步骤S408、根据第一Raw图像与第二Raw图像,得到第三Raw图像(第六图像的一个示例)。
例如,通过对第一Raw图像与第二Raw图像进行像素相减,得到第三Raw图像。
应理解,第一Raw图像与第二Raw图像是连续两帧的图像,两帧图像分别是在关闭红外闪光灯与开启红外闪光灯的情况下采集的,两帧图像之间像素基本对齐;通过对两帧图像进行像素相减,可以得到只有红外闪光灯照射的背侧物体的图像,例如图4中的(c)所示。
还应理解,在本申请的实施例中全通模组采集的Raw图像是指单通道的图像;全通模组采集的Raw图像用于表示光子叠加在一起的强度信息;例如,全通模组采集的Raw图像可以是在单通道的灰度图像。
步骤S409、对第三Raw图像进行图像处理与配准处理,得到第二灰度图像(第四图像的一个示例)。
示例性地,可以通过ISP对第三Raw图像进行图像处理,得到第一灰度图像;以第一RGB图像为基准对第一灰度图像进行配准处理,得到第二灰度图像。
步骤S410、将第一RGB图像与第二灰度图像输入至训练后的图像去反光模型,得到去反光后的RGB图像。
示例性地,图像去反光模型中包括第一子模型与第二子模型;将第一RGB图像与第二灰度图像输入至图像去反光模型,通过第一子模型的处理可以得到第一预测RGB图像,第一预测RGB图像中包括前侧物体对可见光的反射信息;将第一预测图像与第一RGB图像输入第二子模型,得到去除反光后的RGB图像;其中,图像去反光模型的训练方法可以参见图5所示,此处不再赘述。
步骤S411、输出处理后的图像;例如,在图像中存在镜面反光时,输出图像去反光处理后的RGB图像(第五图像的一个示例)。
在本申请的实施例中,通过主摄像头模组与全通模组获取拍摄场景的图像;由于主摄像头模组接收的光谱范围为可见光区域(例如,400nm~700nm),全通模组接收的光谱范围为可见光区域与近红外光区域(例如,400nm~1000nm);因此,两个摄像模组的光谱信息可以是互补的,获取的拍摄场景的信息量更多;通过本申请实施例提供的图像去反光的方法可以提升图像反光的效果,提高去反光图像的清晰度。
实现方式二
在一个示例中,在拍摄当前帧图像时,用户可以识别到该拍摄场景中是否存在镜面反光;在该场景下存在镜面反光时,用户可以开启电子设备的去反光模式;在电子设备识别用户开启去反光模式后,执行本申请实施例的去除图像中镜面反光的方法。
例如,如图6所示,电子设备检测到用户开启去反光模式后,可以执行步骤S404至步骤S411;具体描述可以参见图6所示的描述,此处不再赘述。
图7是本申请实施例提供的图像去反光的方法的效果示意图。
如图7所示,在拍摄场景中存在镜面反光时,图7中的(a)所示的图像是通过主摄像头模组拍摄的图像;图7中的(b)是通过本申请实施例的图像去反光的方法处理后的图像;与图7中的(a)所示的图像相比,图7中的(b)所示的图像中有效的减少反光区域;因此,通过本申请实施例提供的图像去反光的方法在对图像进行去反光处理,能够去除图像中的镜面反光,提高图像去反光的效果。
示例性地,在拍摄场景中存在玻璃时,用户可以在电子设备的相机应用程序中开启去反光模式,则在电子设备能够通过本申请实施例提供的图像去反光的方法对传采集的图像进行去反光处理,从而输出处理后的图像或者视频。
图8示出了电子设备的一种图形用户界面(graphical user interface,GUI)。
如图8中的(a)所示的GUI可以是相机应用程序在拍照模式下的显示界面,该显示界面中可以包括拍摄界面510;拍摄界面510上可以包括取景框511与控件;比如,取景框511中可以包括用于指示拍照的控件512与用于指示设置的控件513;检测到用户点击控件513的操作,响应于用户操作显示设置界面,如图8中的(b)所示;在设置界面上包括去反光模式514,检测到用户开启去反光模式;在电子设备开启去反光模式后,可以执行本申请实施例提供的图像去反光的方法。
可选地,如图9中的(a)所示的拍摄界面510中可以包括用于指示设置的控件513;检测到用户点击控件513的操作,响应于用户操作显示设置界面,如图9中的(b)所示;在设置界面上包括人工智能(artificial intelligence,AI)去反光模式控件515,检测到用户开启AI去反光模式空间515;在用户开启AI去反光模式后,用户可以无需手动选择开启去反光模式;即电子设备可以根据拍摄场景自动识别是否存在玻璃,若拍摄场景中存在玻璃则电子设备自动开启去反光模式;开启去反光模式后可以执行本申请实施例提供的图像去反光的方法。
可选地,如图10所示在拍照模式下,拍摄界面510中还可以包括控件516,控件516用于指示开启/关闭去反光模式;在电子设备检测到用户点击控件516的操作后,电子设备可以开启去反光模式,执行本申请实施例提供的图像去反光的方法。
在本申请的实施例中,通过第一相机模组与第二相机模组获取拍摄场景的图像;由于第一相机模组接收的光谱范围为可见光区域(例如,400nm~1000nm),第二相机模组接收的光谱范围为可见光区域与近红外光区域(例如,780nm~1000nm);因此,两个相机模组的光谱信息可以是互补的,获取的拍摄场景的信息量更多;通过本申请实施例提供的图像去反光的方法可以提升图像反光的效果,提高去反光图像的清晰度。此外,本申请实施例中电子设备包括红外闪光灯,由于红外闪光灯的开启状态与关闭状态对于用户是不可见的;因此,可以在用户无感知的情况下,执行本申请实施例的图像去反光的方法,提高图像的去反光效果。
应理解,上述举例说明是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的上述举例说明,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
上文结合图1至图10详细描述了本申请实施例提供的图像去反光模型的训练方法与图像去反光的方法;下面将结合图11至图13详细描述本申请的装置实施例。应理解,本申请实施例中的装置可以执行前述本申请实施例的各种方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
图11是本申请实施例提供的一种图像去反光模型的训练装置的结构示意图。该训练装置700包括获取模块710与处理模块720。
其中,所述获取模块710用于获取训练数据,其中,所述训练数据包括第一样本图像、第二样本图像、第三样本图像与第四样本图像,所述第一样本图像为通过第一相机模组获取的样本拍摄场景的图像;所述样本拍摄场景包括第一样本对象、透明玻璃与第二样本对象,所述第一样本对象与所述第二样本对象位于所述透明玻璃的两侧;所述第二样本图像是通过第二相机模组获取的用于表示所述第二样本对象对第一透射光的反射信息的图像,所述第一透射光是通过近红外光透过所述透明玻璃得到的;所述第一相机模组接收的光谱为可见光,所述第二相机模组接收的光谱为所述可见光与近红外光;所述第三样本图像是指在遮挡所述透明玻璃的情况下,通过所述第一相机模组获取的所述第一样本对象的图像;所述第四样本图像是指通过所述第一相机模组获取的所述第二样本对象的图像;所述处理模块720用于以所述第一样本图像与所述第二样本图像为输入数据,以所述第三样本图像为第一目标数据训练第一子模型,得到训练后的第一子模型,所述第一子模型用于分离所述第一样本对象对所述可见光的反射信息;以所述训练后的第一子模型的输出数据与所述第一样本图像为输入数据,以所述第四样本图像为第二目标数据训练第二子模型,得到训练后的第二子模型,所述第二子模型用于分离所述第二样本对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
可选地,作为一个实施例,所述获取模块710具体用于:
在红外闪光灯开启时,通过所述第二相机模组获取所述样本拍摄场景的第五样本图像;
在所述红外闪光灯关闭时,通过所述第二相机模组获取所述样本拍摄场景的第六样本图像;
所述处理模块720用于:
根据所述第五样本图像与所述第六样本图像得到所述第二样本图像。
可选地,作为一个实施例,所述处理模块720用于:
对所述第五样本图像与所述第六样本图像进行作差,得到第七样本图像;
以所述第一样本图像为基准对所述第七样本图像进行配准处理,得到所述第二样本图像。
可选地,作为一个实施例,所述第一子模型的参数是根据所述第一子模型输出的预测数据与所述第一目标数据之间的差异通过反向传播算进行迭代得到的。
可选地,作为一个实施例,所述第二子模型的参数是根据所述第二子模型输出的预测数据与所述第二目标数据之间的差异通过反向传播算进行迭代得到的。
需要说明的是,上述训练装置700以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图12是本申请实施例提供的一种图像去反光的装置的结构示意图。该装置800包括显示模块810与处理模块820;装置800还包括第一相机模组、第二相机模组与红外闪光灯,第一相机模组接收的光谱为可见光,第二相机模组接收的光谱为可见光与近红外光。
其中,所述显示模块810用于显示第一界面,所述第一界面包括第一控件;所述处理模块820用于检测到对所述第一控件的第一操作;响应于所述第一操作,获取第一图像与第二图像,所述第一图像是通过所述第一相机模组获取的拍摄场景的图像,所述第二图像是通过所述第二相机模组获取的所述拍摄场景的图像,所述拍摄场景包括第一拍摄对象、透明玻璃与第二拍摄对象,所述第一拍摄对象与所述第二拍摄对象位于所述透明玻璃的两侧;开启所述红外闪光灯,获取第三图像,所述第三图像是通过所述第一相机模组获取的所述拍摄场景的图像;根据所述第二图像与所述第三图像得到第四图像,所述第四图像用于表示所述第二拍摄对象对第一透射光的反射信息,所述第一透射光是通过所述近红外光透过所述透明玻璃得到的;将所述第一图像与所述第四图像输入至图像去反光模型,得到第五图像;其中,所述图像去反光模型中包括第一子模型与第二子模型,所述第一子模型用于分离所述第一拍摄对象对所述可见光的反射信息;所述第二子模型用于分离所述第二拍摄对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
可选地,作为一个实施例,所述处理模块820还用于:
确定所述拍摄场景的分类信息,所述分类信息用于指示所述拍摄场景所属的场景分类;
根据所述分类信息确定所述拍摄场景中存在镜面反射。
可选地,作为一个实施例,所述处理模块820还用于:
检测到第二操作,所述第二操作用于指示所述拍摄场景中存在镜面反射。
可选地,作为一个实施例,所述处理模块820具体用于:
对所述第二图像与所述第三图像进行作差,得到第六图像;
以所述第一图像为基准对所述第六图像进行配准处理,得到所述第四图像。
可选地,作为一个实施例,所述第一界面是指所述电子设备的主屏界面,所述主屏界面包括相机应用程序,所述第一控件是指所述相机应用程序对应的控件。
可选地,作为一个实施例,所述第一界面是指视频录制界面,所述第一控件是指用于指示录制视频的控件。
可选地,作为一个实施例,所述第一界面是指视频通话界面,所述第一控件是指用于指示视频通话的控件。
需要说明的是,上述装置800以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图13示出了本申请提供的一种电子设备的结构示意图。图13中的虚线表示该单元或该模块为可选的;电子设备900可以用于实现上述方法实施例中描述的方法。
电子设备900包括一个或多个处理器901,该一个或多个处理器901可支持电子设备900实现方法实施例中的图像去反光模型的训练方法,或者图像去反光的方法。处理器901可以是通用处理器或者专用处理器。例如,处理器901可以是中央处理器(centralprocessing unit,CPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其它可编程逻辑器件,如分立门、晶体管逻辑器件或分立硬件组件。
处理器901可以用于对电子设备900进行控制,执行软件程序,处理软件程序的数据。电子设备900还可以包括通信单元905,用以实现信号的输入(接收)和输出(发送)。
例如,电子设备900可以是芯片,通信单元905可以是该芯片的输入和/或输出电路,或者,通信单元905可以是该芯片的通信接口,该芯片可以作为终端设备或其它电子设备的组成部分。
又例如,电子设备900可以是终端设备,通信单元905可以是该终端设备的收发器,或者,通信单元905可以是该终端设备的收发电路。
电子设备900中可以包括一个或多个存储器902,其上存有程序904,程序904可被处理器901运行,生成指令903,使得处理器901根据指令903执行上述方法实施例中描述的训练方法,或者图像去反光的方法。
可选地,存储器902中还可以存储有数据。可选地,处理器901还可以读取存储器902中存储的数据,该数据可以与程序904存储在相同的存储地址,该数据也可以与程序904存储在不同的存储地址。
处理器901和存储器902可以单独设置,也可以集成在一起,例如,集成在终端设备的系统级芯片(system on chip,SOC)上。
示例性地,存储器902可以用于存储本申请实施例中提供的图像去反光模型的训练方法的相关程序904,处理器901可以用于在执行训练图像去反光模型时调用存储器902中存储的图像去反光模型的训练方法的相关程序904,执行本申请实施例的图像去反光模型的训练方法;例如,获取训练数据,其中,所述训练数据包括第一样本图像、第二样本图像、第三样本图像与第四样本图像,所述第一样本图像为通过第一相机模组获取的样本拍摄场景的图像;所述样本拍摄场景包括第一样本对象、透明玻璃与第二样本对象,所述第一样本对象与所述第二样本对象位于所述透明玻璃的两侧;所述第二样本图像是通过第二相机模组获取的用于表示所述第二样本对象对第一透射光的反射信息的图像,所述第一透射光是通过近红外光透过所述透明玻璃得到的;所述第一相机模组接收的光谱为可见光,所述第二相机模组接收的光谱为所述可见光与近红外光;所述第三样本图像是指在遮挡所述透明玻璃的情况下,通过所述第一相机模组获取的所述第一样本对象的图像;所述第四样本图像是指通过所述第一相机模组获取的所述第二样本对象的图像;以所述第一样本图像与所述第二样本图像为输入数据,以所述第三样本图像为第一目标数据训练第一子模型,得到训练后的第一子模型,所述第一子模型用于分离所述第一样本对象对所述可见光的反射信息;以所述训练后的第一子模型的输出数据与所述第一样本图像为输入数据,以所述第四样本图像为第二目标数据训练第二子模型,得到训练后的第二子模型,所述第二子模型用于分离所述第二样本对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
示例性地,存储器902可以用于存储本申请实施例中提供的图像去反光的方法的相关程序904,处理器901可以用于在执行图像去反光时调用存储器902中存储的图像去反光的方法的相关程序904,执行本申请实施例的图像去反光的方法;例如,显示第一界面,所述第一界面包括第一控件;检测到对所述第一控件的第一操作;响应于所述第一操作,获取第一图像与第二图像,所述第一图像是通过所述第一相机模组获取的拍摄场景的图像,所述第二图像是通过所述第二相机模组获取的所述拍摄场景的图像,所述拍摄场景包括第一拍摄对象、透明玻璃与第二拍摄对象,所述第一拍摄对象与所述第二拍摄对象位于所述透明玻璃的两侧;开启所述红外闪光灯,获取第三图像,所述第三图像是通过所述第一相机模组获取的所述拍摄场景的图像;根据所述第二图像与所述第三图像得到第四图像,所述第四图像用于表示所述第二拍摄对象对第一透射光的反射信息,所述第一透射光是通过所述近红外光透过所述透明玻璃得到的;将所述第一图像与所述第四图像输入至图像去反光模型,得到第五图像;其中,所述图像去反光模型中包括第一子模型与第二子模型,所述第一子模型用于分离所述第一拍摄对象对所述可见光的反射信息;所述第二子模型用于分离所述第二拍摄对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
本申请还提供了一种计算机程序产品,该计算机程序产品被处理器901执行时实现本申请中任一方法实施例所述的训练方法或者图像去反光的方法。
该计算机程序产品可以存储在存储器902中,例如是程序904,程序904经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器901执行的可执行目标文件。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的训练方法或者图像去反光的方法;该计算机程序可以是高级语言程序,也可以是可执行目标程序。
该计算机可读存储介质例如是存储器902。存储器902可以是易失性存储器或非易失性存储器,或者,存储器902可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmableROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamicRAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和设备的具体工作过程以及产生的技术效果,可以参考前述方法实施例中对应的过程和技术效果,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (17)
1.一种图像去反光的方法,其特征在于,应用于电子设备,所述电子设备包括第一相机模组、第二相机模组与红外闪光灯,所述第一相机模组接收的光谱为可见光,所述第二相机模组接收的光谱为所述可见光与近红外光,所述方法包括:
显示第一界面,所述第一界面包括第一控件;
检测到对所述第一控件的第一操作;
响应于所述第一操作,获取第一图像与第二图像,所述第一图像是通过所述第一相机模组获取的拍摄场景的图像,所述第二图像是通过所述第二相机模组获取的所述拍摄场景的图像,所述拍摄场景包括第一拍摄对象、透明玻璃与第二拍摄对象,所述第一拍摄对象与所述第二拍摄对象位于所述透明玻璃的两侧;
开启所述红外闪光灯,获取第三图像,所述第三图像是通过所述第一相机模组获取的所述拍摄场景的图像;
根据所述第二图像与所述第三图像得到第四图像,所述第四图像用于表示所述第二拍摄对象对第一透射光的反射信息,所述第一透射光是通过所述近红外光透过所述透明玻璃得到的;
将所述第一图像与所述第四图像输入至图像去反光模型,得到第五图像;
其中,所述图像去反光模型中包括第一子模型与第二子模型,所述第一子模型用于分离所述第一拍摄对象对所述可见光的反射信息;所述第二子模型用于分离所述第二拍摄对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
2.如权利要求1所述的方法,其特征在于,还包括:
确定所述拍摄场景的分类信息,所述分类信息用于指示所述拍摄场景所属的场景分类;
根据所述分类信息确定所述拍摄场景中存在镜面反射。
3.如权利要求1所述的方法,其特征在于,还包括:
检测到第二操作,所述第二操作用于指示所述拍摄场景中存在镜面反射。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述根据所述第一图像与所述第三图像得到第四图像,包括:
对所述第二图像与所述第三图像进行作差,得到第六图像;
以所述第一图像为基准对所述第六图像进行配准处理,得到所述第四图像。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述第一界面是指所述电子设备的主屏界面,所述主屏界面包括相机应用程序,所述第一控件是指所述相机应用程序对应的控件。
6.如权利要求1至4中任一项所述的方法,其特征在于,所述第一界面是指视频录制界面,所述第一控件是指用于指示录制视频的控件。
7.如权利要求1至4中任一项所述的方法,其特征在于,所述第一界面是指视频通话界面,所述第一控件是指用于指示视频通话的控件。
8.一种图像去反光模型的训练方法,其特征在于,所述图像去反光模型中包括第一子模型与第二子模型,包括:
获取训练数据,其中,所述训练数据包括第一样本图像、第二样本图像、第三样本图像与第四样本图像,所述第一样本图像为通过第一相机模组获取的样本拍摄场景的图像;所述样本拍摄场景包括第一样本对象、透明玻璃与第二样本对象,所述第一样本对象与所述第二样本对象位于所述透明玻璃的两侧;所述第二样本图像是通过第二相机模组获取的用于表示所述第二样本对象对第一透射光的反射信息的图像,所述第一透射光是通过近红外光透过所述透明玻璃得到的;所述第一相机模组接收的光谱为可见光,所述第二相机模组接收的光谱为所述可见光与近红外光;所述第三样本图像是指在遮挡所述透明玻璃的情况下,通过所述第一相机模组获取的所述第一样本对象的图像;所述第四样本图像是指通过所述第一相机模组获取的所述第二样本对象的图像;
以所述第一样本图像与所述第二样本图像为输入数据,以所述第三样本图像为第一目标数据训练所述第一子模型,得到训练后的第一子模型,所述第一子模型用于分离所述第一样本对象对所述可见光的反射信息;
以所述训练后的第一子模型的输出数据与所述第一样本图像为输入数据,以所述第四样本图像为第二目标数据训练所述第二子模型,得到训练后的第二子模型,所述第二子模型用于分离所述第二样本对象对第二透射光的反射信息,所述第二透射光是通过所述可见光透过所述透明玻璃得到的。
9.如权利要求8所述的训练方法,其特征在于,所述获取训练数据,包括:
在红外闪光灯开启时,通过所述第二相机模组获取所述样本拍摄场景的第五样本图像;
在所述红外闪光灯关闭时,通过所述第二相机模组获取所述样本拍摄场景的第六样本图像;
根据所述第五样本图像与所述第六样本图像得到所述第二样本图像。
10.如权利要求9所述的训练方法,其特征在于,所述根据所述第五样本图像与所述第六样本图像得到所述第二样本图像,包括:
对所述第五样本图像与所述第六样本图像进行作差,得到第七样本图像;
以所述第一样本图像为基准对所述第七样本图像进行配准处理,得到所述第二样本图像。
11.如权利要求8至10中任一项所述的训练方法,其特征在于,所述第一子模型的参数是根据所述第一子模型输出的预测数据与所述第一目标数据之间的差异通过反向传播算进行迭代得到的。
12.如权利要求8至11中任一项所述的训练方法,其特征在于,所述第二子模型的参数是根据所述第二子模型输出的预测数据与所述第二目标数据之间的差异通过反向传播算进行迭代得到的。
13.一种图像去反光的装置,其特征在于,包括:
一个或多个处理器和存储器;
所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述装置执行如权利要求1至7中任一项所述的方法。
14.一种图像去反光模型的训练装置,其特征在于,包括:
一个或多个处理器和存储器;
所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述训练装置执行如权利要求8至12中任一项所述的训练方法。
15.一种芯片系统,其特征在于,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行如权利要求1至7,或者8至12中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求1至7,或者8至12中任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被处理器执行时,使得处理器执行权利要求1至7,或者8至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111488290.5A CN116258633A (zh) | 2021-12-07 | 2021-12-07 | 图像去反光的方法、图像去反光模型的训练方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111488290.5A CN116258633A (zh) | 2021-12-07 | 2021-12-07 | 图像去反光的方法、图像去反光模型的训练方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116258633A true CN116258633A (zh) | 2023-06-13 |
Family
ID=86682997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111488290.5A Pending CN116258633A (zh) | 2021-12-07 | 2021-12-07 | 图像去反光的方法、图像去反光模型的训练方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116258633A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422646A (zh) * | 2023-12-19 | 2024-01-19 | 荣耀终端有限公司 | 去反光模型的训练方法、去反光模型和去反光方法 |
-
2021
- 2021-12-07 CN CN202111488290.5A patent/CN116258633A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422646A (zh) * | 2023-12-19 | 2024-01-19 | 荣耀终端有限公司 | 去反光模型的训练方法、去反光模型和去反光方法 |
CN117422646B (zh) * | 2023-12-19 | 2024-05-10 | 荣耀终端有限公司 | 去反光模型的训练方法、去反光模型和去反光方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11335079B2 (en) | Method and system of reflection suppression for image processing | |
WO2020192483A1 (zh) | 图像显示方法和设备 | |
CN115550570B (zh) | 图像处理方法与电子设备 | |
CN115633262B (zh) | 图像处理方法和电子设备 | |
WO2023040725A1 (zh) | 白平衡处理方法与电子设备 | |
US11989863B2 (en) | Method and device for processing image, and storage medium | |
CN116055895B (zh) | 图像处理方法及其装置、芯片系统和存储介质 | |
CN116258633A (zh) | 图像去反光的方法、图像去反光模型的训练方法与装置 | |
US20240281931A1 (en) | Image processing method and electronic device | |
CN116668838B (zh) | 图像处理方法与电子设备 | |
CN117135471B (zh) | 一种图像处理方法和电子设备 | |
EP4231621A1 (en) | Image processing method and electronic device | |
CN116437198B (zh) | 图像处理方法与电子设备 | |
CN115767290B (zh) | 图像处理方法和电子设备 | |
CN115908120B (zh) | 图像处理方法和电子设备 | |
US20240251180A1 (en) | Image processing method and electronic device | |
CN116668837B (zh) | 显示缩略图像的方法和电子设备 | |
CN115955611B (zh) | 图像处理方法与电子设备 | |
CN116128739A (zh) | 下采样模型的训练方法、图像处理方法及装置 | |
CN115988311A (zh) | 图像处理方法与电子设备 | |
WO2021154807A1 (en) | Sensor prioritization for composite image capture | |
CN115767287B (zh) | 图像处理方法与电子设备 | |
CN116723417B (zh) | 一种图像处理方法和电子设备 | |
US20230370727A1 (en) | High dynamic range (hdr) image generation using a combined short exposure image | |
CN118509715A (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 |