一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种AI自动白平衡的算法和电子设备的制作方法

2022-12-23 21:00:19 来源:中国专利 TAG:

一种ai自动白平衡的算法和电子设备
技术领域
1.本技术涉及图像处理领域,尤其涉及一种ai自动白平衡的算法和电子设备。


背景技术:

2.由于人眼具有独特的适应性,使我们有的时候不能发现色温的变化。比如在钨丝灯下呆久了,并不会觉得钨丝灯下的白纸偏红,如果突然把日光灯改为钨丝灯照明,就会觉查到白纸的颜色偏红了,但这种感觉也只能够持续一会儿。摄像机的电荷耦合元件电路(charge-coupled device,ccd)或cmos电路没有办法像人眼一样会对光源的颜色变化进行修正,所以如果摄像机的白平衡设置同景物照明的色温不一致就会发生偏色。因此,如何提高白平衡的准确性是技术人员日益关注的问题。


技术实现要素:

3.本技术实施例提供了一种ai自动白平衡的算法和电子设备,解决了通过传统自动白平衡算法得到的图像光源的rgb_gain(图像调节值)准确度不高,进而造成电子设备基于所述rgb_gain对图像进行白平衡调节效果不佳的问题。
4.第一方面,本技术实施例提供了一种ai自动白平衡的算法,包括:将第一图像分别输入第一ffcc模型、第二ffcc模型、第三ffcc模型和第四ffcc模型进行计算,得到第一调节值、第二调节值、第三调节值和第四调节值,其中,第一调节值通过第一ffcc模型得到的,第二调节值通过第二ffcc模型得到的,第三调节值通过第三ffcc模型得到的,第四调节值通过第四ffcc模型得到的;将第一调节值、第二调节值、第三调节值和第四调节值输入卡尔曼滤波器进行计算,得到第一图像的调节值,该第一图像的调节值用于调节第一图像的颜色;其中,第一ffcc模型用于标识图像亮度值大于第一阈值对应的模型,第二ffcc模型用于标识图像亮度值小于或等于第一阈值对应的模型,第三ffcc模型用于标识图像光源的d
uv
大于第二阈值对应的模型,第四ffcc模型用于标识图像光源的d
uv
小于或等于第二阈值对应的模型。
5.实施第一方面的方法,将图像分别通过lv(亮度值)型的ffcc模型(第一ffcc模型和第二ffcc模型)以及d
uv
型的ffcc模型(第三ffcc模型和第四ffcc模型)进行计算处理,得到与图像的lv相关的调节值(第一调节值和第二调节值)、与图像光源d
uv
相关的调节值(第三调节值和第四调节值),将与图像的lv相关的调节值和与图像光源d
uv
相关的调节值通过卡尔曼滤波器进行融合计算,得到所述图像的调节值(rgb_gain)。由于该rgb_gain基于图像lv以及图像光源d
uv
得到的,因此,该rgb_gain的准确度极高。当电子设备使用该rgb_gain对图像每个像素的rgb进行调节时,能够准确的修正图像因光源色温造成的色差,即能够准确的调节图像的白平衡。
6.结合第一方面,在一种实施方式中,将第一图像分别输入第一ffcc模型、第二ffcc模型、第三ffcc模型和第四ffcc模型进行计算,得到第一调节值、第二调节值、第三调节值和第四调节值,具体包括:将第一图像分别输入第一ffcc模型、第二ffcc模型、第三ffcc模
为更新后的第一协方差矩阵,sigma
′2为更新后的第二协方差矩阵;基于mu

计算得到第一图像光源的d
uv

15.在上述实施例中,电子设备计算图像光源的d
uv
,电子设备可以将图像光源的d
uv
和图像的亮度值作为计算图像调节值的参考因素。这样,在不同拍摄环境下拍摄图像,电子设备都能通过卡尔曼滤波器计算出该图像高准确度的调节值,扩大了电子设备调节图像白平衡的应用场景。
16.结合第一方面,在一种实施方式中,根据第一图像光源的d
uv
计算第三ffcc模型的权重值f3和第四ffcc模型的权重值f4,具体包括:根据公式得到权重值f3;根据公式f4=1-f3,得到权重值f4;其中,duv
thres
为第二阈值,y为第一图像光源的d
uv
,duv
mult
用于表征y在f3上的变化速率。
17.在上述实施例中,f3和f4能够全面、准确地反映通过第三ffcc模型和第四ffcc模型得到的第三调节值和第四调节值对图像的调节值在光源因素下的影响程度,使得当电子设备在不同光源环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
18.结合第一方面,在一种实施方式中,基于f3、第三协方差矩阵和第三色度坐标,计算得到第三调节值,具体包括:将第三协方差矩阵根据公式计算,得到更新后的第三协方差矩阵;sigma3为第三协方差矩阵,sigma
′3为更新后的第三协方差矩阵;将第三色度坐标和sigma
′3根据公式mu
′3=mu3*(sigma
′3)-1
计算,得到第三调节值;其中,mu3为第三色度坐标,mu
′3为第三调节值。
19.在上述实施例中,第三调节值包括f3的信息。因此,第三调节值能够准确反映对图像的调节值在光源因素下的影响程度,使得当电子设备在不同光源环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
20.结合第一方面,在一种实施方式中,基于f4、第四协方差矩阵和第四色度坐标,计算得到第四调节值,具体包括:将第四协方差矩阵根据公式计算,得到更新后的第四协方差矩阵;sigma4为第四协方差矩阵,sigma
′4为更新后的第四协方差矩阵;将第四色度坐标和sigma
′4根据公式mu
′4=mu4*(sigma
′4)-1
计算,得到第四调节值;其中,mu4为第四色度坐标,mu
′4为第四调节值。
21.在上述实施例中,第四调节值包括f4的信息。因此,第四调节值能够准确反映对图像的调节值在光源因素下的影响程度,使得当电子设备在不同光源环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
22.结合第一方面,在一种实施方式中,将第一调节值、第二调节值、第三调节值和第四调节值输入卡尔曼滤波器进行计算,得到第一图像的调节值,具体包括:根据公式mu

=mu
′1*(sigma
′1)-1
mu
′2*(sigma
′2)-1
mu
′3*(sigma
′3)-1
mu
′4*(sigma
′4)-1
计算,得到第一图像的调节值;其中,mu

