发明名称 基于离散余弦变换系数分布的自适应压缩感知采样方法
摘要 本发明提供了一种基于离散余弦变换系数分布的自适应压缩感知采样方法,它是通过对每个图像块离散余弦变换系数的分布特征的分析来判断该图像块所具有的纹理特性,从而决定对此图像块所采用的采样率,以分配不同的采样样本数给不同的图像块,由此实现对整个图像信号的自适应压缩感知采样,最终完成对整个图像信号的高性能压缩感知采样及重建。与现有的方法相比,本发明具有将实际采样与图像内部特征紧密结合的特点,能够克服现有方法中对图像块进行均匀采样时因忽略图像内部具体纹理特征而造成采样和重建效率较低的缺陷。
申请公布号 CN103700074B 申请公布日期 2016.04.20
申请号 CN201310717184.9 申请日期 2013.12.23
申请人 电子科技大学 发明人 朱树元;曾兵
分类号 G06T5/00(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 电子科技大学专利中心 51203 代理人 曾磊
主权项 一种基于离散余弦变换系数分布的自适应压缩感知采样方法,其特征是它包括以下步骤:步骤1,原始图像的预处理将分辨率为C×R的原始图像,按照传统的图像分块方法划分为N=(C×R)/m<sup>2</sup>个互不重叠的,大小为m×m的正方形图像块,记为B<sub>1</sub>,B<sub>2</sub>,…,B<sub>i</sub>,…,B<sub>N</sub>,这里C代表原始图像的宽度,R代表原始图像的高度,N代表所产生的图像块的个数,m代表所产生的每个正方形图像块的宽度或高度,i代表图像块的索引,i∈{1,2,…,N};步骤2,计算整个图像的采样样本总数定义传统的针对整个图像的压缩感知采样率记为r,将整个图像的采样样本总数记为S,<img file="FDA0000878559490000011.GIF" wi="301" he="73" />这里,符号<img file="FDA0000878559490000012.GIF" wi="119" he="63" />表示对符号内的数按照四舍五入的方式取最接近于它的整数,C代表原始图像的宽度,R代表原始图像的高度;步骤3,计算每个图像块的重要性因子首先,对每一个图像块B<sub>i</sub>,进行传统的二维离散余弦变换,得到变换后的图像块,记为C<sub>i</sub>;将C<sub>i</sub>中每个离散余弦变换系数记为d<sub>l</sub>,这里,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;l代表离散余弦变换系数的索引,l∈{1,2,…,m<sup>2</sup>},m代表所产生的每个正方形图像块的宽度或高度;其次,定义二维离散余弦变换后图像块C<sub>i</sub>中余弦变换系数的统计阀值为T<sub>i</sub>,这里,<img file="FDA0000878559490000013.GIF" wi="318" he="119" />d<sub>l</sub>代表离散余弦变换系数,l代表离散余弦变换系数的索引,l∈{1,2,…,m<sup>2</sup>},m代表所产生的每个正方形图像块的宽度或高度,符号“| |”表示对符号内的数取绝对值;最后,定义图像块B<sub>i</sub>的重要性因子为F(i),这里,F(i)=num(d<sub>l</sub>≥T<sub>i</sub>),符号“num”表示在二维离散余弦变换后的图像块C<sub>i</sub>中统计满足条件d<sub>l</sub>≥T<sub>i</sub>的离散余弦变换系数d<sub>l</sub>的个数;i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;l代表离散余弦变换系数的索引,l∈{1,2,…,m<sup>2</sup>},m代表所产生的每个正方形图像块的宽度或高度;步骤4,初始化每个图像块的采样样本数对每一个图像块B<sub>i</sub>,定义它的采样样本数为n<sub>i</sub>,这里<img file="FDA0000878559490000014.GIF" wi="486" he="119" />符号<img file="FDA0000878559490000015.GIF" wi="132" he="70" />表示对符号内的数按照四舍五入的方式取最接近于它的整数,S代表步骤2中得到的整个图像的采样样本总数,F(i)代表图像块B<sub>i</sub>的重要性因子,i代表图像块的索引,i∈{1,2,…,N},F(k)代表图像块B<sub>k</sub>的重要性因子,k代表图像块的索引,k∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;步骤5,将图像块分组将所有图像块按照每个图像块B<sub>i</sub>的采样样本数分成两个集合,记为G<sub>0</sub>和G<sub>1</sub>,将集合G<sub>0</sub>中每个图像块的采样样本数记为<img file="FDA0000878559490000021.GIF" wi="71" he="61" />将集合G<sub>1</sub>中每个图像块的采样样本数记为<img file="FDA0000878559490000022.GIF" wi="75" he="61" />其中<img file="FDA0000878559490000023.GIF" wi="758" he="70" />这里,m是每个正方形图像块的宽度或高度;i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;步骤6,调整图像块的采样样本数修改集合G<sub>0</sub>中每个图像块的采样样本数<img file="FDA0000878559490000024.GIF" wi="71" he="63" />将修改后每个图像块的采样样本数记为<img file="FDA0000878559490000025.GIF" wi="93" he="63" />令<img file="FDA0000878559490000026.GIF" wi="167" he="69" />将修改后的集合G<sub>0</sub>记为G'<sub>0</sub>,<img file="FDA0000878559490000027.GIF" wi="368" he="70" />这里,m是每个正方形图像块的宽度或高度,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;步骤7,统计每个集合中的图像块个数将步骤6得到的集合G'<sub>0</sub>中每个图像块的索引记为i<sub>0</sub>,将集合G<sub>1</sub>中每个图像块的索引记为i<sub>1</sub>;将集合G'<sub>0</sub>中所有图像块的索引i<sub>0</sub>构成集合Idx<sub>0</sub>,Idx<sub>0</sub>={i<sub>0</sub>=i|B<sub>i</sub>∈G'<sub>0</sub>},将集合G<sub>1</sub>中所有图像块i<sub>1</sub>的索引构成集合Idx<sub>1</sub>,Idx<sub>1</sub>={i<sub>1</sub>=i|B<sub>i</sub>∈G<sub>1</sub>};这里,Idx<sub>0</sub>∪Idx<sub>1</sub>={1,2,…,N};将Idx<sub>0</sub>中所包含的元素的个数记为K<sub>0</sub>,将Idx<sub>1</sub>中所包含的元素的个数记为K<sub>1</sub>,K<sub>0</sub>和K<sub>1</sub>为非负整数,且K<sub>0</sub>+K<sub>1</sub>=N;这里,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;步骤8,样本再分配的判断首先,计算剩余采样样本数,记为Δ,<img file="FDA0000878559490000028.GIF" wi="573" he="143" />这里,S是整个图像的采样样本总数,<img file="FDA0000878559490000029.GIF" wi="62" he="63" />是集合G'<sub>0</sub>中每个图像块的采样样本数,<img file="FDA00008785594900000210.GIF" wi="50" he="62" />是集合G<sub>1</sub>中每个图像块的采样样本数,Idx<sub>0</sub>代表步骤7中产生的集合G'<sub>0</sub>中所有图像块索引的集合,Idx<sub>1</sub>代表步骤7中产生的集合G<sub>1</sub>中所有图像块索引的集合;K<sub>0</sub>为索引集合Idx<sub>0</sub>中元素的个数,K<sub>1</sub>为索引集合Idx<sub>1</sub>中元素的个数,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的图像块的个数;其次,判断是否进行样本再分配,具体判断步骤是:如果剩余采样样本数Δ=0,则不需要进行样本再分配,直接进入步骤10;如果剩余采样样本数Δ≠0,则进入步骤9,进行样本再分配;步骤9,采样样本的再分配首先,更新步骤5中得到的集合G<sub>1</sub>中图像块B<sub>i</sub>的采样样本数<img file="FDA0000878559490000031.GIF" wi="71" he="62" />定义更新后的样本数为<img file="FDA0000878559490000032.GIF" wi="106" he="62" />令<img file="FDA0000878559490000033.GIF" wi="823" he="149" />将更新后的集合G<sub>1</sub>记为G'<sub>1</sub>,<img file="FDA0000878559490000034.GIF" wi="990" he="157" />这里,符号<img file="FDA0000878559490000035.GIF" wi="125" he="71" />表示对符号内的数按照四舍五入的方式取最接近于它的整数;Δ为步骤8中得到的剩余样本数;Idx<sub>1</sub>是步骤7中产生的集合G<sub>1</sub>中所有图像块索引构成的集合;K<sub>1</sub>为Idx<sub>1</sub>中元素的个数;m是每个正方形图像块的宽度或高度,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;接着,把集合G'<sub>1</sub>中采样样本数<img file="FDA0000878559490000036.GIF" wi="58" he="70" />大于或等于m<sup>2</sup>的图像块B<sub>i</sub>选出,组成集合g<sub>1</sub>,这里,<img file="FDA0000878559490000037.GIF" wi="373" he="69" />将集合g<sub>1</sub>放入步骤6得到的集合G'<sub>0</sub>中,同时将集合g<sub>1</sub>从集合G'<sub>1</sub>中删除;将修改后的集合G'<sub>0</sub>记为G”<sub>0</sub>,将修改后的集合G'<sub>1</sub>记为G”<sub>1</sub>;这里,m为每个正方形图像块的宽度或高度;i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;最后,返回步骤7~9,判断是否需要进行样本再分配;步骤10,图像块采样样本数的量化首先,将集合G”<sub>0</sub>中每个图像块的索引记为i”<sub>0</sub>,将集合G”<sub>1</sub>中每个图像块的索引记为i”<sub>1</sub>;将集合G”<sub>0</sub>中所有图像块的索引i”<sub>0</sub>构成集合Idx”<sub>0</sub>,Idx”<sub>0</sub>={i”<sub>0</sub>=i|B<sub>i</sub>∈G”<sub>0</sub>},将集合G”<sub>1</sub>中所有图像块的索引i”<sub>1</sub>构成集合Idx”<sub>1</sub>,Idx”<sub>1</sub>={i”<sub>1</sub>=i|B<sub>i</sub>∈G”<sub>1</sub>};这里,Idx”<sub>0</sub>∪Idx”<sub>1</sub>={1,2,…,N},i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;其次,将集合G”<sub>0</sub>中所有图像块的采样样本数组成集合P<sub>0</sub>,<img file="FDA0000878559490000041.GIF" wi="373" he="63" />将集合G”<sub>1</sub>中所有图像块的采样样本数组成集合P<sub>1</sub>,<img file="FDA0000878559490000042.GIF" wi="358" he="71" />这里,Idx”<sub>0,</sub>是集合G”<sub>0</sub>中所有图像块索引构成的集合,Idx”<sub>1,</sub>是集合G”<sub>1</sub>中所有图像块索引构成的集合,<img file="FDA0000878559490000043.GIF" wi="62" he="69" />是集合G”<sub>0</sub>中每个图像块的采样样本数,<img file="FDA0000878559490000044.GIF" wi="61" he="60" />是集合G”<sub>1</sub>中每个图像块的采样样本数,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;接着,将集合P<sub>0</sub>和P<sub>1</sub>合并,产生全体图像块采样样本数的集合,记为P,P=P<sub>0</sub>∪P<sub>1</sub>,将集合P中每个图像块的采样样本数记为n'<sub>i</sub>,n'<sub>i</sub>∈P;这里,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;最后,对集合P中每个图像块的采样样本数n'<sub>i</sub>进行量化,将量化后的采样样本数记为n”<sub>i</sub>,具体量化步骤是:如果0≤n'<sub>i</sub>≤10,令n”<sub>i</sub>=10;如果n'<sub>i</sub>&gt;10,令n”<sub>i</sub>=10·floor(n'<sub>i</sub>/10);这里符号“floor( )”表示对符号内的数取小于或等于它本身的整数;这里,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;步骤11,产生采样矩阵首先,定义一个随机矩阵Ψ,这里,Ψ的行数为m<sup>2</sup>,列数为m<sup>2</sup>,m是每个正方形图像块的宽度或高度;然后,对第1个图像块B<sub>1</sub>,用矩阵Ψ的前n”<sub>1</sub>个行向量,组成一个采样矩阵,记为Φ<sub>1</sub><sup>(B)</sup>;对第2个图像块B<sub>2</sub>,用矩阵Ψ的前n”<sub>2</sub>个行向量,组成一个采样矩阵,记为Φ<sub>2</sub><sup>(B)</sup>;…;同理,对第N个图像块B<sub>N</sub>,用矩阵Ψ的前n”<sub>N</sub>个行向量,组成一个采样矩阵,记为Φ<sub>N</sub><sup>(B)</sup>;最终得到N个采样矩阵:Φ<sub>1</sub><sup>(B)</sup>,Φ<sub>2</sub><sup>(B)</sup>,…,Φ<sub>N</sub><sup>(B)</sup>,这里,N代表整个图像所包含的图像块的个数,n”<sub>i</sub>表示在步骤10中所产生的量化后的每个图像块B<sub>i</sub>的采样样本数,i代表图像块的索引,i∈{1,2,…,N},N是步骤1中所产生的所有图像块的个数;步骤12,对每个图像块的压缩感知采样首先,按照传统的传加权式压缩感知采样方法中产生加权矩阵的方法,产生一个加权矩阵W;这里,W的行数为m<sup>2</sup>,列数为m<sup>2</sup>,m为每个正方形图像块的宽度或高度;其次,用步骤11中产生的采样矩阵Φ<sub>1</sub><sup>(B)</sup>,Φ<sub>2</sub><sup>(B)</sup>,…,Φ<sub>N</sub><sup>(B)</sup>逐一与加权矩阵W相乘,得到N个采样矩阵:采样矩阵Φ'<sub>1</sub><sup>(B)</sup>=Φ<sub>1</sub><sup>(B)</sup>·W,Φ'<sub>2</sub><sup>(B)</sup>=Φ<sub>2</sub><sup>(B)</sup>·W,…,Φ'<sub>N</sub><sup>(B)</sup>=Φ<sub>N</sub><sup>(B)</sup>·W;最后,用采样矩阵Φ'<sub>1</sub><sup>(B)</sup>,Φ'<sub>2</sub><sup>(B)</sup>,…,Φ'<sub>N</sub><sup>(B)</sup>,对图像块B<sub>1</sub>,B<sub>2</sub>,…,B<sub>N</sub>逐一进行传统的基于图像块的压缩感知采样,得到采样数据Y<sub>1</sub>,Y<sub>2</sub>,…,Y<sub>N</sub>;这里,N是步骤1中所产生的所有图像块的个数;步骤13,图像的重建首先,对步骤12中产生的每一个采样数据Y<sub>1</sub>,Y<sub>2</sub>,…,Y<sub>N</sub>,用传统的基于平滑L<sub>0</sub>范数的稀疏重建法逐一实现传统的基于压缩感知的图像块重建,得到重建后大小为m×m的正方形图像块,记为<img file="FDA0000878559490000051.GIF" wi="414" he="70" />这里,m是每个正方形图像块的宽度或高度;然后,用传统的图像块合成图像的方法将所有的<img file="FDA0000878559490000052.GIF" wi="377" he="70" />组成完整的重建图像;这里,N是步骤1中所产生的所有图像块的个数。
地址 611731 四川省成都市高新区(西区)西源大道2006号