基于多粒度合作网络的极低光成像方法与流程

文档序号:21188046发布日期:2020-06-20 18:16阅读:222来源:国知局
基于多粒度合作网络的极低光成像方法与流程

本发明属于图像处理与计算机视觉领域,具体涉及一种基于多粒度合作网络的极低光成像方法。



背景技术:

低光或极低光照条件下的成像一直以来都是一项十分困难的任务,在低光或极低光照条件下成像设备具有较低的信噪比,传统图像信号处理(isp)算法处理的图像会存在噪点、模糊、颜色失真等问题。要解决此问题,一种策略是延长曝光时间以获取清晰的图像,但是由于相机抖动或物体移动,曝光时间的增加会导致模糊,因此该策略不适用于视频拍摄。另一种策略是打开闪光灯,但这种策略会使得图像看起来不自然。

到现在为止,已经提出了许多方法来增强图像的质量,例如直方图均衡化算法和retinex算法。但传统的夜间图像增强技术在实际应用中主要面临两个问题:1.通常会导致增强图像的某些区域过爆或曝光不足,同时产生大量噪声、色差等问题;2.在极弱的光照环境下,尤其是在保护高动态范围(hdr)方面仍然难以获得令人满意的结果。



技术实现要素:

本发明克服现有技术存在的不足,所要解决的技术问题为:提供一种基于多粒度合作网络的极低光成像方法。

为了解决上述技术问题,本发明采用的技术方案为:一种基于多粒度合作网络的极低光成像方法,包括以下步骤:

s1、采集相机原始信号数据,进行黑电平校正;

s2、对黑电平校正后的信号进行增益处理,然后对增益以后的信号数据做降维处理;

s3、将降维处理后的信号数据输入到多粒度合作神经网络,通过学习的方式,将其转换到srgb空间,其中,所述多粒度合作神经网络包括多个依次连接的单粒度网络,其中最后一个单粒度网络为第一个单粒度网络的孪生网络,其中,第一个网络的输入为所述多粒度合作神经网络的输入input1,后面网络的输入包括所述多粒度合作神经网络的输入input1和与前面所有网络的输出。

所述步骤s1中,对采集相机原始信号数据,进行黑电平校正的公式为:

raw=max(iraw-512)/(1683-512);

其中,iraw表示相机原始信号数据,raw表示经过校正后的信号数据。

所述步骤s2中,采用原始照明图估计函数对黑电平校正后的信号数据进行非线性增益处理,具体处理办法为通过原始照明图估计函数m点乘经过黑电平校正后的信号数据raw,即得到增益后的数据grsd;

所述原始照明图估计函数的计算公式为:

其中,m表示原始照明图估计函数,mf表示照明图函数,ε表示原始照明图估计函数的下限,在网络训练期间ε设置为1;在处理极暗hdr原始图像时ε设置为其中ratio为输入图像与参考图像之间的曝光差比值;照明图函数mf的计算表达式为:

其中参数r用来控制图片的曝光程度,参数α用来避免x出现0,从而造成异常的输出。为通过经验设定;x表示图像的输入,即黑电平校正后的信号数据raw。

所述r和α的设定值分别为α=10-6和r=1。

所述多粒度合作神经网络中,损失函数的计算公式为:

其中k是训练过程中输入网络的图像数量,w是的宽,h是的高,c是的通道数,分别表示图像重建损失和图像平滑度损失,λr和λs分别表示相应的权重;

图像重建损失的计算公式为:

其中,n表示多粒度合作网络中单粒度网络的数量,hi,out表示第i个单粒度网络的输出,i表示参考图像,h'1,out表示反向连接后第一个单粒度网络的输出;

图像平滑度损失的计算公式为:

表示在x和y方向上的总变化。

进一步地,λr=1,

所述所述多粒度合作神经网络中,第一个单粒度网络的输出h1,out为:

h1,out=φ1,n+1(h1,n+1;w1,n+1,b1,n+1);

其中,n+1表示单粒度网络的总层数,h1,n+1表示第一个单粒度网络的第n+1层的输出,w1,n+1表示第一个单粒度网络的第n+1层的权重,b1,n+1表示第一个单粒度网络的第n+1层的偏差,φ1,n+1表示第一个单粒度网络的第n+1层的激活函数;

第i个单粒度网络的输出为:

hi,out=φi,n+1(f(β1,n+1×h1,n+1,...,βi,n+1×hi,n+1,hi,n+1);wi,n+1,bi,n+1),i∈{2,...,m};

