首页> 中国专利> 基于样本二叉树字典学习的全色遥感图像压缩方法

基于样本二叉树字典学习的全色遥感图像压缩方法

摘要

本发明提出了一种基于样本二叉树字典学习的全色遥感图像压缩方法,用于解决现有全色遥感图像压缩方法中存在的结构复杂的纹理信息不能够得到有效表示的技术问题。实现步骤为:通过图像样本复杂度的评价函数,区分图像中简单样本和复杂样本;对训练图像和待压缩图像分别进行预处理得到样本集Y和T;由样本集Y和T分别建立训练样本二叉树和测试样本二叉树,完成不同复杂度样本的划分;训练样本二叉树叶节点上不同复杂度的样本用来训练不同尺度的字典;而测试样本二叉树叶节点上不同复杂度的样本集在对应字典下稀疏编码,得到系数矩阵;系数矩阵经过量化编码得到二进制码流。本发明压缩重构图像的PSNR指标和主观视觉评价高。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-23

    授权

    授权

  • 2017-11-07

    实质审查的生效 IPC(主分类):G06T9/40 申请日:20170525

    实质审查的生效

  • 2017-10-10

    公开

    公开

说明书

技术领域

本发明属于信号处理技术领域,涉及一种遥感图像压缩方法,具体涉及一种基于样本二叉树字典学习的全色遥感图像压缩方法,可用于高空间分辨率的全色像存储和传输,同时却不损害数据的可用性。

背景技术

遥感图像根据光谱维数分为全色遥感图像和多光谱遥感图像,多光谱遥感图像的空间分辨率低,光谱分辨率高,拥有多个谱段,而全色遥感图像空间分辨率高,光谱分辨率低,只有一个谱段,特别是随着近些年遥感技术的发展,全色遥感图像分辨率得到显著提高,甚至达到亚米级分辨率。空间分辨率高的全色遥感图像拥有着良好的视觉效果,但是空间分辨率提高的同时带来了全色遥感图像数据量增大的问题,所以全色遥感图像压缩拥有着较高的研究价值。

字典学习的出现使得特定的信号在字典下的表示具有稀疏性,从而提升了稀疏编码的效果,而稀疏编码模型是近年来一种广泛应用的理论模型,该模型的目的为在过完备字典中搜索一组原子,而这组原子的线性组合能够稀疏的表示信号,正是因为这种稀疏性为稀疏编码模型用于全色遥感图像压缩提供了可能。

根据图像压缩后,能否完全恢复出原始图像可以将全色遥感图像压缩方法分为无损的全色遥感图像压缩方法和有损的全色遥感图像压缩方法。

无损的全色遥感图像压缩方法利用了全色遥感图像场景的冗余性,并通过高效的编码技术准确的重构原始图像,可以对具有空间均匀性高的全色遥感图像达到大倍率压缩的目的,却不会丢失重要的信息,然而,无损压缩技术不可能达到很大的压缩比率,因此无损压缩技术在大数据量的压缩上存在着瓶颈;

有损的全色遥感图像压缩方法压缩后的全色遥感图像数据是有信息损失的,所以有损的全色遥感图像压缩方法允许人们用图像质量来衡量压缩比,目前主要的基于变换的有损的全色遥感图像压缩方法有JPEG2000、传统的基于字典学习的压缩方法,其中,JPEG2000是基于DWT变换的压缩方法,DWT变换采用的是DWT字典,这种字典中是固定不变的,并不能保证样本在这种字典下的表示是稀疏的。传统的基于字典学习的压缩方法,通过迭代训练使字典使其能够适应特定的图像,图像在训练的字典下进行稀疏编码,得到稀疏编码的系数,对其量化编码,得到压缩后的二进制码流,解决了特定的纹理信息简单的样本在固定字典下不具备稀疏性的问题,但是单一的字典表示能力有限,纹理信息复杂的样本在学习到的字典下也不具有好的稀疏性,所以,JPEG2000和传统的基于字典学习的压缩方法,均不能有效表示大场景、纹理结构复杂的全色遥感图像。

发明内容

本发明的目的在于针对上述已有技术的不足,提出了一种基于样本二叉树字典学习的全色遥感图像压缩方法,用于解决现有全色遥感图像压缩方法中存在的结构复杂的纹理信息不能够得到有效表示的技术问题。

本发明的技术思路是:通过图像样本复杂度的评价函数,区分图像中简单样本和复杂样本,对训练图像和待压缩图像分别进行预处理得到样本集Y和T,由样本集Y和T分别建立训练样本二叉树和测试样本二叉树,完成不同复杂度样本的划分,训练样本二叉树叶节点上不同复杂度的样本用来训练不同尺度的字典,而测试样本二叉树叶节点上不同复杂度的样本集在对应字典下稀疏编码,得到系数矩阵,系数矩阵经过量化编码得到二进制码流。