为第一图像的调节值,mu
′1为第一调节值该mu
′2为第二调节值,mu
′3为第三调节值,mu
′4为第四调节值,sigma
′1为更新后的第一协方差矩阵,sigma
′2为更新后的第二协方差矩阵,sigma
′3为更新后的第三协方差矩阵,sigma
′4为更新后的第四协方差矩阵。
23.在上述实施例中,由于第一ffcc模型和第二ffcc模型能够准确计算不同亮度环境
f1,得到权重值f2;其中,lv
thres
为第一阈值,x为第一图像的亮度值,lv
mult
用于表征x在f1上的变化速率。
29.在上述实施例中,在上述实施例中,f1和f2能够全面、准确地反映通过第一ffcc模型和第二ffcc模型得到的第一调节值和第二调节值对图像的调节值在亮度因素下的影响程度,使得当电子设备在不同亮度环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
30.结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:将第一协方差矩阵根据公式计算,得到更新后的第一协方差矩阵;sigma1为第一协方差矩阵,sigma
′1为更新后的第一协方差矩阵;将第一色度坐标和sigma
′1根据公式mu
′1=mu1*(sigma
′1)-1
计算,得到第一调节值;其中,mu1为第一色度坐标,mu
′1为第一调节值。
31.在上述实施例中,第一调节值包括f1的信息。因此,第一调节值能够准确反映对图像的调节值在亮度因素下的影响程度,使得当电子设备在不同亮度环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
32.结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:将第二协方差矩阵根据公式计算,得到更新后的第二协方差矩阵;sigma2为第二协方差矩阵,sigma
′2为更新后的第二协方差矩阵;将第二色度坐标和sigma
′2根据公式mu
′2=mu2*(sigma
′2)-1
计算,得到第二调节值;其中,mu2为第二色度坐标,mu
′2为第二调节值。
33.在上述实施例中,第二调节值包括f2的信息。因此,第二调节值能够准确反映对图像的调节值在亮度因素下的影响程度,使得当电子设备在不同亮度环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
34.结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:根据公式mu

=mu
′1*(sigma
′1)-1
mu
′2*(sigma
′2)-1
计算,得到融合后的色度坐标;mu

为融合后的色度坐标,mu
′1为第一调节值,mu
′2为第二调节值,sigma
′1为更新后的第一协方差矩阵,sigma
′2为更新后的第二协方差矩阵;基于mu

计算得到第一图像光源的d
uv

35.在上述实施例中,电子设备计算图像光源的d
uv
,电子设备可以将图像光源的d
uv
和图像的亮度值作为计算图像调节值的参考因素。这样,在不同拍摄环境下拍摄图像,电子设备都能通过卡尔曼滤波器计算出该图像高准确度的调节值,扩大了电子设备调节图像白平衡的应用场景。
36.结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:根据公式得到权重值f3;根据公式f4=1-f3,得到权重值f4;其中,duv
thres
为第二阈值,y为第一图像光源的d
uv
,duv
mult
用于表征y在f3上的变化速率。
37.在上述实施例中,f3和f4能够全面、准确地反映通过第三ffcc模型和第四ffcc模型得到的第三调节值和第四调节值对图像的调节值在光源因素下的影响程度,使得当电子设
备在不同光源环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
38.结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:将第三协方差矩阵根据公式计算,得到更新后的第三协方差矩阵;sigma3为第三协方差矩阵,sigma
′3为更新后的第三协方差矩阵;将第三色度坐标和sigma
′3根据公式mu
′3=mu3*(sigma
′3)-1
计算,得到第三调节值;其中,mu3为第三色度坐标,mu
′3为第三调节值。
39.在上述实施例中,第三调节值包括f3的信息。因此,第三调节值能够准确反映对图像的调节值在光源因素下的影响程度,使得当电子设备在不同光源环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
40.结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:将第四协方差矩阵根据公式计算,得到更新后的第四协方差矩阵;sigma4为第四协方差矩阵,sigma
′4为更新后的第四协方差矩阵;将第四色度坐标和sigma
′4根据公式mu
′4=mu4*(sigma
′4)-1
计算,得到第四调节值;其中,mu4为第四色度坐标,mu
′4为第四调节值。
41.在上述实施例中,第四调节值包括f4的信息。因此,第四调节值能够准确反映对图像的调节值在光源因素下的影响程度,使得当电子设备在不同光源环境下拍摄图像时,卡尔曼滤波器都能计算出该图像准确度极高的调节值。
42.结合第二方面,在一种实施方式中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:根据公式mu

=mu
′1*(sigma
′1)-1
mu
′2*(sigma
′2)-1
mu
′3*(sigma
′3)-1
mu
′4*(sigma
′4)-1
计算,得到第一图像的调节值;其中,mu