其中,βi,n+1表示第i个单粒度网络的第n+1层的控制不同信息比例的权重;hi,n+1表示第i个单粒度网络的第n+1层的输出,wi,n+1表示第i个单粒度网络的第n+1层的权重;bi,n+1表示第i个单粒度网络的第n+1层的偏差,f(·)表示特征融合函数,φi,n+1表示第i个单粒度网络的第n+1层的激活函数,m+1表示所述多粒度合作神经网络中单粒度网络的个数;

最后一个单粒度网络的输出为:

h′1,out=φ1,n+1(f(h′1,n+1,...,βi,n+1×hi,n+1);w1,n+1,b1,n+1),i∈{1,...,m};

其中,h′1,n+1表示最后一个单粒度网络的第n+1层的输出。

进一步地,第一个单粒度网络的第1层的输出h1,1的表达式为:

h1,1=φ1,1(h1,in;w1,in,b1,in);

第一个单粒度网络的第j+1层的输出h1,j+1的表达式为:

h1,j+1=φ1,j(h1,1,...,h1,j;w1,j,b1,j),j∈{1,...,n};

第i个单粒度网络sgn-i的第1层输出hi,1的表达式为:

hi,1=φi,1(f(α1,out×h1,out,...,αi-1,out×hi-1,out,hi,in);wi,1,bi,1),i∈{2,...,m};

第i个单粒度网络的第j+1层的输出hi,j+1的表达式为:

hi,j+1=φi,j(f(β1,j×h1,j,...,βi-1,j,hi,j);wi,j,bi,j),i∈{2,...,m},j∈{1,...,n};

最后一个单粒度网络的第1层的输出h′1,1为:

h′1,1=φ1,1(f(α1,out×h1,out,...,αi,out×hi,out,hi,in);w1,1,b1,1),i∈{1,...,m};

最后一个单粒度网络的第j+1层的输出h′1,j+1的表达式为:

h′1,j+1=φ1,j(f(h′1,j,β2,j×h2,j,...,βi,j×hi,j);w1,j,b1,j),i∈{1,...,n},j∈{1,...,m}。

本发明与现有技术相比具有以下有益效果:

1.本发明提供了一种基于多粒度合作网络的极低光成像方法,该方法以多粒度合作神经网络进行学习,实现图像增强,不仅实现了更高的峰值信噪比(psnr)和结构相似性度量(ssim),而且具有更好的视觉效果。

2.本发明的成像方法,通过一种新颖的原始照度图估计函数,该函数可以在极端弱光环境下生成具有期望属性(清晰度,色彩鲜艳度,良好对比度)的曝光良好的srgb图像。通过一系列实验,验证了该算法的鲁棒性。

附图说明

图1为本发明实施例提供的一种基于多粒度合作网络的极低光成像方法的流程示意图;

图2为本发明实施例中多粒度合作网络的结构示意图;

图3为拍照设备在极低光条件下获取的原始图像;

图4为采用本发明的成像方法对图3进行处理后的图像;

图5为拍照设备在极低光条件下获取的另一原始图像;

图6为采用本发明的成像方法对图5进行处理后的图像。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1~2所示,本发明实施例提供了一种基于多粒度合作网络的极低光成像方法,包括以下步骤:

s1、采集相机原始信号数据,进行黑电平校正。

传统的图像增强是直接处理jpeg图像,而本发明实施例为直接从相机原始信号数据(rawdata)出发,这是因为相机原始信号数据相比于经过处理的jpeg图像包含有更丰富的信息。为了解决暗电流存在的问题,需要对采集到的原始信号数据进行黑电平校正。其中暗电流是指传感器在没有入射光的情况下,存在一定的信号输出,这是由于半导体的热运动造成的,它的大小和传感器结构及温度有关。黑电平校正就是直接在原始数据上减去一个固定值,使其最小值为零,该固定值对rgb各通道可以是一样,也可以是不一样。通过黑电平校正,消除暗电流造成的成像干扰,并将像素值归一化到[0,1]之间。定义输入的低光照图片为iraw,也就是通过相机采集到的原始信号数据,这里对黑电平进行校正的公式如下:

raw=max(iraw-512)/(16383-512);(1)

其中,iraw表示相机原始信号数据,raw表示经过校正后的信号数据。

需要注意的是,本实施例采用的是sony相机,不同的相机对数据的编码方式不同,因此对黑电平校正的方式会不同,需根据使用的相机具体操作。

s2、对黑电平校正后的信号进行增益处理,然后对增益以后的信号数据做降维处理。