根据上述技术思路,实现本发明目的采取的技术方案包括如下步骤:

(1)从一幅或多幅全色训练图像中随机抽取多个大小为的非平滑图像块,并将每个图像块拉成列矢量,再将这些列矢量排成矩阵,得到样本集其中,yi为第i个图像块拉成的列矢量,i=1,2,…,N,N为样本数量,n为列矢量的维数;

(2)建立m层叶节点个数和层数相同的样本二叉树,并获取多个训练样本集:

2a)定义图像块复杂度函数BC(X):

其中,X为包含4个子图像块xs的图像块,s为子图像块xs的序号,std为方差函数;

2b)确定样本二叉树根节点的左孩子节点和右孩子节点:将图像块复杂度函数BC(X)作为聚类特征,对步骤(1)中的非平滑图像块进行聚类,得到样本二叉树第二层简单样本Y1l、样本二叉树第二层复杂样本Y1r和判定简单样本和复杂样本的判定标准B1,并将Y1l作为样本二叉树根节点的左孩子节点,将Y1r作为样本二叉树根节点的右孩子节点,其中,n1l为该层左孩子节点的样本个数,n1r为该层右孩子节点的样本个数;

2c)将样本二叉树第二层复杂样本Y1r中每个图像块不重叠地切分成四块,得到样本二叉树第二层切分后的复杂样本Y′1r

2d)确定复杂样本Y′1r所在节点的左孩子节点和右孩子节点:将图像块复杂度函数BC(X)作为聚类特征,对样本二叉树第二层切分后的复杂样本Y′1r中的图像块进行聚类,得到样本二叉树第三层简单样本Y2l、样本二叉树第三层复杂样本Y2r和树的第三层中简单样本和复杂样本的判定标准B2,并将Y2l作为Y′1r所在节点的左孩子节点,将Y2r作为Y′1r所在节点的右孩子节点,其中,n2l为该层左孩子节点的样本个数,n2r为该层右孩子节点的样本个数;

2e)将样本二叉树第三层复杂样本Y2r中每个图像块不重叠地切分成四块,得到样本二叉树第三层切分后的复杂样本Y′2r

2f)将图像块复杂度函数BC(X)作为聚类特征,按照自上而下的顺序,对样本二叉树第三层到第m-1层切分后的复杂样本中的图像块进行聚类,得到第三层到第m-1层的复杂样本所在节点的左孩子节点和右孩子节点,并将每一层的复杂样本中每个图像块不重叠地切分成四块,得到第四层到第m层的左孩子节点、右孩子节点和该层简单样本和复杂样本的判定标准,这些孩子节点与根节点以及第二层和第三层确定的孩子节点,组成m层叶节点个数和层数相同的样本二叉树,得到样本二叉树各叶子节点训练样本集Y1l,Y2l,...,Y(m-1)l,Y′(m-1)r,其中,Y1l,Y2l,...,Y(m-1)l分别为样本二叉树第二层到第m层左孩子节点训练样本集,Y′(m-1)r为第m层右孩子节点Y(m-1)r切分后的训练样本集;

(3)对样本二叉树各叶子节点训练样本集Y1l,Y2l,...,Y(m-1)l,Y′(m-1)r分别进行字典训练,得到m个字典D1,D2…Dm

(4)从待压缩图像中按照自上至下、自左至右顺序抽取大小为的图像块,并将每个图像块拉成列矢量,再将这些列矢量排成矩阵,得到样本集其中,ti为第i个图像块拉成的列矢量,i=1,2,…,M,M为样本数量,n为T中列矢量的维数;

(5)建立m层叶节点个数和层数相同的测试样本二叉树,并获取多个测试样本集:

5a)对测试样本集T进行分支操作:将测试样本集T中样本复杂度小于判定标准B1的样本作为测试样本二叉树第二层的简单样本T1l,并将该简单样本T1l作为测试样本二叉树根节点的左孩子节点,同时将测试样本集T中样本复杂度大于判定标准B1的样本作为测试样本二叉树第二层的复杂样本T1r,并将该复杂样本T1r作为测试样本二叉树根节点的右孩子节点;

5b)将测试样本二叉树第二层的复杂样本T1r中每个图像块不重叠的分成四块,得到样本二叉树第二层切分后的复杂样本T′1r