为第一图像的调节值,mu
′1为第一调节值该mu
′2为第二调节值,mu
′3为第三调节值,mu
′4为第四调节值,sigma
′1为更新后的第一协方差矩阵,sigma
′2为更新后的第二协方差矩阵,sigma
′3为更新后的第三协方差矩阵,sigma
′4为更新后的第四协方差矩阵。
43.在上述实施例中,由于第一ffcc模型和第二ffcc模型能够准确计算不同亮度环境下图像的调节值,第三ffcc模型和第四ffcc模型能够计算不同光源环境下图像的调节值。因此,将第一调节值~第四调节值通过上述公式进行计算融合得到的调节值准确度极高,使得电子设备能够通过该调节值准确地调节图像的白平衡。
44.第三方面,本技术实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种实施方式所述的方法。
45.结合第三方面,在一种实施方式中,将图像分别通过lv(亮度值)型的ffcc模型(第一ffcc模型和第二ffcc模型)以及d
uv
型的ffcc模型进行计算处理,得到与图像的lv相关的调节值(第一调节值和第二调节值)、与图像光源d
uv
相关的调节值(第三调节值和第四调节值),将与图像的lv相关的调节值和与图像光源d
uv
相关的调节值通过卡尔曼滤波器进行融合计算,得到所述图像的调节值(rgb_gain)。由于该rgb_gain基于图像lv以及图像光源d
uv
得到的,因此,该rgb_gain的准确度极高。当电子设备使用该rgb_gain对图像每个像素的rgb进行调节时,能够准确的修正图像因光源色温造成的色差,即能够准确的调节图像的白平衡。
46.第四方面,本技术实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所述的方法。
47.结合第四方面,在一种实施方式中,将图像分别通过lv(亮度值)型的ffcc模型(第一ffcc模型和第二ffcc模型)以及d
uv
型的ffcc模型进行计算处理,得到与图像的lv相关的调节值(第一调节值和第二调节值)、与图像光源d
uv
相关的调节值(第三调节值和第四调节值),将与图像的lv相关的调节值和与图像光源d
uv
相关的调节值通过卡尔曼滤波器进行融合计算,得到所述图像的调节值(rgb_gain)。由于该rgb_gain基于图像lv以及图像光源d
uv
得到的,因此,该rgb_gain的准确度极高。当电子设备使用该rgb_gain对图像每个像素的rgb进行调节时,能够准确的修正图像因光源色温造成的色差,即能够准确的调节图像的白平衡。
48.第五方面,本技术实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实施方式所述的方法。
49.结合第五方面,在一种实施方式中,将图像分别通过lv(亮度值)型的ffcc模型(第一ffcc模型和第二ffcc模型)以及d
uv
型的ffcc模型进行计算处理,得到与图像的lv相关的调节值(第一调节值和第二调节值)、与图像光源d
uv
相关的调节值(第三调节值和第四调节值),将与图像的lv相关的调节值和与图像光源d
uv
相关的调节值通过卡尔曼滤波器进行融合计算,得到所述图像的调节值(rgb_gain)。由于该rgb_gain基于图像lv以及图像光源d
uv
得到的,因此,该rgb_gain的准确度极高。当电子设备使用该rgb_gain对图像每个像素的rgb进行调节时,能够准确的修正图像因光源色温造成的色差,即能够准确的调节图像的白平衡。
50.第六方面,本技术实施例提供了一种电子设备,包括:触控屏、摄像头、一个或多个处理器和一个或多个存储器;所述一个或多个处理器与所述触控屏、所述摄像头、所述一个或多个存储器耦合,所述一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如第一方面或第一方面的任意一种实施方式所述的方法。
51.结合第六方面,在一种实施方式中,将图像分别通过lv(亮度值)型的ffcc模型(第一ffcc模型和第二ffcc模型)以及d
uv
型的ffcc模型进行计算处理,得到与图像的lv相关的调节值(第一调节值和第二调节值)、与图像光源d
uv
相关的调节值(第三调节值和第四调节值),将与图像的lv相关的调节值和与图像光源d
uv
相关的调节值通过卡尔曼滤波器进行融合计算,得到所述图像的调节值(rgb_gain)。由于该rgb_gain基于图像lv以及图像光源d
uv
得到的,因此,该rgb_gain的准确度极高。当电子设备使用该rgb_gain对图像每个像素的rgb进行调节时,能够准确的修正图像因光源色温造成的色差,即能够准确的调节图像的白平衡。
附图说明
52.图1a-图1d是本技术实施例提供的一种ai自动白平衡算法的应用场景图;
53.图2是本技术实施例提供的一种ai自动白平衡算法的系统架构图;
54.图3是本技术实施例提供的电子设备100的硬件结构示意图;
55.图4是本技术实施例提供的一种ffcc模型训练的架构示意图;
56.图5是本技术实施例提供的一种通过ai awb算法输出融合后的图像光源的rgb_gain的流程示意图;
57.图6是本技术实施例提供的一种uv色度坐标图;
58.图7是本技术实施例提供的一种电子设备100的结构示意图。
具体实施方式
59.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
60.本技术的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
61.附图中仅示出了与本技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
62.在本说明书中使用的术语“部件”、“模块”、“系统”、“单元”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
63.下面,对本技术实施例涉及的一些专有名词进行解释。
64.(1)普朗克轨迹:在辐射作用下既不反射也不完全投射,而能把落在它上面的辐射全部吸收的物体称为黑体或完全辐射体。当黑体连续加热时,它的相对光谱功率分布的最大值将向短波方向移动,相应的光色将按照红、黄、白、蓝的顺序进行变化,在不同温度下,黑体对应的光色变化在色度坐标图上形成的弧形轨迹,叫做黑体轨迹或普朗克轨迹。
65.(2)相关色温(correlated colour temperature,cct):是指与具有相同亮度刺激的颜色最相近的黑体辐射体的温度,用k氏温度表示,用于描述位于普朗克轨迹附近的光的颜色的度量。除热辐射光源以外的其它光源具有线状光谱,其辐射特性与黑体辐射特性差别较大,所以这些光源的光色在色度图上不一定准确地落在黑体轨迹上,对这样一类光源,通常用cct来描述光源的颜色特性。
66.(3)d
uv
:d
uv
是指从测试光源的uv色度坐标到普朗克轨迹上的最近点的距离,d
uv
表征了测试光源的色度坐标与普朗克轨迹的颜色偏移(绿色或粉红色)和方向的信息。
67.(4)rgb:rgb是一个三维向量(r,g,b)。其中,r、g、b分别代表在红(red)、绿(green)、蓝(blue)三个颜色通道上的幅值。
68.(5)rgb_gain:rgb_gain是一个三维向量(gain_r,gain_g,gain_b),也叫作rgb增益值。其中,gain_r、gain_g、gain_b分别代表在红(red)、绿(green)、蓝(blue)三个颜色通道上的比例,当图像光源的rgb_gain与图像光源的rgb相乘后,得到一个三维向量(r*gain_r,g*gain_g,b*gain_b)。其中,r*gain_r=g*gain_g=b*gain_b。
69.(6)亮度值(lighting value,lv):用于估计环境亮度。
70.(7)xyz空间:本技术实施例中的rgb是devicergb,devicergb颜色空间是与设备相关的颜色空间,即:不同设备对rgb的理解不同。因此,devicergb不适合用于计算亮度值等参数。计算lv等参数需要将devicergb颜色空间转换为与设备无关的xyz空间,即:将rgb转换为xyz。
71.rgb颜色空间转换为xyz空间的常用方法为:在不同光源环境下(典型的光源包括a、h、u30、tl84、d50、d65、d75等等)标定出一个大小为3*3的颜色校正矩阵(color correction matrix,ccm),并将不同光源的ccm存储在电子设备的内存中,通过公式:
[0072][0073]
得到图像在xyz空间对应的三维向量,从而实现rgb空间到xyz空间的转化。在拍摄过程中,往往根据图像中的白平衡基准点来匹配对应的光源,并选择该光源对应的ccm。若存在白平衡基准点的rgb在两个光源之间(例如图像的rgb落在d50和d65之间),ccm可由d50和d65进行双线性插值所得到。例如,d50的颜色校正矩阵为ccm1,相关色温为cct1,d60的颜色校正矩阵为ccm2,相关色温为cct2,图像光源的相关色温为ccta。电子设备可以根据公式:
[0074][0075]
计算出比例值g,基于g,根据公式:
[0076]
ccm=g*ccm1 (1-g)*ccm2[0077]
可以计算出图像的ccm。
[0078]
(8)快速傅里叶颜色恒常性(fast fourier color constancy,ffcc)模型:使用快速傅里叶算法在图像的uv色度图上进行卷积计算,最大响应的位置对应光源的uv色度坐标,从而获取该图像光源的rgb或rgb_gain或光源的uv色度坐标。
[0079]
由于物体颜色会因投射光线的颜色发生改变,在不同的场景下拍摄出的照片显示出不同的色温,且数码相机或手机摄像头内的ccd电路或cmos电路不能对光源颜色的变化
作出修正。因此,为了防止拍摄出的图像发生偏色的问题,常常需要将图像通过数码相机或手机内置的白平衡算法进行处理,以修正图像的色偏。
[0080]
白平衡就是针对不同色温条件下,通过调整摄像机内部的色温对应的信号增益使拍摄出来的影像抵消偏色,更接近人眼的视觉习惯。因为摄像头没有人眼那么智能(人眼在看到物体的时候,自动做色彩矫正),所以相机设定了一个范围,如果拍摄到的照片色彩平均值落在该设定范围内,则无需修正,如果偏离出该范围,则需要调整参数让其落在该范围内。这就是白平衡修正过程。例如,被调图像的光源的红、绿、蓝三色值(光源的rgb)为(25,50,150),该光源的红光、绿光以及蓝光的比例值为1:2:6,蓝光比例偏多,色温偏高。因此,该图像的颜色与人眼真实观察相比偏蓝。为了解决图像偏色的问题,将图像通过手机内的awb算法进行处理,输出该图像光源的rgb_gain,使得isp能够根据这个rgb_gain来调节图像的rgb值,从而纠正图像产生的色偏。其中,rgb_gain是3个增益值。例如,光源rgb_gain为(6,3,1),原光源的rgb为(25,50,150),将原光源与光源rgb_gain相乘,得到原光源调整后的rgb(150,150,150),即图像中白点的rgb相等,从而消除色偏。
[0081]
为了解决白平衡应用场景受限的问题,本技术提供了一种ai awb算法,通过将拍摄的图像通过多个ffcc模型中进行处理,分别得到这多个ffcc模型输出的色彩调节值。并将这几个色彩调节值通过卡尔曼滤波器进行融合,得到一个高准确度的光源rgb_gain,以便电子设备内的isp可以根据该高准确度的光源rgb_gain对该图像出现的偏色进行补偿,使得图像的颜色与人眼所观察到一致。
[0082]
下面,结合图1a-图1d对ai awb算法的应用场景进行介绍。
[0083]
图1a是电子设备100的拍照界面图,在该拍照界面中,包括拍照控件1011和预览控件1012。当电子设备100检测到针对拍照控件1011的输入操作后(例如,单击),电子设备100开始拍照,并显示如图1b所示的拍照处理界面。如图1b所示,拍照处理界面显示“拍照中,请持稳手机”的提示字样,当拍照完成后,电子设备100检测到针对预览控件1012的输入操作(例如,单击)后,显示如图1c所示的照片预览界面。
[0084]
当用户单击拍照控件1011后,电子设备开始拍照,在显示图1b的拍照处理界面的过程中,电子设备100对其拍摄的图像进行白平衡的调节。具体过程为:电子设备将图像通过ai awb算法进行计算处理,得到该图像光源的rgb增益值(rgb_gain)。然后,给图像每个像素的rgb乘以所述rgb增益值,实现对图像的白平衡调节。如图1d所示,由于拍摄环境光源的色温不同,导致图像1出现色偏(图像1整体颜色偏灰),当把图像1的70个像素的rgb都乘以ai awb计算的图像1的rgb增益值后,实现对图像1的颜色补偿,经过颜色补偿后的图像1其整体颜色不再偏灰,与人眼真实观察的颜色一致。
[0085]
上述图1a-图1d对ai awb算法的应用场景进行了介绍,下面结合图2对ai awb算法的系统架构图进行介绍。请参见图2,图2是本技术实施例提供的一种通过ai awb算法输出图像光源融合后的rgb_gain的系统架构图。
[0086]
如图2所示,电子设备将图像分别通过图2系统中的ffcc1模型、ffcc2模型、ffcc3模型以及ffcc4模型中进行处理,ffcc1模型~ffcc4模型分别输出图像1的第一调节值、第二调节值、第三调节值和第四调节值。然后,电子设备将ffcc1模型~ffcc4模型输出的调节值通过卡尔曼滤波器进行融合,得到融合后的光源rgb_gain,以便isp根据该rgb_gain来调节图像1中每个像素的rgb,以此来对该图像出现的偏色进行补偿,实现对所述图像的白平衡调
节。
[0087]
下面,对电子设备100的结构进行介绍。请参阅图3,图3是本技术实施例提供的电子设备100的硬件结构示意图。其中,电子设备100可以为手机、平板电脑、遥控器或具备无线通讯功能的可穿戴电子设备(如智能手表、ar眼镜)等等。
[0088]
电子设备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等。
[0089]
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0090]
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0091]
在本技术实施例中,isp主要用于基于ai awb算法(包括ffcc1模型~ffcc4模型)输出的融合后的光源rgb_gain来调节图像每个像素的rgb值,从而实现对图像的白平衡。
[0092]
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0093]
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0094]
电子设备通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
[0095]
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0096]
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
[0097]
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
[0098]
压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备根据压力传感器180a检测所述触摸操作强度。电子设备也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
[0099]
触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备的表面,与显示屏194所处的位置不同。
[0100]
摄像头194用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb值,yuv等格式的图像信号。在一些实施例中,第一终端10可以包括1个或n个摄像头194,n为大于1的正整数。在本技术实施例中,可以通过摄像头194中的ccd电路或cmos电路获取图像光源的rgb。
[0101]
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备可以包括1个或n个显示屏194,n为大于1的正整数。
[0102]
在本技术实施例中,显示屏194用于显示本技术实施例提及的在电子设备上显示经过白平衡处理后的图像。
[0103]
上述图2实施例介绍了通过ai awb算法输出图像光源的rgb_gain的系统架构图,
在上述图2中的ffcc模型可以是在电脑端预先训练好的模型也可以是在其它电子设备上预先训练好的模型,本技术实施例对此不做限制。下面,结合图4对ffcc模型的训练过程进行详细说明。请参见图4,图4是本技术实施例提供的一种ffcc模型训练的架构示意图。在图4中,根据lv和d
uv
将ffcc模型分成两大类。其中,lv是图像的光源亮度值(lighting value)用于估计图像拍摄环境的亮度,基于lv的取值可将图像的拍摄环境分成不同的场景。例如,一般以lv等于10为临界点,将拍摄场景分为室内场景(lv小于10)和室外场景(lv大于10)。若以lv等于100为临界点,可将拍摄场景分为夜晚场景(lv小于100)和白天场景(lv大于100)。同理,d
uv
用于表征拍摄环境的光源为人造光源(即自然界中不存在的光)还是自然光源,一般以d
uv
等于0为临界点,可将拍摄环境的光源分为绿光(d
uv
大于0)和粉红光(d
uv
小于0)。本技术实施例通过将ffcc模型分成lv型和d
uv
型,分别对lv型ffcc模型和d
uv
型ffcc模型进行训练。将图像的lv以及d
uv
作为调节图像rgb的参考因素,相较于传统仅将单一变量作为调节图像白平衡的参考因素(仅参考图像的lv或仅参考图像的d
uv
),本技术实施例中通过ai awb算法在不同拍摄场景下输出光源的rgb_gain的准确性更高,应用的拍摄场景更广。
[0104]
在基于lv和d
uv
对ffcc模型进行划分后,设置lv的第一阈值lv

