本发明属于计算成像技术领域,涉及一种用于单像素成像的采样和重建集成深度学习网络及其训练方法。
背景技术:
单像素成像技术具有利用一个单像素探测器获取高分辨图像的能力,近十年来得到广泛关注。该技术已应用于多个领域,如磁共振成像、航天遥感、太赫兹成像和高光谱成像。运用压缩感知原理,美国rice大学成功研制了单像素压缩数码照相机,该相机通过对稀疏信号进行观测,只需少量观测点就能精确地重构原始信号。基于压缩感知理论,采用dmd数字微镜结合单点探测器,而非传统ccd,进行数字成像,突破了传统数字成像系统的设计,建立了新型的成像系统。与传统相机相比,单像素压缩数码照相机具有低成本和高灵敏度的优势。
然而,单像素成像的成像速度非常慢,限制了其应用。它还有两个方面需要改进:一是设计测量矩阵对最有效的信息进行采样,从而减少总采样时间;二是开发一种快速、高质量的重建算法。
在测量矩阵方面,利用高斯矩阵、二进制随机矩阵、toeplitz矩阵等矩阵进行少量测量,可以有效地恢复信号。为了实现高效采样,一些研究人员基于从已有的测量数据中获得的先验信息构造了自适应测量矩阵,以减少测量的数量。
为了更有效地对信息进行采样,在重构算法方面,目前已经提出了许多优秀的算法,如omp、romp、iht和tval3;这些算法大多基于图像稀疏或在一定变换域下稀疏的假设,采用迭代策略求解凸优化问题。但是,这些算法重建图像的时间仍较长,特别是在处理较大的图像时。
近年来,人们提出了几种用于从压缩感知(cs)测量中重建图像的深度神经网络。由于其强大的学习能力,目前的基于深度学习的方法有效地避免了计算量大、重建时间长等问题,具有良好的重建性能。但是,这些方法均采用浮点型随机矩阵作为测量矩阵,当用于单像素成像时无法获得良好的重建效果。
技术实现要素:
为了解决目前单像素成像重建时间长以及质量不好的问题,本发明提供了一种用于单像素成像的采样和重建集成深度学习网络及其训练方法。
本发明的技术方案是:
用于单像素成像的采样和重建集成深度学习网络,其特殊之处在于:包括压缩采样子网络、初步重建子网络和深层卷积重建子网络;
所述压缩采样子网络的权值矩阵为由“+1”和“-1”两元组成的二值化矩阵,“+1”和“-1”分别用于调制单像素成像系统中dmd微镜的正向翻转和反向翻转;所述压缩采样子网络用于对目标进行n次压缩采样,将n次压缩采样所得到的数据按时间顺序从左至右依次排布,得到目标的测量值矩阵,n由所述单像素成像系统的测量率确定;
所述初步重建子网络用于对所述测量值矩阵进行卷积、扩维处理,得到初步重建的图像;
所述深层卷积重建子网络利用深层卷积网络,通过残差学习处理所述初步重建的图像,得到更高成像质量图像。
进一步地,所述压缩采样子网络由第一全连接层构成。
进一步地,所述初步重建子网络由一个卷积层和一个第二全连接层级联构成,其中,卷积层的输入与所述第一全连接层的输出相连。
进一步地,所述深层卷积重建子网络包括二十层卷积层;所述二十层卷积层的卷积核大小都为3*3,步长都为1*1;第一层卷积层输入通道数为1,输出通道数为64;最后一层卷积层输入通道数为64,输出通道数为1;第二层卷积层至第十九层卷积层的输入通道数和输出通道数都为64;除最后一层卷积层外,其余每层卷积层后都使用relu激活函数。
本发明还提供了一种用于单像素成像的采样和重建集成深度学习网络的训练方法,其特殊之处在于,包括以下步骤:
(1)构建样本集:
采用与srcnn网络中相同的91幅图片,以步幅14将大图分割为32*32的图像块作为样本集中的样本;
(2)从步骤(1)构建的样本集中提取样本,对于每次提取的样本,提取其亮度分量xi;
(3)搭建上述的采样和重建集成深度学习网络;
(4)对步骤(3)搭建的网络中的压缩采样子网络进行二值化处理
在正向传播过程中,采用基于符号函数sign的确定性方法,将第一全连接层的权值矩阵二值化,即:
其中:xb是二值化的变量;x是实值变量,即压缩采样子网络二值化之前的权值;
(5)计算步骤(3)所构建的网络的整体梯度gx:
gx=gq1|x|≤1;
其中:
(6)将步骤(2)提取的亮度分量xi依次输入至所述压缩采样子网络中,设置训练的最大迭代次数和学习率分别为1500和0.0001,采用tensorflow框架进行训练和测试。
本发明的优点:
1、重建质量高
本发明将压缩采样和图像重建集成在一个网络中进行训练,重建质量明显优于现有的迭代方法和其他常见的基于深度学习的方法,详见说明书中表1的仿真结果。
2、能够产生更优的测量矩阵
本发明充分考虑并分析了单像素成像的特点,与现有测量矩阵生成方法不同,本发明提出在整个集成深度学习网络训练完成后,将压缩采样子网络的二值化权值矩阵作为单像素成像系统中dmd的测量矩阵。本发明产生的测量矩阵不仅可以实现基于深度学习的良好重建,当将本发明中压缩采样子网络的权值矩阵作为测量矩阵时,还可以使tval3等传统算法实现更好的重建。
3、重建时间短
当网络训练完成后,本发明使用网络进行图像重建的时间和复杂度远远低于传统算法,因为传统算法需要通过迭代等一系列复杂的计算操作,而本发明只需要用训练收敛的网络直接进行运算。
4、网络训练时间短
本发明在网络中采用了残差学习,大大降低了网络训练所需的时间。
附图说明
图1为本发明深度学习网络(bf2c-net)的网络结构示意图。
图2为将本发明应用于单像素成像系统的原理示意图。
具体实施方式
以下结合附图和实施例对本发明作进一步说明。
如图1所示,是本发明的深度学习网络(bf2c-net),将原始图像分割为32*32的小块作为输入,重建图像由深度学习网络(bf2c-net)输出的32*32的图像块拼接而成。这里对原始图像分割尺寸的设置是为了适应网络训练时所用图片的尺寸,对于尺寸不是32倍数的图片,可以将图片尺寸进行调整,对32取余并减去余数。
本发明深度学习网络(bf2c-net)可以划分为三个子网络:压缩采样子网络fc(·)、初步重建子网络ff(·)和深层卷积重建子网络fr(·)。
压缩采样子网络fc(·)用于生成原始图像的cs测量值(压缩感知测量值),初步重建子网络ff(·)用于处理cs测量值以形成初步重建的图像,深层卷积重建子网络fr(·)使用深层卷积网络和残差学习来进一步重建输出图像。
1.1压缩采样子网络fc(·)
深度学习网络(bf2c-net)中的第一全连接层即为压缩采样子网络fc(·),其输入是第i个原始图像xi∈r1×m;第一全连接层的权值矩阵w1∈rm×n可以看作一个压缩感知测量矩阵,用以代替传统的随机高斯测量矩阵。为了适应dmd的采样特性,本发明对第一全连接层的权值矩阵w1进行了二值化,得到二值化矩阵w1b。压缩采样就是将二值化矩阵w1b加载到dmd上进行采样的过程,可以表示为:
yi=xiw1b
其中,yi∈r1×n,是第i个原始图像xi压缩采样后的结果,n是测量次数。测量次数n随着测量率mr的变化而变化,对于1*1024的输入,n=256,103,41,11分别对应于测量率mr=0.25,0.10,0.04,0.01。
1.2初步重建子网络ff(·)
初步重建子网络ff(·)由一个卷积层和一个第二全连接层级联构成,用于对压缩测量图像的初步重建,其中卷积层用于从压缩采样的结果中提取特征,第二全连接层用于初步重建。初步重建过程可以表示为:
xir=yiw2
其中,xir∈r1×m,是初步重建后的图像。
上式从yi到xir的映射可以看成近似的线性映射,其中w2∈rn×m为映射矩阵。
损失函数表示为:
1.3深层卷积重建子网络fr(·)
1.3.1深层卷积网络
深层卷积重建子网络fr(·)只学习残差图像,采用深层卷积网络作为压缩测量的重建网络,共包括20层卷积层;
所有卷积层的卷积核大小都为3*3,步长都为1*1。
第一层卷积层输入通道数为1,输出通道数为64。
最后一层卷积层输入通道数为64,输出通道数为1。
第二层卷积层至第十九层卷积层输入通道数和输出通道数都为64。
除最后一层卷积层外,其余每层卷积层后都使用relu激活函数。
1.3.2残差学习
在本发明的深度学习网络(bf2c-net)中,初步重建后的图像和输入图像非常相似,所以在后面的深层卷积网络中,本发明定义了一个残差图像ri=xi-xir,其中大多数值可能是零或很小,这样就不容易导致信息过载,有效的避免了梯度消失和梯度爆炸等现象。我们需要预测这个残差图像,将整个网络的损失值设为
1.4网络训练方法及参数
对压缩采样子网络的权值矩阵进行二值化方法及相应的梯度计算方法:
本发明使用的二值化方法是基于符号函数sign的确定性方法,即:
其中,xb是二值化的变量,x是实值变量,即压缩采样子网络二值化之前的权值,它的实现非常简单,在实践中也非常有效。
已知二值化操作(即前向传播过程)如下:
q=xb=sign(x)
符号函数sign的导数为零,显然无法进行反向传播运算。因此,在反向传播过程中需要对符号函数进行松弛求解,假设初步重建子网络和深层卷积重建子网络的整体梯度
gx=gq1|x|≤1
注意,这保留了梯度的信息,并在x太大时取消梯度,因为当x太大时如果不取消梯度会显著降低性能。其中1|x|≤1为压缩采样子网络的梯度,可以表示成htanh函数,这也是函数变得可求导的原因,具体如下:
htanh(x)=clip(x,-1,1)=max(-1,min(1,x))
本发明使用的是tensorflow框架进行训练和测试;采用的训练集是与srcnn网络中相同的91幅图片;以步幅14将91幅图片均分割为32*32大小的图像块,这个过程最终从91个图像中采样21760个图像块。对于每个图像块,首先提取其亮度分量,将亮度分量表示为xi,并将其用作网络的输入。测试集也与srcnn中的相同。最大迭代次数和学习率分别设置为1500和0.0001。
本发明深度学习网络(bf2c-net)的图像重建过程:
对于给定的原始图像,首先将其无重叠的分割成32*32大小的图像块,将分割后的图像块拉伸(将图像块按行的顺序依次拼接)为1*1024大小后作为深度学习网络(bf2c-net)的输入。
拉伸后的1*1024图像经过压缩采样子网络后,输出压缩采样后的结果。
初步重建子网络利用压缩采样结果进行重建,将初步重建子网络输出的1*1024的图像转为32*32的尺寸即为初步重建图像xir。
如图1所示,深层卷积重建子网络fr(·)以初步重建图像xir为输入,重建结果为残差图像ri加上初步重建图像xir,输出尺寸为32*32的图像块,最终输出图像由32*32图像块按输出顺序拼接而成。
1.5将本发明深度学习网络(bf2c-net)应用于单像素成像系统的实施方法
图2是我们搭建的单像素成像系统,包括光源、成像透镜、dmd微镜、汇聚透镜、光电倍增管、fpga和上位机处理单元。
光源发出微弱的平行光,平行光经过目标物体和成像透镜后打到dmd上。
dmd(ti:0.7xgaddrdmd)作为空间光调制器,具有1024*768个可单独控制偏转的微镜,每个微镜的尺寸为13.68μm×13.68μm,每个数字微镜都有两种反射状态,+12度和-12度的反射分别代表“开”和“关”的调制。fpga向dmd连续加载本发明深度学习网络(bf2c-net)中压缩采样子网络的二值化权值矩阵w1b作为测量矩阵,可实现对空间光的随机调制。我们放置了一个汇聚透镜在+12度的位置上,将dmd的反射光聚集到光电倍增管上。
将已经训练好的本发明深度学习网络(bf2c-net)的压缩采样子网络二值化的权值矩阵w1b作为测量矩阵,将测量矩阵的每一列权值依次提取出来,再通过fpga加载至dmd来实现光的调制,并在每一次采集之后读出光电倍增管的电压值yi的计数值,即光子数,通过fpga将数据发送到上位机处理单元,n次测量(测量次数随测量率变化而变化)后的结果经过上位机处理单元处理(具体是将n次测量值按时间顺序从左至右依次放置)后得到测量值矩阵,将该测量值矩阵输入已经训练好的深度学习网络(bf2c-net)的重建网络部分(包含初步重建子网络和深层卷积重建子网络),经过初步重建子网络后获得初步重建的图像,初步重建图像经过深层卷积重建子网络后得到最终的重建图像。
技术效果验证:
下表1为本发明bf2c-net与传统算法tval3以及另一种基于深度学习的方法ad_re-net的重建效果比较。
表1
上表中,psnr值以db为单位。mr为测量率,从表1可以看出,bf2c-net的psnr平均值在所有测量率下都优于ad_re-net,bf2c-net在高测量率下的psnr平均值非常接近传统的tval3算法,在低测量率下优于tval3算法。因此本发明的重建质量明显优于其他两种算法。