5c)对样本二叉树第二层切分后的复杂样本T′1r进行分支操作:将T1r中样本复杂度小于B2的样本作为测试样本二叉树第三层简单样本T2l,并将该简单样本T2l作为复杂样本T′1r所在节点的左孩子节点,将T1r中样本复杂度大于B2的样本作为测试样本二叉树第三层复杂样本T2r,并将该复杂样本T2r作为复杂样本T′1r所在节点的右孩子节点;

5d)将测试样本二叉树第三层复杂样本T2r中每个图像块不重叠地切分成四块,得到测试样本二叉树第三层切分后的复杂样本T′2r

5e)按照自上而下的顺序,确定第三层到第m-1层的复杂样本所在节点的左孩子节点和右孩子节点,并将每一层的复杂样本中每个图像块不重叠地切分成四块,第四层到第m层的左孩子节点和右孩子节点与根节点以及第二层和第三层确定的孩子节点组成m层叶节点个数和层数相同的的测试样本二叉树,得到测试样本二叉树各叶子节点测试样本集T1l,T2l,...,T(m-1)l,T′(m-1)r,其中,T1l,T2l,...,T(m-1)l分别为测试样本二叉树第二层到第m层左孩子节点测试样本集,T′(m-1)r为第m层右孩子节点T(m-1)r切分后的测试样本集;

(6)对步骤(5)中建立的测试样本二叉树各叶子节点下的测试样本集T1l,T2l,...,T(m-1)l,T′(m-1)r,在步骤(3)中对应字典下进行稀疏编码,即样本Tkl在字典Dk进行稀疏编码,其中,k=1,…,m-1,k为样本或字典序号;而样本T(m-1)r在字典Dm下进行稀疏编码,得到稀疏编码系数X1l...Xkl...X(m-1)l、X(m-1)r

(7)对稀疏编码系数X1l...Xkl...X(m-1)l、X(m-1)r进行量化编码,得到二进制码流。

本发明与现有的技术相比,具有以下优点:

本发明通过定义图像块复杂度函数,对简单样本和复杂样本进行了区分,并提出基于样本二叉树的字典学习方法,实现对不同复杂度样本的划分和学习,得到多个不同尺度的字典,这种不同尺度的字典能够有效表示全色遥感图像的复杂的局部纹理信息,与现有技术相比,提高了PSNR指标和主观视觉评价。

附图说明

图1是本发明的实现流程图;

图2是本发明仿真实验采用的测试图像;

图3是本发明与KSVD算法、JPEG2000,在bpp为0.3时的压缩重构测试图像的仿真效果对比图;

图4是本发明与KSVD算法、JPEG2000,在bpp为0.5时的压缩重构测试图像仿真效果对比图;

图5是本发明与KSVD算法、JPEG2000在bpp为0.7时,的压缩重构测试图像仿真效果对比图;

图6是本发明与KSVD算法、JPEG2000对测试图像进行压缩仿真,得到的不同bpp下的PSNR折线图。

具体实施方法

以下结合附图和具体实施例,对本发明作进一步详细描述。

参照图1,基于样本二叉树字典学习的全色遥感图像压缩方法,包括如下步骤:

步骤1、从一幅或多幅全色训练图像中随机抽取100000个大小为16×16的非平滑图像块,并将每个图像块拉成列矢量,再将这些列矢量排成矩阵,得到样本集其中,yi为第i个图像块拉成的列矢量,i=1,2,…,100000;

步骤2、建立三层叶节点个数和层数相同的样本二叉树,并获取三个训练样本集:

2a)定义图像块复杂度函数BC(X):

其中,X为包含4个子图像块xs的图像块,s为子图像块xs的序号,std为方差函数;

2b)确定样本二叉树根节点的左孩子节点和右孩子节点:将图像块复杂度函数BC(X)作为聚类特征,采用FCM算法对样本集Y中的样本进行聚类,得到样本二叉树第二层简单样本Y1l、样本二叉树第二层复杂样本Y1r和判定简单样本和复杂样本的判定标准B1,并将Y1l作为样本二叉树根节点的左孩子节点,将Y1r作为样本二叉树根节点的右孩子节点,其中,n1l为该层左孩子节点的样本个数,n1r为该层右孩子节点的样本个数,FCM算法步骤为:

2b1)隶属度矩阵U中的元素初始化为0.5;

2b2)固定隶属度U,更新聚类中心ci,更新公式为:

其中,w为控制算法柔性的参数,且w=2,ci为第i个聚类中心,i=1,2,aj为样本集Y中第j个样本的样本复杂度,n为样本个数,uij为隶属度矩阵U的第i行第j列的元素,表示aj属于聚类中心ci的概率,并满足