和d
uv
的第二阈值d

uv
。其中,lv

和d

uv
可以基于实验数据得到,也可以基于历史数据得到,本技术实施例不做限制。本技术实施例以lv

等于100,d

uv
等于0为例,进行说明。电脑端基于lv

和d

uv
确定待训练的ffcc1模型~ffcc4模型。其中,ffcc1模型输出lv大于100的图像的调节值,ffcc2模型输出lv小于或等于100的图像的调节值,ffcc3模型输出d
uv
大于0的图像的调节值,ffcc4模型输出d
uv
小于或等于0的图像的调节值。然后,电脑端使用一定数量的图片作为训练样本,分别训练ffcc1模型~ffcc4模型。其中,ffcc模型输出的调节值可以为图像光源的rgb,也可以为图像光源的rgb_gain,还可以为图像光源的uv色度坐标,本技术实施例对此不做限制。
[0105]
本实施例以电脑端训练ffcc1模型,ffcc1模型输出的调节值为该图像光源的rgb为例,进行说明。电脑端将一定数量(例如大于2500张)lv大于100的图片作为ffcc1模型的训练样本,并获取每个训练样本的rgb label值。其中,rgb label值的采集一般是利用24色卡放置在图片中主要光源照射到的位置,用自动抠图工具抠出24色卡第20到第23个灰卡区域的像素的平均值得到的,rgb label值通常被当做是图片对应光源的真实的rgb,用来指导ffcc模型的训练。电脑端将图片及其rgb label_1值作为ffcc1模型的输入,ffcc1模型计算该图片的光源rgb_1,并将该图片的光源rgb_1与该图片的rgb label_1值进行比较,从而得到偏差值fn1。其中,所述fn1用于表征ffcc1模型计算的光源的rgb_1与该图片的rgb label_1值的偏差程度。然后,ffcc1模型基于fn1调整其内部卷积核参数,令ffcc1模型输出光源的rgb不断接近图片的rgb label_1值,从而完成对ffcc1模型的训练,使得当向ffcc1模型输入lv值大于100的图像时,ffcc1模型能够输出该图像准确度极高的光源的rgb_1,从而令isp能够根据该图像光源的rgb调节值调节图像的rgb,实现对图像白平衡的调节。
[0106]
同理,分别使用一定数量的lv小于或等于100、d
uv
大于0、d
uv
小于或等于0的图片作为训练样本训练ffcc2模型~ffcc4模型,并将训练好的ffcc1模型~ffcc4模型安装在电子设备中。
[0107]
传统的ai awb算法对图像白平衡调节主要是通过将图像作为单一ffcc模型的输入,例如,当图像光源的lv大于100时,将该图像作为ffcc1模型的输入,并基于ffcc1模型输
出的调节值用于isp调节图像的rgb。由于单一的ffcc模型应用的拍摄场景有限,当电子设备在光线不足的场景或者在多云天气等场景进行拍摄时,单一的ffcc模型输出的调节值往往准确度不高,使得最后经过白平衡调节的图像存在的偏色问题未有明显改善。例如,存在多云天气下,经过白平衡处理的图像仍然偏蓝。
[0108]
为了解决传统的ai awb算法输出的调节值准确性不高,造成isp对图像进行白平衡调节的效果不好的问题。本技术实施例提供了一种ai awb的算法。通过设置多个训练好的ffcc模型作为处理图像的模型,并将图像分别作为这多个ffcc模型的输入,得到这多个ffcc模型输出的调节值。再将这几个调节值通过卡尔曼滤波器进行融合,得到融合后的图像光源的rgb_gain。其中,该融合后的rgb_gain是一个高准确度的rgb增益值。isp通过该rgb_gain,对图像中每个像素的rgb进行调整(例如给图像每个像素的rgb乘以所述rgb_gain),实现对图像白平衡的调节,以纠正图像的色偏。
[0109]
请参见图5,图5是本技术实施例提供的一种通过ai awb算法输出融合后的图像光源的rgb_gain的流程示意图。下面,结合图5对该流程进行展开说明:
[0110]
步骤s501:电子设备基于图像的lv计算第一ffcc模型的权重值f1和第二ffcc模型的权重值f2。
[0111]
具体地,所述图像为第一图像,所述第一ffcc模型为上述图4实施例中训练好的ffcc1模型,所述第二ffcc模型为上述图4实施例中训练好的ffcc2模型。在上述图4实施例中,将第一阈值lv

