发明内容
本发明所要解决的技术问题是提供一种基于稀疏表示的立体图像质量客观评价方法,其计算复杂度低,且能够有效地提高客观评价结果与主观感知的相关性。
本发明解决上述技术问题所采用的技术方案为:一种基于稀疏表示的立体图像质量客观评价方法,其特征在于包括训练阶段和测试阶段两个过程,具体步骤如下:
①选取N幅原始的无失真立体图像的左视点图像构成训练图像集,记为{Li,org|1≤i≤N},其中,N≥1,Li,org表示{Li,org|1≤i≤N}中的第i幅图像;
②利用高斯差分滤波器对{Li,org|1≤i≤N}中的每幅图像实施高斯差分滤波,得到{Li,org|1≤i≤N}中的每幅图像在不同尺度下的滤波图像;
③对{Li,org|1≤i≤N}中的每幅图像在不同尺度下的滤波图像进行非重叠的分块处理;然后采用K-SVD方法对由每个尺度下的N幅滤波图像中的所有子块构成的集合进行字典训练操作,获得每个尺度下的目标训练字典;再将每个尺度下的目标训练字典作为该尺度下的N幅滤波图像的视觉字典表,构造得到{Li,org|1≤i≤N}的视觉字典表,记为D,D={Dj|1≤j≤S},其中,j的初始值为1,1≤j≤S,S表示高斯差分滤波器的尺度个数,Dj表示第j个尺度下的目标训练字典,Dj亦表示第j个尺度下的N幅滤波图像的视觉字典表,Dj亦表示D中的第j个视觉字典;
④对于任意一副测试立体图像Stest,假设Stest对应的原始的无失真立体图像为Sorg,则首先利用高斯差分滤波器对Stest的左视点图像和右视点图像及Sorg的左视点图像和右视点图像分别实施高斯差分滤波,得到各自在不同尺度下的滤波图像;然后对每幅图像在每个尺度下的滤波图像进行非重叠的分块处理;接着根据每幅图像在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取每幅图像在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵;再根据每幅图像在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,计算Stest的局部图像质量客观评价预测值,并根据每幅图像在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素,计算Stest的全局图像质量客观评价预测值;最后根据Stest的局部图像质量客观评价预测值和全局图像质量客观评价预测值,计算Stest的图像质量客观评价预测值。
所述的步骤③的具体过程为:
③-1、将{Li,org|1≤i≤N}中的每幅图像在不同尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块;然后将每个尺度下的N幅滤波图像中的所有子块构成一个集合,将由第j个尺度下的N幅滤波图像中的所有子块构成的集合记为其中,j的初始值为1,1≤j≤S,S表示高斯差分滤波器的尺度个数,W表示选取的原始的无失真立体图像的宽度,H表示选取的原始的无失真立体图像的高度,表示由第j个尺度下的N幅滤波图像中的第t个子块中的所有像素点组成的列向量,的维数为64×1;
③-2、采用K-SVD方法对由每个尺度下的N幅滤波图像中的所有子块构成的集合进行字典训练操作,获得每个尺度下的目标训练字典,将第j个尺度下的目标训练字典记为Dj,Dj通过K-SVD方法求解得到,其中,min()为取最小值函数,符号“|| ||2”为求取矩阵的2-范数符号,Yj的维数为64×M,为中的第1个列向量,为中的第t个列向量,为中的第M个列向量,Xj表示第j个尺度下的稀疏矩阵, 表示Xj中的第1个列向量,表示Xj中的第t个列向量,表示Xj中的第M个列向量,Xj的维数为K×M,K表示设定的字典的个数,K≥1,符号“[]”为矢量表示符号,符号“|| ||0”为求取矩阵的0-范数符号,τ为误差系数,Dj的维数为64×K;
③-3、将每个尺度下的目标训练字典作为该尺度下的N幅滤波图像的视觉字典表,构造得到{Li,org|1≤i≤N}的视觉字典表,记为D,D={Dj|1≤j≤S}。
所述的步骤③-2中取τ=0.1。
所述的步骤④的具体过程为:
④-1、将Stest的左视点图像记为Ltest,将Stest的右视点图像记为Rtest,将Sorg的左视点图像记为Lorg,将Sorg的右视点图像记为Rorg,然后利用高斯差分滤波器对Ltest、Rtest、Lorg和Rorg分别实施高斯差分滤波,对应得到Ltest、Rtest、Lorg和Rorg各自在不同尺度下的滤波图像,将Ltest在第j个尺度下的滤波图像记为将Rtest在第j个尺度下的滤波图像记为将Lorg在第j个尺度下的滤波图像记为将Rorg在第j个尺度下的滤波图像记为其中,j的初始值为1,1≤j≤S,S表示高斯差分滤波器的尺度个数;
④-2、将Ltest在每个尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块,然后将Ltest在每个尺度下的滤波图像中的所有子块构成一个集合,将由中的所有子块构成的集合记为其中,W表示Stest和Sorg的宽度,与步骤①中选取的原始的无失真立体图像的宽度一致,H表示Stest和Sorg的高度,与步骤①中选取的原始的无失真立体图像的高度一致,表示由中的第t'个子块中的所有像素点组成的列向量,的维数为64×1;
将Rtest在每个尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块,然后将Rtest在每个尺度下的滤波图像中的所有子块构成一个集合,将由中的所有子块构成的集合记为其中,表示由中的第t'个子块中的所有像素点组成的列向量,的维数为64×1;
将Lorg在每个尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块,然后将Lorg在每个尺度下的滤波图像中的所有子块构成一个集合,将由中的所有子块构成的集合记为其中,表示由中的第t'个子块中的所有像素点组成的列向量,的维数为64×1;
将Rorg在每个尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块,然后将Rorg在每个尺度下的滤波图像中的所有子块构成一个集合,将由中的所有子块构成的集合记为其中,表示由中的第t'个子块中的所有像素点组成的列向量,的维数为64×1;
④-3、根据Ltest在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取Ltest在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,对于中的每个元素的稀疏系数矩阵,根据中的每个元素和视觉字典表D中的第j个视觉字典Dj获得,将的稀疏系数矩阵记为 其中,(Dj)-1为Dj的逆矩阵;
根据Rtest在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取Rtest在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,对于中的每个元素的稀疏系数矩阵,根据中的每个元素和视觉字典表D中的第j个视觉字典Dj获得,将的稀疏系数矩阵记为
根据Lorg在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取Lorg在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,对于中的每个元素的稀疏系数矩阵,根据中的每个元素和视觉字典表D中的第j个视觉字典Dj获得,将的稀疏系数矩阵记为
根据Rorg在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取Rorg在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,对于中的每个元素的稀疏系数矩阵,根据中的每个元素和视觉字典表D中的第j个视觉字典Dj获得,将的稀疏系数矩阵记为
④-4、计算Ltest在每个尺度下的滤波图像中的每个子块的局部客观评价度量值,对于将中的第t'个子块的局部客观评价度量值记为 其中,为的转置矩阵,符号“|| ||2”为求取矩阵的2-范数符号,C为控制参数;
计算Rtest在每个尺度下的滤波图像中的每个子块的局部客观评价度量值,对于将中的第t'个子块的局部客观评价度量值记为 其中,为的转置矩阵;
④-5、根据Ltest和Rtest在每个尺度下的滤波图像中的每个子块的局部客观评价度量值,计算Stest的局部图像质量客观评价预测值,记为Qlocal, 其中,
④-6、计算Ltest在每个尺度下的滤波图像中的每个子块的全局客观评价度量值,对于将中的第t'个子块的全局客观评价度量值记为 其中,PSNR()为峰值信噪比计算函数;
计算Rtest在每个尺度下的滤波图像中的每个子块的局部客观评价度量值,对于将中的第t'个子块的全局客观评价度量值记为
④-7、根据Ltest和Rtest在每个尺度下的滤波图像中的每个子块的全局客观评价度量值,计算Stest的全局图像质量客观评价预测值,记为Qglobal,
④-8、根据Stest的局部图像质量客观评价预测值Qlocal和全局图像质量客观评价预测值Qglobal,计算Stest的图像质量客观评价预测值,记为Q,Q=wlocal×Qlocal+(1-wlocal)×Qglobal,其中,wlocal为Qlocal的权值比重。
所述的步骤④-4中取C=0.02。
所述的步骤④-8中取wlocal=0.95。
与现有技术相比,本发明的优点在于:
1)本发明方法在训练阶段,通过无监督学习方式对由无失真立体图像的左视点图像构成的训练图像集构造视觉字典表,在测试阶段不需要再计算视觉字典表,这样避免了复杂的机器学习训练过程,降低了计算复杂度。
2)本发明方法在测试阶段,根据在训练阶段估计得到的视觉字典表,估计测试用的失真立体图像和其对应的无失真立体图像中的每个子块的稀疏系数矩阵,并通过稀疏系数矩阵来计算失真立体图像的局部图像质量客观评价预测值,使得最终计算得到的失真立体图像的图像质量客观评价预测值与主观评价值保持了较好的一致性。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种基于稀疏表示的立体图像质量客观评价方法,其总体实现框图如图1所示,其包括训练阶段和测试阶段两个过程:在训练阶段,选择多幅原始的无失真立体图像的左视点图像构成训练图像集,通过采用高斯差分滤波对训练图像集中的每幅图像进行滤波得到不同尺度下的滤波图像,然后对不同尺度下的滤波图像进行非重叠的分块处理,然后采用K-SVD方法对由不同尺度下的所有滤波图像中的所有子块构成的集合进行字典训练操作,得到不同尺度下的目标训练字典作为各尺度下的所有滤波图像的视觉字典表,构造得到训练图像集的视觉字典表;在测试阶段,对任意一副测试立体图像和其对应的原始的无失真立体图像实施高斯差分滤波得到不同尺度下的滤波图像,然后对不同尺度下的滤波图像进行非重叠的分块处理,再根据已构造的视觉字典表,计算得到测试立体图像的图像质量客观评价预测值。本发明方法的具体步骤如下:
①选取N幅原始的无失真立体图像的左视点图像构成训练图像集,记为{Li,org|1≤i≤N},其中,N≥1,Li,org表示{Li,org|1≤i≤N}中的第i幅图像,即表示第i幅原始的无失真立体图像的左视点图像,符号“{}”为集合表示符号。
在具体实施时,原始的无失真立体图像选取的幅数应当适当,如果N的值越大,则通过训练得到的视觉字典表的精度也就越高,但计算复杂度也就越高,因此在本实施例中取N=10。
②利用高斯差分滤波器对{Li,org|1≤i≤N}中的每幅图像实施高斯差分滤波,得到{Li,org|1≤i≤N}中的每幅图像在不同尺度下的滤波图像,将由第j个尺度下的N幅滤波图像构成的集合记为其中,j的初始值为1,1≤j≤S,S表示高斯差分滤波器的尺度个数,在本实施例中取S=5,1≤x≤W,1≤y≤H,W表示选取的原始的无失真立体图像的宽度,H表示选取的原始的无失真立体图像的高度,表示Li,org在第j个尺度下的滤波图像中坐标位置为(x,y)的像素点的像素值。
③对{Li,org|1≤i≤N}中的每幅图像在不同尺度下的滤波图像进行非重叠的分块处理;然后采用K-SVD方法对由每个尺度下的N幅滤波图像中的所有子块构成的集合进行字典训练操作,获得每个尺度下的目标训练字典;再将每个尺度下的目标训练字典作为该尺度下的N幅滤波图像的视觉字典表,构造得到{Li,org|1≤i≤N}的视觉字典表,记为D,D={Dj|1≤j≤S},其中,j的初始值为1,1≤j≤S,S表示高斯差分滤波器的尺度个数,Dj表示第j个尺度下的目标训练字典,Dj亦表示第j个尺度下的N幅滤波图像的视觉字典表,Dj亦表示D中的第j个视觉字典。
在此具体实施例中,步骤③的具体过程为:
③-1、将{Li,org|1≤i≤N}中的每幅图像在不同尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块;然后将每个尺度下的N幅滤波图像中的所有子块构成一个集合,将由第j个尺度下的N幅滤波图像中的所有子块构成的集合记为其中,j的初始值为1,1≤j≤S,S表示高斯差分滤波器的尺度个数,W表示选取的原始的无失真立体图像的宽度,H表示选取的原始的无失真立体图像的高度,表示由第j个尺度下的N幅滤波图像中的第t个子块中的所有像素点组成的列向量,的维数为64×1。
③-2、采用K-SVD方法对由每个尺度下的N幅滤波图像中的所有子块构成的集合进行字典训练操作,获得每个尺度下的目标训练字典,将第j个尺度下的目标训练字典记为Dj,Dj通过K-SVD方法求解得到,其中,min()为取最小值函数,符号“|| ||2”为求取矩阵的2-范数符号,Yj的维数为64×M,中的第1个列向量,亦表示由第j个尺度下的N幅滤波图像中的第1个子块中的所有像素点组成的列向量,为中的第t个列向量,亦表示由第j个尺度下的N幅滤波图像中的第t个子块中的所有像素点组成的列向量,为中的第M个列向量,亦表示由第j个尺度下的N幅滤波图像中的第M个子块中的所有像素点组成的列向量,Xj表示第j个尺度下的稀疏矩阵, 表示Xj中的第1个列向量,表示Xj中的第t个列向量,表示Xj中的第M个列向量,Xj的维数为K×M,K表示设定的字典的个数,K≥1,K的取值过大会出现过聚类现象,K的取值过小会出现欠聚类现象,在本实施例中取K=128,符号“[]”为矢量表示符号,符号“|| ||0”为求取矩阵的0-范数符号,τ为误差系数,在本实施例中取τ=0.1,Dj的维数为64×K。
③-3、将每个尺度下的目标训练字典作为该尺度下的N幅滤波图像的视觉字典表,构造得到{Li,org|1≤i≤N}的视觉字典表,记为D,D={Dj|1≤j≤S}。
④对于任意一副测试用的失真立体图像Stest,假设Stest对应的原始的无失真立体图像为Sorg,则首先利用高斯差分滤波器对Stest的左视点图像和右视点图像及Sorg的左视点图像和右视点图像分别实施高斯差分滤波,得到各自在不同尺度下的滤波图像;然后对每幅图像在每个尺度下的滤波图像进行非重叠的分块处理;接着根据每幅图像在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取每幅图像在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵;再根据每幅图像在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,计算Stest的局部图像质量客观评价预测值,并根据每幅图像在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素,计算Stest的全局图像质量客观评价预测值;最后根据Stest的局部图像质量客观评价预测值和全局图像质量客观评价预测值,计算Stest的图像质量客观评价预测值。
在此具体实施例中,步骤④的具体过程为:
④-1、将Stest的左视点图像记为Ltest,将Stest的右视点图像记为Rtest,将Sorg的左视点图像记为Lorg,将Sorg的右视点图像记为Rorg,然后利用高斯差分滤波器对Ltest、Rtest、Lorg和Rorg分别实施高斯差分滤波,对应得到Ltest、Rtest、Lorg和Rorg各自在不同尺度下的滤波图像,将Ltest在第j个尺度下的滤波图像记为将Rtest在第j个尺度下的滤波图像记为将Lorg在第j个尺度下的滤波图像记为将Rorg在第j个尺度下的滤波图像记为其中,j的初始值为1,1≤j≤S,S表示高斯差分滤波器的尺度个数。
④-2、将Ltest在每个尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块,然后将Ltest在每个尺度下的滤波图像中的所有子块构成一个集合,将由中的所有子块构成的集合记为其中,W表示Stest和Sorg的宽度,与步骤①中选取的原始的无失真立体图像的宽度一致,H表示Stest和Sorg的高度,与步骤①中选取的原始的无失真立体图像的高度一致,表示由中的第t'个子块中的所有像素点组成的列向量,的维数为64×1。
将Rtest在每个尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块,然后将Rtest在每个尺度下的滤波图像中的所有子块构成一个集合,将由中的所有子块构成的集合记为其中,表示由中的第t'个子块中的所有像素点组成的列向量,的维数为64×1。
将Lorg在每个尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块,然后将Lorg在每个尺度下的滤波图像中的所有子块构成一个集合,将由中的所有子块构成的集合记为其中,表示由中的第t'个子块中的所有像素点组成的列向量,的维数为64×1。
将Rorg在每个尺度下的滤波图像划分成个互不重叠的尺寸大小为8×8的子块,然后将Rorg在每个尺度下的滤波图像中的所有子块构成一个集合,将由中的所有子块构成的集合记为其中,表示由中的第t'个子块中的所有像素点组成的列向量,的维数为64×1。
④-3、根据Ltest在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取Ltest在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,对于中的每个元素的稀疏系数矩阵,根据中的每个元素和视觉字典表D中的第j个视觉字典Dj获得,将的稀疏系数矩阵记为 其中,(Dj)-1为Dj的逆矩阵。
根据Rtest在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取Rtest在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,对于中的每个元素的稀疏系数矩阵,根据中的每个元素和视觉字典表D中的第j个视觉字典Dj获得,将的稀疏系数矩阵记为
根据Lorg在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取Lorg在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,对于中的每个元素的稀疏系数矩阵,根据中的每个元素和视觉字典表D中的第j个视觉字典Dj获得,将的稀疏系数矩阵记为
根据Rorg在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素和在训练阶段构造得到的视觉字典表D,获取Rorg在每个尺度下的滤波图像中的所有子块构成的集合中的每个元素的稀疏系数矩阵,对于中的每个元素的稀疏系数矩阵,根据中的每个元素和视觉字典表D中的第j个视觉字典Dj获得,将的稀疏系数矩阵记为
④-4、计算Ltest在每个尺度下的滤波图像中的每个子块的局部客观评价度量值,对于将中的第t'个子块的局部客观评价度量值记为 其中,为的转置矩阵,符号“|| ||2”为求取矩阵的2-范数符号,C为控制参数,在本实施例中取C=0.02。
计算Rtest在每个尺度下的滤波图像中的每个子块的局部客观评价度量值,对于将中的第t'个子块的局部客观评价度量值记为 其中为的转置矩阵。
④-5、根据Ltest和Rtest在每个尺度下的滤波图像中的每个子块的局部客观评价度量值,计算Stest的局部图像质量客观评价预测值,记为Qlocal, 其中,
④-6、计算Ltest在每个尺度下的滤波图像中的每个子块的全局客观评价度量值,对于将中的第t'个子块的全局客观评价度量值记为 其中,PSNR()为峰值信噪比计算函数。
计算Rtest在每个尺度下的滤波图像中的每个子块的局部客观评价度量值,对于将中的第t'个子块的全局客观评价度量值记为
④-7、根据Ltest和Rtest在每个尺度下的滤波图像中的每个子块的全局客观评价度量值,计算Stest的全局图像质量客观评价预测值,记为Qglobal,
④-8、根据Stest的局部图像质量客观评价预测值Qlocal和全局图像质量客观评价预测值Qglobal,计算Stest的图像质量客观评价预测值,记为Q,Q=wlocal×Qlocal+(1-wlocal)×Qglobal,其中,wlocal为Qlocal的权值比重,在本实施例中取wlocal=0.95。
这里,利用评估图像质量评价方法的4个常用客观参量作为评价指标,即非线性回归条件下的Pearson相关系数(Pearson linear correlation coefficient,PLCC)、Spearman相关系数(Spearman rank order correlation coefficient,SROCC)、Kendall相关系数(Kendall rank-order correlation coefficient,KROCC)、均方误差(root mean squared error,RMSE),PLCC和RMSE反映失真的立体图像客观评价结果的准确性,SROCC和KROCC反映其单调性。
利用本发明方法计算宁波大学立体图像库中的每幅失真的立体图像的图像质量客观评价预测值和LIVE立体图像库中的每幅失真的立体图像的图像质量客观评价预测值,再利用现有的主观评价方法获得宁波大学立体图像库中的每幅失真的立体图像的平均主观评分差值和LIVE立体图像库中的每幅失真的立体图像的平均主观评分差值。将按本发明方法计算得到的失真的立体图像的图像质量客观评价预测值做五参数Logistic函数非线性拟合,PLCC、SROCC和KROCC值越高,RMSE值越低说明客观评价方法与平均主观评分差值相关性越好。表1、表2、表3和表4给出了采用本发明方法得到的失真的立体图像的图像质量客观评价预测值与平均主观评分差值之间的Pearson相关系数、Spearman相关系数、Kendall相关系数和均方误差。从表1、表2、表3和表4中可以看出,采用本发明方法得到的失真的立体图像的最终的图像质量客观评价预测值与平均主观评分差值之间的相关性是很高的,表明了客观评价结果与人眼主观感知的结果较为一致,足以说明本发明方法的有效性。
图2给出了利用本发明方法得到的宁波大学立体图像库中的每幅失真的立体图像的图像质量客观评价预测值与平均主观评分差值的散点图,图3给出了利用本发明方法得到的LIVE立体图像库中的每幅失真的立体图像的图像质量客观评价预测值与平均主观评分差值的散点图,散点越集中,说明客观评价结果与主观感知的一致性越好。从图2和图3中可以看出,采用本发明方法得到的散点图比较集中,与主观评价数据之间的吻合度较高。
表1利用本发明方法得到的失真的立体图像的图像质量客观评价预测值与平均主观评分差值之间的Pearson相关系数比较
表2利用本发明方法得到的失真的立体图像的图像质量客观评价预测值与平均主观评分差值之间的Spearman相关系数比较
表3利用本发明方法得到的失真的立体图像的图像质量客观评价预测值与平均主观评分差值之间的Kendall相关系数比较
表4利用本发明方法得到的失真的立体图像的图像质量客观评价预测值与平均主观评分差值之间的均方误差比较