2b3)计算代价函数J(U,c1,...cc),如果代价函数的值小于0.001,则停止算法,并得到隶属度矩阵U′,并跳转到步骤2b5),代价函数J(U,c1,...cc)为:

其中,dij2=||aj-ci||为样本集Y中第j个样本的样本复杂度到第i个聚类中心的欧式距离;

2b4)更新隶属度矩阵U,跳转到步骤2b2),隶属度矩阵U中第i行、第j列的元素的更新公式为:

2b5)根据隶属度矩阵U′得到样本二叉树第二层简单样本Y1l、样本二叉树第二层复杂样本Y1r简单样本和复杂样本的判定标准B1

2c)将样本二叉树第二层复杂样本Y1r中每个图像块不重叠地切分成四块,得到样本二叉树第二层切分后的复杂样本Y′1r

2d)确定复杂样本Y′1r所在节点的左孩子节点和右孩子节点:将图像块复杂度函数BC(X)作为聚类特征,采用FCM算法对样本二叉树第二层切分后的复杂样本Y′1r中的图像块进行聚类,得到样本二叉树第三层简单样本Y2l、样本二叉树第三层复杂样本Y2r和树的第三层中简单样本和复杂样本的判定标准B2,并将Y2l作为Y′1r所在节点的左孩子节点,将Y2r作为Y′1r所在节点的右孩子节点,其中,n2l为该层左孩子节点的样本个数,n2r为该层右孩子节点的样本个数;

2e)将样本二叉树第三层复杂样本Y2r中每个图像块不重叠的切分成四块,得到样本二叉树第三层切分后的复杂样本Y′2r

步骤3、对样本二叉树三个叶子节点训练样本集Y1l、Y2l和Y′2r分别采用KSVD算法进行字典训练,得到三个字典D1、D2和D3,KSVD算法步骤为:

3a)初始化字典D、迭代次数m、样本H,并设定最大迭代次数:

用1初始化迭代次数m,设定最大迭代次数为25次,并采用DCT字典对字典D进行初始化,得到初始化后的字典D(1),用样本二叉树第二层简单样本Y1l、样本二叉树第三层简单样本Y2l和样本二叉树第三层切分后的复杂样本Y′2r中的一个样本集对样本集H进行初始化,其中,di为第i个字典原子,p为字典原子的个数,且i=1,...,p,k为原子的大小;

3b)采用OMP算法对样本H在字典D(m)下进行稀疏编码,得到系数矩阵其中,D(m)为第m次迭代中的字典,m=1,...,25,xi为系数矩阵X中的第i列系数,M为样本集H中的样本个数;

3c)采用系数矩阵X,对字典D(m)中的原子di进行更新,得到更新后的字典D′(m),更新公式为:

其中,为系数矩阵X的第i行系数;

3d)对第m+1次迭代中的字典进行更新,即D(m+1)=D′(m),并更新迭代次数,即m=m+1,如果迭代次数m≤25,则跳转到步骤3b),否则,停止算法,得到第25次迭代中更新后的字典D′(25),执行步骤3e);

3e)如果步骤3a)中用样本二叉树第二层简单样本Y1l对样本集Y进行初始化,则步骤3d)中得到的更新后的字典D′(25)即为训练好的字典D1,如果步骤3a)中用样本二叉树第三层简单样本Y2l对样本集Y进行初始化,则步骤3d)中得到的更新后的字典D′(25)即为训练好的字典D2,如果步骤3a)中用样本二叉树第三层切分后的复杂样本Y′2r对样本集Y进行初始化,则步骤3d)中得到的更新后的字典D′(25)即为训练好的字典D3

步骤4、从待压缩图像中按照自上至下、自左至右顺序抽取大小为16×16的图像块,并将每个图像块拉成列矢量,再将这些列矢量排成矩阵,得到样本集其中,ti为第i个图像块拉成的列矢量,i=1,2,…,M,M为样本数量;

步骤5、建立三层叶节点个数和层数相同的测试样本二叉树,并获取三个测试样本集:

5a)将测试样本集T中样本复杂度小于判定标准B1的样本作为测试样本二叉树第二层的简单样本T1l,并将该简单样本T1l作为测试样本二叉树根节点的左孩子节点,同时将测试样本集T中样本复杂度大于判定标准B1的样本作为测试样本二叉树第二层的复杂样本T1r,并将该复杂样本T1r作为测试样本二叉树根节点的右孩子节点;

5b)将测试样本二叉树第二层的复杂样本T1r中每个图像块不重叠的分成四块,得到样本二叉树第二层切分后的复杂样本T′1r