作为区分高lv与低lv的阈值,lv

的设置不同,对于拍摄场景的设定也会有所不同。例如,当lv

等于100时,可以将拍摄场景分为白天场景(lv大于100)和夜晚场景(lv小于100)。当lv

等于10时,可以将拍摄场景分为室外场景(lv大于10)和室内场景(lv小于10)。
[0112]
但是,仅仅通过图像的lv来判断图像所处的场景不够准确和全面。例如,当lv

等于100时,ffcc1模型输出在白天场景拍摄图像的调节值,ffcc2模型输出在夜晚场景拍摄图像的调节值。由于拍摄环境的复杂性(例如光线强度等因素),可能存在图像光源的lv与拍摄场景的不匹配问题。例如,当用户夜晚在灯火通明的室内进行拍照,由于室内的灯光较强,图像lv的计算值可能大于100,电子设备会基于图像lv的计算值判断当前的拍摄场景为白天,将图像通过ffcc1模型进行计算处理,得到ffcc1模型输出的调节值。实际上,当前的拍摄场景为夜晚,这就出现了实际的拍摄场景与电子设备判断的拍摄场景不同的情况,若isp仅使用ffcc1模型输出的调节值来调节该图像的rgb,不能够完全修正外部光线对该图像造成的颜色误差,使得图像色偏的改善不明显。
[0113]
为了解决上述问题,电子设备将图像分别通过ffcc1模型和ffcc2模型进行计算处理,得到ffcc1模型和ffcc2模型输出的调节值,再根据图像的lv计算f1和f2,以便后续根据f1和f2对ffcc1模型和ffcc2模型输出的调节值进行融合。
[0114]
电子设备在拍摄图像时会对该图像的lv进行计算,电子设备可以根据公式(1)计算所述图像的lv,公式(1)如下所示:
[0115][0116]
其中,exposure为曝光时间。aperture为光圈大小,用于表征镜头的进光量。iso为感光度,用于衡量底片对于光的灵敏程度。luma为所述图像在xyz颜色空间中,y的平均值。
[0117]
在计算图像lv后,电子设备可以基于公式(2)计算f1,公式(2)如下所示:
[0118][0119]
其中,所述lv
thres
为区分高低lv的阈值,可以理解为上述图4实施例中的lv

