发明内容
本发明正是基于上述问题,提出了一种新的信号处理技术,可以更加准确地识别和提取出块结构特征,改善了字典学习的鲁棒性和收敛性,有助于信号的精确重建和分类。
有鉴于此,本发明提出了一种信号处理装置,包括:样本获取单元,用于获取训练样本;字典配置单元,用于将字典配置为预设矩阵,所述预设矩阵中包含预设的块结构向量;矩阵计算单元,用于根据所述预设矩阵和所述预设的块结构向量,计算稀疏系数矩阵,以使所述训练样本为所述字典和所述稀疏系数矩阵的乘积;合并处理单元,用于利用凝聚聚类分析算法对所述稀疏系数矩阵中的间隔距离小于预设距离的块结构进行合并,并对合并后的点积最大的任意两个块结构进行再次合并,以提取出所述稀疏系数矩阵中包含的块结构向量;矩阵修正单元,用于根据提取出的块结构向量,对所述稀疏系数矩阵进行修正;字典更新单元,用于根据修正后的稀疏系数矩阵,对所述字典进行更新;处理控制单元,用于当更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,存储所述更新后的字典,否则以所述更新后的字典为当前字典并进入下次迭代,以继续对所述字典和所述稀疏系数矩阵进行更新计算;信号处理单元,用于利用所述更新后的字典,对待处理信号进行稀疏表示。
在该技术方案中,通过提供任意的训练样本,即可实现对字典的学习过程,从而得到可用于其它信号的稀疏表示的超完备字典,降低了对字典初始值的依赖,有助于提高算法的鲁棒性。
通过凝聚聚类分析算法对稀疏系数矩阵中的块结构进行了两个阶段的合并,充分利用了字典块结构特征,使得从稀疏系数矩阵中提取出的块结构向量更加准确,有助于对字典的学习过程和稀疏系数矩阵的修正和调整,克服了相关技术中的如BK-SVD+SAC算法在凝聚聚类分析算法的起始阶段可能错误识别块结构的问题。
基于训练样本得到的字典,可以应用于对实际处理过程中的信号进行稀疏表示的处理,由于该字典为自适应的超完备字典,从而能够得到比解析字典更好的处理效果;同时,相对于其它方式得到的超完备字典,通过两个阶段的聚类分析,使得基于本发明的超完备字典更加准确,有助于降低稀疏表示过程中的误差。
其中,本发明涉及到的信号可以为语音信号、图像信号等各种一维或多维的信号。
在上述技术方案中,优选地,所述矩阵计算单元用于:通过块正交匹配追踪算法计算所述稀疏系数矩阵;和/或所述矩阵修正单元用于:通过块正交匹配追踪算法对所述稀疏系数矩阵进行修正。
在该技术方案中,对于稀疏系数矩阵的计算方式有很多种,比如较为常见的算法包括:匹配追踪算法(MP,Matching Pursuit)、正交匹配追踪算法(OMP,OrthogonalMatching Pursuit)、块正交匹配追踪算法(BOMP,Block-based Orthogonal MatchingPursuit)、基于互交替投影的块正交匹配追踪算法(MAP-BOMP,Mutual AlternatingProjection-Block Orthogonal Matching Pursuit)等,作为其中一种较为合适和优选的实施方式,可以采用BOMP算法,但显然也可以采用本发明提及或未提及的其它合适的算法。
在上述任一技术方案中,优选地,所述处理控制单元用于:在对所述更新后的字典的迭代次数大于或等于预设次数,和/或所述更新后的字典和所述修正后的稀疏系数矩阵的乘积与所述待处理信号之间的差异值小于或等于预设差异值的情况下,判定所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态。
在该技术方案中,由于稀疏表示是将一个信号表示为字典与稀疏系数矩阵的乘积,因而在收敛状态下,希望通过对最终得到的字典与稀疏系数矩阵进行乘积运算后,得到的结果与最初的信号之间的差异尽可能地小。为了实现上述目的,一种情况下,可以通过增加迭代次数,以多次循环的方式来缩小误差,因而可以设定为迭代次数达到预设次数后,就认为算法收敛;另一种情况下,可以通过对每次运算得到的字典和稀疏系数矩阵进行乘积运算,并对运算结果与上次迭代结果进行比较,若两者的实际差异值小于或等于预设差异值,则认为算法已经收敛。
在上述任一技术方案中,优选地,所述字典更新单元还用于:修正所述字典中的原子间的相干性。
在该技术方案中,不同于相关技术中认为字典中的块内原子间的相干性为0,本发明强调了字典中块内存在一个下限值的原子间的相干性在对信号的稀疏表示中的重要性,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述字典更新单元还用于:通过正则约束项修正所述字典中的原子间的相干性。
在该技术方案中,基于一种较为具体的实施方式,可以采用正则约束项,实现对字典中的原子间的相干性的修正,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,满足下述公式:
|bj|≤s,j∈b,
其中,A∈RK×L为所述修正后的稀疏系数矩阵,b为所述块结构向量,D∈Rd×K为所述更新后的字典,X∈Rd×L为所述待处理信号,κ为已知的最大稀疏度,λ为预设的权重值,Φ(D)为所述正则约束项,B为所述块结构向量b的最大值,和为所述更新后的字典中不同的原子,αi为矩阵A中的第i列向量中的非0值的个数,且d<L。
本发明还提出了一种信号处理方法,包括:获取训练样本;将字典配置为预设矩阵,所述预设矩阵中包含预设的块结构向量;根据所述预设矩阵和所述预设的块结构向量,计算稀疏系数矩阵,以使所述训练样本为所述字典和所述稀疏系数矩阵的乘积;利用凝聚聚类分析算法对所述稀疏系数矩阵中的间隔距离小于预设距离的块结构进行合并,并对合并后的点积最大的任意两个块结构进行再次合并,以提取出所述稀疏系数矩阵中包含的块结构向量;根据提取出的块结构向量,对所述稀疏系数矩阵进行修正,并根据修正后的稀疏系数矩阵,对所述字典进行更新;当更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,存储所述更新后的字典,否则以所述更新后的字典为当前字典并进入下次迭代,继续对所述字典和所述稀疏系数矩阵进行更新计算;利用所述更新后的字典,对待处理信号进行稀疏表示。
在该技术方案中,通过提供任意的训练样本,即可实现对字典的学习过程,从而得到可用于其它信号的稀疏表示的超完备字典,降低了对字典初始值的依赖,有助于提高算法的鲁棒性。
通过凝聚聚类分析算法对稀疏系数矩阵中的块结构进行了两个阶段的合并,充分利用了字典块结构特征,使得从稀疏系数矩阵中提取出的块结构向量更加准确,有助于对字典的学习过程和稀疏系数矩阵的修正和调整,克服了相关技术中的如BK-SVD+SAC算法在凝聚聚类分析算法的起始阶段可能错误识别块结构的问题。
基于训练样本得到的字典,可以应用于对实际处理过程中的信号进行稀疏表示的处理,由于该字典为自适应的超完备字典,从而能够得到比解析字典更好的处理效果;同时,相对于其它方式得到的超完备字典,通过两个阶段的聚类分析,使得基于本发明的超完备字典更加准确,有助于降低稀疏表示过程中的误差。
其中,本发明涉及到的信号可以为语音信号、图像信号等各种一维或多维的信号。
在上述技术方案中,优选地,还包括:通过块正交匹配追踪算法计算所述稀疏系数矩阵,和/或对所述稀疏系数矩阵进行修正。
在该技术方案中,对于稀疏系数矩阵的计算方式有很多种,比如较为常见的算法包括:匹配追踪算法、正交匹配追踪算法、块正交匹配追踪算法、基于互交替投影的块正交匹配追踪算法等,作为其中一种较为合适和优选的实施方式,可以采用BOMP算法,但显然也可以采用本文提及或未提及的其它合适的算法。
在上述任一技术方案中,优选地,判定所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态的过程包括:对所述更新后的字典的迭代次数大于或等于预设次数;和/或所述更新后的字典和所述修正后的稀疏系数矩阵的乘积与所述待处理信号之间的差异值小于或等于预设差异值。
在该技术方案中,由于稀疏表示是将一个信号表示为字典与稀疏系数矩阵的乘积,因而在收敛状态下,希望通过对最终得到的字典与稀疏系数矩阵进行乘积运算后,得到的结果与最初的信号之间的差异尽可能地小。为了实现上述目的,一种情况下,可以通过增加迭代次数,以多次循环的方式来缩小误差,因而可以设定为迭代次数达到预设次数后,就认为算法收敛;另一种情况下,可以通过对每次运算得到的字典和稀疏系数矩阵进行乘积运算,并对运算结果与上次迭代结果进行比较,若两者的实际差异值小于或等于预设差异值,则认为算法已经收敛。
在上述任一技术方案中,优选地,在对所述字典进行更新的过程中,还包括:修正所述字典中的原子间的相干性。
在该技术方案中,不同于相关技术中认为字典中的原子间的相干性为0,本发明强调了字典中块内存在下限值的原子间的相干性在对信号的稀疏表示中的重要性,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,还包括:通过正则约束项修正所述字典中的原子间的相干性。
在该技术方案中,基于一种较为具体的实施方式,可以采用正则约束项,实现对字典中的原子间的相干性的修正,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,满足下述公式:
|bj|≤s,j∈b,
其中,A∈RK×L为所述修正后的稀疏系数矩阵,b为所述块结构向量,D∈Rd×K为所述更新后的字典,X∈Rd×L为所述待处理信号,κ为已知的最大稀疏度,λ为预设的权重值,Φ(D)为所述正则约束项,B为所述块结构向量b的最大值,和为所述更新后的字典中不同的原子,αi为矩阵A中的第i列向量中的非0值的个数,且d<L。
本发明还提出了一种信号处理装置,包括:信号获取单元,用于获取待处理信号;字典配置单元,用于将字典配置为预设矩阵,所述预设矩阵中包含预设的块结构向量;矩阵计算单元,用于根据所述预设矩阵和所述预设的块结构向量,计算稀疏系数矩阵,以使所述待处理信号为所述字典和所述稀疏系数矩阵的乘积;合并处理单元,用于利用凝聚聚类分析算法对所述稀疏系数矩阵中的间隔距离小于预设距离的块结构进行合并,并对合并后的点积最大的任意两个块结构进行再次合并,以提取出所述稀疏系数矩阵中包含的块结构向量;矩阵修正单元,用于根据提取出的块结构向量,对所述稀疏系数矩阵进行修正;字典更新单元,用于根据修正后的稀疏系数矩阵,对所述字典进行更新;处理控制单元,用于当更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,将所述更新后的字典和所述修正后的稀疏系数矩阵作为所述待处理信号的稀疏表示数据以供处理,否则以所述更新后的字典为当前字典并进入下次迭代,以继续对所述字典和所述稀疏系数矩阵进行更新计算。
在该技术方案中,通过字典的学习过程,得到超完备字典,降低了对字典初始值的依赖,有助于提高算法的鲁棒性。
通过凝聚聚类分析算法对稀疏系数矩阵中的块结构进行了两个阶段的合并,充分利用了字典块结构特征,使得从稀疏系数矩阵中提取出的块结构向量更加准确,有助于对字典的学习过程和稀疏系数矩阵的修正和调整,克服了相关技术中的如BK-SVD+SAC算法在凝聚聚类分析算法的起始阶段可能错误识别块结构的问题。
基于学习得到的字典,可以实现对信号的稀疏表示,由于该字典为自适应的超完备字典,从而能够得到比解析字典更好的处理效果;同时,相对于其它方式得到的超完备字典,通过两个阶段的聚类分析,使得基于本发明的超完备字典更加准确,有助于降低稀疏表示过程中的误差。
其中,本发明涉及到的信号可以为语音信号、图像信号等各种一维或多维的信号。
在上述技术方案中,优选地,所述矩阵计算单元用于:通过块正交匹配追踪算法计算所述稀疏系数矩阵;和/或所述矩阵修正单元用于:通过块正交匹配追踪算法对所述稀疏系数矩阵进行修正。
在该技术方案中,对于稀疏系数矩阵的计算方式有很多种,比如较为常见的算法包括:匹配追踪算法、正交匹配追踪算法、块正交匹配追踪算法、基于互交替投影的块正交匹配追踪算法等,作为其中一种较为合适和优选的实施方式,可以采用BOMP算法,但显然也可以采用本文提及或未提及的其它合适的算法。
在上述任一技术方案中,优选地,所述处理控制单元用于:在对所述更新后的字典的迭代次数大于或等于预设次数,和/或所述更新后的字典和所述修正后的稀疏系数矩阵的乘积与所述待处理信号之间的差异值小于或等于预设差异值的情况下,判定所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态。
在该技术方案中,由于稀疏表示是将一个信号表示为字典与稀疏系数矩阵的乘积,因而在收敛状态下,希望通过对最终得到的字典与稀疏系数矩阵进行乘积运算后,得到的结果与最初的信号之间的差异尽可能地小。为了实现上述目的,一种情况下,可以通过增加迭代次数,以多次循环的方式来缩小误差,因而可以设定为迭代次数达到预设次数后,就认为算法收敛;另一种情况下,可以通过对每次运算得到的字典和稀疏系数矩阵进行乘积运算,并对运算结果与上次迭代结果进行比较,若两者的实际差异值小于或等于预设差异值,则认为算法已经收敛。
在上述任一技术方案中,优选地,所述字典更新单元还用于:修正所述字典中的原子间的相干性。
在该技术方案中,不同于相关技术中认为字典中的原子间的相干性为0,本发明强调了字典中块内存在下限值的原子间的相干性在对信号的稀疏表示中的重要性,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述字典更新单元还用于:通过正则约束项修正所述字典中的原子间的相干性。
在该技术方案中,基于一种较为具体的实施方式,可以采用正则约束项,实现对字典中的原子间的相干性的修正,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,满足下述公式:
|bj|≤s,j∈b,
其中,A∈RK×L为所述修正后的稀疏系数矩阵,b为所述块结构向量,D∈Rd×K为所述更新后的字典,X∈Rd×L为所述待处理信号,κ为已知的最大稀疏度,λ为预设的权重值,Φ(D)为所述正则约束项,B为所述块结构向量b的最大值,和为所述更新后的字典中不同的原子,αi为矩阵A中的第i列向量中的非0值的个数,且d<L。
本发明还提出了一种信号处理方法,包括:获取待处理信号;将字典配置为预设矩阵,所述预设矩阵中包含预设的块结构向量;根据所述预设矩阵和所述预设的块结构向量,计算稀疏系数矩阵,以使所述待处理信号为所述字典和所述稀疏系数矩阵的乘积;利用凝聚聚类分析算法对所述稀疏系数矩阵中的间隔距离小于预设距离的块结构进行合并,并对合并后的点积最大的任意两个块结构进行再次合并,以提取出所述稀疏系数矩阵中包含的块结构向量;根据提取出的块结构向量,对所述稀疏系数矩阵进行修正,并根据修正后的稀疏系数矩阵,对所述字典进行更新;当更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,将所述更新后的字典和所述修正后的稀疏系数矩阵作为所述待处理信号的稀疏表示数据以供处理,否则以所述更新后的字典为当前字典并进入下次迭代,继续对所述字典和所述系数系数矩阵进行更新计算。
在该技术方案中,通过字典的学习过程,得到超完备字典,降低了对字典初始值的依赖,有助于提高算法的鲁棒性。
通过凝聚聚类分析算法对稀疏系数矩阵中的块结构进行了两个阶段的合并,充分利用了字典块结构特征,使得从稀疏系数矩阵中提取出的块结构向量更加准确,有助于对字典的学习过程和稀疏系数矩阵的修正和调整,克服了相关技术中的如BK-SVD+SAC算法在凝聚聚类分析算法的起始阶段可能错误识别块结构的问题。
基于学习得到的字典,可以实现对信号的稀疏表示,由于该字典为自适应的超完备字典,从而能够得到比解析字典更好的处理效果;同时,相对于其它方式得到的超完备字典,通过两个阶段的聚类分析,使得基于本发明的超完备字典更加准确,有助于降低稀疏表示过程中的误差。
其中,本发明涉及到的信号可以为语音信号、图像信号等各种一维或多维的信号。
在上述技术方案中,优选地,还包括:通过块正交匹配追踪算法计算所述稀疏系数矩阵,和/或对所述稀疏系数矩阵进行修正。
在该技术方案中,对于稀疏系数矩阵的计算方式有很多种,比如较为常见的算法包括:匹配追踪算法、正交匹配追踪算法、块正交匹配追踪算法、基于互交替投影的块正交匹配追踪算法等,作为其中一种较为合适和优选的实施方式,可以采用BOMP算法,但显然也可以采用本文提及或未提及的其他合适的算法。
在上述任一技术方案中,优选地,判定所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态的过程包括:对所述更新后的字典的迭代次数大于或等于预设次数;和/或所述更新后的字典和所述修正后的稀疏系数矩阵的乘积与所述待处理信号之间的差异值小于或等于预设差异值。
在该技术方案中,由于稀疏表示是将一个信号表示为字典与稀疏系数矩阵的乘积,因而在收敛状态下,希望通过对最终得到的字典与稀疏系数矩阵进行乘积运算后,得到的结果与最初的信号之间的差异尽可能地小。为了实现上述目的,一种情况下,可以通过增加迭代次数,以多次循环的方式来缩小误差,因而可以设定为迭代次数达到预设次数后,就认为算法收敛;另一种情况下,可以通过对每次运算得到的字典和稀疏系数矩阵进行乘积运算,并对运算结果与上次迭代结果进行比较,若两者的实际差异值小于或等于预设差异值,则认为算法已经收敛。
在上述任一技术方案中,优选地,在对所述字典进行更新的过程中,还包括:修正所述字典中的原子间的相干性。
在该技术方案中,不同于相关技术中认为字典中的原子间的相干性为0,本发明强调了字典中块内存在下限值的原子间的相干性在对信号的稀疏表示中的重要性,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,还包括:通过正则约束项修正所述字典中的原子间的相干性。
在该技术方案中,基于一种较为具体的实施方式,可以采用正则约束项,实现对字典中的原子间的相干性的修正,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,满足下述公式:
|bj|≤s,j∈b,
其中,A∈RK×L为所述修正后的稀疏系数矩阵,b为所述块结构向量,D∈Rd×K为所述更新后的字典,X∈Rd×L为所述待处理信号,κ为已知的最大稀疏度,λ为预设的权重值,Φ(D)为所述正则约束项,B为所述块结构向量b的最大值,和为所述更新后的字典中不同的原子,αi为矩阵A中的第i列向量中的非0值的个数,且d<L。
通过以上技术方案,可以更加准确地识别和提取出块结构特征,改善了字典学习的鲁棒性和收敛性,有助于信号的精确重建和分类。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明做进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其它不同于在此描述的其它方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的信号处理装置的示意框图。
如图1所示,根据本发明的一个实施例的信号处理装置100,包括:样本获取单元102,用于获取训练样本;字典配置单元104,用于将字典配置为预设矩阵,所述预设矩阵中包含预设的块结构向量;矩阵计算单元106,用于根据所述预设矩阵和所述预设的块结构向量,计算稀疏系数矩阵,以使所述训练样本为所述字典和所述稀疏系数矩阵的乘积;合并处理单元108,用于利用凝聚聚类分析算法对所述稀疏系数矩阵中的间隔距离小于预设距离的块结构进行合并,并对合并后的点积最大的任意两个块结构进行再次合并,以提取出所述稀疏系数矩阵中包含的块结构向量;矩阵修正单元110,用于根据提取出的块结构向量,对所述稀疏系数矩阵进行修正;字典更新单元112,用于根据修正后的稀疏系数矩阵,对所述字典进行更新;处理控制单元114,用于当更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,存储所述更新后的字典,否则以所述更新后的字典为当前字典并进入下次迭代,以继续对所述字典和所述系数系数矩阵进行更新计算;信号处理单元116,用于利用所述更新后的字典,对待处理信号进行稀疏表示。
在该技术方案中,通过提供任意的训练样本,即可实现对字典的学习过程,从而得到可用于其它信号的稀疏表示的超完备字典,降低了对字典初始值的依赖,有助于提高算法的鲁棒性。
通过凝聚聚类分析算法对稀疏系数矩阵中的块结构进行了两个阶段的合并,充分利用了字典块结构特征,使得从稀疏系数矩阵中提取出的块结构向量更加准确,有助于对字典的学习过程和稀疏系数矩阵的修正和调整,克服了相关技术中的如BK-SVD+SAC算法在凝聚聚类分析算法的起始阶段可能错误识别块结构的问题。
基于训练样本得到的字典,可以应用于对实际处理过程中的信号进行稀疏表示的处理,由于该字典为自适应的超完备字典,从而能够得到比解析字典更好的处理效果;同时,相对于其它方式得到的超完备字典,通过两个阶段的聚类分析,使得基于本发明的超完备字典更加准确,有助于降低稀疏表示过程中的误差。
其中,本发明涉及到的信号可以为语音信号、图像信号等各种一维或多维的信号。
在上述技术方案中,优选地,所述矩阵计算单元106用于:通过块正交匹配追踪算法计算所述稀疏系数矩阵;和/或所述矩阵修正单元110用于:通过块正交匹配追踪算法对所述稀疏系数矩阵进行修正。
在该技术方案中,对于稀疏系数矩阵的计算方式有很多种,比如较为常见的算法包括:匹配追踪算法、正交匹配追踪算法、块正交匹配追踪算法、基于互交替投影的块正交匹配追踪算法等,作为其中一种较为合适和优选的实施方式,可以采用BOMP算法,但显然也可以采用本文提及或未提及的其它合适的算法。
在上述任一技术方案中,优选地,所述处理控制单元114用于:在对所述更新后的字典的迭代次数大于或等于预设次数,和/或所述更新后的字典和所述修正后的稀疏系数矩阵的乘积与所述待处理信号之间的差异值小于或等于预设差异值的情况下,判定所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态。
在该技术方案中,由于稀疏表示是将一个信号表示为字典与稀疏系数矩阵的乘积,因而在收敛状态下,希望通过对最终得到的字典与稀疏系数矩阵进行乘积运算后,得到的结果与最初的信号之间的差异尽可能地小。为了实现上述目的,一种情况下,可以通过增加迭代次数,以多次循环的方式来缩小误差,因而可以设定为迭代次数达到预设次数后,就认为算法收敛;另一种情况下,可以通过对每次运算得到的字典和稀疏系数矩阵进行乘积运算,并对运算结果与上次迭代结果进行比较,若两者的实际差异值小于或等于预设差异值,则认为算法已经收敛。
在上述任一技术方案中,优选地,所述字典更新单元112还用于:修正所述字典中的原子间的相干性。
在该技术方案中,不同于相关技术中认为字典中的原子间的相干性为0,本发明强调了字典中块内存在下限值的原子间的相干性在对信号的稀疏表示中的重要性,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述字典更新单元112还用于:通过正则约束项修正所述字典中的原子间的相干性。
在该技术方案中,基于一种较为具体的实施方式,可以采用正则约束项,实现对字典中的原子间的相干性的修正,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,满足下述公式:
|bj|≤s,j∈b,
其中,A∈RK×L为所述修正后的稀疏系数矩阵,b为所述块结构向量,D∈Rd×K为所述更新后的字典,X∈Rd×L为所述待处理信号,κ为已知的最大稀疏度,λ为预设的权重值,Φ(D)为所述正则约束项,B为所述块结构向量b的最大值,和为所述更新后的字典中不同的原子,αi为矩阵A中的第i列向量中的非0值的个数,且d<L。
图2示出了根据本发明的一个实施例的信号处理方法的示意流程图。
如图2所示,根据本发明的一个实施例的信号处理方法,包括:
步骤202,获取训练样本;
步骤204,将字典配置为预设矩阵,所述预设矩阵中包含预设的块结构向量;
步骤206,根据所述当前字典矩阵和所述预设的块结构向量,计算稀疏系数矩阵,以使所述训练样本为所述字典和所述稀疏系数矩阵的乘积;
步骤208,利用凝聚聚类分析算法对所述稀疏系数矩阵中的间隔距离小于预设距离的块结构进行合并,并对合并后的点积最大的任意两个块结构进行再次合并,以提取出所述稀疏系数矩阵中包含的块结构向量;
步骤210,根据提取出的块结构向量,对所述稀疏系数矩阵进行修正,并根据修正后的稀疏系数矩阵,对所述字典进行更新;
步骤212,判断更新后的字典和所述修正后的稀疏系数矩阵是否呈收敛状态;
步骤214,若不收敛,则以所述更新后的字典为当前字典并进入下次迭代,即返回步骤206,继续对所述字典和所述系数系数矩阵进行循环更新计算;
步骤216,若收敛,则存储所述更新后的字典;
步骤218,利用所述更新后的字典,对待处理信号进行稀疏表示。
在该技术方案中,通过提供任意的训练样本,即可实现对字典的学习过程,从而得到可用于其他信号的稀疏表示的超完备字典,降低了对字典初始值的依赖,有助于提高算法的鲁棒性。
通过凝聚聚类分析算法对稀疏系数矩阵中的块结构进行了两个阶段的合并,充分利用了字典块结构特征,使得从稀疏系数矩阵中提取出的块结构向量更加准确,有助于对字典的学习过程和稀疏系数矩阵的修正和调整,克服了相关技术中的如BK-SVD+SAC算法在凝聚聚类分析算法的起始阶段可能错误识别块结构的问题。
基于训练样本得到的字典,可以应用于对实际处理过程中的信号进行稀疏表示的处理,由于该字典为自适应的超完备字典,从而能够得到比解析字典更好的处理效果;同时,相对于其它方式得到的超完备字典,通过两个阶段的聚类分析,使得基于本发明的超完备字典更加准确,有助于降低稀疏表示过程中的误差。
其中,本发明涉及到的信号可以为语音信号、图像信号等各种一维或多维的信号。
在上述技术方案中,优选地,还包括:通过块正交匹配追踪算法计算所述稀疏系数矩阵,和/或对所述稀疏系数矩阵进行修正。
在该技术方案中,对于稀疏系数矩阵的计算方式有很多种,比如较为常见的算法包括:匹配追踪算法、正交匹配追踪算法、块正交匹配追踪算法、基于互交替投影的块正交匹配追踪算法等,作为其中一种较为合适和优选的实施方式,可以采用BOMP算法,但显然也可以采用本文提及或未提及的其它合适的算法。
在上述任一技术方案中,优选地,判定所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态的过程包括:对所述更新后的字典的迭代次数大于或等于预设次数;和/或所述更新后的字典和所述修正后的稀疏系数矩阵的乘积与所述待处理信号之间的差异值小于或等于预设差异值。
在该技术方案中,由于稀疏表示是将一个信号表示为字典与稀疏系数矩阵的乘积,因而在收敛状态下,希望通过对最终得到的字典与稀疏系数矩阵进行乘积运算后,得到的结果与最初的信号之间的差异尽可能地小。为了实现上述目的,一种情况下,可以通过增加迭代次数,以多次循环的方式来缩小误差,因而可以设定为迭代次数达到预设次数后,就认为算法收敛;另一种情况下,可以通过对每次运算得到的字典和稀疏系数矩阵进行乘积运算,并对运算结果与上次迭代结果进行比较,若两者的实际差异值小于或等于预设差异值,则认为算法已经收敛。
在上述任一技术方案中,优选地,在对所述字典进行更新的过程中,还包括:修正所述字典中的原子间的相干性。
在该技术方案中,不同于相关技术中认为字典中的原子间的相干性为0,本发明强调了字典中块内存在下限值的原子间的相干性在对信号的稀疏表示中的重要性,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,还包括:通过正则约束项修正所述字典中的原子间的相干性。
在该技术方案中,基于一种较为具体的实施方式,可以采用正则约束项,实现对字典中的原子间的相干性的修正,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,满足下述公式:
|bj|≤s,j∈b,
其中,A∈RK×L为所述修正后的稀疏系数矩阵,b为所述块结构向量,D∈Rd×K为所述更新后的字典,X∈Rd×L为所述待处理信号,κ为已知的最大稀疏度,λ为预设的权重值,Φ(D)为所述正则约束项,B为所述块结构向量b的最大值,和为所述更新后的字典中不同的原子,αi为矩阵A中的第i列向量中的非0值的个数,且d<L。
图3示出了根据本发明的另一个实施例的信号处理装置的示意框图。
如图3所示,根据本发明的另一个实施例的信号处理装置300,包括:信号获取单元302,用于获取待处理信号;字典配置单元304,用于将字典配置为预设矩阵,所述预设矩阵中包含预设的块结构向量;矩阵计算单元306,用于根据所述预设矩阵和所述预设的块结构向量,计算稀疏系数矩阵,以使所述待处理信号为所述字典和所述稀疏系数矩阵的乘积;合并处理单元308,用于利用凝聚聚类分析算法对所述稀疏系数矩阵中的间隔距离小于预设距离的块结构进行合并,并对合并后的点积最大的任意两个块结构进行再次合并,以提取出所述稀疏系数矩阵中包含的块结构向量;矩阵修正单元310,用于根据提取出的块结构向量,对所述稀疏系数矩阵进行修正;字典更新单元312,用于根据修正后的稀疏系数矩阵,对所述字典进行更新;处理控制单元314,用于当更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,将所述更新后的字典和所述修正后的稀疏系数矩阵作为所述待处理信号的稀疏表示数据以供处理,否则以所述更新后的字典为当前字典并进入下次迭代,以继续对所述字典和所述系数系数矩阵进行更新计算。
在该技术方案中,通过字典的学习过程,得到超完备字典,降低了对字典初始值的依赖,有助于提高算法的鲁棒性。
通过凝聚聚类分析算法对稀疏系数矩阵中的块结构进行了两个阶段的合并,充分利用了字典块结构特征,使得从稀疏系数矩阵中提取出的块结构向量更加准确,有助于对字典的学习过程和稀疏系数矩阵的修正和调整,克服了相关技术中的如BK-SVD+SAC算法在凝聚聚类分析算法的起始阶段可能错误识别块结构的问题。
基于学习得到的字典,可以实现对信号的稀疏表示,由于该字典为自适应的超完备字典,从而能够得到比解析字典更好的处理效果;同时,相对于其它方式得到的超完备字典,通过两个阶段的聚类分析,使得基于本发明的超完备字典更加准确,有助于降低稀疏表示过程中的误差。
其中,本发明涉及到的信号可以为语音信号、图像信号等各种一维或多维的信号。
在上述技术方案中,优选地,所述矩阵计算单元306用于:通过块正交匹配追踪算法计算所述稀疏系数矩阵;和/或所述矩阵修正单元310用于:通过块正交匹配追踪算法对所述稀疏系数矩阵进行修正。
在该技术方案中,对于稀疏系数矩阵的计算方式有很多种,比如较为常见的算法包括:匹配追踪算法、正交匹配追踪算法、块正交匹配追踪算法、基于互交替投影的块正交匹配追踪算法等,作为其中一种较为合适和优选的实施方式,可以采用BOMP算法,但显然也可以采用本文提及或未提及的其它合适的算法。
在上述任一技术方案中,优选地,所述处理控制单元314用于:在对所述更新后的字典的迭代次数大于或等于预设次数,和/或所述更新后的字典和所述修正后的稀疏系数矩阵的乘积与所述待处理信号之间的差异值小于或等于预设差异值的情况下,判定所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态。
在该技术方案中,由于稀疏表示是将一个信号表示为字典与稀疏系数矩阵的乘积,因而在收敛状态下,希望通过对最终得到的字典与稀疏系数矩阵进行乘积运算后,得到的结果与最初的信号之间的差异尽可能地小。为了实现上述目的,一种情况下,可以通过增加迭代次数,以多次循环的方式来缩小误差,因而可以设定为迭代次数达到预设次数后,就认为算法收敛;另一种情况下,可以通过对每次运算得到的字典和稀疏系数矩阵进行乘积运算,并对运算结果与上次迭代结果进行比较,若两者的实际差异值小于或等于预设差异值,则认为算法已经收敛。
在上述任一技术方案中,优选地,所述字典更新单元312还用于:修正所述字典中的原子间的相干性。
在该技术方案中,不同于相关技术中认为字典中的原子间的相干性为0,本发明强调了字典中块内存在下限值的原子间的相干性在对信号的稀疏表示中的重要性,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述字典更新单元312还用于:通过正则约束项修正所述字典中的原子间的相干性。
在该技术方案中,基于一种较为具体的实施方式,可以采用正则约束项,实现对字典中的原子间的相干性的修正,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,满足下述公式:
|bj|≤s,j∈b,
其中,A∈RK×L为所述修正后的稀疏系数矩阵,b为所述块结构向量,D∈Rd×K为所述更新后的字典,X∈Rd×L为所述待处理信号,κ为已知的最大稀疏度,λ为预设的权重值,Φ(D)为所述正则约束项,B为所述块结构向量b的最大值,和为所述更新后的字典中不同的原子,αi为矩阵A中的第i列向量中的非0值的个数,且d<L。
图4示出了根据本发明的另一个实施例的信号处理方法的示意流程图。
如图4所示,根据本发明的另一个实施例的信号处理方法,包括:
步骤402,获取待处理信号;
步骤404,将字典配置为预设矩阵,所述预设矩阵中包含预设的块结构向量;
步骤406,根据所述预设矩阵和所述预设的块结构向量,计算稀疏系数矩阵,以使所述待处理信号为所述字典和所述稀疏系数矩阵的乘积;
步骤408,利用凝聚聚类分析算法对所述稀疏系数矩阵中的间隔距离小于预设距离的块结构进行合并,并对合并后的点积最大的任意两个块结构进行再次合并,以提取出所述稀疏系数矩阵中包含的块结构向量;
步骤410,根据提取出的块结构向量,对所述稀疏系数矩阵进行修正,并根据修正后的稀疏系数矩阵,对所述字典进行更新;
步骤412,判断更新后的字典和所述修正后的稀疏系数矩阵是否呈收敛状态;
步骤414,若不收敛,则以所述更新后的字典为当前字典并进入下次迭代,即返回步骤406,继续对所述字典和所述系数系数矩阵进行循环更新计算;
步骤416,若收敛,则将所述更新后的字典和所述修正后的稀疏系数矩阵作为所述待处理信号的稀疏表示数据以供处理,比如重建、分类等。
在该技术方案中,通过字典的学习过程,得到超完备字典,降低了对字典初始值的依赖,有助于提高算法的鲁棒性。
通过凝聚聚类分析算法对稀疏系数矩阵中的块结构进行了两个阶段的合并,充分利用了字典块结构特征,使得从稀疏系数矩阵中提取出的块结构向量更加准确,有助于对字典的学习过程和稀疏系数矩阵的修正和调整,克服了相关技术中的如BK-SVD+SAC算法在凝聚聚类分析算法的起始阶段可能错误识别块结构的问题。
基于学习得到的字典,可以实现对信号的稀疏表示,由于该字典为自适应的超完备字典,从而能够得到比解析字典更好的处理效果;同时,相对于其它方式得到的超完备字典,通过两个阶段的聚类分析,使得基于本发明的超完备字典更加准确,有助于降低稀疏表示过程中的误差。
其中,本发明涉及到的信号可以为语音信号、图像信号等各种一维或多维的信号。
在上述技术方案中,优选地,还包括:通过块正交匹配追踪算法计算所述稀疏系数矩阵,和/或对所述稀疏系数矩阵进行修正。
在该技术方案中,对于稀疏系数矩阵的计算方式有很多种,比如较为常见的算法包括:匹配追踪算法、正交匹配追踪算法、块正交匹配追踪算法、基于互交替投影的块正交匹配追踪算法等,作为其中一种较为合适和优选的实施方式,可以采用BOMP算法,但显然也可以采用本文提及或未提及的其它合适的算法。
在上述任一技术方案中,优选地,判定所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态的过程包括:对所述更新后的字典的迭代次数大于或等于预设次数;和/或所述更新后的字典和所述修正后的稀疏系数矩阵的乘积与所述待处理信号之间的差异值小于或等于预设差异值。
在该技术方案中,由于稀疏表示是将一个信号表示为字典与稀疏系数矩阵的乘积,因而在收敛状态下,希望通过对最终得到的字典与稀疏系数矩阵进行乘积运算后,得到的结果与最初的信号之间的差异尽可能地小。为了实现上述目的,一种情况下,可以通过增加迭代次数,以多次循环的方式来缩小误差,因而可以设定为迭代次数达到预设次数后,就认为算法收敛;另一种情况下,可以通过对每次运算得到的字典和稀疏系数矩阵进行乘积运算,并对运算结果与上次迭代结果进行比较,若两者的实际差异值小于或等于预设差异值,则认为算法已经收敛。
在上述任一技术方案中,优选地,在对所述字典进行更新的过程中,还包括:修正所述字典中的原子间的相干性。
在该技术方案中,不同于相关技术中认为字典中的原子间的相干性为0,强调了字典中的原子间的相干性在对信号的稀疏表示中的重要性,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,还包括:通过正则约束项修正所述字典中的原子间的相干性。
在该技术方案中,基于一种较为具体的实施方式,可以采用正则约束项,实现对字典中的原子间的相干性的修正,有助于提高字典学习过程中的准确性,提高了算法整体的鲁棒性。
在上述任一技术方案中,优选地,所述更新后的字典和所述修正后的稀疏系数矩阵呈收敛状态时,满足下述公式:
|bj|≤s,j∈b,
其中,A∈RK×L为所述修正后的稀疏系数矩阵,b为所述块结构向量,D∈Rd×K为所述更新后的字典,X∈Rd×L为所述待处理信号,κ为已知的最大稀疏度,λ为预设的权重值,Φ(D)为所述正则约束项,B为所述块结构向量b的最大值,和为所述更新后的字典中不同的原子,αi为矩阵A中的第i列向量中的非0值的个数,且d<L。
图5示出了根据本发明的实施例的字典学习方法的示意流程图。
如图5所示,根据本发明的实施例的字典学习方法的执行步骤包括:
步骤502,输入训练样本。
作为一个具体的实施例,假定输入的训练样本为X∈Rd×L,则希望寻找一个包含块结构特征b的超完备字典D∈Rd×K和稀疏矩阵(即稀疏系数矩阵)A∈RK×L,以便能够使得恢复出的信号尽可能地与训练样本X相同。
步骤504,对字典执行初始化设置,即设置为一个预设矩阵。基于字典的块结构特征,该预设矩阵中应当包含一个预设的块结构向量b,以用于后续处理过程。
在下述步骤中,本发明采用块坐标松弛法求解最终的字典和稀疏矩阵,从初始化的字典开始循环迭代直至算法收敛。具体而言,每次迭代过程包括:
步骤506,稀疏编码。
假定字典为上述的预设矩阵,并基于预设的块结构向量b,计算对应的稀疏矩阵A。该过程可以表达为:
|bj|≤s,j∈b.
其中,t为迭代次数,当t=1时,D(0)表示D的初始值,即预设矩阵;κ为已知的最大稀疏度;αi为矩阵A中的第i列向量中的非0值的个数。
在本发明的技术方案中,可以选用块正交匹配追踪算法(BOMP)来计算稀疏系数矩阵A。
步骤508,针对计算得到的稀疏系数矩阵A,需要采用凝聚聚类分析算法,对其进行聚类分析处理。
考虑到实际字典D中的块内相似原子个数可能突破最大块尺寸s,因而可以建立基于块稀疏的惩罚函数:
其中,B表示当前块的个数。注意到稀疏矩阵A(t-1)行向量的非零模式可能与学习字典D(t-1)中相应块的列向量一致。也就是说,根据块结构,对字典原子的分类等价于对稀疏矩阵的行向量分类。对于块bj,假设ωj(A(t-1),b)表示稀疏矩阵A(t-1)中相应的非零行。因此,优化问题(2)可以重新描述为:
其中,|ωj(·,·)|表示ωj中非零值的个数。
为了求解优化问题(3),本发明提出了包括两阶段的凝聚聚类分析法来识别字典的块结构,下面结合图6和图7进行详细说明。
1、第一处理阶段
如图6所示,第一处理阶段包括:
步骤602,计算每个块对(j1,j2)之间的距离。稀疏系数矩阵A中的任意两个块结构(实际上为稀疏系数矩阵A内的子矩阵)即可构成一个块对,计算所有的块对之间的距离。
步骤604,创建层次聚类树。
步骤606,依据阈值的连接,创建聚类。具体地,将步骤602中计算得到的每个块对之间的距离,与预设的距离阈值进行比较,若小于或等于预设的距离阈值,则将相应的块对进行合并处理。
步骤608,基于上述合并处理,实现了对块结构的聚类,并据此更新块结构向量b和稀疏矩阵A。
更具体地,对于每次执行的第一阶段的处理过程,计算每两个块之间的距离,寻找最近的块对,使其满足:
其中,VHT表示阈值,城市街区距离度量若满足式(4),则合并块和即
和
重复执行由式(4)和式(5)构成的循环,直至把满足预设的距离阈值这一约束条件的所有块合并完毕。
2、第二处理阶段
将第一处理阶段获得的块结构向量b和稀疏矩阵A作为第二处理阶段的起始值。对于第二处理阶段而言,像传统(与如BK-SVD+SAC算法的凝聚聚类处理过程相同)凝聚聚类方法一样,寻找一个点积最大的块对,使其满足:
通过合并满足式(6)的块对和以更新块结构向量b(t);并通过重复执行如式(6)所示的循环过程,直至把满足“点积最大”这一约束条件的所有块合并完毕。
具体地,如图7所示,第二处理阶段包括:
步骤702,根据块之间的距离,计算相似矩阵。
步骤704,若满足块尺寸的约束,则如果需要合并两个最相似块(即相似矩阵),则进入步骤706,否则进入步骤712。
步骤706,寻找最近的块对(j1*,j2*),具体是指两者的点积值最大。
步骤708,合并最近的块对。
步骤710,完成对所有的块对的合并处理后,更新块结构(即块结构向量)b和稀疏矩阵A。
步骤712,输出最终得到的更新后的块结构b。
如图5所示,在完成步骤508所示的聚类分析处理的过程之后,得到了更新后的块结构向量b,并执行后续流程:
步骤510,基于步骤508得到的更新后的块结构向量b,重新计算稀疏矩阵A。具体地,可以采用块正交匹配追踪算法进行计算,从而得到修正后的稀疏矩阵A。
步骤512,基于更新后的块结构向量b和修正后的稀疏矩阵A,对字典D进行更新,其优化处理模型具体可以为:
在基于式(7)的计算过程中,先固定块结构向量b(t),利用BK-SVD算法依次同时更新学习字典D(t)中的相应块内原子组和稀疏矩阵A(t)的稀疏系数组。对于每个块j∈[1,B],索引为ωj的样本的表示误差为除第j个块以外的样本的表示误差记作即
为了降低表示误差,采用最大秩为|bj|的表示误差的最佳近似作为根据矩阵的奇异值分解,表示成如下形式:
因此,字典更新执行如下:
和
其中,截取的|bj|个主要成分用于更新字典的相应原子组和稀疏系数组注意到当bj|>|ωj|时,块j中|bj|-|ωj|个额外的原子可能被丢弃。通过利用BK-SVD方法,可以使学习字典块内的原子组同时更新,从而使其字典更新步骤的收敛速度快于K-SVD方法。
步骤514,本发明还提出了对字典D的原子相干性的修正。该步骤可以具体体现为对式(7)更新为:
其中,λ是用于调整Φ(D)的权重的平衡参数,Φ(D)是关于学习字典的原子相干性的正则约束项。
当然,根据字典块相干性的定义,优化问题(11)可以表示成另外一种形式:
其中,和分别表示当前字典D中任意两个不同的原子。
字典修正的具体过程为:假设最优解中每个原子的l-2范数是非零的,通过对优化问题(12)中的目标函数求关于原子的导数,则优化问题(12)的闭合解为:
其中,Id是尺寸为d×d的单位矩阵,αr是稀疏矩阵A(t)的第r个稀疏系数组,是块bj的原子组,表示用于编码X的原子的权重。
需要说明的是,虽然图5中描述为步骤512和步骤514,但步骤514实际上可以与步骤512依次顺序执行,也可以同时执行,对最终的结果不会产生影响。
步骤516,判断最终得到的字典D和稀疏矩阵A是否收敛,比如迭代循环的次数是否达到预设的次数阈值(假定循环预设的次数之后,就认为其已经收敛),或由字典D和稀疏矩阵A重建(即计算字典D与稀疏矩阵A的乘积)的信号与原始信号X之间的差异小于预设差异值,则确定为算法收敛,否则需要返回步骤506,以当前迭代计算得到的字典D作为下次迭代的初始字典,重新循环计算,以修正字典D。
步骤518,进一步优化最终得到的字典D和块结构向量b。
以上介绍了基于本发明的技术方案的算法原理和处理过程,本发明还针对上述过程进行了相应的算法验证。
表1
如表1所示,给出了基于不同信噪比(SNR)的条件下,原始信号(Oracle)、基于K-SVD算法的重建信号、基于SVD+SAC算法的重建信号以及基于BSIK-SVD算法(即本发明提出的算法)的重建信号分别对应的归一化表示误差,可见本发明能够有效降低表示误差,为重建信号达到更好的精确度。
同样地,图8示出了在无噪的情况下,本发明所述的BSIK-SVD方法和K-SVD方法、BK-SVD+SAC方法分别对应的归一化表示误差与迭代次数之间的关系,可见本发明能够有效缩短算法的收敛时间。
为了进一步验证本发明所述的BSIK-SVD字典学习方法,还从标准的图像库选取很多张测试图像进行定性和定量的评估分析。在实验中,字典初始化为尺寸64×96的元素正态分布的归一化列向量的随机矩阵,最大块尺寸s=3,块稀疏度κ=2。训练样本X由选自测试图片的所有非重叠的尺寸为8×8的图像片构成。
其中,图9-图12分别给出利用本专利所述的BSIK-SVD方法和K-SVD方法、BK-SVD+SAC方法对房屋(House)、帝王碟(Monarch)、勒拿河(Lena)和飞机(Plane)的测试图片重建的主观视觉效果对比,其中,图9(a)、图10(a)、图11(a)和图12(a)都是原始的测试图像;图9(b)、图10(b)、图11(b)和图12(b)都是基于K-SVD方法的重建图像;图9(c)、图10(c)、图11(c)和图12(c)都是基于BK-SVD+SAC方法的重建图像;图9(d)、图10(d)、图11(d)和图12(d)都是基于本发明的BSIK-SVD方法的重建图像。
表2
此外,当测试图片作为训练图片时,表2给出了本专利所述的BSIK-SVD方法和K-SVD方法、BK-SVD+SAC方法对不同的原始图片的重建结果对比。当然,除了图9-图12所示的4张测试图片,表2中还示出了更多测试图片所对应的重建结果,以用于更为充分的效果对比。
由此可见,本专利所述的BSIK-SVD方法,优于现有的K-SVD方法和BK-SVD+SAC方法,显著地提高了鲁棒性和收敛性,同时具有较好的精确重建效果。
事实上,与K-SVD方法相比,本发明所述的字典学习方法,其数学模型建立在块结构字典和原子组相干性约束等先验的基础上,极大地改善字典学习算法的鲁棒性和收敛性,具有较精确的图像信号重建效果。
与BK-SVD+SAC方法相比,本发明所述的字典学习方法,克服了BK-SVD+SAC方法中凝聚聚类起始阶段可能错误识别字典块结构的问题,还修正块结构字典原子相干性,极大改善了字典学习算法的鲁棒性和收敛性,具有较精确的图像信号重建效果,尤其体现在图像边缘和细微结构区域。
总之,与现有技术相比,本发明所述的字典学习方法,其数学模型建立在块结构字典和原子相干性约束等先验的基础上,极大地改善了字典学习算法的鲁棒性和收敛性,显著地提高了图像信号的精确重建效果,不仅适用于图像信号的稀疏表示,还适用于信号处理、机器学习、模式识别和计算机视觉等领域。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。