一种重定位立体图像质量评价方法
技术领域
本发明涉及一种图像质量评价方法,尤其是涉及一种重定位立体图像质量评价方法。
背景技术
随着具有不同分辨率和屏幕高宽比的智能手机、平板电脑、电视等终端显示设备的应用普及,当需要显示的图像或视频的分辨率与屏幕的分辨率不相符时,如何在尽可能不改变用户观看体验的前提下,改变图像或视频的分辨率使之适应不同尺寸的终端显示设备,这就是适配显示问题。当前典型的适配显示方法有:缩放(scaling)、裁切(cropping)和变形(warping)等。然而,这些适配显示方法没有充分利用终端显示设备的尺寸优势,降低了用户体验效果,因此对不同适配显示方法的性能进行客观评价十分必要。
传统的平面重定位方法,如裁剪、均匀缩放等,在调整图像的分辨率的同时,将图像的重要区域的几何形变和信息损失最小化。然而,立体图像的质量不仅包含图像内容本身,而且过大的双目视差、双目不对称以及双眼调节和辐辏冲突等因素都会严重影响立体图像的观看舒适度。因此,相比于平面重定位方法,立体图像重定位技术需要考虑的图像失真因素更多,这也大大增加了立体图像重定位技术的复杂度。因此,在评价过程中如何有效地提取出几何失真、信息损失、视觉舒适度等信息,使得客观评价结果更加感觉符合人类视觉系统,是在对重定位立体图像进行客观质量评价过程中需要研究解决的问题。
发明内容
本发明所要解决的技术问题是提供一种重定位立体图像质量评价方法,其能够有效地提高客观评价结果与人眼主观感知之间的相关性。
本发明解决上述技术问题所采用的技术方案为:一种重定位立体图像质量评价方法,其特征在于包括以下步骤:
步骤一:令Sorg表示原始的立体图像,令Sret表示Sorg对应的重定位立体图像;将Sorg的左视点图像记为{Lorg(x,y)},将Sorg的右视点图像记为{Rorg(x,y)},将Sret的左视点图像记为{Lret(x',y)},将Sret的右视点图像记为{Rret(x',y)};其中,1≤x≤W,1≤y≤H,1≤x'≤W',W表示Sorg的宽度,W'表示Sret的宽度,H表示Sorg和Sret的高度,Lorg(x,y)表示{Lorg(x,y)}中坐标位置为(x,y)的像素点的像素值,Rorg(x,y)表示{Rorg(x,y)}中坐标位置为(x,y)的像素点的像素值,Lret(x',y)表示{Lret(x',y)}中坐标位置为(x',y)的像素点的像素值,Rret(x',y)表示{Rret(x',y)}中坐标位置为(x',y)的像素点的像素值;
步骤二:计算{Lorg(x,y)}与{Rorg(x,y)}之间的视差图像,记为{dorg(x,y)};同样,计算{Lret(x',y)}与{Rret(x',y)}之间的视差图像,记为{dret(x',y)};其中,dorg(x,y)表示{dorg(x,y)}中坐标位置为(x,y)的像素点的像素值,也即表示{Lorg(x,y)}中坐标位置为(x,y)的像素点的视差值,dret(x',y)表示{dret(x',y)}中坐标位置为(x',y)的像素点的像素值,也即表示{Lret(x',y)}中坐标位置为(x',y)的像素点的视差值;
步骤三:计算S
org和S
ret的几何失真,记为F
GD,
其中,
表示S
org和S
ret的长宽比相似性,
表示S
org和S
ret的网格相似度,符号“[]”为矢量表示符号,
表示将
和
连接起来形成一个矢量;
步骤四:计算S
org和S
ret的信息损失,记为F
IL,
其中,
表示S
org和S
ret的前向信息损失,
表示S
org和S
ret的后向信息损失,
表示S
org和S
ret的信息保持特征,符号“[]”为矢量表示符号,
表示将
和
连接起来形成一个矢量;
步骤五:计算Sorg和Sret的视觉舒适度,记为FVC,FVC=JGL×JLO;其中,JGL表示Sorg和Sret的全局视觉舒适度,JGL根据{dret(x',y)}获取,JLO表示Sorg和Sret的局部视觉舒适度,JLO根据{Lorg(x,y)}、{Lret(x',y)}、{dorg(x,y)}和{dret(x',y)}获取;
步骤六:根据FGD、FIL和FVC,获取Sret的特征矢量,记为F,F=[FGD,FIL,FVC];其中,F的维数为1×6,[FGD,FIL,FVC]表示将FGD、FIL和FVC连接起来形成一个特征矢量;
步骤七:将n'幅原始的立体图像对应的共n幅重定位立体图像构成重定位立体图像集合;然后采用主观质量评价方法,获取重定位立体图像集合中的每幅重定位立体图像的平均主观评分差值,将重定位立体图像集合中的第j幅重定位立体图像的平均主观评分差值记为DMOSj;并按照步骤一至步骤六的过程,以相同的方式获取重定位立体图像集合中的每幅重定位立体图像的特征矢量,将重定位立体图像集合中的第j幅重定位立体图像的特征矢量记为Fj;其中,n'为正整数,n'>1,n为正整数,n≥n',j为正整数,1≤j≤n,DMOSj∈[0,100],Fj的维数为1×6;
步骤八:从重定位立体图像集合中随机选择m幅重定位立体图像构成训练集,将重定位立体图像集合中剩余的n-m幅重定位立体图像构成测试集;然后将训练集中的所有重定位立体图像的特征矢量和平均主观评分差值构成训练样本数据集合;接着采用支持向量回归作为机器学习的方法,对训练样本数据集合中的所有特征矢量进行训练,使得经过训练得到的回归函数值与平均主观评分差值之间的误差最小,拟合得到最优的权重矢量
和最优的偏置项
再利用得到的最优的权重矢量
和最优的偏置项
构造重定位立体图像的支持向量回归训练模型,记为s(F
inp),
其中,m为正整数,1≤m<n,s()为函数表示形式,F
inp表示重定位立体图像的支持向量回归训练模型的输入矢量,为重定位立体图像的特征矢量,F
inp的维数为1×6,
为
的转置,
表示重定位立体图像的支持向量回归训练模型的输入矢量F
inp的线性函数;
步骤九:将测试集中的所有重定位立体图像的特征矢量构成测试样本数据集合;然后根据构造得到的重定位立体图像的支持向量回归训练模型,对测试样本数据集合中的每个特征矢量进行测试,预测得到测试样本数据集合中的每个特征矢量对应的重定位立体图像的客观质量评价预测值,将测试样本数据集合中的第η个特征矢量对应的重定位立体图像的客观质量评价预测值记为Q
η,Q
η=s(F
η),
其中,η为正整数,1≤η≤n-m,F
η表示测试样本数据集合中的第η个特征矢量,F
η的维数为1×6,
表示F
η的线性函数;
步骤十:重复执行步骤八至步骤九共V次,并使重定位立体图像集合中的每幅重定位立体图像至少有一次属于测试集,经过V次执行后计算重定位立体图像集合中的每幅重定位立体图像的若干个客观质量评价预测值的平均值,再将重定位立体图像集合中的每幅重定位立体图像的若干个客观质量评价预测值的平均值作为该幅重定位立体图像的最终的客观质量评价预测值;其中,V为正整数,V≥100。
所述的步骤二中,dorg(x,y)和dret(x',y)的获取过程为:
如果{Lorg(x,y)}中坐标位置为(x,y)的像素点在{Rorg(x,y)}中能找到匹配的像素点,则将{dorg(x,y)}中坐标位置为(x,y)的像素点定义为匹配像素点,并令dorg(x,y)=x*-x;如果{Lorg(x,y)}中坐标位置为(x,y)的像素点在{Rorg(x,y)}中不能找到匹配的像素点,则将{dorg(x,y)}中坐标位置为(x,y)的像素点定义为遮挡像素点,并令dorg(x,y)=255;其中,x*表示{Lorg(x,y)}中坐标位置为(x,y)的像素点在{Rorg(x,y)}中能找到匹配的像素点的横坐标;
如果{Lret(x',y)}中坐标位置为(x',y)的像素点在{Rret(x',y)}中能找到匹配的像素点,则将{dret(x',y)}中坐标位置为(x',y)的像素点定义为匹配像素点,并令dret(x',y)=x'*-x';如果{Lret(x',y)}中坐标位置为(x',y)的像素点在{Rret(x',y)}中不能找到匹配的像素点,则将{dret(x',y)}中坐标位置为(x',y)的像素点定义为遮挡像素点,并令dret(x',y)=255;其中,x'*表示{Lret(x',y)}中坐标位置为(x',y)的像素点在{Rret(x',y)}中能找到匹配的像素点的横坐标。
步骤A1、采用长宽比相似性评价方法获取{L
org(x,y)}和{L
ret(x',y)}的长宽比相似性,记为
同样,采用长宽比相似性评价方法获取{R
org(x,y)}和{R
ret(x',y)}的长宽比相似性,记为
其中,G(L
org,L
ret)表示计算{L
org(x,y)}和{L
ret(x',y)}的长宽比相似性,G(R
org,R
ret)表示计算{R
org(x,y)}和{R
ret(x',y)}的长宽比相似性,G(L
org,L
ret)中的L
org代表{L
org(x,y)}、L
ret代表{L
ret(x',y)},G(R
org,R
ret)中的R
org代表{R
org(x,y)}、R
ret代表{R
ret(x',y)};
步骤A2、根据
和
计算得到S
org和S
ret的长宽比相似性
步骤B1、采用SIFT-Flow方法建立{L
org(x,y)}与{L
ret(x',y)}之间的匹配关系,得到{L
org(x,y)}中的每个像素点的SIFT-Flow向量,将{L
org(x,y)}中坐标位置为(x,y)的像素点的SIFT-Flow向量记为
其中,
用于表示水平方向,
用于表示垂直方向,
表示
的水平偏移量,
表示
的垂直偏移量;
同样,采用SIFT-Flow方法建立{R
org(x,y)}与{R
ret(x',y)}之间的匹配关系,得到{R
org(x,y)}中的每个像素点的SIFT-Flow向量,将{R
org(x,y)}中坐标位置为(x,y)的像素点的SIFT-Flow向量记为
其中,
表示
的水平偏移量,
表示
的垂直偏移量;
步骤B2、将{L
org(x,y)}分割成M个互不重叠的尺寸大小为16×16的四边形网格,将{L
org(x,y)}中的第k个四边形网格记为
以其左上、左下、右上和右下4个网格顶点的集合来描述,
其中,M为正整数,
符号
为向下取整运算符号,k为正整数,1≤k≤M,
对应表示
的左上网格顶点、左下网格顶点、右上网格顶点、右下网格顶点,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
同样,将{R
org(x,y)}分割成M个互不重叠的尺寸大小为16×16的四边形网格,将{R
org(x,y)}中的第k个四边形网格记为
以其左上、左下、右上和右下4个网格顶点的集合来描述,
其中,
对应表示
的左上网格顶点、左下网格顶点、右上网格顶点、右下网格顶点,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
步骤B3、根据{L
org(x,y)}中的每个四边形网格的所有网格顶点的SIFT-Flow向量,确定{L
org(x,y)}中的每个四边形网格在{L
ret(x',y)}中匹配的四边形网格,将
在{L
ret(x',y)}中匹配的四边形网格记为
以其左上、左下、右上和右下4个网格顶点的集合来描述,
其中,
对应表示
的左上网格顶点、左下网格顶点、右上网格顶点、右下网格顶点,
亦表示
在{L
ret(x',y)}中匹配的网格顶点,
亦表示
在{L
ret(x',y)}中匹配的网格顶点,
亦表示
在{L
ret(x',y)}中匹配的网格顶点,
亦表示
在{L
ret(x',y)}中匹配的网格顶点,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量;
同样,根据{R
org(x,y)}中的每个四边形网格的所有网格顶点的SIFT-Flow向量,确定{R
org(x,y)}中的每个四边形网格在{R
ret(x',y)}中匹配的四边形网格,将
在{R
ret(x',y)}中匹配的四边形网格记为
以其左上、左下、右上和右下4个网格顶点的集合来描述,
其中,
对应表示
的左上网格顶点、左下网格顶点、右上网格顶点、右下网格顶点,
亦表示
在{R
ret(x',y)}中匹配的网格顶点,
亦表示
在{R
ret(x',y)}中匹配的网格顶点,
亦表示
在{R
ret(x',y)}中匹配的网格顶点,
亦表示
在{R
ret(x',y)}中匹配的网格顶点,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量;
步骤B4、计算{L
org(x,y)}中的每个四边形网格的网格相似度,将
的网格相似度记为
其中,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
γ为控制参数,C
1为控制参数,符号“||”为取绝对值符号,e表示指数函数的基数;
同样,计算{R
org(x,y)}中的每个四边形网格的网格相似度,将
的网格相似度记为
其中,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
步骤B5、采用基于图论的视觉显著模型提取出{L
org(x,y)}的视觉显著图,记为
然后根据{L
org(x,y)}中的所有四边形网格的网格相似度,并结合
计算得到{L
org(x,y)}的网格相似度,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,也即表示{L
org(x,y)}中坐标位置为(x,y)的像素点的视觉显著值,
表示
中的所有像素点的视觉显著值的均值,也即表示
中与
对应的区域中的所有像素点的像素值的均值;
同样,采用基于图论的视觉显著模型提取出{R
org(x,y)}的视觉显著图,记为
然后根据{R
org(x,y)}中的所有四边形网格的网格相似度,并结合
计算得到{R
org(x,y)}的网格相似度,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,也即表示{R
org(x,y)}中坐标位置为(x,y)的像素点的视觉显著值,
表示
中的所有像素点的视觉显著值的均值,也即表示
中与
对应的区域中的所有像素点的像素值的均值;
步骤B6、根据
和
计算得到S
org和S
ret的网格相似度
步骤C1、采用SIFT-Flow方法建立{L
org(x,y)}与{L
ret(x',y)}之间的匹配关系,得到{L
org(x,y)}中的每个像素点的SIFT-Flow向量,将{L
org(x,y)}中坐标位置为(x,y)的像素点的SIFT-Flow向量记为
然后根据{L
org(x,y)}中的所有像素点的SIFT-Flow向量,从{L
org(x,y)}中重构得到重定位图像,记为
将
中坐标位置为
的像素点的像素值记为
再找出
中的所有空洞像素点,并将值0作为
中的每个空洞像素点的像素值;其中,
用于表示水平方向,
用于表示垂直方向,
表示
的水平偏移量,
表示
的垂直偏移量,
表示
中坐标位置为(x',y)的像素点的像素值,
中的“=”为赋值符号;
同样,采用SIFT-Flow方法建立{R
org(x,y)}与{R
ret(x',y)}之间的匹配关系,得到{R
org(x,y)}中的每个像素点的SIFT-Flow向量,将{R
org(x,y)}中坐标位置为(x,y)的像素点的SIFT-Flow向量记为
然后根据{R
org(x,y)}中的所有像素点的SIFT-Flow向量,从{R
org(x,y)}中重构得到重定位图像,记为
将
中坐标位置为
的像素点的像素值记为
再找出
中的所有空洞像素点,并将值0作为
中的每个空洞像素点的像素值;其中,
表示
的水平偏移量,
表示
的垂直偏移量,
表示
中坐标位置为(x',y)的像素点的像素值,
中的“=”为赋值符号;
步骤C2、计算{L
ret(x',y)}中的所有像素点的亮度分量的直方图,记为
同样,计算
中的所有像素点的亮度分量的直方图,记为
计算{R
ret(x',y)}中的所有像素点的亮度分量的直方图,记为
计算
中的所有像素点的亮度分量的直方图,记为
其中,
的维数均为1×256;
步骤C3、计算{L
org(x,y)}的前向信息损失,记为
同样,计算{R
org(x,y)}的前向信息损失,记为
其中,χ()为求卡方距离函数;
步骤C4、根据
和
计算得到S
org和S
ret的前向信息损失
步骤D1、采用SIFT-Flow方法建立{L
ret(x',y)}与{L
org(x,y)}之间的匹配关系,得到{L
ret(x',y)}中的每个像素点的SIFT-Flow向量,将{L
ret(x',y)}中坐标位置为(x',y)的像素点的SIFT-Flow向量记为
然后根据{L
ret(x',y)}中的所有像素点的SIFT-Flow向量,从{L
ret(x',y)}中重构得到重定位图像,记为
将
中坐标位置为
的像素点的像素值记为
再找出
中的所有空洞像素点,并将值0作为
中的每个空洞像素点的像素值;其中,
用于表示水平方向,
用于表示垂直方向,
表示
的水平偏移量,
表示
的垂直偏移量,
表示
中坐标位置为(x,y)的像素点的像素值,
中的“=”为赋值符号;
同样,采用SIFT-Flow方法建立{R
ret(x',y)}与{R
org(x,y)}之间的匹配关系,得到{R
ret(x',y)}中的每个像素点的SIFT-Flow向量,将{R
ret(x',y)}中坐标位置为(x',y)的像素点的SIFT-Flow向量记为
然后根据{R
ret(x',y)}中的所有像素点的SIFT-Flow向量,从{R
ret(x',y)}中重构得到重定位图像,记为
将
中坐标位置为
的像素点的像素值记为
再找出
中的所有空洞像素点,并将值0作为
中的每个空洞像素点的像素值;其中,
表示
的水平偏移量,
表示
的垂直偏移量,
表示
中坐标位置为(x,y)的像素点的像素值,
中的“=”为赋值符号;
步骤D2、计算{L
org(x,y)}中的所有像素点的亮度分量的直方图,记为
同样,计算
中的所有像素点的亮度分量的直方图,记为
计算{R
org(x,y)}中的所有像素点的亮度分量的直方图,记为
计算
中的所有像素点的亮度分量的直方图,记为
其中,
的维数均为1×256;
步骤D3、计算{L
ret(x',y)}的后向信息损失,记为
同样,计算{R
ret(x',y)}的后向信息损失,记为
其中,χ()为求卡方距离函数;
步骤D4、根据
和
计算得到S
org和S
ret的后向信息损失
步骤E1、采用最大类间方差法提取出{L
org(x,y)}的重要性区域掩码图,记为
采用最大类间方差法提取出
的重要性区域掩码图,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,
表示
中坐标位置为(x,y)的像素点的像素值;
同样,采用最大类间方差法提取出{R
org(x,y)}的重要性区域掩码图,记为
采用最大类间方差法提取出
的重要性区域掩码图,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,
表示
中坐标位置为(x,y)的像素点的像素值;
步骤E2、根据
和
计算{L
org(x,y)}的信息保持特征,记为
其中,
代表
代表
代表
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示
中坐标位置为(x,y)的像素点的像素值,
符号
为点乘操作符号;
同样,根据
和
计算{R
org(x,y)}的信息保持特征,记为
其中,
代表
代表
代表
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示
中坐标位置为(x,y)的像素点的像素值,
步骤E3、根据
和
计算得到S
org和S
ret的信息保持特征
所述的步骤五中,JGL和JLO的计算过程为:
步骤F1、计算S
org和S
ret的全局视觉舒适度J
GL,
其中,e表示指数函数的基数,
表示S
ret的平均视差,即{d
ret(x',y)}中的所有像素点的像素值的平均值,th
d为阈值,λ
1、λ
2、λ
3和τ均为控制参数;
步骤F2、采用最大类间方差法提取出{L
org(x,y)}的重要性区域掩码图,记为
采用最大类间方差法提取出{L
ret(x',y)}的重要性区域掩码图,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,
表示
中坐标位置为(x',y)的像素点的像素值;
步骤F3、采用Canny边缘检测算子提取出{L
org(x,y)}的边缘图,记为
采用Canny边缘检测算子提取出{L
ret(x',y)}的边缘图,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,
表示
中坐标位置为(x',y)的像素点的像素值;
步骤F4、计算S
org的视差重要性图,记为
将
中坐标位置为(x,y)的像素点的像素值记为
其中,
符号
为点乘操作符号;
同样,计算S
ret的视差重要性图,记为
将
中坐标位置为(x',y)的像素点的像素值记为
其中,
步骤F5、计算S
org和S
ret的局部视觉舒适度J
LO,
其中,
代表
代表
表示计算
中的所有像素点的像素值的标准差,
表示计算
中的所有像素点的像素值的标准差,log()表示以10为底的对数操作函数。
与现有技术相比,本发明的优点在于:本发明方法考虑了几何失真、信息损失和视觉舒适度对立体图像重定位的影响,通过计算原始的立体图像和重定位立体图像的长宽比相似性、网格相似度、前向信息损失、后向信息损失、信息保持特征、视觉舒适度,得到重定位立体图像的特征矢量,然后在训练阶段利用支持向量回归对训练集中的特征矢量进行训练,构造得到支持向量回归训练模型;在测试阶段利用构造的支持向量回归训练模型,预测得到测试集中的特征矢量对应的重定位立体图像的客观质量评价预测值,由于获得的特征矢量具有较强的稳定性且能够较好地反映重定位立体图像的几何失真、信息损失和视觉舒适度情况,因此有效地提高了客观评价结果与人眼主观感知之间的相关性。
附图说明
图1为本发明方法的总体实现框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种重定位立体图像质量评价方法,其总体实现框图如图1所示,其包括以下步骤:
步骤一:令Sorg表示原始的立体图像,令Sret表示Sorg对应的重定位立体图像;将Sorg的左视点图像记为{Lorg(x,y)},将Sorg的右视点图像记为{Rorg(x,y)},将Sret的左视点图像记为{Lret(x',y)},将Sret的右视点图像记为{Rret(x',y)};其中,1≤x≤W,1≤y≤H,1≤x'≤W',W表示Sorg的宽度,W'表示Sret的宽度,H表示Sorg和Sret的高度,Lorg(x,y)表示{Lorg(x,y)}中坐标位置为(x,y)的像素点的像素值,Rorg(x,y)表示{Rorg(x,y)}中坐标位置为(x,y)的像素点的像素值,Lret(x',y)表示{Lret(x',y)}中坐标位置为(x',y)的像素点的像素值,Rret(x',y)表示{Rret(x',y)}中坐标位置为(x',y)的像素点的像素值。
步骤二:采用现有的基于光流的视差估计算法计算{Lorg(x,y)}与{Rorg(x,y)}之间的视差图像,记为{dorg(x,y)};同样,采用现有的基于光流的视差估计算法计算{Lret(x',y)}与{Rret(x',y)}之间的视差图像,记为{dret(x',y)};其中,dorg(x,y)表示{dorg(x,y)}中坐标位置为(x,y)的像素点的像素值,也即表示{Lorg(x,y)}中坐标位置为(x,y)的像素点的视差值,dret(x',y)表示{dret(x',y)}中坐标位置为(x',y)的像素点的像素值,也即表示{Lret(x',y)}中坐标位置为(x',y)的像素点的视差值。
在此具体实施例中,步骤二中,dorg(x,y)和dret(x',y)的获取过程为:
如果{Lorg(x,y)}中坐标位置为(x,y)的像素点在{Rorg(x,y)}中能找到匹配的像素点,则将{dorg(x,y)}中坐标位置为(x,y)的像素点定义为匹配像素点,并令dorg(x,y)=x*-x;如果{Lorg(x,y)}中坐标位置为(x,y)的像素点在{Rorg(x,y)}中不能找到匹配的像素点,则将{dorg(x,y)}中坐标位置为(x,y)的像素点定义为遮挡像素点,并令dorg(x,y)=255;其中,x*表示{Lorg(x,y)}中坐标位置为(x,y)的像素点在{Rorg(x,y)}中能找到匹配的像素点的横坐标,即{Lorg(x,y)}中坐标位置为(x,y)的像素点在{Rorg(x,y)}中能找到匹配的像素点的坐标位置为(x*,y)。
如果{Lret(x',y)}中坐标位置为(x',y)的像素点在{Rret(x',y)}中能找到匹配的像素点,则将{dret(x',y)}中坐标位置为(x',y)的像素点定义为匹配像素点,并令dret(x',y)=x'*-x';如果{Lret(x',y)}中坐标位置为(x',y)的像素点在{Rret(x',y)}中不能找到匹配的像素点,则将{dret(x',y)}中坐标位置为(x',y)的像素点定义为遮挡像素点,并令dret(x',y)=255;其中,x'*表示{Lret(x',y)}中坐标位置为(x',y)的像素点在{Rret(x',y)}中能找到匹配的像素点的横坐标,即{Lret(x',y)}中坐标位置为(x',y)的像素点在{Rret(x',y)}中能找到匹配的像素点的坐标位置为(x'*,y)。
步骤三:计算S
org和S
ret的几何失真,记为F
GD,
其中,
表示S
org和S
ret的长宽比相似性,
表示S
org和S
ret的网格相似度,符号“[]”为矢量表示符号,
表示将
和
连接起来形成一个矢量。
步骤A1、采用现有的长宽比相似性(Aspect Ratio Similarity)评价方法获取{L
org(x,y)}和{L
ret(x',y)}的长宽比相似性,记为
同样,采用现有的长宽比相似性(Aspect Ratio Similarity)评价方法获取{R
org(x,y)}和{R
ret(x',y)}的长宽比相似性,记为
其中,G(L
org,L
ret)表示计算{L
org(x,y)}和{L
ret(x',y)}的长宽比相似性,G(R
org,R
ret)表示计算{R
org(x,y)}和{R
ret(x',y)}的长宽比相似性,G(L
org,L
ret)中的L
org代表{L
org(x,y)}、L
ret代表{L
ret(x',y)},G(R
org,R
ret)中的R
org代表{R
org(x,y)}、R
ret代表{R
ret(x',y)}。
步骤A2、根据
和
计算得到S
org和S
ret的长宽比相似性
步骤B1、采用现有的SIFT-Flow方法建立{L
org(x,y)}与{L
ret(x',y)}之间的匹配关系,得到{L
org(x,y)}中的每个像素点的SIFT-Flow向量,将{L
org(x,y)}中坐标位置为(x,y)的像素点的SIFT-Flow向量记为
其中,
用于表示水平方向,
用于表示垂直方向,
表示
的水平偏移量,
表示
的垂直偏移量。
同样,采用现有的SIFT-Flow方法建立{R
org(x,y)}与{R
ret(x',y)}之间的匹配关系,得到{R
org(x,y)}中的每个像素点的SIFT-Flow向量,将{R
org(x,y)}中坐标位置为(x,y)的像素点的SIFT-Flow向量记为
其中,
表示
的水平偏移量,
表示
的垂直偏移量。
步骤B2、将{L
org(x,y)}分割成M个互不重叠的尺寸大小为16×16的四边形网格,将{L
org(x,y)}中的第k个四边形网格记为
以其左上、左下、右上和右下4个网格顶点的集合来描述,
其中,M为正整数,
符号
为向下取整运算符号,k为正整数,1≤k≤M,
对应表示
的左上网格顶点、左下网格顶点、右上网格顶点、右下网格顶点,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
同样,将{R
org(x,y)}分割成M个互不重叠的尺寸大小为16×16的四边形网格,将{R
org(x,y)}中的第k个四边形网格记为
以其左上、左下、右上和右下4个网格顶点的集合来描述,
其中,
对应表示
的左上网格顶点、左下网格顶点、右上网格顶点、右下网格顶点,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
步骤B3、根据{L
org(x,y)}中的每个四边形网格的所有网格顶点的SIFT-Flow向量,确定{L
org(x,y)}中的每个四边形网格在{L
ret(x',y)}中匹配的四边形网格,将
在{L
ret(x',y)}中匹配的四边形网格记为
以其左上、左下、右上和右下4个网格顶点的集合来描述,
其中,
对应表示
的左上网格顶点、左下网格顶点、右上网格顶点、右下网格顶点,
亦表示
在{L
ret(x',y)}中匹配的网格顶点,
亦表示
在{L
ret(x',y)}中匹配的网格顶点,
亦表示
在{L
ret(x',y)}中匹配的网格顶点,
亦表示
在{L
ret(x',y)}中匹配的网格顶点,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量。
同样,根据{R
org(x,y)}中的每个四边形网格的所有网格顶点的SIFT-Flow向量,确定{R
org(x,y)}中的每个四边形网格在{R
ret(x',y)}中匹配的四边形网格,将
在{R
ret(x',y)}中匹配的四边形网格记为
以其左上、左下、右上和右下4个网格顶点的集合来描述,
其中,
对应表示
的左上网格顶点、左下网格顶点、右上网格顶点、右下网格顶点,
亦表示
在{R
ret(x',y)}中匹配的网格顶点,
亦表示
在{R
ret(x',y)}中匹配的网格顶点,
亦表示
在{R
ret(x',y)}中匹配的网格顶点,
亦表示
在{R
ret(x',y)}中匹配的网格顶点,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
以
的水平坐标位置
和垂直坐标位置
来描述,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量,
和
对应表示
的SIFT-Flow向量的水平偏移量和垂直偏移量。
步骤B4、计算{L
org(x,y)}中的每个四边形网格的网格相似度,将
的网格相似度记为
其中,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
γ为控制参数,在本实施例中取γ=0.3,C
1为控制参数,在本实施例中取C
1=10
-6,符号“||”为取绝对值符号,e表示指数函数的基数。
同样,计算{R
org(x,y)}中的每个四边形网格的网格相似度,将
的网格相似度记为
其中,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
表示
与
之间的距离,
步骤B5、采用现有的基于图论的视觉显著(Graph-Based Visual Saliency,GBVS)模型提取出{L
org(x,y)}的视觉显著图,记为
然后根据{L
org(x,y)}中的所有四边形网格的网格相似度,并结合
计算得到{L
org(x,y)}的网格相似度,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,也即表示{L
org(x,y)}中坐标位置为(x,y)的像素点的视觉显著值,
表示
中的所有像素点的视觉显著值的均值,也即表示
中与
对应的区域中的所有像素点的像素值的均值。
同样,采用现有的基于图论的视觉显著(Graph-Based Visual Saliency,GBVS)模型提取出{R
org(x,y)}的视觉显著图,记为
然后根据{R
org(x,y)}中的所有四边形网格的网格相似度,并结合
计算得到{R
org(x,y)}的网格相似度,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,也即表示{R
org(x,y)}中坐标位置为(x,y)的像素点的视觉显著值,
表示
中的所有像素点的视觉显著值的均值,也即表示
中与
对应的区域中的所有像素点的像素值的均值。
步骤B6、根据
和
计算得到S
org和S
ret的网格相似度
步骤四:计算S
org和S
ret的信息损失,记为F
IL,
其中,
表示S
org和S
ret的前向信息损失,
表示S
org和S
ret的后向信息损失,
表示S
org和S
ret的信息保持特征,符号“[]”为矢量表示符号,
表示将
和
连接起来形成一个矢量。
步骤C1、采用现有的SIFT-Flow方法建立{L
org(x,y)}与{L
ret(x',y)}之间的匹配关系,得到{L
org(x,y)}中的每个像素点的SIFT-Flow向量,将{L
org(x,y)}中坐标位置为(x,y)的像素点的SIFT-Flow向量记为
然后根据{L
org(x,y)}中的所有像素点的SIFT-Flow向量,从{L
org(x,y)}中重构得到重定位图像,记为
将
中坐标位置为
的像素点的像素值记为
再找出
中的所有空洞像素点,并将值0作为
中的每个空洞像素点的像素值;其中,
用于表示水平方向,
用于表示垂直方向,
表示
的水平偏移量,
表示
的垂直偏移量,
表示
中坐标位置为(x',y)的像素点的像素值,
中的“=”为赋值符号。
同样,采用现有的SIFT-Flow方法建立{R
org(x,y)}与{R
ret(x',y)}之间的匹配关系,得到{R
org(x,y)}中的每个像素点的SIFT-Flow向量,将{R
org(x,y)}中坐标位置为(x,y)的像素点的SIFT-Flow向量记为
然后根据{R
org(x,y)}中的所有像素点的SIFT-Flow向量,从{R
org(x,y)}中重构得到重定位图像,记为
将
中坐标位置为
的像素点的像素值记为
再找出
中的所有空洞像素点,并将值0作为
中的每个空洞像素点的像素值;其中,
表示
的水平偏移量,
表示
的垂直偏移量,
表示
中坐标位置为(x',y)的像素点的像素值,
中的“=”为赋值符号。
步骤C2、计算{L
ret(x',y)}中的所有像素点的亮度分量的直方图,记为
同样,计算
中的所有像素点的亮度分量的直方图,记为
计算{R
ret(x',y)}中的所有像素点的亮度分量的直方图,记为
计算
中的所有像素点的亮度分量的直方图,记为
其中,
的维数均为1×256。
步骤C3、计算{L
org(x,y)}的前向信息损失,记为
同样,计算{R
org(x,y)}的前向信息损失,记为
其中,χ()为求卡方距离(Chi-distance measure)函数。
步骤C4、根据
和
计算得到S
org和S
ret的前向信息损失
步骤D1、采用现有的SIFT-Flow方法建立{L
ret(x',y)}与{L
org(x,y)}之间的匹配关系,得到{L
ret(x',y)}中的每个像素点的SIFT-Flow向量,将{L
ret(x',y)}中坐标位置为(x',y)的像素点的SIFT-Flow向量记为
然后根据{L
ret(x',y)}中的所有像素点的SIFT-Flow向量,从{L
ret(x',y)}中重构得到重定位图像,记为
将
中坐标位置为
的像素点的像素值记为
再找出
中的所有空洞像素点,并将值0作为
中的每个空洞像素点的像素值;其中,
用于表示水平方向,
用于表示垂直方向,
表示
的水平偏移量,
表示
的垂直偏移量,
表示
中坐标位置为(x,y)的像素点的像素值,
中的“=”为赋值符号。
同样,采用现有的SIFT-Flow方法建立{R
ret(x',y)}与{R
org(x,y)}之间的匹配关系,得到{R
ret(x',y)}中的每个像素点的SIFT-Flow向量,将{R
ret(x',y)}中坐标位置为(x',y)的像素点的SIFT-Flow向量记为
然后根据{R
ret(x',y)}中的所有像素点的SIFT-Flow向量,从{R
ret(x',y)}中重构得到重定位图像,记为
将
中坐标位置为
的像素点的像素值记为
再找出
中的所有空洞像素点,并将值0作为
中的每个空洞像素点的像素值;其中,
表示
的水平偏移量,
表示
的垂直偏移量,
表示
中坐标位置为(x,y)的像素点的像素值,
中的“=”为赋值符号。
步骤D2、计算{L
org(x,y)}中的所有像素点的亮度分量的直方图,记为
同样,计算
中的所有像素点的亮度分量的直方图,记为
计算{R
org(x,y)}中的所有像素点的亮度分量的直方图,记为
计算
中的所有像素点的亮度分量的直方图,记为
其中,
的维数均为1×256。
步骤D3、计算{L
ret(x',y)}的后向信息损失,记为
同样,计算{R
ret(x',y)}的后向信息损失,记为
其中,χ()为求卡方距离(Chi-distance measure)函数。
步骤D4、根据
和
计算得到S
org和S
ret的后向信息损失
步骤E1、采用现有的最大类间方差法(OTSU)提取出{L
org(x,y)}的重要性区域掩码图,记为
采用现有的最大类间方差法(OTSU)提取出
的重要性区域掩码图,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,
表示
中坐标位置为(x,y)的像素点的像素值。
同样,采用现有的最大类间方差法(OTSU)提取出{R
org(x,y)}的重要性区域掩码图,记为
采用现有的最大类间方差法(OTSU)提取出
的重要性区域掩码图,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,
表示
中坐标位置为(x,y)的像素点的像素值。
步骤E2、根据
和
计算{L
org(x,y)}的信息保持特征,记为
其中,
代表
代表
代表
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示
中坐标位置为(x,y)的像素点的像素值,
符号
为点乘操作符号。
同样,根据
和
计算{R
org(x,y)}的信息保持特征,记为
其中,
代表
代表
代表
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示计算
中的所有落在重要性区域的像素点所占的区域面积大小,
表示
中坐标位置为(x,y)的像素点的像素值,
步骤E3、根据
和
计算得到S
org和S
ret的信息保持特征
步骤五:计算Sorg和Sret的视觉舒适度,记为FVC,FVC=JGL×JLO;其中,JGL表示Sorg和Sret的全局视觉舒适度,JGL根据{dret(x',y)}获取,JLO表示Sorg和Sret的局部视觉舒适度,JLO根据{Lorg(x,y)}、{Lret(x',y)}、{dorg(x,y)}和{dret(x',y)}获取。
在此具体实施例中,步骤五中,JGL和JLO的计算过程为:
步骤F1、计算S
org和S
ret的全局视觉舒适度J
GL,
其中,e表示指数函数的基数,
表示S
ret的平均视差,即{d
ret(x',y)}中的所有像素点的像素值的平均值,th
d为阈值,在本实施例中取th
d=60,λ
1、λ
2、λ
3和τ均为控制参数,在本实施例中取λ
1=1、λ
2=1、λ
3=0.08、τ=187。
步骤F2、采用现有的最大类间方差法(OTSU)提取出{L
org(x,y)}的重要性区域掩码图,记为
采用现有的最大类间方差法(OTSU)提取出{L
ret(x',y)}的重要性区域掩码图,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,
表示
中坐标位置为(x',y)的像素点的像素值。
步骤F3、采用现有的Canny边缘检测算子提取出{L
org(x,y)}的边缘图,记为
采用现有的Canny边缘检测算子提取出{L
ret(x',y)}的边缘图,记为
其中,
表示
中坐标位置为(x,y)的像素点的像素值,
表示
中坐标位置为(x',y)的像素点的像素值。
步骤F4、计算S
org的视差重要性图,记为
将
中坐标位置为(x,y)的像素点的像素值记为
其中,
符号
为点乘操作符号。
同样,计算S
ret的视差重要性图,记为
将
中坐标位置为(x',y)的像素点的像素值记为
其中,
步骤F5、计算S
org和S
ret的局部视觉舒适度J
LO,
其中,
代表
代表
表示计算
中的所有像素点的像素值的标准差,
表示计算
中的所有像素点的像素值的标准差,log()表示以10为底的对数操作函数。
步骤六:根据FGD、FIL和FVC,获取Sret的特征矢量,记为F,F=[FGD,FIL,FVC];其中,F的维数为1×6,[FGD,FIL,FVC]表示将FGD、FIL和FVC连接起来形成一个特征矢量。
步骤七:将n'幅原始的立体图像对应的共n幅重定位立体图像构成重定位立体图像集合;然后采用现有的主观质量评价方法,获取重定位立体图像集合中的每幅重定位立体图像的平均主观评分差值,将重定位立体图像集合中的第j幅重定位立体图像的平均主观评分差值记为DMOSj;并按照步骤一至步骤六的过程,以相同的方式获取重定位立体图像集合中的每幅重定位立体图像的特征矢量,将重定位立体图像集合中的第j幅重定位立体图像的特征矢量记为Fj;其中,n'为正整数,n'>1,如取n'=45,n为正整数,n≥n',如取n=720,j为正整数,1≤j≤n,DMOSj∈[0,100],Fj的维数为1×6。
步骤八:从重定位立体图像集合中随机选择m幅重定位立体图像构成训练集,将重定位立体图像集合中剩余的n-m幅重定位立体图像构成测试集;然后将训练集中的所有重定位立体图像的特征矢量和平均主观评分差值构成训练样本数据集合;接着采用支持向量回归作为机器学习的方法,对训练样本数据集合中的所有特征矢量进行训练,使得经过训练得到的回归函数值与平均主观评分差值之间的误差最小,拟合得到最优的权重矢量
和最优的偏置项
再利用得到的最优的权重矢量
和最优的偏置项
构造重定位立体图像的支持向量回归训练模型,记为s(F
inp),
其中,m为正整数,1≤m<n,s()为函数表示形式,F
inp表示重定位立体图像的支持向量回归训练模型的输入矢量,为重定位立体图像的特征矢量,F
inp的维数为1×6,
为
的转置,
表示重定位立体图像的支持向量回归训练模型的输入矢量F
inp的线性函数。
步骤九:将测试集中的所有重定位立体图像的特征矢量构成测试样本数据集合;然后根据构造得到的重定位立体图像的支持向量回归训练模型,对测试样本数据集合中的每个特征矢量进行测试,预测得到测试样本数据集合中的每个特征矢量对应的重定位立体图像的客观质量评价预测值,将测试样本数据集合中的第η个特征矢量对应的重定位立体图像的客观质量评价预测值记为Q
η,Q
η=s(F
η),
其中,η为正整数,1≤η≤n-m,F
η表示测试样本数据集合中的第η个特征矢量,F
η的维数为1×6,
表示F
η的线性函数。
步骤十:重复执行步骤八至步骤九共V次,并使重定位立体图像集合中的每幅重定位立体图像至少有一次属于测试集,经过V次执行后计算重定位立体图像集合中的每幅重定位立体图像的若干个客观质量评价预测值的平均值,再将重定位立体图像集合中的每幅重定位立体图像的若干个客观质量评价预测值的平均值作为该幅重定位立体图像的最终的客观质量评价预测值;其中,V为正整数,V≥100。
为了进一步说明本发明方法的可行性和有效性,对本发明方法进行试验。
在本实施例中,采用本发明方法对宁波大学建立的重定位立体图像数据库进行测试,该重定位立体图像数据库包含45幅原始的立体图像,采用8种不同重定位方法对每幅原始的立体图像进行50%和75%两种比例的重定位操作,这样该重定位立体图像数据库共有720幅重定位立体图像,并给出了每幅重定位立体图像的平均主观评分差值。这里,利用评估图像质量评价方法的3个常用客观参量作为客观评价结果的评价指标,即非线性回归条件下的Pearson相关系数(Pearson linear correlation coefficient,PLCC)、Spearman相关系数(Spearman rank order correlation coefficient,SROCC)、均方误差(root meansquared error,RMSE),PLCC和RMSE反映重定位立体图像的客观评价结果的准确性,SROCC反映其单调性。
将采用本发明方法计算得到的720幅重定位立体图像各自的最终的客观质量评价预测值做五参数Logistic函数非线性拟合,PLCC和SROCC值越高、RMSE值越小说明客观评价结果与平均主观评分差值之间的相关性越好。表1给出了采用本发明方法得到的最终的客观质量评价预测值与平均主观评分差值之间的相关性。
表1采用本发明方法得到的最终的客观质量评价预测值与平均主观评分差值之间的相
关性
方法 |
PLCC |
SROCC |
RMSE |
本发明方法 |
0.8483 |
0.8411 |
7.8890 |
从表1中可以看出,采用本发明方法得到的最终的客观质量评价预测值与平均主观评分差值之间的相关性是很高的,表明客观评价结果与人眼主观感知的结果较为一致,足以说明本发明方法的有效性。