,lv
thres
可以由实验数据得到,也可以由历史经验值得到,本技术实施例不做限制。所述x为图像的lv,所述lv
mult
用于表征f1在x方向上的斜率。在计算出f1后,电子设备基于公式f2=1-f1计算得到权重值f2。
[0120]
步骤s502:电子设备将所述图像分别通过所述第一ffcc模型和所述第二ffcc模型计算处理,得到第一色度坐标、第二色度坐标、第一协方差矩阵和第二协方差矩阵。
[0121]
具体地,ffcc1模型可以直接计算图像光源的uv色度坐标,输出该图像光源的第一色度坐标mu1(u
′1,v
′1)。
[0122]
在一些实施例中,ffcc1模型计算图像光源的第一rgb,并输出所述第一rgb,电子设备根据公式(3)和公式(4)将将第一rgb转换为第一色度坐标,公式(3)和公式(4)如下所示:
[0123][0124]
在另一些实施例中,ffcc1模型计算图像光源的第一rgb_gain,并输出所述第一rgb_gain。然后电子设备将第一rgb_gain中的各元素取倒数,得到第一rgb

,再根据上述公式(3)和公式(4)将第一rgb

转换为第一色度坐标。
[0125]
同理,ffcc2模型可以直接计算所述图像的第二色度坐标,并输出该第二色度坐标。ffcc2模型也可以计算所述图像光源的第二rgb,并输出所述图像的第二rgb。ffcc2模型还可以计算所述图像光源的第二rgb_gain,并输出该第二rgb_gain。当ffcc2模型输出的是第二rgb或第二rgb_gain时,需要将所述第二rgb或第二rgb_gain转换为第二色度坐标mu2(u
′2,v
′2)。第二rgb或第二rgb_gain转换为mu2的方法,请参考第一rgb或第一rgb_gain转换为mu1的相关叙述,在此不再赘述。
[0126]
所述第一协方差矩阵为ffcc1模型输出的大小为2x2的协方差矩阵sigma1,sigma1用于表征所述ffcc1模型输出调节值的可靠程度。所述第二协方差矩阵为ffcc2模型输出的大小为2x2协方差矩阵sigma2,sigma2用于表征所述ffcc2模型输出调节值的可靠程度。
[0127]
步骤s503:电子设备基于所述f1更新所述第一协方差矩阵,得到更新后的第一协方差矩阵,基于所述f2更新第二协方差矩阵,得到更新后的第二协方差矩阵。
[0128]
具体地,所述电子设备更新第一协方差矩阵和更新第二协方差矩阵的方式可以通过卡尔曼滤波器进行更新。本技术实施例以电子设备通过卡尔曼滤波器更新第一协方差矩阵和第二协方差矩阵为例,进行说明。电子设备将sigma1作为卡尔曼滤波器的输入,卡尔曼滤波器根据公式(5)更新sigma1,输出更新后的第一协方差矩阵sigma
′1,公式(5)如下所示:
[0129][0130]
其中,sigma
′1为更新后的第一协方差矩阵,f1为ffcc1模型的权重值,sigma1为更新前的第一协方差矩阵。
[0131]
同理,卡尔曼滤波器根据公式(6)更新sigma2,输出更新后的第二协方差矩阵sigma
′2,公式(6)如下所示:
[0132][0133]
其中,sigma
′2为更新后的第二协方差矩阵,f2为ffcc2模型的权重值,sigma2为更新前的第二协方差矩阵。
[0134]
步骤s504:电子设备基于更新后的第一协方差矩阵、更新后的第二协方差矩阵、第一色度坐标和第二色度坐标,计算得到第一调节值和第二调节值。
[0135]
具体地,电子设备可以通过卡尔曼滤波器计算第一调节值和第二调节值,所述第一调节值为色度坐标mu
′1,所述第二调节值为色度坐标mu
′2。电子设备可以根据公式(7)计算第一调节值mu
′1,公式(7)如下所示:
[0136]
mu
′1=mu1*(sigma
′1)-1
ꢀꢀ
(7)
[0137]
同理,电子设备可以根据公式(8)计算第二调节值mu
′2,公式(8)如下所示:
[0138]
mu
′2=mu2*(sigma
′2)-1
ꢀꢀ
(8)
[0139]
步骤s505:电子设备基于第一调节值和第二调节值计算得到所述图像光源的d
uv

[0140]
具体地,电子设备将sigma
′1、sigma
′2、mu
′1以及mu
′2作为卡尔曼滤波器的输入,卡尔曼滤波器根据公式(9)将第一调节值mu
′1和第二调节值mu
′2进行融合,输出融合后色度坐标mu

,公式(9)如下所示:
[0141]
mu

=mu
′1*(sigma
′1)-1
mu
′2*(sigma
′2)-1
ꢀꢀ
(9)
[0142]
然后,电子设备根据mu

计算所述图像光源的d
uv
,计算所述图像光源的d
uv
主要有以下两种方法:
[0143]
第一种方法:如图6所示,在uv色度坐标图上获取在普朗克轨迹上与mu

(u

,v

)最短距离点的坐标(u0,v0),然后,根据公式(10)计算d
uv
,公式(10)如下所示:
[0144][0145]
其中,当v
′‑
v0≥0时,sgn(v
′‑
v0)=1;当v
′‑
v0《0时,sgn(v
′‑
v0)=-1。
[0146]
第二种方法:所述电子设备根据公式(11)计算l
fp
,公式(11)如下所示:
[0147][0148]
然后,电子设备基于u

