CN115461780A - 基于机器学习的图像调整 - Google Patents
基于机器学习的图像调整 Download PDFInfo
- Publication number
- CN115461780A CN115461780A CN202180031660.4A CN202180031660A CN115461780A CN 115461780 A CN115461780 A CN 115461780A CN 202180031660 A CN202180031660 A CN 202180031660A CN 115461780 A CN115461780 A CN 115461780A
- Authority
- CN
- China
- Prior art keywords
- image
- image data
- map
- input
- maps
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title abstract description 347
- 238000012545 processing Methods 0.000 claims abstract description 360
- 230000006870 function Effects 0.000 claims abstract description 283
- 230000009467 reduction Effects 0.000 claims abstract description 36
- 238000013528 artificial neural network Methods 0.000 claims description 306
- 238000000034 method Methods 0.000 claims description 215
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 110
- 230000015654 memory Effects 0.000 claims description 40
- 230000001131 transforming effect Effects 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 29
- 241000023320 Luma <angiosperm> Species 0.000 claims description 12
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 12
- 238000003384 imaging method Methods 0.000 abstract description 41
- 238000010586 diagram Methods 0.000 description 131
- 230000008569 process Effects 0.000 description 101
- 238000012549 training Methods 0.000 description 32
- 230000007246 mechanism Effects 0.000 description 31
- 238000004422 calculation algorithm Methods 0.000 description 28
- 238000013527 convolutional neural network Methods 0.000 description 25
- 238000012706 support-vector machine Methods 0.000 description 24
- 230000008859 change Effects 0.000 description 23
- 238000003860 storage Methods 0.000 description 23
- 230000011664 signaling Effects 0.000 description 17
- 230000000694 effects Effects 0.000 description 15
- 230000002829 reductive effect Effects 0.000 description 13
- 238000013507 mapping Methods 0.000 description 12
- 230000001965 increasing effect Effects 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 229920006395 saturated elastomer Polymers 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 238000003066 decision tree Methods 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000007637 random forest analysis Methods 0.000 description 7
- 230000002787 reinforcement Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 125000001475 halogen functional group Chemical group 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000002146 bilateral effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000007935 neutral effect Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241000579895 Chlorostilbon Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000005282 brightening Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004567 concrete Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/60—Noise processing, e.g. detecting, correcting, reducing or removing noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/643—Hue control means, e.g. flesh tone control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/646—Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/68—Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20182—Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
成像系统可以例如从图像传感器获得图像数据。成像系统可以将图像数据作为输入数据提供给机器学习系统,该系统可以基于图像数据生成一个或多个图。每个图可以识别某个图像处理功能将被应用于图像数据的每个像素的强度。可以针对不同的图像处理功能生成不同的图,不同的图像处理功能例如降噪、锐化或色彩饱和度。成像系统可以基于图像数据和一个或多个图,例如通过根据一个或多个图中的每一个应用一个或多个图像处理功能中的每一个来生成修改后的图像。成像系统可以将图像数据和一个或多个图提供给第二机器学习系统以生成修改后的图像。
Description
技术领域
本公开总体上涉及图像处理,并且更具体地涉及用于执行基于机器学习的图像调整的系统和技术。
背景技术
相机是一种使用图像传感器接收光并捕获图像帧(例如静止图像或视频帧)的设备。相机可以包括处理器,例如图像信号处理器(ISP),其可以接收一个或多个图像帧并处理一个或多个图像帧。例如,由相机传感器捕获的原始图像帧可以由ISP处理以生成最终图像。相机可以配置有各种图像捕获和图像处理设置,以改变图像的外观。一些相机设置是在捕获照片之前或期间确定和应用的,例如ISO、曝光时间、光圈大小、f/stop、快门速度、焦点和增益。其他相机设置可以配置照片的后处理,例如更改对比度、亮度、饱和度、锐度、色阶、曲线或颜色。
传统的图像信号处理器(ISP)具有单独的分立块,这些分立块解决基于图像的问题空间的各种分区。例如,典型的ISP具有分立的功能块,每个功能块对原始相机传感器数据应用特定操作以创建最终输出图像。这样的功能块可以包括用于去马赛克、降噪(去噪)、颜色处理、色调映射以及许多其他图像处理功能的块。这些功能块中的每一个都包含许多手动调整的参数,导致具有大量手动调整参数(例如,超过10,000个)的ISP,这些参数必须根据每个客户的调整偏好重新调整。这种对参数的手动调整非常耗时且昂贵,因此通常执行一次。一经调整,传统的ISP通常就针对每个图像使用相同的参数。
发明内容
在一些示例中,描述了用于使用一个或多个机器学习系统来执行基于机器学习的图像调整的系统和技术。成像系统可以例如从图像传感器获得图像数据。成像系统可以将图像数据作为输入数据提供给机器学习系统,该机器学习系统可以基于图像数据来生成一个或多个图(map)。每个图可以识别将某个图像处理功能应用于图像数据的每个像素的强度。可以针对诸如降噪、锐化或色彩饱和度之类的不同的图像处理功能生成不同的图。成像系统可以基于图像数据和一个或多个图(例如,通过根据一个或多个图中的每一个应用一个或多个图像处理功能中的每一个)来生成修改后的图像。成像系统可以将图像数据和一个或多个图提供给第二机器学习系统以生成修改后的图像。
在一个示例中,提供了一种用于图像处理的装置。该装置包括存储器和耦合到存储器的一个或多个处理器(例如,在电路中实现)。一个或多个处理器被配置为并且能够:获取图像数据;使用图像数据作为一个或多个受训神经网络(trained neural network)的输入,生成一个或多个图,其中一个或多个图中的每个图与相应图像处理功能相关联;并且基于图像数据和一个或多个图来生成图像,该图像包括基于与一个或多个图中的每个图相关联的相应图像处理功能的特性。
在另一示例中,提供了一种图像处理方法。该方法包括:获取图像数据;使用图像数据作为一个或多个受训神经网络的输入来生成一个或多个图,其中一个或多个图中的每个图与相应的图像处理功能相关联;以及基于图像数据和一个或多个图生成图像,该图像包括基于与一个或多个图中的每个图相关联的相应图像处理功能的特性。
在另一示例中,提供一种非暂时性计算机可读介质,其上存储有指令,当指令由一个或多个处理器执行时,使一个或多个处理器:获取图像数据;使用图像数据作为一个或多个受训神经网络的输入,生成一个或多个图,其中一个或多个图中的每个图与相应图像处理功能相关联;并且基于图像数据和一个或多个图生成图像,该图像包括基于与一个或多个图中的每个图相关联的相应图像处理功能的特性。
在另一示例中,提供了一种用于图像处理的装置。该装置包括:用于获得图像数据的单元;用于使用图像数据作为一个或多个受训神经网络的输入来生成一个或多个图的单元,其中一个或多个图中的每个图与相应图像处理功能相关联;以及用于基于图像数据和一个或多个图生成图像的单元,该图像包括基于与一个或多个图中的每个图相关联的相应图像处理功能的特性。
在一些方面,一个或多个图中的图包括多个值并且与图像处理功能相关联,图的多个值中的每个值指示将图像处理功能应用于图像数据的对应区域的强度。在一些方面,图像数据的对应区域对应于图像的像素。
在一些方面,所述一个或多个图包括多个图,所述多个图中的第一图与第一图像处理功能相关联,并且所述多个图中的第二图与第二图像处理功能相关联。在一些方面,与多个图中的至少一个相关联的一个或多个图像处理功能包括降噪功能、锐度调整功能、细节调整功能、色调调整功能、饱和度调整功能和色相调整功能中的至少一个。在一些方面,第一图包括第一多个值,第一图的第一多个值中的每个值指示将第一图像处理功能应用于图像数据的对应区域的强度,并且其中第二图包括第二多个值,第二图的第二多个值中的每个值指示将第二图像处理功能应用于图像数据的对应区域的强度。
在一些方面,图像数据包括对应于图像的亮度通道数据,其中使用图像数据作为一个或多个受训神经网络的输入包括使用对应于图像的亮度通道数据作为一个或多个受训神经网络的输入。在一些方面,基于图像数据生成图像包括基于亮度通道数据以及对应于图像的色度数据生成图像。
在一些方面,一个或多个受训神经网络基于使用图像数据作为一个或多个受训神经网络的输入来输出一个或多个仿射系数,其中生成一个或多个图包括至少通过使用一个或多个仿射系数变换图像数据来生成第一图。在一些方面,图像数据包括对应于图像的亮度通道数据,其中使用一个或多个仿射系数变换图像数据包括使用一个或多个仿射系数变换亮度通道数据。在一些方面,所述一个或多个仿射系数包括乘数,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值乘以所述乘数。在一些方面,一个或多个仿射系数包括偏移量,其中使用一个或多个仿射系数变换图像数据包括将图像数据的至少一个子集的亮度值偏移该偏移量。在一些方面,一个或多个受训神经网络还基于局部线性度约束来输出一个或多个仿射系数,所述局部线性度约束将第一图中的一个或多个梯度与图像数据中的一个或多个梯度对齐。
在一些方面,基于图像数据和一个或多个图生成图像包括使用图像数据和一个或多个图作为与一个或多个受训神经网络不同的第二组一个或多个受训神经网络的输入。在一些方面,基于图像数据和一个或多个图生成图像包括使用第二组一个或多个受训神经网络对图像数据进行去马赛克。
在一些方面,一个或多个图中的每个图基于图像数据中描绘的不同类型的对象在空间上变化。在一些方面,图像数据包括输入图像,该输入图像对于图像数据的多个像素中的每个像素具有多个颜色分量。在一些方面,图像数据包括来自一个或多个图像传感器的原始图像数据,原始图像数据对于图像数据的多个像素中的每个像素包括至少一个颜色分量。
在一些方面,上述方法、装置和计算机可读介质还包括:图像传感器,其捕获图像数据,其中获得图像数据包括从图像传感器获得图像数据。在一些方面,上述方法、装置和计算机可读介质还包括:显示屏,其中一个或多个处理器被配置为在显示屏上显示图像。在一些方面,上述方法、装置和计算机可读介质还包括:通信收发器,其中一个或多个处理器被配置为使用通信收发器将图像发送到接收设备。
在一些方面,该装置包括相机、移动设备(例如,移动电话或所谓的“智能手机”或其他移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、个人计算机、膝上型计算机、服务器计算机或其他设备。在一些方面,该装置包括用于捕获一个或多个图像的一个或多个相机。在一些方面,该装置还包括用于显示一个或多个图像、通知和/或其他可显示数据的显示器。
本发明内容不旨在识别所要求保护的主题的关键或基本特征,也不旨在孤立地用于确定所要求保护的主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或所有附图以及每个权利要求来理解该主题。
在参考以下说明书、权利要求和附图时,前述内容以及其他特征和实施例将变得更加显而易见。
附图说明
下面结合附图对本申请的示例性实施例进行详细描述:
图1是示出根据一些示例的图像捕获和处理系统的示例架构的框图;
图2是示出根据一些示例的包括图像处理机器学习(ML)系统的系统的示例的框图;
图3A是示出根据一些示例的包括标记为P0到P63的多个像素的输入图像的示例的概念图;
图3B是示出根据一些示例的空间调谐图的示例的概念图;
图4是示出根据一些示例的被应用于调整输入图像中的降噪强度以生成修改后的图像的输入噪声图的示例的概念图;
图5是示出根据一些示例的对示例图像应用锐度调整图像处理功能的不同强度的效果的示例的概念图;
图6是示出根据一些示例的应用于调整输入图像中的锐化强度以生成修改后的图像的输入锐度图的示例的概念图;
图7是示出根据一些示例的伽玛曲线的示例和色调图中的不同值转换为应用于示例图像的色调调整的不同强度的效果的各种示例的概念图;
图8是说明根据一些示例的应用于输入图像中的色调调整强度以生成修改后的图像的输入色调图的示例的概念图;
图9是示出根据一些示例的亮度-色度(YUV)颜色空间中的饱和度水平的概念图;
图10是示出根据一些示例的示例图像的处理后变体的概念图,每个变体使用用于调整色彩饱和度的不同的阿尔法(α)值来处理;
图11是示出根据一些示例的应用于输入图像中的饱和度调整强度和方向以生成修改后的图像的输入饱和度图的示例的概念图;
图12A是示出根据一些示例的色相、饱和度、值(HSV)颜色空间的概念图;
图12B是示出根据一些示例的亮度-色度(YUV)颜色空间中的色相向量的修改的概念图;
图13是示出根据一些示例的应用于输入图像中的色相调整强度以生成修改后的图像的输入色相图的示例的概念图;
图14A是示出根据一些示例的系统的示例的概念图,该系统包括接收输入图像和多个空间上变化的调谐图的图像处理系统;
图14B是示出根据一些示例的系统的示例的概念图,该系统包括接收输入图像和多个空间上变化的调谐图的图像处理系统,以及接收输入图像并生成多个在空间上变化的调谐图的自动调整机器学习(ML)系统;
图14C是示出根据一些示例的系统的示例的概念图,该系统包括接收输入图像并生成多个空间上变化的调谐图的自动调整机器学习(ML)系统;
图14D是示出根据一些示例的系统的示例的概念图,该系统包括接收输入图像和多个空间上变化的调谐图的图像处理系统,以及接收输入图像的缩小变体并且生成被放大为多个空间上变化的调谐图的小的空间上变化的调谐图的自动调整机器学习(ML)系统;
图15是示出根据一些示例的可以由图像处理系统和/或自动调整机器学习(ML)系统使用的神经网络的示例的框图;
图16A是示出根据一些示例的图像处理系统(例如,图像处理ML系统)的训练的示例的框图;
图16B是示出根据一些示例的自动调整机器学习(ML)系统的训练的示例的框图;
图17是示出根据一些示例的系统的示例的框图,该系统包括自动调整机器学习(ML)系统,该自动调整机器学习(ML)系统通过根据局部线性度约束生成修改亮度通道数据的仿射系数来从亮度通道数据生成空间上变化的调谐图;
图18是示出根据一些示例的自动调整ML系统的细节示例的框图;
图19是示出根据一些示例的自动调整ML系统的局部神经网络的神经网络架构的示例的框图;
图20是示出根据一些示例的自动调整ML系统的全局神经网络的神经网络架构的示例的框图;
图21A是示出根据一些示例的自动调整ML系统的神经网络架构的示例的框图;
图21B是示出根据一些示例的自动调整ML系统的神经网络架构的另一个示例的框图;
图21C是示出根据一些示例的空间注意引擎的神经网络架构的示例的框图;
图21D是示出根据一些示例的通道注意引擎的神经网络架构的示例的框图;
图22是示出根据一些示例的预调谐图像信号处理器(ISP)的示例的框图;
图23是示出根据一些示例的机器学习(ML)图像信号处理器(ISP)的示例的框图;
图24是示出根据一些示例的机器学习(ML)图像信号处理器(ISP)的神经网络架构的示例的框图;
图25A是示出根据一些示例的应用于示例输入图像以生成修改后的图像的第一色调调整强度的示例的概念图;
图25B是示出根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第二色调调整强度的示例的概念图;
图26A是示出根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第一细节调整强度的示例的概念图;
图26B是示出根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第二细节调整强度的示例的概念图;
图27A是示出根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第一色彩饱和度调整强度的示例的概念图;
图27B是示出根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第二色彩饱和度调整强度的示例的概念图;
图27C是示出根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第三色彩饱和度调整强度的示例的概念图;
图28是示出根据一些示例的接收用于调谐MLISP的各种调谐参数作为输入的机器学习(ML)图像信号处理器(ISP)的示例的框图;
图29是示出根据一些示例的可以提供给机器学习(ML)图像信号处理器(ISP)的特定调谐参数值的示例的框图;
图30是示出根据一些示例的可以提供给机器学习(ML)图像信号处理器(ISP)的特定调谐参数值的附加示例的框图;
图31是示出根据一些示例的可以在机器学习(ML)图像信号处理器(ISP)的训练期间使用的目标函数和不同损失的示例的框图;
图32是示出根据一些示例的导致在第一图像位置处的非重叠输出贴片的逐贴片模型推理的示例的概念图;
图33是示出根据一些示例的在第二图像位置处的图32的逐贴片模型推理的示例的概念图;
图34是示出根据一些示例的在第三图像位置处的图32的逐贴片模型推理的示例的概念图;
图35是示出根据一些示例的在第四图像位置处的图32的逐贴片模型推理的示例的概念图;
图36是示出根据一些示例的在图像级应用的空间固定色调图的示例的概念图;
图37是示出根据一些示例的空间变化图的示例应用以处理输入图像数据以生成具有空间变化饱和度调整强度的输出图像的概念图;
图38是示出根据一些示例的空间变化图的示例应用以处理输入图像数据以生成具有空间变化色调调整强度和空间变化细节调整强度的输出图像的概念图;
图39是示出根据一些示例的由图像处理系统使用一个或多个调谐图来调整输入图像而生成的自动调整图像的概念图;
图40A是示出根据一些示例的由图像处理系统使用一个或多个使用自动调整机器学习(ML)系统生成的空间变化调谐图生成的输出图像的概念图;
图40B是示出根据一些示例的可用于根据图40A所示的输入图像生成图40A所示的输出图像的空间变化调谐图的示例的概念图;
图41A是示出根据一些示例的由图像处理系统使用使用自动调整机器学习(ML)系统生成的一个或多个空间变化调谐图生成的输出图像的概念图;
图41B是示出根据一些示例的可用于根据图41A所示的输入图像生成图41A所示的输出图像的空间变化调谐图的示例的概念图;
图42A是示出根据一些示例的用于处理图像数据的过程的示例的流程图;
图42B是示出根据一些示例的用于处理图像数据的过程的示例的流程图;以及
图43是说明用于实现本文描述的某些方面的计算系统的示例的图。
具体实施方式
下面提供了本公开的某些方面和实施例。这些方面和实施例中的一些可以独立应用并且它们中的一些可以组合应用,这对于本领域技术人员来说是显而易见的。在以下描述中,出于解释的目的,阐述了具体细节以便提供对本申请的实施例的透彻理解。然而,显然可以在没有这些具体细节的情况下实践各种实施例。附图和描述并非旨在限制。
随后的描述仅提供示例性实施例,并不旨在限制本公开的范围、适用性或配置。相反,示例性实施例的随后描述将为本领域技术人员提供用于实现示例性实施例的使能描述。应当理解,在不脱离所附权利要求中阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。
相机是使用图像传感器接收光并捕获图像帧(例如静止图像或视频帧)的设备。术语“图像”、“图像帧”和“帧”在本文中可互换使用。相机可以配置有各种图像捕获和图像处理设置。不同的设置会导致图像具有不同的外观。某些相机设置是在捕获一个或多个图像帧之前或期间确定和应用的,所述设置例如ISO、曝光时间、光圈大小、f/stop、快门速度、焦点和增益。例如,可以将设置或参数应用于图像传感器以捕获一个或多个图像帧。其他相机设置可以配置一个或多个图像帧的后处理,例如更改对比度、亮度、饱和度、锐度、色阶、曲线或颜色。例如,可以将设置或参数应用于处理器(例如,图像信号处理器或ISP)以处理由图像传感器捕获的一个或多个图像帧。
相机可以包括处理器,例如ISP,其可以从图像传感器接收一个或多个图像帧并处理该一个或多个图像帧。例如,由相机传感器捕获的原始图像帧可以由ISP处理以生成最终图像。在一些示例中,ISP可以使用应用于捕获的图像帧的多个滤波器或处理块来处理图像帧,例如去马赛克、增益调整、白平衡调整、色彩平衡或校正、伽玛压缩、色调映射或调整、去噪或噪声滤波、边缘增强、对比度调整、强度调整(例如变暗或变亮)等。在一些示例中,ISP可以包括机器学习系统(例如,一个或多个受训神经网络、一个或多个受训机器学习模型、一个或多个人工智能算法和/或一个或多个其他机器学习组件),该系统可以处理图像帧并输出处理后的图像帧。
描述了用于使用一个或多个机器学习系统执行基于机器学习的自动图像调整的系统、装置、过程(也称为方法)和计算机可读介质(在本文中统称为“系统和技术”)。成像系统可以例如从图像传感器获得图像数据。成像系统可以将图像数据作为输入数据提供给机器学习系统。机器学习系统可以基于图像数据生成一个或多个图。一个或多个图中的每个图可以识别要将某个图像处理功能应用于图像数据的每个像素的强度。可以针对不同的图像处理功能生成不同的图,例如降噪、噪声添加、锐化、去锐化、细节增强、细节减少、色调调整、颜色去饱和、色彩饱和度增强、色调调整或它们的组合。一个或多个图可以在空间上变化,以使得图像的不同像素对应于在每个图中应用图像处理功能的不同强度。成像系统可以基于图像数据和一个或多个图,例如通过根据一个或多个图中的每一个应用一个或多个图像处理功能中的每一个,来生成修改后的图像。在一些示例中,成像系统可以将图像数据和一个或多个图提供给第二机器学习系统以生成修改后的图像。第二机器学习系统可以不同于机器学习系统。
在某些相机系统中,主机处理器(HP)(在某些情况下也称为应用处理器(AP))用于用新参数设置动态配置图像传感器。HP可用于动态配置ISP流水线的参数设置,以匹配输入图像传感器帧的精确设置,使得正确处理图像数据。在一些示例中,HP可用于基于一个或多个图动态配置参数设置。例如,参数设置可以基于图中的值来确定。
生成图和使用图进行图像处理可以为图像处理系统提供各种技术优势。空间上变化的图像处理图可以允许成像系统在图像的不同区域中以不同强度应用图像处理功能。例如,关于一个或多个图像处理功能,描绘天空的图像区域可以与描绘草地的相同图像的另一区域不同地处理。图可以并行生成,从而提高图像处理的效率。
在一些示例中,机器学习系统可以生成一个或多个仿射系数,例如乘数和偏移量,成像系统可以使用它们来修改图像数据的分量(例如,图像数据的亮度通道)来生成每个图。局部线性度约束可以确保图中的一个或多个梯度与图像数据中的一个或多个梯度对齐,这可以减少在应用图像处理功能时的光晕效应。使用仿射系数和/或局部线性度约束来生成图可以产生与不使用仿射系数和/或局部线性度约束来生成图的系统相比更高质量的空间变化图像修改,例如由于图像数据和图之间更好的对齐,以及描绘的对象边界处的光晕效应的减少。
图1是说明图像捕获和处理系统100的架构的框图。图像捕获和处理系统100包括用于捕获和处理场景图像(例如,场景110的图像)的各种组件。图像捕获和处理系统100可以捕获独立的图像(或照片)和/或可以捕获包括特定序列中的多个图像(或视频帧)的视频。系统100的镜头115面向场景110并接收来自场景110的光。镜头115将光朝向图像传感器130弯曲。由镜头115接收的光通过由一个或多个控制机构120控制的光圈并且由图像传感器130接收。
一个或多个控制机构120可以基于来自图像传感器130的信息和/或基于来自图像处理器150的信息来控制曝光、焦点和/或变焦(zoom)。一个或多个控制机构120可以包括多个机构和组件;例如,控制机构120可以包括一个或多个曝光控制机构125A、一个或多个焦点控制机构125B、和/或一个或多个变焦控制机构125C。一个或多个控制机构120还可以包括除了所示出的那些之外的附加控制机构,例如控制模拟增益、闪光、HDR、景深和/或其他图像捕获属性的控制机构。
控制机构120的焦点控制机构125B可以获得焦点设置。在一些示例中,焦点控制机构125B将焦点设置存储在存储器寄存器中。基于焦点设置,焦点控制机构125B可以调整相对于图像传感器130位置的镜头115位置。例如,基于焦点设置,焦点控制机构125B可以通过致动马达或伺服器(servo)使镜头115移近图像传感器130或远离图像传感器130,从而调整焦点。在一些情况下,系统100中可以包括附加的镜头,例如图像传感器130的每个光电二极管上的一个或多个微镜头,每个微镜头将从镜头115接收的光在光到达光电二极管之前朝向对应的光电二极管弯曲。可以经由对比度检测自动对焦(CDAF)、相位检测自动对焦(PDAF)或它们的某种组合来确定焦点设置。可以使用控制机构120、图像传感器130和/或图像处理器150来确定焦点设置。焦点设置可以被称为图像捕获设置和/或图像处理设置。
控制机构120的曝光控制机构125A可以获得曝光设置。在一些情况下,曝光控制机构125A将曝光设置存储在存储器寄存器中。基于该曝光设置,曝光控制机构125A可以控制光圈的大小(例如,光圈大小或f/stop)、光圈打开的持续时间(例如,曝光时间或快门速度)、图像传感器130的灵敏度(例如,ISO速度或胶片速度)、图像传感器130所应用的模拟增益或其任意组合。曝光设置可以称为图像捕获设置和/或图像处理设置。
控制机构120的变焦控制机构125C可以获得变焦设置。在一些示例中,变焦控制机构125C将变焦设置存储在存储器寄存器中。基于变焦设置,变焦控制机构125C可以控制包括镜头115和一个或多个附加镜头的镜头元件组合件(镜头组合件)的焦距。例如,变焦控制机构125C可以通过致动一个或多个马达或伺服器以使一个或多个镜头相对于彼此移动来控制镜头组合件的焦距。变焦设置可以被称为图像捕获设置和/或图像处理设置。在一些示例中,镜头组合件可以包括齐焦式变焦镜头或变焦距式变焦镜头。在一些示例中,镜头组合件可以包括首先接收来自场景110的光的聚焦镜头(在某些情况下其可以是镜头115),然后光通过聚焦镜头(例如,镜头115)和图像传感器130之间的无焦变焦系统,然后光到达图像传感器130。在一些情况下,无焦变焦系统可以包括焦距相等或相似(例如,在阈值差内)的两个正(例如,会聚、凸)镜头,在它们之间有一个负(例如,发散的、凹)镜头。在一些情况下,变焦控制机构125C移动无焦变焦系统中的一个或多个镜头,例如负镜头和一个或两个正镜头。
图像传感器130包括光电二极管的一个或多个阵列或其他光敏元件。每个光电二极管测量最终对应于由图像传感器130产生的图像中的特定像素的光量。在一些情况下,不同的光电二极管可以被不同的滤色器覆盖,并且因此可以测量与覆盖光电二极管的滤波器的颜色匹配的光。例如,拜耳滤色器包括红色滤色器、蓝色滤色器和绿色滤色器,其中图像的每个像素基于来自覆盖在红色滤色器中的至少一个光电二极管的红光数据、来自覆盖在蓝色滤色器中的至少一个光电二极管的蓝光数据以及来自覆盖在绿色滤光器中的至少一个光电二极管的绿光数据生成。其他类型的滤色器可以使用黄色、品红色和/或青色(也称为“翡翠色”)滤色器来代替红色、蓝色和/或绿色滤色器或作为红色、蓝色和/或绿色滤色器的附加。一些图像传感器可能完全没有滤色器,而是可能在整个像素阵列(在某些情况下是垂直堆叠的)中使用不同的光电二极管。整个像素阵列中的不同光电二极管可以具有不同的光谱灵敏度曲线,因此响应不同波长的光。单色图像传感器也可能缺少滤色器,因此缺少色深。
在一些情况下,图像传感器130可以可替代地或附加地包括不透明和/或反射掩模,其阻止光在某些时间和/或从某些角度到达某些光电二极管或某些光电二极管的部分,这可以被使用用于相位检测自动对焦(PDAF)。图像传感器130还可包括模拟增益放大器以放大由光电二极管输出的模拟信号和/或包括模数转换器(ADC)以将光电二极管的模拟信号输出(和/或由模拟增益放大器放大的)转换成数字信号。在一些情况下,关于一个或多个控制机构120讨论的某些组件或功能可以替代地或附加地被包括在图像传感器130中。图像传感器130可以是电荷耦合器件(CCD)传感器、电子倍增CCD(EMCCD)传感器、有源像素传感器(APS)、互补金属氧化物半导体(CMOS)、N型金属氧化物半导体(NMOS)、混合CCD/CMOS传感器(例如,sCMOS),或它们的一些其他组合。
图像处理器150可以包括一个或多个处理器,例如一个或多个图像信号处理器(ISP)(包括ISP 154)、一个或多个主机处理器(包括主机处理器152)和/或关于计算设备5000讨论的任何其他类型的处理器5010中的一个或多个。主机处理器152可以是数字信号处理器(DSP)和/或其他类型的处理器。在一些实施方式中,图像处理器150是包括主机处理器152和ISP 154的单个集成电路或芯片(例如,称为片上系统或SoC)。在一些情况下,芯片还可以包括一个或多个输入/输出端口(例如,输入/输出(I/O)端口156)、中央处理单元(CPU)、图形处理单元(GPU)、宽带调制解调器(例如,3G、4G或LTE、5G等)、存储器、连接组件(例如,BluetoothTM、全球定位系统(GPS)等)、它们的任何组合和/或其他组件。I/O端口156可以包括根据一个或多个协议或规范的任何合适的输入/输出端口或接口,例如内部集成电路2(I2C)接口、内部集成电路3(I3C)接口、串行外设接口(SPI)接口、串行通用输入/输出(GPIO)接口、移动工业处理器接口(MIPI)(例如MIPI CSI-2物理(PHY)层端口或接口、高级高性能总线(AHB)总线、其任意组合和/或其他输入/输出端口。在一个说明性示例中,主机处理器152可以使用I2C端口与图像传感器130通信,并且ISP 154可以使用MIPI端口与图像传感器130通信。
图像处理器150可以执行多个任务,例如去马赛克、颜色空间转换、图像帧下采样、像素插值、自动曝光(AE)控制、自动增益控制(AGC)、CDAF、PDAF、自动白平衡、合并图像帧以形成HDR图像、图像识别、对象识别、特征识别、输入接收、管理输出、管理存储器或它们的某种组合。图像处理器150可以将图像帧和/或处理后的图像存储在随机存取存储器(RAM)140/5020、只读存储器(ROM)145/5025、高速缓存、存储器单元、另一存储设备或它们的某种组合中。
各种输入/输出(I/O)设备160可以连接到图像处理器150。I/O设备160可以包括显示屏、键盘、小键盘、触摸屏、触控板、触敏表面、打印机、任何其他输出设备5035、任何其他输入设备5045或它们的某种组合。在一些情况下,字幕可以通过I/O设备160的物理键盘或小键盘,或者通过I/O设备160的触摸屏的虚拟键盘或小键盘输入到图像处理设备105B中。I/O 160可以包括一个或多个端口、插孔或其他连接器,它们实现系统100和一个或多个外围设备之间的有线连接,系统100可通过该有线连接从一个或多个外围设备接收数据和/或将数据发送到一个或多个外围设备。I/O 160可以包括一个或多个无线收发器,其实现系统100和一个或多个外围设备之间的无线连接,系统100可通过该无线连接从一个或多个外围设备接收数据和/或将数据发送到一个或多个外围设备。外围设备可以包括任何先前讨论的类型的I/O设备160,并且一旦它们耦合到端口、插孔、无线收发器或其他有线和/或无线连接器,它们本身就可以被认为是I/O设备160。
在一些情况下,图像捕获和处理系统100可以是单个设备。在一些情况下,图像捕获和处理系统100可以是两个或更多个单独的设备,包括图像捕获设备105A(例如,相机)和图像处理设备105B(例如,耦合到相机的计算设备)。在一些实施方式中,图像捕获设备105A和图像处理设备105B可以例如经由一根或多根电线、线缆或其他电连接器和/或经由一个或多个无线收发器无线地耦合在一起。在一些实施方式中,图像捕获设备105A和图像处理设备105B可以彼此断开。
如图1所示,垂直虚线将图1的图像捕获和处理系统100分成两个部分,它们分别代表图像捕获设备105A和图像处理设备105B。图像捕获设备105A包括镜头115、控制机构120和图像传感器130。图像处理设备105B包括图像处理器150(包括ISP 154和主机处理器152)、RAM 140、ROM 145、和I/O 160。在一些情况下,图像捕获设备105A中所示的某些组件,例如ISP 154和/或主机处理器152,可以被包括在图像捕获设备105A中。
图像捕获和处理系统100可以包括电子设备,例如移动或固定电话手持机(例如,智能手机、蜂窝电话等)、台式计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视机、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流送设备、互联网协议(IP)相机或任何其他合适的电子设备。在一些示例中,图像捕获和处理系统100可以包括用于无线通信的一个或多个无线收发器,例如蜂窝网络通信、802.11wi-fi通信、无线局域网(WLAN)通信或它们的某种组合。在一些实施方式中,图像捕获设备105A和图像处理设备105B可以是不同的设备。例如,图像捕获设备105A可以包括相机设备,并且图像处理设备105B可以包括计算设备,例如移动手持机、台式计算机或其他计算设备。
虽然图像捕获和处理系统100被显示为包括某些组件,但普通技术人员将理解,图像捕获和处理系统100可以包括比图1中所示的组件更多的组件。图像捕获和处理系统100的组件可以包括软件、硬件或软件和硬件的一种或多种组合。例如,在一些实施方式中,图像捕获和处理系统100的组件可以包括电子电路或其他电子硬件和/或可以使用电子电路或其他电子硬件来实现,其可以包括一个或多个可编程电子电路(例如,微处理器、GPU、DSP、CPU、和/或其他合适的电子电路),和/或可以包括计算机软件、固件或它们的任何组合和/或使用计算机软件、固件或它们的任何组合来实现,以执行本文描述的各种操作。软件和/或固件可以包括存储在计算机可读存储介质上并且可由实现图像捕获和处理系统100的电子设备的一个或多个处理器执行的一个或多个指令。
传统的相机系统(例如,图像传感器和ISP)用参数进行调谐,并根据调谐后的参数处理图像。ISP通常在生产期间使用固定调谐方法进行调谐。相机系统(例如,图像传感器和ISP)通常还基于预定义条件(例如光照水平、色温、曝光时间等)执行全局图像调整。典型的相机系统也使用基于启发式的粗精度调谐(例如,基于窗口的局部色调映射)进行调谐。因此,传统的相机系统无法基于图像中包含的内容来增强图像。
本文描述了用于执行基于机器学习的图像调整的系统、装置、过程和计算机可读介质。基于机器学习的图像调整技术可以应用于处理后的图像(例如,由ISP和/或图像后处理系统输出的)和/或可以应用于来自图像传感器的原始图像数据。基于机器学习的图像调整技术可以基于图像中包含的场景内容为每个图像提供动态调谐(而不是传统相机系统的固定调谐)。基于机器学习的图像调整技术还可以提供结合附加的基于语义上下文的调谐(例如分割信息)的能力,而不是仅提供基于启发式的调谐。
在一些示例中,一个或多个调谐图也可以用于执行基于机器学习的图像调整技术。在一些示例中,调谐图可以具有与输入图像相同的分辨率,其中调谐图内的每个值对应于输入图像中的像素。在一些示例中,调谐图可以基于输入图像的下采样变体,并且因此可以具有比输入图像更低的分辨率,其中调谐图内的每个值对应于输入图像中的一个以上像素(例如,如果输入图像的下采样变体具有输入图像的一半长度和一半宽度,则为正方形或矩形形式中的四个或更多个相邻像素)。调谐图也可以称为空间调谐图或空间变化调谐图,以指代调谐图的值对于调谐图中的每个位置在空间上变化的能力。在一些示例中,调谐图内的每个值可以对应于输入图像的预定子集。在一些示例中,调谐图内的每个值可以对应于整个输入图像,在这种情况下,调谐图可以被称为空间固定调谐图。
调谐图为图像处理机器学习系统提供了对每个图像进行像素级调整的能力,以允许对图像进行高精度调整,而不仅仅是全局图像调整。在一些示例中,调谐图可以由图像处理器150、主机处理器152、ISP 154或其组合自动生成。在一些示例中,可以使用机器学习系统自动生成调谐图。在一些示例中,调谐图可以使用机器学习系统而具有每像素精度。例如,第一机器学习系统可用于生成像素级调谐图,并且第二机器学习系统可以处理输入图像和一个或多个调谐图以生成修改后的图像(也称为调整后的图像或处理后的图像)。在一些示例中,第一机器学习系统可以至少部分地由图像处理器150、主机处理器152、ISP 154或它们的组合运行和/或与它们接合。在一些示例中,第二机器学习系统可以至少部分地由图像处理器150、主机处理器152、ISP 154或它们的组合运行和/或可以与它们接口。
图2是说明包括图像处理机器学习(ML)系统210的系统的示例的框图。图像处理ML系统210获得一个或多个输入图像和一个或多个空间调谐图201作为输入。示例输入图像202如图2所示。图像处理ML系统210可以处理任何类型的图像数据。例如,在一些示例中,提供给图像处理ML系统210的输入图像可以包括已经由图1的图像捕获设备105A的图像传感器130捕获和/或由ISP(例如,图1的ISP 154)和/或相机系统的任何后处理组件处理过的图像。图像处理ML系统210可以使用以下各项来实现:一个或多个卷积神经网络(CNN)、一个或多个CNN、一个或多个受训神经网络(NN)、一个或多个NN、一个或多个受训支持向量机(SVM)、一个或多个SVM、一个或多个受训的随机森林、一个或多个随机森林、一个或多个受训决策树、一个或多个决策树、一个或多个受训梯度提升算法、一个或多个梯度提升算法、一个或多个受训回归算法、一个或多个回归算法或它们的组合。图像处理ML系统210和/或上面列出的任何机器学习元素可以使用监督学习(其可以是图像处理ML系统210的一部分)、无监督学习、强化学习、深度学习或它们的组合来训练。
在一些示例中,输入图像202可以包括图像数据的每个像素的多个色度分量和/或颜色分量(例如,红色(R)颜色分量或样本、绿色(G)颜色分量或样本、以及蓝色(B)颜色分量或样本)。在一些情况下,设备可以包括多个相机,并且图像处理ML系统210可以处理由多个相机中的一个或多个获得的图像。在一个说明性示例中,双摄像头移动电话、平板电脑或其他设备可用于以更宽的角度(例如,以更宽的视野(FOV))捕获更大的图像,捕获更多的光量(导致更锐利、更清晰等优点),生成360度(例如,虚拟现实)视频,和/或执行其他增强的功能(与单摄像头设备所实现的相比)。
在一些示例中,图像处理ML系统210可以处理由一个或多个图像传感器提供的原始图像数据。例如,提供给图像处理ML系统210的输入图像可以包括由图像传感器(例如,图1的图像传感器130)生成的原始图像数据。在某些情况下,图像传感器可以包括可以捕获原始图像数据帧的光电二极管阵列。每个光电二极管可以代表一个像素位置,并且可以为该像素位置生成一个像素值。来自光电二极管的原始图像数据可能包括帧中每个像素位置的单一颜色或灰度值。例如,滤色器阵列可以与图像传感器集成,或者可以与图像传感器结合使用(例如,放置在光电二极管上)以将单色信息转换为颜色值。滤色器阵列的一个说明性示例包括拜耳图案滤色器阵列(或拜耳滤色器阵列),以允许图像传感器捕获具有拜耳图案的像素帧,其在每个像素位置处具有红色、绿色或蓝色滤色器之一。在一些情况下,设备可以包括多个图像传感器,在这种情况下,图像处理ML系统210可以处理由多个图像传感器获得的原始图像数据。例如,具有多个相机的设备可以使用多个相机捕获图像数据,并且图像处理ML系统210可以处理来自多个相机的原始图像数据。
可以将各种类型的空间调谐图作为输入提供给图像处理ML系统210。每种类型的空间调谐图可以与相应的图像处理功能相关联。空间调谐图可以包括例如噪声调谐图、锐度调谐图、色调调谐图、饱和度调谐图、色相调谐图、它们的任何组合、和/或用于其他图像处理功能的其他调谐图。例如,噪声调谐图可以包括对应于强度的值,在该强度下,噪声增强(例如,降噪、噪声添加)将被应用于映射到输入图像的不同部分的位置(例如,坐标)的输入图像的不同部分(例如,不同像素)。锐度调谐图可以包括对应于强度的值,在该强度下,锐度增强(例如,锐化)将被应用到映射到输入图像的不同部分的位置(例如,坐标)的输入图像的不同部分(例如,不同像素)。色调调谐图可以包括对应于强度的值,在该强度下,色调增强(例如,色调映射)将被应用于映射到输入图像的不同部分的位置(例如,坐标)的输入图像的不同部分(例如,不同像素)。饱和度调谐图可以包括对应于强度的值,在该强度下,饱和度增强(例如,增加饱和度或降低饱和度)将被应用于映射到输入图像的不同部分对位置(例如,坐标)的输入图像的不同部分(例如,不同像素)。色相调谐图可以包括对应于强度的值,在该强度下,色相增强(例如,色相偏移)将被应用于映射到输入图像的不同部分的位置(例如,坐标)的输入图像的不同部分(例如,不同像素)。
在一些示例中,调谐图中的值的范围可以从值0到值1。该范围可以是包含两端的,并且因此包括0和/或1作为可能的值。该范围可以是不包含两端的,并且因此不包括0和/或1作为可能的值。例如,调谐图中的每个位置可以包括介于0和1之间的任何值。在一些示例中,一个或多个调谐图可以包括除0和1之间的值之外的值。下面更详细地描述各种调谐图。输入饱和度图203在图2中示出为空间调谐图的示例。
尽管本文中的所有图均以黑白方式示出,但输入图像202表示彩色图像,其描绘了前景中的粉红色和红色花朵,绿叶作为背景的一部分,而白墙作为背景的另一部分。输入饱和度图203包括对应于输入图像202中的像素区域的值0.5,该像素区域描绘了前景中的粉红色和红色花朵。值为0.5的该区域在输入饱和度图203中以灰色示出。输入饱和度图203中的值0.5表示该区域中的饱和度将保持不变,没有增加或减少。输入饱和度图203包括对应于输入图像202中描绘背景(绿叶和白墙两者)的像素区域的值0.0。值为0.0的该区域在输入饱和度图203中以黑色示出。输入饱和度图203中的值0.0表示该区域中的饱和度将被完全去饱和。修改后的图像216表示前景中的花仍然饱和(仍然是粉红色和红色)到与输入图像202中相同的程度,但是背景(绿叶和白墙二者)完全去饱和并且因此以灰度描绘的图像。
每个调谐图(例如输入饱和度图203)可以具有与以下内容相同的大小和/或相同的分辨率:被提供作为对图像处理ML系统210的输入以被处理以生成修改后的图像(例如修改后的图像216)的一个或多个输入图像(例如输入图像202)的大小和/或分辨率。每个调谐图(例如输入饱和度图203)可以具有与基于调谐图生成的修改后的图像(例如修改后的图像216)的大小和/或分辨率相同的大小和/或相同的分辨率。在一些示例中,调谐图(例如输入饱和度图203)可以小于或大于输入图像(例如输入图像202),在这种情况下调谐图或输入图像(或两者)可以在生成修改后的图像216之前被缩小或放大和/或上采样。
在一些示例中,调谐图303可以被存储为图像,例如灰度图像。在调谐图303中,调谐图303的像素处的灰色阴影可以指示该像素的值。在说明性示例中,黑色可以编码0.0的值,中灰色或中等灰色可以编码0.5的值,并且白色可以编码1.0的值。其他灰度阴影可以编码上述那些之间的值。例如,浅灰色可以编码介于0.5和1.0之间的值(例如,0.6、0.7、0.8、0.9)。深灰色可以编码介于0.5和0.0之间的值(例如,0.1、0.2、0.3、0.4)。在一些示例中,可以使用相反的方案,其中白色编码值0.0,并且黑色编码值1.0。
图3A是示出根据一些示例的包括标记为P0到P63的多个像素的输入图像302的示例的概念图。输入图像宽7像素,并且高7像素。像素在每行内从左到右按从P0到P63的顺序编号,从顶行开始,并且朝着底行向上计数。
图3B是说明根据一些示例的空间调谐图303的示例的概念图。调谐图303包括标记为V0到V63的多个值。调谐图宽7像素,并且高7像素。像素在每行内从左到右从V0到V63顺序编号,从顶行开始,并且朝着底行向上计数。
调谐图303内的每个值对应于输入图像302中的一个像素。例如,调谐图303中的值V0对应于输入图像302中的像素P0。调谐图303中的值用于调整或修改其在输入图像302中的对应像素。在一些示例中,调谐图303中的每个值指示将图像处理功能应用于图像数据的对应像素的强度和/或方向。在一些示例中,调谐图303中的每个值指示要应用于对应像素的图像处理功能的量。例如,调谐图303中的V0的第一值(例如,值0、值1或其他值)可以指示调谐图的图像处理功能将以零强度应用(将根本不应用)于输入图像302中的对应像素P0。在另一示例中,调谐图303中的V15的第二值(例如,值0、值1或其他值)表示图像处理功能以最大强度(图像处理功能的最大量)被应用到输入图像302中的对应像素P15。不同类型的调谐图中的值可以表示相应图像处理功能的不同级别的适用性。在一个说明性示例中,调谐图303可以是饱和度图,饱和度图中的值0可以表示对应像素的完全去饱和,以导致像素被灰度化或变成单色(去饱和或负饱和度方向上的最大强度),饱和度图中的值0.5可以表示不会对对应像素应用饱和或去饱和效果(饱和强度为零),并且饱和度图中的值1可以表示最大饱和度(在饱和或正饱和度方向上的最大强度)。饱和度图中在0和1之间的值将指示上述级别之间的不同饱和度级别。例如,值0.2表示轻微的去饱和(去饱和或负饱和度方向上的低强度),而值0.8表示轻微的饱和增加(饱和或正饱和度方向上的低强度)。
图像处理ML系统210处理一个或多个输入图像和一个或多个空间调谐图201以生成修改后的图像215。示例修改后的图像216在图2中示出。修改后的图像216是输入图像202的修改版本。如上所述,饱和度图203对于饱和度图203中与描绘输入图像202的前景中所示的粉红色和红色花朵的像素相对应的区域包括值0.5。饱和度图203对于图像202的与不描绘图像202的前景中的花(而是描绘背景)的像素相对应的位置包括值0。饱和度图203中的0值表示与这些值相对应的像素将完全去饱和(去饱和或负饱和度方向上的最大强度)。结果,修改后的图像215中除了代表花的像素之外的所有像素都以灰度(黑色和白色)描绘。饱和度图203中的值0.5表示与这些值相对应的像素将没有饱和度变化(饱和强度为零)。
图像处理ML系统210可以包括一个或多个神经网络,该神经网络被训练以处理一个或多个输入图像和一个或多个空间调谐图201以生成修改后的图像215。在一个说明性示例中,监督学习技术可用于训练图像处理ML系统210。例如,反向传播训练过程可用于调整图像处理ML系统210的神经网络的节点的权重(以及在某些情况下其他参数,例如偏差)。反向传播包括前向传递、损失函数、反向传递和权重更新。前向传递、损失函数、反向传递和参数更新在一次训练迭代中执行。该过程对每组训练数据重复一定次数的迭代,直到神经网络参数的权重被准确调谐。本文提供了关于图像处理ML系统210的进一步细节。
如上所述,可以提供各种类型的空间调谐图以供图像处理ML系统210使用。空间调谐图的一个示例是指示要应用于输入图像的像素的去噪(降噪)量的噪声图。
图4是说明输入噪声图404的示例的概念图,该输入噪声图404被应用于调整输入图像402中的降噪强度以生成修改后的图像415。输入图像402的左下角的部分用括号标记为“平滑”几乎没有可见的噪声。输入图像402的剩余部分用括号标记为“嘈杂”并且包括可见噪声(具有颗粒状外观)。
图4中示出了噪声图键(noise map key)405。噪声图键405表示噪声图404中的值0表示将不应用去噪,并且值1表示将应用最大去噪。如图所示,输入噪声图404对于噪声图404的黑色区域包括值0,该黑色区域对应于输入图像402的左下区域中具有很少或没有噪声的像素的“平滑”区域(图像402的左下区域中的像素)。输入噪声图404对于噪声图404中剩余的浅灰色阴影区域包括值0.8,该浅灰色阴影区域对应于输入图像402中具有噪声的像素的“嘈杂”区域。图像处理ML系统210可以处理输入图像402和输入噪声图404以产生修改后的图像415。如图所示,基于由图像处理ML系统210针对输入图像402中与噪声图404中具有值0.8的位置相对应的像素执行的去噪,修改后的图像415不包括噪声。
空间调谐图的另一个示例是锐度图,其指示将应用于输入图像的像素的锐化量。例如,可以通过锐化图像的像素来聚焦模糊图像。
图5是示出根据一些示例的对示例图像应用锐度调整图像处理功能的不同强度的效果的示例的概念图。在一些示例中,锐度图中的值0表示将不对输入图像中的对应像素应用锐化以生成对应的输出图像,并且锐度图中的值1表示将对输入图像中的对应像素应用最大锐化以生成对应的输出图像。图像510是在锐度调谐图中的值设置为0时由图像处理ML系统210生成的,其中没有对图像510应用锐化(或应用强度为零的锐化)。图像511是在锐度图中的值被设置为0.4时由图像处理ML系统210生成的,在这种情况下,对图像511的像素应用适度的锐化量(以中等强度锐化)。图像512是在锐度图的值设置为1.0时生成的,其中最大锐化量(以最大强度锐化)应用于图像512的像素。
图像处理ML系统210可以基于输入图像和锐度图生成增强图像(enhanced image)(或锐化图像(sharpened image))。例如,图像处理ML系统210可以使用锐度图来锐化输入图像并产生锐化图像(也称为增强图像)。锐化(或增强)图像取决于图像细节以及阿尔法(α)参数。例如,以下等式可用于生成锐化(或增强)图像:增强图像=原始输入图像+α*细节(Enhanced Image=Original Input Image+α*Detail)。锐度图中的值可以使图像处理ML系统210修改阿尔法(α)和图像细节参数二者以获得锐化图像。作为生成锐化(或增强)图像的说明性示例,图像处理ML系统210可以对输入图像应用边缘保持滤波,例如通过应用边缘保持非线性滤波器。边缘保持非线性滤波器的示例包括双边滤波器。在某些情况下,双边滤波器有两个超参数,包括空间西格玛(sigma)和范围西格玛。空间西格玛控制滤波器窗口大小(其中较大的窗口大小会导致更平滑)。范围西格玛控制沿强度维度的滤波器大小(其中较大的值会导致不同强度模糊在一起)。在一些示例中,可以通过从输入图像中减去滤波后的图像(从边缘保持滤波得到的平滑图像)来获得图像细节。然后可以通过将图像细节的某个分数(由阿尔法(α)参数表示)添加到原始输入图像来获得锐化(或增强)图像。使用图像细节和阿尔法(α),可以获得锐化(增强)图像,如下所示:增强图像=原始输入图像+α*细节(Enhanced Image=Original Input Image+α*Detail)。
图6是图示根据一些示例的被应用以调整输入图像602中的锐化强度以生成修改后的图像615的输入锐度图604的示例的概念图。可以看出,输入图像602具有模糊的外观。锐度图键605指定噪声图604中的值0表示将不对输入图像602的对应像素应用锐化(将以零强度应用锐化),并且值1表示将对对应像素应用最大锐化(将以最大强度应用锐化)。如图所示,输入锐度图604对于在锐度图604的左下部分黑色阴影区域包括值0。输入锐度图604对于在锐度图604左下部分的剩余区域(浅灰色阴影)包括值0.9。图像处理ML系统210可以处理输入图像602和输入锐度图604以产生修改后的图像615。如图所示,修改后的图像615的与锐度图604中具有值0的位置相对应的像素是模糊的(因为以强度零应用了锐化),而修改后的图像615的与锐度图604中具有值0.9的位置相对应的像素由于在该区域中由图像处理ML系统210以高强度执行锐化而锐化(不模糊)。
色调图是空间调谐图的另一个示例。色调图表示将应用于输入图像的像素的亮度调整量,从而导致图像具有更暗或更亮的色调。伽玛(Gamma)值控制像素的亮度量,这称为伽玛校正。例如,伽玛校正可以定义为表示为的变换,其中Iin是输入值(例如,一个像素或整个图像),γ是伽玛值,并且Iout是输出值(例如,一个像素或整个输出图像)。伽玛变换函数可以以不同方式应用于不同类型的图像。例如,对于红-绿-蓝(RGB)颜色空间,可以将相同的伽玛变换应用于图像的R、G和B通道。在另一个示例中,对于YUV颜色空间(具有一个亮度分量(Y)和两个色度分量U(蓝色投影)和V(红色投影)),伽玛变换函数可以仅应用于图像的亮度(Y)通道(例如,仅应用于图像像素的Y分量或样本)。
图7是示出根据一些示例的伽玛曲线715的示例和转换为应用于示例图像的不同强度的色调调整的色调图中的不同值的效果的各种示例的概念图。在一些示例中,伽玛(γ)范围为10-0.4到100.4,其对应于0.4到2.5的值。伽玛指数-0.4到0.4可以映射到从0到1的范围以计算色调调谐图。例如,色调图中的值0表示将对输入图像中的对应像素应用伽玛(γ)值0.4(对应于10-0.4),在色调图中的值0.5表示将对输入图像中的对应像素应用伽玛(γ)值1.0(对应于100.0),并且色调图中的值1表示对输入图像中的对应像素应用伽玛(γ)值2.5(对应于100.4)。输出图像710、输出图像711和输出图像712都是通过对同一输入图像应用不同强度的色调调整来生成的。当应用0.4的伽玛值时,图像710由图像处理ML系统210生成,导致亮度增加,并且因此图像比输入图像更亮。当应用1.0的伽玛值时生成图像711,导致没有亮度变化。因此,输出图像711在色调上与输入图像相同。当应用2.5的伽玛值时生成图像712,导致比输入图像亮度降低且更暗的图像。
图8是示出根据一些示例的应用于输入图像802中的色调调整强度以生成修改后的图像815的输入色调图804的示例的概念图。色调图键805指定色调图804中的值0表示将对输入图像802的对应像素应用伽玛(γ)值0.4(强度为0.4的色调调整),色调图804中的值0.5表示将对输入图像802中的对应像素应用伽玛(γ)值1.0(强度为1.0的色调调整,其表示色调没有变化),并且色调图804中的值1表示将对输入图像802中的对应像素应用伽玛(γ)值2.5(最大强度2.5的色调调整)。输入色调图804对于色调图804左半部分中的一组位置(深灰色阴影区域)包括值0.12。0.12的值对应于0.497的近似伽玛(γ)值。例如,指数可以确定为指数=((0.12-0.5)*0.4)/0.5=-0.304,而伽玛(γ)值可以确定为γ=10指数=10(-0.304)=0.497。色调图804对于色调图804的右半部分中剩余的一组位置(中等灰色阴影的区域)包括值0.5。0.5的值对应于1.0的伽玛(γ)值。
图像处理ML系统210可以处理输入图像802和输入色调图804以生成修改后的图像815。如图所示,由于在基于0.12的色调图值的伽玛变换中使用了0.497的伽玛(γ)值,修改后的图像815的左半部中的像素具有较浅的色调(相对于输入图像802的左半部中的对应像素和/或相对于修改后的图像815的右半部中的像素)。由于在基于色调图值0.5的伽玛变换中使用了1.0的伽玛(γ)值,修改后的图像815的右半部中的像素具有与输入图像802的右半部中的对应像素相同的色调(和/或相对于修改后的图像815的左半部中的像素而言更暗的色调)。
饱和度图是空间调谐图的另一个示例。饱和度图指示将应用于输入图像的像素的饱和量,从而产生具有修改颜色值的图像。对于饱和度图,饱和度是指RGB像素(或使用其他颜色空间(例如YUV)定义的像素)与对应灰度图像之间的差异(例如,如下面的等式1-3所示)。在某些情况下,这种饱和度可以称为“饱和度差”。例如,增加图像的饱和度可能导致图像中的颜色变得更强烈,而降低饱和度会导致颜色变淡。如果饱和度降低得足够多,图像可能会变得去饱和,并可能导致灰度图像。如下所述,在某些情况下可以执行阿尔法混合技术,其中阿尔法(α)值缺定颜色的饱和度。
可以使用不同的技术来应用饱和度调整。在YUV颜色空间中,可以调整图像像素的U色度分量(蓝色投影)和V色度分量(红色投影)的值,以为图像设置不同的饱和度水平。
图9是说明YUV颜色空间中的饱和度水平的概念图915,其中x轴代表U色度分量(蓝色投影)并且y轴代表V色度分量(红色投影)。亮度(Y)在图9的图中恒定为值128。去饱和在图表的中心表示,其值为U=128,V=128,其中图像是灰度(去饱和)图像。随着距离越来越远(更高或更低的U值和/或V值),饱和度变得更高。例如,离中心越大的距离对应于越高的饱和度。
在另一个示例中,可以使用阿尔法混合技术来调整饱和度。亮度(Y)与R、G、B通道之间的映射可以使用以下等式表示:
R’=α*R+(1-α)*Y 等式(1)
G’=α*G+(1-α)*Y 等式(2)
B’=α*B+(1-α)*Y 等式(3)
图10是图示根据一些示例的每个使用不同的阿尔法(α)值处理以调整色彩饱和度的示例图像的经处理的变体的概念图。对于小于1的α值(α<1),图像将变得更不饱和。例如,当α=0时,所有R'、G'和B'值都等于亮度(Y)值(α=0:R'=G'=B'=Y),导致灰度(去饱和)。输出图像1020、输出图像1021和输出图像1022都是通过对同一输入图像应用不同强度的饱和度调整来生成的。输入图像示出了三个彼此相邻的女性的面部。因为图10以灰度而不是彩色示出,因此输出图像1020、输出图像1021和输出图像1022的红色通道在图10中示出来说明红色饱和度的变化。红色饱和度的增加表现为较亮的区域,而红色饱和度的降低表现为较暗的区域。当α=1时,对饱和度没有影响。例如,当α=1时,等式(1)-(3)导致R'=R、G'=G和B'=B。图10中的输出图1021中是基于将阿尔法(α)值设置为1.0的值而没有饱和效果的图像的示例。因此,输出图像1021在色彩饱和度方面与输入图像相同。图10中的输出图像1020是由0.0的阿尔法(α)值产生的灰度(去饱和)图像的示例。因为图10显示了输出图像1020的红色通道,因此输出图像1020中较暗的面部(与输出图像1021相比,因此与输入图像相比)表示面部中的红色更不饱和。对于大于1的α值(α>1),图像将变得更加饱和。R、G和B值可以在最高强度下进行裁剪。图10中的输出图像1022是由2.0的阿尔法(α)值产生的高度饱和图像的示例。因为图10显示了输出图像1020的红色通道,因此输出图像1022中较亮的面部(与输出图像1021相比,因此与输入图像相比)表示面部中的红色更加饱和。
图11是图示输入图像1102和输入饱和度图1104的示例的概念图。饱和度图键1105指定饱和度图1104中的值0表示去饱和,值0.5表示没有饱和效果,并且值1表示饱和。输入饱和度图1104对于饱和度图1104的左下部分中的一组位置包括0.5值,以指示将不会对输入图像1102的对应像素应用饱和效果。饱和度图1104对于饱和度图1104的左下部分外部的一组位置包括值0.1。0.1的值将导致像素具有降低的饱和度(几乎被去饱和)。
图像处理ML系统210可以处理输入图像1102和输入饱和度图1104以生成修改后的图像1115。如图所示,由于没有基于饱和度图值0.5对那些像素应用饱和效果,因此修改后的图像1115的左下部分中的像素与输入图像1102中的对应像素相同。由于基于饱和度图值0.1应用于那些像素的饱和度降低,因此修改后的图像1115的其余部分中的像素具有更深的绿色外观(几乎是灰度的)。
空间调谐图的另一个示例是色相图。色相是图像中的颜色,并且饱和度(在HSV颜色空间中)是该颜色的强度(或丰富度)。色相图指示将应用于输入图像像素的颜色变化量。可以使用不同的技术应用色相调整。例如,色相、饱和度、值(HSV)颜色空间是RGB颜色空间的一种表示。HSV表示使用饱和度维度和色相维度来对不同颜色如何混合在一起进行建模。
图12A是说明HSV颜色空间的概念图1215,其中在y轴上表示饱和度,在x轴上表示色相,并且值具有255的值。色相(颜色)可以被修改,如x轴上所示。如图所示,色相是环绕的(wrapped around),在这种情况下,0和180的色相代表相同的红色(根据OpenCV约定,色相:0=色相:180)。由于这些图以黑白显示,因此颜色以文本形式写在它们将出现在HSV颜色空间中的位置处。
注意,HSV空间中的饱和度不等同于由上述饱和度图定义的饱和度。例如,当提到HSV颜色空间中的饱和度时,饱和度是指标准HSV颜色空间定义,其中饱和度是特定颜色的丰富度。但是,取决于HSV的值,饱和度值0可以使像素表现为黑色(值=0)、灰色(值=128)或白色(值=255)。在某些情况下,这种饱和度可以称为“HSV饱和度”。由于色彩饱和度和颜色值在HSV空间中是耦合的,所以这里不使用这种饱和度定义(HSV饱和度)。相反,如本文所使用的,饱和度是指像素的多么彩色或多么灰,这可以通过上述的阿尔法(α)值来捕获。
图12B是说明YUV颜色空间的概念图1216。相对于中心点1219(U=128,V=128)示出了原始UV向量1217。可以通过调整角度(θ)来修改原始UV向量1217,从而产生由色相修改向量1218指示的修改后的色相(颜色)。色相修改向量1218相对于中心点1219示出。在YUV颜色空间中,可以相对于中心点1219修改UV向量方向(U=128,V=128,如图9所示)。UV向量修改说明了色相调整可以如何起作用的示例,其中色相调整的强度对应于角度(θ),并且色相调整的方向对应于角度(θ)是负的还是正的。
图13是示出根据一些示例的应用于输入图像1302中的色相调整强度以生成修改后的图像1315的输入色相图1304的示例的概念图。色相图键1305指定色相图1304中的值0.5表示没有效果(色相或颜色没有变化)(强度为零的色相调整)。0.5以外的任何值都表示相对于当前颜色的色相变化(使用非零强度进行色相调整)。例如,参考图12A作为说明性示例,如果当前颜色是绿色(即,色相=60),则可以添加60的色相值以将颜色转换为蓝色(即,色相=60+60=120)。在另一个示例中,可以从现有的色相值60中减去色相值60,以将绿色转换为红色(即色相=60-60=0)。输入色相图1304对于在色相图1304的左上部分中的一组位置(中等灰色阴影区域)包括值0.5,表明没有色相变化(具有零强度的色调调整)将被应用于输入图像1302的对应像素。色相图1304对于在色相图1304的左上部分外部的一组位置(深灰色阴影区域)包括值0.4。值0.4将导致输入图像1302中的像素从现有色相改变为修改的色相。因为0.4的值比0.0更接近0.5,所以与输入图像1302相比色相的变化轻微。由输入色相图1304指示的色相变化是相对于输入图像1302中每个像素的色相的变化。每个像素的映射可以使用图12A所示的颜色空间来确定。与这里描述的其他调谐图一样,色相图值的范围可以从0到1,其在应用色相图期间重新映射到实际的0-180值范围。
输入图像1302显示了黄色墙壁的一部分,其具有紫色文本“Griffith-”。图像处理ML系统210可以处理输入图像1302和输入色相图1304以生成修改后的图像1315。如图所示,修改后的图像1315的左上部分中的像素与输入图像1302中的对应像素具有相同的色相(这是由于基于该区域中的色调图值0.5而没有色调变化(强度为零的色调调整)应用于那些像素)。因此,修改后的图像1315的左上部分中的像素再现了输入图像1302中黄色墙壁的黄色色相。修改后的图像1315的其余部分中的像素与输入图像1302中的像素相比具有改变的色相(这是由于基于色相图值0.4对那些像素应用了色调变化)。特别地,在修改后的图像1315的其余部分中,在输入图像1302中表现为黄色的墙壁区域在修改后的图像1315中表现为橙色。在修改后的图像1315的其余部分中,在输入图像1302中表现为紫色的文本“Griffith-”在修改后的图像1315中表现为不同的紫色阴影。
在一些示例中,可以将多个调谐图连同输入图像1402一起输入到图像处理ML系统210。在一些示例中,多个调谐图可以包括与不同图像处理功能相对应的不同调谐图,图像处理功能例如去噪、噪声添加、锐化、去锐化(例如,模糊)、色调调整、饱和度调整、细节调整、色相调整或它们的组合。在一些示例中,多个调谐图可以包括对应于相同图像处理功能的不同调谐图,但是可以例如以不同方式修改输入图像1402内的不同区域/位置。
图14A是说明包括接收输入图像1402和多个空间变化调谐图1404的图像处理系统1406的系统的示例的概念图。在一些示例中,图像处理系统1406可以是图像处理ML系统210和/或可以包括机器学习(ML)系统,例如图像处理ML系统210的系统。ML系统可以使用ML应用图像处理功能。在一些示例中,图像处理系统1406可以在没有ML系统的情况下应用图像处理功能。图像处理系统1406可以使用一个或多个受训支持向量机、一个或多个受训神经网络或它们的组合来实现。
空间变化调谐图1404可以包括噪声图、锐度图、色调图、饱和度图、色相图和/或与图像处理功能相关联的另一其他图中的一个或多个。使用输入图像1402和多个调谐图1404作为输入,图像处理系统1406生成修改后的图像1415。图像处理系统1406可以基于被包括在空间变化调谐图1404中的值来修改输入图像1402的像素,产生修改后的图像1415。例如,图像处理系统1406可以通过以由被包括在与该图像处理功能相对应的空间变化调谐图1404中的一个中的值所指示的强度将图像处理功能应用到输入图像1402的每个像素来修改输入图像1402的像素,并且可以针对每个图像处理功能和空间变化调谐图1404中的对应的一个这样做,从而产生修改后的图像1415。空间变化调谐图1404可以使用ML系统生成,如至少关于图14B、图14C、图14D、图16B、图17、图18、图19、图20、图21A、图21B、图21C和图21D进一步讨论的那样。
图14B是说明根据一些示例的系统的示例的概念图,该系统包括接收输入图像1402和多个空间变化调谐图1404的图像处理系统1406,以及接收输入图像1402并且生成多个空间变化调谐图1404的自动调整机器学习(ML)系统1405。自动调整ML系统1405可以处理输入图像1402以生成空间变化调谐图1404。调谐图1404和输入图像1402可以作为输入提供给图像处理系统1406。图像处理系统1406可以基于调谐图1404处理输入图像1402以生成修改后的图像1415,类似于上面关于图14A描述的那样。可以使用一个或多个卷积神经网络(CNN)、一个或多个CNN、一个或多个受训神经网络(NN)、一个或多个NN、一个或多个受训支持向量机(SVM)、一个或多个SVM、一个或多个受训随机森林、一个或多个随机森林、一个或多个受训决策树、一个或多个决策树、一个或多个受训梯度提升算法、一个或多个梯度提升算法、一个或多个受训回归算法、一个或多个回归算法或它们的组合来实现自动调整ML系统1405。自动调整ML系统1405和/或上面列出的任何机器学习元素(其可以是自动调整ML系统1405的一部分)可以使用监督学习、无监督学习、强化学习、深度学习或它们的组合来训练。
图14C是示出根据一些示例的系统的示例的概念图,该系统包括接收输入图像1402并生成多个空间变化调谐图1404的自动调整机器学习(ML)系统1405。在图14C所示的示例中,空间变化调谐图1404包括噪声图、色调图、饱和度图、色相图和锐度图。图像处理系统1406(虽然未在图14C中示出)因此可以以噪声图中指示的强度应用降噪,可以以色调图中指示的强度和/或方向应用色调调整,可以以饱和度图中指示的强度和/或方向应用饱和度调整,可以以色相图中指示的强度和/或方向应用色相调整,和/或可以以锐度图中指示的强度应用锐化。
图14D是说明根据一些示例的系统的示例的概念图,该系统包括接收输入图像1402和多个空间变化调谐图1404的图像处理系统1406,以及接收输入图像1422的缩小变体并生成被放大成多个空间变化调谐图1404的小的空间变化调谐图1424的自动调整机器学习(ML)系统1405。图14D的系统类似于图14B的系统,但包括下采样器1418和上采样器1426。下采样器1418对输入图像1402进行下采样、缩小或收缩以生成下采样输入图像1422。不是如图14B中那样接收输入图像1402作为输入,自动调整机器学习(ML)系统1405接收下采样的输入图像1422作为图14D中的输入。自动调整机器学习(ML)系统1405生成小的空间变化调谐图1424,每个调谐图可以共享与下采样的输入图像1422相同的大小和/或维度。上采样器1426可以上采样、放大和/或扩大小的空间变化调谐图1424以生成空间变化调谐图1404。在一些示例中,上采样器1426可以执行双线性上采样。空间变化调谐图1404继而可以由图像处理系统1406作为输入与输入图像1402一起被接收。
因为与输入图像1402相比,下采样的输入图像1422具有更小的尺寸和/或分辨率,所以相比于自动调整机器学习(ML)系统1405直接从输入图像1402生成空间变化调谐图1404,如图14B所示,自动调整机器学习(ML)系统1405可能更快、更高效地(在计算资源、带宽和/或电池电量方面)从下采样的输入图像1422生成小的空间变化调谐图1424,连同由下采样器1418执行的下采样和/或由上采样器1426执行的上采样,如图14D所示。
如上所述,图像处理系统1406、图像处理ML系统210和/或自动调整机器学习(ML)系统1405可以包括可以使用监督学习技术训练的一个或多个神经网络。
图15是示出根据一些示例的可由图像处理系统1406和/或自动调整机器学习(ML)系统1405使用的神经网络1500的示例的框图1600A。神经网络1500可以包括任何类型的深度网络,例如卷积神经网络(CNN)、自动编码器、深度信念网络(DBN)、循环神经网络(RNN)、生成对抗网络(GAN)和/或其他类型的神经网络。
神经网络1500的输入层1510包括输入数据。输入层1510的输入数据可以包括表示输入图像帧的像素的数据。在说明性示例中,输入层1510的输入数据可以包括表示图14A-14D的输入图像1402和/或下采样的输入图像1422的像素的数据(例如,对于自动调整ML系统1405和/或图像处理系统1406的NN 1500)。在说明性示例中,输入层1510的输入数据可以包括表示图14A-14D的空间变化调谐图1404的像素的数据(例如,对于自动调整ML系统1405的NN 1500)。图像可以包括来自图像传感器的图像数据,其包括原始像素数据(包括基于例如拜耳滤波器的每像素单一颜色)或处理后的像素值(例如RGB图像的RGB像素)。神经网络1500包括多个隐藏层1512a、1512b到1512n。隐藏层1512a、1512b到1512n包括数量为“n”的隐藏层,其中“n”是大于或等于1的整数。隐藏层的数量可以设定为包含对于给定应用所需的尽可能多的层。神经网络1500还包括输出层1514,其提供由隐藏层1512a、1512b到1512n执行的处理所产生的输出。在说明性示例中,输出层1514可以提供修改后的图像,例如图2的修改后的图像215或图14A-14D的修改后的图像1415(例如,对于图像处理系统1406和/或图像处理ML系统210的NN 1500)。在说明性示例中,输出层1514可以提供图14A-14D的空间变化调谐图1404和/或图14D的小的空间变化调谐图1424(例如,对于自动调整ML系统1405的NN 1500)。
神经网络1500是互连滤波器的多层神经网络。可以训练每个滤波器来学习代表输入数据的特征。与滤波器相关联的信息在不同层之间共享,并且每个层在处理信息时保留信息。在一些情况下,神经网络1500可以包括前馈网络,在这种情况下,没有反馈连接,其中网络的输出被反馈回其自身。在一些情况下,网络1500可以包括循环神经网络,其可以具有允许在读入输入的同时跨节点携带信息的循环。
在某些情况下,可以通过各个层之间的节点到节点互连在层之间交换信息。在某些情况下,网络可以包括卷积神经网络,它可能不会将一层中的每个节点都链接到下一层中的每个其他节点。在层之间交换信息的网络中,输入层1510的节点可以激活第一隐藏层1512a中的一组节点。例如,如图所示,输入层1510的每个输入节点可以连接到第一隐藏层1512a的每个节点。隐藏层的节点可以通过将激活函数(例如滤波器)应用于这些信息来变换每个输入节点的信息。从变换中导出的信息然后可以被传递到并且可以激活下一个隐藏层1512b的节点,它可以执行它们自己的指定功能。示例函数包括卷积函数、缩小、放大、数据变换和/或任何其他合适的函数。然后隐藏层1512b的输出可以激活下一个隐藏层的节点,以此类推。最后一个隐藏层1512n的输出可以激活输出层1514的一个或多个节点,其提供处理后的输出图像。在一些情况下,虽然神经网络1500中的节点(例如,节点1516)被显示为具有多个输出线,但节点具有单个输出并且显示为从节点输出的所有线表示相同的输出值。
在一些情况下,每个节点或在节点之间的互连可以具有权重,该权重是从神经网络1500的训练中导出的一组参数。例如,节点之间的互连可以表示关于互连节点学习到的一条信息。互连可以具有可以(例如,基于训练数据集)被调谐的可调数字权重,以允许神经网络1500适应输入并且能够随着越来越多的数据被处理而学习。
神经网络1500被预训练以使用不同的隐藏层1512a、1512b到1512n处理来自输入层1510中的数据的特征,以便通过输出层1514提供输出。
图16A是示出根据一些示例的图像处理系统1406(例如,图像处理ML系统210)的训练示例的框图1600B。参考图16A,由图像处理系统1406(例如,图像处理ML系统210)实施的神经网络(例如,神经网络1500)可以被预训练以处理输入图像和调谐图。如图16A所示,训练数据包括输入图像1606和输入调谐图1607。输入图像1402可以是输入图像1606的示例。空间变化的调谐图可以是输入调谐图1607的示例。输入图像1606和输入调谐图1607可以输入到图像处理ML系统210的神经网络(例如神经网络1500)中,并且神经网络可以生成输出图像1608。修改后的图像1415可以是输出图像1608的示例。例如,单个输入图像和多个调谐图(例如,上述噪声图、锐度图、色调图、饱和度图和/或色相图中的一个或多个,和/或另一个与图像处理功能相关联的图)可以输入到神经网络,并且神经网络可以输出输出图像。在另一个示例中,可以将一批输入图像和多个对应的调谐图输入到神经网络,然后神经网络可以生成多个输出图像。
还可以提供一组参考输出图像1609,以用于与图像处理系统1406(例如,图像处理ML系统210)的输出图像1608进行比较以确定损失(如下所述)。可以为输入图像1606的每个输入图像提供参考输出图像。例如,来自参考输出图像1609的输出图像可以包括最终输出图像,所述最终输出图像先前已经由相机系统生成并且具有基于来自输入调谐图1607的多个调谐图对于对应的输入图像所期望的特性。
可以基于由反向传播引擎1612对输出图像1608和参考输出图像1609的比较来调谐神经网络的参数。参数可以包括神经网络的权重、偏差和/或其他参数。在某些情况下,神经网络(例如,神经网络1500)可以使用称为反向传播的训练过程来调整节点的权重。反向传播可以包括前向传递、损失函数、反向传递和权重更新。前向传递、损失函数、反向传递和参数更新在一次训练迭代中执行。对于每组训练图像,该过程可以重复一定次数的迭代,直到神经网络训练得足够好,以便准确调谐层的权重。一旦神经网络被适当地训练,图像处理系统1406(例如,图像处理ML系统210)就可以处理任何输入图像和任意数量的调谐图以基于调谐图生成输入图像的修改版本。
前向传递可以包括将输入图像(或一批输入图像)和多个调谐图(例如,上面讨论的噪声图、锐度图、色调图、饱和度图和/或色相图中的一个或多个)传递通过神经网络。隐藏层的各种滤波器的权重可以在训练神经网络之前进行初始随机化。输入图像可以包括表示图像的图像像素的多维数字阵列。在一个示例中,该阵列可以包括具有128行和128列像素位置和每个像素位置11个输入值的128x128x11数字阵列。
对于神经网络的第一次训练迭代,由于在初始化时随机选择权重,因此输出可以包括不优先考虑任何特定特征或节点的值。例如,如果输出是每个像素位置具有许多颜色分量的阵列,则输出图像可能描绘了输入的不准确颜色表示。使用初始权重,神经网络无法确定低级特征,因此无法准确确定颜色值可能是什么。损失函数可用于分析输出中的误差。可以使用任何合适的损失函数定义。损失函数的一个示例包括均方误差(MSE)。MSE定义为其计算平方差的均值或平均值(实际答案减去预测(输出)的答案,平方)。项n是总和中的值的数量。损失可以设置为等于Etotal的值。
对于第一训练数据(图像数据和对应的调谐图),损失(或误差)将很高,因为实际值将与预测输出大不相同。训练的目标是最小化损失量,使得预测输出与训练标签相同。神经网络可以通过确定哪些输入(权重)对网络损失的贡献最大来执行反向传递,并且可以调整权重以使损失减少并最终最小化。在某些情况下,可以计算损失相对于权重的导数(表示为dL/dW,其中W是特定层处的权重)(或其他合适的函数)以确定对网络损失贡献最大的权重。在计算出导数之后,可以通过更新滤波器的所有权重来执行权重更新。例如,可以更新权重,以便它们在梯度的相反方向上变化。权重更新可以表示为其中w表示权重,wi表示初始权重,并且η表示学习率。学习率可以设置为任何合适的值,其中高学习率包括较大的权重更新,而较低的值表示较小的权重更新。
图16B是示出根据一些示例的自动调整机器学习(ML)系统1405的训练示例的框图。参考图16B,由自动调整机器学习(ML)系统1405实现的神经网络(例如,神经网络1500)可以被预训练以处理输入图像1606和/或下采样的输入图像1616。如图16B所示,训练数据包括输入图像1606和/或下采样的输入图像1616。输入图像1402可以是输入图像1606的示例。下采样的输入图像1422可以是下采样的输入图像1616的示例。输入图像1606和/或下采样的输入图像1616可以输入到自动调整机器学习(ML)系统1405的神经网络(例如,神经网络1500)中,并且神经网络可以生成输出调谐图1618。空间变化调谐图1404可以是输出调谐图1618的示例。小的空间变化调谐图1424可以是输出调谐图1618的示例。例如,输入图像1606可以输入到神经网络,并且神经网络可以输出一个或多个输出调谐图1618(例如,上述噪声图、锐度图、色调图、饱和度图和/或色相图中的一个或多个,和/或与图像处理功能相关联的另一其他图)。例如,下采样的输入图像1616可以输入到神经网络,并且神经网络可以输出一个或多个(小)输出调谐图1618(例如,上述噪声图、锐度图、色调图、饱和度图和/或色相图中的一个或多个的小变体,和/或与图像处理功能相关联的另一个其他图)。在另一个示例中,一批输入图像1606和/或下采样的输入图像1616可以输入到神经网络,然后神经网络可以生成多个输出调谐图1618。
参考图16B,由自动调整机器学习(ML)系统1405实现的神经网络(例如,神经网络1500)可以包括类似于图16A的反向传播引擎1612的反向传播引擎1622。图16B的反向传播引擎1622可以以类似于图16A的反向传播引擎1612接收并使用参考输出图像1609的方式接收和使用参考输出调谐图1619。
如上所述,在一些实施方式中,可以使用与图像处理ML系统210分离的机器学习系统来自动生成调谐图。
图17是说明根据一些示例的包括图像处理ML系统和自动调整机器学习(ML)系统1705的系统的示例的框图,该自动调整机器学习(ML)系统1705通过生成仿射系数(a,b)从亮度通道数据(Iy)生成空间变化的调谐图欧米伽(Ω),仿射系数根据局部线性度约束1720修改亮度通道数据(Iy)。自动调整机器学习(ML)系统1705可以使用一个或多个受训支持向量机、一个或多个受训神经网络或它们的组合来实现。自动调整机器学习(ML)系统1705可以接收输入图像数据(例如输入图像1402),如图17所示为IRGB。来自输入图像数据IRGB的亮度通道数据被称为Iy。在一些示例中,亮度通道数据Iy实际上是输入图像数据IRGB的灰度版本。自动调整ML系统1705接收输入图像数据IRGB作为输入,并输出一个或多个仿射系数,这里表示为a和b。一个或多个仿射系数包括乘数a。一个或多个仿射系数包括偏移b。自动调整ML系统1705或另一成像系统可以通过根据等式Ω=a*Iy+b将仿射系数应用到亮度通道数据Iy来生成调谐图Ω。自动调整ML系统1705或另一成像系统可以根据等式实施局部线性度约束1720。使用局部线性度约束1720可以确保图中的一个或多个梯度与图像数据中的一个或多个梯度对齐,这可以减少图像处理功能的应用中的光晕效应。使用仿射系数和/或局部线性度约束1720来生成图可以产生与不使用仿射系数和/或局部线性度约束来生成图的系统相比更高质量的空间变化图像修改,例如由于图像数据与图之间的更好对齐,并减少了描绘对象的边界处的光晕效应。生成的每个调谐图可以包括其自己的一组一个或多个仿射系数(例如,a、b)。例如,在图14C的示例中,自动调整ML系统1405从一个输入图像1402生成五个不同的空间变化调谐图1404。因此,图14C的自动调整ML系统1405可以生成五组一个或多个仿射系数(例如,a、b),五个不同的空间变化调谐图1404中的每一个有一组。一个或多个仿射系数(例如,a和/或b)可以也是空间变化的。
自动调整ML系统1705可以使用一个或多个卷积神经网络(CNN)、一个或多个CNN、一个或多个受训神经网络(NN)、一个或多个NN、一个或多个受训支持向量机(SVM)、一个或多个SVM、一个或多个受训随机森林、一个或多个随机森林、一个或多个受训决策树、一个或多个决策树、一个或多个受训梯度提升算法、一个或多个梯度提升算法、一个或多个受训回归算法、一个或多个回归算法或它们的组合来实现。自动调整ML系统1705和/或上面列出的任何机器学习元素(其可以是自动调整ML系统1705的部分)可以使用监督学习、无监督学习、强化学习、深度学习或它们的组合来训练。
图18是说明自动调整ML系统1705的细节的框图。如图所示,自动调整ML系统1705包括用于逐贴片处理(例如,图像的图像贴片的处理)的局部神经网络1806和用于处理完整图像的全局神经网络1807。局部神经网络1806可以接收图像贴片1825(其是完整图像输入1826的一部分)作为输入并且可以处理图像贴片1825。全局神经网络1807可以接收完整图像输入1826作为输入并且可以处理完整图像输入1826。来自全局神经网络1807的输出可以提供给局部神经网络1806。在一些示例中,自动调整ML系统1705可以输出空间上变化的调谐图1804。在一些示例中,自动调整ML系统1705可以输出仿射系数1822(例如,图17中的a、b),自动调整ML系统1705可以将所述仿射系数应用于亮度(Y)通道1820以生成空间变化的调谐图1804。
在一些示例中,为了计算效率,可以向全局神经网络1807馈送一个或多个缩小尺寸的低分辨率图像(从全分辨率图像缩小、下采样和/或缩小尺寸),并且可以向局部神经网络1806馈送一个或多个全分辨率或高分辨率图像贴片,以获得对应的全分辨率空间变化调谐图。高分辨率图像贴片(例如,图像贴片1825)和低分辨率完整图像输入(例如,图像输入1826)可以基于相同的图像(如图18所示),但是高分辨率图像贴片1825是基于低分辨率完整图像输入1826的较高分辨率版本。例如,低分辨率完整图像输入1826可以是从其中提取高分辨率图像贴片1825的较高分辨率图像的缩小版本。局部NN 1806可称为高分辨率NN1806。全局NN 1807可称为低分辨率NN 1807。
亮度(Y)通道1820被示为来自图像贴片1825,但可以来自完整图像输入1826。亮度(Y)通道1820可以是高分辨率或低分辨率。亮度(Y)通道1820可以包括完整图像输入1826的亮度数据,以其原始高分辨率或缩小的低分辨率。亮度(Y)通道1820可以包括图像贴片1825的亮度数据,以其原始高分辨率或缩小的低分辨率。
图19是说明自动调整ML系统1705的局部神经网络1806的神经网络架构1900的示例的框图。局部神经网络1806可以被称为高分辨率局部神经网络1806或高分辨率神经网络1806。神经网络架构1900接收可以是高分辨率的图像贴片1825作为其输入。神经网络架构1900输出仿射系数1822(例如,如图17中的a和/或b),其可以是高分辨率的。仿射系数1822可用于生成调谐图1804,如图17、图18、图20、图21A和/或图21B所示。键1920标识图19中如何说明不同的NN操作。例如,具有3x3滤波器和步幅为1的卷积由以黑色勾勒并指向右侧的粗白色箭头表示。具有2x2滤波器和步幅为2的卷积由指向下方的粗黑色箭头表示。上采样(例如,双线性上采样)由指向上方的粗黑色箭头指示。
图20是说明自动调整ML系统1705的全局神经网络1807的神经网络架构2000的示例的框图。全局神经网络1807可以被称为低分辨率全局神经网络1807或低分辨率神经网络1807。神经网络架构2000接收完整图像输入1826作为其输入,其可以被下采样和/或可以是低分辨率的。神经网络架构2000输出可能是低分辨率的全局特征2010。键2020标识图20中如何说明不同的NN操作。例如,具有3x3滤波器和步幅为1的卷积由以黑色勾勒并指向右侧的粗白色箭头表示。具有2x2滤波器和步幅为2的卷积由指向下方的粗黑色箭头表示。平均池化由带有黑色斜条纹阴影并以黑色勾勒并指向下方的粗白色箭头表示。全连接层由指向右侧的细黑色箭头表示。
图21A是示出根据一些示例的自动调整ML系统1705的神经网络架构2100A的框图。低分辨率完整图像1826允许自动调整ML系统1705的全局NN 1807以生成图像的全局信息。低分辨率全局神经网络1807将处理整个图像并且将确定全局特征,合并所述全局特征在其从输入进行到输出时是重要的。通过使用分辨率降低的图像作为全局神经网络1807输入,与使用全分辨率图像的情况相比,针对全局信息的计算将相当轻。高分辨率贴片1825允许自动调整网络是局部一致的,因此图像的局部特征中没有不连续性。全局特征可以在一个或多个卷积操作之后被合并到层中(例如,经由具有加性偏差的通道注意),使得局部NN可以在也基于图像贴片1825生成仿射系数1822的同时并且/或在基于图像贴片1825生成调谐图1804的同时来将全局特征考虑进去。如图21A所示,仿射系数1822可以与Y通道1820组合以生成调谐图1804。
键2120A识别图21A中如何说明不同的NN操作。例如,具有3x3滤波器和步幅为1的卷积由以黑色勾勒并指向右侧的粗白色箭头表示。具有2x2滤波器和步幅为2的卷积由指向下方的粗黑色箭头表示。上采样(例如,双线性上采样)由指向上方的粗黑色箭头指示。具有加性偏差的通道注意由指向上方和/或左侧的细黑色箭头指示(例如,从由全局NN 1807确定的全局特征向上)。
图21B是示出根据一些示例的自动调整ML系统1705的神经网络架构2100B的另一个示例的框图。神经网络架构2100B的输入可以是输入图像2130。输入图像2130可以是高分辨率完整图像。输入图像2130可以是原始高分辨率或缩小的低分辨率的完整图像输入1826。输入图像2130可以是高分辨率或缩小的低分辨率的图像贴片1825。神经网络架构2100B可以处理输入图像2130以基于输入图像2130生成仿射系数1822。神经网络架构2100B可以处理输入图像2130以基于输入图像2130生成调谐图1804。仿射系数1822可以与Y通道1820组合以生成调谐图1804。空间注意引擎2110和通道注意引擎2115是神经网络架构2100B的一部分。空间注意引擎2110在图21C中更详细地示出。通道注意引擎2115在图21D中更详细地示出。
键2120B标识图21A、图21B和图21C中如何说明不同的NN操作。例如,具有3x3滤波器和步幅为1的卷积由以黑色勾勒并指向右侧的粗白色箭头表示。具有1x1滤波器和步幅为1的卷积由指向下方的细黑色箭头表示。具有2x2滤波器和步幅为2的卷积由指向下方的粗黑色箭头表示。上采样(例如,双线性上采样)由指向上方的粗黑色箭头指示。包括注意、上采样和乘法的操作由指向上方和/或侧面的细黑色箭头指示。带圆圈的“X”符号表示仿射系数1822应用于Y通道1820。双圈“X”符号表示展开后的逐元素乘法。从一侧延伸到另一侧的细黑色虚线箭头(在图21D中)表示共享参数。
在一些示例中,局部NN 1808可以直接生成调谐图1804,而不首先生成仿射系数1822。
图21C是示出根据一些示例的空间注意引擎2110的神经网络架构2100C的示例的框图。空间注意引擎2110包括最大池化、平均池化和级联。
图21D是示出根据一些示例的通道注意引擎2115的神经网络架构2100D的示例的框图。空间注意引擎2110包括最大池化、平均池化、共享参数和总和。
通过使用机器学习来生成仿射系数1822和/或调谐图1804,成像系统提供改进的定制和上下文敏感性。成像系统能够提供适用于输入图像内容的调谐图,而不会产生诸如光晕之类的视觉伪影。仿射系数1822和/或调谐图1804的基于机器学习的生成也可以比图像处理参数的传统手动调整更高效。还可以基于仿射系数1822和/或调谐图1804的基于机器学习的生成来加速成像创新。例如,使用机器学习生成仿射系数1822和/或调谐图1804可以允许更快速和更容易地适应与来自附加传感器、不同类型的镜头、不同类型的相机阵列的数据和其他变化相合作地工作。
可以使用监督学习技术来训练自动调整ML系统1705的神经网络,类似于上面关于图像处理ML系统210描述的那些技术。例如,可以使用反向传播来调谐自动调整ML系统1705的神经网络的参数。训练数据可以包括输入图像和已知输出图像,这些图像具有通过应用不同的调谐图所期望的特性。例如,基于输入图像和输出图像,神经网络将被训练以生成一组掩码(mark),当被应用于输入图像时这组掩码会给出对应的输出。使用饱和度和色调作为说明性示例,神经网络将尝试确定需要将多少饱和度和色调应用于输入图像的不同像素,以实现输出图像中像素的特性。在这样的示例中,神经网络可以基于训练生成饱和度图和色调图。
可以通过处理输入图像以产生调谐图1804来执行自动调整ML系统1705的推理过程(一旦已经训练了神经网络)。例如,可以通过全局神经网络1807从输入图像的低分辨率版本中提取全局特征。可以对低分辨率完整图像输入进行单次推理。然后可以使用局部神经网络1806执行基于贴片的推理,其中来自全局神经网络1807的全局特征在推理期间被馈送到局部网络1806中。然后对输入图像的贴片执行基于高分辨率贴片的推理以产生调谐图1804。
在一些示例中,当捕获图像或当处理先前捕获的图像时,可以使用上述图像处理ML系统210(以及在某些情况下自动调整ML系统1705)。例如,当捕获图像时,图像处理ML系统210可以基于使用调谐图来处理图像以生成具有最佳特性(例如,关于噪声、锐度、色调、饱和度、色相等)的输出图像。在另一个示例中,图像处理ML系统210可以取回和处理先前生成的被存储的图像,以基于使用调谐图生成具有最佳特性的增强的输出图像。
在一些示例中,可以在调谐ISP时使用上述图像处理ML系统210(以及在一些情况下自动调整ML系统1705)。例如,ISP的参数常规地由具有如何处理输入图像以获得所期望的输出图像的经验的专家手动调整。由于ISP模块(例如,滤波器)与大量可调参数之间的相关性,专家可能需要数周(例如,3-8周)来基于特定相机传感器和ISP的组合确定、测试和/或调整参数的设备设置。因为相机传感器或其他相机特征(例如,镜头特性或缺陷、光圈大小、快门速度和移动、闪光灯亮度和颜色,和/或其他特征)可能影响捕获的图像以及因此ISP的至少一些可调参数,因此相机传感器和ISP的每种组合可以由专家进行调整。
图22是说明预调谐图像信号处理器(ISP)2208的示例的框图。如图所示,图像传感器2202捕获原始图像数据。图像传感器2202的光电二极管捕获灰度(或单色)的变化的阴影。可以将滤色器应用于图像传感器以提供经过颜色滤波的原始输入数据2204(例如,具有拜耳图案)。ISP 2208具有分立的功能块,每个功能块对原始相机传感器数据应用特定操作以创建最终输出图像。例如,功能块可以包括专用于去马赛克、增益、白平衡、颜色校正、伽玛压缩(或伽玛校正)、色调映射、降噪(去噪)等的块。例如,ISP 2208的去马赛克功能块可以通过使用相邻像素对像素的颜色和亮度进行内插来帮助使用经颜色滤波的原始输入数据2204生成输出彩色图像2209。ISP 2208可以使用这种去马赛克过程来评估给定像素的颜色和亮度数据,并将这些值与来自相邻像素的数据进行比较。然后,ISP 2208可以使用去马赛克算法来为像素产生适当的颜色和亮度值。ISP 2208可以在提供最终输出彩色图像2209之前执行各种其他图像处理功能,例如降噪、锐化、色调映射和/或颜色空间之间的转换、自动对焦、伽玛、曝光、白平衡以及许多其他可能的图像处理功能。
ISP 2208的功能块需要被手动调谐以满足特定规范的许多调谐参数2206。在某些情况下,需要为给定的ISP调谐和控制超过10,000个参数。例如,为了根据特定规范优化输出彩色图像2209,必须通过调谐算法的调谐参数2206来优化每个功能块的算法。还必须不断添加新的功能块来处理空间中出现的不同情况。大量手动调谐的参数导致对ISP的支持要求非常耗时且昂贵。
在一些情况下,可以使用机器学习系统(称为机器学习ISP)来实现ISP从而以联合方式执行多个ISP功能。
图23是说明机器学习(ML)图像信号处理器(ISP)2300的示例的框图。机器学习ISP2300可以包括可以从图像传感器2302接收原始图像数据的输入接口2301。在一些情况下,图像传感器2302包括捕获原始图像数据的帧2304的光电二极管阵列。每个光电二极管可以代表一个像素位置,并且可以为该像素位置生成一个像素值。来自光电二极管的原始图像数据可以针对帧2304中每个像素位置包括单一颜色或灰度值。例如,滤色器阵列可以与图像传感器2302集成或可以与图像传感器2302结合使用(例如,覆盖光电二极管)以将单色信息转换为颜色值。
滤色器阵列的一个说明性示例包括拜耳图案滤色器阵列(或拜耳滤色器阵列),以允许图像传感器2302捕获具有拜耳图案的像素帧,其中红色、绿色或蓝色滤色器之一位于每个像素位置处。例如,来自原始图像数据的帧2304的原始图像贴片2306具有基于与图像传感器2302一起使用的拜耳滤色器阵列的拜耳图案。拜耳图案包括红色滤波器、蓝色滤波器和绿色滤波器,如图23所示的原始图像贴片2306的图案所示。拜耳滤色器通过滤除入射光来操作。例如,图案绿色部分的光电二极管通过绿色信息(一半像素),图案红色部分的光电二极管通过红色信息(四分之一像素),并且图案蓝色部分的光电二极管通过蓝色信息(四分之一像素)。
在一些情况下,设备可以包括多个图像传感器(其可以类似于图像传感器2302),在这种情况下,本文描述的机器学习ISP操作可以应用于由多个图像传感器获得的原始图像数据。例如,具有多个相机的设备可以使用多个相机捕获图像数据,并且机器学习ISP2300可以将ISP操作应用于来自多个相机的原始图像数据。在一个说明性示例中,双摄像头移动电话、平板电脑或其他设备可用于以更宽的角度(例如,具有更宽的视野(FOV))捕获更大的图像,捕获更多的光量(导致更锐利、更清晰等优点),以生成360度(例如,虚拟现实)视频,和/或执行其他增强功能(与由单摄像头设备实现的相比)。
原始图像贴片2306被提供给输入接口2301并由输入接口2301接收以供机器学习ISP 2300处理。机器学习ISP 2300可以使用神经网络系统2303来执行ISP任务。例如,可以训练神经网络系统2303的神经网络以直接导出从由图像传感器捕获的原始图像训练数据到最终输出图像的映射。例如,可以使用大量原始数据输入的示例(例如,具有颜色滤波模式)以及还使用所期望的对应输出图像的示例来训练神经网络。使用训练数据,神经网络系统2303可以从获得输出图像所需的原始输入学习映射,之后ISP 2300可以产生与由传统ISP产生的输出图像相似的输出图像。
ISP 2300的神经网络可以包括输入层、多个隐藏层、以及输出层。输入层包括由图像传感器2302获得的原始图像数据(例如,原始图像贴片2306或原始图像数据的完整帧)。隐藏层可以包括可以应用于原始图像数据的滤波器,和/或来自先前隐藏层的输出。隐藏层的每个滤波器可以包括用于指示滤波器节点的重要性的权重。在一个说明性示例中,滤波器可以包括围绕输入阵列进行卷积的3×3卷积滤波器,其中3×3滤波器中的每个条目具有唯一的权重值。在应用于输入阵列的3×3滤波器的每次卷积迭代(或步幅)中,可以产生单个加权输出特征值。神经网络可以有一系列许多隐藏层,其中早期层确定输入的低级特性,并且后面的层建立更复杂特性的层次结构。ISP 2300的神经网络的隐藏层与数据的高维表示相连。例如,这些层可以包括多个具有大量通道(维度)的重复卷积块。在某些情况下,通道数可能比RGB或YCbCr图像中的通道数大一个数量级。下面提供的说明性示例包括每个具有64个通道的重复卷积,以提供产生高质量图像细节的非线性和分层网络结构。例如,如本文更详细描述的,n个通道(例如,64个通道)是指在每个像素位置处具有数据的n维(例如,64维)表示。从概念上讲,n个通道表示像素位置处的“n个特征”(例如,64个特征)。
神经网络系统2303以联合方式实现各种多种ISP功能。神经网络系统2303所应用的神经网络的特定参数在传统的ISP中没有明确的类比,并且相反地,传统的ISP系统的特定功能块在机器学习ISP中没有明确的对应关系。例如,机器学习ISP作为单个单元执行信号处理功能,而不是具有典型ISP可能包含的用于执行各种功能的各个功能块。下面描述由神经网络系统2303应用的神经网络的进一步细节。
在一些示例中,机器学习ISP 2300还可以包括可选的预处理引擎2307,其可以处理附加的图像调谐参数以增强输入数据。这样的附加图像调谐参数(或增强数据)可以包括例如色调数据、径向距离数据、自动白平衡(AWB)增益数据、它们的任何组合,和/或可以增强输入数据的像素的任何其他附加数据。通过补充原始输入像素,输入针对原始图像数据的每个像素位置变为值的多维集。
基于确定的高级特征,神经网络系统2303可以基于原始图像贴片2306生成RGB输出2308。RGB输出2308针对每个像素包括红色分量、绿色分量和蓝色分量。本申请中使用RGB颜色空间为例。普通技术人员将理解,也可以使用其他颜色空间,例如亮度和色度(YCbCr或YUV)颜色分量,或其他合适的颜色分量。RGB输出2308可以从机器学习ISP 2300的输出接口2305输出并用于在最终输出图像2309(构成输出层)中生成图像贴片。在一些情况下,RGB输出2308中的像素阵列可以包括比输入原始图像贴片2306小的维度。在一个说明性示例中,原始图像贴片2306可以包含128x128的原始图像像素阵列(例如,在拜耳模式中),而神经网络系统2303的重复卷积滤波器的应用导致RGB输出2308包括8x8像素阵列。小于原始图像贴片2306的RGB输出2308的输出大小是应用卷积滤波器和设计神经网络系统2303以不填充通过每个卷积滤波器处理的数据的副产物。通过具有多个卷积层,输出大小减少得越来越多。在这种情况下,来自输入原始图像数据的帧2304的贴片可以重叠,使得最终输出图像2309包含完整的图片。得到的最终输出图像2309包含由神经网络系统2303从原始输入数据导出的处理后的图像数据。最终输出图像2309可以被渲染以供显示、用于压缩(或译码)、存储或用于任何其他基于图像的目的。
图24是说明机器学习(ML)图像信号处理器(ISP)2300的神经网络架构2400的示例的框图。像素混洗上采样(pixel shuffle upsampling)是一种上采样方法,其中通道维度沿空间维度进行改造(reshape)。在一个示例(其出于说明目的使用两次(2x)上采样)中,沿4个通道的xxxx(指4个通道x1个空间位置)将用于生成具有两倍空间维度的单个通道:xxxx(指1个通道x 4个空间位置)。在AndrewAitken等人的“Checkerboard artifact freesub-pixel convolution”中描述了像素混洗上采样的一个示例,该文献在此以引用的方式整体并入本文并用于所有目的。
通过使用机器学习来执行ISP功能,ISP变得可定制。例如,可以通过呈现目标数据示例和通过训练改变网络权重来开发和应用不同的功能。与硬连线或基于启发式的ISP相比,基于机器学习的ISP还可以实现更新的快速周转(turn-around)。此外,基于机器学习的ISP消除了对预调谐的ISP所需的调谐参数好像调谐的耗时任务。例如,存在用于管理ISP基础设施的大量精力和人员。整体开发可以用于机器学习ISP,在此期间直接优化和创建端到端系统。这种整体发展与预调谐的ISP功能块的逐片发展形成对比。基于机器学习ISP也可以加速成像创新。例如,可定制的机器学习ISP解锁了许多创新的可能性,以允许开发人员和工程师更快地驱动、开发和调整解决方案,以与新型传感器、镜头、相机阵列以及其他进步一起工作。
如上所述,图像处理系统1406(例如,图像处理ML系统210)和/或上述自动调整ML系统1405可以在调谐ML ISP和/或常规ISP时使用。上述各种调谐图(例如,上述噪声图、锐度图、色调图、饱和度图和/或色相图中的一个或多个,和/或与图像处理功能相关联的另一其他图)可用于调谐ISP。当用于调谐ISP时,这些图可以称为可调旋钮(tunable knob)。可用于调谐ISP的调谐图(或可调旋钮)的示例包括本地色调操纵(例如,使用色调图)、细节增强、色彩饱和度等。在某些情况下,局部色调操纵可以包括对比度受限的自适应直方图均衡(CLAHE)(例如,使用OpenCV)。在某些情况下,可以使用域变换进行边缘感知滤波(例如,使用OpenCV)来执行细节增强。在一些示例中,可以使用Pillow库来执行色彩饱和度。在一些实施方式中,自动调整ML系统1705可用于生成用于调谐ISP的调谐图或旋钮。
键2420标识图21A中如何说明不同的NN操作。例如,具有3x3滤波器和步幅为1的卷积由以黑色勾勒并指向右侧的粗白色箭头表示。具有2x2滤波器和步幅为2的卷积由指向下方的粗黑色箭头表示。上采样(例如,双线性上采样)由指向上方的粗黑色箭头表示。
图25A是示出根据一些示例的应用于示例输入图像以生成修改后的图像的第一色调调整强度的示例的概念图。图25A中修改后的图像的色调调整强度为0.0。
图25B是示出根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第二色调调整强度的示例的概念图。图25A中的修改后的图像的色调调整强度为0.5。
图25A和图25B是示出通过使用OpenCV实现方式执行CLAHE来应用不同色调级别的示例的图像。例如,可以将图像划分为固定网格,并且可以在计算累积分布函数(CDF)之前以预定义值裁剪直方图。裁剪限制可以确定本地音调操纵的强度。在图25A和图25B的示例中,该应用包括0.5的最大裁剪限制。可以对网格变换进行内插以产生最终结果。如图所示,色调的变化导致不同量的亮度调整,其将应用于由ISP处理的图像的像素,这可能导致图像具有更暗或更亮的色调。
图26A是说明根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第一细节调整强度的示例的概念图。图26A中的修改后的图像的细节调整(细节增强)强度为0.0。
图26B是说明根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第二细节调整强度的示例的概念图。图26A中的修改后的图像的细节调整(细节增强)强度为0.5。
图26A和图26B是说明使用OpenCV实现方式的不同细节增强的应用示例的图像。例如,细节增强可用于原始图像的边缘保持平滑。细节可以如上面关于饱和度图所描述的那样来表达。例如,可以通过从输入图像中减去滤波后的图像(例如,由边缘保持滤波产生的经平滑的图像)来获得图像细节。细节可以在多个尺度上增强。范围西格玛可以等于0.05(范围西格玛=0.05)。如上所述,空间西格玛是双边滤波器的超参数。空间西格玛可用于控制细节增强的强度。在一些示例中,最大空间西格玛可以设置为5.0(最大空间西格玛=5.0)。图26A提供了空间西格玛等于0的示例,而图26B示出了空间西格玛等于最大值5.0的示例。如图所示,与图26A中的图像相比,图26B具有更锐利的细节和更多的噪声。
图27A是说明根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第一色彩饱和度调整强度的示例的概念图。图27A中的修改后的图像的第一色彩饱和度值是0.0,表示最大颜色去饱和强度。图27A中的修改后的图像表示图25A的示例输入图像的灰度版本。
图27B是说明根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第二色彩饱和度调整强度的示例的概念图。图27A中的修改后的图像的第二色彩饱和度调整强度为1.0,表示饱和度没有变化(零强度的饱和度调整)。图27B中的修改后的图像在色彩饱和度方面匹配图25A的示例输入图像。
图27C是说明根据一些示例的应用于图25A的示例输入图像以生成修改后的图像的第三色彩饱和度调整强度的示例的概念图。图27C中的修改后的图像的第三色彩饱和度值为2.0,表示最大色彩饱和度增加强度。图27C中的修改后的图像表示图25A的示例输入图像的过饱和版本。为了试图表明图27C中的修改后的图像的过饱和性质,与图27A-27B或图25A相比,某些元素在图27C中被更亮地表示。
图27A、图27B和图27C是示出不同色彩饱和度调整的应用示例的图像。图27A中的图像示出了当应用饱和度0时的图像,导致灰度(去饱和)图像,类似于上面关于图9-图11描述的图像。图27B中的图像示出了当应用饱和度1.0时的图像,导致饱和度没有变化。图27C中的图像示出了当应用饱和度2.0时的图像,得到高度饱和的图像。
图28是说明机器学习(ML)图像信号处理器(ISP)的示例的框图,该机器学习(ML)图像信号处理器(ISP)接收用于调谐ML ISP 2300的各种调谐参数(类似于上面的调谐图)作为输入。ML ISP 2300可以类似于上面关于图23讨论的ML ISP 2300并执行与其相似的操作。ML ISP 2300包括经过训练的机器学习(ML)模型2802。基于对参数的处理,ML ISP 2300的经过训练的ML模型2802基于调谐参数输出增强图像。图像数据2804(包括具有模拟ISO噪声的原始图像和距原始图像中心的径向距离)作为输入提供。用于捕获原始图像的调谐参数2806包括红色通道增益、蓝色通道增益、ISO速度和曝光时间。调谐参数2806包括色调增强强度、细节增强强度和色彩饱和度强度。附加调谐参数2806类似于上面讨论的调谐图,并且可以在图像级别应用(单个值应用于整个图像)或像素级别应用(不同值用于图像中每个像素)。
图29是说明可提供给机器学习(ML)图像信号处理器(ISP)ML ISP 2300的特定调谐参数值的示例的框图。示例原始输入图像与表示距原始图像的中心的径向距离的图像一起显示。所示的原始图像数据可以例如代表仅一个颜色通道(例如绿色)的图像数据。对于用于捕获原始输入图像的调谐参数2816,红色增益值为1.957935,蓝色增益值为1.703827,ISO速度为500,并且曝光时间为3.63e-04。调谐参数包括0.0的色调强度、0.0的细节强度和1.0的饱和强度。
图30是说明可以提供给机器学习(ML)图像信号处理器(ISP)ML ISP 2300的特定调谐参数值的附加示例的框图。与图29中所示的相同的原始输入图像、径向距离信息和图像捕获参数(红色增益、蓝色增益、ISO感光度和曝光时间)显示在图30中。与图29中的调谐参数2816相比,提供了不同的调谐参数2826。调谐参数2826包括0.2的色调强度、1.9的细节强度和1.9的饱和强度。基于调整参数的差异,图30的输出增强图像2828与图29的输出增强图像2808相比具有不同的外观。例如,图30的输出增强图像2828是高度饱和的并且具有更精细的细节,而图29的增强图像没有饱和效果或细节增强。因为图28-30以灰度而不是彩色示出,输出增强图像2828和输出增强图像2808的红色通道在图28-30中示出来说明红色饱和度的变化。红色饱和度的增加表现为较亮的区域,而红色饱和度的降低表现为较暗的区域。因为图30显示了输出增强图像2828的红色通道,因此输出增强图像2828中较亮的花朵(与输出增强图像2808和原始图像数据相比)表明输出增强图像2828的花朵中的红色更饱和。
ML ISP 2300的经训练ML模型2802被训练以处理调谐参数(例如,调谐图或旋钮)并生成增强或修改的输出图像。训练设置可以包括PyTorch实现。网络感受野可以设置为160x160。训练图像可以包括由一个或多个设备捕获的数千个图像。可以执行基于贴片的训练,其中可以在训练期间将输入图像的贴片(相对于整个图像)提供给ML ISP 2300。在一些示例中,输入贴片的大小为320x320,而由ML ISP 2300生成的输出贴片的大小为160x160。尺寸的减小可以基于ML ISP 2300的神经网络的卷积性质(例如,其中神经网络被实现为CNN或其他使用卷积滤波器的网络)。在某些情况下,可以在每次训练迭代时向ML ISP 2300提供成批的图像贴片。在一个说明性示例中,批量大小可以包括128个图像。可以训练神经网络,直到验证损失稳定。在某些情况下,可以使用随机梯度下降(例如Adam优化器)来训练网络。在某些情况下可以使用0.0015的学习率。在一些示例中,经训练的ML模型2802可以使用一个或多个受训支持向量机、一个或多个受训神经网络或其组合来实现。
图31是说明可以在机器学习(ML)图像信号处理器(ISP)ML ISP 2300的训练期间使用的目标函数和不同损失的示例的框图。逐像素损失包括L1损失和L2损失。逐像素损失可以为由ML ISP2300生成的输出图像提供更好的色彩再现。结构损失也可以用于训练MLISP 2300。结构损失包括结构相似性指数(SSIM)。对于SSIM,可以使用7x7的窗口大小和1.5的高斯西格玛。另一个可以使用的结构损失是多尺度SSIM(MS-SSIM)。对于MS-SSIM,可以使用7x7的窗口大小、1.5的高斯西格玛和[0.9,0.1]的尺度权重。结构损失可用于更好地保留高频信息。可以一起使用逐像素损失和结构损失,例如图31中所示的L1损失和MS-SSIM。
在一些示例中,ML ISP 2300可以在ML ISP 2300的神经网络经过训练之后执行逐贴片模型推理。例如,神经网络的输入可以包括来自原始图像数据帧的一个或多个原始图像贴片(例如,具有拜耳模式),并且输出可以包括输出RGB贴片(或具有其他颜色分量表示的贴片,例如YUV)。在一个说明性示例中,神经网络将128x 128像素原始图像贴片作为输入,并产生8x 8x 3RGB贴片作为最终输出。基于由神经网络应用的各种卷积滤波器的卷积性质,来自原始图像贴片的8x 8阵列外部的许多像素位置被网络消费以生成最终的8x 8输出贴片。这种从输入到输出的数据减少是由于理解相邻信息以处理像素所需的上下文量。拥有具有所有相邻信息和上下文的较大输入原始图像贴片有助于处理和产生较小的输出RGB贴片。
在一些示例中,基于从输入到输出的像素位置的减少,128x 128原始图像贴片被设计为使得它们在原始输入图像中重叠。在此类示例中,8x 8输出不重叠。例如,对于原始图像帧左上角的第一个128x 128原始图像贴片,产生第一个8x 8RGB输出贴片。原始图像帧中的下一个128x128贴片将位于最后一个128x128贴片右侧8个像素处,因此将与最后一个128x 128像素贴片重叠。下一个128x128贴片将由神经网络处理以产生第二个8x 8RGB输出贴片。在完整的最终输出图像中,第二个8x8RGB贴片将放置在第一个8x 8RGB输出贴片(使用之前的128x 128原始图像贴片产生的)旁边。可以执行这样的过程,直到产生构成完整输出图像的8x 8贴片为止。
图32是示出根据一些示例的导致在第一图像位置处的非重叠输出贴片的逐贴片模型推理的示例的概念图。
图33是示出根据一些示例的在第二图像位置处的图32的逐贴片模型推理的示例的概念图。
图34是示出根据一些示例的在第三图像位置处的图32的逐贴片模型推理的示例的概念图。
图35是示出根据一些示例的在第四图像位置处的图32的逐贴片模型推理的示例的概念图。
图32、图33、图34和图35是说明逐贴片模型推理的示例的图,其导致不重叠的输出贴片。如图32至图35中所示,输入贴片的大小可以是ko+160,其中ko是输出贴片大小(输出贴片大小等于ko)。带有斜条纹的像素是指填充像素(例如,反射的)。如图32至图35中虚线框所示,输入贴片重叠。如白框所示,输出贴片是不重叠的。
如上所述,可以在图像级别应用(单个值应用于整个图像)或像素级别应用(不同值用于图像中的每个像素)附加调谐参数(或调谐图或调谐旋钮)。
图36是说明在图像级应用的空间固定色调图(或掩模)的示例的概念图,其中t的单个值被应用到图像的所有像素。如上所述,可以提供包括图像的各个像素的不同值的色调图(例如,如图8所示),因此可以在空间上变化。
图37是示出根据一些示例的应用空间变化的图3703(或掩模)来处理输入图像数据3702以生成具有空间变化的饱和度调整强度的输出图像3715的示例的概念图。空间变化图3703包括饱和度图。空间变化图3703针对与由图像传感器产生的原始图像3702(也称为拜耳图像)中的像素相对应的每个位置包括值。与空间固定图形成对比,空间变化图3703中不同位置的值可以不同。空间变化图3703包括与原始图像3702中描绘前景中的花的像素区域相对应值0.5。值为0.5的该区域在空间变化图3703中以灰色示出。空间变化图3703中的值0.5表示该区域中的饱和度保持不变,没有增加或减少。空间变化图3703包括与原始图像3702中描绘花朵后面背景的像素区域相对应值0.0。值为0.0的该区域在空间变化图3703中以黑色示出。输入饱和度图203中的值0.0表示该区域中的饱和度将被完全去饱和。修改后的图像3715图示了通过以基于空间变化图3703的强度和方向应用饱和度而(例如,由图像处理ML系统210)生成的图像的示例。修改后的图像3705表示其中前景中的花朵仍然饱和(以未改变的饱和强度)达到与参考图像3716相同的程度,但背景完全去饱和,因此以灰度描绘。参考图像3716被用作系统预期产生的基线图像,其中中性饱和度(0.5)应用于整个原始图像3702。因为图37以灰度而不是彩色示出,修改后的图像3705和参考图像3716的绿色通道在图37中示出来说明绿色饱和度的变化。绿色饱和度的增加表现为较亮的区域,而绿色饱和度的降低表现为较暗的区域。因为图37显示了修改后的图像3705的绿色通道,并且花朵后面的背景主要是绿色,因此在修改后的图像3705中,背景表现得很暗(与参考图像3716相比),表明修改后的图像3705的背景中的绿色是去饱和的(与参考图像3716相比)。
图38是示出根据一些示例的对空间变化图3803的示例应用来处理输入图像数据3802以生成具有空间变化色调调整强度和空间变化细节调整强度的输出图像3815的概念图。空间变化图3703包括色调图。空间变化图3803针对与由图像传感器产生的原始图像3802(也称为拜耳图像)中的像素相对应的每个位置包括值。空间变化图3803中不同位置的值可以不同。空间变化图3803包括0.5的色调值和5.0的细节值,其对应于描绘前景中的花朵的原始图像3802中的像素区域。该色调值为0.5、细节值为5.0的区域在空间变化图3803中以白色表示。空间变化图3803中的色调值为0.5表示伽玛(γ)值为1.0(对应于100.0),意味着该区域的色调保持相同,没有变化。空间变化图3803中的细节值5.0表示该区域中的细节将增加。空间变化图3803包括0.0的色调值和0.0的细节值,其对应于原始图像3802中描绘花朵后面的背景的像素区域。该色调值为0.0、细节值为0.0的区域在空间变化图3803中以黑色示出。输入色调图203中的色调值为0.0表示伽玛(γ)值为2.5(对应于100.4),意味着该区域的色调将变暗。图38中从色调值到伽玛值的映射方向与图7中从色调值映射到伽玛值的方向相反,其中0变亮,并且1变暗。空间变化图3803中的细节值5.0表示该区域中的细节将减少。修改后的图像3815图示了通过以基于空间变化图3803的强度和方向修改色调和细节来(例如,由图像处理ML系统210)生成的图像的示例。修改后的图像3805表示如下图像:在该图像中,在前景中的花朵具有相同的色调(与参考图像3816相比),但细节增加(与参考图像3816相比),并且其中背景具有变暗的色调(与参考图像3816相比)和减少的细节(与参考图像3816相比)。参考图像3816用作系统预期将产生的基线图像,其中,中性色调(0.5)和中性细节应用于整个原始图像3802。
图39是说明由图像处理系统使用一个或多个调谐图来调整输入图像而生成的自动调整的图像的概念图。
图40A是示出根据一些示例的由图像处理系统使用一个或多个空间变化调谐图(其是使用自动调整机器学习(ML)系统生成的)生成的输出图像的概念图。输入图像和输出图像在图40A中示出。输出图像是基于一个或多个空间变化调谐图修改的输入图像的修改变体。
图40B是示出根据一些示例的可用于根据图40A所示的输入图像生成图40A所示的输出图像的空间变化调谐图的示例的概念图。除了再次示出图40A的输入图像和输出图像之外,图40B还示出了细节图、噪声图、色调图、饱和度图和色相图。
图41A是示出根据一些示例的由图像处理系统使用一个或多个空间变化调谐图(其是使用自动调整机器学习(ML)系统生成的)生成的输出图像的概念图。输入图像和输出图像在图41A中示出。输出图像是基于一个或多个空间变化调谐图修改的输入图像的修改变体。
图41B是示出根据一些示例的可用于根据图41A所示的输入图像生成图41A所示的输出图像的空间变化调谐图的示例的概念图。除了再次说明图41A的输入图像,图41B还示出了锐度图、噪声图、色调图、饱和度图和色相图。
图42A是说明使用本文描述的技术使用一个或多个神经网络来处理图像数据的过程4200的示例的流程图。过程4200可以由成像系统执行。成像系统可以包括例如图像捕获和处理系统100、图像捕获设备105A、图像处理设备105B、图像处理器150、ISP 154、主机处理器152、图像处理ML系统210、图14A的系统、图14B的系统、图14C的系统、图14D的系统、图像处理系统1406、自动调整ML系统1405、下采样器1418、上采样器1426、神经网络1500、神经网络架构1900、神经网络架构2000、神经网络架构2100A、神经网络架构2100B、空间注意引擎2110、通道注意引擎2115、图像传感器2202、预调谐ISP 2208、机器学习(ML)ISP 2300、神经网络系统2303、预处理引擎2307、输入接口2301、输出接口2305、神经网络架构2400、受训机器学习模型2802、执行过程4200的成像系统、计算系统4300或它们的组合。
在框4202,过程4200包括成像系统获得图像数据。在一些实施方式中,图像数据包括具有对于图像数据的每个像素具有多个颜色分量的经处理图像。例如,图像数据可以包括一个或多个RGB图像、一个或多个YUV图像,或之前已由相机系统捕获和处理的其他彩色图像,例如由图1中所示的图像捕获和处理系统100生成的场景110的图像。在一些实施方式中,图像数据包括来自一个或多个图像传感器(例如,图像传感器130)的原始图像数据。原始图像数据针对图像数据的每个像素包括单一颜色分量。在一些情况下,原始图像数据从一个或多个图像传感器获得,其由诸如拜耳滤色器阵列之类的滤色器阵列滤波。在一些实施方式中,图像数据包括一个或多个图像数据贴片。图像数据贴片包括图像数据帧的子集。在一些情况下,生成修改后的图像包括生成多个输出图像数据贴片。每个输出图像数据贴片可以包括输出图像的像素的子集。
原始图像数据的示例可以包括使用图像捕获和处理系统100捕获的图像数据、使用图像捕获设备105A和/或图像处理设备105B捕获的图像数据、输入图像202、输入图像302、输入图像402、输入图像602、输入图像802、输入图像1102、输入图像1302、输入图像1402、下采样输入图像1422、输入层1510、输入图像1606、输入图像1606、下采样输入图像1616、图17的IRGB、图17的亮度通道Iy、亮度通道1820、图像贴片1825、完整图像输入1826、输入图像2130、经颜色滤波的原始输入数据2204、输出彩色图像2209、原始图像数据的帧2304、原始图像贴片2306、RGB输出2308、最终输出图像2309、图24的原始输入图像、图24的输出RGB图像、图25A-25B的输入图像、图26A-26B的输入图像、图27A-27C的输入图像、图像数据2804、图像数据2814、图32-35的输入贴片、原始图像3702、参考图像3716、原始图像3802、参考图像3816、图39的输入图像、图40A-40B的输入图像、图41A-41B的输入图像、框4252的图像数据、本文描述的其他图像数据、本文描述的其他图像或它们的组合。在一些示例中,过程4200的框4202可以对应于过程4250的框4252。
在框4204,过程4200包括成像系统获得一个或多个图。一个或多个图在本文中也被称为一个或多个调谐图。一个或多个图中的每个图与相应的图像处理功能相关联。每个图还包括指示要应用于图像数据的对应像素的图像处理功能的量的值。例如,一个或多个图中的图包括多个值并且与图像处理功能相关联,其中图的多个值中的每个值指示要应用于图像数据的对应像素的图像处理功能的量。上面讨论的图3A和图3B示出示例调谐图(图3B的调谐图303)的值和示例输入图像(图3A的输入图像302)的对应像素。
在一些情况下,与一个或多个图相关联的一个或多个图像处理功能包括降噪功能、锐度调整功能、色调调整功能、饱和度调整功能、色相调整功能或其任意组合。在一些示例中,可以获得均与图像处理功能相关联的多个调谐图。例如,一个或多个图包括多个图,其中多个图中的第一图与第一图像处理功能相关联,并且多个图中的第二图与第二图像处理功能相关联。在一些情况下,第一图可以包括第一多个值,其中第一图的第一多个值中的每个值指示要应用于图像数据的对应像素的第一图像处理功能的量。第二图可以包括第二多个值,其中第二图的第二多个值中的每个值指示要应用于图像数据的对应像素的第二图像处理功能的量。在一些情况下,与多个图中的第一图相关联的第一图像处理功能包括降噪功能、锐度调整功能、色调调整功能、饱和度调整功能和色相调整功能中的一个功能,并且与多个图的第二图相关联的第二图像处理功能包括降噪功能、锐度调整功能、色调调整功能、饱和度调整功能和色相调整功能中的不同功能。在一个说明性示例中,可以获得与降噪功能相关联的噪声图,可以获得与锐度调整功能相关联的锐度图,可以获得与色调调整功能相关联的色调图,可以获得与饱和度调整功能相关联的饱和度图,并且可以获得与色相调整功能相关联的色相图。
在一些示例中,成像系统可以使用机器学习系统生成一个或多个图,如在框4254中。机器学习系统可以包括一个或多个受训卷积神经网络(CNN)、一个或多个CNN、一个或多个受训神经网络(NN)、一个或多个NN、一个或多个受训支持向量机(SVM)、一个或多个SVM、一个或多个受训随机森林、一个或多个随机森林、一个或多个受训决策树、一个或多个决策树、一个或多个受训梯度提升算法、一个或多个梯度提升算法、一种或多种受训回归算法、一个或多个回归算法或其组合。机器学习系统和/或上面列出的任何机器学习元素(其可以是机器学习系统的部分)可以使用监督学习、无监督学习、强化学习、深度学习或其组合进行训练。在框4204中生成一个或多个图的机器学习系统可以是与在框4206中生成修改后的图像的机器学习系统相同的机器学习系统。在框4204中生成一个或多个图的机器学习系统可以是与在框4206中生成修改后的图像的机器学习系统不同的机器学习系统。
一个或多个图的示例包括输入饱和度图203、空间调谐图303、输入噪声图404、输入锐化图604、输入色调图804、输入饱和度图1104、输入色相图1304、空间变化调谐图1404、小的空间变化调谐图1424、输出层1514、输入调谐图1607、输出调谐图1618、参考输出调谐图1619、图17的空间变化调谐图欧米茄(Ω)、调谐图1804、调谐参数2206、调谐参数2806、调谐参数2616、调谐参数2826、图36的色调图、空间变化图3703、空间变化图3803、图40B的细节图、图40B的噪声图、图40B的色调图、图40B的饱和度图、图40B的色相图、图41B的锐度图、图41B的噪声图、图41B的色调图、图41B的饱和度图、图41B的色相图、框4254的一个或多个图、本文描述的其他空间变化图、本文描述的其他空间固定图、本文描述的其他图、本文描述的其他掩模、或它们的任何组合。图像处理功能的示例包括降噪、噪声添加、锐度调整、细节调整、色调调整、色彩饱和度调整、色相调整、本文描述的任何其他图像处理功能、本文描述的任何其他图像处理参数或它们的任何组合。在一些示例中,过程4200的框4204可以对应于过程4250的框4254。
在框4206,过程4200包括成像系统使用图像数据和一个或多个图作为机器学习系统的输入来生成修改后的图像。修改后的图像可以称为输出图像。修改后的图像包括基于与一个或多个图中的每个图相关联的相应图像处理功能的特性。在某些情况下,机器学习系统包括至少一个神经网络。在一些示例中,过程4200包括使用与用于生成修改后的图像的机器学习系统不同的附加机器学习系统来生成一个或多个图。例如,图17的自动调整ML系统1705可用于生成一个或多个图,并且图像处理ML系统210可用于基于输入图像和一个或多个图生成修改后的图像。
修改后的图像的示例包括修改后的图像215、修改后的图像415、图像510、图像511、图像512、修改后的图像615、输出图像710、输出图像711和输出图像712、修改后的图像815、输出图像1020、输出图像1021、输出图像1022、修改后的图像1115、修改后的图像1315、修改后的图像1415、输出层1514、输出图像1608、参考输出图像1609、输出彩色图像2209、RGB输出2308、最终输出图像2309、图24的输出RGB图像、图25A-25B的修改后的图像、图26A-26B的修改后的图像、图27A-27C的修改后的图像、输出增强图像2808、输出增强图像2828、图32-35的输出贴片、输出图像3715、参考图像3716、输出图像3815、参考图像3816、图39的自动调整图像、图40A-40B的输出图像、图41A的输出图像、框4206的修改后的图像、本文描述的其他图像数据、本文描述的其他图像或它们的组合。在一些示例中,过程4200的框4206可以对应于过程4250的框4256。
框4206的机器学习系统可以包括一个或多个受训卷积神经网络(CNN)、一个或多个CNN、一个或多个受训神经网络(NN)、一个或多个NN、一个或多个受训支持向量机(SVM)、一个或多个SVM、一个或多个受训随机森林、一个或多个随机森林、一个或多个受训决策树、一个或多个决策树、一个或多个受训梯度提升算法、一个或多个梯度提升算法、一个或多个受训回归算法、一个或多个回归算法或它们的组合。框4206的机器学习系统和/或上面列出的任何机器学习元素(其可以是机器学习系统的部分)可以使用监督学习、无监督学习、强化学习、深度学习或它们的组合进行训练。
图42B是说明使用本文描述的技术使用一个或多个神经网络来处理图像数据的过程4250的示例的流程图。过程4250可以由成像系统执行。成像系统可以包括例如图像捕获和处理系统100、图像捕获设备105A、图像处理设备105B、图像处理器150、ISP 154、主机处理器152、图像处理ML系统210、图14A的系统、图14B的系统、图14C的系统、图14D的系统、图像处理系统1406、自动调整ML系统1405、下采样器1418、上采样器1426、神经网络1500、神经网络架构1900、神经网络架构2000、神经网络架构2100A、神经网络架构2100B、神经网络架构2100C、神经网络架构2100D、空间注意引擎2110、通道注意引擎2115、图像传感器2202、预调谐ISP 2208、机器学习(ML)ISP 2300、神经网络系统2303、预处理引擎2307、输入接口2301、输出接口2305、神经网络架构2400、受训机器学习模型2802、执行过程4200的成像系统、计算系统4300或它们的组合。
在框4252,过程4250包括成像系统获得图像数据。在一些实施方式中,图像数据包括针对图像数据的每个像素具有多个颜色分量的经处理图像。例如,图像数据可以包括一个或多个RGB图像、一个或多个YUV图像,或之前已由相机系统捕获和处理的其他彩色图像,例如由图1中所示的图像捕获和处理系统100生成的场景110的图像。图像数据的示例可以包括使用图像捕获和处理系统100捕获的图像数据、使用图像捕获设备105A和/或图像处理设备105B捕获的图像数据、输入图像202、输入图像302、输入图像402、输入图像602、输入图像802、输入图像1102、输入图像1302、输入图像1402、下采样输入图像1422、输入层1510、输入图像1606、输入图像1606、下采样输入图像1616、图17的IRGB、图17的亮度通道Iy、亮度通道1820、图像贴片1825、完整图像输入1826、输入图像2130、颜色滤波的原始输入数据2204、输出彩色图像2209、原始图像数据的帧2304、原始图像贴片2306、RGB输出2308、最终输出图像2309、图24的原始输入图像、图24的输出RGB图像、图25A-25B的输入图像、图26A-26B的输入图像、图27A-27C的输入图像、图像数据2804、图像数据2814、图32-35的输入贴片、原始图像3702、参考图像3716、原始图像3802、参考图像3816、图39的输入图像、图40A-40B的输入图像、图41A-41B的输入图像、框4202的原始图像数据、本文描述的其他图像数据、本文描述的其他图像或它们的组合。成像系统可以包括捕获图像数据的图像传感器。成像系统可以包括耦合到图像传感器的图像传感器连接器。在框4252中获得图像数据可以包括从图像传感器和/或通过图像传感器连接器获得图像数据。
在一些示例中,图像数据具有输入图像,该输入图像针对图像数据的多个像素中的每个像素具有多个颜色分量。输入图像可以已经被至少部分地处理,例如通过在ISP 154处去马赛克。可以使用图像捕获和处理系统100、图像捕获设备105A、图像处理设备105B、图像处理器150、图像传感器130、ISP 154、主机处理器152、图像传感器2202或它们的组合来捕获和/或处理输入图像。在一些示例中,图像数据包括来自一个或多个图像传感器的原始图像数据,原始图像数据针对图像数据的多个像素中的每个像素包括至少一个颜色分量。一个或多个图像传感器的示例可以包括图像传感器130和图像传感器2202。原始图像数据的示例可以包括使用图像捕获和处理系统100捕获的图像数据、使用图像捕获设备105A捕获的图像数据、输入图像202、输入图像302、输入图像402、输入图像602、输入图像802、输入图像1102、输入图像1302、输入图像1402、下采样输入图像1422、输入层1510、输入图像1606、输入图像1606、下采样输入图像1616、图17的IRGB、图17的亮度通道Iy、亮度通道1820、图像贴片1825、完整图像输入1826、输入图像2130、颜色滤波的原始输入数据2204、原始图像数据的帧2304、原始图像贴片2306、图24的原始输入图像、图25A-25B的输入图像、图26A-26B的输入图像、图27A-27C的输入图像、图像数据2804、图像数据2814、图32-35的输入贴片、原始图像3702、参考图像3716、原始图像3802、参考图像3816、图39的输入图像、图40A-40B的输入图像、图41A-41B的输入图像、框4202的原始图像数据、本文所述的其他原始图像数据、本文所述的其他图像数据、本文所述的其他图像或它们的组合。图像数据可以针对图像数据的每个像素包括单一颜色分量(例如,红色、绿色或蓝色)。图像数据可以针对图像数据的每个像素包括多个颜色分量(例如,红色、绿色和/或蓝色)。在一些情况下,图像数据是从一个或多个图像传感器获得的,该一个或多个图像传感器被滤色器阵列滤波,例如拜耳滤色器阵列。在一些示例中,图像数据包括一个或多个图像数据贴片。图像数据贴片包括图像数据帧的子集,例如对应于一个或多个连续区或区域。在一些情况下,生成修改后的图像包括生成多个输出图像数据贴片。每个输出图像数据贴片可以包括输出图像的像素子集。在一些示例中,过程4250的框4252可以对应于过程4200的框4202。
在框4254处,过程4250包括成像系统使用图像数据作为一个或多个受训神经网络的输入来生成一个或多个图。一个或多个图中的每个图与相应的图像处理功能相关联。在一些示例中,过程4250的框4254可以对应于过程4200的框4204。一个或多个受训神经网络的示例包括图像处理ML系统210、自动调整ML系统1405、神经网络1500、自动调整ML系统1705、局部神经网络1806、全局神经网络1807、神经网络架构1900、神经网络架构2000、神经网络架构2100A、神经网络架构2100B、神经网络架构2100C、神经网络架构2100D、神经网络系统2303、神经网络架构2400、机器学习ISP 2300、受训机器学习模型2802、一个或多个受训卷积神经网络(CNN)、一个或多个CNN、一个或多个受训神经网络(NN)、一个或多个NN、一个或多个受训支持向量机(SVM)、一个或多个SVM、一个或多个受训随机森林、一个或多个随机森林、一个或多个受训决策树、一个或多个决策树、一个或多个受训梯度提升算法、一个或多个梯度提升算法、一个或多个受训回归算法、一个或多个回归算法、本文描述的任何其他受训神经网络、本文描述的任何其他神经网络、本文描述的任何其他受训机器学习模型、本文描述的任何其他机器学习模型、本文描述的任何其他受训机器学习系统、本文描述的任何其他机器学习系统或它们的任何组合。框4254的一个或多个受训神经网络,和/或上面列出的任何机器学习元素(其可以是框4254的一个或多个受训神经网络的一部分)可以使用监督学习、无监督学习、强化学习、深度学习或它们的组合来进行训练。
一个或多个图的示例包括输入饱和度图203、空间调谐图303、输入噪声图404、输入锐化图604、输入色调图804、输入饱和度图1104、输入色相图1304、空间变化调谐图1404、小的空间变化调谐图1424、输出层1514、输入调谐图1607、输出调谐图1618、参考输出调谐图1619、图17的空间变化调谐图欧米茄(Ω)、调谐图1804、调谐参数2206、调谐参数2806、调谐参数2616、调谐参数2826、图36的色调图、空间变化图3703、空间变化图3803、图40B的细节图、图40B的噪声图、图40B的色调图、图40B的饱和度图、图40B的色相图、图41B的锐度图、图41B的噪声图、图41B的色调图、图41B的饱和度图、图41B的色相图、框4204的一个或多个图、本文描述的其他空间变化图、本文描述的其他空间固定图、本文描述的其他图、本文描述的其他掩模、或它们的任何组合。图像处理功能的示例包括降噪、噪声添加、锐度调整、细节调整、色调调整、色彩饱和度调整、色相调整、本文描述的任何其他图像处理功能、本文描述的任何其他图像处理参数或它们的任何组合。
一个或多个图中的每个图可以包括多个值并且可以与图像处理功能相关联。多个值的示例可以包括空间调谐图303的值V0-V56。多个值的示例可以包括与以下各项的不同区域相对应的不同值:输入饱和度图203、输入噪声图404、输入锐化图604、输入色调图804、输入饱和度图1104、输入色相图1304、空间变化调谐图1404、小的空间变化调谐图1424、空间变化图3703、空间变化图3803、图40B的细节图、图40B的噪声图、图40B的色调图、图40B的饱和度图、图40B的色相图。图41B的锐度图、图41B的噪声图、图41B的色调图、图41B的饱和度图、图41B的色相图和框4204的一个或多个图。图的多个值中的每个值可以指示将图像处理功能应用到图像数据的对应区域的强度。在一些示例中,较高的数值(例如,1)可以指示将图像处理功能应用于图像数据的对应区域的更强的强度,而较低的数值(例如,0)可以指示将图像处理功能应用于图像数据的对应区域的更弱的强度。在一些示例中,较低的数值(例如,0)可以指示将图像处理功能应用于图像数据的对应区域的更强的强度,而更高的数值(例如,1)可以指示将图像处理功能应用于图像数据的对应区域的更弱的强度。在一些示例中,值(例如,0.5)可以指示图像处理功能以零强度应用于图像数据的对应区域,这可能导致图像处理功能的不应用并且因此没有使用图像处理功能对图像数据进行改变。图像数据的对应区域可以对应于框4202的图像数据的像素和/或框4256的图像的像素。图像数据的对应区域可以对应于框4202的图像数据的多个像素和/或框4256的图像的多个像素,例如在多个像素被合并(bin)的情况下,例如以形成超像素、重新采样、重新调整大小和/或重新缩放。图像数据的对应区域可以是连续区域。多个像素可以在连续区域中。多个像素可以彼此相邻。
图的多个值中的每个值可以指示将图像处理功能应用到图像数据的对应区域的方向。在一些示例中,高于阈值(例如,高于0.5)的数值可以指示将图像处理功能应用于图像数据的对应区域的正方向,而低于阈值(例如,低于0.5)的数值可以指示将图像处理功能应用于图像数据的对应区域的负方向。在一些示例中,高于阈值(例如,高于0.5)的数值可以指示将图像处理功能应用于图像数据的对应区域的负方向,而低于阈值(例如,低于0.5)的数值可以指示将图像处理功能应用于图像数据的对应区域的正方向。图像数据的对应区域可以对应于框4202的图像数据的像素和/或框4256的图像的像素。图像数据的对应区域可以对应于框4202的图像数据的多个像素和/或框4256的图像的多个像素,例如在多个像素被合并的情况下,例如以形成超像素、重新采样、重新调整大小和/或重新缩放。图像数据的对应区域可以是连续区域。多个像素可以在连续区域中。多个像素可以彼此相邻。
在一些示例中,饱和度调整的正方向可能导致过饱和,而饱和度调整的负方向可能导致欠饱和或去饱和。在一些示例中,用于色调调整的正方向可以导致增加辉度和/或亮度,而用于色调调整的负方向可以导致降低辉度和/或亮度(或反之亦然)。在一些示例中,锐度调整的正方向可以导致锐度增加(例如,减少模糊),而锐度调整的负方向可以导致锐度降低(例如,增加模糊)(或反之亦然)。在一些示例中,噪声调整的正方向可以导致噪声降低,而色调调整的负方向可以导致噪声生成和/或添加(或反之亦然)。在一些示例中,用于色相调整的正方向和负方向可以对应于色相修改向量1218的不同角度西塔(θ),如图12B的概念图1216中所示。例如,用于色相调整的正方向和负方向可以对应于色相修改向量1218的正角度和负角度西塔(θ),如图12B的概念图1216中所示。在一些示例中,图像处理功能中的一个或多个可以限于如本文所讨论的正方向上的处理,或者可以限于如本文所讨论的负方向上的处理。
一个或多个图可以包括多个图。多个图中的第一图可以与第一图像处理功能相关联,而多个图中的第二图可以与第二图像处理功能相关联。第二图像处理功能可以不同于第一图像处理功能。在一些示例中,与多个图中的至少一个图相关联的一个或多个图像处理功能包括降噪功能、锐度调整功能、细节调整功能、色调调整功能、饱和度调整功能、色相调整功能或其组合中的至少一个。在一个说明性示例中,可以获得与降噪功能相关联的噪声图,可以获得与锐度调整功能相关联的锐度图,可以获得与色调调整功能相关联的色调图,可以获得与饱和度调整功能相关联的饱和度图,并且可以获得与色相调整功能相关联的色相图。
第一图可以包括第一多个值,其中第一图的第一多个值中的每个值指示将第一图像处理功能应用于图像数据的对应区域的强度和/或方向。第二图可以包括第二多个值,其中第二图的第二多个值中的每个值指示将第二图像处理功能应用于图像数据的对应区域的强度和/或方向。图像数据的对应区域可以对应于框4202的图像数据的像素和/或框4256的图像的像素。图像数据的对应区域可以对应于框4202的图像数据的多个像素和/或框4256的图像的多个像素,例如在多个像素被合并的情况下,例如以形成超像素、重新采样、重新调整大小和/或重新缩放。图像数据的对应区域可以是连续区域。多个像素可以在连续区域中。多个像素可以彼此相邻。
在一些示例中,图像数据包括对应于图像的亮度通道数据。亮度通道数据的示例可以包括图17的亮度通道Iy和/或亮度通道1820。使用图像数据作为一个或多个受训神经网络的输入可以包括使用对应于图像的亮度通道数据作为一个或多个受训神经网络的输入。在一些示例中,基于图像数据生成图像包括基于亮度通道数据以及对应于图像的色度数据生成图像。
在一些示例中,一个或多个受训神经网络基于将图像数据用作一个或多个受训神经网络的输入来输出一个或多个仿射系数。仿射系数的示例包括图17的仿射系数a和b。输出一个或多个仿射系数的一个或多个受训神经网络的示例包括自动调整ML系统1705、神经网络架构1900、神经网络架构2000、神经网络架构2100A、神经网络架构2100B、神经网络架构2100C、神经网络架构2100D或它们的组合。在一些示例中,自动调整ML系统1405可以生成仿射系数(例如,a和/或b)并且可以基于仿射系数生成空间变化的调谐图1404和/或小的空间变化的调谐图1424。生成一个或多个图可以包括至少通过使用一个或多个仿射系数变换图像数据来生成第一图。图像数据可以包括对应于图像的亮度通道数据,从而使用一个或多个仿射系数变换图像数据包括使用一个或多个仿射系数变换亮度通道数据。例如,图17图示了使用图17的仿射系数a和b从亮度通道Iy变换亮度通道数据以根据等式Ω=a*Iy+b生成调谐图Ω。一个或多个仿射系数可以包括乘数,例如图17的乘数a。使用一个或多个仿射系数变换图像数据可以包括将图像数据的至少一个子集的亮度值乘以乘数。一个或多个仿射系数可以包括偏移量,例如图17的偏移量a。使用一个或多个仿射系数变换图像数据可以包括将图像数据的至少一个子集的亮度值偏移该偏移量。在一些示例中,一个或多个受训神经网络还基于将第一图中的一个或多个梯度与图像数据中的一个或多个梯度对齐的局部线性度约束来输出一个或多个仿射系数。局部线性度约束的示例可以包括局部线性度约束1720,其基于等式 在一些示例中,将一个或多个仿射系数应用于图像数据的至少一个子集(例如,亮度数据)以变换图像数据的至少该子集(例如,亮度数据)可以由局部线性度约束控制。
在一些示例中,框4254的一个或多个受训神经网络响应于接收到图像数据作为一个或多个受训神经网络的输入而直接生成和/或输出一个或多个图。例如,一个或多个受训神经网络可以直接基于图像生成和/或输出一个或多个图,而不生成和/或输出仿射系数。例如,自动调整ML系统1405可以直接生成和/或输出空间变化调谐图1404和/或小的空间变化调谐图1424。在一些示例中,可以修改在本文中被示出和/或描述为生成和使用仿射系数的各种神经网络和/或机器学习系统,以替代地直接输出一个或多个图,而不首先生成仿射系数。例如,图17和/或图18的自动调整ML系统1705可以被修改以直接生成和/或输出调谐图1804作为其输出层,代替或附加于生成和/或输出仿射系数1822。可以修改神经网络架构1900以直接生成和/或输出调谐图1804作为其输出层,代替和/或附加于生成和/或输出仿射系数1822。可以修改神经网络架构2100A以直接生成和/或输出调谐图1804作为其输出层,代替和/或附加于生成和/或输出仿射系数1822。可以修改神经网络架构2100B以直接生成和/或输出调谐图1804作为其输出层,代替或附加于生成和/或输出仿射系数1822。
一个或多个图中的每个图可以在空间上变化。一个或多个图中的每个图可以基于在图像数据的不同区域中描绘的对象的不同类型或类别而在空间上变化。这种图的示例包括输入饱和度图203、空间变化图3703和空间变化图3803,其中图像数据的描绘前景花朵的区域和图像数据的描绘背景的区域映射到应用一个或多个对应图像处理功能的不同强度和/或方向。在其他示例中,图可以指示图像处理功能可以在描绘不同类型或类别对象的区域中以不同强度和/或方向应用,所述区域例如描绘人、面部、衣服、植物、天空、水、云、建筑物、显示屏、金属、塑料、混凝土、砖块、头发、树木、纹理表面、本文讨论的任何其他类型或类别的对象或其组合的区域。一个或多个图中的每个图可以基于图像数据的不同区域中的不同颜色在空间上变化。一个或多个图中的每个图可以基于图像数据的不同区域中的不同图像属性在空间上变化。例如,输入噪声图404指示在输入图像402的已经平滑的区域中不执行去噪,但指示在输入图像402的有噪声的区域中执行相对强的去噪。
在框4256,过程4250包括成像系统基于图像数据和一个或多个图生成图像。该图像包括基于与一个或多个图中的每个图相关联的相应图像处理功能的特性。该图像可以称为输出图像、修改后的图像或它们的组合。图像的示例包括修改后的图像215、修改后的图像415、图像510、图像511、图像512、修改后的图像615、输出图像710、输出图像711和输出图像712、修改后的图像815、输出图像1020、输出图像1021、输出图像1022、修改后的图像1115、修改后的图像1315、修改后的图像1415、输出层1514、输出图像1608、参考输出图像1609、输出彩色图像2209、RGB输出2308、最终输出图像2309、图24的输出RGB图像、图25A-25B的修改后的图像、图26A-26B的修改后的图像、图27A-27C的修改后的图像、输出增强图像2808、输出增强图像2828、图32-35的输出贴片、输出图像3715、参考图像3716、输出图像3815、参考图像3816、图39的自动调整图像、图40A-40B的输出图像、图41A的输出图像、框4206的修改后的图像、本文描述的其他图像数据、本文描述的其他图像或其组合。在一些示例中,过程4250的框4256可以对应于过程4200的框4206。可以使用图像处理器生成图像,所述图像处理器例如图像捕获和处理系统100、图像处理设备105B、图像处理器150、ISP 154、主机处理器152、图像处理ML系统210、图像处理系统1406、神经网络1500、机器学习(ML)ISP2300、神经网络系统2303、预处理引擎2307、输入接口2301、输出接口2305、神经网络架构2400、受训机器学习模型2802、框4206的机器学习系统或它们的组合。
在一些示例中,基于图像数据和一个或多个图生成图像包括使用图像数据和一个或多个图作为与一个或多个受训神经网络不同的第二组一个或多个受训神经网络的输入。第二组一个或多个受训神经网络的示例可以包括图像处理ML系统210、图像处理系统1406、神经网络1500、机器学习(ML)ISP 2300、神经网络系统2303、神经网络架构2400、受训机器学习模型2802、框4206的机器学习系统或它们的组合。在一些示例中,基于图像数据和一个或多个图生成图像包括使用第二组一个或多个受训神经网络对图像数据进行去马赛克。
第二组一个或多个受训神经网络可以包括一个或多个受训卷积神经网络(CNN)、一个或多个CNN、一个或多个受训神经网络(NN)、一个或多个NN、一个或多个受训支持向量机(SVM)、一个或多个SVM、一个或多个受训随机森林、一个或多个随机森林、一个或多个受训决策树、一个或多个决策树、一个或多个受训梯度提升算法、一个或多个梯度提升算法、一个或多个受训回归算法、一个或多个回归算法或它们的组合。第二组一个或多个受训神经网络和/或上面列出的任何机器学习元素(其可以是第二组一个或多个受训神经网络的部分)可以使用监督学习、无监督学习、强化学习、深度学习或它们的组合来进行训练。在一些示例中,第二组一个或多个受训神经网络可以是框4254的一个或多个受训神经网络。在一些示例中,第二组一个或多个受训神经网络可以共享与框4254的一个或多个受训神经网络共有的至少一个受训神经网络。在一些示例中,第二组一个或多个受训神经网络可以不同于框4254的一个或多个受训神经网络。
成像系统可以包括显示屏。成像系统可以包括耦合到显示屏的显示屏连接器。成像系统可以在显示屏上显示图像,例如通过使用显示屏连接器将图像发送到显示屏(和/或显示控制器)。成像系统可以包括可以是有线和/或无线的通信收发器。成像系统可以使用通信收发器将图像传输到接收方设备。接收方设备可以是任何类型的计算系统4300或其任何组件。接收方设备可以是输出设备,例如具有可以显示图像的显示屏和/或投影仪的设备。
在一些方面,成像系统可以包括:用于获得图像数据的单元;用于使用图像数据作为一个或多个受训神经网络的输入来生成一个或多个图的单元,其中一个或多个图中的每个图与相应的图像处理功能相关联;以及用于基于图像数据和一个或多个图生成图像的单元,该图像包括基于与一个或多个图中的每个图相关联的相应图像处理功能的特性。在一些示例中,用于获得图像数据的单元可以包括图像传感器130、图像捕获设备105A、图像捕获和处理系统100、图像传感器2202或其组合。在一些示例中,用于生成一个或多个图的单元可以包括图像处理设备105B、图像捕获和处理系统100、图像处理器150、ISP 154、主机处理器152、图像处理ML系统210、自动调整ML系统1405、神经网络1500、自动调整ML系统1705、局部神经网络1806、全局神经网络1807、神经网络架构1900、神经网络架构2000、神经网络架构2100A、神经网络架构2100B、神经网络架构2100C、神经网络架构2100D、神经网络系统2303、神经网络架构2400、机器学习ISP 2300、受训机器学习模型2802或其组合。在一些示例中,用于生成修改后的图像的单元可以包括图像处理设备105B、图像捕获和处理系统100、图像处理器150、ISP 154、主机处理器152、图像处理ML系统210、图像处理系统1406、神经网络1500、机器学习(ML)ISP 2300、神经网络系统2303、预处理引擎2307、输入接口2301、输出接口2305、神经网络架构2400、受训机器学习模型2802、框4206的机器学习系统或其组合。
在一些示例中,本文描述的过程(例如,过程4200、过程4250和/或本文描述的其他过程)可以由计算设备或装置来执行。在一个示例中,过程4200和/或过程4250可以由图2的图像处理ML系统210执行。在另一示例中,过程4200和/或过程4250可以由具有图43所示的计算系统4300的计算设备执行。例如,具有图43中所示的计算系统4300的计算设备可以包括图像处理ML系统210的组件并且可以实现图43的操作。
计算设备可以包括任何合适的设备,例如移动设备(例如,移动电话)、台式计算设备、平板计算设备、可穿戴设备(例如,VR头戴式耳机、AR头戴式耳机、AR眼镜、联网手表或智能手表或其他可穿戴设备)、服务器计算机、自动驾驶车辆或自动驾驶车辆的计算设备、机器人设备、电视和/或任何其他具有资源能力来执行过程(包括这里描述的过程4200和/或过程4250)的计算设备。在一些情况下,计算设备或装置可以包括各种组件,例如一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机、一个或多个相机、一个或多个传感器和/或被配置为执行本文描述的过程步骤的其他组件。在一些示例中,计算设备可以包括显示器、被配置为传送和/或接收数据的网络接口、它们的任何组合、和/或其他组件。网络接口可以被配置为传送和/或接收基于互联网协议(IP)的数据或其他类型的数据。
计算设备的组件可以在电路中实现。例如,组件可以包括电子电路或其他电子硬件和/或可以使用电子电路或其他电子硬件来实现,这些电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)和/或其他合适的电子电路),和/或可以包括计算机软件、固件或它们的任何组合和/或使用它们来实现,以执行本文描述的各种操作。
过程4200和过程4250被图示为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当计算机可执行指令由一个或多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数量的描述的操作可以以任何顺序和/或并行组合以实现过程。
此外,本文描述的过程4200、过程4250和/或其他过程可以在配置有可执行指令的一个或多个计算机系统的控制下执行并且可以实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用),通过硬件实现或它们的组合。如上所述,代码可以存储在计算机可读或机器可读存储介质上,例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储介质可以是非暂时性的。
图43是图示用于实现本技术的某些方面的系统的示例的图。特别是,图43图示了计算系统4300的示例,其可以是例如构成内部计算系统、远程计算系统、相机或其任何组件的任何计算设备,其中系统的组件使用连接4305彼此通信。连接4305可以是使用总线的物理连接,或者是到处理器4310中的直接连接,例如在芯片组架构中。连接4305也可以是虚拟连接、网络连接或逻辑连接。
在一些实施例中,计算系统4300是分布式系统,其中本公开中描述的功能可以分布在数据中心、多个数据中心、对等网络等内。在一些实施例中,所描述的系统组件中的一个或多个表示许多这样的组件,每个组件执行针对其描述该组件的部分或全部功能。在一些实施例中,组件可以是物理或虚拟设备。
示例系统4300包括至少一个处理单元(CPU或处理器)4310和将包括系统存储器4315(例如只读存储器(ROM)4320和随机存取存储器(RAM)4325)的各种系统组件耦合到处理器4310的连接4305。计算系统4300可以包括高速存储器的高速缓存4312,该高速存储器直接与处理器4310连接、紧邻处理器4310或集成为处理器4310的一部分。
处理器4310可以包括任何通用处理器和硬件服务或软件服务,例如存储在存储设备4330中的服务4332、4334和4336,其被配置为控制处理器4310以及其中软件指令被并入实际的处理器设计的专用处理器。处理器4310本质上可以是完全独立(self-contained)的计算系统,包含多个核心或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或不对称的。
为了实现用户交互,计算系统4300包括输入设备4345,其可以表示任意数量的输入机构,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、动作输入、语音等。计算系统4300还可以包括输出设备4335,其可以是多个输出机构中的一个或多个。在一些情况下,多模式系统可以使用户能够提供多种类型的输入/输出以与计算系统4300通信。计算系统4300可以包括通信接口4340,其通常可以支配和管理用户输入和系统输出。通信接口可以使用有线和/或无线收发器执行或促进接收和/或发送有线或无线通信,所述收发器包括使用以下各项的收发器:音频插孔/插头、麦克风插孔/插头、通用串行总线(USB)端口/插头、端口/插头、以太网端口/插头、光纤端口/插头、专有有线端口/插头、无线信号传输、低能量(BLE)无线信号传输、无线信号传输、射频识别(RFID)无线信号传输、近场通信(NFC)无线信号传输、专用短距离通信(DSRC)无线信号传输、802.11Wi-Fi无线信号传输、无线局域网(WLAN)信号传输、可见光通信(VLC)、全球微波接入互操作性(WiMAX)、红外(IR)通信无线信号传输、公共交换电话网络(PSTN)信号传输、综合业务数字网络(ISDN)信号传输、3G/4G/5G/LTE蜂窝数据网络无线信号传输、自组织网络信号传输、无线电波信号传输、微波信号传输、红外信号传输、可见光信号传输、紫外光信号传输、沿电磁频谱的无线信号传输,或它们的某种组合的那些。通信接口4340还可以包括一个或多个全球导航卫星系统(GNSS)接收器或收发器,其用于基于从与一个或多个GNSS系统相关联的一个或多个卫星接收到一个或多个信号来确定计算系统4300的位置。GNSS系统包括但不限于美国的全球定位系统(GPS)、俄罗斯的全球导航卫星系统(GLONASS)、中国的北斗导航卫星系统(BDS)和欧洲的伽利略全球导航卫星系统。对在任何特定硬件配置上的操作没有限制,因此这里的基本特征可以很容易地替换为改进的硬件或固件配置,因为它们正在开发。
存储设备4330可以是非易失性和/或非暂时性和/或计算机可读存储设备,并且可以是硬盘或可以存储计算机可访问的数据的其他类型的计算机可读介质,例如磁盒式磁带、闪存卡、固态存储设备、数字多功能磁盘、盒式磁带、软盘、柔性盘、硬盘、磁带、磁条/条带、任何其他磁性存储介质、闪存、忆阻器存储器、任何其他固态存储器、光盘只读存储器(CD-ROM)光盘、可重写光盘(CD)光盘、数字视频光盘(DVD)光盘、蓝光光盘(BDD)光盘、全息光盘、另一种光学介质、安全数字(SD)卡、微型安全数字(microSD)卡、Memory卡、智能卡芯片、EMV芯片、用户身份模块(SIM)卡、迷你/微型/纳米/微微SIM卡、另一个集成电路(IC)芯片/卡、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器存储器(EEPROM)、闪存EPROM(FLASHEPROM)、高速缓冲存储器(L1/L2/L3/L4/L5/L#)、电阻随机存取存储器(RRAM/ReRAM)、相变存储器(PCM)、自旋转移矩RAM(STT-RAM)、另一种存储芯片或盒式磁带和/或它们的组合。
存储设备4330可以包括软件服务、服务器、服务等,当处理器4310执行定义这种软件的代码时,它使系统执行功能。在一些实施例中,执行特定功能的硬件服务可以包括存储在计算机可读介质中的软件组件,该软件组件与必要的硬件组件(例如处理器4310、连接4305、输出设备4335等)相结合以执行功能。
如本文所用,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备以及能够存储、包含或携带指令和/或数据的各种其他介质。计算机可读介质可以包括其中可以存储数据并且不包括无线地或通过有线连接传播的载波和/或瞬态电子信号的非暂时性态介质。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如压缩盘(CD)或数字多功能盘(DVD)之类的光存储介质、闪存、存储器或存储器设备。计算机可读介质上可能存储有代码和/或机器可执行指令,它们可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类或任何指令、数据结构或程序语句的组合。通过传递和/或接收信息、数据、自变量、参数或存储器内容,代码段可以耦合到另一个代码段或硬件电路。信息、自变量、参数、数据等可以使用包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的方式来传递、转发或传输。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的线缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确排除诸如能量、载波信号、电磁波和信号本身之类的介质。
在以上描述中提供了具体细节以提供对本文提供的实施例和示例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践实施例。为了解释的清楚起见,在某些情况下,本技术可以被呈现为包括单独的功能块,包括包含设备、设备组件、以软件或硬件和软件的组合实施的方法中的步骤或例程的功能块。可以使用除了图中所示和/或本文描述的那些之外的附加组件。例如,电路、系统、网络、过程和其他组件可以被显示为框图形式的组件,以免在不必要的细节中混淆实施例。在其他情况下,可以在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构和技术,以避免混淆实施例。
各个实施例可以在上面被描述为描绘为流程图表、流程图、数据流程图、结构图或框图的过程或方法。尽管流程图可以将操作描述为顺序过程,但许多操作可以并行或同时执行。此外,可以重新安排操作的顺序。一个过程在其操作完成时终止,但可能有图中未包含的其他步骤。进程可以对应于方法、函数、过程、子例程、子程序等。当进程对应于函数时,其终止可以对应于函数返回调用函数或主函数。
根据上述示例的过程和方法可以使用存储或以其他方式从计算机可读介质获得的计算机可执行指令来实现。这样的指令可以包括例如导致或以其他方式配置通用计算机、专用计算机或处理设备以执行特定功能或功能组的指令和数据。使用的部分计算机资源可以通过网络访问。计算机可执行指令可以是例如二进制文件、中间格式指令,例如汇编语言、固件、源代码等。可用于存储在根据所述示例的方法期间使用的指令、信息和/或创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、提供有非易失性存储器的USB设备、网络存储设备等。
实现根据这些公开的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用多种形式因素中的任何一种。当以软件、固件、中间件或微代码实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。形式因素的典型示例包括膝上型电脑、智能手机、移动电话、平板设备或其他小型个人电脑、个人数字助理、机架式设备、独立设备等。这里描述的功能也可以体现在外围设备或附加卡中。作为进一步的示例,这种功能还可以在不同芯片或在单个设备中执行的不同过程之间的电路板上实现。
指令、用于传送此类指令的介质、用于执行它们的计算资源、以及用于支持此类计算资源的其他结构是用于提供本公开中描述的功能的示例单元。
在前面的描述中,参考其具体实施例描述了本申请的各个方面,但是本领域的技术人员将认识到本申请不限于此。因此,虽然本文已经详细描述了本申请的说明性实施例,但是应当理解,本发明构思可以以其他方式不同地体现和采用,并且所附权利要求旨在被解释为包括这样的变化,除非受到现有技术限制。上述应用的各种特征和方面可以单独或联合使用。此外,实施例可用于本文所述之外的任何数量的环境和应用中,而不背离本说明书的更广泛的精神和范围。因此,说明书和附图被认为是说明性的而不是限制性的。出于说明的目的,以特定顺序描述了方法。应当意识到,在替代实施例中,可以以与所描述的顺序不同的顺序来执行这些方法。
普通技术人员将理解,本文使用的小于(“<”)和大于(“>”)符号或术语可以用小于或等于(“≤”)和大于或等于(“≥”)符号替换到,而不背离本说明书的范围。
在将组件描述为“配置为”执行某些操作的情况下,可以通过例如设计电子电路或其他硬件来执行操作、通过对可编程电子电路(例如,微处理器或其他合适的电子电路)进行编程来执行操作,或其任何组合来实现这样的配置。
短语“耦合到”是指直接或间接物理连接到另一个组件的任何组件,和/或直接或间接与另一个组件通信(例如,通过有线或无线连接连接到另一个组件,和/或其他合适的通信接口)的任何组件。
权利要求语言或引用一组中“至少一个”和/或一组中“一个或多个”的其他语言表示该组的一个成员或该组的多个成员(以任何组合)满足权利要求。例如,叙述“A和B中的至少一个”的权利要求语言是指A、B或A和B。在另一个示例中,声明“A、B和C中的至少一个”的权利要求语言是指A、B、C、或A和B、或A和C、或B和C、或A和B和C。语言一组中“至少一个”集合和/或一组中“一个或多个”不将组限制为组中列出的项目。例如,叙述“A和B中的至少一个”的权利要求语言可以表示A、B或A和B,并且可以另外包括未在A和B的集合中列出的项目。
结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,各种说明性组件、块、模块、电路和步骤已经在上面大体上根据它们的功能进行了描述。这种功能是作为硬件还是软件实现取决于特定应用和施加在整个系统上的设计约束。熟练的技术人员可以针对每个特定应用以不同的方式实现所描述的功能,但是这样的实现决策不应被解释为导致背离本申请的范围。
本文所述的技术也可以在电子硬件、计算机软件、固件或它们的任何组合中实现。这样的技术可以在任何多种设备中实现,例如通用计算机、无线通信设备手机或具有多种用途的集成电路设备,包括在无线通信设备手机和其他设备中的应用。描述为模块或组件的任何特征都可以在集成逻辑设备中一起实现,或者作为分立但可互操作的逻辑设备单独实现。如果以软件实现,则该技术可以至少部分地由包括程序代码的计算机可读数据存储介质实现,该程序代码包括指令,当被执行时,执行上述方法中的一个或多个。计算机可读数据存储介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括存储器或数据存储介质,例如随机存取存储器(RAM),例如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。附加地或替代地,这些技术可以至少部分地通过计算机可读通信介质来实现,该计算机可读通信介质以指令或数据结构的形式承载或传送程序代码并且可以由计算机访问、读取和/或执行,例如传播的信号或波。
程序代码可由处理器执行,该处理器可包括一个或多个处理器,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路。此类处理器可经配置以执行本发明中所描述的任何技术。通用处理器可以是微处理器;但在备选方案中,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP核心相结合,或任何其他这样的配置。因此,如本文所用的术语“处理器”可指任何前述结构、前述结构的任何组合、或适用于实施本文所述技术的任何其他结构或装置。此外,在一些方面,本文描述的功能可以在被配置用于编码和解码的专用软件模块或硬件模块中提供,或者并入组合的视频编码器-解码器(CODEC)中。
本公开的说明性方面包括:
方面1.一种用于处理图像数据的方法,该方法包括:获取图像数据;获得一个或多个图,其中一个或多个图的每个图与相应图像处理功能相关联;以及使用图像数据和一个或多个图作为机器学习系统的输入来生成修改后的图像,修改后的图像包括基于与一个或多个图中的每个图相关联的相应图像处理功能的特性。
方面2.根据方面1所述的方法,其中所述一个或多个图中的图包括多个值并且与图像处理功能相关联,所述图的多个值中的每个值指示所述图像处理功能应用于图像数据的对应像素的量。
方面3.根据方面1至2中任一项所述的方法,其中与所述一个或多个图相关联的一个或多个图像处理功能包括降噪功能、锐度调整功能、色调调整功能、饱和度调整功能和色相调整功能中的至少一个。
方面4.根据方面1至3中任一项所述的方法,其中所述一个或多个图包括多个图,所述多个图中的第一图与第一图像处理功能相关联,并且所述多个图中的第二图与第二图像处理功能相关联。
方面5.根据方面4所述的方法,其中所述第一图包括第一多个值,所述第一图的所述第一多个值中的每个值指示要应用于所述图像数据的对应像素的所述第一图像处理功能的量,并且其中所述第二图包括第二多个值,所述第二图的所述第二多个值中的每个值指示要应用于所述图像数据的对应像素的所述第二图像处理功能的量。
方面6.根据方面4至5中任一项所述的方法,其中与所述多个图中的第一图相关联的第一图像处理功能包括降噪功能、锐度调整功能、色调调整功能、饱和度调整功能和色调调整功能中的一个,并且其中与所述多个图中的第二图相关联的第二图像处理功能包括所述降噪功能、所述锐度调整功能、所述色调调整功能、所述饱和度调整功能和所述色相调整功能中的不同的一个。
方面7.根据方面1至6中任一项所述的方法,还包括:使用不同于用于生成修改后的图像的机器学习系统的附加机器学习系统来生成一个或多个图。
方面8.根据方面1至7中任一项所述的方法,其中所述图像数据包括处理后图像,处理后图像针对所述图像数据的每个像素具有多个颜色分量。
方面9.根据方面1至7中任一项所述的方法,其中所述图像数据包括来自一个或多个图像传感器的原始图像数据,所述原始图像数据针对所述图像数据的每个像素包括单一颜色分量。
方面10.根据方面9所述的方法,其中所述原始图像数据是从由滤色器阵列滤波的一个或多个图像传感器获得的。
方面11.根据方面10所述的方法,其中所述滤色器阵列包括拜耳滤色器阵列。
方面12.根据方面1至11中任一项所述的方法,其中,所述图像数据包括图像数据贴片,所述图像数据贴片包括图像数据帧的子集。
方面13.根据方面12所述的方法,其中生成所述修改后的图像包括生成多个输出图像数据贴片,每个输出图像数据贴片包括所述输出图像的像素子集。
方面14.根据方面1至13中任一项所述的方法,其中所述机器学习系统包括至少一个神经网络。
方面15.一种装置,包括被配置为存储图像数据的存储器和在电路中实现并且被配置为执行根据方面1至14中任一个的操作的处理器。
方面16.根据方面15所述的装置,其中所述装置是相机。
方面17.根据方面15所述的装置,其中所述装置是包括相机的移动设备。
方面18.根据方面15至17中任一项所述的装置,还包括被配置为显示一个或多个图像的显示器。
方面19.根据方面15至18中任一项所述的装置,还包括被配置为捕获一个或多个图像的相机。
方面20.一种存储指令的计算机可读存储介质,所述指令在被执行时使设备的一个或多个处理器执行方面1至14中任一项的方法。
方面21.一种装置,包括用于执行根据方面1至14中任一项的操作的一个或多个单元。
方面22.一种用于处理图像数据的装置,该装置包括用于执行根据方面1至14中任一项的操作的单元。
方面23.一种存储指令的计算机可读存储介质,所述指令在被执行时使一个或多个处理器执行根据方面1至14中任一项的操作。
方面24.一种用于处理图像数据的装置,该装置包括:存储器;以及一个或多个处理器,耦合到所述存储器,所述一个或多个处理器被配置为:获取图像数据;使用所述图像数据作为一个或多个受训神经网络的输入,生成一个或多个图,其中所述一个或多个图中的每个图与相应的图像处理功能相关联;基于所述图像数据和所述一个或多个图生成图像,该图像包括基于与所述一个或多个图中的每个图相关联的相应图像处理功能的特性。
方面25.如方面24所述的装置,其中所述一个或多个图中的图包括多个值并且与图像处理功能相关联,所述图的多个值中的每个值指示将所述图像处理功能应用于图像数据的对应区域的强度。
方面26.根据方面25所述的装置,其中所述图像数据的对应区域对应于所述图像的像素。
方面27.根据方面24至26中任一项所述的装置,其中所述一个或多个图包括多个图,所述多个图中的第一图与第一图像处理功能相关联,并且所述多个图中的第二图与第二图像处理功能相关联。
方面28.根据方面27所述的装置,其中与所述多个图中的至少一个图相关联的一个或多个图像处理功能包括降噪功能、锐度调整功能、细节调整功能、色调调整功能、饱和度调整功能和色相调整功能中的至少一个。
方面29.根据方面27至28中任一项所述的装置,其中所述第一图包括第一多个值,所述第一图的所述第一多个值中的每个值指示将所述第一图像处理功能应用于所述图像数据的对应区域的强度,并且其中第二图包括第二多个值,所述第二图的所述第二多个值中的每个值指示将所述第二图像处理功能应用于所述图像数据的对应区域的强度。
方面30.根据方面24至29中任一项所述的装置,其中所述图像数据包括对应于图像的亮度通道数据,其中使用所述图像数据作为所述一个或多个受训神经网络的输入包括使用对应于所述图像的所述亮度通道数据作为所述一个或多个受训神经网络的输入。
方面31.根据方面30所述的装置,其中基于所述图像数据生成所述图像包括基于所述亮度通道数据以及对应于所述图像的色度数据生成所述图像。
方面32.根据方面30至31中任一项所述的装置,其中所述一个或多个受训神经网络基于将所述图像数据用作所述一个或多个受训神经网络的输入来输出一个或多个仿射系数,其中生成所述一个或多个图包括至少通过使用所述一个或多个仿射系数变换所述图像数据来生成第一图。
方面33.根据方面30至32中任一项所述的装置,其中所述图像数据包括对应于图像的亮度通道数据,其中使用所述一个或多个仿射系数变换所述图像数据包括使用所述一个或多个仿射系数变换所述亮度通道数据。
方面34.根据方面30至33中任一项所述的装置,其中所述一个或多个仿射系数包括乘数,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值乘以所述乘数。
方面35.根据方面30至34中任一项所述的装置,其中所述一个或多个仿射系数包括偏移量,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值偏移所述偏移量。
方面36.如方面30至35中任一项所述的装置,其中所述一个或多个受训神经网络还基于将所述第一图中的一个或多个梯度与所述图像数据中的一个或多个梯度对齐的局部线性度约束来输出所述一个或多个仿射系数。
方面37.如方面24至36中任一项所述的装置,其中为了基于所述图像数据和所述一个或多个图来生成所述图像,所述一个或多个处理器被配置为使用所述图像数据和所述一个或多个图作为对与所述一个或多个受训神经网络不同的第二组一个或多个受训神经网络的输入。
方面38.根据方面37所述的装置,其中,为了基于所述图像数据和所述一个或多个图来生成所述图像,所述一个或多个处理器被配置为使用所述第二组一个或多个受训神经网络来对所述图像数据进行去马赛克。
方面39.根据方面24至38中任一项所述的装置,其中所述一个或多个图中的每个图基于所述图像数据中描绘的不同类型的对象而在空间上变化。
方面40.根据方面24至39中任一项所述的装置,其中所述图像数据包括输入图像,所述输入图像具有用于所述图像数据的多个像素中的每个像素的多个颜色分量。
方面41.根据方面24至40中任一项所述的装置,其中所述图像数据包括来自一个或多个图像传感器的原始图像数据,所述原始图像数据包括所述图像数据的多个像素中的每个像素的至少一个颜色分量。
方面42.根据方面24至41中任一项所述的装置,还包括:图像传感器,其捕获图像数据,其中获得所述图像数据包括从所述图像传感器获得所述图像数据。
方面43.根据方面24至42中任一项所述的装置,还包括:显示屏,其中所述一个或多个处理器被配置为在所述显示屏上显示所述图像。
方面44.根据方面24至43中任一项所述的装置,还包括:通信收发器,其中所述一个或多个处理器被配置为使用所述通信收发器将所述图像发送到接收方设备。
方面45.一种用于处理图像数据的方法,该方法包括:获取图像数据;使用所述图像数据作为一个或多个受训神经网络的输入来生成一个或多个图,其中一个或多个图中的每个图与相应的图像处理功能相关联;以及基于所述图像数据和所述一个或多个图生成图像,该图像包括基于与所述一个或多个图中的每个图相关联的相应图像处理功能的特性。
方面46.根据方面45所述的方法,其中所述一个或多个图中的图包括多个值并且与图像处理功能相关联,所述图的多个值中的每个值指示将所述图像处理功能应用于所述图像数据的对应区域的强度。
方面47.根据方面46所述的方法,其中所述图像数据的对应区域对应于所述图像的像素。
方面48.根据方面45至47中任一项所述的方法,其中,所述一个或多个图包括多个图,所述多个图中的第一图与第一图像处理功能相关联,并且所述多个图中的第二图与第二图像处理功能相关联。
方面49.根据方面48所述的方法,其中与所述多个图中的至少一个相关联的一个或多个图像处理功能包括降噪功能、锐度调整功能、细节调整功能、色调调整功能、饱和度调整功能和色相调整功能中的至少一个。
方面50.根据方面48至49中任一项所述的方法,其中所述第一图包括第一多个值,所述第一图的所述第一多个值中的每个值指示将所述第一图像处理功能应用于图像数据的对应区域的强度,并且其中第二图包括第二多个值,第二图的第二多个值中的每个值指示将第二图像处理功能应用于图像数据的对应区域的强度。
方面51.根据方面45至50中任一项所述的方法,其中所述图像数据包括对应于图像的亮度通道数据,其中使用所述图像数据作为所述一个或多个受训神经网络的输入包括使用对应于图像的亮度通道数据作为一个或多个受训神经网络的输入。
方面52.根据方面51所述的方法,其中基于所述图像数据生成所述图像包括基于所述亮度通道数据以及对应于所述图像的色度数据来生成所述图像。
方面53.根据方面45至52中任一项所述的方法,其中所述一个或多个受训神经网络基于将所述图像数据用作所述一个或多个受训神经网络的输入来输出一个或多个仿射系数,其中生成所述一个或多个图包括至少通过使用所述一个或多个仿射系数变换所述图像数据来生成第一图。
方面54.根据方面53所述的方法,其中所述图像数据包括对应于图像的亮度通道数据,其中使用所述一个或多个仿射系数变换所述图像数据包括使用所述一个或多个仿射系数变换所述亮度通道数据。
方面55.根据方面53至54中任一项所述的方法,其中所述一个或多个仿射系数包括乘数,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值乘以所述乘数。
方面56.根据方面53至55中任一项所述的方法,其中所述一个或多个仿射系数包括偏移量,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值偏移所述偏移量。
方面57.如方面53至56中任一项所述的方法,其中所述一个或多个受训神经网络还基于将第一图中的一个或多个梯度与图像数据中的一个或多个梯度对齐的局部线性度约束输出一个或多个仿射系数。
方面58.根据方面45至57中任一项所述的方法,其中基于所述图像数据和所述一个或多个图生成所述图像包括使用所述图像数据和所述一个或多个图作为对不同于所述一个或多个受训神经网络的第二组一个或多个受训神经网络的输入。
方面59.根据方面58所述的方法,其中基于所述图像数据和所述一个或多个图来生成所述图像包括使用第二组一个或多个受训神经网络对所述图像数据进行去马赛克。
方面60.根据方面45至59中任一项所述的方法,其中所述一个或多个图中的每个图基于所述图像数据中描绘的不同类型的对象在空间上变化。
方面61.根据方面45至60中任一项所述的方法,其中所述图像数据包括输入图像,所述输入图像具有用于所述图像数据的多个像素中的每个像素的多个颜色分量。
方面62.根据方面45至61中任一项所述的方法,其中所述图像数据包括来自一个或多个图像传感器的原始图像数据,所述原始图像数据包括用于图像数据的多个像素中的每个像素的至少一个颜色分量。
方面63.根据方面45至62中任一项所述的方法,其中获得所述图像数据包括从图像传感器获得所述图像数据。
方面64.根据方面45至63中任一项所述的方法,还包括:在显示屏上显示所述图像。
方面65.根据方面45至64中任一项所述的方法,还包括:使用通信收发器将所述图像发送到接收方设备。
方面66.一种存储指令的计算机可读存储介质,所述指令在被执行时使设备的一个或多个处理器执行方面45至64中任一项的方法。
方面67.一种装置,包括用于执行根据方面45至64中任一项的操作的一个或多个单元。
方面68.一种用于处理图像数据的装置,该装置包括用于执行根据方面45至64中任一项的操作的单元。
方面69:一种存储指令的计算机可读存储介质,所述指令在被执行时使一个或多个处理器执行根据方面45至64中任一项的操作。
方面70.一种用于处理图像数据的装置,该装置包括:存储器;一个或多个处理器,耦合到所述存储器,所述一个或多个处理器被配置为:获取图像数据;使用所述图像数据作为机器学习系统的输入,生成一个或多个图,其中所述一个或多个图中的每个图与相应的图像处理功能相关联;基于所述图像数据和所述一个或多个图生成图像,该图像包括基于与所述一个或多个图中的每个图相关联的相应图像处理功能的特性。
方面71.根据方面70所述的装置,其中所述一个或多个图中的图包括多个值并且与图像处理功能相关联,所述图的多个值中的每个值指示将所述图像处理功能应用于图像数据的对应区域的强度。
方面72.根据方面71所述的装置,其中所述图像数据的对应区域对应于所述图像的像素。
方面73.根据方面70至72中任一项所述的装置,其中所述一个或多个图包括多个图,所述多个图中的第一图与第一图像处理功能相关联,并且所述多个图中的第二图与第二图像处理功能相关联。
方面74.根据方面73所述的装置,其中与所述多个图中的至少一个图相关联的一个或多个图像处理功能包括降噪功能、锐度调整功能、细节调整功能、色调调整功能、饱和度调整功能和色相调整功能中的至少一个。
方面75.根据方面73至74中任一项所述的装置,其中所述第一图包括第一多个值,所述第一图的所述第一多个值中的每个值指示将所述第一图像处理功能应用于所述图像数据的对应区域的强度,并且其中第二图包括第二多个值,所述第二图的所述第二多个值中的每个值指示将所述第二图像处理功能应用于所述图像数据的对应区域的强度。
方面76.根据方面70至29中任一项所述的装置,其中所述图像数据包括对应于图像的亮度通道数据,其中使用所述图像数据作为机器学习系统的输入包括使用对应于所述图像的所述亮度通道数据作为所述机器学习系统的输入。
方面77.根据方面76所述的装置,其中基于所述图像数据生成所述图像包括基于所述亮度通道数据以及对应于所述图像的色度数据生成所述图像。
方面78.根据方面76至77中任一项所述的装置,其中所述机器学习系统基于将所述图像数据用作所述机器学习系统的输入来输出一个或多个仿射系数,其中生成所述一个或多个图包括至少通过使用所述一个或多个仿射系数变换所述图像数据来生成第一图。
方面79.根据方面76至78中任一项所述的装置,其中所述图像数据包括对应于图像的亮度通道数据,其中使用所述一个或多个仿射系数变换所述图像数据包括使用所述一个或多个仿射系数变换所述亮度通道数据。
方面80.根据方面76至79中任一项所述的装置,其中所述一个或多个仿射系数包括乘数,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值乘以所述乘数。
方面81.根据方面76至80中任一项所述的装置,其中所述一个或多个仿射系数包括偏移量,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值偏移所述偏移量。
方面82.根据方面76至81中任一项所述的装置,其中所述机器学习系统还基于将所述第一图中的一个或多个梯度与所述图像数据中的一个或多个梯度对齐的局部线性度约束来输出所述一个或多个仿射系数。
方面83.根据方面70至82中任一项所述的装置,其中,为了基于所述图像数据和所述一个或多个图来生成所述图像,所述一个或多个处理器被配置为使用所述图像数据和所述一个或多个图作为与所述机器学习系统不同的第二组机器学习系统的输入。
方面84.根据方面83所述的装置,其中,为了基于所述图像数据和所述一个或多个图来生成所述图像,所述一个或多个处理器被配置为使用所述第二组机器学习系统来对所述图像数据进行去马赛克。
方面85.根据方面70至84中任一项所述的装置,其中所述一个或多个图中的每个图基于所述图像数据中描绘的不同类型的对象而在空间上变化。
方面86.根据方面70至85中任一项所述的装置,其中所述图像数据包括输入图像,所述输入图像具有用于所述图像数据的多个像素中的每个像素的多个颜色分量。
方面87.根据方面70至86中任一项所述的装置,其中所述图像数据包括来自一个或多个图像传感器的原始图像数据,所述原始图像数据包括所述图像数据的多个像素中的每个像素的至少一个颜色分量。
方面88.根据方面70至87中任一项所述的装置,还包括:图像传感器,其捕获图像数据,其中获得所述图像数据包括从所述图像传感器获得所述图像数据。
方面89.根据方面70至88中任一项所述的装置,还包括:显示屏,其中所述一个或多个处理器被配置为在所述显示屏上显示所述图像。
方面90.根据方面70至89中任一项所述的装置,还包括:通信收发器,其中所述一个或多个处理器被配置为使用所述通信收发器将所述图像发送到接收方设备。
方面91.一种用于处理图像数据的方法,该方法包括:获取图像数据;使用所述图像数据作为机器学习系统的输入来生成一个或多个图,其中一个或多个图中的每个图与相应的图像处理功能相关联;基于所述图像数据和所述一个或多个图生成图像,该图像包括基于与所述一个或多个图中的每个图相关联的相应图像处理功能的特性。
方面92.根据方面91所述的方法,其中所述一个或多个图中的图包括多个值并且与图像处理功能相关联,所述图的多个值中的每个值指示将所述图像处理功能应用于所述图像数据的对应区域的强度。
方面93.根据方面92所述的方法,其中图像数据的对应区域对应于图像的像素。
方面94.根据方面91至93中任一项所述的方法,其中所述一个或多个图包括多个图,所述多个图中的第一图与第一图像处理功能相关联,并且所述多个图中的第二图与第二图像处理功能相关联。
方面95.根据方面94所述的方法,其中与所述多个图中的至少一个相关联的一个或多个图像处理功能包括降噪功能、锐度调整功能、细节调整功能、色调调整功能、饱和度调整功能和色相调整功能中的至少一个。
方面96.根据方面94至95中任一项所述的方法,其中所述第一图包括第一多个值,所述第一图的所述第一多个值中的每个值指示将所述第一图像处理功能应用于图像数据的对应区域的强度,并且其中第二图包括第二多个值,第二图的第二多个值中的每个值指示将第二图像处理功能应用于图像数据的对应区域的强度。
方面97.根据方面91至96中任一项所述的方法,其中所述图像数据包括对应于图像的亮度通道数据,其中使用所述图像数据作为所述机器学习系统的输入包括使用对应于所述图像的所述亮度通道数据作为所述机器学习系统的输入。
方面98.根据方面97所述的方法,其中基于所述图像数据生成所述图像包括基于所述亮度通道数据以及对应于所述图像的色度数据来生成所述图像。
方面99.根据方面91至98中任一项所述的方法,其中所述机器学习系统基于将所述图像数据用作所述机器学习系统的输入来输出一个或多个仿射系数,其中生成所述一个或多个图包括至少通过使用所述一个或多个仿射系数变换所述图像数据来生成第一图。
方面100.根据方面99所述的方法,其中所述图像数据包括对应于图像的亮度通道数据,其中使用所述一个或多个仿射系数变换所述图像数据包括使用所述一个或多个仿射系数变换所述亮度通道数据。
方面101.根据方面99至100中任一项所述的方法,其中所述一个或多个仿射系数包括乘数,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值乘以所述乘数。
方面102.根据方面99至101中任一项所述的方法,其中所述一个或多个仿射系数包括偏移量,其中使用所述一个或多个仿射系数变换所述图像数据包括将所述图像数据的至少一个子集的亮度值偏移所述偏移量。
方面103.根据方面99至102中任一项所述的方法,其中所述机器学习系统还基于将所述第一图中的一个或多个梯度与图像数据中的一个或多个梯度对齐的局部线性度约束来输出所述一个或多个仿射系数。
方面104.根据方面91至103中任一项所述的方法,其中基于所述图像数据和所述一个或多个图生成所述图像包括使用所述图像数据和所述一个或多个图作为对不同于所述机器学习系统的第二组机器学习系统的输入。
方面105.根据方面104所述的方法,其中基于所述图像数据和所述一个或多个图来生成图像包括使用第二组机器学习系统对图像数据进行去马赛克。
方面106.根据方面91至105中任一项所述的方法,其中所述一个或多个图中的每个图基于所述图像数据中描绘的不同类型的对象而在空间上变化。
方面107.根据方面91至106中任一项所述的方法,其中所述图像数据包括输入图像,所述输入图像具有用于所述图像数据的多个像素中的每个像素的多个颜色分量。
方面108.根据方面91至107中任一项所述的方法,其中所述图像数据包括来自一个或多个图像传感器的原始图像数据,所述原始图像数据包括用于图像数据的多个像素的每个像素的至少一个颜色分量。
方面109.根据方面91至108中任一项所述的方法,其中获得所述图像数据包括从图像传感器获得所述图像数据。
方面110.根据方面91至109中任一项所述的方法,还包括:在显示屏上显示所述图像。
方面111.根据方面91至110中任一项所述的方法,进一步包括:使用通信收发器将所述图像发送到接收方设备。
方面112.一种存储指令的计算机可读存储介质,所述指令在被执行时使设备的一个或多个处理器执行方面91至111中任一项的方法。
方面113.一种装置,包括用于执行根据方面91至111中任一项的操作的一个或多个单元。
方面114.一种用于处理图像数据的装置,该装置包括用于执行根据方面91至111中任一项的操作的单元。
方面115.一种存储指令的计算机可读存储介质,所述指令在被执行时使一个或多个处理器执行根据方面91至111中任一项的操作。
Claims (30)
1.一种用于处理图像数据的装置,所述装置包括:
存储器;以及
一个或多个处理器,其耦合到所述存储器,所述一个或多个处理器被配置为:
获取图像数据;
使用所述图像数据作为一个或多个受训神经网络的输入,生成一个或多个图,其中,所述一个或多个图中的每个图与相应图像处理功能相关联;以及
基于所述图像数据和所述一个或多个图来生成图像,所述图像包括基于与所述一个或多个图中的每个图相关联的所述相应图像处理功能的特性。
2.根据权利要求1所述的装置,其中,所述一个或多个图中的图包括多个值并且与图像处理功能相关联,所述图的所述多个值中的每个值指示将所述图像处理功能应用于所述图像数据的对应区域的强度。
3.根据权利要求2所述的装置,其中,所述图像数据的所述对应区域对应于所述图像的像素。
4.根据权利要求1所述的装置,其中,所述一个或多个图包括多个图,所述多个图中的第一图与第一图像处理功能相关联,并且所述多个图中的第二图与第二图像处理功能相关联。
5.根据权利要求4所述的装置,其中,与所述多个图中的至少一个图相关联的一个或多个图像处理功能包括以下各项中的至少一项:降噪功能、锐度调整功能、细节调整功能、色调调整功能、饱和度调整功能和色相调整功能。
6.根据权利要求4所述的装置,其中,所述第一图包括第一多个值,所述第一图的所述第一多个值中的每个值指示将所述第一图像处理功能应用于所述图像数据的对应区域的强度,并且其中,所述第二图包括第二多个值,所述第二图的所述第二多个值中的每个值指示将所述第二图像处理功能应用于所述图像数据的对应区域的强度。
7.根据权利要求1所述的装置,其中,所述图像数据包括与图像相对应的亮度通道数据,其中,使用所述图像数据作为所述一个或多个受训神经网络的输入包括使用与所述图像相对应的所述亮度通道数据作为所述一个或多个受训神经网络的输入。
8.根据权利要求7所述的装置,其中,基于所述图像数据来生成所述图像包括:基于与所述图像相对应的所述亮度通道数据以及色度数据,生成所述图像。
9.根据权利要求1所述的装置,其中,所述一个或多个受训神经网络基于将所述图像数据用作所述一个或多个受训神经网络的输入来输出一个或多个仿射系数,其中,生成所述一个或多个图包括至少通过使用所述一个或多个仿射系数变换所述图像数据来生成第一图。
10.根据权利要求9所述的装置,其中,所述图像数据包括与图像相对应的亮度通道数据,其中,使用所述一个或多个仿射系数来变换所述图像数据包括使用所述一个或多个仿射系数来变换所述亮度通道数据。
11.根据权利要求9所述的装置,其中,所述一个或多个仿射系数包括乘数,其中,使用所述一个或多个仿射系数来变换所述图像数据包括将所述图像数据的至少一个子集的亮度值乘以所述乘数。
12.根据权利要求9所述的装置,其中,所述一个或多个仿射系数包括偏移量,其中,使用所述一个或多个仿射系数来变换所述图像数据包括将所述图像数据的至少一个子集的亮度值偏移所述偏移量。
13.根据权利要求9所述的装置,其中,所述一个或多个受训神经网络还基于局部线性度约束来输出所述一个或多个仿射系数,所述局部线性度约束将所述第一图中的一个或多个梯度与所述图像数据中的一个或多个梯度对齐。
14.根据权利要求1所述的装置,其中,为了基于所述图像数据和所述一个或多个图来生成所述图像,所述一个或多个处理器被配置为:使用所述图像数据和所述一个或多个图作为与所述一个或多个受训神经网络不同的第二组一个或多个受训神经网络的输入。
15.根据权利要求14所述的装置,其中,为了基于所述图像数据和所述一个或多个图来生成所述图像,所述一个或多个处理器被配置为:使用所述第二组一个或多个受训神经网络来对所述图像数据进行去马赛克。
16.根据权利要求1所述的装置,其中,所述一个或多个图中的每个图基于所述图像数据中描绘的不同类型的对象而在空间上变化。
17.根据权利要求1所述的装置,其中,所述图像数据包括输入图像,所述输入图像针对所述图像数据的多个像素中的每个像素具有多个颜色分量。
18.根据权利要求1所述的装置,其中,所述图像数据包括来自一个或多个图像传感器的原始图像数据,所述原始图像数据针对所述图像数据的多个像素中的每个像素包括至少一个颜色分量。
19.根据权利要求1所述的装置,还包括:
图像传感器,其捕获所述图像数据,其中,获得所述图像数据包括从所述图像传感器获得所述图像数据。
20.根据权利要求1所述的装置,还包括:
显示屏,其中,所述一个或多个处理器被配置为在所述显示屏上显示所述图像。
21.根据权利要求1所述的装置,还包括:
通信收发器,其中,所述一个或多个处理器被配置为使用所述通信收发器将所述图像发送到接收方设备。
22.一种用于处理图像数据的方法,所述方法包括:
获取图像数据;
使用所述图像数据作为一个或多个受训神经网络的输入来生成一个或多个图,其中,所述一个或多个图中的每个图与相应图像处理功能相关联;以及
基于所述图像数据和所述一个或多个图来生成图像,所述图像包括基于与所述一个或多个图中的每个图相关联的所述相应图像处理功能的特性。
23.根据权利要求22所述的方法,其中,所述一个或多个图中的图包括多个值并且与图像处理功能相关联,所述图的所述多个值中的每个值指示将所述图像处理功能应用于所述图像数据的对应区域的强度。
24.根据权利要求22所述的方法,其中,所述一个或多个图包括多个图,所述多个图中的第一图与第一图像处理功能相关联,并且所述多个图中的第二图与第二图像处理功能相关联。
25.根据权利要求22所述的方法,其中,所述图像数据包括与图像相对应的亮度通道数据,其中,使用所述图像数据作为所述一个或多个受训神经网络的输入包括使用与所述图像相对应的所述亮度通道数据作为所述一个或多个受训神经网络的输入。
26.根据权利要求22所述的方法,其中,所述一个或多个受训神经网络基于将所述图像数据用作所述一个或多个受训神经网络的输入来输出一个或多个仿射系数,其中,生成所述一个或多个图包括至少通过使用所述一个或多个仿射系数变换所述图像数据来生成第一图。
27.根据权利要求26所述的方法,其中,所述一个或多个仿射系数包括乘数,其中,使用所述一个或多个仿射系数来变换所述图像数据包括将所述图像数据的至少一个子集的亮度值乘以所述乘数。
28.根据权利要求26所述的方法,其中,所述一个或多个仿射系数包括偏移量,其中,使用所述一个或多个仿射系数来变换所述图像数据包括将所述图像数据的至少一个子集的亮度值偏移所述偏移量。
29.根据权利要求22所述的方法,其中,基于所述图像数据和所述一个或多个图来生成所述图像包括:使用所述图像数据和所述一个或多个图作为与所述一个或多个受训神经网络不同的第二组一个或多个受训神经网络的输入。
30.根据权利要求22所述的方法,其中,所述一个或多个图中的每个图基于所述图像数据中描绘的不同类型的对象而在空间上变化。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063024417P | 2020-05-13 | 2020-05-13 | |
US63/024,417 | 2020-05-13 | ||
US17/316,567 | 2021-05-10 | ||
US17/316,567 US11983846B2 (en) | 2020-05-13 | 2021-05-10 | Machine learning based image adjustment |
PCT/US2021/032316 WO2021231776A1 (en) | 2020-05-13 | 2021-05-13 | Machine learning based image adjustment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115461780A true CN115461780A (zh) | 2022-12-09 |
Family
ID=78512175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180031660.4A Pending CN115461780A (zh) | 2020-05-13 | 2021-05-13 | 基于机器学习的图像调整 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11983846B2 (zh) |
EP (1) | EP4150559A1 (zh) |
JP (1) | JP2023525702A (zh) |
KR (1) | KR20230011288A (zh) |
CN (1) | CN115461780A (zh) |
BR (1) | BR112022022218A2 (zh) |
WO (1) | WO2021231776A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116248895A (zh) * | 2023-05-06 | 2023-06-09 | 上海扬谷网络科技有限公司 | 虚拟现实全景漫游的视频云转码方法及系统 |
CN116991298A (zh) * | 2023-09-27 | 2023-11-03 | 子亥科技(成都)有限公司 | 一种基于对抗神经网络的虚拟镜头控制方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022053060A (ja) * | 2020-09-24 | 2022-04-05 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
US20220329847A1 (en) * | 2021-04-05 | 2022-10-13 | Nvidia Corporation | Superpixel generation and use |
US20220374714A1 (en) * | 2021-05-19 | 2022-11-24 | Nvidia Corporation | Real time enhancement for streaming content |
US11606544B2 (en) * | 2021-06-08 | 2023-03-14 | Black Sesame Technologies Inc. | Neural network based auto-white-balancing |
US11778305B2 (en) * | 2021-06-18 | 2023-10-03 | Qualcomm Incorporated | Composite image signal processor |
US11303800B1 (en) * | 2021-07-13 | 2022-04-12 | Shenzhen GOODIX Technology Co., Ltd. | Real-time disparity upsampling for phase detection autofocus in digital imaging systems |
US20230186446A1 (en) * | 2021-12-15 | 2023-06-15 | 7 Sensing Software | Image processing methods and systems for low-light image enhancement using machine learning models |
CN114331903B (zh) * | 2021-12-31 | 2023-05-12 | 电子科技大学 | 一种图像修复方法及存储介质 |
CN114677291B (zh) * | 2022-02-25 | 2023-05-12 | 荣耀终端有限公司 | 一种图像处理方法、装置及相关设备 |
US20230386144A1 (en) * | 2022-05-27 | 2023-11-30 | Snap Inc. | Automated augmented reality experience creation system |
CN115314604B (zh) * | 2022-10-12 | 2023-03-24 | 杭州魔点科技有限公司 | 色彩校正矩阵的生成方法、系统、电子装置和存储介质 |
KR102664214B1 (ko) * | 2022-12-14 | 2024-05-10 | 고려대학교 산학협력단 | 질감 보존을 위한 자가-잔차 학습 기반 자가 감독 노이즈 제거 장치 및 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4659631B2 (ja) * | 2005-04-26 | 2011-03-30 | 富士重工業株式会社 | 車線認識装置 |
US8649555B1 (en) * | 2009-02-18 | 2014-02-11 | Lucasfilm Entertainment Company Ltd. | Visual tracking framework |
JP2015088096A (ja) * | 2013-11-01 | 2015-05-07 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
WO2019003993A1 (ja) * | 2017-06-26 | 2019-01-03 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
US10643306B2 (en) | 2017-10-11 | 2020-05-05 | Qualcomm Incoporated | Image signal processor for processing images |
US11263782B2 (en) * | 2017-10-11 | 2022-03-01 | Qualcomm Incorporated | Image signal processor for processing images |
CN109191558B (zh) | 2018-07-27 | 2020-12-08 | 深圳市商汤科技有限公司 | 图像打光方法和装置 |
US11776129B2 (en) * | 2020-12-16 | 2023-10-03 | Qualcomm Incorporated | Semantic refinement of image regions |
-
2021
- 2021-05-10 US US17/316,567 patent/US11983846B2/en active Active
- 2021-05-13 BR BR112022022218A patent/BR112022022218A2/pt unknown
- 2021-05-13 WO PCT/US2021/032316 patent/WO2021231776A1/en unknown
- 2021-05-13 EP EP21730730.5A patent/EP4150559A1/en active Pending
- 2021-05-13 CN CN202180031660.4A patent/CN115461780A/zh active Pending
- 2021-05-13 KR KR1020227039018A patent/KR20230011288A/ko active Search and Examination
- 2021-05-13 JP JP2022566701A patent/JP2023525702A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116248895A (zh) * | 2023-05-06 | 2023-06-09 | 上海扬谷网络科技有限公司 | 虚拟现实全景漫游的视频云转码方法及系统 |
CN116248895B (zh) * | 2023-05-06 | 2023-07-21 | 上海扬谷网络科技有限公司 | 虚拟现实全景漫游的视频云转码方法及系统 |
CN116991298A (zh) * | 2023-09-27 | 2023-11-03 | 子亥科技(成都)有限公司 | 一种基于对抗神经网络的虚拟镜头控制方法 |
CN116991298B (zh) * | 2023-09-27 | 2023-11-28 | 子亥科技(成都)有限公司 | 一种基于对抗神经网络的虚拟镜头控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021231776A1 (en) | 2021-11-18 |
US20210360179A1 (en) | 2021-11-18 |
BR112022022218A2 (pt) | 2022-12-13 |
US11983846B2 (en) | 2024-05-14 |
KR20230011288A (ko) | 2023-01-20 |
JP2023525702A (ja) | 2023-06-19 |
EP4150559A1 (en) | 2023-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983846B2 (en) | Machine learning based image adjustment | |
US10643306B2 (en) | Image signal processor for processing images | |
EP3542347B1 (en) | Fast fourier color constancy | |
US11895409B2 (en) | Image processing based on object categorization | |
US11776129B2 (en) | Semantic refinement of image regions | |
US20220138964A1 (en) | Frame processing and/or capture instruction systems and techniques | |
US11810256B2 (en) | Image modification techniques | |
CN113379609A (zh) | 一种图像处理方法、存储介质及终端设备 | |
US20230388623A1 (en) | Composite image signal processor | |
US20220414847A1 (en) | High dynamic range image processing | |
US20230319401A1 (en) | Image capture using dynamic lens positions | |
US20240144717A1 (en) | Image enhancement for image regions of interest | |
WO2023283855A1 (en) | Super resolution based on saliency | |
US20230370727A1 (en) | High dynamic range (hdr) image generation using a combined short exposure image | |
US20240209843A1 (en) | Scalable voxel block selection |
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 |