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

图像处理方法和系统与流程

2023-02-10 19:09:52 来源:中国专利 TAG:

图像处理方法和系统


背景技术:
技术领域
1.本公开涉及一种图像处理方法和系统。
2.相关技术说明
3.当出于一系列图像处理目的处理图像数据时,可以执行卷积运算,包括模糊、锐化、去马赛克、浮雕、边缘检测等。可以使用包括微处理器(诸如中央处理单元(cpu)、图形处理单元(gpu)和神经处理单元(npu))的图像处理系统来执行卷积运算。期望提高图像处理系统执行卷积运算的效率。


技术实现要素:

4.根据本公开的第一方面,提供了一种图像处理方法,该图像处理方法包括:获得图像数据,该图像数据包括多个图像数据值;以及处理该图像数据,从而生成输出数据,其中处理该图像数据包括使用包括多个系数的内核对该多个图像数据值应用卷积运算,其中应用该卷积运算包括:获得该多个图像数据值中分别与该多个系数中各自具有公共系数值的系数对应的图像数据值的总和;以及将该总和乘以该公共系数值。
5.根据本公开的第二方面,提供了一种图像处理系统,该图像处理系统包括:存储装置,该存储装置用于存储多个系数;和至少一个处理器,该至少一个处理器用于:获得图像数据,该图像数据包括多个图像数据值;以及处理该图像数据,从而生成输出数据,其中处理该图像数据包括使用包括该多个系数的内核对该多个图像数据值应用卷积运算,其中应用该卷积运算包括:获得该多个图像数据值中分别与该多个系数中各自具有公共系数值的系数对应的图像数据值的总和;以及将该总和乘以该公共系数值。
附图说明
6.通过以下参照附图给出的仅以举例的方式给出的以下描述,另外的特征和优点将变得显而易见。
7.图1是示出根据示例的包括应用卷积运算的处理图像数据的方法的示意图;
8.图2是示出根据另外的示例的包括应用卷积运算的处理图像数据的方法的示意图;
9.图3是示出根据另外的示例的包括应用卷积运算的处理图像数据的方法的示意图;
10.图4是示出根据另外的示例的包括应用卷积运算的处理图像数据的方法的示意图;
11.图5是示出根据示例的包括应用另外的卷积运算的处理图像数据的方法的示意图;
12.图6是示出根据示例的包括应用另外的卷积运算的处理图像数据的方法的示意
图;
13.图7是示出根据示例的图像处理流水线的示意图;
14.图8是示出根据示例的处理图像数据的方法的示意图;
15.图9是示出根据另外的示例的处理图像数据的方法的示意图;
16.图10是示出根据另外的示例的处理图像数据的方法的示意图;并且
17.图11是示出根据示例的与本文的方法一起使用的图像处理系统的示意图。
具体实施方式
18.参考附图,根据示例的系统和方法的细节将从以下描述中变得明显。在本说明书中,出于解释的目的,阐述了某些示例的许多具体细节。本说明书中对“示例”或类似语言的引用意指结合该示例描述的特定特征、结构或特性包括在至少该一个示例中,但不一定包括在其他示例中。还应当注意,示意性地描述了某些示例,其中省略了某些特征并且/或者必须简化了某些特征,以便于解释和理解示例所基于的概念。
19.在本文的示例中,获得图像数据,该图像数据包括多个图像数据值。处理该图像数据,从而生成输出数据。处理该图像数据包括使用内核对该多个图像数据值应用卷积运算,该内核包括多个系数。应用该卷积包括获得该多个图像数据值中分别与该多个系数中各自具有公共系数值的系数对应的图像数据值的总和。应用该卷积运算还包括将该总和乘以该公共系数值。这种方法例如减少了执行卷积运算所需的乘法运算次数。以此方式,可以减少图像处理系统执行卷积运算所需的乘法器数量。这种方法还可以减少图像处理系统执行卷积运算所需的存储量,因为内核中需要存储的系数较少。因此,这种方法可以提高图像处理系统执行卷积运算的效率。
20.图1是示出包括应用卷积运算104的处理图像数据102的方法100的示意图。方法100包括获得图像数据102,图像数据102包括多个图像数据值i
11-i
55
。在图1中,该多个图像数据值i
11-i
55
布置成5
×
5阵列,每个图像数据值与由图像数据102表示的图像的像素位置对应。该多个图像数据值i
11-i
55
可以表示图像的至少一部分,使得图像包括大于5
×
5阵列的图像数据值阵列。该多个图像数据值i
11-i
55
可以例如是多个像素强度值。
21.图像数据102可以表示由图像传感器捕获的图像的至少一部分。用于捕获图像的图像传感器可以存在于设备中,诸如数码相机、手机相机和其他图像捕获设备等。用于捕获图像的图像传感器可以包括传感器元件阵列,传感器元件可以被称为传感器像素。传感器像素可以包括光敏元件,例如可以将入射光转换成电子信号或数据的光电二极管。传感器像素可以包括适合于捕获图像的任何光电传感器。传感器像素光敏元件的另外的示例包括电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)。当捕获图像时,图像传感器暴露于入射光持续预定时间段。在此暴露期间,入射光子由光电传感器转换成电子,并且电荷可以由电容器存储。每个传感器像素可以包括电容器以存储由相应光电传感器生成的电荷。每个传感器像素还可以包括电路,该电路被配置成测量由电容器存储的电荷并且将存储的电荷量转换成数字值。此数字值可以称为像素强度值。以此方式,例如,像素强度值表示由图像传感器捕获的光的至少一个特性。每个像素强度值可以代表由每个传感器像素捕获的光的强度,其中光的强度与由该传感器像素捕获的光子的数量成比例。每个像素强度值可以表示捕获的光的照度,照度是例如每单位面积的光强度的量度而不是绝对强度。在其他示例i55
应用卷积运算204。在此示例中,该多个系数中的系数112a-112d各自具有公共系数值a。系数值(在这种情况下,系数112a-112d中的每一者具有相同的系数值a)可以是预先确定的(例如,预先选择的)或可另选地基于其他数据的处理来确定。例如,在应用卷积运算204来实施神经网络架构的至少一部分的情况下,可以在机器学习过程的机器学习训练阶段期间学习系数112a-112d的系数值。此外,应当理解,内核208的该多个系数中各自具有公共系数值a的系数可能不同于系数112a-112d,并且在其他示例中,各自具有公共系数值a的系数的数量可以不同于图2的内核208中所示的四个系数112a-112d。
28.应用卷积运算204包括获得该多个图像数据值i
11-i
55
中分别与该多个系数中各自具有公共系数值a的系数112a-112d对应的图像数据值的总和。在图2的示例中,这对应于获得图像数据值i
11
、i
15
、i
51
和i
55
的总和。卷积运算112还包括将总和乘以公共系数值a。在图2的方法110中,应用卷积运算204还可以包括将每个剩余系数b-w与该多个图像数据值i
11-i
55
中的对应图像数据值相乘。所得乘积可以加和在一起,并且进一步加到将图像数据值i
11
、i
15
、i
51
和i
55
的总和乘以公共系数值a的计算结果,以生成输出数据值o1。
29.以此方式,图2的方法110中涉及的乘法运算的次数是22次,少于图1的方法100中涉及的25次乘法运算。另外,下文参考图11所述的用于执行图2的方法110的图像处理系统仅需要存储22个系数而不是25个系数。如上所述,这减少了乘法器数量和图像处理系统用于生成输出数据值o1的存储空间量,从而提高图像处理系统执行卷积运算的效率。
30.在一些示例中,应用卷积运算来实施神经网络架构的至少一部分。例如,可以应用在图2中应用的卷积运算204来实施卷积神经网络(cnn)架构的至少一部分,该卷积神经网络可以用于有效地分析图像,例如用于图像分类。cnn架构通常包括多个卷积层,每个卷积层经由图像数据值阵列与一个或多个内核之间的卷积来生成特征图。每个特征图包含多个元素,其中每个元素经由图像数据值阵列与内核的相应系数之间的一系列mac运算来计算。神经网络架构还可以包括其他层类型,例如,完全连接(fc)层、去卷积层、递归层等。
31.图3是示出包括使用内核308应用卷积运算304的处理图像数据302的方法114的示意图。与图2的对应特征部类似的图3的特征部利用相同的附图标号来标记,但增加了100;将采用相应的描述来应用。在此示例中,公共系数值a是第一公共系数值,并且图像数据值i
11
、i
15
、i
51
和i
55
的总和是第一总和。另外,该多个系数中的另外的系数116a-116h各自具有不同于第一公共系数值a的第二公共系数值b。类似于如上所述该多个系数中各自具有第一公共系数值a的系数212a-212d,应当理解,内核308的各自具有第二公共系数值b的系数可以不同于另外的系数116a-116h,并且在其他示例中,各自具有第二公共系数值b的系数的数量可以不同于图3的内核308中所示的八个系数116a-116h。
32.在图3的方法114中,处理图像数据302,从而生成输出数据306,该输出数据包括输出数据值o1。处理图像数据302包括使用内核308对该多个图像数据值i
11-i
55
应用卷积运算304。在图3的方法中,应用卷积运算304包括获得该多个图像数据值i
11-i
55
中分别与另外的系数对应的图像数据值的第二总和。在图3的示例中,这对应于获得图像数据值i
12
、i
14
、i
21
、i
25
、i
41
、i
45
、i
52
和i
54
的总和作为第二总和。卷积运算304还包括将第二总和乘以第二公共系数值b。在图3的方法114中,应用卷积运算304还可以包括将每个剩余系数c-o与该多个图像数据值i
11-i
55
中的对应图像数据值相乘。所得乘积可以加和在一起,并且进一步加到将图像数据值i
11
、i
15
、i
51
和i
55
的总和乘以公共系数值a的计算结果以及将第二总和乘以第二公
共系数值b的计算结果,以生成输出数据值o1。
33.以此方式,图3的方法114中涉及的乘法运算的次数是15次,显示与图1的方法100中涉及的25次乘法运算相比进一步减少。另外,用于执行图3的方法114的图像处理系统仅需要存储15个系数而不是25个系数。如上所述,这进一步减少了乘法器数量和图像处理系统用于生成输出数据值o1的存储空间量,从而进一步提高图像处理系统执行卷积运算的效率。
34.图4是示出处理图像数据402从而生成输出数据406的方法118的示意图,该处理包括使用内核408应用卷积运算404。与图3的对应特征部类似的图4的特征部利用相同的附图标号来标记,但增加了100;将采用对应描述来应用。
35.在此示例中,内核408是对称的。对称内核通常可以被描述为具有至少一条反射对称线的内核,诸如包括每个系数由k
i,j
给出的系数阵列的内核,其中k
i,j
=k
j,i
,i是系数阵列的行数并且j是系数阵列的列数。此表达式表示内核的一条反射对称线。然而,在此示例中,内核408包括四条这样的反射对称线,使得内核408的系数k
i,j
还满足k
i,j
=k
(n-j 1),(n-i 1)
并且k
i,j
=k
(n-i 1),j
,其中n表示内核408的大小(即,在这种情况下,n=5)。可能存在使用针对系数k
i,j
的以上三个表达式对内核408对称的预先确定的约束(例如,具有预先选择的系数值,使得内核408是对称的),或者可能不存在对内核408的这种预先确定的约束。例如,在应用卷积运算404来实施神经网络架构的至少一部分的情况下,可以在机器学习训练阶段期间学习内核408的系数值。
36.可以看出,内核408可以由六个公共系数值a、b、c、d、e和f表示,其中每个公共系数值都不同于彼此。应用上文参考图2和图3所述的技术,图4的方法118中涉及的乘法运算的次数是六次,显示与图1的方法100中涉及的25次乘法运算相比甚至进一步减少。另外,用于执行图4的方法118的图像处理系统仅需要存储六个系数而不是25个系数。如上所述,这仍进一步减少了乘法器数量和图像处理系统用于生成输出数据值o1的存储空间量,从而又进一步提高图像处理系统执行卷积运算的效率。应当理解,在其他示例中,并非全部三个表达式都可以用于选定内核的系数k
i,j
,因此,根据本文所述的示例的内核可以包括至少一条,但少于四条反射对称线。与图1的方法100相比,这仍减少了应用卷积运算所需的乘法运算的次数以及图像处理系统的存储需求。
37.图5是示出包括多个图像数据值124的处理图像数据122的方法120的示意图。在图5的方法120中,处理图像数据122包括对该多个图像数据值124应用第一卷积运算126,从而生成输出128。在此示例中,第一卷积运算126可以是图2、图3或图4的卷积运算204、304、404中的一者。因此,第一卷积运算126的输出128可以包括图2、图3或图4的输出数据值206、306、406中的一个输出数据值。在图5的方法120中,应用第一卷积运算126作为对图像数据122应用的去马赛克算法的一部分。然而,应当理解,可以在出于不同目的应用第一卷积运算126的示例中应用图5的方法120。例如,去马赛克允许针对每个像素位置获得每个颜色通道的图像数据值,如下文参考图8和图9更详细地描述的。在此示例中,拜耳滤色器阵列用于捕获图像,并且因此输出128包括输出数据值阵列,针对图像的每个像素位置,其表示红色、绿色和蓝色通道中的每个颜色通道的图像数据值。
38.图5的方法120还包括使用另外的内核对该多个图像数据值124中的至少一些图像数据值132应用另外的卷积运算130,从而生成另外的输出134。在此示例中,另外的卷积运
算130中使用的另外的内核表示用于边缘检测的带通滤波器。带通滤波器可以用于抑制由该多个图像数据值124中的至少一些图像数据值132表示的图像的低频分量和高频分量。例如,较低频分量可能无法提供足够多关于图像对比度的信息。相反,高频分量可能对高对比度图像特征敏感,因此可能受到噪声的影响。用于执行另外的卷积130的另外的内核的系数可以是预先确定的。以此方式,带通滤波器可以被调谐成使得另外的内核的系数确定被另外的卷积运算130抑制的图像的低频分量和高频分量的频率。另选地,在应用另外的卷积运算来实施神经网络架构的至少一部分的情况下,可以在神经网络的训练阶段期间学习另外的内核的系数。另选地,可以导出另外的内核的系数,作为图像信号处理系统(诸如下面参考图10所述的图像处理系统)的自动调谐过程的一部分。应当理解,另外的卷积运算130可以利用图2、图3或图4的上述方法110、114、118中的任意方法,以便减少图像处理系统执行另外的卷积运算130所需的乘法运算次数。在此示例中,另外的输出134包括灰度图像,其示出通过应用另外的卷积运算130在图像中检测到的边缘,如下文更详细地描述的。在这种情况下,灰度图像可以包括具有与输出128的输出数据值阵列相同的大小的图像数据值阵列。
39.在图5的方法120中,组合器136将第一卷积运算126的输出128与另外的卷积运算130的另外的输出134组合,从而生成输出数据138。以此方式,输出数据138包括关于通过应用另外的卷积运算130在图像中检测到的边缘的信息和从对该多个图像数据值124应用的第一卷积运算126获得的信息的组合。例如,对于给定像素位置,组合器136将来自另外的卷积运算130的另外的输出134的灰度图像的图像数据值与来自第一卷积运算126的输出128的红色、绿色和蓝色通道中的每个颜色通道的图像数据值中的每个图像数据值组合。这可以包括将灰度图像的图像数据值加到红色、绿色和蓝色通道中的每个颜色通道的图像数据值中的每个图像数据值。通过组合第一卷积运算126的输出128和另外的卷积运算130的另外的输出134,在此示例中输出数据138包括关于在由图像数据122表示的图像中检测到的边缘的信息,并且图像中的噪声量也减少了。在此示例中,第一卷积运算126用作去马赛克算法的一部分,输出数据138包括输出数据值阵列,针对图像的每个像素位置,其表示每个红色、绿色和蓝色通道的图像数据值,具有关于在由图像数据122表示的图像中检测到的边缘的附加信息。以此方式,由输出数据138表示的输出图像可以在检测到的边缘周围提供更清晰的图像。
40.在一些示例中,该多个图像数据值124分别与多个像素位置相关联。例如,如上图1至图4所示,该多个图像数据值i
11-i
55
中的每个图像数据值可以与由图像数据122表示的图像中的相应像素位置有关。在一些示例中,图像的每个像素位置与相应的颜色通道相关联。例如,用于捕获图像的图像传感器可以包括滤色器阵列。滤色器阵列可以包括按预先确定的图案布置的滤色器元件阵列。每个滤色器元件可以与图像传感器的相应传感器像素对应。可以考虑预先确定的图案以形成马赛克或重复图案。滤色器元件可以允许特定颜色的光穿过并且由对应传感器像素接收。滤色器还可以防止某种颜色的光穿过到达对应传感器像素。颜色可以指光的任何波长范围。例如,接收到的光基本上全部(例如至少90%)从中穿过的透明或白色滤色器元件仍然可以被认为是滤色器元件。在其他示例中,颜色可以具有较窄的波长范围,并且可以包括例如绿色、蓝色和红色。以此方式,滤色器阵列可以允许传感器像素阵列中的不同传感器像素接收不同颜色的入射光。图像的像素位置可以各自与单个颜色相关联。滤色器图案的具体示例是拜耳滤色器图案。拜耳滤色器图案由红色、绿色、
绿色和蓝色滤色器元件的2
×
2像素阵列的组合构成,通常具有一个红色滤色器元件、两个绿色滤色器元件(通常在彼此不同的行和列上)和一个蓝色滤色器元件。然而,应当理解,本文所述的示例可以涉及其他滤色器图案,诸如红色、白色、白色和蓝色滤色器元件的2
×
2像素阵列的组合。在每个像素位置与单个颜色通道相关联的示例中,第一卷积运算126可以形成图像处理流水线内的去马赛克算法的至少一部分。例如,去马赛克允许针对每个像素位置获得每个颜色通道的图像数据值。例如,对于包括捕获图像的拜耳滤色器阵列的图像传感器,像素位置可以与红色通道相关联,并且去马赛克可以允许针对该像素位置获得绿色和蓝色通道的图像数据值。例如,去马赛克涉及在相同颜色通道的相邻像素之间进行内插以获得在这些相邻像素之间的位置处的图像数据值,诸如在与不同颜色通道的像素对应的位置处。可以针对多个颜色通道中的每个颜色通道执行去马赛克,以便在每个像素位置处获得每个颜色通道的图像数据值。在一些情况下,可以执行灰度去马赛克,其中在每个像素位置处获得指示单个颜色通道的图像数据值的灰度强度(例如,从白色(最亮)到黑色(最暗))。下面参考图7所述包括去马赛克算法的示例性图像处理流水线。
41.在示例中,每个像素位置与第一颜色通道和另外的颜色通道中的一者相关联。例如,在滤色器图案是拜耳滤色器图案的情况下,第一颜色通道可以是红色通道,并且另外的颜色通道可以是绿色通道。可以对此类示例应用图5的处理。在这种情况下,对该多个图像数据值124中的一些图像数据值132应用图5的另外的卷积运算130。另外的卷积运算130可以使得另外的输出134包括来自与第一颜色通道相关联的像素位置和与另外的颜色通道相关联的像素位置的相等的贡献,这些像素位置无关于与应用另外的卷积运算130的相应图像数据值相关联的像素位置。要应用卷积运算的相应图像数据值可以被理解为与中央像素位置相关联的图像数据值,该中央像素位置与内核的中央系数(有时称为

锚点’)对应。例如,对于图1、图2、图3和图4的卷积运算104、204、304、404,中央像素位置与图像数据值i
33
相关联,因为该图像数据值对应于系数f,即图1、图2、图3和图4的内核108、208、308、408的中央系数。在此基础上,图1、图2、图3和图4的卷积运算104、204、304、404被认为在图像数据值i
33
处应用。在此示例中,如果在与第一颜色通道(例如,红色通道)相关联的像素位置处应用另外的卷积运算130,则另外的输出134将包括来自与第一颜色通道相关联的像素位置和与另外的颜色通道相关联的像素位置的相等的贡献。如果在与另外的颜色通道(例如,绿色通道)相关联的像素位置处应用另外的卷积运算130,并且类似地,如果在与又一颜色通道(例如蓝色通道)相关联的像素位置处应用另外的卷积运算130,则类似的情况将适用。用于应用另外的卷积运算130的另外的内核的系数可以使得带通滤波器在由图像数据122表示的图像中检测边缘,但抑制高频拜耳图案分量。例如,这意味着通过应用另外的卷积运算在图像中检测到的边缘表示由图像表示的场景的边缘,而不是由滤色器阵列的滤色器图案产生的高频边缘。
42.以此方式,在拜耳滤色器阵列用于捕获图像的示例中,另外的输出134的颜色可以是灰度的,因为另外的输出134包括来自与红色、绿色和蓝色通道中的每个颜色通道相关联的像素位置的相等的贡献,无关于应用另外的卷积运算130的中央像素位置(即,无关于中央像素位置是否与红色、绿色或蓝色通道相关联)。将灰度图像与红色通道、绿色通道和蓝色通道中的每个颜色通道的图像数据值组合,从对图像数据122去马赛克导出的图像数据值可以有效地降低图像检测到的边缘附加的饱和度,这可以减少在输出数据138中边缘周
围存在错误颜色的可能。当执行将来自与不同颜色通道相关联的图像数据值的贡献组合的卷积运算时,错误颜色(有时也称为彩色伪影)可能发生,因为这种卷积运算的输出可以是显著不同于在同一像素位置处表示由图像表示的场景的实际颜色的原始图像数据值的图像数据值。在输出图像中这种差异可能由于在原始输入图像中不存在的颜色而在视觉上显而易见。因此,错误颜色可能被观看者视作错误,因此期望例如通过执行另外的卷积运算130来减少其存在。
43.在滤色器图案是拜耳滤色器图案的情况下,用于应用另外的卷积运算130的另外的内核可以称为“拜耳不变内核”。在此示例中,另外的输出134将包括来自与红色、蓝色和绿色通道相关联的像素位置的相等的贡献,这些像素位置无关于应用另外的卷积运算130的像素位置。拜耳不变3
×
3内核的示例是:
[0044][0045]
然而,这并不旨在是限制性的,因为许多具有不同大小、形状和/或维数的其他拜耳不变内核是可能的。
[0046]
图6是示出包括多个图像数据值224的处理图像数据222的方法140的示意图。与图5的对应特征部类似的图6的特征部利用相同的附图标号来标记,但增加了100;将采用对应描述来应用。
[0047]
在此示例中,使用另外的卷积运算230处理的该多个图像数据值224中的图像数据值232是该多个图像数据值中的第一组图像数据值232,并且图像数据还包括该多个图像数据值中的不同的第二组图像数据值142。图6的方法140包括略过确定器144,该略过确定器确定是否略过对图像数据值232应用另外的卷积运算230。在这种情况下,略过确定器144确定略过对该多个图像数据值中的至少第二组图像数据值142应用另外的卷积运算230。以此方式,略过确定器144确定对该多个图像数据值中的选定图像数据值(例如,对该多个图像数据值中的第一组图像数据值232)应用另外的卷积运算230,这可以对应于对由图像数据222表示的图像的确定区域应用用于边缘检测的带通滤波器。在一些示例中,对该多个图像数据值中的第二组图像数据值142执行上述确定的代价可能是不检测由该多个图像数据值中的第二组图像数据值142表示的图像的此部分的边缘。然而,略过确定器144可以确定如果对该多个图像数据值中的第二组图像数据值142应用另外的卷积运算230,则将有可能(例如,有高于可接受概率阈值的概率)另外的卷积运算230将检测到错误边缘或图像中的其他图像伪影。因此,如果通过组合器236将此输出与第一卷积运算226的输出228和另外的卷积运算230的另外的输出234组合,则输出数据238可以包括错误边缘或其他不期望的图像伪影。在此类示例中,可能优选地略过对该多个图像数据值中的第二组图像数据值142应用另外的卷积230。
[0048]
此确定可以基于图像数据222的性质。在一个示例中,略过确定器144基于该多个图像数据值中的第二组图像数据值142中与至少一个颜色通道有关的信息量来执行上述确定。例如,略过确定器144可以确定该多个图像数据值中的第二组图像数据值142中没有足够多与该至少一个颜色通道有关的信息,以应用另外的卷积运算230而不生成不期望的错误边缘或其他图像伪影水平。在图6中,如果该多个图像数据值中的第二组图像数据值142
中与该至少一个颜色通道有关的信息量小于该多个图像数据值中的第一图像数据值232中与该至少一个颜色通道有关的信息量,例如,小了满足特定信息条件的量,则略过确定器144确定对该多个图像数据值中的第一组图像数据值232应用另外的卷积运算230,但是略过对该多个图像数据值中的第二组图像数据值142应用另外的卷积运算230。以此方式,可以选择性地对由图像数据222表示的图像的不同部分应用另外的卷积运算230。
[0049]
在拜耳滤色器阵列用于捕获由图像数据222表示的图像的示例中,略过确定器144可以被配置成在图像中的每个像素位置处施加掩模m,该掩模由下式给出:
[0050]
m=1-clip((max(r,b)-dm
ratio
*g-dm
offset
)*dm
strength
,0,1),
[0051]
其中,r、b和g是分别与红色、蓝色和绿色通道相关联的图像数据值并且可以例如如上所述通过对图像数据222去马赛克来获得,dm
ratio
是r和g之间或b和g之间的阈值比率,其可以用于确定是否存在足够多与颜色通道142有关的信息以应用另外的卷积运算230而不生成不期望的错误边缘或其他图像伪影水平,dm
offset
是被调谐成确定所述确定的灵敏度的偏移,并且dm
strength
表示根据给定像素位置处的像素强度应用的乘法器。掩模m的值在0或1之间,其中1对应于略过确定器144确定略过应用另外的卷积运算230,并且0对应于略过确定器144确定应用另外的卷积运算230。参数dm
rati
o、dmo
ffset
和dm
strength
可能是经验性的并且根据期望的掩模m的灵敏度来调谐。另选地,在应用略过确定器144来实施神经网络架构的至少一部分的示例中,可以在神经网络的训练阶段期间例如使用反向传播学习参数dm
rati
o、dmo
ffset
和dm
strength
。作为示出掩模m的使用的示例,由图像数据222表示的图像的一部分可以仅包括黑色背景上的红色文本。在此示例中,图像的此部分仅包含与红色通道相关联的信息(即,g=0,b=0),并且因此掩模m的值将为1,这对应于略过确定器144确定略过应用另外的卷积运算230。在这种情况下,确定对图像的此部分应用另外的卷积运算230将可能导致检测到错误边缘,因此略过应用另外的卷积运算230。
[0052]
图7是示出用于处理图像数据322以生成输出数据338的图像处理流水线146的示意图。在此示例中,应用上文参考图2、图3和图4所述的卷积运算204、304、404中的任一者形成图像处理流水线146内的去马赛克算法的至少一部分。
[0053]
在图7的图像处理流水线146中,图像数据322经历缺陷像素校正148。以此方式,可以补偿缺陷传感器像素,诸如破坏、受损或因其他原因功能不完全的那些像素。例如,可以基于至少一个附近的非缺陷传感器像素的图像数据值来获得缺陷像素的图像数据值。例如,可以通过内插至少两个相邻非缺陷传感器像素的图像数据值来获得此类图像数据值。
[0054]
在图7的图像处理流水线146中,对图像数据322应用去噪150以去除图像数据322中存在的噪声。在图像数据322中噪声可能从若干源产生。在图像传感器的光子计数中可能出现散粒噪声,其由于光的量子化性质而产生。当没有接收到辐射时,从图像传感器中的小电流产生暗流噪声,并且暗流噪声可能取决于环境因素诸如温度。从图像传感器中的电子器件产生读出噪声,并且读出噪声与图像传感器使用的模拟增益水平有关。可以应用至少一个去噪算法以去除从多个噪声源中的至少一个源产生的噪声。
[0055]
由图像数据322表示的图像数据值可以包括基色值,这些基色值是例如被加到图像数据值以避免在图像捕获过程期间出现负图像数据值的恒定值。例如,即使在不暴露于光时,例如由于噪声(如上文所讨论的),传感器像素仍可记录非零传感器像素值。为了避免图像数据值减小到小于零,可以加上基色值。因此,在执行另外的处理之前,图7的图像处理
流水线146中的图像数据322经历黑电平去除152以去除基色值。
[0056]
在图7的图像处理流水线146中,执行白平衡和虚化154。例如,白平衡涉及调整图像数据值中的至少一些图像数据值,使得场景中的白色或其他浅色或中性色颜色得到精确地表示。虚化,有时称为镜头阴影,是图像的亮度或强度从图像中心径向向外逐渐减弱的现象。虚化可以由图像捕获设备的各种特征引起,并且可以使用各种算法来校正。
[0057]
在图7的图像处理流水线146中,图像数据322被去马赛克156。如上所述,去马赛克允许针对每个像素位置获得每个颜色通道的图像数据值。下文参考图8和图9进一步描述了去马赛克。在图7的示例中,对该多个图像数据值应用卷积运算,如上文参考图2、图3或图4所述,形成图像处理流水线146内的去马赛克算法156的至少一部分。
[0058]
在图7的图像处理流水线146中,图像数据322经历错误颜色检测和校正158。在此示例中,执行错误颜色检测包括检测图像中包括具有超过阈值的测量误差的图像数据值的区域。此测量误差可以称为错误颜色或彩色伪影,如上所述。测量误差与去马赛克算法156相关联。例如,测量误差可能由于去马赛克算法156而产生,因为通过在相同颜色通道的相邻像素之间进行内插获得的在给定像素位置处的颜色通道的图像数据值可能不总是准确地描绘由图像表示的场景的颜色。例如,在拜耳滤色器阵列用于捕获由图像数据322表示的图像的情况下,错误颜色可能由于由图像数据322表示的图像包括高频周期性信息而产生,使得去马赛克算法156的输出包括不总是准确地捕获场景的颜色的内插图像数据值。这可以通过考虑高频率下的包括黑色和白色条带的图像的示例来可视化,使得例如此图像的5
×
5图像数据值阵列可以表示为:
[0059][0060]
其中0表示黑色,1表示白色。在此示例中,由图像传感器用于捕获图像的对应的5
×
5拜耳滤色器图案可以示出为:
[0061][0062]
其中r表示红色滤色器元件,b表示蓝色滤色器元件,g表示绿色滤色器元件。在这种情况下,捕获使用此拜耳滤色器图案的上述5
×
5黑色和白色条带图像将生成以下5
×
5图像数据值阵列:
[0063]
[0064]
其中,在具有行数i和列数j的像素位置处,g
ij
和b
ij
分别表示与绿色和蓝色通道相关联的图像数据值。如在此示例中可以看出,不存在与红色通道有关的信息,并且与初始捕获的图像相比,与绿色通道有关的信息已经显著减少。在此基础上,执行去马赛克算法156可以生成看起来是蓝色的所得图像,这将不会准确地对应于由原始图像(即黑色和白色条带)表示的场景的颜色。
[0065]
在此示例中,可以通过使用来自图像数据322的与绿色通道相关联的信息来测量该测量误差,以标识由图像数据322表示的图像的高频区域,对于这些高频区域,预期可能由于去马赛克算法156而出现错误颜色。可以预先确定阈值(测量误差将与其进行比较)对应于要应用错误颜色校正的测量误差的最小量值。在此示例中,错误颜色校正包括处理图像数据中表示图像的区域的一部分以降低图像的区域的饱和度。饱和度是指与区域的亮度成比例判定的区域的视彩度,其中视彩度是指颜色的感知到的色品性质。降低图像的区域的饱和度可以包括向图像的区域添加灰色的阴影,从而降低图像的区域的视彩度,并且抑制由于应用去马赛克算法156而产生的任何错误颜色。以此方式,错误颜色检测和校正158减少由图像数据322表示的图像中的错误颜色的存在。
[0066]
应当理解,图7的图像处理流水线仅仅是示例,并且其他图像处理流水线可以省略各种步骤(例如,缺陷像素校正148、去噪150、黑电平去除152和白平衡和虚化154中的至少一者),可以具有不同的步骤顺序,并且/或者可以包括附加的处理步骤。例如,在由图像处理流水线处理图像数据322之前,可以对图像数据322应用缺陷像素校正148和/或去噪150。又如,如果没有加上基色值,则可以省略黑电平去除152。
[0067]
在图7的图像处理流水线146中,图像数据322包括绿色通道数据160。例如,在拜耳滤色器阵列用于捕获由图像数据322表示的图像的情况下,图像数据包括绿色通道数据160,针对拜耳滤色器阵列中与绿色通道相关联的每个像素位置,该绿色通道数据包括绿色图像数据值(即绿色像素强度值)。在这种情况下,图像数据322将类似地包括红色通道数据和蓝色通道数据。在图7的图像处理流水线中,绿色通道数据160被输入如上所述的处理图像数据322的去马赛克算法156(作为图像数据322的一部分)和用于实施cv功能的计算机视觉(cv)系统162两者。cv功能可以包括图像数据的处理以提取描述图像的内容的相对高级的信息。cv系统162可以包括人工神经网络(ann)诸如卷积神经网络(cnn)以提取此信息。cv功能可以包括执行对象检测和/或标识。cv功能可以包括其他任务,诸如运动估计、场景重建或图像恢复。在一些示例中,cv功能包括执行即时定位与地图构建(slam)。slam包括生成和/或更新环境的地图,同时确定和/或跟踪该环境内传感器的位置。slam处理可以涉及标识和定位环境中的对象,并且使用那些标识到的对象作为语义“界标”来促进准确和/或有效的环境地图构建。cv功能可以用于各种目的,例如在机器人或汽车行业中。
[0068]
与将从去马赛克算法156输出的内插值输入cv系统162相比,可能优选将绿色通道数据160输入cv系统162,因为来自去马赛克算法156的误差(例如,错误颜色或彩色伪影)可以被带入后续流程并因此对由cv系统162实施的cv功能的准确性造成影响。然而,在此示例中,绿色通道数据160可以从由图像传感器捕获的原始图像数据获得,并且不使用例如去马赛克算法156来导出,该绿色通道数据对这种错误颜色具有较少的贡献,从而提高cv功能的准确性。然而,在一些示例中,除了或代替绿色通道数据,可以另外或替代地将来自输出数据338的内插值163输入cv系统162。针对拜耳滤色器阵列中与绿色通道相关联的每个像素
位置,内插值163例如包括红色和蓝色图像数据值(即,红色和蓝色像素强度值)。这些内插值163通过执行如上所述的去马赛克算法156来获得。以此方式,针对拜耳滤色器阵列中与绿色通道相关联的每个像素位置,cv系统162将获得与绿色、红色和蓝色通道中的每个颜色通道相关联的图像数据值。应当理解,可以基于由cv系统162实施的cv功能来预先确定是否将绿色通道数据160和/或内插值163输入cv系统。在其他示例中,来自图像数据322的红色通道数据或蓝色通道数据可以替代地输入cv系统162,并且在这种情况下内插值163包括来自输出数据338的红色或蓝色中的另一者的图像数据值以及绿色图像数据值(即绿色像素强度值)。
[0069]
图8是示出处理图像数据166的方法164的示意图。图8的方法164可以例如用于对图像数据166执行去马赛克算法,并且因此可以在上文参考图7所述的图像处理流水线146内执行。以此方式,可以针对第一颜色通道和第二颜色通道中的每个颜色通道执行图8的方法164,以便在每个像素位置处获得每个颜色通道的图像数据值。
[0070]
在此示例中,图像数据166包括与第一多个像素位置相关联的第一多个图像数据值168,该第一多个像素位置与第一颜色通道相关联。图像数据166还包括与对应第二多个像素位置相关联的第二多个图像数据值170,该第二多个像素位置与不同于第一颜色通道的第二颜色通道相关联。在此示例中,第二多个像素位置不同于第一多个像素位置。
[0071]
在图8的方法164中,使用第一内核对第一多个图像数据值168应用第一卷积运算172,从而生成第一输出174,并且使用第二内核对第二多个图像数据值170应用第二卷积运算176,从而生成第二输出178。以此方式,仅对与第一颜色通道相关联的图像数据值应用第一卷积运算172,并且仅对与第二颜色通道相关联的图像数据值应用第二卷积运算176。应当理解,第一卷积运算172和第二卷积运算176中的任一者或两者可以利用图2、图3或图4的上述方法110、114、118中的任意方法,以便减少图像处理系统执行相应卷积运算所需的乘法运算次数。
[0072]
对于仅对与第一颜色通道相关联的第一多个图像数据值168应用的第一卷积运算172,可以将第一内核的系数布置成使得对应于与不同颜色通道相关联的图像数据值(例如,与第二颜色通道相关联的第二多个图像数据值170)的系数可以被设置为零。以此方式,应用第一卷积运算172意味着与不同颜色通道相关联的这些图像数据值乘以零,因此第一输出174仅包括来自与第一颜色通道相关联的第一多个图像数据值168的贡献。另选地,第一内核的膨胀系数可以被设置成使得因此第一输出174仅包括来自与第一颜色通道相关联的第一多个图像数据值168的贡献。例如,膨胀系数指定第一内核的系数之间的间距,这避免了将符合与不同颜色通道相关联的图像数据值的系数设置为零。这意味着第一卷积运算172仅包括相对于第一多个图像数据值168的乘法运算。例如,在拜耳滤色器阵列用于捕获由图像数据166表示的图像的情况下,膨胀系数可以设置为二。以此方式设置膨胀系数避免了不得不将与不同颜色通道相关联的图像数据值乘以零,从而减少通过使用第一内核应用第一卷积运算172来执行的乘法运算次数。此外,这还减少了图像处理系统必须存储来应用第一卷积运算172的系数的数量。应当理解,用于应用第二卷积运算176的第二内核也可能以类似的方式配置。
[0073]
在图8的方法164中,针对与第二颜色通道相关联的第二多个像素位置中的像素位置,获得第一颜色通道的图像数据值。为了获得图像数据值,组合器180基于像素位置来计
算第一输出174与第二输出178的组合。该组合可以例如是第一输出174和第二输出178的任何线性组合。由此生成的输出数据182包括第一颜色通道在像素位置处的计算图像数据值。因此,图8的方法164允许针对与第二颜色通道相关联的像素位置,获得与第一颜色通道相关联的图像数据值,使得像素位置的输出数据182包括每个颜色通道的图像数据值。
[0074]
图9是示出处理图像数据266的方法184的示意图。与图8的对应特征部类似的图9的特征部利用相同的附图标号来标记,但增加了100;将采用对应描述来应用。图9的方法184可以例如用于对图像数据266执行去马赛克算法,并且因此可以在上文参考图7所述的图像处理流水线146内执行。以此方式,可以针对第一颜色通道、第二颜色通道和第三颜色通道中的每个颜色通道执行图8的方法184,以便在每个像素位置处获得这三个颜色通道中的每个颜色通道的图像数据值。图9的方法184包括使用第一内核对第一多个图像数据值168应用第一卷积运算272,并且使用第二内核对第二多个图像数据值270应用第二卷积运算276,如上文参考图8所述。在此示例中,如上文参考图8所述,第一输出274和第二输出278计算得出的组合是第一组合,并且由此生成的第一颜色通道的图像数据值是被包括在输出数据282中的第一图像数据值186。
[0075]
在此示例中,图像数据266还包括与对应第三多个像素位置相关联的第三多个图像数据值188,该第三多个像素位置与第三颜色通道相关联。第三颜色通道不同于第一颜色通道和第二颜色通道。第三多个像素位置不同于第一多个像素位置和第二多个像素位置。图像数据266还包括与对应第四多个像素位置相关联的第四多个图像数据值190,该第四多个像素位置不同于第一多个像素位置、第二多个像素位置和第三多个像素位置。在此示例中,第四多个像素位置与第二颜色通道相关联。
[0076]
图9的方法184包括使用第三内核对第三多个图像数据值188应用第三卷积运算192,从而生成第三输出194。以此方式,第三输出194仅包括来自第三多个图像数据值188的贡献,即,第三输出194仅包括来自与第三颜色通道相关联的图像数据值的贡献。这可以通过例如将第三内核的膨胀系数设置为二来实现,如上所述。图9的方法184还包括使用第四内核对第四多个图像数据值190应用第四卷积运算196,从而生成第四输出197。以此方式,第四输出190仅包括来自第四多个图像数据值190的贡献,即,第四输出197仅包括来自与第二颜色通道相关联的图像数据值的贡献。这可以通过例如将第三内核的膨胀系数设置为二来实现,如上所述。
[0077]
在图9的方法中,组合器280基于像素位置来计算第一输出274、第二输出278、第三输出194和第四输出197的第二组合。针对给定像素位置,这生成第二颜色通道的第二图像数据值198。第二组合可以例如是第一输出274、第二输出278、第三输出194和第四输出197的任何线性组合。
[0078]
在图9的方法中,组合器280还基于像素位置来计算第一输出274、第二输出278、第三输出194和第四输出197的第三组合。针对给定像素位置,这生成第三颜色通道的第三图像数据值199。第三组合可以例如是第一输出274、第二输出278、第三输出194和第四输出197的任何线性组合。
[0079]
在此示例中,输出数据282包括第一图像数据值186、第二图像数据值198和第三图像数据值199。因此,图9的方法184允许针对与第二颜色通道相关联的像素位置,获得与第一颜色通道、第二颜色通道和第三颜色通道相关联的图像数据值,使得像素位置的输出数
据282包括每个颜色通道的图像数据值。
[0080]
在图9的方法184的示例中,其中拜耳滤色器阵列用于捕获由图像数据266表示的图像,第一颜色通道可以是红色通道,第二颜色通道可以是绿色通道,第三颜色通道可以是蓝色通道。在这种情况下,针对与绿色通道相关联的像素位置,第一输出数据值186与红色通道相关联,第二图像数据值198与绿色通道相关联,第三图像数据值199与蓝色通道相关联。
[0081]
图10是示出处理图像数据366的方法201的示意图,该方法表示上文参考图5至图9所述的示例的组合。与图9的对应特征部类似的图10的特征部利用相同的附图标号来标记,但增加了100;将采用对应描述来应用。
[0082]
除了如上所述在图9的方法184中分别对第一多个图像数据值368、第二多个图像数据值370、另外的多个图像数据值288和第四多个图像数据值290应用第一卷积运算372、第二卷积运算376、第三卷积运算292和第四卷积运算296并且将它们相应的输出374、378、294、297组合,图10的方法201还包括使用另外的内核对该多个图像数据值中的至少一些图像数据值应用另外的卷积运算203。另外的卷积运算203可以与图5和图6的另外的卷积运算130、230类似或相同,使得另外的内核表示用于边缘检测的带通滤波器。如上文参考图9所述,第一卷积运算372、第二卷积运算376、第三卷积运算292和第四卷积运算296可以用于对图像数据366执行去马赛克算法,并且因此可以在上文参考图7所述的图像处理流水线146内执行。
[0083]
在图10的方法201中,组合器380对执行如上所述的去马赛克算法的输出应用错误颜色检测和校正205。可以类似于图7的错误颜色检测和校正158来执行此错误颜色检测和校正205。在此示例中,组合器380使用第一输出374、第二输出378、第三输出294和第四输出297的第四组合来降低图像中包括具有超过阈值的测量误差的图像数据值的区域的饱和度。例如,第四组合可以是第一输出374、第二输出378、第三输出294和第四输出297的平均值。此平均值可以提供灰色的阴影,其可以用于降低图像的区域的饱和度。以此方式将平均值添加到图像的区域降低了图像的区域的视彩度,并且抑制了图像的区域中的错误颜色。
[0084]
如上文参考图9所述,输出数据382包括第一图像数据值286、第二图像数据值298和第三图像数据值299。因此,图10的方法201允许针对与第二颜色通道相关联的像素位置,获得与第一颜色通道、第二颜色通道和第三颜色通道相关联的图像数据值,使得像素位置的输出数据382包括每个颜色通道的图像数据值。
[0085]
图11是示出用于实施本文所述的方法的图像处理系统207的示意图。图像处理系统207包括至少一个处理器209、存储装置211、存储控制器213和计算机视觉系统215。在图11的示例中图像处理系统207的部件使用系统总线217互连。这允许在各种部件之间转移数据。总线可为或包括任何合适的接口或总线。例如,可使用高级微控制器总线架构接口,诸如,高级可扩展接口(axi)。
[0086]
处理器209被配置成实施本文所述的方法。例如,处理器209获得包括多个图像数据值的图像数据并且处理该图像数据从而生成输出数据。该图像数据的处理包括使用包括多个系数的内核对该多个图像数据值应用卷积。为了应用卷积运算,处理器209能够操作以获得该多个图像数据值中分别与该多个系数中各自具有公共系数值的系数对应的图像数
据值的总和。处理器209还能够操作以将该总和乘以该公共系数值。然而,应当理解,在这种情况下,该至少一个处理器可以另外被配置成执行其他处理和/或控制功能。由处理器209执行的运算可以由硬件和/或软件执行。处理器209可以使用机器可读指令和适当编程或配置的硬件(诸如电路)来实施。处理器209可以包括微处理器、微控制器、处理器模块或子系统、可编程集成电路、可编程门阵列或其他计算设备。处理器209可以包括多个协同定位的处理器或多个不同定位的处理器。在一些示例中,图像处理系统207包括计算机可用的易失性和/或非易失性存储装置,其被配置成存储用于每个处理器的信息和/或指令。在示例中,计算机可用的存储装置可以包括随机存取存储器(ram)和/或只读存储器(rom)。
[0087]
此外,处理器209可能能够操作以实施包括如上文参考图7所述的去马赛克算法和/或上述任何其他处理方法的图像处理流水线。
[0088]
图像处理系统207还包括用于存储包括内核的该多个系数的存储装置211。本文所述的示例通过如上述示例所解释减少要存储的系数的数量,从而减少存储该多个系数所需的存储装置211的容量。存储控制器213可以包括动态存储器控制器(dmc)。存储控制器213联接到存储装置211。存储控制器213被配置成管理进出存储装置211的数据流。存储装置211可以包括主存储装置,另选地称为“主存”。在此示例中,存储装置211被包括在图像处理系统中。例如,存储装置可以包括“片上”存储装置。存储装置211可以例如包括磁盘或光盘以及磁盘驱动器或固态驱动器(ssd)。在一些示例中,存储装置包括同步动态随机存取存储器(sdram)。例如,存储装置可以包括双数据速率同步动态随机存取存储器(ddr-sdram)。然而,在其他示例中,存储装置211可以是外部存储装置,假如那样的话存储装置在图像处理系统的外部。例如,存储装置211可以包括“片外”存储装置。在这种情况下,存储装置可以包括图像处理系统所在的计算设备的中央存储装置。在一些情况下,存储装置211可以分布在图像处理系统中包括的存储装置和在图像处理系统外部的存储装置之间,例如,分布在“片上”和“片外”存储装置之间。
[0089]
图11的图像处理系统207还包括用于实施cv功能的计算机视觉(cv)系统215,例如如上文关于图7所述。在一些示例中,图像数据包括被输入cv系统215和处理器209两者的绿色通道数据,该处理器能够操作以实施包括去马赛克算法的图像处理流水线。然而,在其他示例中,本文中的方法可以由缺乏cv系统215(例如,如果针对去马赛克而不是cv处理执行卷积)但在其他方面与图11的图像处理系统207相同的图像处理系统来实施。
[0090]
设想了另外的示例。例如,图4描述了内核408对称的示例。然而,在其他示例中,内核408可以是非对称的。非对称内核通常可以被描述为包括每个系数由k
ij
给出的系数阵列的内核,其中k
ij
=(-k
ji
),i是系数阵列的行数,并且j是系数阵列的列数。内核408是对称的还是非对称的可以取决于对该多个图像数据值i
11-i
55
应用卷积运算404的目的。在任何情况下,内核408仍然可以用至少一个公共系数值表示,诸如图4中的六个公共系数值a、b、c、d、e和f。
[0091]
已经参考拜耳图案描述了本文所述的一些示例。然而,应当理解,本文所述的示例可以例如应用于其他滤色器图案,诸如红色、白色、白色和蓝色滤色器元件的2
×
2像素阵列的组合或红色、白色、白色和绿色滤色器元件的2
×
2像素阵列的组合。
[0092]
应当理解,相对于任何一个示例所述的任何特征结构可单独使用,或与所述的其他特征结构组合使用,并且还可与任何其他示例的一个或多个特征结构组合使用,或与任
何其他示例的任何特征结构组合使用。此外,在不脱离所附权利要求的范围的情况下,也可采用上文未描述的等同物和改型。
再多了解一些

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

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

相关文献