和所述l
fp
根据公式(12)计算得到第一参数a,公式(12)如下所示:
[0149][0150]
然后,电子设备基于所述a,根据公式(13),计算得到l
bb
,公式(13)如下:
[0151]
l
bb
=k6*a6 k5*a5 k4*a4 k3*a3 k2*a2 k1*a1 k0ꢀꢀ
(13)
[0152]
其中,k6=-0.00616793,k5=0.0893944,k3=1.5317403,k2=-0.5179722,k1=1.925865,k0=-0.475106;在计算出l
bb
,电子设备根据公式(14)计算得到所述图像光源的d
uv
值,公式(14)如下所示:
[0153]duv
=l
fp-l
bb
ꢀꢀ
(14)
[0154]
步骤s506:电子设备基于所述d
uv
计算第三ffcc模型的权重值f3和第四ffcc模型的权重值f4。
[0155]
具体地,所述第三ffcc模型为上述图4实施例中训练好的ffcc3模型,所述第四ffcc模型为上述图4实施例中训练好的ffcc4模型。d
uv
用于表征拍摄环境光源的颜色,当d
uv
大于0时,拍摄环境的光源颜色偏绿。当d
uv
小于0时,拍摄环境的光源颜色偏粉红色。由于通过公式(10)或公式(11)~公式(14)计算出的d
uv
存在一定误差。因此,可能存在图像光源的d
uv
与实际不符合的情况,导致选错ffcc模型,进而得到准确度不高的调节值。例如,d
uv
计算值为0.6(d
uv
大于0),但实际拍摄光源的颜色偏粉红色(d
uv
小于0)。电子设备基于d
uv
计算值选择的ffcc3模型与实际应该选择的ffcc4模型不一致,因此,获取的ffcc3模型输出的调节值准确度不高。
[0156]
为了解决上述问题,电子设备将图像分别通过ffcc3模型和ffcc4模型进行计算处理,得到ffcc3模型和ffcc4模型输出的调节值,再根据所述d
uv
计算f3和f4,以便后续根据f3和f4对ffcc3模型和ffcc4模型输出的调节值进行融合。
[0157]
电子设备可以根据公式(15)计算权重值f3,公式(15)如下所示:
[0158][0159]
其中,duv
thres
为区分高低d
uv
的阈值,可以理解为上述图4实施例中的第二阈值duv

,duv

可以由实验数据得到,也可以由历史经验值得到,本技术实施例不做限制。其中,y为图像光源的d
uv
,duv
mult
用于表征f3在y方向上的斜率。电子设备基于公式f4=1-f3计算得到权重值f4。
[0160]
步骤s507:电子设备将所述图像分别通过所述第三ffcc模型和所述第四ffcc模型计算处理,得到第三色度坐标、第四色度坐标、第三协方差矩阵和第四协方差矩阵。
[0161]
具体地,ffcc3模型可以直接计算图像光源的uv色度坐标,输出该图像光源的第三色度坐标mu3(u
′3,v
′3)。
[0162]
在一些实施例中,ffcc3模型计算图像光源的第三rgb,并输出所述第三rgb,电子设备根据上述公式(3)和公式(4)将将第三rgb转换为第三色度坐标。
[0163]
在另一些实施例中,ffcc3模型计算图像光源的第三rgb_gain,并输出所述第三rgb_gain。然后电子设备可以将第三rgb_gain中的各元素取倒数,得到第三rgb

,再根据上述公式(3)和公式(4)将第三rgb

转换为第三色度坐标。
[0164]
同理,ffcc4模型可以直接计算所述图像的第四色度坐标,并输出该第四色度坐标。ffcc4模型也可以计算所述图像光源的第四rgb,并输出所述图像的第四rgb。ffcc4模型还可以计算所述图像光源的第四rgb_gain,并输出该第四rgb_gain。当ffcc4模型输出的是第四rgb或第四rgb_gain时,需要将所述第四rgb或第四rgb_gain转换为第四色度坐标mu4(u
′4,v
′4)。第四rgb或第四rgb_gain转换为mu4的方法,请参考第一rgb或第一rgb_gain转换为mu1的相关叙述,在此不再赘述。
[0165]
所述第三协方差矩阵为ffcc3模型输出的大小为2x2的协方差矩阵sigma3,sigma3用于表征所述ffcc3模型输出调节值的可靠程度。所述第四协方差矩阵为ffcc4模型输出的大小为2x2协方差矩阵sigma4,sigma4用于表征所述ffcc4模型输出调节值的可靠程度。
[0166]
步骤s508:电子设备基于所述f3更新所述第三协方差矩阵,得到更新后的第三协方差矩阵,基于所述f4更新第四协方差矩阵,得到更新后的第四协方差矩阵。
[0167]
具体地,电子设备更新第三协方差矩阵和更新第四协方差矩阵的方式可以通过卡尔曼滤波器进行更新。本技术实施例以电子设备通过卡尔曼滤波器更新第三协方差矩阵和第四协方差矩阵为例,进行说明。电子设备将sigma3作为卡尔曼滤波器的输入,卡尔曼滤波器根据公式(16)更新sigma3,输出更新后的第三协方差矩阵sigma
′3,公式(16)如下所示:
[0168][0169]
其中,sigma
′3为更新后的第三协方差矩阵,f3为ffcc3模型的权重值,sigma3为更新前的第三协方差矩阵。
[0170]
同理,卡尔曼滤波器根据公式(17)更新sigma4,输出更新后的第四协方差矩阵sigma
′4,公式(17)如下所示:
[0171][0172]
其中,sigma
′4为更新后的第四协方差矩阵,f4为ffcc4模型的权重值,sigma4为更新前的第四协方差矩阵。
[0173]
步骤s509:电子设备基于更新后的第三协方差矩阵、更新后的第四协方差矩阵、第三色度坐标和第四色度坐标,计算得到第三调节值和第四调节值。
[0174]
具体地,电子设备可以通过卡尔曼滤波器计算第三调节值和第四调节值,所述第三调节值为色度坐标mu
′3,所述第二调节值为色度坐标mu
′4。电子设备可以根据公式(18)计算第三调节值mu
′3,公式(18)如下所示:
[0175]
mu
′3=mu3*(sigma
′3)-1
ꢀꢀ
(18)
[0176]
同理,电子设备可以根据公式(19)计算第四调节值mu
′4,公式(19)如下所示:
[0177]
mu
′4=mu4*(sigma
′4)-1
ꢀꢀ
(19)
[0178]
步骤s510:电子设备将第一调节值、第二调节值、第三调节值和第四调节值输入卡尔曼滤波器进行计算,得到所述图像的调节值。
[0179]
具体地,电子设备将mu
′1~mu
′4,sigma
′1~sigma
′4作为卡尔曼滤波器的输入,卡尔曼滤波器根据公式mu

=mu
′1*(sigma
′1)-1
mu
′2*(sigma
′2)-1
mu
′3*(sigma
′3)-1
mu
′4*(sigma
′4)-1
,得到融合色度坐标mu

(u

,v

)。然后,电子设备将mu

转换成rgb_gain,并将该rgb_gain作为所述图像的调节值,用于调节所述图像的rgb。电子设备将mu

