CN113518210B - 图像自动白平衡的方法及装置 - Google Patents
图像自动白平衡的方法及装置 Download PDFInfo
- Publication number
- CN113518210B CN113518210B CN202010817963.6A CN202010817963A CN113518210B CN 113518210 B CN113518210 B CN 113518210B CN 202010817963 A CN202010817963 A CN 202010817963A CN 113518210 B CN113518210 B CN 113518210B
- Authority
- CN
- China
- Prior art keywords
- image
- camera
- neural network
- shooting
- light source
- 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
- 238000000034 method Methods 0.000 title claims abstract description 190
- 238000003062 neural network model Methods 0.000 claims abstract description 166
- 238000012545 processing Methods 0.000 claims abstract description 141
- 230000008569 process Effects 0.000 claims abstract description 80
- 230000015654 memory Effects 0.000 claims description 70
- 230000005012 migration Effects 0.000 claims description 20
- 238000013508 migration Methods 0.000 claims description 20
- 101100248200 Arabidopsis thaliana RGGB gene Proteins 0.000 claims description 12
- 230000035945 sensitivity Effects 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 description 84
- 238000013528 artificial neural network Methods 0.000 description 82
- 238000004422 calculation algorithm Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 45
- 238000000605 extraction Methods 0.000 description 32
- 239000010410 layer Substances 0.000 description 32
- 238000004891 communication Methods 0.000 description 24
- 230000004927 fusion Effects 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 238000001514 detection method Methods 0.000 description 19
- 238000007781 pre-processing Methods 0.000 description 17
- 238000012937 correction Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 16
- 238000012805 post-processing Methods 0.000 description 13
- 238000013527 convolutional neural network Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 12
- 230000011218 segmentation Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000003384 imaging method Methods 0.000 description 11
- 230000001537 neural effect Effects 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 210000002569 neuron Anatomy 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 6
- 238000007635 classification algorithm Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000001149 cognitive effect Effects 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 5
- 239000003086 colorant Substances 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 210000000887 face Anatomy 0.000 description 4
- 238000003709 image segmentation Methods 0.000 description 4
- 230000007935 neutral effect Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 206010034972 Photosensitivity reaction Diseases 0.000 description 3
- 230000004075 alteration Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000036211 photosensitivity Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000003705 background correction Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 238000003707 image sharpening Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004456 color vision Effects 0.000 description 1
- 238000004737 colorimetric analysis Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/10—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/84—Camera processing pipelines; Components thereof for processing colour signals
- H04N23/88—Camera processing pipelines; Components thereof for processing colour signals for colour balance, e.g. white-balance circuits or colour temperature control
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Color Television Image Signal Generators (AREA)
- Studio Devices (AREA)
- Processing Of Color Television Signals (AREA)
Abstract
本申请提供了图像自动白平衡的方法及装置,该方法包括:获取电子设备的第一摄像头拍摄原始RAW域图像时采用的拍摄参数;获取原始RAW域图像对应的多通道图像;将输入数据输入第一神经网络模型得到白平衡的第一增益值,输入数据至少包括第一摄像头的拍摄参数和多通道图像;对多通道图像进行第一处理得到目标图像;其中,第一处理包括基于多通道图像和增益值的白平衡处理。实施本申请的实施例能够提高电子设备的图像白平衡的准确性和稳定性,提升用户使用体验。
Description
技术领域
本申请涉及人工智能领域,尤其涉及摄影技术领域的图像自动白平衡的方法及装置。
背景技术
随着手机芯片的快速发展,手机的拍照功能变得越来越丰富,用户对于手机拍摄出的图片的基础质量(颜色,清晰度等)提出了更高的要求。其中,颜色是评价手机拍照质量好坏的重要因素之一,而自动白平衡(Auto White Balance,AWB)又是图片颜色形成的重要一环。
人类视觉系统具有颜色恒常性特点,即人的视觉系统可以抵制这种光源颜色变化,从而恒定的感知物体的颜色。但是图像传感器(Sensor)在不同光线下,物体呈现的颜色不同,例如,在自然环境下,同一物体在不同颜色的光的照射下会呈现不同的颜色,比如绿色的树叶在晨光照射下偏黄色,而在傍晚时分却偏蓝色。为了消除光源对于图像传感器成像的影响,模拟人类视觉系统的颜色恒常性,保证在任何场景下看到的白色是真正的白色,需要引入自动白平衡技术。
白平衡是描述显示屏中红、绿、蓝三基色混合生成后白色精确度的一项指标,自动白平衡技术主要用于解决不同光源下图像偏色的问题,使得图像中景物的影像符合人眼的色彩视觉习惯。自动白平衡处理中的计算性颜色恒常正是致力于解决这一问题,它的主要目的是计算任意一幅图像所表征的未知光源的颜色,然后用该光源颜色对输入图像进行颜色校正,实现在标准的白光下的显示。
目前,如何实现高要求的AWB是一种亟待解决的技术挑战。
发明内容
本申请实施例提供了图像自动白平衡的方法及装置,能够提高电子设备的图像白平衡的准确性和稳定性,提升用户使用体验。
第一方面,本申请实施例提供了一种图像自动白平衡的方法,该方法应用于包括第一摄像头的电子设备,包括:获取所述第一摄像头拍摄原始RAW域图像时采用的拍摄参数;获取所述原始RAW域图像对应的多通道图像;将输入数据输入第一神经网络模型得到白平衡的第一增益值;所述输入数据至少包括所述第一摄像头的拍摄参数和所述多通道图像;对所述多通道图像进行第一处理,得到目标图像;其中,所述第一处理包括基于所述多通道图像和所述第一增益值的白平衡处理。
其中,原始RAW域图像可简称RAW图像,RAW图像可以是CMOS或者CCD图像传感器将摄像头捕捉到的光源信号转化为数字信号的原始数据。
拍摄参数表示执行拍摄时采用的参数,例如摄像头、图像传感器等等采用的拍摄参数。或者,拍摄参数还可以理解为执行拍摄时处理器对摄像头、图像传感器进行控制时产生的控制参数。拍摄参数优选的可包括曝光值,可选的还可包括曝光时间(快门时间)、ISO感光度、光圈大小等中的一者或多者。
多通道图像是指每个像素点可以用多个图像通道的值(或颜色分量)来表示的图像。图像通道在RGB色彩模式下就是指在下就是指那单独的红色R、绿色G、蓝色B部分。
本申请可利用拍摄参数为光源颜色估计提供拍摄配置上的参考,以辅助白平衡的处理过程。所述处理包括利用神经网络模型实现的白平衡处理,神经网络模型用于至少根据所述拍摄参数和所述多通道图像获得白平衡的增益值或者白平衡处理所需的图像光源值(增益值与图像光源值互为倒数关系)。本申请实施例中描述的神经网络模型从类型上将可以是单个神经网络模型,也可以是两个或多个神经网络模型的组合。
输出增益值或图像光源值后,电子设备可利用该增益值或图像光源值对通道图像进行白平衡处理,从而实现对光源色温引起的图像色差的校正,以使得图像中物体的颜色接近其原本的颜色,图像整体呈现出的效果符合人眼的视觉习惯和认知习惯。
可以看到,本申请实施例利用了RAW图像对应的多通道图像作为神经网络模型的输入,为AWB神经网络模型提供了更多的颜色信息。又增加了拍摄参数作为AWB神经网络模型的输入,为光源估计提供了拍摄配置信息,能提高AWB神经网络模型针对不同光源场景的辨别能力,保证了良好的光源估计精度。所以实施本申请有利于提高电子设备的白平衡准确性,提高单帧拍照以及视频场景的AWB的稳定性,以及在多光源等歧义场景下的倾向稳定性。
基于第一方面,在可能的实施例中,神经网络模型可以是基于深度学习的方式构建的模型,例如可以是深度神经网络(deep neural network,DNN)模型、卷积神经网络(convolutional neuron network,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)或者循环神经网络(Recurrent Neural Network,RNN)中的一种,或多种的融合,等等。
基于第一方面,在一种模型实现方式中,所述第一神经网络模型是通过融合第一摄像头的拍摄参数和所述多通道图像的图像特征来实现对所述第一增益值的预测的。
一种实施例中,所述第一神经网络模型可包括第一特征提取网络、特征融合网络和光源预测网络;相应的,通过所述第一神经网络模型获得所述第一增益值的过程具体包括:通过所述第一特征提取网络对所述多通道图像进行特征提取(例如通过卷积处理实现对通道图像的像素的统计操作),获得第一特征;通过所述特征融合网络融合(融合方式例如可以是concat函数处理、conv2d函数处理、元素乘处理、元素加处理等操作中的一种或多种组合)第一摄像头的拍摄参数和所述第一特征,获得融合后的特征;通过所述光源预测网络根据所述融合后的特征进行预测,获得所述第一增益值或者图像光源值,用于后续的白平衡处理过程。
本申请实施例中AWB神经网络模型可适用于全场景,在模型训练时使用了大量的训练数据,训练数据中包含了在亮光场景下获得的数据和在暗光场景下获得的数据。在海量数据中,神经网络很难在全场景下实现高精度的拟合,而加入的摄像参数可以为拍摄场景提供先验信息,帮助神经网络区分亮光场景和暗光场景,从而提升这两类场景的光源估计精度。实施本申请有利于提高电子设备的白平衡准确性,提高单帧拍照以及视频场景的AWB的稳定性,以及在多光源等歧义场景下的倾向稳定性。
基于上述模型实现方式,在可能的实施例中,本申请方案可应用于独立的电子设备,神经网络模型可配置在该电子设备中。相应的,所述第一处理具体包括:根据所述第一摄像头的拍摄参数和所述多通道图像,通过配置在所述电子设备的第一神经网络模型获得所述第一增益值;利用所述第一增益值对所述多通道图像进行白平衡处理;对所述白平衡处理后的图像进行后处理,获得所述目标图像。从而,在电子设备具备足够计算资源的情况下,充分利用电子设备的计算能力进行神经网络计算,提高处理效率,降低白平衡处理时延。
基于上述模型实现方式,在可能的实施例中,本申请方案可应用于端-云系统中的电子设备,神经网络模型可配置在端-云系统中的云端服务器中。相应的,所述第一处理具体包括:将所述第一摄像头的拍摄参数和所述多通道图像发送到服务器;接收来自所述服务器的所述第一增益值,所述第一增益值是通过配置在所述服务器的第一神经网络模型获得的;利用所述第一增益值对所述多通道图像进行白平衡处理;对所述白平衡处理后的图像进行后处理,获得所述目标图像。从而,在电子设备计算能力不够强的情况下,也能够利用云端服务器的计算能力进行神经网络模型计算,保证白平衡处理的准确性和稳定性,使得本申请方案能够适用于不同类型的设备,提升用户体验。
基于第一方面,在又一种模型实现方式中,所述输入数据还包括由所述多通道图像表征的场景语义信息;所述第一神经网络模型具体是通过融合所述第一摄像头的拍摄参数、所述多通道图像的图像特征和所述多通道图像表征的场景语义信息来实现对所述第一增益值的预测的。
一种实施例中,所述第一神经网络模型包括第一特征提取网络、第二特征提取网络、特征融合网络和光源预测网络;相应的,通过所述第一神经网络获得所述第一增益值的过程具体包括:通过所述第一特征提取网络对所述多通道图像进行特征提取(例如通过卷积处理实现对通道图像的像素的统计操作),获得第一特征;通过所述第二特征提取网络对所述场景语义信息进行特征提取(例如通过卷积处理实现对通道图像的场景信息的解析/感知),获得第二特征;通过所述特征融合网络融合(融合方式例如可以是concat函数处理、conv2d函数处理、元素乘处理、元素加处理等操作中的一种或多种组合)拍摄参数、所述第一特征和所述第二特征,获得融合后的特征;通过所述光源预测网络根据所述融合后的特征进行预测,获得所述第一增益值或者图像光源值,用于后续的白平衡处理过程。
其中,场景语义信息表示由图像所表征的与拍摄场景相关的语义特征。具体实现中,可以定义多种形式的拍摄场景类型。例如,可将拍摄场景基于光源类型进行分类,例如分类为冷光源场景、暖光源场景、单光源场景、多光源场景,等等。又例如,可将拍摄场景基于图像内容进行分类,例如分类为人像拍摄场景、非人像拍摄场景、物体拍摄场景、景观拍摄场景,等等。场景语义信息可以很大程度的为图像提供先验的语义信息,帮助AWB神经网络对不同场景做以区分,进而提升AWB神经网络的整体精度。
例如,在模型训练时,对于海量训练数据,神经网络很难在全场景下实现高精度的拟合。比如人脸在不同光源条件下,网络出值不稳,影响肤色感官,这时如果加入了人脸检测信息作为场景语义信息输入神经网络,神经网络在训练过程中会提升人脸区域的注意力,从而提升网络在人脸场景下的拟合精度。
基于上述模型实现方式,在可能的实施例中,本申请方案可应用于独立的电子设备,神经网络模型可配置在该电子设备中。所述第一处理具体包括:对所述多通道图像进行场景语义信息的提取;根据所述第一摄像头的拍摄参数、所述多通道图像和所述场景语义信息,通过配置在所述电子设备的第一神经网络模型获得所述第一增益值;利用所述第一增益值对所述多通道图像进行白平衡处理;对所述白平衡处理后的图像进行后处理,获得所述目标图像。
基于上述模型实现方式,本申请方案可应用于端-云系统中的电子设备,神经网络模型可配置在端-云系统中的云端服务器中,所述处理具体包括:将所述第一摄像头的拍摄参数、所述多通道图像和所述场景语义信息发送到服务器;接收来自所述服务器的所述第一增益值,所述第一增益值是通过配置在所述服务器的第一神经网络模型获得的;利用所述第一增益值对所述多通道图像进行白平衡处理;对所述白平衡处理后的图像进行后处理,获得所述目标图像。
基于第一方面,在可能的实施例中,对所述多通道图像进行场景语义信息的提取,包括:对所述多通道图像执行物体检测、场景分类、图像场景分割、人像分割、或人脸检测中的至少一种操作,以获得所述场景语义信息。
比如,通过场景分类算法实现人脸与非人脸的分类、单光源与多光源的分类、光源色温分类、或室内外场景分类,等等。
又比如,可使用图像场景分割算法对图片进行分割,生成蒙版图;可选的也可以使用场景分类算法、物体检测算法、人脸检测算法、肤色分割算法等技术生成蒙版图。该蒙版图可以为本申请提供的AWB神经网络模型提供单帧图像以外更多的与拍摄场景相关的信息,从而提升AWB神经网络对不同拍摄场景的注意力,帮助神经网络拟合收敛,达到更高的预测精度。
基于第一方面,在可能的实施例中,所述获取所述原始RAW域图像对应的多通道图像,包括:对所述原始RAW域图像进行预处理获得所述多通道图像,所述预处理包括去马赛克处理。用简化的去马赛克操作会使多通道图像的长宽尺寸是下采样的RAW图像长宽的一半,可提升后续算法运算速度。
基于第一方面,在可能的实施例中,所述预处理过程还可包括黑电平校正(BlackLevel Correction,BLC)和镜头阴影校正(Lens Shade Correction,LSC),通过BLC处理可减少暗电流对图像信号的影响,通过LSC处理可消除渐晕现象给图像带来的影响。可选的,还可包括图像下采样处理和降噪处理。
基于第一方面,在可能的实施例中,对白平衡处理后的图像还可以通过一些图像增强算法来实现后处理,以进一步提升图像的质量,得到最后用于显示的目标图像,输出到电子设备的显示屏进行显示。图像增强算法例如可包括伽马矫正、对比度增强、动态范围增强或图像锐化等操作。
基于第一方面,在可能的实施例中,所述多通道图像为三通道图像或者四通道图像。
基于第一方面,在可能的实施例中,一种对神经网络模型的训练过程可以是:训练数据包括对图像的光源颜色的标注、由RAW图进行预处理获得的多通道图像、拍摄参数、可选的还包括场景语义信息。训练数据输入到模型后,模型输出光源颜色信息。基于输出的光源颜色信息与标注的光源颜色进行比较,确定损失函数,利用损失函数对模型进行反向传播出来,从而更新模型参数,实现了模型的训练。
基于第一方面,在可能的实施例中,训练神经网络模型使用的图像,可以不是单帧图像,而是采用标注的视频序列。在AWB神经网络模型中可引入LSTM、RNN等网络结构,模型训练时也可采用时域相关的策略。也就是说,可以利用视频序列作为训练数据,AWB神经网络模型增加当前图像的前后帧的图像作为模型输入。通过利用视频序列训练、增加连续前后帧的输入、引入LSTM,RNN等结构以及增加时域相关的训练策略等,可以增加AWB神经网络模型光源估计的稳定性,减小相同光源下白平衡跳动的概率。从而可以扩展在视频功能中使用,增加了白平衡的稳定性,提升用户使用体验。
第二方面,本申请实施例提供一种图像自动白平衡的方法,方法应用于包括至少两个摄像头的电子设备,所述至少两个摄像头包括第一摄像头和第二摄像头,所述方法包括:根据用户的拍摄指令从所述至少两个摄像头中选择目标摄像头;所述拍摄指令包括拍摄倍率;当所述目标摄像头为所述第二摄像头时,获取所述第二摄像头拍摄第二原始RAW域图像时采用的拍摄参数和所述第二原始RAW域图像对应的第二多通道图像;对所述第二多通道图像进行颜色迁移,获得契合所述第一摄像头的迁移图像;至少将所述第二摄像头的拍摄参数和所述迁移图像输入第一神经网络模型,得到白平衡的第一增益值;所述第一神经网络模型与所述第一摄像头相关联,具体的,所述第一神经网络模型是根据所述第一摄像头采集的数据以及所述第一摄像头的拍摄参数训练得到的;将所述第一增益值处理成所述第二摄像头对应的第二增益值;对所述第二多通道图像进行第一处理,得到第二目标图像;其中,所述第一处理包括基于所述第二多通道图像和所述第二增益值的白平衡处理。
其中,本申请实施例中,电子设备所配置的摄像头的数量并不做限定。在两个或多个摄像头的场景下,对各个摄像头的类型不做限定。例如所谓“类型不同”可以是拍摄倍率(或变焦倍率)或焦距不同的摄像头,例如可以是主摄像头、长焦摄像头、广角摄像头、中长焦摄像头、超长焦摄像头、或超广角摄像头等等。又例如所谓“类型不同”可以是各个摄像头对应的图像传感器不同,比如广角摄像头对应的图像传感器是RGGB的模组,常规摄像头对应的图像传感器是RYYB的模组。
又例如,当所述第一摄像头和所述第二摄像头为主摄像头、长焦摄像头和广角摄像头中的两者时,以下至少一项成立:所述长焦摄像头对应的图像传感器包括RGGB的模组;所述主摄像头对应的图像传感器包括RYYB的模组;所述广角摄像头对应的图像传感器包括RGGB的模组;所述长焦摄像头的拍摄倍率大于所述主摄像头的拍摄倍率;所述主摄像头的拍摄倍率大于所述广角摄像头的拍摄倍率。
本申请实施例中,对所述第二多通道图像进行颜色迁移,获得契合所述第一摄像头的迁移图像,包括:基于所述第二摄像头与所述第一摄像头之间的差异,对所述第二多通道图像进行颜色迁移操作,以获得契合所述第一摄像头对应的图像传感器的感光特性的迁移图像。这样,迁移后的图像(可简称为迁移图像)配合第二摄像头的摄像参数作为第一AWB神经网络的输入,计算得到符合第一摄像头的拍摄特点的光源颜色值,在这基础上,进一步对该光源颜色值进行迁移操作,从而将该光源颜色值迁移至第二摄像头对应的光源颜色值。
现在的手机等电子设备都具备多摄像头,用户在进行拍摄行为时会进行放大缩小的操作或者选择摄像头的操作,而多个摄像头对应的图像传感器或摄像头的类型存在差异,相同场景下拍摄的RAW图值域可能存在着较大差异(同类型的图像传感器件可能差异较小)。本申请描述的自动白平衡方法可以使得神经网络模型同时兼容两个或多个摄像头的情况,拓展了可应用的场景,提升了对多镜头的适配能力,大大提升用户使用体验。
基于第二方面,在可能的实施例中,当所述目标摄像头为所述第一摄像头时,所述方法还包括:获取所述第一摄像头拍摄第一原始RAW域图像时采用的拍摄参数和所述第一原始RAW域图像对应的第一多通道图像;至少将所述第一摄像头的拍摄参数和所述第一多通道图像输入所述第一神经网络模型,得到白平衡的第三增益值;根据所述第一多通道图像和所述第三增益值进行白平衡处理,以获得第一目标图像。
基于第二方面,在可能的实施例中,所述拍摄参数包括曝光值、快门时间、光圈大小、或ISO感光度中的至少一个。
基于第二方面,在可能的实施例中,所述多通道图像为三通道图像或者四通道图像。
第三方面,本申请实施例提供一种图像自动白平衡的方法,所述方法应用于包括至少两个摄像头的电子设备,所述至少两个摄像头包括第一摄像头和第二摄像头,所述方法包括:
根据用户的拍摄指令从所述至少两个摄像头中选择目标摄像头;所述拍摄指令包括拍摄倍率;获取所述目标摄像头拍摄原始RAW域图像时采用的拍摄参数和所述原始RAW域图像对应的多通道图像;确定所述目标摄像头对应的神经网络模型;其中,所述第一摄像头与第一神经网络模型关联,所述第二摄像头与第二神经网络模型关联,具体的,所述第一神经网络模型是根据所述第一摄像头采集的数据以及所述第一摄像头的拍摄参数训练得到的,所述第二神经网络模型是根据所述第二摄像头采集的数据以及所述第二摄像头的拍摄参数训练得到的;将输入数据输入所述神经网络模型得到白平衡的增益值;其中,所述输入数据至少包括所述目标摄像头的拍摄参数和所述多通道图像;对所述多通道图像进行第一处理,得到目标图像;其中,所述第一处理包括基于所述多通道图像和所述增益值的白平衡处理。
其中,所述第一摄像头和所述第二摄像头各自的倍率不同,或者,所述第一摄像头和所述第二摄像头各自对应的图像传感器不同。或者所述第一摄像头和所述第二摄像头各自的摄像头类型不同,所述摄像头类型包括主摄像头、长焦摄像头、广角摄像头、中长焦摄像头、超长焦摄像头、超广角摄像头。
可以看到,实施该方案,可以为不同摄像头分别配置不同的神经网络模型,例如第一摄像头对应第一神经网络模型,所述第二摄像头对应第二神经网络模型;第一神经网络模型可以是由第一摄像头(或同款设备,或类似于第一摄像头的设备)采集的数据训练得到的,第二神经网络模型可以是由第二摄像头(或同款设备,或类似于第二摄像头的设备)采集的数据训练得到的。这样,可以使得不同摄像头的数据能分别得到独立处理,提升神经网络模型的针对性和精确性。
基于第三方面,在可能的实施例中,所述拍摄参数包括曝光值、快门时间、光圈大小、或ISO感光度中的至少一个。
基于第三方面,在可能的实施例中,所述多通道图像为三通道图像或者四通道图像。
第四方面,本申请实施例提供一种实现图像自动白平衡的装置,包括:参数获取模块,用于获取所述第一摄像头拍摄原始RAW域图像时采用的拍摄参数;图像获取模块,用于获取所述原始RAW域图像对应的多通道图像;处理模块,用于将输入数据输入第一神经网络模型得到白平衡的第一增益值;所述输入数据至少包括所述第一摄像头的拍摄参数和所述多通道图像;还用于对所述多通道图像进行第一处理,得到目标图像;其中,所述第一处理包括基于所述多通道图像和所述第一增益值的白平衡处理。
其中,该装置的不同功能模块可互相配合以实现本申请第一方面任意实施例描述的方法。
第五方面,本申请实施例提供一种电子设备,所述电子设备包括摄像头、存储器和处理器,可选的还包括显示屏,所述显示屏用于显示图像;其中:所述摄像头用于拍摄图像;所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,具体用于执行本申请第一方面任意实施例描述的方法。
第六方面,本申请实施例提供一种电子设备,所述电子设备包括至少两个摄像头、存储器和处理器,所述至少两个摄像头包括第一摄像头和第二摄像头,可选的还包括显示屏,所述显示屏用于显示图像。其中:所述至少两个摄像头均用于拍摄图像;所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,具体用于执行本申请第二方面的任意实施例描述的方法。
第七方面,本申请实施例提供一种电子设备,所述电子设备包括至少两个摄像头、存储器和处理器,所述至少两个摄像头包括第一摄像头和第二摄像头,可选的还包括显示屏,所述显示屏用于显示图像。其中:所述至少两个摄像头均用于拍摄图像;所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,具体用于执行本申请第三方面的任意实施例描述的方法。
第八方面,本申请实施例提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如第一方面或第二方面或第三方面的任意实施例描述的方法。
第九方面,本发明实施例提供了又一种非易失性计算机可读存储介质;所述计算机可读存储介质用于存储第一方面或第二方面或第三方面的任意实施例描述的方法的实现代码。所述程序代码被计算设备执行时能够实现第一方面或第二方面或第三方面的任意实施例描述的方法。
第十方面,本发明实施例提供了一种计算机程序产品;该计算机程序产品包括程序指令,当该计算机程序产品被计算设备执行时,执行前述第一方面或第二方面或第三方面的任意实施例描述的方法。该计算机程序产品可以为一个软件安装包,可以下载该计算机程序产品并在控制器上执行该计算机程序产品,以实现第一方面或第二方面或第三方面的任意实施例描述的方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的一种电子设备的示例图;
图2是本申请实施例提供的一种电子设备的结构示意图;
图3是本申请实施例提供的一种端云交互场景的示例图;
图4是本申请实施例提供的一种端云交互场景的设备结构示意图;
图5是本申请实施例提供的一种芯片的设备结构示意图;
图6是本申请实施例提供的一种系统架构示意图;
图7是本申请实施例提供的又一种系统架构示意图;
图8是本申请实施例提供的一种图像自动白平衡方法的流程示意图;
图9是本申请实施例提供的一种RAW图像与三通道图像的示例图;
图10是本申请实施例提供的又一种图像自动白平衡方法的流程示意图;
图11是本申请实施例提供的一种神经网络模型的结构与处理流程示意图;
图12是本申请实施例提供的又一种图像自动白平衡方法的流程示意图;
图13是本申请实施例提供的又一种神经网络模型的结构与处理流程示意图;
图14是本申请实施例提供的又一种图像自动白平衡方法的流程示意图;
图15是本申请实施例提供的一种图像预处理过程的示例图;
图16是本申请实施例提供的一种图像后处理过程的示例图;
图17是本申请实施例提供的又一种图像自动白平衡方法的流程示意图;
图18是本申请实施例提供的一种用户操作场景的示意图;
图19是本申请实施例的终端的一种可能的软件结构框图;
图20是本申请实施例提供的一些模型训练过程的示例图;
图21是本申请实施例提供的一种在多摄像头场景下的处理流程示例图;
图22是本申请实施例提供的又一种在多摄像头场景下的处理流程示例图;
图23是本申请实施例提供的一种在不同拍摄倍率下的目标图像示例图;
图24是本申请实施例提供的一种装置结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。需要说明的是,当在本说明书和所附权利要求书中使用时,术语“包括”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列单元/器件的系统、产品或者装置没有限定于已列出的单元/器件,而是可选地还包括没有列出的单元/器件,或者还可选地包括这些产品或者装置固有的其他单元/器件。
还需要说明的是,本说明书和权利要求书中的术语“第一”“第二”“第三”等用于区别不同的对象,而并非用于描述特定的顺序或者特定的含义。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
在拍摄场景下,不同的光源具有不同的光谱成分和分布,在色度学上也可将光源颜色称为色温。示例性地,以3200K时黑体发出的颜色定义为白色,以5600K黑体发出的颜色定义为蓝色,等等。在成像中,环境中的物体(包括人、物、景等)通过反射入射光到图像传感器而呈现其颜色,所以环境中光源的颜色将会影响物体成像的颜色,直接或间接地改变了物体本身的颜色,形成色差。例如白色物体在低色温光线(例如白炽灯,蜡烛,日出日落等光源场景)照射下会偏红,在高色温光线(例如阴天、雪天、树荫等光源场景)照射下会偏蓝。
自动白平衡(Auto White Balance,AWB)就是对摄像头拍摄的图像的颜色进行自动修正,所谓“白平衡”就是对不同色温引起的色差进行校正,以使得白色物体能呈现出原本的白色,而其他颜色物体也尽量接近其原本的颜色,从而使图像整体呈现出的效果符合人眼的视觉习惯和认知习惯。
例如,可以基于lambert反射模型实现白平衡处理。一种实施例中,白平衡处理的处理算法如下式①所示:
R=I/L ①
其中,R代表经过白平衡处理后的图像对应的像素值(Rr,Gr,Br),R接近或者等于被拍摄物体在中性光下的呈现的颜色。
I代表由电子设备拍摄获得的图像(Ri,Gi,Bi),该图像可以是本申请实施例描述的多通道图像
L可代表光源颜色信息(Rl,Gl,Bl),例如具体可以是本申请实施例描述的图像光源值。需要说明的是,此处L是广义概念,在摄像头成像中,L还可包含了图像感光器件对物体颜色产生的偏置。
该白平衡处理的任务是通过I以及可能的额外输入去估算L,进一步求得物体在中性光下的颜色R,以尽量消除光源影响的成像色差,使得白色在不同光源下都要呈现出白色,而其他颜色物体也尽量接近其原本的颜色。
在又一种实施例中,白平衡处理的处理算法如下式②所示:
R=I*G ②
其中,R代表经过白平衡处理后的图像对应的像素值(Rr,Gr,Br),R接近或者等于被拍摄物体在中性光下的呈现的颜色。
I代表由电子设备拍摄获得的图像(Ri,Gi,Bi),该图像可以是本申请实施例描述的多通道图像
G代表白平衡的增益值(1/Rl,1/Gl,1/Bl),通过比较上述①和②可以看到,该增益值与光源颜色信息可以是如下倒数关系:
G=1/L ③
该白平衡处理的任务是通过I以及可能的额外输入去估算G,进一步求得物体在中性光下的颜色R,以尽量消除光源影响的成像色差,使得白色在不同光源下都要呈现出白色,而其他颜色物体也尽量接近其原本的颜色。
需要说明的是,为了描述方便,本文在白平衡处理中主要是以光源颜色信息为例进行方案的描述,而关于增益值方案的实现方式可类似实现,例如基于神经网络模型直接获得白平衡的增益值,或者基于神经网络模型获得图像颜色信息,根据图像颜色信息进一步获得白平衡的增益值。本文将不再展开描述。
现有技术提出了一些方法来确定光源颜色,例如通过灰度世界(gray world)算法、完美反射(perfect Reflector)算法、或动态阈值算法来确定光源颜色,或者利用图像的颜色直方图来确定光源颜色,等等。
现在我们对自动白平衡算法和方法提出了更高的要求,更高的要求体现在以下一者或多者:(1)AWB需要在各类场景下表现出更高的光源估计的精度;(2)在多光源等歧义场景下无法通过估算一个光源值来满足图像中的所有光源区域,需要AWB算法在歧义场景表现出稳定的倾向;(3)相同光照条件下拍摄的照片,白平衡要尽量的稳定,避免颜色跳变;(4)AWB算法的计算性能开销须足够的小以满足实时性的要求。
本申请实施例提供了一种基于深度学习的可用于图像/视频的自动白平衡方法,能够克服上述技术缺陷,提高在全场景下的AWB的准确性,提高图像/视频的AWB的稳定性,以及保证在多光源等歧义场景下稳定性的倾向,满足实时性的要求。
下面介绍本申请描述方法可能的应用场景。
参见图1,一种应用场景中,本申请描述方法可应用于独立的电子设备10。
其中,上述电子设备10可以为移动的或固定的,例如,该电子设备10可以是具有图像处理功能的移动电话(手机)、平板个人电脑(tablet personal computer,TPC)、笔记本电脑、媒体播放器、智能电视、笔记本电脑(laptop computer,LC)、个人数字助理(personaldigital assistant,PDA)、个人计算机(personal computer,PC)、照相机、单反、摄像机、智能手表、监控设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备,可穿戴式设备(wearabledevice,WD)或者车载设备等,本申请实施例对此不作限定。
请参考图2以更好理解电子设备10的内部结构示意图。如图2所示,该电子设备10包括:至少一个通用处理器13,存储器15(一个或多个计算机可读存储介质),以及图像采集装置11,图像信号处理器(Image Signal Processor,ISP)12和显示装置14,这些部件可在一个或多个通信总线上通信。其中:
图像采集装置11中可包括有摄像头111、图像传感器(Sensor)112等元件,用于采集拍摄场景的图像或视频,图像采集装置11所采集的图像可以是一张或多张的原始RAW域图像,本文中原始RAW域图像可简称为RAW图像。其中所述多张的原始RAW域图像可形成图像帧序列。
其中,摄像头111在具体中可以是单目摄像头或双目摄像头,设置于电子设备10机身主体的壳体上面的前方位置(即前置摄像头)或后方位置(即后置摄像头),
图像传感器112是一种感光元件,本申请不限定该感光元件的类型,例如可以是金属氧化物半导体元件(Complementary Metal-Oxide Semiconductor,CMOS)或电荷耦合元件(Charge Coupled Device,CCD)。图像传感器112的作用是对摄像头111采集的光学图像进行捕获并转换成后端ISP12可用的电信号。
图像传感器112可提供实际拍摄所需的拍摄参数,拍摄参数例如包括曝光值、快门时间、光圈大小、或ISO感光度中的至少一个。其中ISO感光度即国际标准化组织(International Standards Organization,ISO)规定的感光度,又称为ISO值,用于衡量传感器对于光的灵敏程度。
ISP12主要作用是对前端图像传感器112输出的信号进行处理,本申请实施例中ISP12包含的算法主要包括自动白平衡(Auto White Balance,AWB)算法,此外,还可包括但不限于以下的一种或多种处理算法:自动曝光控制(Automatic Exposure Control,AEC)、自动增益控制(Automatic Gain Control,AGC)、色彩校正、镜头矫正、噪声去除/降噪、坏点去除、线性纠正、颜色插值、图像下采样、电平补偿,等等。此外在一些实例,还可包括一些图像增强算法,例如伽马(Gamma)矫正、对比度增强和锐化、在YUV色彩空间上彩噪去除与边缘加强、色彩加强、色彩空间转换(例如RGB转换为YUV)等等。
需要说明是,在可能的实现中,也可以将上述ISP12中描述的一些算法集成至其他的元件中进行处理,举例来说,可将图像增强算法集成到现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)或数字信号处理器(Digital Signal Processor,DSP)中,配合ISP12共同完成图像的处理过程。
通用处理器13可以是能够处理电子指令的任何类型的装置,本申请中电子设备10可包括一个或者多个通用处理器13,例如包括中央处理器(Central Processing Unit,CPU)131和神经网络处理器(Neural-network Processing Unit,NPU)132中的一个或两个。此外,还可以包括图形处理器(Graphics Processing Unit,GPU)、微处理器、微控制器、主处理器、控制器以及ASIC(Application Specific Integrated Circuit,专用集成电路)等等中的一个或多个。通用处理器13执行各种类型的数字存储指令,例如存储在存储器813中的软件或者固件程序,它能使计算节点800提供较宽的多种服务。例如,处理器811能够执行程序或者处理数据,以执行本文讨论的方法的至少一部分。
其中,CPU131的功能主要是解析计算机指令以及处理计算机软件中的数据,实现对电子设备10整体上的控制,对电子设备10的所有硬件资源(如存储资源、通信资源、I/0接口等)进行控制调配。
NPU132是基于神经网络算法与加速的新型处理器总称,NPU专门为人工智能而设计,用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。
需要说明的是,NPU132的名称并不构成对本申请的限定,例如在其他应用场景中,NPU132也可以变形、替换为其他类似功能的处理器,例如张量处理器(Tensor ProcessingUnit,TPU),深度学习处理器(Deep learning Processing Unit,DPU),等等。
本申请一种实施例中,当存在NPU132时,NPU132可承担与神经网络计算相关的任务。例如可利用NPU132根据ISP12提供的图像信息(如多通道图像)和图像采集装置提供的信息(如拍摄参数)进行AWB神经网络的计算,得到光源颜色信息,进而将该光源颜色信息反馈到ISP12,以便于ISP12进一步完成AWB过程。
本申请又一种实施例中,当存在CPU131且不存在NPU132时,可由CPU131承担与神经网络计算相关的任务。即CPU131根据ISP12提供的图像信息(如多通道图像)和图像采集装置提供的信息(如拍摄参数)进行AWB神经网络的计算,得到光源颜色信息,进而将该光源颜色信息反馈到ISP12,以便于ISP12进一步完成AWB过程。
显示装置14,用于显示用户需要进行拍摄时当前预览的拍摄场景、拍摄界面、或用于显示经过白平衡处理后的目标图像。显示装置14还可用于显示需要用户操作的信息或提供给用户的信息以及电子设备10的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
显示装置14具体可包括显示屏(显示面板),可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。
显示装置14还可以是触控面板(触摸屏、触控屏),触控面板可包括显示屏和触敏表面,当触敏表面检测到在其上或附近的触摸操作后,传送给CPU131以确定触摸事件的类型,随后CPU131根据触摸事件的类型在显示装置14上提供相应的视觉输出。
存储器15可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM)、高速缓存cache;存储器也可以包括非易失性存储器(Non-Volatile Memory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器604还可以包括上述种类的存储器的组合。存储器15可用于存储图像采集装置11所采集的RAW图像、白平衡处理后的目标图像、前后帧图像信息、拍摄参数、场景语义信息等数据;存储器15还可用于存储程序指令,以供处理器调用并执行本申请描述的图像自动白平衡的方法。
基于电子设备10的上述部件,可通过以下过程来实现图像的自动白平衡:电子设备10执行拍摄时,外界环境中的物体(人、物、景等)通过摄像头111采集的光学图像投射到图像传感器112表面上,转化成电信号,电信号经过模数转换(A/D转换)后变为数字图像信号,该数字图像信号为RAW图像(例如Bayer格式)。图像传感器112将RAW图像送到ISP12中进行加工处理。在ISP12需要进行AWB时,ISP12将图像信息(例如多通道图像)发给通用处理器13,图像采集装置11将拍摄参数发给通用处理器13。通用处理器13(例如CPU131或NPU132)可利用输入信息计算神经网络模型,获得图像对应的光源颜色信息。进而将光源颜色信息反馈回给ISP12,ISP12根据光源颜色信息完成AWB,以及执行其他方面的图像处理,得到目标图像,目标图像例如是YUV或者RGB格式的图像。然后,ISP12将目标图像通过I/O接口传输到CPU131,CPU131再将目标图像送到显示装置14进行显示。
本领域技术人员应当理解的是,电子设备10还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。图2中示出的设备结构并不构成对电子设备10的限定。
参见图2,又一种应用场景中,本申请描述方法可应用于端-云交互的场景。如图2所示,端-云系统包括电子设备20和云端服务器30。电子设备20与云端服务器30之间可进行通信,通信方式不限于有线或无线的方式。
其中,电子设备20可以为移动的或固定的,例如,该电子设备10可以是具有图像处理功能的移动电话(手机)、平板个人电脑、笔记本电脑、媒体播放器、智能电视、笔记本电脑、个人数字助理、个人计算机、照相机、单反、摄像机、智能手表、监控设备、增强现实设备、虚拟现实设备,可穿戴式设备或者车载设备等,本申请实施例不作限定。
云端服务器30可以包括一个或多个服务器,或者包括一个或多个处理节点,或者包括运行于服务器的一个或多个虚拟机,云端服务器30还可以被称为服务器集群、管理平台、数据处理中心等等,本申请实施例不做限定。
请参考图4以更好理解端-云系统下的设备内部结构。如图4所示,端-云系统包括电子设备20和云端服务器30。该电子设备20包括:至少一个通用处理器23、存储器25、图像采集装置21、图像信号处理器ISP 22、显示装置24和通信装置26,这些部件可在一个或多个通信总线上通信以实现电子设备20的功能。云端服务器30包括存储器33、神经网络处理器NPU31和通信装置32,这些部件可在一个或多个通信总线上通信以实现云端服务器30的功能。电子设备20通过通信装置26与云端服务器30的通信装置32之间建立通信连接,通信方式不限于有线或者无线的方式。例如,通信装置26和通信装置32可用于相互发送和接收无线信号,无线通信方式包括但不限于:射频(Radio Frequency,RF)方式、数据通信方式、蓝牙方式、WiFi方式等等中的一个或多个。
可以看到,该端-云系统与前文所述图2中的电子设备10相比,主要区别在于,电子设备10在本地实现对神经网络的计算功能,而端-云系统中将该功能放在云端服务器30上实现,即由云端服务器30的NPU31执行神经网络计算。所以端-云系统中电子设备20可以不包括NPU。本申请实施例充分利用了云端服务器的计算资源,有利于降低电子设备20的运行负担和配置需求,提升用户使用体验。
基于端-云系统的上述部件,可通过以下过程来实现图像的自动白平衡:电子设备20执行拍摄时,外界环境中的物体(人、物、景等)通过图像采集装置21中的摄像头采集的光学图像投射到图像采集装置21中的图像传感器上,转化成电信号,电信号经过模数转换(A/D转换)后变为数字图像信号,该数字图像信号为RAW图像(例如Bayer格式)。图像采集装置21将RAW图像送到ISP22中进行加工处理。在ISP22需要进行AWB时,ISP22将图像信息(例如多通道图像)发给通用处理器23,图像采集装置21将拍摄参数发给通用处理器23。通用处理器23(例如CPU231)可进一步通过通信装置26将上述信息发给云端服务器30。云端服务器30通过通信装置32收到上述信息后,通过NPU31利用上述输入信息(多通道图像、拍摄参数等)计算神经网络模型,获得图像对应的光源颜色信息。进而将光源颜色信息通过通信装置32反馈回给电子设备20,该光源颜色信息被送到ISP22,ISP22根据光源颜色信息完成AWB,以及执行其他方面的图像处理,得到目标图像,目标图像例如是YUV或者RGB格式的图像。然后,ISP22将目标图像通过I/O接口又传输到CPU231,CPU231再将目标图像送到显示装置24进行显示。
需要说明的是,端-云系统中电子设备20的相关部件的功能可类似参考图2中电子设备10的相关部件的描述,为了说明书的简洁,本文不再赘述。
本领域技术人员应当理解的是,电子设备20和云端服务器30还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。图2中示出的设备结构并不构成对对本申请的限定。
图5是本申请实施例提供的一种芯片的硬件结构,该芯片包括神经网络处理器NPU300。
在一种实现中,该NPU300可以被设置在如图2所示的电子设备10中,用于完成神经网络的计算工作,此时NPU300即为图2所描述的NPU132。
在又一种实现中,该NPU300可以被设置在如图4所示的云端服务器30中,用于完成神经网络的计算工作,此时NPU300即为图4所描述的NPU31。
NPU300可作为协处理器挂载到主中央处理器(central processing unit,CPU)上,由主CPU分配任务。NPU300的核心部分为运算电路303,通过控制器304控制运算电路303提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路303内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路303是二维脉动阵列;运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路303是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C;运算电路303从权重存储器302中取矩阵B相应的数据,并缓存在运算电路303中每一个PE上;运算电路303从输入存储器301中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器308(accumulator)中。
向量计算单元307可以对运算电路303的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元307将经处理的输出的向量存储到统一存储器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。
在一些实现中,处理过的输出的向量能够用作到运算电路303的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器306用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)305将外部存储器中的输入数据存入到输入存储器301和/或统一存储器306、将外部存储器中的权重数据存入权重存储器302,以及将统一存储器306中的数据存入外部存储器。
总线接口单元310(bus interface unit,BIU),用于通过总线实现主CPU、DMAC和取指存储器309之间进行交互。
与控制器304连接的取指存储器(instruction fetch buffer)309用于存储控制器304使用的指令;控制器304用于调用取指存储器309中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(doubledata rate synchronous dynamic random access memory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
具体的,本申请实施例描述的神经网络模型(即后文描述的AWB神经网络模型)中各层的运算可以由运算电路303或向量计算单元307执行。
由于本申请实施例涉及神经网络的应用,为了更好理解本申请实施例描述的神经网络的工作原理,下面描述本申请中上神经网路的实现过程。
首先对本申请实施例涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络模型
本文中神经网络和神经网络模型可以视为同一概念,两者基于表达上的便利而选择性地使用。本申请实施例描述的神经网络模型可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
本申请实施例中,神经网络模型可以是基于深度学习的方式构建的模型,例如可以是深度神经网络(deep neural network,DNN)模型、卷积神经网络(convolutionalneuron network,CNN)或者循环神经网络(Recurrent Neural Network,RNN)中的一种,或多种的融合,等等。
示例性地,以卷积神经网络模型为例,卷积神经网络(convolutional neuronnetwor k,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元可以共享权重。卷积核可以以随机大小的矩阵的形式初始化,也可以采用全零初始化或者其他通用的初始化方法,这里不做限定。在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
本申请中,关于神经网络模型的一些具体实现方式可参考后文描述的AWB神经网络模型。
(2)损失函数
在训练神经网络模型的过程中,因为希望神经网络模型的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络模型中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(3)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
参见图6,图6示出了本申请实施例提供的一种用于神经网络模型训练的系统架构100。
在图6中,数据采集设备160用于采集训练数据。针对本申请实施例的方法来说,可以通过训练数据对神经网络模型(即后文描述的AWB神经网络模型)进行进一步训练。
一种示例中,在本申请实施例中训练神经网络模型的训练数据可以包括原始raw域图像对应的多通道图像、原始raw域图像对应的拍摄参数、以及对原始raw域图像标注的光源颜色信息。
又一种示例中,在本申请实施例中训练神经网络模型的训练数据可以包括原始raw域图像对应的多通道图像、由多通道图像提取的场景语义信息、原始raw域图像对应的拍摄参数、以及对原始raw域图像标注的光源颜色信息。
需要说明的是,训练数据中的图像可以是单帧图像,也可以是视频帧序列的多帧图像。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型101(例如本申请实施例中的AWB神经网络模型)。训练设备120将训练数据输入目标模型101,直到训练目标模型101输出的预测的光源颜色信息与图像标注的光源颜色信息之间的差异程度满足预设条件。例如,可以是两者对应的颜色向量的角度误差小于预设阈值,或者保持不变,或者不再减少,从而完成目标模型101的训练。
需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。
另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型101可以应用于不同的系统或设备中,如应用于图5所示的执行设备110。执行设备110可利用目标模型101执行神经网络计算,以实现对光源颜色信息的预测。
在图1所示的独立电子设备的应用场景下,所述执行设备110可以是前文描述的电子设备10。所述执行设备110的输入数据可来源于数据存储系统150,数据存储系统150可以是置于执行设备110中的存储器,也可以是独立于执行设备110的外部存储器。所述输入数据在本申请实施例中例如可以包括:多通道图像和拍摄参数;或者,可以包括多通道图像、由图像提取的场景语义信息和拍摄参数。从而,所述执行设备110基于输入数据实现对光源颜色信息的预测。
在图3所示的端-云应用场景下,所述执行设备110可以是前文描述的端-云系统中的云端服务器30。此时,执行设备110配置输入/输出(input/output,I/O)接口212,用于与外部设备进行数据交互,例如用户可以通过客户设备140向I/O接口212输入数据,客户设备140例如可以是端-云系统中的电子设备20。在一种情况下,客户设备140可以自动地向I/O接口212发送输入数据。如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。所述输入数据在本申请实施例中例如可以包括:多通道图像和拍摄参数;或者,可以包括多通道图像、由图像提取的场景语义信息和拍摄参数。从而,所述执行设备110基于输入数据实现对光源颜色信息的预测。后续可通过I/O接口212将预测的光源颜色信息返回给客户设备140。
关联功能模块113可用于根据输入数据进行相关处理,例如在本申请一种实施例中,关联功能模块113可实现根据多通道图像提取出场景语义信息。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型101,该相应的目标模型101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。例如可用于训练如下文图11或图13实施例描述的AWB神经网络模型。
在一种实现中,执行设备110中可配置如图5所示的芯片,用以完成计算模块111的计算工作。
又一种实现中,训练设备120也可以配置如图5所示的芯片,用以完成训练设备120的训练工作并输出训练好的目标模型101到执行设备110。
值得注意的是,图6仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。
参见图7,图7所示是本申请实施例提供了又一种系统架构400。该系统架构包括本地设备420、本地设备430以及执行设备410和数据存储系统450,其中,本地设备420和本地设备430通过通信网络440与执行设备410连接。
示例性地,执行设备410可以由一个或多个服务器实现。
可选的,执行设备410可以与其它计算设备配合使用。例如:数据存储器、路由器、负载均衡器等设备。执行设备410可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备410可以使用数据存储系统450中的数据,或者调用数据存储系统450中的程序代码来实现本申请实施例的图像处理方法。
需要说明的是,上述执行设备410也可以为云端服务器,此时执行设备410可以部署在云端,执行设备410可以是前文图3实施例描述的云端服务器30,此时本地设备420/本地设备430可以是前文图3实施例描述的电子设备20。
在一种可能的实现方式中,本申请实施例的自动白平衡方法可以是由本地设备420或者本地设备430独立执行。例如,本地设备420、本地设备430可以从执行设备410获取到上述神经网络模型的相关参数,将神经网络模型部署在本地设备420、本地设备430上,利用该神经网络模型实现AWB过程。
在又一种可能的实现方式中,本申请实施例的自动白平衡方法可以是由本地设备420或者本地设备430通过与执行设备410交互而协同完成的。例如,用户可以操作各自的用户设备(例如,本地设备420和本地设备430)与执行设备410进行交互。
每个本地设备可以表示任何计算设备,例如,个人计算机、计算机工作站、智能手机、平板电脑、相机、智能摄像头、智能车载设备或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备410进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
应理解,上述为对应用场景的举例说明,并不对本申请的应用场景作任何限定。
基于上文描述的应用场景、设备及系统,下面描述本申请实施例提供的一些自动白平衡方法。
参见图8,图8是本申请实施例提供的一种图像自动白平衡的方法的流程示意图,所述方法可应用于电子设备,所述电子设备包括摄像头和显示屏,该方法包括但不限于以下步骤:
S501、获取所摄像头拍摄原始RAW域图像时采用的拍摄参数。
本文中原始RAW域图像可简称RAW图像。RAW图像可以是CMOS或者CCD图像传感器将摄像头捕捉到的光源信号转化为数字信号的原始数据,该原始数据尚未经过图像信号处理器(ISP)处理。该RAW图像具体可以是采用拜耳(bayer)格式的bayer图像。
拍摄参数表示执行拍摄时采用的参数,例如摄像头、图像传感器等等采用的拍摄参数。或者,拍摄参数还可以理解为执行拍摄时处理器对摄像头、图像传感器进行控制时产生的控制参数。
拍摄参数优选的可包括曝光值,可选的还可包括曝光时间(快门时间)、ISO感光度、光圈大小等中的一者或多者。
电子设备的摄像头、图像传感器在相同环境下采用不一样的拍摄参数配置获取的图像,颜色特性会呈现出差异,因而拍摄参数为图像提供了拍摄时的物理条件。本申请可利用拍摄参数为光源颜色估计提供拍摄配置上的参考。
S502、获取所述原始RAW域图像对应的多通道图像。
电子设备获取到RAW图像后,可将RAW图像处理为多通道图像,如图9所示。多通道(Multichannel)图像是指每个像素点可以用多个图像通道的值(或颜色分量)来表示的图像。图像通道在RGB色彩模式下就是指在下就是指那单独的红色R、绿色G、蓝色B部分。
例如,在一个示例中,所述多通道图像具体可以是彩色三通道图像,例如RGB三多通道图像。
在又一个示例中,所述多通道图像具体可以是四通道图像,例如,可以是指RGGB四通道图像;或者,BGGR四通道图像;或者,RYYB四通道图像。
S503、对所述多通道图像进行处理,获得用于在所述显示屏显示的目标图像。具体的,可将输入数据输入神经网络模型得到白平衡的增益值,所述输入数据至少包括摄像头的拍摄参数和多通道图像;对所述多通道图像进行第一处理,得到目标图像;其中,所述第一处理包括基于所述多通道图像和所述第一增益值的白平衡处理。
其中,所述神经网络模型用于至少根据所述拍摄参数和所述多通道图像获得所述白平衡处理所需的增益值或者光源颜色信息。
本申请实施例中描述的神经网络模型从类型上将可以是单个神经网络模型,也可以是两个或多个神经网络模型的组合。
例如,神经网络模型可以是基于深度学习的方式构建的模型,例如可以是深度神经网络(deep neural network,DNN)模型、卷积神经网络(convolutional neuronnetwork,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)或者循环神经网络(Recurrent Neural Network,RNN)中的一种,或多种的融合,等等。
本申请实施例提供的神经网络模型能够根据拍摄参数和多通道图像获得白平衡处理中所需的光源颜色信息,例如图像光源值(r/g,1,b/g)。输出光源颜色信息后,电子设备可通过自身配置的ISP利用该光源颜色信息对通道图像进行白平衡处理,从而实现对光源色温引起的图像色差的校正,以使得图像中物体的颜色接近其原本的颜色,图像整体呈现出的效果符合人眼的视觉习惯和认知习惯。
可以看到,本申请实施例利用了RAW图像对应的多通道图像作为AWB神经网络模型的输入,为AWB神经网络模型提供了更多的颜色信息。又增加了拍摄参数作为AWB神经网络模型的输入,为光源估计提供了拍摄配置信息,能提高AWB神经网络模型针对不同光源场景的辨别能力,保证了良好的光源估计精度。所以实施本申请有利于提高电子设备的白平衡准确性,提高单帧拍照以及视频场景的AWB的稳定性,以及在多光源等歧义场景下的倾向稳定性。
参见图10,图10是本申请实施例提供的一种具体的图像自动白平衡的方法的流程示意图,所述方法可应用于电子设备,该方法包括但不限于以下步骤:
S601、拍摄至少一张原始RAW域图像。在单帧拍摄时可以是拍照场景,在多帧拍摄时可以是视频录像场景或者延时拍摄场景。
本文中原始RAW域图像可简称RAW图像。RAW图像可以是CMOS或者CCD图像传感器将摄像头捕捉到的光源信号转化为数字信号的原始数据,该原始数据尚未经过图像信号处理器(ISP)处理。该RAW图像具体可以是采用拜耳(bayer)格式的bayer图像。
S602、获取拍摄RAW图像采用的拍摄参数。
具体的,所述拍摄参数表示执行拍摄时采用的拍摄参数,例如摄像头、图像传感器等等采用的参数。或者,拍摄参数还可以理解为执行拍摄时处理器对摄像头、图像传感器进行控制时产生的控制参数。
拍摄参数优选的可包括曝光值,可选的还可包括曝光时间(快门时间)、ISO感光度、光圈大小等中的一者或多者。
电子设备的摄像头、图像传感器在相同环境下采用不一样的拍摄参数配置获取的图像,颜色特性会呈现出差异,因而拍摄参数为图像提供了拍摄时的物理条件。本申请可利用拍摄参数为光源颜色估计提供拍摄配置上的参考。
S603、将RAW图像处理为多通道图像。
多通道图像是指每个像素点可以用多个图像通道的值(或颜色分量)来表示的图像。图像通道在RGB色彩模式下就是指在下就是指那单独的红色R、绿色G、蓝色B部分。
例如,在一个示例中,所述多通道图像具体可以是彩色三通道图像,例如RGB三多通道图像。
在又一个示例中,所述多通道图像具体可以是四通道图像,例如,可以是指RGGB四通道图像;或者,BGGR四通道图像;或者,RYYB四通道图像。
S604、将多通道图像和拍摄参数输入到神经网络模型,获得光源颜色信息。
也就是说,该神经网络模型能够根据所述拍摄参数和多通道图像获得白平衡处理中所需的光源颜色信息。
其中,本申请实施例中描述的神经网络模型从类型上将可以是单个神经网络模型,也可以是两个或多个神经网络模型的组合。
参见图11,所述神经网络模型可以为图11所示的AWB神经网络模型。该AWB神经网络模型具体包括第一特征提取网络、特征融合网络和光源预测网络。
第一特征提取网络用于对RAW图像对应的通道图像进行特征提取,获得第一特征;所述第一特征用于表征该通道图像的颜色信息。具体实现中,第一特征提取网络可包括一个或多个卷积核,通过卷积处理实现对通道图像的像素的统计操作,从而获得所述第一特征。
特征融合网络用于对所述第一特征和所述拍摄参数进行融合,获得融合后的特征。融合方式不限于concat函数处理、conv2d函数处理、元素乘(elementwise multiply)处理、元素加(elementwise add)处理等操作中的一种或多种组合。例如,可以对上述二路信息(第一特征和拍摄参数)进行加权处理,获得融合后的特征。
需要说明的是,在特征融合网络实现融合过程中,可以将拍摄参数进行扩充变成多维数组的形式,以匹配第一特征的数组形式,从而使二路数据的数学形式一致,以便于数据融合处理。
光源预测网络用于根据所述融合后的特征进行预测,获得光源颜色信息。光源颜色信息可用于指示光源的色温或者图像的色差,所以光源颜色信息可用于后续的AWB处理过程。
例如,融合后的特征经光源预测网络处理后,光源预测网络输出图像光源值(r/g,1,b/g),该图像光源值可用于后续的AWB处理过程。
由上可以看到,AWB神经网络模型是通过融合通道图像的特征和拍摄参数来实现对光源颜色信息的预测的。
在前述图1所示的独立的电子设备的应用场景下,AWB神经网络模型可配置在该电子设备中,利用电子设备中的处理器(例如CPU或者NPU)实现神经网络模型计算,从而获得该光源颜色信息。从而,在电子设备具备足够计算资源的情况下,充分利用电子设备的计算能力进行神经网络计算,提高处理效率,降低白平衡处理时延。具体硬件实现过程已在前文做了详细描述,这里不再赘述。
在前述图3所示的端-云应用场景下,AWB神经网络模型可配置在端-云系统中的云端服务器中。电子设备可以将多通道图像、由图像提取的场景语义信息和拍摄参数发给云端服务器,利用云端服务器中的处理器(例如CPU或者NPU)实现神经网络模型计算,从而获得该光源颜色信息,云端服务器再将光源颜色信息反馈到电子设备。从而,在电子设备计算能力不够强的情况下,也能够利用云端服务器的计算能力进行神经网络模型计算,保证白平衡处理的准确性和稳定性,使得本申请方案能够适用于不同类型的设备,提升用户体验。具体实现过程已在前文做了详细描述,这里不再赘述。
S605、根据所述光源颜色信息对多通道图像进行白平衡处理,获得目标图像并通过显示屏进行显示。
具体的,AWB神经网络模型输出光源颜色信息(例如图像光源值)后,电子设备可通过自身配置的ISP利用该光源颜色信息对通道图像进行白平衡处理,从而实现对光源色温引起的图像色差的校正,以使得图像中物体的颜色接近其原本的颜色,图像整体呈现出的效果符合人眼的视觉习惯和认知习惯。
可以看到,本申请实施例利用了RAW图像对应的多通道图像而非统计特征作为AWB神经网络模型的输入,为AWB神经网络模型提供了更多的颜色信息。又增加了拍摄参数作为AWB神经网络模型的输入,例如快门速度,曝光时间,曝光值,ISO,光圈大小等参数等等中的一个或多个,为光源估计提供了拍摄配置信息,为拍摄获得的RAW图提供了拍照条件的参考。以拍摄参数作为神经网络模型的输入可以帮助网络提升光源预测的准确性。能提高AWB神经网络模型针对不同光源场景的辨别能力,保证了良好的光源估计精度。
例如,本申请实施例中AWB神经网络模型可适用于全场景,在模型训练时使用了大量的训练数据,训练数据中包含了在亮光场景下获得的数据和在暗光场景下获得的数据。在海量数据中,神经网络很难在全场景下实现高精度的拟合,而加入的摄像参数可以为拍摄场景提供先验信息,帮助神经网络区分亮光场景和暗光场景,从而提升这两类场景的光源估计精度。
需要说明的是,以上仅仅提供了一种示例作为说明,摄像参数不仅仅可以用于区分亮光场景和暗光场景,还可以用于区别其他的场景,例如可以用来区分室外室内,白天夜晚等不同类别属性的场景。所以加入摄像参数作为神经网络的输入,可以有效提神模型在这些类别场景下的光源估计精度,从而提升总体的光源估计精度。
另外,模型输入中,对于快门速度、曝光时间、曝光值、ISO、光圈大小等摄像参数中选择哪些参数,可以根据电子设备的实际可获取信息作为选择的基础。以上的提到的摄像参数中的一者或多者皆可为图像提供拍摄条件的参考,均对提升网络精度有一定的帮助,实际运用需要根据硬件软件条件弹性做出选择。
所以,实施本申请有利于提高电子设备的白平衡准确性,提高单帧拍照以及视频场景的AWB的稳定性,以及在多光源等歧义场景下的倾向稳定性。
参见图12,图12是本申请实施例提供的又一种图像自动白平衡的方法的流程示意图,所述方法可应用于电子设备,该方法与前述图10描述方法的主要区别在于,神经网络模型的计算过程还利用了场景语义信息,以进一步提高光源颜色信息预测的准确性。该方法包括但不限于以下步骤:
S701、拍摄至少一帧原始RAW域图像。
S702、获取拍摄RAW图像时采用的拍摄参数。
S703、对RAW图进行处理,获得多通道图像。
上述S701-S703的实现过程可类似参考前文步骤S601-S603的描述,这里不再赘述。
S704、提取多通道图像的场景语义信息。
在不同的拍摄场景下,光源颜色可能有所不同,例如对于在室内人像拍摄场景,光源可能是白炽灯。对于室外景观拍摄场景,光源可能是太阳或路灯。本申请实施例为了进一步提高光源颜色信息预测的准确性,可利用场景语义信息为光源颜色估计提供拍摄场景上的参考。
本申请实施例中,场景语义信息表示由图像所表征的与拍摄场景相关的语义特征。具体实现中,可以定义多种形式的拍摄场景类型。
例如,可将拍摄场景基于光源类型进行分类,例如分类为冷光源场景、暖光源场景、单光源场景、多光源场景,等等。
又例如,可将拍摄场景基于图像内容进行分类,例如分类为人像拍摄场景、非人像拍摄场景、物体拍摄场景、景观拍摄场景,等等。
此外,拍摄场景还可以是上述多种场景的综合。另外,还可以基于实际应用需要定义其他形式的拍摄场景,本申请实施例对此不做限定。
具体的,可以通过一种或多种预设提取算法对多通道图像进行场景语义信息的提取。
例如,所述预设提取算法可以是场景分类算法、图像场景分割算法、物体检测算法、人像分割算法、人脸检测算法、人体检测算法、肤色分割算法、或物体检测算法等等中的一种或多种组合。
比如,通过场景分类算法实现人脸与非人脸的分类、单光源与多光源的分类、光源色温分类、或室内外场景分类,等等。
又比如,可使用图像场景分割算法对图片进行分割,生成蒙版图;可选的也可以使用场景分类算法、物体检测算法、人脸检测算法、肤色分割算法等技术生成蒙版图。该蒙版图可以为本申请提供的AWB神经网络模型提供单帧图像以外更多的与拍摄场景相关的信息,从而提升AWB神经网络对不同拍摄场景的注意力,帮助神经网络拟合收敛,达到更高的预测精度。
又比如,对图像的场景信息的提取可以不采用场景分割技术,而是采用物体检测算法提取场景语义信息,将生成的物体类别框生成场景类别蒙版图送入AWB神经网络。这样,可以利用物体检测技术代替场景分割进行场景语义信息的提取,简化了场景信息提取的复杂度,提升了运算速度,降低了运算复杂度,减小了性能开销。
需要说明的是,以上实施例中,场景语义信息作为辅助输入不一定是蒙版图的形式,还可以是其他形式,例如,采用场景分类算法对图像进行处理后,输出的可以是一串分类置信度(向量),以向量的形式作为神经网络模型的输入。
S705、将多通道图像、场景语义信息和拍摄参数输入到神经网络模型,获得光源颜色信息。
也就是说,该神经网络模型能够根据所述拍摄参数、场景语义信息和多通道图像获得白平衡处理中所需的光源颜色信息。
其中,本申请实施例中描述的神经网络模型从类型上将可以是单个神经网络模型,也可以是两个或多个神经网络模型的组合。
参见图13,所述神经网络模型可以为图13所示的AWB神经网络模型。该AWB神经网络模型具体包括第一特征提取网络、第二特征提取网络、特征融合网络和光源预测网络。
第一特征提取网络用于对RAW图像对应的通道图像进行特征提取,获得第一特征;所述第一特征用于表征该通道图像的颜色信息。
在可选的实施例中,第一特征提取网络可包括一个或多个小卷积核,通过卷积处理实现对通道图像的像素的统计操作,从而获得所述第一特征。
第二特征提取网络用于对场景语义信息进行特征提取,获得第二特征,所述第二特征用于表征该通道图像对应的场景信息。
在可选的实施例中,第二特征提取网络可包括一个或多个大卷积核,通过卷积处理实现对通道图像的场景信息的解析/感知,从而获得所述第二特征。
需要注意的是,所谓的“大卷积核”和“小卷积核”在概念上是彼此相对而言的,也就是说,在可选的方案中,可以设置第二特征提取网络中的卷积核的规模大于第一特征提取网络中的卷积核,以实现对图像更大范围的感知能力,以便于获得更加准确的场景信息。
特征融合网络用于对所述第一特征、所述第二特征和所述拍摄参数进行融合,获得融合后的特征。融合方式不限于concat函数处理、conv2d函数处理、元素乘(elementwisemultiply)处理、元素加(elementwise add)处理等操作中的一种或多种组合。例如,可以对上述三路信息(第一特征、第二特征和拍摄参数)进行加权处理,获得融合后的特征。
需要说明的是,在特征融合网络实现融合过程中,可以将拍摄参数进行扩充变成多维数组的形式,以匹配第一特征、第二特征的数组形式,从而使三路数据的数学形式一致,以便于数据融合处理。
光源预测网络用于根据所述融合后的特征进行预测,获得光源颜色信息。光源颜色信息可用于指示光源的色温或者图像的色差,所以光源颜色信息可用于后续的AWB处理过程。
例如,融合后的特征经光源预测网络处理后,光源预测网络输出图像光源值(r/g,1,b/g),该图像光源值可用于后续的AWB处理过程。
由上可以看到,AWB神经网络模型是通过融合通道图像的特征、场景语义信息的特征和拍摄参数来实现对光源颜色信息的预测的。
在前述图1所示的独立的电子设备的应用场景下,AWB神经网络模型可配置在该电子设备中,利用电子设备中的处理器(例如CPU或者NPU)实现神经网络模型计算,从而获得该光源颜色信息。具体硬件实现过程已在前文做了详细描述,这里不再赘述。
在前述图3所示的端-云应用场景下,AWB神经网络模型可配置在端-云系统中的云端服务器中。电子设备可以将多通道图像、由图像提取的场景语义信息和拍摄参数发给云端服务器,利用云端服务器中的处理器(例如CPU或者NPU)实现神经网络模型计算,从而获得该光源颜色信息,云端服务器再将光源颜色信息反馈到电子设备。具体实现过程已在前文做了详细描述,这里不再赘述。
S706、根据光源颜色信息对多通道图像进行白平衡处理,获得目标图像并通过显示屏进行显示。具体可类似参考前述步骤S605的描述,这里不再赘述。
可以看到,本申请实施例利用了RAW图像对应的多通道图像而非统计特征作为AWB神经网络模型的输入,为AWB神经网络模型提供了更多的颜色信息。又增加了场景语义信息和拍摄参数作为AWB神经网络模型的输入,为光源估计提供了更多有效的先验知识(拍摄配置信息和场景信息),大大增强了AWB神经网络模型针对不同光源场景的辨别能力,提升了整体的光源估计精度,能有效帮助神经网络收敛拟合。
其中,场景语义信息可以很大程度的为图像提供先验的语义信息,帮助AWB神经网络对不同场景做以区分,进而提升AWB神经网络的整体精度。
例如,在模型训练时,对于海量训练数据,神经网络很难在全场景下实现高精度的拟合。比如人脸在不同光源条件下,网络出值不稳,影响肤色感官,这时如果加入了人脸检测信息作为场景语义信息输入神经网络,神经网络在训练过程中会提升人脸区域的注意力,从而提升网络在人脸场景下的拟合精度。
又例如,如果神经网络在蓝天、草地等场景下表现不好,可以引入图像分割技术,将分割得到的天空区域草地区域作为场景信息输入神经网络,神经网络就会增加在天空场景以及草地场景的注意力,从而提升该场景下的光源估计精度。
需要说明的是,本申请实施例中提供了很多种形式的场景语义信息,而在实际应用中,具体采取哪些类型的场景语义信息可根据AWB在不同场景下的需求决定,本申请不做特别限定,包括场景语义信息的具体内容以及获得方式均不做限定,比如可以使用图像分割、实例分割、人脸检测、人体检测、骨架检测、场景分类等等提取技术中的一种或多做来获得场景语义信息作为AWB神经网络的输入。
所以,实施本申请能够提高电子设备在全场景下拍摄的白平衡准确性,提高单帧拍照以及视频场景的AWB的稳定性,以及在多光源等歧义场景下的倾向稳定性。
为了更好理解本申请上述实施例提供的方法,下面描述一种更加详细的实施例,参见图14,该方法可应用于电子设备,包括但不限于以下步骤:
S801、拍摄至少一张RAW图像。
S802、获取拍摄RAW图像采用的拍摄参数。
当用户在终端的交互界面上进行拍照,在进行拍照动作时,手机采集一帧BAYER格式的RAW图,同时获取到拍摄该图片时对应的拍摄参数。
拍摄参数的选用可以选择曝光值,快门时间,光圈大小,ISO感光度等参数。因为手机的传感器在相同环境不一样的参数配置下获取的图片,颜色特性会呈现出差异,因而拍摄参数为图像提供了拍摄时的条件,为光源估计算法提供了参考。
S803、对RAW图进行预处理,获得彩色三通道图像,例如RGB三多通道图像,对于RGB三多通道图像,每个像素都有红绿蓝三个分量。
参见图15,对RAW图进行预处理过程例如可由电子设备的ISP执行,预处理过程包括了生成彩色三通道图像所经历的所有图像处理环节。
具体的,图15示出了一种预处理过程的示例,该过程可包括黑电平校正(BlackLevel Correction,BLC)和镜头阴影校正(Lens Shade Correction,LSC),通过BLC处理可减少暗电流对图像信号的影响,通过LSC处理可消除渐晕现象给图像带来的影响。可选的,还包括图像下采样处理和降噪处理。一种具体的实现过程描述如下:
可以先将RAW图下采样至适合网络输入的尺寸大小,以提升后续的运算速度。再对下采样后的图进行简单的降噪处理(降噪处理过程尽量避免影响图像颜色)。之后再进行BLC处理和LSC处理,以消除图像传感器的电平偏置和摄像头的凸透镜成像带来的亮度以及颜色不均匀的影响。经过上述处理之后的RAW图是Bayer格式,需要经过去马赛克的操作得到彩色三通道图像。为了不影响颜色,去马赛克的操作可以简化成平均绿色通道,并对红蓝绿进行重新的排布,从而获得彩色三通道图像。
用简化的去马赛克操作会使彩色三通道图像的长宽尺寸是下采样的RAW图像长宽的一半(参考前图9所示),可提升后续算法运算速度。
需要说明的是,预处理的过程还可以包括其他的处理算法,本申请其他实施例对此不作限制。
S804、提取多通道图像的场景语义信息。
S805、将多通道图像、场景语义信息和拍摄参数输入到神经网络模型,获得光源颜色信息。
上述S804-S805的具体实现可类似参考S704-705的描述,这里不再赘述。
S806、利用光源颜色信息对图像进行白平衡处理。
具体的,AWB神经网络模型输出光源颜色信息(例如图像光源值)后,电子设备可通过自身配置的ISP利用该光源颜色信息对通道图像进行白平衡处理,从而实现对光源色温引起的图像色差的校正,以使得图像中物体的颜色接近其原本的颜色,图像整体呈现出的效果符合人眼的视觉习惯和认知习惯。
S807、对白平衡处理后的图像进一步进行图像增强处理,得到最后用于显示的目标图像。
参见图15,对RAW图进行图像增强处理的过程例如可由电子设备的ISP执行,也可以由电子设备的其他器件执行,例如由现场可编程逻辑门阵列(Field Programmable GateArray,FPGA)或数字信号处理器(Digital Signal Processor,DSP)执行。
本申请实施例中,对白平衡处理后的图像还可以通过一些图像增强算法来实现后处理,以进一步提升图像的质量,得到最后用于显示的目标图像,输出到电子设备的显示屏进行显示。
其中,图像增强算法例如可包括伽马矫正、对比度增强、动态范围增强或图像锐化等操作。
需要说明的是,后处理过程还可以根据实际应用需要采用其他的处理算法,本申请其他实施例对此不作限制。
为了更好理解本申请方案,下面以图2所示的电子设备10的结构为例对方案做一种示例性的描述:
在用户使用电子设备10执行拍摄时,CPU131控制摄像头111采集拍摄环境的光信号,图像传感器112将摄像头111捕捉到的光信号转化为数字信号,从而获得一张或多张RAW图像,RAW图像进一步被送到ISP12。ISP12执行预处理将所述RAW图像处理为彩色三通道图像,并提取所述彩色三通道图像的场景语义信息。所述彩色三通道图像和所述场景语义信息被进一步输入到NPU132,以及,CPU131对摄像头111、图像传感器112的控制参数(快门,曝光时间,光圈大小等)也被送入到NPU132。NPU132根据输入数据,执行AWB神经网络模型的计算,获得光源颜色值(r/g,1,b/g);并将光源颜色值返回给ISP12。ISP12根据光源颜色值执行白平衡处理,并对白平衡处理后的图像采用图像增强算法进一步优化,获得目标图像。目标图像通过CPU131进一步被送到显示装置14进行显示。
可以看到,本申请实施例相比图12所示的实施例而言,在实现较佳的AWB的基础上,还提供了图像预处理过程的细化实现方式和图像后处理阶段的细化实现方式。通过预处理过程的引入,不仅便于快速、高效地生成多通道图像,以便于实现本申请的AWB方法的实现,还有利于提升图像质量(例如减少暗电流影响、降噪、消除渐晕现象等等)和神经网络算法运算速度。通过后处理过程的引入,能够进一步提升图像的质量,满足用户的应用需求,提升用户的观感体验。
为了更全面理解本申请方案,下面从电子设备(例如手机)的应用程序角度更加显性地对AWB方案进行描述。结合参见图17和图18,该方案包括但不限于以下步骤:
S901、检测到用户指示所述摄像头执行拍摄的操作。
其中,所述指示执行拍摄的操作例如可以是触摸、点击、声控、键控、遥控等等用于触发电子设备拍摄的方式。例如用户用于指示拍摄行为的操作可以包括按下电子设备的相机中的拍摄按钮,也可以包括用户设备通过语音指示电子设备进行拍摄行为,或者,也可以是指用户通过快捷键指示电子设备进行拍摄行为,还可以包括用户其它的指示电子设备进行拍摄行为。本申请不做具体限定。
在一种可能的实现方式中,在步骤S901之前还包括:检测到用户用于打开相机的操作;响应于该操作,在电子设备的显示屏上显示拍摄界面。
例如,电子设备可以检测到用户点击桌面上的相机应用(application,APP)的图标的操作后,可以启动相机应用,显示拍摄界面。
如图18中的(a)示出了手机的一种拍摄界面91的图形用户界面(graphical userinterface,GUI),该拍摄界面91包括拍摄控件93,以及其它拍摄选项。在电子设备检测到用户点击拍摄控件93后,手机执行拍摄流程。
示例性地,该拍摄界面91上还可以包括取景框92;电子设备在启动相机后,在预览状态下,该取景框92内可以实时显示预览图像。可以理解的是,在拍照模式和录像模式下,取景框的大小可以不同。例如,取景框可以为拍照模式下的取景框。在录像模式下,取景框可以为整个显示屏。在预览状态下即可以是用户打开相机且未按下拍照/录像按钮之前,该取景框内可以实时显示预览图像。
S902、响应于所述操作,在显示屏上显示目标图像。
其中,所述目标图像是利用神经网络模型实现白平衡处理后获得的,所述神经网络模型用于根据输入数据获得所述白平衡处理所需的光源颜色信息。
示例性地,如图18所示,响应于用户的指示操作,手机在后台执行拍摄流程,包括:通过摄像头进行拍摄,获得RAW图像;通过ISP执行预处理将所述RAW图像处理为彩色三通道图像;利用执行AWB神经网络模型根据输入数据进行计算,获得光源颜色信息,并基于光源颜色信息实现白平衡处理,后续还可以采用图像增强算法进一步优化,获得目标图像。目标图像通过显示屏进行显示。例如图18中的(b)示出了一种基于相册的显示界面94的GUI,该显示界面94中可显示目标图像95。
在一种实施例中,模型的输入数据包括拍摄参数和多通道图像。模型的结构和执行计算的过程可类似参考前述图11实施例的描述,这里不再赘述。
在又一种方式中,模型的输入数据包括拍摄参数、多通道图像和由多通道图像提取的场景语义信息。模型的结构和执行计算的过程可类似参考前述图13实施例的描述,这里不再赘述。
应理解,上述方法的具体实现过程可类似参考前文图8-图16实施例的描述,即前文图8-图16中的相关内容的扩展、限定、解释和说明也适用于图17、图18中相同的内容,此处不再赘述。
下面进一步描述可用于实现图17、图18所示方法的电子设备的软件系统架构。软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构、或云架构。下面以分层架构的安卓(Android)系统为例进行说明。参见图19,图19是本申请实施例中电子设备的一种可能的软件结构框图。
如图所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图所示,应用程序包可以包括相机APP,图像美化APP,相册APP等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,资源管理器,视图系统,等。其中:
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括图像数据,视频数据等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序的显示界面。
举例来说,通过视图系统呈现的一种拍照APP的拍摄界面如图18中的(a)所示,拍摄界面91包括拍摄控件93、预览框92,以及其他一些相关控件,如图像浏览控件,前后摄像头切换控件等。预览框92用于预览所要拍摄的场景图像。
当用户点击或触摸前后摄像头切换控件,可指示电子设备选择前置摄像头或后置摄像头进行拍摄。
当用户点击或触摸拍摄控件93,电子设备将驱动摄像装置发起拍摄操作,指示下层的系统库对图像进行加工处理,保存到相册中。
当用户点击或触摸图像浏览控件,电子设备可调用相册APP并显示经过本申请提出的自动白平衡方法处理后的图像。
举例来说,通过视图系统呈现的一种相册APP的显示界面如图18中的(b)所示。显示界面94中可显示目标图像95。
安卓运行时(Android Runtime)安卓系统的调度和管理,可包括核心库和虚拟机。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),图形引擎等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供图层融合功能。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动等。其中,摄像头驱动可用于驱动电子设备的摄像头进行拍摄,显示驱动可用于将经处理后的图像显示在显示屏的显示面板上。
图形引擎是用于进行图像加工处理的绘图引擎。本申请实施例中,图形引擎例如可用于实现将所述RAW图像处理为彩色三通道图像;提取所述彩色三通道图像的场景语义信息;将所述彩色三通道图像、拍摄参数和所述场景语义信息输入到神经网络,获得光源颜色信息;根据所述光源颜色信息对所述彩色三通道图像进行白平衡处理,获得用于显示的图像。
需要说明的是,AWB神经网络模型所涉及的训练过程可以有多种实现形式,例如,由图20示出了两种示例性的训练过程。
一种对AWB神经网络模型的训练过程可以是:训练数据包括对图像的光源颜色的标注、由RAW图进行预处理获得的多通道图像、拍摄参数、可选的还包括场景语义信息。训练数据输入到模型后,模型输出光源颜色信息。基于输出的光源颜色信息与标注的光源颜色进行比较,确定损失函数,利用损失函数对模型进行反向传播出来,从而更新模型参数,实现了模型的训练。当通过大量的模型训练使得模型符合应用指标时,即可输出目标模型。
又一种对AWB神经网络模型的训练过程可以是:训练数据包括对图像的光源颜色的标注、由RAW图进行预处理和图像增强算法处理获得的目标图像、拍摄参数、可选的还包括场景语义信息。训练数据输入模型后,模型输出光源颜色信息。基于输出的光源颜色信息与标注的光源颜色进行比较,确定损失函数,利用损失函数对模型进行反向传播出来,从而更新模型参数,实现了模型的训练。当通过大量的模型训练使得模型符合应用指标时,即可输出目标模型。
另外需要说明的是,在一种可能的实现中,训练AWB神经网络模型使用的图像,可以不是单帧图像,而是采用标注的视频序列。在AWB神经网络模型中可引入LSTM、RNN等网络结构,模型训练时也可采用时域相关的策略。也就是说,可以利用视频序列作为训练数据,AWB神经网络模型增加当前图像的前后帧的图像作为模型输入。通过利用视频序列训练、增加连续前后帧的输入、引入LSTM,RNN等结构以及增加时域相关的训练策略等,可以增加AWB神经网络模型光源估计的稳定性,减小相同光源下白平衡跳动的概率。从而可以扩展在视频功能中使用,增加了白平衡的稳定性,提升用户使用体验。
另外,本申请实施例中,电子设备所配置的摄像头的数量并不做限定。在两个或多个摄像头的场景下,对各个摄像头的类型不做限定。例如所谓“类型不同”可以是摄像头的倍率(拍摄倍率或变焦倍率)或焦距不同的摄像头,例如可以是常规摄像头、主摄像头、长焦摄像头、广角摄像头、中长焦摄像头、超长焦摄像头、或超广角摄像头等等。又例如所谓“类型不同”可以是各个摄像头对应的图像传感器不同,比如广角摄像头对应的图像传感器可以是RGGB的模组,主摄像头对应的图像传感器可以是RYYB的模组,长焦摄像头对应的图像传感器可以是RGGB的模组。
现在的手机等电子设备都具备多摄像头,用户在进行拍摄行为时会进行放大缩小的操作或者选择摄像头的操作,而多个摄像头对应的图像传感器或摄像头的类型存在差异,相同场景下拍摄的RAW图值域可能存在着较大差异(同类型的图像传感器件可能差异较小)。在两个或多个摄像头的情况下,本申请描述的自动白平衡方法(或者图像光源信息的获得方式)可以有多种方式的调整和适配。
例如,一种拍摄场景如图23所示,用户在进行拍照行为时会进行取景的操作。用户可以对取景设备(手机屏幕)进行放大或缩小的操作,以实现场景拉近拉远的效果。几种目标图像的示例效果分别如图23中的(1)(2)(3)所示。其中,对于(1),当用户需要拍摄远景细节时,要进行图片放大动作,当时放大到10倍(10x)及以上时,主摄像头的焦段不足以提供很清晰的效果,这时会切换至长焦镜头进行取景拍摄。长焦镜头可能采用RGGB模组,感光性和光谱的响应曲线都会与主摄存在差异。对于(2),在一般的拍摄中,取景要是在1x到10x的区间,主摄像头的焦段足以提供清晰的效果,这时会根据焦段对主摄采集的RAW图进行裁切以实现放大的效果。主摄可能采用RYYB模组,其感光性更佳,光谱的响应曲线都会与RGGB模组存在差异。对于(3),取景若小于1x,目前主摄的焦段不足以提供更大的视野(filed ofview,FOV),如果有广角镜头,相机设备将切换至广角摄像头以提供更大的视角。广角摄像头可能采用RGGB模组,广角摄像头也可能采用不同于主摄或长焦的感光模组,感光性和光谱响应会与以上两种摄像头存在差异。
参见图21,图21示出了一种可能的拍摄流程,该场景以电子设备配置第一摄像头和第二摄像头为例,第一摄像头和第二摄像头可以是类型不同的摄像头。这两个摄像头共用神经网络模型,在该场景中,电子设备配置了第一AWB神经网络模型,第一AWB神经网络模型可以是由第一摄像头(或同款设备,或类似于第一摄像头的设备)采集的数据训练得到的。
如图21所示,在实际拍摄时,若用户选择了第一摄像头进行拍摄,则获得的第一摄像头的RAW图像经预处理得到多通道图像,该多通道图像可配合第一摄像头的摄像参数作为第一AWB神经网络的输入,计算得到第一摄像头对应的光源颜色值(或者增益值)。
若用户选择了第二摄像头进行拍摄,则获得的第二摄像头的RAW图像经预处理得到多通道图像,此外,电子设备还根据该多通道图像进行图像迁移操作,即将该多通道图像的图像颜色迁移至符合第一摄像头的拍摄特点的图像颜色,具体的,可基于所述第二摄像头与所述第一摄像头之间的差异,对第二摄像头对应的多通道图像进行颜色迁移操作,以获得契合第一摄像头对应的图像传感器的感光特性的迁移图像。然后,迁移图像配合第二摄像头的摄像参数作为第一AWB神经网络的输入,计算得到符合第一摄像头的拍摄特点的光源颜色值(或者增益值),在这基础上,进一步对该光源颜色值(或者增益值)进行迁移操作,从而将该光源颜色值(或者增益值)迁移至第二摄像头对应的光源颜色值(或者增益值)。
需要说明的是,在针对第一AWB神经网络进行模型训练时,可以使用第一摄像头(或同款的设备,或类似于第一摄像头的设备)采集的图像数据、第一摄像头的摄像参数等作为训练数据应用于模型训练。也可以使用第二摄像头或其他摄像头采集的图像数据及摄像参数等,但是需要将采集的图像数据迁移至第一摄像头才可参与训练。
还需要说明的是,当第一AWB神经网络模型由第二摄像头采集的数据训练得到时,相当于上述图21实施例中第一摄像头和第二摄像头的角色做了调换,其实现方式将类似上述实现过程,这里不再赘述。
参见图22,图22示出了又一种可能的拍摄流程,该场景同样以电子设备配置第一摄像头和第二摄像头为例,第一摄像头和第二摄像头可以是类型不同的摄像头。这两个摄像头分别对应不同的神经网络模型,例如第一摄像头对应第一AWB神经网络模型,所述第二摄像头对应第二AWB神经网络模型;第一AWB神经网络模型可以是由第一摄像头(或同款设备,或类似于第一摄像头的设备)采集的数据训练得到的,第二AWB神经网络模型可以是由第二摄像头(或同款设备,或类似于第二摄像头的设备)采集的数据训练得到的。
如图21所示,在实际拍摄时,若用户选择了第一摄像头进行拍摄,则获得的第一摄像头的RAW图经预处理得到多通道图像,该多通道图像配合第一摄像头摄像参数作为第一AWB神经网络的输入,从而计算得到第一摄像头对应的光源颜色值(或者增益值)。
若用户选择了第二摄像头进行拍摄,则获得的第二摄像头的RAW图经预处理得到多通道图像,该多通道图像配合第二摄像头摄像参数作为第二AWB神经网络的输入,计算得到第二摄像头对应的光源颜色值(或者增益值)。
需要说明的是,在针对第一AWB神经网络进行模型训练时,可以使用第一摄像头(或同款的设备,或类似于第一摄像头的设备)采集的图像数据、第一摄像头的摄像参数等作为训练数据应用于模型训练。也可以使用第二摄像头或其他摄像头采集的图像数据及摄像参数等,但是需要将采集的图像数据迁移至第一摄像头才可参与训练。
同理,在针对第二AWB神经网络进行模型训练时,可以使用第二摄像头(或同款的设备,或类似于第二摄像头的设备)采集的图像数据、第二摄像头的摄像参数等作为训练数据应用于模型训练。也可以使用第一摄像头或其他摄像头采集的图像数据及摄像参数等,但是需要将采集的图像数据迁移至第二摄像头才可参与训练。
上文图21和图22实施例仅用于解释本申请的方案而非限定,例如实际应用中上述流程可类似推广至多个(两个以上)摄像头的情况;或者实际应用中模型的训练以及模型的使用还需要利用到场景语义信息,具体实现方式可以结合前文图12、图13实施例的描述,这里不再赘述。
基于相同申请构思,本申请实施例还提供了一种用于实现图像自动白平衡的装置,参见图24,图24是本申请实施例提供的一种图像自动白平衡的装置的结构示意图。该装置包括:参数获取模块1001,图像获取模1002和处理模块1003。在一种示例中,上述功能模块可运行于具有摄像头(例如可称为第一摄像头)的电子设备的处理器中。其中:
参数获取模块1001,用于获取所述第一摄像头拍摄原始RAW域图像时采用的拍摄参数。
图像获取模块1002,用于获取所述原始RAW域图像对应的多通道图像。
处理模块1003,用于将输入数据输入第一神经网络模型得到白平衡的第一增益值;所述输入数据至少包括所述第一摄像头的拍摄参数和所述多通道图像;还用于对所述多通道图像进行第一处理,得到目标图像;其中,所述第一处理包括基于所述多通道图像和所述第一增益值的白平衡处理。
在一些可能的实施例中,所述拍摄参数包括曝光值、快门时间、光圈大小、或ISO感光度中的至少一个。
在一些可能的实施例中,所述第一神经网络模型是通过融合所述第一摄像头的拍摄参数和所述多通道图像的图像特征来实现对所述第一增益值的预测的。
在一些可能的实施例中,所述处理模块具体用于:根据所述第一摄像头的拍摄参数和所述多通道图像,通过配置在所述电子设备的第一神经网络模型获得所述第一增益值;利用所述第一增益值对所述多通道图像进行白平衡处理;对所述白平衡处理后的图像进行后处理,获得所述目标图像。
在一些可能的实施例中,所述处理模块具体用于:将所述第一摄像头的拍摄参数和所述多通道图像发送到服务器;接收来自所述服务器的所述第一增益值,所述第一增益值是通过配置在所述服务器的第一神经网络模型获得的;利用所述第一增益值对所述多通道图像进行白平衡处理;对所述白平衡处理后的图像进行后处理,获得所述目标图像。
在一些可能的实施例中,所述第一神经网络模型包括第一特征提取网络、特征融合网络和光源预测网络;所述处理模块具体用于:通过所述第一特征提取网络对所述多通道图像进行特征提取,获得第一特征;通过所述特征融合网络融合所述第一摄像头的拍摄参数和所述第一特征,获得融合后的特征;通过所述光源预测网络根据所述融合后的特征进行预测,获得所述第一增益值。
在一些可能的实施例中,所述输入数据还包括由所述多通道图像表征的场景语义信息;所述第一神经网络模型具体是通过融合所述第一摄像头的拍摄参数、所述多通道图像的图像特征和所述多通道图像表征的场景语义信息来实现对所述增益值的预测的。
在一些可能的实施例中,所述处理模块具体用于:对所述多通道图像进行场景语义信息的提取;根据所述第一摄像头的拍摄参数、所述多通道图像和所述场景语义信息,通过配置在所述电子设备的第一神经网络模型获得所述第一增益值;利用所述第一增益值对所述多通道图像进行白平衡处理;对所述白平衡处理后的图像进行后处理,获得所述目标图像。
在一些可能的实施例中,所述处理模块具体用于:将所述第一摄像头的拍摄参数、所述多通道图像和所述场景语义信息发送到服务器;接收来自所述服务器的所述第一增益值,所述第一增益值是通过配置在所述服务器的第一神经网络模型获得的;利用所述第一增益值对所述多通道图像进行白平衡处理;对所述白平衡处理后的图像进行后处理,获得所述目标图像。
在一些可能的实施例中,所述第一神经网络模型包括第一特征提取网络、第二特征提取网络、特征融合网络和光源预测网络;所述处理模块具体用于:通过所述第一特征提取网络对所述多通道图像进行特征提取,获得第一特征;通过所述第二特征提取网络对所述场景语义信息进行特征提取,获得第二特征;通过所述特征融合网络融合所述拍摄参数、所述第一特征和所述第二特征,获得融合后的特征;通过所述光源预测网络根据所述融合后的特征进行预测,获得所述第一增益值。
在一些可能的实施例中,所述处理模块具体用于:对所述多通道图像执行物体检测、场景分类、图像场景分割、人像分割、或人脸检测中的至少一种操作,以获得所述场景语义信息。
在一些可能的实施例中,所述图像获取模块具体用于:对所述原始RAW域图像进行预处理获得所述多通道图像,所述预处理包括去马赛克处理。
在一些可能的实施例中,所述多通道图像为三通道图像或者四通道图像。
需要说明的,通过前述图8-图16实施例的详细描述,本领域技术人员可以清楚的知道该装置所包含的各个功能模块的实现方法,所以为了说明书的简洁,在此不再详述。
基于相同的发明构思,本申请实施例还提供又一种电子设备,所述电子设备包括摄像头、显示屏、存储器和处理器,其中:所述摄像头用于拍摄图像;所述显示屏用于显示图像;所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,具体用于执行图8、图10、图12、图14、图17所述方法实施例中的任意实施例描述的方法步骤。
基于相同的发明构思,本申请实施例还提供又一种电子设备,所述电子设备包括至少两个摄像头、存储器和处理器,所述至少两个摄像头包括第一摄像头和第二摄像头,其中:所述至少两个摄像头均用于拍摄图像;所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,可用于执行图21或图22所述方法实施例中的任意实施例描述的方法步骤。或者可用于执行具体用于执行图8、图10、图12、图14、图17所述方法实施例中的任意实施例描述的方法步骤。
本申请实施例还提供一种芯片,该芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。该芯片可以执行上述图8、图10、图12、图14、图17、图21或图22方法实施例中的任意实施例描述的方法步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述图8、图10、图12、图14、图17、图21或图22方法实施例中的任意实施例描述的方法步骤。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被执行时执行上述图8、图10、图12、图14、图17、图21或图22方法实施例中的任意实施例描述的方法步骤
应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random accessmemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照上述实施例对本申请进行了详细的说明,本领域的普通技术人员还应当理解的是:任何基于对上述各实施例所记载的技术方案进行的改动、变形、或者对其中部分技术特征进行的等同替换均应属于本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种图像自动白平衡的方法,其特征在于,所述方法应用于包括至少两个摄像头的电子设备,所述至少两个摄像头包括第一摄像头和第二摄像头,所述方法包括:
根据用户的拍摄指令从所述至少两个摄像头中选择目标摄像头;所述拍摄指令包括拍摄倍率;
当所述目标摄像头为所述第二摄像头时,获取所述第二摄像头拍摄第二原始RAW域图像时采用的拍摄参数和所述第二原始RAW域图像对应的第二多通道图像;
对所述第二多通道图像进行颜色迁移,获得契合所述第一摄像头的迁移图像;
至少将所述第二摄像头的拍摄参数和所述迁移图像输入第一神经网络模型,得到白平衡的第一增益值;所述第一神经网络模型与所述第一摄像头相关联;
根据所述第一增益值获得所述第二摄像头对应的第二增益值,所述第二增益值用于确定图像光源值;
对所述第二多通道图像进行第一处理,得到第二目标图像;
其中,所述第一处理包括基于所述第二多通道图像和所述第二增益值的白平衡处理。
2.根据权利要求1所述的方法,其特征在于,所述对所述第二多通道图像进行颜色迁移,获得契合所述第一摄像头的迁移图像,包括:
基于所述第二摄像头与所述第一摄像头之间的差异,对所述第二多通道图像进行颜色迁移操作,以获得契合所述第一摄像头对应的图像传感器的感光特性的迁移图像。
3.根据权利要求1或2所述的方法,其特征在于,当所述目标摄像头为所述第一摄像头时,所述方法还包括:
获取所述第一摄像头拍摄第一原始RAW域图像时采用的拍摄参数和所述第一原始RAW域图像对应的第一多通道图像;
至少将所述第一摄像头的拍摄参数和所述第一多通道图像输入所述第一神经网络模型,得到白平衡的第三增益值;
根据所述第一多通道图像和所述第三增益值进行白平衡处理,以获得第一目标图像。
4.根据权利要求1或2所述的方法,其特征在于,所述第一摄像头和所述第二摄像头各自的倍率不同,或者,所述第一摄像头和所述第二摄像头各自对应的图像传感器不同。
5.根据权利要求4所述的方法,其特征在于,所述第一摄像头和所述第二摄像头各自的摄像头类型不同,所述摄像头类型包括主摄像头、长焦摄像头、广角摄像头、中长焦摄像头、超长焦摄像头、超广角摄像头。
6.根据权利要求5所述的方法,其特征在于,当所述第一摄像头和所述第二摄像头为主摄像头、长焦摄像头和广角摄像头中的两者时,以下至少一项成立:
所述长焦摄像头对应的图像传感器包括RGGB的模组;
所述主摄像头对应的图像传感器包括RYYB的模组;
所述广角摄像头对应的图像传感器包括RGGB的模组;
所述长焦摄像头的拍摄倍率大于所述主摄像头的拍摄倍率;
所述主摄像头的拍摄倍率大于所述广角摄像头的拍摄倍率。
7.根据权利要求1或2所述的方法,其特征在于,所述拍摄参数包括曝光值、快门时间、光圈大小、或ISO感光度中的至少一个。
8.根据权利要求1、2、5或6中任一项所述的方法,其特征在于,所述多通道图像为三通道图像或者四通道图像。
9.一种电子设备,其特征在于,所述电子设备包括摄像头、存储器和处理器,其中:所述摄像头用于拍摄图像;所述存储器用于存储程序;所述处理器用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,具体用于执行权利要求1至8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令由处理器运行时,实现权利要求1-8中任一项所述的方法。
11.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1-8中任一项所述的方法。
12.一种实现图像自动白平衡的装置,其特征在于,包括用于执行如权利要求1-8中任一项所述方法的模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/085966 WO2021204202A1 (zh) | 2020-04-10 | 2021-04-08 | 图像自动白平衡的方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010280949 | 2020-04-10 | ||
CN2020102809497 | 2020-04-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113518210A CN113518210A (zh) | 2021-10-19 |
CN113518210B true CN113518210B (zh) | 2024-05-24 |
Family
ID=78060643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010817963.6A Active CN113518210B (zh) | 2020-04-10 | 2020-08-14 | 图像自动白平衡的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113518210B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023082811A1 (zh) * | 2021-11-15 | 2023-05-19 | 荣耀终端有限公司 | 一种图像颜色的处理方法及装置 |
CN114422682B (zh) * | 2022-01-28 | 2024-02-02 | 安谋科技(中国)有限公司 | 拍摄方法、电子设备和可读存储介质 |
CN114677291B (zh) * | 2022-02-25 | 2023-05-12 | 荣耀终端有限公司 | 一种图像处理方法、装置及相关设备 |
CN115955611B (zh) * | 2022-03-28 | 2023-09-29 | 荣耀终端有限公司 | 图像处理方法与电子设备 |
CN115550575B (zh) * | 2022-04-21 | 2023-07-07 | 荣耀终端有限公司 | 图像处理方法及其相关设备 |
CN115103173B (zh) * | 2022-06-13 | 2024-06-18 | 上海集成电路研发中心有限公司 | 图像自动白平衡的实现方法、装置及其芯片 |
CN114900603B (zh) * | 2022-06-24 | 2024-04-19 | 灵优智学(深圳)科技有限公司 | 一种摄像装置 |
CN117119314B (zh) * | 2023-02-25 | 2024-06-07 | 荣耀终端有限公司 | 一种图像处理方法及相关电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950013189A (ko) * | 1993-10-08 | 1995-05-17 | 배순훈 | 캠코더의 오토 화이트 밸런스(awb) 제어방법 |
CN106412547A (zh) * | 2016-08-29 | 2017-02-15 | 厦门美图之家科技有限公司 | 一种基于卷积神经网络的图像白平衡方法、装置和计算设备 |
CN107343190A (zh) * | 2017-07-25 | 2017-11-10 | 广东欧珀移动通信有限公司 | 白平衡调节方法、装置和终端设备 |
CN107578390A (zh) * | 2017-09-14 | 2018-01-12 | 长沙全度影像科技有限公司 | 一种使用神经网络进行图像白平衡校正的方法及装置 |
CN109151426A (zh) * | 2017-06-28 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种白平衡调整方法、装置、相机及介质 |
-
2020
- 2020-08-14 CN CN202010817963.6A patent/CN113518210B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950013189A (ko) * | 1993-10-08 | 1995-05-17 | 배순훈 | 캠코더의 오토 화이트 밸런스(awb) 제어방법 |
KR970006549B1 (ko) * | 1993-10-08 | 1997-04-29 | 대우전자 주식회사 | 캠코더의 오토 화이트 밸런스(awb) 제어방법 |
CN106412547A (zh) * | 2016-08-29 | 2017-02-15 | 厦门美图之家科技有限公司 | 一种基于卷积神经网络的图像白平衡方法、装置和计算设备 |
CN109151426A (zh) * | 2017-06-28 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种白平衡调整方法、装置、相机及介质 |
CN107343190A (zh) * | 2017-07-25 | 2017-11-10 | 广东欧珀移动通信有限公司 | 白平衡调节方法、装置和终端设备 |
CN107578390A (zh) * | 2017-09-14 | 2018-01-12 | 长沙全度影像科技有限公司 | 一种使用神经网络进行图像白平衡校正的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113518210A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113518210B (zh) | 图像自动白平衡的方法及装置 | |
WO2021204202A1 (zh) | 图像自动白平衡的方法及装置 | |
US10949958B2 (en) | Fast fourier color constancy | |
CN109005366A (zh) | 摄像模组夜景摄像处理方法、装置、电子设备及存储介质 | |
WO2020037959A1 (en) | Image processing method, image processing apparatus, electronic device and storage medium | |
CN116324878A (zh) | 针对图像效果的分割 | |
CN116438804A (zh) | 帧处理和/或捕获指令系统及技术 | |
US20210360157A1 (en) | Automated Camera Mode Selection | |
WO2023098743A1 (zh) | 自动曝光方法、装置、设备及存储介质 | |
US11825179B2 (en) | Auto exposure for spherical images | |
CN115633262B (zh) | 图像处理方法和电子设备 | |
CN116744120B (zh) | 图像处理方法和电子设备 | |
Yang et al. | Personalized exposure control using adaptive metering and reinforcement learning | |
JP2021005846A (ja) | 積層型撮像デバイス、撮像装置、撮像方法、学習方法及び画像読み出し回路 | |
KR20240142428A (ko) | 멀티-센서 이미징 컬러 수정 | |
US11671714B1 (en) | Motion based exposure control | |
US20230125040A1 (en) | Temporally Consistent Neural Network Processing System | |
WO2023215659A1 (en) | Methods and systems for shift estimation for one or more output frames | |
CN116055895A (zh) | 图像处理方法及其相关设备 | |
JP2023078061A (ja) | イメージングにおける露出制御方法、装置、デバイス及び記憶媒体 | |
CN116128739A (zh) | 下采样模型的训练方法、图像处理方法及装置 | |
WO2021154807A1 (en) | Sensor prioritization for composite image capture | |
US20230370727A1 (en) | High dynamic range (hdr) image generation using a combined short exposure image | |
US20240054659A1 (en) | Object detection in dynamic lighting conditions | |
CN116055855B (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 |