相比于目前主流的线性增益技术,本发明实施例使用了一种新颖的原始光照图估计函数m,它对信号进行非线性增益,从而保护信号的高动态范围。

所述原始照明图估计函数m的计算公式为:

其中,m表示原始照明图估计函数,mf表示照明图函数,ε表示原始照明图估计函数的下限,在网络训练期间ε设置为1;在处理极暗hdr原始图像时ε设置为其中ratio为输入图像与参考图像之间的曝光差比值;照明图函数mf的计算表达式为:

其中,参数r用来控制图片的曝光程度,参数α用来避免x出现0值时造成异常的输出,为通过经验设定;x表示图像的输入,即黑电平校正后的信号数据raw;本实施例中,所述r和α的设定值依经验分别设定为α=10-6和r=1。

本发明实施例中,原始光照图估计函数由两部分组成:用于计算照明图的照明图函数mf和保证估计函数m的最终结果不小于下界ε的最大函数max(·),从而避免了增强图像中的不良像素。本实施例中,非线性增益的具体处理办法为通过原始照明图估计函数m点乘经过黑电平校正后的信号数据raw,即得到增益后的数据grsd(gainrawsensordata)。

为了提高算法的运算时间,还需要对增益以后的信号数据做降维处理,其具体方法为:将信号数据(bayerarrays)的r,g,b像素分别取出,并将数据原来的单通道格式转化为4个通道格式,此时数据的长为原来的1/2,宽为原来的1/2,然后通过交换相邻元素将x-trans阵列打包为9个通道,如图1所示。

s3、将降维处理后的信号数据输入到多粒度合作神经网络,通过学习的方式,将其转换到srgb空间。

其中,本实施例所述的多粒度合作神经网络包括多个依次连接的单粒度网络(sgn),其中最后一个单粒度网络为第一个单粒度网络的孪生网络,其中,第一个网络的输入为所述多粒度合作神经网络的输入input1,后面网络的输入包括所述多粒度合作神经网络的输入input1和与前面所有网络的输出。

具体地,如图2所示,本实施例的多粒度合作神经网络中,包含四个单粒度网络sgn-1、sgn-2、sgn-3和sgn-1’,其中,sgn-1’与sgn-1是孪生网络,我们最终取out1’作为最终输出结果,多元信息融合包含中间层信息融合以及不同粒度结果的融合,最终的损失函数定义为:loss=loss1+loss2+loss3,使用adam优化。

具体地,本实施例中,sgn-1包含9个卷积块、1个原始输出卷积层和1个亚像素卷积层。其中每个卷积块有两个卷积层,第二个到第五个卷积块是编码过程,包含4个pooling层,后四个卷积块是解码过程,包含4个反卷积层。pooling层使用的是maxpooling,maxpooling是对邻域内特征点取最大值,它的作用是对特征图进行下采样。反卷积是一种特殊的正向卷积,先按照一定的比例通过补0来扩大输入图像的尺寸,接着旋转卷积核,再进行正向卷积,使用它进行图像的上采样。亚像素卷积层包含两个过程:一个普通的卷积层和排列像素。最后一层卷积层输出的特征个数需要设置成固定值,这样总的像素个数就能与要得到的高分辨率图像一致,然后将像素进行重新排列就能得到高分辨率图,实现从低分辨图到高分辨图的重构。sgn-1详细的参数见表1,其余每个sgn的网络结构是相同的。

表1sgn-1的网络配置

下面介绍本发明实施例中,多粒度合作神经网络的工作流程。

其中,第1个单粒度网络sgn-1的第1层的输出h1,1的表达式为:

h1,1=φ1,1(h1,in;w1,in,b1,in);(4)

其中,h1,in代表sgn-1的输入,φ1,1(·)是sgn-1的第1层的激活函数,本实施例中采用的是lrelu函数,w1,in是sgn-1输入层的权重,b1,in是sgn-1输入层的偏差。

sgn-1的第j+1层的输出h1,j+1的表达式为:

h1,j+1=φ1,j(h1,1,...,h1,j;w1,j,b1,j),j∈{1,...,n};(5)

其中,j∈{1,...,n}表示单粒度网络中的层数,h1,j是sgn-1的第j层的输出,φ1,j(·)是sgn-1的第j层的激活函数,w1,j是sgn-1的第j层的权重,b1,j是sgn-1的第j层的偏差,单粒度网络的总层数为n+1。

sgn-1的输出h1,out的表达式为:

h1,out=φ1,n+1(h1,n+1;w1,n+1,b1,n+1);(6)

其中,φ1,n+1表示sgn-1的第n+1层的激活函数。