转换成rgb_gain的过程为:
[0180]
电子设备通过公式(20)计算第二参数z,公式(20)如下所示:
[0181][0182]
然后,电子设备分别通过公式(21)~公式(23)分别计算融合后的光源rgb(r

,g

,b

),公式(21)~公式(23)如下所示:
[0183][0184]
最后,电子设备对融合后的光源rgb中各元素取倒数得到融合后的rgb_gain。
[0185]
本技术实施例,电子设备将lv和d
uv
作为调节图像白平衡的两个参考因素,将图像分别作为与lv相关的ffcc1模型~ffcc2模型、与d
uv
相关的ffcc3模型~ffcc4模型的输入,并通过这四个ffcc模型的输出得到四个调节值,电子设备将四个调节值通过卡尔曼滤波器进行计算处理,得到所述图像光源的rgb_gain。相较于传统的ai awb算法使用单一ffcc模型计算得到的光源rgb_gain准确度不高的问题,通过本技术实施例中的ai awb算法在不同拍摄场景下输出的光源rgb_gain准确性更高,进而能够更好地消除图像的色偏。
[0186]
上述实施例详细阐述了本技术实施例的方法,下面介绍本实施例的相关设备。
[0187]
请参见图7,图7是本技术实施例提供的一种电子设备100的结构示意图。所述电子设备100包括处理器101和存储器102,其中,各个单元的详细描述如下:
[0188]
存储器102用于存储程序代码;
[0189]
处理器101用于调用存储器存储的程序代码执行如下步骤:
[0190]
将第一图像分别输入第一ffcc模型(快速傅里叶颜色恒常性模型)、第二ffcc模型、第三ffcc模型和第四ffcc模型进行计算,得到第一调节值、第二调节值、第三调节值和第四调节值;
[0191]
将所述第一调节值、所述第二调节值、所述第三调节值和所述第四调节值输入卡尔曼滤波器进行计算,得到所述第一图像的调节值。
[0192]
在一种可能实现的方式中,所述处理器101将第一图像分别输入第一ffcc模型(快速傅里叶颜色恒常性模型)、第二ffcc模型、第三ffcc模型和第四ffcc模型进行计算,得到第一调节值、第二调节值、第三调节值和第四调节值,具体包括:
[0193]
将所述第一图像分别输入所述第一ffcc模型、所述第二ffcc模型、所述第三ffcc模型和所述第四ffcc模型进行计算,得到第一色度坐标和第一协方差矩阵、第二色度坐标和第二协方差矩阵、第三色度坐标和第三协方差矩阵、第四色度坐标和第四协方差矩阵;
[0194]
根据所述第一图像的亮度值计算所述第一ffcc模型的权重值f1和所述第二ffcc模型的权重值f2;
[0195]
基于所述f1、所述第一协方差矩阵和所述第一色度坐标,计算得到所述第一调节值;
[0196]
基于所述f2、所述第二协方差矩阵和所述第二色度坐标,计算得到所述第二调节值;
[0197]
基于所述第一调节值和所述第二调节值计算得到所述第一图像光源的d
uv

[0198]
根据所述第一图像光源的d
uv
计算所述第三ffcc模型的权重值f3和所述第四ffcc模型的权重值f4;
[0199]
基于所述f3、所述第三协方差矩阵和所述第三色度坐标,计算得到所述第三调节值;
[0200]
基于所述f4、所述第四协方差矩阵和所述第四色度坐标,计算得到所述第四调节值。
[0201]
在一种可能实现的方式中,所述处理器101根据所述第一图像的亮度值计算所述第一ffcc模型的权重值f1和所述第二ffcc模型的权重值f2,具体包括:
[0202]
根据公式得到所述权重值f1;
[0203]
根据公式f2=1-f1,得到所述权重值f2。
[0204]
在一种可能实现的方式中,所述处理器101基于所述f1、所述第一协方差矩阵和所述第一色度坐标,计算得到所述第一调节值,具体包括:
[0205]
将所述第一协方差矩阵根据公式计算,得到更新后的第一协方差矩阵;
[0206]
将所述第一色度坐标和所述sigma
′1根据公式mu
′1=mu1*(sigma
′1)-1
计算,得到所述第一调节值。
[0207]
在一种可能实现的方式中,所述处理器101基于所述f2、所述第二协方差矩阵和所述第二色度坐标,计算得到所述第二调节值,具体包括:
[0208]
将所述第二协方差矩阵根据公式计算,得到更新后的第二协方差矩阵;
[0209]
将所述第二色度坐标和所述sigma
′2根据公式mu
′2=mu2*(sigma
′2)-1
计算,得到所述第二调节值。
[0210]
在一种可能实现的方式中,所述处理器101基于所述第一调节值和所述第二调节值计算得到所述第一图像光源的d
uv
,具体包括:
[0211]
根据公式mu

=mu
′1*(sigma
′1)-1
mu
′2*(sigma
′2)-1
计算,得到融合后的色度坐标;
[0212]
基于所述mu

得到所述第一图像光源的d
uv

[0213]
在一种可能实现的方式中,所述处理器101根据所述第一图像光源的d
uv
计算所述第三ffcc模型的权重值f3和所述第四ffcc模型的权重值f4,具体包括:
[0214]
根据公式得到所述权重值f3;
[0215]
根据公式f4=1-f3,得到所述权重值f4。
[0216]
在一种可能实现的方式中,所述处理器101基于所述f3、所述第三协方差矩阵和所述第三色度坐标,计算得到所述第三调节值,具体包括:
[0217]
将所述第三协方差矩阵根据公式计算,得到更新后的第三协方差矩阵;
[0218]
将所述第三色度坐标和所述sigma
′3根据公式mu
′3=mu3*(sigma
′3)-1
计算,得到第三调节值。
[0219]
在一种可能实现的方式中,所述处理器101基于所述f4、所述第四协方差矩阵和所述第四色度坐标,计算得到所述第四调节值,具体包括:
[0220]
将所述第四协方差矩阵根据公式计算,得到更新后的第四协方差矩阵;
[0221]
将所述第四色度坐标和所述sigma
′4根据公式mu
′4=mu4*(sigma
′4)-1
计算,得到第四调节值。
[0222]
在一种可能实现的方式中,所述处理器101将所述第一调节值、所述第二调节值、所述第三调节值和所述第四调节值输入卡尔曼滤波器进行计算,得到所述第一图像的调节值,具体包括:
[0223]
根据公式mu

=mu
′1*(sigma
′1)-1
mu
′2*(sigma
′2)-1
mu
′3*(sigma
′3)-1
mu
′4*(sigma
′4)-1
计算,得到所述第一图像的调节值。
[0224]
本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现上述实施例及其各种可能的实现方式中的ai自动白平衡的算法中的步骤。
[0225]
本技术实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持电子设备实现上述实施例及其各种可能方式中的方法所涉及的功能。
[0226]
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于ai自动白平衡算法必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其它分立器件。
[0227]
本技术实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述实施例及其各种可能的实现方式中的ai自动白平衡的算法中的步骤。
[0228]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
[0229]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
[0230]
总之,以上所述仅为本发明技术方案的实施例而已,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献