5c)对样本二叉树第二层切分后的复杂样本T′1r进行分支操作:将T1r中样本复杂度小于B2的样本作为测试样本二叉树第三层简单样本T2l,并将该简单样本T2l作为复杂样本T′1r所在节点的左孩子节点,将T1r中样本复杂度大于B2的样本作为测试样本二叉树第三层复杂样本T2r,并将该复杂样本T2r作为复杂样本T′1r所在节点的右孩子节点;

5d)将测试样本二叉树第三层复杂样本T2r中每个图像块不重叠地切分成四块,得到测试样本二叉树第三层切分后的复杂样本T′2r

步骤6、测试样本二叉树各叶子节点下的测试样本集T1l、T2l和T′3r,均采用OMP算法分别在字典D1、D2和D3下进行稀疏编码,得到稀疏编码系数X1l、X2l和X3r

步骤7、对稀疏编码系数X1l、X2l和X3r进行量化编码,实现步骤为:

7a)对稀疏编码系数X1l、X2l和X3r中的元素取整,得到量化后的稀疏编码系数X1l、X2l和X3r

7b)对量化后的稀疏编码系数X1l、X2l和X3r中的非零系数以及非零系数对应的索引分别进行霍夫曼编码,得到二进制码流。

以下结合仿真实验,对本发明的技术效果进一步说明:

1)实验条件:

本实验所用的图像数据为QuickBird卫星的Pan图,QuickBird卫星于2001年10月成功发射,是地理变化、森林气候等遥感数据的重要来源。它的传感器可以拍摄多光谱波段和全波段图像,而且是提供亚米级分辨率的最早商业卫星,全波段的空间分辨率可以达到0.65m,光谱波段的空间分辨率可以达到2.62米。本实验中的Pan图拍摄的是城市影像,总共5幅图像,其中1幅图像用来做测试图像,分辨率为2048×2048,如图2所示;4幅用来做训练图像,其中3幅分辨率为2048×2048,1幅分辨率为4001×6001。

实验仿真环境:采用软件MATLAB 2014R作为仿真工具,CPU为Intel Corei3-2310M,主频为2.10GHz,内存4G,操作系统为Windows 8.1专业版。

2)仿真内容及结果分析:

仿真1:在0.3、0.5、0.7bpp下,分别采用KSVD算法、JPEG2000以及本发明对测试图像进行压缩仿真,重构出的效果分别如图3、图4、图5所示。

图3(a)是KSVD算法,在bpp为0.3时,对测试图像进行压缩重构后的图像;

图3(b)是JPEG2000,在bpp为0.3时,对测试图像进行压缩重构后的图像;

图3(c)是本发明,在bpp为0.3时,对测试图像进行压缩重构后的图像;

图4(a)是KSVD算法,在bpp为0.5时,对测试图像进行压缩重构后的图像;

图4(b)是JPEG2000,在bpp为0.5时,对测试图像进行压缩重构后的图像;

图4(c)是本发明,在bpp为0.5时,对测试图像进行压缩重构后的图像;

图5(a)是KSVD算法,在bpp为0.7时,对测试图像进行压缩重构后的图像;

图5(b)是JPEG2000,在bpp为0.7时,对测试图像进行压缩重构后的图像;

图5(c)是本发明,在bpp为0.7时,对测试图像进行压缩重构后的图像。

从图3、图4和图5的实验结果可以看出,在相同的bpp下,JPEG2000重构出的图像纹理信息模糊,KSVD算法由于单一字典对测试样本的表示有限,所以重构的图像也不理想,并且存在块效应现象,而本发明重构的图像在街道和房屋这些纹理信息上较为清晰,所以与JPEG2000方法以及KSVD算法相比,本发明重构图像的视觉效果要好。

仿真2:在不同的bpp下,分别采用KSVD算法、JPEG2000以及本发明对测试图像进行压缩的仿真实验,实验结果如表1和图6所示:

表1

图6是本发明与KSVD算法、JPEG2000对测试图像进行压缩仿真,得到的不同bpp下的PSNR折线图;

表1是本发明与KSVD算法、JPEG2000对测试图像进行压缩仿真,得到的不同bpp下的PSNR表格。

从图6和表1的结果来看,随着bpp的增大,本发明与JPEG2000压缩重构的图像的PSNR的差距越来越小,而本发明与KSVD压缩重构的图像的PSNR差距越来越大,在保持相同的bpp下,本发明压缩重构的图像的PSNR比JPEG2000以及KSVD压缩重构的图像的PSNR要高,说明本发明对测试图像的压缩仿真的效果要好,所以本发明更加优越。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号