第i个单粒度网络sgn-i的第1层输出hi,1的表达式为:

hi,1=φi,1(f(α1,out×h1,out,...,αi-1,out×hi-1,out,hi,in);wi,1,bi,1),i∈{2,...,m};(7)

φi,1(·)是第i个单粒度网络sgn-i的第1层的激活函数,αi-1,out是控制hi,out的权重的参数,hi-1,out是第i-1个单粒度网络的输出,hi,in是第i个单粒度网络sgn-i的输入,wi,1是sgn-i的第1层的权重,bi,1是sgn-i的第1层的偏差,f(·)是特征融合的操作,它用于协作连接或反向连接,i∈{2,...,n}代表特定单粒度网络的顺序,应注意的是,m+1表示本是实施例的单粒度网络的总个数,其中,第m+1个单粒度网络sgn-m+1为第一个网络sgn-1的孪生网络。

第i个单粒度网络sgn-i的第j+1层输出hi,j+1的表达式为:

hi,j+1=φi,j(f(β1,j×h1,j,...,βi-1,j,hi,j);wi,j,bi,j),i∈{2,...,m},j∈{1,...,n};(8)

βi-1,j是第i-1个单粒度网络的第j层的控制不同信息比例的权重,wi,j是第i个单粒度网络sgn-i的第j层的权重,bi.j是第i个单粒度网络sgn-i的第j层的偏差。

第i个单粒度网络sgn-i的输出hi,out的表达式为:

hi,out=φi,n+1(f(β1,n+1×h1,n+1,...,βi,n+1×hi,n+1,hi,n+1);wi,n+1,bi,n+1),i∈{2,...,m};(9)

其中,hi,out是反向连接前第i个单粒度网络sgn-i的输出。

反向连接后,即第1个单粒度网络sgn-1的孪生网络sgn-1’的第1层的输出h′1,1为:

h′1,1=φ1,1(f(α1,out×h1,out,...,αi,out×hi,out,hi,in);w1,1,b1,1),i∈{1,...,m};(10)

其中,h′1,1是孪生网络sgn-1’第1层的输出。

式(9)是反向连接的第一步操作。首先,将sgn-1’的输入更改为输入所有hi,out和原始输入h1,in。

反向连接后sgn-1第j层的输出,即孪生网络sgn-1’的第j层的输出h′1,j的表达式为:

h'1,j+1=φ1,j(f(h′1,j,β2,j×h2,j,...,βi,j×hi,j);w1,j,b1,j),i∈{1,...,n},j∈{1,...,m};(11)

其中,该网络接收每一层的所有单粒度网络特征,h′1,j代表孪生网络sgn-1’第j层的输出。

反向连接后sgn-1的输出,即孪生网络sgn-1’的输出h′1,out的表达式为:

h′1,out=φ1,n+1(f(h′1,n+1,...,βi,n+1×hi,n+1);w1,n+1,b1,n+1),i∈{1,...,m};(12)

通过上述的多粒度合作神经网络,可以实现从低分辨图到高分辨图的重构。

为了训练多粒度合作网络,本实施例中采用了一种新颖的损失函数——多粒度损失函数

具体地,本实施例采用的多粒度损失函数的计算公式为:

其中k是训练过程中输入网络的图像数量,w是的宽,h是的高,c是的通道数,分别表示图像重建损失和图像平滑度损失,λr和λs分别表示相应的权重;本实施例根据经验将它们设置为λr=1和

图像重建损失的计算公式为:

其中,n表示多粒度合作网络中单粒度网络的数量,hi,out表示第i个单粒度网络的输出,i表示参考图像,h′1,out表示反向连接后第一个单粒度网络的输出;

图像平滑度损失的计算公式为:

表示在x和y方向上的总变化。

本发明提供了一种基于多粒度合作网络的极低光成像方法,以多粒度合作神经网络进行学习,实现图像增强,不仅实现了更高的峰值信噪比(psnr)和结构相似性度量(ssim),而且具有更好的视觉效果。此外,本发明采用通过一种新颖的原始照度图估计函数,该函数可以在极端弱光环境下生成具有期望属性(清晰度,色彩鲜艳度,良好对比度)的曝光良好的srgb图像。通过一系列实验,验证了该算法的鲁棒性。如图3、图4、图5和图6是实验结果图,图3和图5是通过拍照设备获取的原始图像,是在低照度环境下拍摄的。通过本发明的成像方法进行图像增强处理后,得到的效果图如图4和图6所示,可明显看出图像增强的效果。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1