CN115004220A - 用于原始低光图像增强的神经网络 - Google Patents
用于原始低光图像增强的神经网络 Download PDFInfo
- Publication number
- CN115004220A CN115004220A CN202180002774.6A CN202180002774A CN115004220A CN 115004220 A CN115004220 A CN 115004220A CN 202180002774 A CN202180002774 A CN 202180002774A CN 115004220 A CN115004220 A CN 115004220A
- Authority
- CN
- China
- Prior art keywords
- layer
- pixel
- output
- data
- pixels
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 63
- 238000005282 brightening Methods 0.000 claims abstract description 38
- 230000006835 compression Effects 0.000 claims abstract description 29
- 238000007906 compression Methods 0.000 claims abstract description 29
- 230000008602 contraction Effects 0.000 claims abstract description 28
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 42
- 238000012549 training Methods 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 18
- 238000011176 pooling Methods 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 14
- 239000003086 colorant Substances 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 7
- 230000003287 optical effect Effects 0.000 claims description 4
- 230000002708 enhancing effect Effects 0.000 claims 3
- 230000003247 decreasing effect Effects 0.000 claims 1
- 230000000116 mitigating effect Effects 0.000 claims 1
- 238000005070 sampling Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 20
- 238000001994 activation Methods 0.000 description 13
- 239000000872 buffer Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012015 optical character recognition Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011088 calibration curve Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4015—Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
Abstract
一个神经网络从图像传感器接收拜耳阵列的单色像素,并对像素进行插值以生成全色RGB像素,同时还可以增亮图像以获得更好的细节。在U‑net卷积神经网络中,每个收缩层都添加了一个后向投影(BP)层,其中特征深度随着像素的下采样而增加,而在每个扩展层都加入一个BP通道压缩层,其中特征深度被降低,上采样并提高像素分辨率。BP层中的卷积层使图像变亮和变暗以产生误差,然后将其变亮并加到加权的变亮输入中。神经网络学习最佳权重,以纠正这些BP层的增亮过程中的噪声和误差。对于执行增亮的BP层中的第一卷积,通过重复卷积和泄漏整流线性单元(lrelu),进一步降低噪声。
Description
【技术领域】
本发明涉及推进***,特别涉及克服大质量物体重力的方法。
【背景技术】
图像处理被广泛用于面部识别、光学字符识别(OCR)等任务,例如读取行驶中汽车的车牌,以及用于自主车辆防撞的物体跟踪。图像数据通常使用神经网络进行处理。
人工神经网络对于以复杂的方式处理大量数据特别有用,而这些数据很难用传统的计算机程序来处理。不是使用指令编程,而是将训练数据输入到神经网络并与预期输出进行比较,然后在神经网络内进行调整,再次处理训练数据并比较输出以产生对神经网络的进一步调整。在多次这样的训练周期之后,神经网络被改变成可以有效地处理类似训练数据和预期输出的数据。神经网络是机器学习的一个例子,因为神经网络学习如何为训练数据生成预期输出。然后可以将类似训练数据的真实数据输入到神经网络中,以处理实时数据。
图1显示一个现有技术的神经网络。输入节点102、104、106、108接收输入数据I1、I2、I3、...I4,而输出节点103、105、107、109输出神经网络运算的结果:输出数据O1、O2、O3、...O4。在这个神经网络中有三层运算。节点110、112、114、116、118中的每一个节点都从一个或多个输入节点102、104、106、108中获取输入,执行一些运算,诸如加、减、乘或更复杂运算,然后发送和输出到第二层的节点。第二层节点120、122、124、126、128、129也接收多个输入,合并这些输入以产生一个输出,并将输出发送到第三层节点132、134、136、138、139,类似地合并输入并产生输出。
每层的输入通常会被加权,因此在每个节点上都会产生加权和(或其他加权运算结果)。这些权重可以表示为W31、W32、W32、W33、...W41等,并在训练期间可以调整其值。通过试错或其他训练程序,最终可以将较高的权重分配给产生预期输出的路径,而将较小权重分配给不产生预期输出的路径。机器将学会了哪些路径能产生预期输出,并为这些路径上的输入分配高权重。
这些权重可以存储在权重存储器100中。由于许多神经网络都具有多个节点,所以在权重存储器100中存储有多个权重。每个权重可能需要多个二进制比特来表示该权重的可能值的范围
深度神经网络具有多层节点,常用于物体分类、语音识别、情感分析、图像识别、面部检测和其他图形处理等应用。视频序列中的图像可以由智能数码相机***拍摄和处理。
图2是一个智能数码相机***的方框图。光线通过透镜聚焦,然后被导向传感器512,其可以是一个电荷耦合器件(CCD)阵列或互补金属氧化物半导体(CMOS)传感器阵列。落在阵列上的光线产生电流,这些电流在被A/D转换器从模拟值转换为数字值之前,被模拟放大器放大。一个8、9或10-比特的单色像素被输出到图像信号处理器(ISP)502。这些单色像素呈拜耳阵列(Bayer-pattern),如图3所示。每个像素要么是红色,要么是蓝色,要么是绿色强度。每个像素只有3个颜色分量中的一个,而不是每个像素都有3个分量。
拜耳(或拜尔)阵列中的R、G或B数字值由一个内插器(如ISP 502中的色彩空间转换器)处理,以内插拜耳阵列中的缺失像素。每个填充的像素都有全部3个颜色分量–R、G和B。完整RGB图案中的被填充的RGB像素被输出,供***芯片(SoC)504进一步处理或在显示设备上显示,如液晶显示器(LCD)平面屏幕(未示出)。
传感器512检测红色、蓝色和绿色。然而,传感器12中的每个阵列点只能检测三原色中的一种。传感器512不是输出一个RGB像素,而是可以在任何给定时间只输出一个单色像素。例如,传感器512输出的一行像素可能有一个红色像素,然后是一个绿色像素。另一行可能有交替的绿色和蓝色像素。
每个像素代表传感器阵列中某一点的一个原色的强度。因此,一个红色像素表示某一点的红光强度,而一个相邻的绿色像素表示传感器阵列中下一点的绿光强度。因此,每个像素只包含总颜色信息的三分之一。
其余颜色信息通过插值获得。一个红色像素的绿色强度是通过对相邻绿色像素的绿色强度进行平均来计算的。该红色像素的蓝色强度是通过对最近的蓝色像素进行平均或内插来计算的。ISP 502 10执行此颜色插值,计算每个像素位置缺失的原色强度。
不同原色产生的电流可能会有所不同,具体取决于所使用的传感器以及光子的波长和能量。在插值器之前,通常要进行称为白平衡的调整。每个原色可以乘以不同的增益,以更好地平衡颜色。还可以针对不同的光照条件进行补偿,对黑暗图片增加所有原色,或对明亮图片(曝光过度)减少所有颜色。
ISP 502可以在对RGB图案插值之前或之后,对拜耳阵列图像执行各种功能,例如边缘锐化、伽马校正、去除扭曲、去马赛克、自动白平衡(AWB)、自动增益控制(AGC)和自动曝光控制(AEC)。
每个像素位置都有三种颜色的完整RGB图案从ISP 502发送到SoC 504。SoC 504执行更复杂的图像处理,如面部识别、文本提取等。SoC 504可以有I/O接口、中央处理单元(CPU)、视频编解码器和专用处理器,如数字处理单元(NPU)、数字信号处理器(DSP)或图形处理单元(GPU)。
拜耳阵列–图3
图3显示一个由传感器捕获的图像,该传感器以拜耳阵列生成单色像素。该例子显示了一个800x600的帧或图像,以常见的超VGA分辨率显示。传感器总共捕获了600条线,每条线有800个像素。
个人电脑和许多其他设备显示具有所有三原色强度(RGB)的全色像素。相比之下,数码相机中的传感器,如图2中的传感器512,对于800x600传感器阵列中的每个点,只能检测到三原色中的一种。在第一行,绿色检测器与红色检测器交替,而在第二行,绿色检测器与蓝色检测器交替。
第一条水平线和每条奇数线都有交替的红色和绿色检测器,因此从这些奇数线输出的像素是G-R-G-R-G-R-G的序列。第二条水平线和每条偶数线都有交替的绿色和蓝色检测器,因此从这些偶数线输出的像素是B-G-B-G-B-G-B的序列。
一半的像素是绿色像素,四分之一的像素是红色的,最后四分之一是蓝色。绿色像素形成一个棋盘格图案,蓝色和红色像素被绿色像素包围。由于人眼对绿色更敏感,拜耳阵列的绿色像素比红色或蓝色更多。
红色像素位置的绿色强度可以通过对围绕红色像素的四个绿色像素进行平均来内插。例如,位置(3,2)处的红色像素的绿色强度是绿色像素(3,1)、(3,3)、(2,2)和(4,2)的总和除以四。同样,蓝色像素位置的绿色强度可以通过对周围四个绿色像素进行平均来内插。对于蓝色像素(2,3),内插的绿色强度是绿色像素(2,2)、(2,4)、(1,3)和(3,3)的总和除以四。
绿色像素位置的红色和蓝色值也可以从围绕每个绿色像素的2个红色和2个蓝色像素计算。对于绿色像素(2,2),内插的红色值是绿色像素上方和下方的红色像素(1,2)和(3,2)的平均值,而内插的蓝色值是绿色像素左右的蓝色像素(2,1)和(2,3)的平均值。
图4A和4C是黑暗图像,经过增亮后生成图4B和4D,用于进一步图像处理。复杂的图像处理,如由SoC 504(图2)执行的图像处理,对于低光照图像,如来自夜间监视***的图像,性能会很差。
在图4A中,来自传感器512(图2)的原始拜耳阵列图像非常暗,人类或图像处理器都很难检测图像中的关键特征细节,如人脸或车牌。对图4A进行增亮操作,得到图4B的增亮图像,其中汽车是可识别的。
图4C是图4A的一部分图像的放大图。原始图像太暗以至于图像处理难以提取细节。然而,当图4C的放大的黑暗原始图像被照亮时,图4D中产生的图像可以被SoC 504中的图像处理用于提取车辆上的车牌号。
典型的ISP 502生成的RGB图像有时太暗,如图4A、4C所示。这些完整的RGB图像太暗,SoC 504无法准确提取特征细节。尽管来自ISP 502的RGB图像是通用的,以便SoC 504可以处理来自许多不同相机源的图像,但是来自传感器512的原始拜耳阵列图像中的许多低光信息已被ISP 502的处理丢失,并且不再存在于从ISP 502发送到SoC 504的RGB图案中。
ISP 502的像素插值通常会导致输出到SoC 504的RGB图像中的低光信息损失。特别是对于极低照度的图像,SoC 504对RGB图像的增亮处理产生的图像,无法恢复因ISP 502执行从拜耳到RGB的色彩空间转换而丢失的低光细节。
希望有一种低光图像增强器,它能使拜耳阵列图像增亮以产生完整RGB图像。希望将像素插值与低光图像增亮相结合,使插值和增亮在同一低光拜耳阵列图像上进行。希望训练一个神经网络来增亮图像,同时执行从拜耳阵列到RGB图案的颜色空间转换。希望训练一个深度神经网络,将原始拜耳阵列图像转换为增亮的RGB图像。希望有一个后向投影层(Back-Projection)的神经网络,以更好地训练神经网络在从拜耳阵列转换为RGB图像时进行低光图像增亮。
【附图说明】
图1显示一个现有技术的神经网络。
图2显示一个智能数码相机***的方框图。
图3显示一个由传感器捕获的图像,该传感器以拜耳阵列生成单色像素。
图4A和4C显示黑暗图像,经过增亮后生成图4B和4D,用于进一步图像处理。
图5显示具有后向投影层的卷积神经网络的方框图,用于增亮单像素图像以生成增亮的全色像素图像。
图6突出显示BP层的基本操作。
图7显示一个卷积网络,用于在神经网络的收缩层中实施BP层。
图8显示一个卷积网络,用于在神经网络的扩展层中实施BP通道压缩层。
图9更详细地显示通道注意层。
图10更详细地显示第一卷积块。
图11更详细地显示第二卷积块。
图12显示训练一个神经网络,如图1或5-12的神经网络。
图13A-13B显示在从拜耳到RGB的后向投影神经网络转换期间的图像增亮。
【具体实施方式】
本发明涉及对图像处理神经网络的改进。下面的描述是为了使本领域普通技术人员能够在特定应用及其要求的背景下制造和使用本发明。对于本领域的技术人员来说,对优选实施例的各种修改是显而易见的,本文定义的一般原则也可应用于其它实施例。因此,本发明并不打算局限于所示和所述的特定实施例,而是要给予符合本文所公开的原则和新颖特征的最广泛的范围。
图5是一个具有后投影层的卷积神经网络的方框图,用于增亮单像素图像以生成增亮的全色像素图像。图5的神经网络是一个具有U-net结构的卷积神经网络(CNN)。U-net是由收缩层52、54、56、58的收缩路径和扩展层72、74、76、78的扩展路径形成,前者依次减少空间信息和增加特征(深度)信息,后者增加空间信息,同时减少特征深度。
空间信息可以基于高度为H、宽度为W的像素帧,例如480×480像素。帧的尺寸通过连续的收缩层52、54、56、58缩小,而特征深度则由每一层提取的特征扩大,直到在收缩层58达到U形的底部。然后随着深度中的特征信息被扩展层72、74、76、78转换为空间像素数据,帧的尺寸增加,深度减小。
例如,输入到层52的特征深度为n[n,H,W]的H x W像素帧,到输入到层54时,已经减少到H/2、W/2像素帧,同时深度加倍到2n,或[2n,H/2,W/2]。然后,空间收缩和深度增加在收缩层56、58上继续,其输入数据集分别为[4n,H/4,W/4]和[8n,H/8,W/8]。最后,收缩层58输出的数据集为[16n,H/16,W/16]。此时,每个空间点对应原始图像帧中的一个16x16的宏块。然而,为这一空间点存储了16倍的深度特征。
然后扩展层72、74、76、78利用特征数据扩展空间数据,同时减少特征图(featuremap)深度。深度减小,帧尺寸增加,从输入到扩展层72的[16n,H/16,W/16],到输入到扩展层74的[8n,H/8,W/8],输入到扩展层76的[4n,H/4,W/4],输入到扩展层78的[2n,H/2,W/2],和由扩展层78输出的[n,H,W]。特征深度参数n可以设置为32、24、16或其他值,具体取决于计算复杂度。
每个收缩层52、54、56、58都有一个后向投影(BP)层50,它被特别修改以进行增亮操作。BP后向投影层50更详细地显示在图6-7。在每个收缩层52、54、56、58中,BP层50的输出之后是通道注意层(channel-attention layer)和最大池化层(max pooling layer)。通道注意层可以是后面图9所示的组合。最大池化层可以执行以下操作:
最大池化层:nn.MaxPool2d(kernel_size=2)
其中输出的H和W是输入的一半。另外,nn.Conv2d表示2D卷积,kernel size是卷积核的大小,2d或2D表示二维。每个BP层有几个块。每个块都是2D卷积和激活函数的组合。在卷积块1中,依次有两个“2D卷积+激活函数”;第一个2D卷积的kernel size为3,stride=1,输入通道/深度数=ch,输出通道/深度数=2*ch。第一个激活函数是lrelu,第二个2D卷积的kernel size为3,stride=1,输入通道/深度数=2*ch,输出通道/深度数=2*ch,第二个激活函数也是lrelu。在卷积块2中,只有一个“2D卷积+激活函数”;2D卷积的kernel size为3,stride=1,输入通道/深度数=2*ch,输出通道/深度数=2*ch,激活函数为lrelu。在卷积块3中,只有一个“2D卷积+激活函数”;2D卷积的kernel size为1,stride=2,输入通道/深度数=ch,输出通道/深度数=2*ch,激活函数为lrelu。在卷积块4中,只有一个“2D卷积+激活函数”;2D卷积的kernel size为1,stride=1,输入通道/深度数=2*ch,输出通道/深度数=2*ch,激活函数为lrelu。在卷积块5中,只有一个“2D卷积+激活函数”;2D卷积的kernel size为3,stride=1,输入通道/深度数=2*ch,输出通道/深度数=2*ch。
每个扩展层72、74、76、78都有一个反卷积层和一个级联层。每个反卷积层都执行以下操作:
反卷积层:nn.ConvTranspose2d(channel_num,channel_num/2,kernel_size=2,stride=2),
其中输入尺寸为[channel_num,H,W],输出尺寸为[channel_num/2,2H,2W],其中channel_num是层深度,stride是放大特征图的空间比例;在本实施例中,输入特征的空间尺寸为(H,W),当stride=2时,输出特征的空间尺寸为(2H,2W)。
扩展层72、74、76、78中的级联与收缩层52、54、56、58的相应输出连接。扩展层72与层58的2D转置输出的输出连接,并与收缩层56的输出连接。扩展层74与先前BP通道压缩层60(BP channel shrink layer)的2D转置73的输出连接,并与收缩层54的输出连接。扩展层76与先前BP通道压缩层60的2D转置75的输出连接,并与收缩层52的输出连接。扩展层78与先前BP通道压缩层60的2D转置77的输出连接,并和第一层48的输出相连接。
每个扩展层72、74、76、78后面是一个实例的BP通道压缩层60。每个扩展层72、74、76、78的级联的输出被输入到BP通道压缩层60。图8更详细地显示了BP通道压缩层60。BP通道压缩层60对来自扩展层72、74、76、78的级联层进行卷积。这结合了来自不同尺度特征图的增亮结果(lightening results)。更详细的信息保存在大分辨率的特征图中,更多的全局信息保存在较小分辨率的特征图中。有了这些来自不同空间尺度的级联特征作为BP通道压缩层60的输入,BP通道压缩层60可以选择哪种信息或哪种组合对恢复图像更有用。因此BP通道压缩层60可以进一步增亮图像。
每个BP通道压缩层60后面是一个通道注意层,如稍后在图9中示出的组合。每个BP通道压缩层60减少特征深度或将特征深度缩小一半。例如,扩展层72、74之间的第一个BP通道压缩层60将特征深度从16n收缩到8n,而在扩展层78之后的最后一个BP通道压缩层60将特征深度从2n减少到n。
初始拜耳阵列图像由初始级联层46和第一层48预处理。初始级联层46输出具有不同比例因子或在不同时间段拍摄的三幅原始图像的级联。初始级联层46的输出的尺寸是[12,H,W]。初始拜耳原始图像的深度为4,因为拜耳阵列是红色(R)、绿色(G1)、蓝色(B)和绿色(G2)的单色拜尔像素的重复阵列R,G1,B,G2。
第一层48执行以下操作:
第一层:sequential(nn.Conv2d(12,n,kernel_size=3,stride=1,padding=1),lrelu),
在leaky ReLU(lrelu)操作后的输出尺寸为[n,H,W]。Sequential是指两个操作一个接一个;这里第一个操作是2D卷积,第二个操作是leaky ReLU。padding参数是在处理图像边界处的像素时的一个操作;padding=1表示在图像边界添加一个零值像素。
因此,第一层48使用2D卷积将深度从12转换为n。
后处理由最后一层80和深度-到-空间层82执行。最后一层80使用以下操作将最后一层的BP通道压缩层60的n-深度输出转换为12-比特深度:
最后一层:sequential(nn.Conv2d(n,12,kernel_size=1,stride=1,padding=1),lrelu),
在leaky ReLU操作后的输出尺寸为[12,H,W]。
深度-到-空间层82将输入尺寸[12,H,W]转换为输出尺寸[3,2H,2W]。与输入拜耳阵列相比,输出RGB中每帧的像素数增加了一倍。4通道拜耳阵列图像的分辨率为(H,W),而原始拜耳阵列图像的分辨率为(2H,2W)。图像增强后,输出RGB图像的分辨率为(2H,2W),输出分辨率与原始拜耳阵列图像完全相同。输出RGB具有全色像素,而输入拜耳阵列具有单色像素。
图6突出显示了BP层的基本操作。发明人提出了对应于增亮前图像的低光(LL)域和对应于增亮后图像的正常光(NL)域。黑暗图像可以通过L1增亮算子212或L2增亮算子218从LL域变换到NL域。变亮的图像可以通过D变暗算子214从NL域变换回LL域。
来自LL域的原始图像202,X(CH,H,W),被L1增亮算子212增亮,以生成NL域的预测的增亮图像204,Y'(CH_Y',H,W)。然后,该预测的增亮图像204由D变暗算子214变暗,以生成后向投影的LL域图像206,X'(CH_X',H,W)。
后向投影的LL域图像206,X'(CH_X',H,W),然后通过加法器216与原始图像202进行比较,该加法器在通过过滤噪声的FN去噪算子226去噪之后减去原始图像202。来自加法器216的差值结果是由L1增亮算子212引起的BP误差208。这个BP误差208,RLL(CH_RLL,H,W),是在LL域。
然后由L2增亮算子218将计算出的后向投影误差208,RLL(CH_RLL,H,W),从LL域转换到NL域,产生NL域BP误差210,RNL(CH_RNL,H,W)。
NL域的预测增亮图像204,Y'(CH_Y',H,W),由FW加权算子224加权,然后通过加法器222加到NL域BP误差210,RNL(CH_RNL,H,W),生成增强输出220,(Y_CH_H,W),这是NL域的增亮图像。
L1增亮算子212、D变暗算子214、L2增亮算子218、FW加权算子224和FN去噪算子226可以实现为卷积块,这些卷积块的参数通过神经网络的深度学习获得。最优值可以通过神经网络权重的多次迭代获得,这些神经网络权重从拜耳阵列原始图像中产生RGB空间的最佳增亮图像。通过对增亮图像进行变暗的后向投影,可以检测增亮误差,然后对其进行校正以获得更准确的增亮图像。
图6显示了BP层50和BP通道压缩层60的基本结构。BP层50将通道/深度数从CH增加到CH*2,而BP通道压缩层60将通道/深度数从CH减少到CH/2。
BP层50在输入上有一个额外的最大池化,由最大池化层执行,然后是前一层中的通道注意层,去噪可以在该通道注意层的输出上进行,而不是在前一层的最大池化层上进行。此外,当下采样图像264被认为是BP层50的输入时,BP层50将通道/深度数从CH增加到CH*2,同时增加特征图深度。BP通道压缩层60不改变空间像素衍生数据的分辨率,但将通道/深度数从CH减少到CH/2。
图7是一个卷积网络,在神经网络的收缩层中实施BP层。图7的这个网络实施了BP层50并对应于图6所示网络,其中第一卷积块274实施L1增亮算子212,第二个卷积块276实施D变暗算子214,第三个卷积块280实施FN去噪算子226,第四卷积块282实施FW加权算子224,第五卷积块278实施L2增亮算子218。
LL域的原始输入图像262,IN1(CH,H,W),被应用于最大池化器272,进行下采样,以生成输入下采样图像264,IN1(CH,H/2,W/2)。第一卷积块274执行L1增亮,以生成增亮的LL域图像266,O1(CH*2,H/2,W/2)。最大池化器272可以被认为不是BP层50的一部分,而与BP层50分开,这取决于逻辑分区。
第二个卷积块276实施D变暗算子214,将增亮的LL域图像266,O1(CH*2,H/2,W/2),反向投影到低光(LL)域,以生成反向投影的LL域图像268,O2(CH*2,H/2,W/2)。然后,加法器284减去来自实施FN去噪算子226的第三卷积块280的去噪后输入。产生的LL域BP误差被实施L2增亮算子218的第五卷积块278变换到NL域。
第四卷积块282从增亮的LL域图像266,O1(CH*2,H/2,W/2),生成加权输入O4(CH*2,H/2,W/2)。这些加权输入由加法器286加到由第五卷积块278生成的NL域误差,以产生增强输出270,OUT(CH*2_H/2,W/2),它是NL域的增亮图像。
卷积块274、276、280、282、278分别可以通过以下操作来描述:
卷积块1:sequential(nn.Conv2d(channel_num,channel_num*2,kernel_size=3,stride=1,padding=1),lrelu,nn.Conv2d(channel_num*2,channel_num*2,kernel_size=3,stride=1,padding=1),lrelu)
发明人在这里在每个卷积块274、276、280、282、278中依次使用2个卷积(“nn.Conv2d”)。在第一次卷积中,发明人试图通过加倍输出通道/深度数来增加特征信息。之后进行另一次卷积,使信息稳定。
卷积块2:sequential(nn.Conv2d(channel_num*2,channel_num*2,kernel_size=3,stride=1,padding=1),lrelu)
卷积块3:sequential(nn.Conv2d(channel_num,channel_num*2,kernel_size=1,stride=2,padding=0),lrelu)
卷积块4:sequential(nn.Conv2d(channel_num*2,channel_num*2,kernel_size=1,stride=1,padding=0),lrelu)
卷积块5:sequential(nn.Conv2d(channel_num*2,channel_num*2,kernel_size=3,stride=1,padding=1),lrelu)
图8是一个卷积网络,在神经网络的扩展层和级联层中实施BP通道压缩层。图8的这个网络实施了BP通道压缩层60并对应于图6所示网络,其中第一卷积块374实施L1增亮算子212,第二卷积块376实施D变暗算子214,第三卷积块380实施FN去噪算子226,第四卷积块382实施FW加权算子224,第五卷积块378实施L2增亮算子218。
LL域的输入图像364被指定为IN1(CH,H,W)。第一卷积块374执行L1增亮,以生成具有一半输入特征深度的增亮LL域图像366,O1(CH/2,H,W)。
第二个卷积块376实施D变暗算子214,并且将增亮的LL域图像366,O1(CH/2,H,W),后向投影到低光(LL)域,以产生后向投影的LL域图像368,O2(CH/2,H,W)。然后,加法器384减去来自实施FN去噪算子226的第三卷积块380的去噪输入。产生的LL域BP误差被第五卷积块378实施L2增亮算子218而变换到NL域。
第四卷积块382从后向投影的LL域图像366,O1(CH/2,H,W),生成加权输入O4(CH/2,H,W)。这些加权输入由加法器386加到由第五卷积块378生成的NL域误差上,以产生增强输出370,OUT(CH/2,H,W),它是NL域的增亮图像。
卷积块274、276、280、282、278分别可以通过以下操作来描述:
卷积块1:sequential(nn.Conv2d(channel_num,channel_num/2,kernel_size=3,stride=1,padding=1),lrelu,nn.Conv2d(channel_num/2,channel_num/2,kernel_size=3,stride=1,padding=1),lrelu)
卷积块2:sequential(nn.Conv2d(channel_num/2,channel_num/2,kernel_size=3,stride=1,padding=1),lrelu)
卷积块3:sequential(nn.Conv2d(channel_num,channel_num/2,kernel_size=1,stride=1,padding=0),lrelu)
卷积块4:sequential(nn.Conv2d(channel_num/2,channel_num/2,kernel_size=1,stride=2,padding=0),lrelu)
卷积块5:sequential(nn.Conv2d(channel_num/2,channel_num/2,kernel_size=3,stride=3,padding=1),lrelu)
图9更详细地显示了通道注意层。层输入420由全局池化器410池化,池化结果应用于全连接(FC)网络412,然后由ReLU 414整流。然后将该结果应用于另一个FC网络416,该网络使用Sigmoid函数418来提取特征,这些特征通过乘法器422与输入420相乘,以生成特征图结果。
图10更详细地显示了第一卷积块。第一卷积块274实施L1增亮算子212。第一卷积块274执行两个卷积操作和两个LeRU操作。初始卷积450使用卷积核大小3将深度或特征通道的数量加倍。Leaky ReLU 452对结果进行整流,输入到最终卷积454,该卷积不会改变深度。Leaky ReLU 456对最终结果进行整流。
卷积块274有两个卷积和两个leaky ReLU(lrelu)操作,如以下操作所述:
卷积块274:sequential(nn.Conv2d(channel_num,channel_num*2,kernel_size=3,stride=1,padding=1),
lrelu,
nn.Conv2d(channel_num*2,channel_num*2,kernel_size=3,stride=1,padding=1),
lrelu)
使用两个卷积而不是一个卷积,可以消除卷积块中的残留信息并提高峰值信噪比(PSNR)。发明人使用第一增亮算子单元,通过两个串联的卷积对输入像素进行增亮以产生增亮像素,使得增亮像素的平均亮度大于输入像素的平均亮度。使用两个串联卷积可以产生更多特征,以实现可能的端到端增亮。发明人认为,低光图像增亮不仅可以增加像素值偏移,还可以改善其他因素,如动态范围、对比度等,这些都是模型可以自动学习的。
图11更详细地显示了第二卷积块。第二卷积块276实施D变暗算子214。只使用单一个卷积块和单一个leaky ReLU(lrelu)。卷积470的卷积核大小为3,不会改变特征深度。Leaky ReLU 472对最终结果进行整流。
第二卷积块276有一个卷积和一个leaky ReLU操作,如以下操作所述:
卷积块276:sequential(nn.Conv2d(channel_num*2,channel_num*2,kernel_size=3,stride=1,padding=1),lrelu)
图12显示训练一个神经网络,如图1和图5-12的神经网络。原始数据如拜耳阵列原始图像被用作视频训练数据34,V_RAW。对应于V_RAW值的希望增亮的RGB视频数据被记录为目标数据38,RGB_EN。RGB_EN的每个值对应于一起测量的一个V_RAW值,例如从图像传感器512输出的拜耳阵列和从V_RAW生成的增亮RGB图像,例如由高端图形处理器生成。目标图像RGB_EN也可以从V_RAW生成,或从更好相机使用更精确图像处理程序捕获的另一个图像生成,这对便携式应用而言计算过于复杂且昂贵。
神经网络36接收训练数据34和当前权重集合Aij、Bij、Wij,并对训练数据34进行运算以产生一个结果。这个产生的结果是RGB增亮图像的建模值,RGB_CALC。通过损失函数42将神经网络36产生的结果RGB_CALC与目标数据38RGB_EN进行比较,产生一个损失值,该损失值是产生的结果离目标有多远的一个函数。损失函数42产生的损失值用于调整应用于神经网络36的权重。损失函数42可以将多次权重迭代应用到训练数据34上,直到确定一个最小损失值,最后一组权重用于校准曲线建模。
神经网络36可以有多个输出节点60以从V_RAW的并行输入中并行地生成许多RGB_CALC值,而不是生成单一RGB_CALC值。损失函数42可以将许多RGB_CALC值与许多RGB_EN值并行比较,以生成损失函数值。例如,可以对相邻视频帧的像素块进行比较。或者,可以根据光学字符识别(OCR)模块准确提取车牌号码和字母的能力来评估图像帧的较小区域,例如车牌周围的区域。当生成损失函数值时,损失函数42可以从OCR模块(未示出)获取输入。
神经网络训练期间由损失函数42产生的损失可以产生为:
损失=a*Huber loss+b*L1 loss+c*MS_SSIM
其中L1是最小绝对偏差损失,MS_SSIM是多尺度结构相似性(SSIM)损失函数,参数a、b、c设置为a=0.25、b=0.25、c=0.5。L1 loss衡量输入x和目标y中每个元素之间的平均绝对误差(MAE)。
结合三种不同的损失,Huber loss、L1 loss和MS_SSIM损失,可以实现更好的客观性并提高主观图像质量。
图13A-13B显示了后向投影神经网络从拜耳到RGB转换期间的图像增亮。在图13A,原始拜耳阵列图像太暗,无法阅读文字。使用后向投影神经网络将图13A的原始拜耳阵列图像转换为图13B的RGB图像,得到RGB格式的增亮图像。从图13B的增亮图像中可以清楚地读出盒子上较大的文字,但从图13A的较暗原始图像中却读不出。
【替代实施例】
发明人还补充了若干其他实施例。例如,图7和图8中的第三卷积块280和第四卷积块282中的卷积核大小可以是3,但代价是计算复杂。在U-net中,收缩层52、54、56、58可以被认为是对像素进行下采样,因为每层的帧大小H,W被减小到H/2,W/2,而特征图深度增加。扩展层72、74、76、78可以被认为是对像素进行上采样,因为每层帧大小H、W被增加到H*2、W*2,而特征图深度随着特征信息的消耗而减小。虽然每层描述的缩放因子为2,但也可以用其他缩放因子来替代。n的值可以是8、16、24等;当n增加时,通常精度会增加,但代价是增加计算复杂。
已经描述了一个具有卷积和ReLU的复杂操作,但可以替换或合并其他操作类型。对操作的许多修改都是可能的,例如激活函数是全局ReLU、泄漏ReLU、参数整流线性单元(PreLU)、指数线性单元(ELU)、缩放指数线性单元(SELU)、串联整流线性单元(CRelu)、随机整流线性单元(Rrelu)等。卷积广泛用于神经网络,特别是用于图像处理,其中滤波器在图像数据上被多次应用以产生激活,形成特征图。这些特征可以被选择用于进行进一步或更专门的处理。ReLU操作也被广泛使用,有助于消除可能混淆数据分析的负值或负斜率效应。
一些实施例可能没有使用所有组件。可以添加额外的组件。损失函数42可以使用各种误差/损失和成本生成器,如防止权重在许多训练优化周期中增长过大的权重衰减项,鼓励节点将其权重归零的稀疏性惩罚,以便只使用总节点的一小部分。许多替换、组合和变化都是可能的。损失或成本项的其他变化和种类可以添加到损失函数42。不同成本函数的相对比例因子的值可以被调整,以平衡各种函数的影响。神经网络的训练终点可以针对各种条件组合设置,例如期望的最终精度、精度-硬件成本乘积、目标硬件成本等。
神经网络36、损失函数42和其他组件可以用各种技术实现,使用软件、硬件、固件、例程、模块、功能等的各种组合。最终结果可以从神经网络36中得到最终权重,并可能以程序模块实现,或者在专用集成电路(ASIC)或其他硬件中实现,以提高处理速度和降低功耗。
左、右、上、下等术语是相对的,可以以各种方式进行翻转、旋转、变换或转置。加法器可以添加补码来实现减法。因此,减法和加法可以互换使用。
在收缩层52、54、56、58和扩展层72、74、76、78的不同层上操作的数据可以称为像素,尽管在收缩层52、54、56、58下采样之后,每个像素可能是来自输入帧的许多输入像素的数据组合。因此,中间数据可能不是用于显示的真正像素,而是原始显示像素的衍生或变换。然而,术语像素在本文中仍可用于这些中间数据项。
最大池化层可以被认为是每个收缩层52、54、56、58的第一部分,而不是每个收缩层52、54、56、58的最后一部分。各种其他重新安排也可能发生。通道注意层的许多变体也是可能的。
可以添加或删除一些组件,如白平衡器。可以添加其他模块,如边缘增强和颜色增强。例如,可以对亮度执行边缘增强,而颜色增强可以只对色度分量执行。可以替换其他类型的图像传感器,可以在数据路径中的多个点添加额外的缓冲和流水线寄存器。并行数据路径可用于增加吞吐量。可以为较大像素格式使用较大缓冲区,例如拜耳阵列缓冲区或亮度缓冲区,甚至全帧缓冲区。缓冲区中的像素可以以各种排列方式进行物理存储。各种交错和映射方案可以改变实际存储位置,以优化带宽或其他设计参数。许多存储器的安排,包括物理的和逻辑的,都是可能的。
可以使用各种并行处理技术,以串行方式执行这里描述的基本操作,以方便理解。本领域技术人员可以进行适当的输入和系数改变。可以在拜耳阵列的边缘附近执行部分或其他计算,例如对于像素位置1,3和1,1和3,1。这些边缘位置缺少正常数量的输入像素,必须对较少数量的像素输入进行平均。
可以使用不同的数据编码和原色。位宽可以变化。本发明可以使用多种数据格式。可以添加额外的功能函数。加法器、移位器和逻辑单元的多种安排都是可能的。加法器可以重复使用或递归使用。一些图像传感器可能会以不同的方式改变拜耳阵列,例如通过在上面行之前产生下面行的数据。可以根据需要进行各种修改以适应这些变化。
本发明的背景部分可以包含关于本发明问题或环境的背景资料,而不是描述他人的现有技术。因此,在背景技术部分中包含的材料并不是申请人对现有技术的承认。
本文描述的任何方法或过程都是机器实施的或计算机实施的,旨在由机器、计算机或其他设备来执行,而不打算在没有机器辅助的情况下仅由人类执行。产生的有形结果可以包括报告或其他机器生成的显示设备,例如计算机显示器、投影设备、音频生成设备和相关媒体设备,并且可以包括也是机器生成的硬拷贝打印输出。其他机器的计算机控制是另一个有形的结果。
所述的任何优点和好处不一定适用于本发明的所有实施例。当“手段”一词出现在权利要求元素中时,申请人意在该权利要求元素落入35 USC第112节第6款的规定。通常,在“手段”一词之前有一个或多个词的标签。在“手段”一词前面的一个或多个词是一个标签,目的是为了便于权利要求元素的引用,而不是为了表达结构上的限制。这种手段加功能的权利要求不仅要涵盖本文所述的用于执行该功能的结构及其结构等同物,而且要涵盖等效结构。例如,虽然钉子和螺钉具有不同的构造,但它们是等效结构,因为它们都执行紧固功能。未使用“手段”一词的权利要求不落入35 USC第112节第6款的规定。信号通常是电子信号,但也可以是光信号,例如可以通过光纤线路传输。
对本发明实施例的上述描述是为了说明和描述的目的而提出的。它并不打算是详尽的,也不打算将本发明限制在所公开的精确形式中。根据上述教学,许多修改和变化是可能的。其目的是本发明的范围不受本详细说明的限制,而是受附于权利要求书的限制。
Claims (20)
1.一种图像增亮和像素插值神经网络,包括:
一系列收缩层,每个收缩层减少像素数量并增加特征图深度;
一系列扩展层,在所述一系列收缩层之后,每个扩展层增加像素数量并减少特征图深度;
所述一系列收缩层中的每个收缩层包括最大池化层、后向投影(BP)层和通道注意层;
所述一系列扩展层中的每个扩展层包括反卷积层和BP通道压缩层;
第一层,其接收单色像素,每个单色像素只有一种颜色,所述单色像素以拜耳阵列排列在输入帧中,所述第一层驱动一个输入到所述一系列收缩层中的一个初始收缩层中;
最后一层,其从所述一系列扩展层中的一个最后扩展层接收RGB像素,每个所述RGB像素具有三种颜色的颜色强度信息,所述最后一层将所述RGB像素排列在输出帧中,所述输出帧大小至少为所述输入帧的大小;
其中所述BP层和所述BP通道压缩层分别包括:
第一增亮运算单元,其使用两个串联的卷积来增亮输入像素以产生增亮像素,其中所述增亮像素的平均亮度大于所述输入像素的平均亮度;
变暗运算单元,其使所述增亮像素变暗以产生后向投影像素,其中所述后向投影像素的平均亮度小于所述增亮像素的平均亮度;
去噪运算单元,其从所述输入像素生成去噪输入像素;
第一加法器,其将所述去噪输入像素与所述后向投影像素相加,以产生低光后向投影误差;
第二增亮运算单元,其用于减轻所述低光后向投影误差,以产生正常光后向投影误差;
加权运算单元,其对所述输入像素进行加权,以产生加权输入像素;
第二加法器,其将所述加权输入像素与正常光后向投影误差相加,以产生输出增亮像素。
2.根据权利要求1所述的图像增亮和像素插值神经网络,其中所述BP层还包括:
最大池化器,其接收由所述一系列收缩层中的前一个收缩层输出的像素,或者从所述第一层接收像素,所述最大池化器池化接收到的像素,以生成所述输入像素;
其中所述最大池化器减少像素数量以生成所述输入像素。
3.根据权利要求2所述的图像增亮和像素插值神经网络,其中所述变暗运算单元、所述去噪运算单元、所述第二增亮运算单元、和所述加权运算单元每个都包括串联的卷积块和激活函数。
4.根据权利要求3所述的图像增亮和像素插值神经网络,其中所述第一增亮运算单元包括:
第一卷积块,其从所述输入像素产生第一卷积输出;
第一泄漏整流线性单元(lrelu),其从所述第一卷积输出产生第一整流输出;
第二卷积块,其从所述第一整流输出产生第二卷积输出;
第二泄漏整流线性单元(lrelu),其从所述第二卷积输出产生第二整流输出;
其中,所述第二泄漏整流线性单元输出所述增亮像素作为所述第二整流输出。
5.根据权利要求4所述的图像增亮和像素插值神经网络,其中所述一系列收缩层和所述一系列扩展层形成U-net卷积神经网络。
6.根据权利要求5所述的图像增亮和像素插值神经网络,其中所述第一层将来自不同时间段或不同缩放因子的多帧所述单色像素连接在一起,以驱动所述输入到所述一系列收缩层中的所述初始收缩层。
7.根据权利要求5所述的图像增亮和像素插值神经网络,还包括:
损失函数生成器,当训练数据应用于所述第一层时,所述损失函数生成器将所述最后一层产生的输出帧与一个预期目标帧进行比较;在神经网络学习过程中,所述损失函数生成器调整应用于所述一系列收缩层和应用于所述一系列扩展层的权重。
8.根据权利要求7所述的图像增亮和像素插值神经网络,其中所述损失函数生成器还包括:
Huber损失、最小绝对偏差L1损失、和多尺度结构相似性(SSIM)损失的组合。
9.根据权利要求5所述的图像增亮和像素插值神经网络,
其中,所述输入帧还包括单色像素的拜耳阵列,其包括绿色像素的棋盘图案,蓝色像素和红色像素交替填充所述棋盘图案中绿色像素之间的位置;
其中,所述输出帧还包括一个RGB像素,用于所述输入帧中绿色像素的每个位置,以及所述输入帧中红色像素的每个位置,以及所述输入帧中蓝色像素的每个位置,其中所述输入帧中单色像素的每个位置被加载一个所述输出帧中的RGB像素,其中每个RGB像素包括一个红色子像素、一个绿色子像素和一个蓝色子像素。
10.一种神经网络计算机实施的方法,包括:
接收单色像素的多个输入帧,所述单色像素以拜耳阵列排列,其中每个像素位置只有一种原色的颜色数据;
将所述多个输入帧级联起来,以产生第一输入到一系列收缩层;
所述一系列收缩层中的每个级联层使用最大池化层来减小空间像素衍生数据并增加特征深度数据,使用后向投影(BP)层对所述空间像素衍生数据进行卷积和增亮,并使用通道注意层来识别从所述BP层输出的所述空间像素衍生数据的相关特征,以输出到所述一系列收缩层中的下一个收缩层;
其中,所述一系列收缩层中的最后一个收缩层输出到一系列扩展层中的第一扩展层;
所述一系列扩展层中的每个扩展层将来自所述一系列收缩层中一个收缩层的空间像素衍生数据与由所述一系列扩展层中的前一个扩展层生成的空间像素衍生数据级联起来,以扩展所述空间像素衍生数据并减小特征深度数据;
所述一系列扩展层中的每个扩展层使用BP通道压缩层对所述空间像素衍生数据进行卷积和增亮,并使用通道注意层识别从所述BP通道压缩层输出的所述像素衍生数据的相关特征,以输出到所述一系列扩展层中的下一个扩展层;
使用最后一层将所述一系列扩展层中的最后一层输出的所述空间像素衍生数据形成为输出帧中的RGB像素,其中每个RGB像素具有三原色的颜色数据;
从而单色像素被增亮并转换为RGB像素。
11.根据权利要求10所述的神经网络计算机实施方法,其中所述BP层和所述BP通道压缩层还包括:
通过对所述空间像素衍生数据进行卷积和整流,以及再卷积和再整流,来增亮所述空间像素衍生数据,以生成预测数据;
通过对所述预测数据进行卷积和整流,使所述预测数据变暗,以生成后向投影数据;
通过卷积和整流对所述空间像素衍生数据进行去噪处理,以生成去噪数据;
将所述去噪数据加到所述后向投影数据中,以产生低光误差;
通过卷积和整流减轻所述低光误差,以产生正常光误差;
对所述空间像素衍生数据进行加权,以生成加权的空间像素衍生数据;
将所述正常光误差添加到所述加权的空间像素衍生数据中,以产生由所述BP层或所述BP通道压缩层输出的增亮空间像素衍生数据。
12.根据权利要求11所述的神经网络计算机实施方法,还包括:
(a)执行训练例程,将训练数据应用为单色像素的所述多个输入帧,并将所述最后一层产生的所述输出帧中的所述RGB像素与一个目标输出帧中的预期RGB像素进行比较,以产生损失函数;
使用所述损失函数来调整应用于所述BP层和所述BP通道压缩层中的卷积的权重;
重复(a)直到所述损失函数到达终点。
13.根据权利要求12所述的神经网络计算机实施方法,其中所述损失函数还包括:
产生Huber损失;
产生最小绝对偏差L1损失;
生成多尺度结构相似性(SSIM)损失;
组合所述Huber损失、所述最小绝对偏差L1损失和所述多尺度结构相似性(SSIM)损失;
输出所述Huber损失、所述最小绝对偏差L1损失和所述多尺度结构相似性(SSIM)损失的组合,作为所述损失函数的输出。
14.根据权利要求11所述的神经网络计算机实施方法,还包括:
接收不同时间段的多个单色像素输入帧。
15.根据权利要求11所述的神经网络计算机实施方法,还包括:
接收具有不同缩放因子的多个单色像素输入帧。
16.一种后向投影(back-projection)图像处理器,包括:
卷积神经网络,其具有收缩层和扩展层,形成一个U-net,所述卷积神经网络还包括:
输入层,其接收多个单色像素输入帧,其中输入帧中的每个像素位置只有三原色中一个的数据,所述输入层输出空间像素衍生数据和特征深度数据;
一系列收缩层,其在所述输入层之后,每个收缩层都有一个后向投影(BP)层;
一系列扩展层,其在所述一系列收缩层之后,每个扩展层都有一个级联层,其将前一个扩展层的输出与一个收缩层的输出级联起来,每个扩展层中都有一个BP层;
输出层,其接收所述一系列扩展层中最后一个扩展层的输出,并输出从所述空间像素衍生数据生成的RGB像素的输出帧,其中每个RGB像素都具有用于所述输出帧的每个像素位置的所有三原色的数据;
其中所述BP层包括:
第一增亮单元,其通过对所述空间像素衍生数据进行卷积和整流,再卷积和再整流,以生成预测数据;
变暗单元,其通过对所述预测数据进行卷积和整流,使所述预测数据变暗,以生成后向投影数据;
去噪单元,其通过卷积和整流对所述空间像素衍生数据进行去噪,以生成去噪数据;
第一加法器,其将所述去噪数据加到所述后向投影数据,以产生低光误差;
第二增亮单元,其通过卷积和整流以减轻所述低光误差,产生正常光误差;
权重单元,其对所述空间像素衍生数据进行加权,以产生加权的空间像素衍生数据;和
第二加法器,其将所述正常光误差加到所述加权的空间像素衍生数据,以产生由所述BP层输出的增亮空间像素衍生数据,。
17.根据权利要求16所述的后向投影图像处理器,其中所述第一增亮单元包括:
第一卷积单元,其对所述空间像素衍生数据进行卷积,以产生第一输出;
第一泄漏整流线性单元(lrelu),其对所述第一输出进行整流,以产生第二输出;
第二卷积单元,其对所述第二输出进行卷积,以产生第三输出;
第二泄漏整流线性单元(lrelu),其对所述第三输出进行整流,以产生第四输出;
其中,所述第四输出由所述第一增亮单元输出。
18.根据权利要求17所述的后向投影图像处理器,其中所述收缩层还包括通道注意层;
其中所述扩展层还包括通道注意层。
19.根据权利要求18所述的后向投影图像处理器,其中所述收缩层还包括最大池化层。
20.根据权利要求16所述的后向投影图像处理器,其中每个收缩层产生额外的特征深度数据,同时将所述空间像素衍生数据减少至少2倍;
其中每个扩展层消耗并减少所述特征深度数据,同时将所述空间像素衍生数据增加至少2倍。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/458,802 US11468543B1 (en) | 2021-08-27 | 2021-08-27 | Neural-network for raw low-light image enhancement |
US17/458,802 | 2021-08-27 | ||
PCT/CN2021/116112 WO2023024138A1 (en) | 2021-08-27 | 2021-09-02 | Neural-network for raw low-light image enhancement |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115004220A true CN115004220A (zh) | 2022-09-02 |
Family
ID=83018507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180002774.6A Pending CN115004220A (zh) | 2021-08-27 | 2021-09-02 | 用于原始低光图像增强的神经网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115004220A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023214915A1 (en) * | 2022-05-06 | 2023-11-09 | IntuiCell AB | A data processing system for processing pixel data to be indicative of contrast. |
US11941510B2 (en) | 2020-06-16 | 2024-03-26 | IntuiCell AB | Computer-implemented or hardware-implemented method of entity identification, a computer program product and an apparatus for entity identification |
-
2021
- 2021-09-02 CN CN202180002774.6A patent/CN115004220A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11941510B2 (en) | 2020-06-16 | 2024-03-26 | IntuiCell AB | Computer-implemented or hardware-implemented method of entity identification, a computer program product and an apparatus for entity identification |
WO2023214915A1 (en) * | 2022-05-06 | 2023-11-09 | IntuiCell AB | A data processing system for processing pixel data to be indicative of contrast. |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115442515B (zh) | 图像处理方法和设备 | |
US10970600B2 (en) | Method and apparatus for training neural network model used for image processing, and storage medium | |
CN107123089B (zh) | 基于深度卷积网络的遥感图像超分辨重建方法及*** | |
US11468543B1 (en) | Neural-network for raw low-light image enhancement | |
CN111402146B (zh) | 图像处理方法以及图像处理装置 | |
US20220036523A1 (en) | Image processor | |
JP2022501662A (ja) | 敵対的生成ネットワークのトレーニング方法、画像処理方法、デバイスおよび記憶媒体 | |
CN111194458A (zh) | 用于处理图像的图像信号处理器 | |
CN110717851A (zh) | 图像处理方法及装置、神经网络的训练方法、存储介质 | |
CN111127336A (zh) | 一种基于自适应选择模块的图像信号处理方法 | |
US8164662B2 (en) | Image-processing device for color image data and method for the image processing of color image data | |
US7751642B1 (en) | Methods and devices for image processing, image capturing and image downscaling | |
CN110211057B (zh) | 一种基于全卷积网络的图像处理方法、装置和计算机设备 | |
CN115004220A (zh) | 用于原始低光图像增强的神经网络 | |
CN112602088A (zh) | 提高弱光图像的质量的方法、***和计算机可读介质 | |
CN101639932B (zh) | 一种数字图像分辨率增强的方法及*** | |
CN114640885B (zh) | 视频插帧方法、训练方法、装置和电子设备 | |
CN117952883A (zh) | 一种基于双边网格和显著性引导的逆光图像增强方法 | |
CN116523787A (zh) | 基于lab空间和多尺度特征金字塔的低照度图像增强方法 | |
WO2020215263A1 (zh) | 一种图像处理方法及装置 | |
JP2009194721A (ja) | 画像信号処理装置、画像信号処理方法、及び撮像装置 | |
CN115909088A (zh) | 基于超分辨特征聚合的光学遥感图像目标检测方法 | |
CN110942425A (zh) | 一种超分辨率图像的重构方法、重构***和电子设备 | |
EP4102828B1 (en) | Image sensor including image signal processor and operating method of the image sensor | |
Zhiwei et al. | An image zooming technique based on the relative color difference of pixels |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40079516 Country of ref document: HK |