发明内容
本发明的目的之一在于,获取更好的3D图像显示效果。
本发明的又一目的在于,消除3D图像显示时的垂直视差。
本发明的还一目的在于,提出一种适用于运行处理能力相对低、内存容量相对小的终端中使用的立体图像校正方法。
为实现以上目的或者其他目的,本发明提供以下技术方案。
按照本发明的一方面,提供一种立体图像校正方法,其包括:
获取步骤:获取原始立体图像对;
校正参数提取步骤:在所述原始立体图像对中寻找匹配点对形成匹配点对集,并提取校正参数;
校正步骤:至少根据所述校正参数以及景深调整参数生成校正矩阵、并基于该校正矩阵对所述原始立体图像对进行校正以消除垂直视差;以及
反馈步骤:根据立体图像显示的出屏程度/入屏程度反馈输出所述景深调整参数;
其中,所述反馈步骤所输出的景深调整参数在所述校正步骤中被使用。
在该校正方法中,观看者可以应用反馈模块反馈景深调整参数,进而可以结合景深调整参数对原始立体图像对进行校正,不但可以消除垂直视差,还可以根据观看者的观看体验要求来重新校正,从而调整3D图像显示的出屏和入屏程度,观看者的立体图像显示体验更佳。
按照本发明一实施例的立体图像校正方法,其中,所述反馈步骤中,还包括:
判断步骤:根据立体图像显示体验判断是否需要重新校正,如果判断为“是”,进入所述校正参数提取步骤,如果判断为“否”,进入所述校正步骤。
具体地,所述获取步骤中,所述原始立体图像对由左摄像头和右摄像头对同一场景分别拍摄的左视图和右视图组成。
按照本发明又一实施例的立体图像校正方法,其中,所述校正参数提取步骤包括:
角点提取步骤:从所述原始立体图像对的视图中提取出亮度变化相对剧烈且相对易于识别的角点;
角点匹配步骤:对各个所述角点分别提取具有鲁棒特性的特征描述子,并根据所述特征描述子对角点进行匹配以形成初始匹配点对集;
误匹配剔除步骤:利用鲁棒模型估计方法剔除所述初始匹配点对集中存在的误匹配点对以形成相对稳定可靠的第二内点集;以及
校正参数优化步骤:将基础矩阵参数化,并基于该参数化的基础矩阵对所述第二内点集中的匹配点对建立误差方程,利用非线性最小二乘法对校正参数进行优化以获取校正参数的优值。
在该实施例的立体图像校正方法中,经过误匹配剔除步骤、校正参数优化步骤可以使校正参数更准确可靠。
进一步,优选地,所述角点提取步骤中,采用OFAST角点检测方法提取OFAST角点;
其中,所述OFAST角点检测方法包括OFAST角点判定步骤和OFAST角点主方向提取步骤。
进一步,优选地,所述OFAST角点判定步骤中,针对被检测的某一点p,以点p为圆心、半径为r画Bresenham(布雷森汉姆)圆,如果Bresenham圆上的连续n个点的灰度值同时大于
或同时小于
,则判定该点p为OFAST检测点,其中,
I(
p)表示
p点的灰度值,
表示灰度阈值,n的取值范围为 [
,
];
所述OFAST角点主方向提取步骤中,对于被判定的OFAST角点,对Bresenham圆上的点进行标号时,圆心正上方的点标号1,并按照顺时针方向依次对其他点进行标号,所述n个连续点中的两个端点的标号按顺时针方向分别记为a、b,OFAST角点主方向通过以下关系式(1)确定,
其中,
为OFAST角点主方向,
为半径为r的所述Bresenham圆所包含的点数。该实施例的角点提取方法无须额外的信息就能够判定角点的同时,为角点提取出主方向,主方向可以在其后的校正过程中被利用以减小较少的运算量。
进一步,优选地,所述角点匹配步骤中,采用OBRIEF特征描述子并基于该OBRIEF特征描述子进行匹配。
在一优选实例中,所述角点匹配步骤包括步骤:
生成标准采样图案;
对角点构建所述OBRIEF特征描述子;以及
利用所述OBRIEF特征描述子对所述原始立体图像对中的左视图中的角点和右视图中的角点进行匹配,形成匹配点对。
在又一优选实例中,所述角点匹配步骤包括:
生成标准采样图案步骤:通过在以点(0,0)为中心、大小为
的正方形框中,按均匀分布
或高斯分布
随机抽取
组点对(
,
),每组点对(
,
)中的采样点
和
直线连接形成线段以生成所述标准采样图案,其中,
和
为第
i组点对中的两个采样点,1≤
i≤
,所述正方形框的边长S的取值范围为[2r+1, 12r+6],r为所述OFAST角点检测方法过程中所使用的Bresenham圆的半径,
取区间[
,
]内的偶数;
对OFAST角点构建OBRIEF特征描述子步骤:根据所述OFAST角点主方向
,对所述标准采样图案进行旋转,然后比较旋转后的标准采样图案中每组点对中的两个采样点处的灰度值大小,以构建二进制的OBRIEF特征描述子;
匹配点对形成步骤:利用所述OBRIEF特征描述子对所述原始立体图像对中的左视图中的角点和右视图中的角点进行匹配,形成匹配点对。
进一步,优选地,在所述构建OBRIEF特征描述子步骤中,某一OFAST角点p的OBRIEF特征描述子
通过以下关系式(2)构建:
其中,
为该OFAST角点
p的主方向,
为所述标准采样图案中的点对数;
、
为所述标准采样图案中的点对,
t为量化阈值,其取值范围[2,64];
表示二进制数;
表示2维旋转矩阵,
表示点
处的灰度值,
表示点
处的灰度值。
在之前所述任意实例或实施例的校正方法中,优选地,在角点进行匹配过程中,对于OFAST角点
和
,两者的相似性通过以下关系式(3)计算:
其中,
为左视图的OFAST角点,
为右视图的OFAST角点,
XOR代表按位异或操作,
bitcount表示统计二进制数中1的数目,
Dist(p
L , p
R )表示OFAST角点
和
之间的相似性。
在之前所述任意实例或实施例的校正方法中,针对左视图的OFAST角点
,遍历右视图中所有的OFAST角点,找到令关系式(3)。取值最小的点作为OFAST角点
的匹配点,从而形成所述匹配点对。
以上实例中,采用OFAST角点检测和二进制的OBRIEF特征描述子,大量运算主要为按位操作和比较运算,因此运算量和存储消耗都很小。
在之前所述任意实例或实施例的校正方法中,这为进一步减小运算量,优选地,所述校正参数优化步骤中,按照以下关系式(4),将所述基础矩阵用参数
进行参数化,
其中,
为3维矢量
确定的反对称矩阵,其通过以下关系式(5)得出:
其中,
为基础矩阵,
为3维旋转矩阵,
θ为绕摄像头Z轴旋转角度,
β为绕摄像头Y轴旋转角度,
α为绕摄像头X轴旋转角度;
表示用于拍摄所述原始立体图像对的右视图的右摄像头相对用于拍摄所述原始立体图像对的左视图的左摄像头的偏移方向,
为右摄像头偏移方向与左摄像头Y轴的夹角,
γ为右摄像头偏移方向与左摄像头Z轴的夹角;
、
分别为以像素为单位的左视图的宽度和高度,
、
分别为以像素为单位的右视图的宽度和高度;
和
分别为左摄像头、右摄像头的以像素为单位的焦距。
在之前所述任意实例或实施例的校正方法中,优选地,所述误差方程为:
其中,
为基础矩阵,
为矩阵
的转置,
所述第二内点集中的匹配点对中左视图对应的点,
所述第二内点集中的匹配点对中右视图对应的点,
Error表示校正误差;
按照本发明还一实施例的立体图像校正方法,其中,所述校正步骤包括:
校正矩阵构建步骤:利用校正参数构建校正矩阵;
校正矩阵微调步骤:至少结合所述景深调整参数对所述校正矩阵进行微调;以及
立体图像裁剪步骤:利用微调后的校正矩阵分别对原始立体图像对中的视图进行处理,获取校正后立体图像对。
按照本发明再一实施例的立体图像校正方法,其中,所述校正步骤包括:
校正矩阵构建步骤:利用校正参数构建校正矩阵;
校正矩阵微调步骤:至少结合所述景深调整参数和所述第二内点集对所述校正矩阵进行微调;以及
立体图像裁剪步骤:利用微调后的校正矩阵分别对原始立体图像对中的视图进行处理,获取校正后立体图像对。
在之前所述任意实施例的立体图像校正方法中,优选地,基于以下关系式(7)构建所述校正矩阵:
其中,
为所述原始立体图像对的左视图对应的校正矩阵,
为所述原始立体图像对的右视图对应的校正矩阵;K
N 为校正后摄像头的内参数矩阵,K
L(
f L )为校正前左摄像头的内参数矩阵,K
R(
f R )为校正前右摄像头的内参数矩阵;
和
分别为用于拍摄所述左视图的左摄像头、用于拍摄所述右视图的右摄像头的以像素为单位的焦距;
θ为绕摄像头Z轴旋转角度,
β为绕摄像头Y轴旋转角度,
α为绕摄像头X轴旋转角度;
为右摄像头偏移方向与左摄像头Y轴的夹角,
γ为右摄像头偏移方向与左摄像头Z轴的夹角;
其中,KL(f L )和KR(f R )通过以下关系式计算:
其中,
、
分别为以像素为单位的左视图的宽度和高度,
、
分别为以像素为单位的右视图的宽度和高度;
其中,R为旋转矩阵,R L 为校正过程中左摄像头的旋转矩阵,R R 为校正过程中右摄像头的旋转矩阵。
进一步,优选地,所述微调后的校正矩阵通过以下关系式(8)计算:
其中,
为左视图对应的校正矩阵,
为右视图对应的校正矩阵,
为所述景深调整参数,M
L (
)表示左视图对应的景深调整矩阵,M
R (
)表示右视图对应的景深调整矩阵;
为垂直方向上的调整量,
为水平方向上的调整量。
在之前所述任意实施例的立体图像校正方法中,优选地,所述立体图像裁剪步骤包括步骤:
分别获取原始立体图像对的校正后的左视图和校正后的右视图的可裁剪区域;
获取校正后的左视图与校正后的右视图之间的最大公共裁剪区域;以及
利用原始立体图像对的灰度值相应地填充校正后的最大公共裁剪区域中的左视图和右视图。
按照本发明的又一方面,提供一种立体图像校正装置,其包括:
获取模块,其用于获取原始立体图像对;
校正参数提取模块,其用于在所述原始立体图像对中寻找匹配点对形成匹配点对集,并提取校正参数;
校正模块,其用于至少根据所述校正参数以及景深调整参数生成校正矩阵、并基于该校正矩阵对所述原始立体图像对进行校正以消除垂直视差;以及
反馈模块,其用于根据立体图像显示的出屏程度/入屏程度反馈输出所述景深调整参数;
其中,所述反馈模块所输出的景深调整参数输出至所述校正模块。
按照本发明一实施例的立体图像校正装置,其中,还包括:
判断模块,其用于根据立体图像显示体验判断是否需要重新校正。
具体地,所述获取模块获取的所述原始立体图像对是由左摄像头和右摄像头对同一场景分别拍摄的左视图和右视图组成。
按照本发明又一实施例的立体图像校正装置,其中,所述校正参数提取模块包括:
角点提取单元,其用于从所述原始立体图像对的视图中提取出亮度变化相对剧烈且相对易于识别的角点;
角点匹配单元,其用于对各个所述角点分别提取具有鲁棒特性的特征描述子,并根据所述特征描述子对角点进行匹配以形成初始匹配点对集;
误匹配剔除单元,其用于利用鲁棒模型估计方法剔除所述初始匹配点对集中存在的误匹配点对以形成相对稳定可靠的第二内点集;以及
校正参数优化单元,其用于将基础矩阵参数化,并基于该参数化的基础矩阵对所述第二内点集中的匹配点对建立误差方程,利用非线性最小二乘法对校正参数进行优化以获取校正参数的优值。
进一步,优选地,所述角点提取单元采用OFAST角点检测部件提取OFAST角点;
其中,所述OFAST角点检测部件包括OFAST角点判定子模块和OFAST角点主方向提取子模块。
进一步,优选地,所述OFAST角点判定子模块中,针对被检测的某一点p,以点p为圆心、半径为r画Bresenham圆,如果Bresenham圆上的连续n个点的灰度值同时大于
或同时小于
,则判定该点p为OFAST检测点,其中,
I(
p)表示
p点的灰度值,
表示灰度阈值,n的取值范围为 [
,
];
所述OFAST角点主方向提取子模块中,对于被判定的OFAST角点,对所述Bresenham圆上的点进行标号时,圆心正上方的点标号1,并按照顺时针方向依次对其他点进行标号,所述n个连续点中的两个端点的标号按顺时针方向分别记为a、b,OFAST角点主方向通过以下关系式(1)确定,
其中,
为OFAST角点主方向,
为半径为r的所述Bresenham圆所包含的点数。
进一步,优选地,所述角点匹配单元采用OBRIEF特征描述子并基于该OBRIEF特征描述子进行匹配。
在一优选实例中,所述角点匹配单元包括:
生成标准采样图案的部件;
对角点构建所述OBRIEF特征描述子的部件;以及
利用所述OBRIEF特征描述子对所述原始立体图像对中的左视图中的角点和右视图中的角点进行匹配、形成匹配点对的部件。
在又一优选实例中,所述角点匹配单元包括:
生成标准采样图案部件:通过在以点(0,0)为中心、大小为
的正方形框中,按均匀分布
或高斯分布
随机抽取
组点对(
,
),每组点对(
,
)中的采样点
和
直线连接形成线段以生成所述标准采样图案,其中,
和
为第
i组点对中的两个采样点,1≤
i≤
,所述正方形框的边长S的取值范围为[2r+1, 12r+6],r为所述OFAST角点检测方法过程中所使用的Bresenham圆的半径,
取区间[
,
]内的偶数;
构建OBRIEF特征描述子部件:根据所述OFAST角点主方向α,对所述标准采样图案进行旋转,然后比较旋转后的标准采样图案中每组点对中的两个采样点处的灰度值大小,以构建二进制的OBRIEF特征描述子;
匹配点对形成部件:利用所述OBRIEF特征描述子对所述原始立体图像对中的左视图中的角点和右视图中的角点进行匹配,形成匹配点对。
进一步,优选地,在所述构建OBRIEF特征描述子部件中,某一OFAST角点p的OBRIEF特征描述子
通过以下关系式(2)构建:
其中,
为该OFAST角点
p的主方向,
为所述标准采样图案中的点对数;
、
为所述标准采样图案中的点对,
t为量化阈值,其取值范围[2,64];
表示二进制数;
表示2维旋转矩阵,
表示点
处的灰度值,
表示点
处的灰度值。
在之前所述任意实例或实施例的校正装置中,优选地,在所述匹配点对形成部件中,对于OFAST角点
和
,两者的相似性通过以下关系式(3)计算:
其中,
为左视图的OFAST角点,
为右视图的OFAST角点,
XOR代表按位异或操作,
bitcount表示统计二进制数中1的数目,
Dist(p
L , p
R )表示OFAST角点
和
之间的相似性。
在之前所述任意实例或实施例的校正装置中,优选地,所述校正参数优化单元中,执行以下关系式(4)将所述基础矩阵用参数进行参数化,
其中,
为3维矢量
确定的反对称矩阵,其通过以下关系式(5)得出:
其中,
为基础矩阵,
为3维旋转矩阵,
θ为绕摄像头Z轴旋转角度,
β为绕摄像头Y轴旋转角度,
α为绕摄像头X轴旋转角度;
表示用于拍摄所述原始立体图像对的右视图的右摄像头相对用于拍摄所述原始立体图像对的左视图的左摄像头的偏移方向,
为右摄像头偏移方向与左摄像头Y轴的夹角,
γ为右摄像头偏移方向与左摄像头Z轴的夹角;
、
分别为以像素为单位的左视图的宽度和高度,
、
分别为以像素为单位的右视图的宽度和高度;
和
分别为左摄像头、右摄像头的以像素为单位的焦距。
在之前所述任意实例或实施例的校正方法中,优选地,所述误差方程为:
其中,
为基础矩阵,
为矩阵
的转置,
所述第二内点集中的匹配点对中左视图对应的点,
所述第二内点集中的匹配点对中右视图对应的点,
Error表示校正误差;
按照本发明还一实施例的立体图像校正装置,其中,所述校正模块包括:
校正矩阵构建单元,其用于利用校正参数构建校正矩阵;
校正矩阵微调单元,其用于至少结合所述景深调整参数对所述校正矩阵进行微调;以及
立体图像裁剪单元,其用于利用微调后的校正矩阵分别对原始立体图像对中的视图进行处理,获取校正后立体图像对。
按照本发明再一实施例的立体图像校正装置,其中,所述校正模块包括:
校正矩阵构建单元,其用于利用校正参数构建校正矩阵;
校正矩阵微调单元,其用于至少结合所述景深调整参数和第二内点集对所述校正矩阵进行微调;以及
立体图像裁剪单元,其用于利用微调后的校正矩阵分别对原始立体图像对中的视图进行处理,获取校正后立体图像对。
在之前所述任意实施例的立体图像校正装置中,优选地,所述校正矩阵构建单元执行以下关系式(7)构建所述校正矩阵:
其中,
为所述原始立体图像对的左视图对应的校正矩阵,
为所述原始立体图像对的右视图对应的校正矩阵;K
N 为校正后摄像头的内参数矩阵,K
L(
f L )为校正前左摄像头的内参数矩阵,K
R(
f R )为校正前右摄像头的内参数矩阵;
和
分别为用于拍摄所述左视图的左摄像头、用于拍摄所述右视图的右摄像头的以像素为单位的焦距;
θ为绕摄像头Z轴旋转角度,
β为绕摄像头Y轴旋转角度,
α为绕摄像头X轴旋转角度;
为右摄像头偏移方向与左摄像头Y轴的夹角,
γ为右摄像头偏移方向与左摄像头Z轴的夹角;
其中,KL(f L )和KR(f R )通过以下关系式计算:
其中,
、
分别为以像素为单位的左视图的宽度和高度,
、
分别为以像素为单位的右视图的宽度和高度;
其中,R为旋转矩阵,R L 为校正过程中左摄像头的旋转矩阵,R R 为校正过程中右摄像头的旋转矩阵。
进一步,优选地,所述校正矩阵微调单元执行通过以下关系式(8)计算微调后的校正矩阵:
其中,
为左视图对应的校正矩阵,
为右视图对应的校正矩阵,
为所述景深调整参数,M
L (
)表示左视图对应的景深调整矩阵,M
R (
)表示右视图对应的景深调整矩阵;
为垂直方向上的调整量,
为水平方向上的调整量。
在之前所述任意实施例的立体图像校正装置中,优选地,所述立体图像裁剪单元包括:
分别获取原始立体图像对的校正后的左视图和校正后的右视图的可裁剪区域的部件;
获取校正后的左视图与校正后的右视图之间的最大公共裁剪区域的部件;以及
利用原始立体图像对的灰度值相应地填充校正后的最大公共裁剪区域中的左视图和右视图的部件。
具体实施方式
下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互替换的其他实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
下面的描述中,为描述的清楚和简明,并没有对图中所示的所有多个部件进行描述。附图中示出了本领域普通技术人员完全能够实现本发明的多个部件。对于本领域技术人员来说,许多部件的操作都是熟悉而且明显的。
在描述中,使用方向性术语(例如“左”、“右”等)以及类似术语描述的各种实施方式的部件表示附图中示出的方向或者能被本领域技术人员理解的方向。这些方向性术语用于相对的描述和澄清,而不是要将任何实施例的定向限定到具体的方向或定向。
图1所示为按照本发明一实施例的立体图像校正装置的模块结构示意图。在该实施例中,立体图像校正装置20用于对由摄像头模块10所拍摄的原始立体图像对进行立体校正处理、并输出校正后立体图像对至3D显示屏30,以改善3D图像显示效果。立体图像校正装置20可以为立体图像显示装置的一部分,或者被包含于立体图像显示装置中。并且,其中摄像头模块10可以为单摄像头模块,或者可以为双摄像头模块,也可以为其他结构形式的可以拍摄形成原始立体图像对的摄像头模块。
图2所示为按照本发明一实施例的立体图像校正方法的流程示意图。对应于图1所示,立体图像校正装置20用于完成如图2所示方法流程。具体地,在该实施例中,立体图像校正方法主要地包括以下步骤:
步骤S910,获取步骤:获取原始立体图像对。具体地,摄像头模块10为双摄像头模块时,其包括左摄像头和右摄像头,原始立体图像对由左摄像头和右摄像头对同一场景分别拍摄的左视图和右视图组成;摄像头模块10为单摄像头模块时,在一位置拍摄左视图,在另一位置通过辅助装置或辅助程序拍摄右视图。在以下实施例中,主要是以双向头模块为例进行说明的,但是,需要理解是,当摄像头模块10为单摄像头模块时,其在拍摄左视图时可以虚拟地定义为“左摄像头”,其在拍摄右视图时,可以虚拟地定义为“右摄像头”,尽管“左摄像头”和“右摄像头”实质上为同一摄像头,但是,二者之间的位置参数等可以同样地计算得出。
步骤S920,校正参数提取步骤:在原始立体图像对中寻找匹配点对形成匹配点对集,并提取校正参数。该步骤具体通过如图1所示的校正单数提取模块21完成,提取的校正参数被输出至校正模块22。
步骤S930,根据校正参数以及景深调整参数生成校正矩阵、并基于该校正矩阵对原始立体图像对进行校正以消除垂直视差。该步骤具体通过如图1所示的校正模块22完成,景深调整参数具体由反馈模块23反馈提供,校正模块22可以输出校正后立体图像对,从而可以在如图1所示的3D显示屏30中显示,垂直视差得到消除。
步骤S940,反馈步骤:观看者根据立体图像显示的出屏程度/入屏程度反馈输出景深调整参数。该步骤具体通过如图1所示的反馈模块23完成。观看者在观看3D显示屏30中的3D图像显示后,获得观看体验,观看者可以直观得获得3D图像显示的出屏程度或入屏程度;根据观看者的个人体验需求,进一步,观看者可以通过如图1所示的反馈模块23反馈景深调整参数;观看者选择出屏程度越大,则反馈模块23反馈的景深调整参数
越大,反之,观看者选择入屏程度越大,则
越小。景深调整参数进一步被输入至校正模块22,从而在在步骤S930中可以进一步根据景深调整参数的变化对原始立体图像对进行校正。
步骤S950,判断步骤:观看者根据立体显示体验判断是否需要重新校正,如果判断为“是”,进入所述校正参数提取步骤S920,如果判断为“否”,进入所述校正步骤S930。该步骤在如图1所示的重新校正判断模块24中完成。
为完成以上实施例的立体图像校正方法过程,在一实施例中,立体图像校正装置20还可以包括一获取模块,其用于完成以上所述步骤S910。
以上实施例的立体图像校正方法过程中,引入的反馈步骤反馈景深调整参数至校正步骤,可以灵活地根据观看者的要求调整出屏程度,方便观看者获得其所需的3D观看体验,大大提高3D图像显示效果。
图3所示为按照本发明一实施例的校正参数提取步骤的方法流程示意图。结合图2和图3所示,以下具体说明该实施例的校正参数提取方法。
首先,步骤S921,角点提取步骤:从原始立体图像对(由获取单元传输过来)的视图中提取出亮度变化相对剧烈且相对易于识别的角点。该步骤中所使用的角点检测方法有很多,诸如可以使用:Harris(哈里斯)角点检测方法、SUSAN(Smallest Univalue Segment Assimilating Nucleus, 最小核值相似区)角点检测、SIFT(Scale Invariant Feature Transform,尺度不变特征变换)角点检测等方法。
在中国专利申请号CN200910118629.5、名称为“多视点视频图像校正方法、装置及***”的专利中,采用类SIFT角点检测方法和特征描述子,涉及到卷积、尺度空间和直方图等复杂操作,不适用于CPU运算处理能力相对较低、RAM内存容量较小的手机、平板等便携式终端。申请人考虑各种便携式数字终端在3D立体图像显示时、运算处理能力和内存有限的特点,该角点提取步骤优选地采用OFAST(Oriented Features from Accelerated Segment Test,基于加速分割检测的定向特征)角点检测方法提取OFAST角点。以下以在左视图中提取OFAST角点为例进行说明,对于右视图可以采用类似操作实现OFAST角点提取。
图4所示为角点提取步骤中所使用的OFAST角点提取示意图。在图4中,表示视图(左视图或者右视图)中的某一局部区域,每个小方格代表一个像素点。其中,提取OFAST角点主要包括OFAST角点判定和OFAST角点主方向提取两个步骤。
第一,OFAST角点判定步骤。
以图4中的点p为示例,判定其是是否为OFAST角点。点
p为OFAST角点时,则必须满足以点
p为中心半径等于r的离散化Bresenham(布雷森汉姆)圆上存在连续的n个点的灰度值同时大于
或同时小于
;其中
I(
p)表示
p点的灰度值,
表示灰度阈值,其取值范围为[0,128],Bresenham圆的半径r的取值范围为[2,24],连续点数n的取值范围:[
,
],
代表圆周率。在图4示例中,设置OFAST角点判定参数:
,
,
;对于Bresenham圆上的16个点(被标记1-16),圆心正上方的点标号1,并按顺时针方向递增至16;对于左视图中的任意点
,以点
为中心半径等于3的离散Bresenham圆上,存在连续9个点(点14、15、16、1、2、3、4、5、6,实际实施时连续的点数可能大于9)的灰度值同时大于
或同时小于
,点
被判定为OFAST角点。
第二,OFAST角点主方向提取步骤。
在某一点被判断为判定为OFAST角点后,需要判断其主方向,为角点提取出主方向。在对离散化的Bresenham圆上的点进行标号时,如上所述,圆心正上方的点标号1,并按照顺时针方向依次对其他点进行标号。在OFAST角点判定中,Bresenham圆上满足OFAST角点判定准则的n个连续点中的两个端点的标号按顺时针方向分别记为a、b,则OFAST角点的主方向
按公式(1)确定:
其中,
为半径为r的离散化的Bresenham圆所包含的点数。如图4,以点
p为中心半径等于3的离散Bresenham圆上满足OFAST角点判定准则的连续点中两个端点的标号按顺时针方向分别为14、6,a取值为14,b取值为6,点
p上的箭头代表该OFAST角点的主方向
。
采用以上角点提取方法过程,无须额外信息就能够在判定角点的同时为角点提取出主方向,主方向提取简单,并且在后续的角点匹配中使用,有利于减小运算量。
进一步,步骤S922,角点匹配步骤:对各个角点分别提取具有鲁棒特性的特征描述子,并根据特征描述子对角点进行匹配以形成初始匹配点对集。对于特征描述子的提取,可以使用的方法有很多,诸如: SURF(Speeded Up Robust Features,快速鲁棒特征)、SIFT(Scale Invariant Feature Transform,尺度不变特征变换)等特征描述子提取方法。为使执行该步骤运算处理量小且存储消耗小,在一优选实施例中,步骤S922的特征描述子提取方法中采用OBRIEF(Oriented Binary Robust Independent Elementary Features,定向二进制独立基元鲁棒特征)特征描述子、并基于该OBRIEF特征描述子进行匹配。同样,以基于左视图中提取的OFAST角点提取OBRIEF特征描述子为例进行说明,对于右视图可以采用类似操作实现相应OFAST角点的OBRIEF特征描述子的提取。
基于OBIEF特征描述子的角点匹配步骤包括以下子步骤。
第一,生成标准采样图案。标准采样图案是通过在以点(0,0)为中心、大小为
的正方形框中可按均匀分布
或高斯分布
随机抽取
组点对(
,
)而形成的,一组点对包含两个采样点
和
。其中,S的取值范围:[2r+1, 12r+6],r为OFAST角点检测过程中使用的Bresenham圆的半径,标准采样图案中的点对数目
取区间[
,
]内的偶数。然后,直线连接每组点对中的采样点(
和
)形成线段,生成如图5所示的标准采样图案(图5所示为标准采样图案示意图)。
第二,对OFAST角点构建OBRIEF特征描述子。根据OFAST角点主方向
对标准采样图案进行旋转,接着比较采样图案中每组点对中两个采样点处的灰度值大小以构建二进制的特征描述子。在该实施例中,点p的OBRIEF特征描述子
具体通过如下关系式(2)构建:
其中,
为该OFAST角点
p的主方向,
为所述标准采样图案中的点对数;
、
为所述标准采样图案中的点对,
t为量化阈值,其取值范围[2,64];
表示二进制数;
表示2维旋转矩阵,
表示点
处的灰度值,
表示点
处的灰度值。
第三,利用OBRIEF特征描述子对左视图中的角点和右视图中的角点进行匹配,形成匹配点对集。通过以上步骤形成的OBRIEF特征描述子为二进制特征,其不仅节省了存储空间,而且可利用按位异或操作来快速比较左视图中的角点特征描述子和右视图中的角点的特征描述子之间的相似性,进而对角点进行匹配。具体来说,对于OFAST角点
和
,两者的相似性通过以下关系式(3)计算:
其中,
为左视图的OFAST角点,
为右视图的OFAST角点,
XOR代表按位异或操作,
bitcount表示统计二进制数中1的数目。
值越小,则表示角点
和
越相似。
具体地,可以针对左视图中的OFAST角点
,遍历右视图中所有的OFAST角点,找到令关系式(3)取值最小的点作为点
的匹配点(例如,
),两者组成一组匹配点对,所有的匹配点对组成初始匹配点对集。
进一步,步骤S923,误匹配剔除步骤:利用鲁棒模型估计方法剔除初始匹配点对集中存在的误匹配点对以形成相对稳定可靠的第二内点集。该步骤中,具体可以但不限于使用以下方法进行剔除:GCE(Genetic Consistency Estimation,遗传一致性估计)、LMedS(Least MEDian of Square,最小平方中值)、MLESAC(Maximum Likelihood Estimation Sample Consensus,极大似然采样一致性估计)、MAPSAC(Maximum a Posteriori Sample Consensus,极大后验采样一致性估计)和StaRSaC(STAble Random SAmple Consensus,稳态随机采样一致性 )等方法。经过该步骤处理后,形成的第二内点集为稳定可靠的一致性最好的内点集。
进一步,步骤S924,校正参数优化步骤:将基础矩阵参数化,并基于该参数化的基础矩阵对所述第二内点集中的匹配点对建立误差方程,利用非线性最小二乘法对校正参数进行优化以获取校正参数的优值。在一优选实施例中,步骤S924包括以下子步骤。
第一,将基础矩阵参数化,具体地,基础矩阵通过以下关系式(4)进行参数化:
其中
为3维矢量
确定的反对称矩阵,其通过以下关系式(5)得出:
其中,
为基础矩阵;
为3维旋转矩阵表示先绕摄像头Z轴旋转
θ角度,然后绕摄像头Y轴旋转
β角度,最后绕摄像头X轴旋转
α角度;
表示双摄像拍摄模块10中的右摄像头相对左摄像头的偏移方向;
为右摄像头偏移方向与左摄像头Y轴的夹角,
γ为右摄像头偏移方向与左摄像头Z轴的夹角;
、
分别为以像素为单位的左视图的宽度和高度,
、
分别为以像素为单位的右视图的宽度和高度;
和
分别为左摄像头、右摄像头的以像素为单位的焦距。图像的宽度和高度在迭代优化前是已知的。在该步骤中,按照关系式(4),可以利用参数
将基础矩阵
参数化。
其中,摄像头的X轴、Y轴、Z轴可以是指左摄像头的X轴、Y轴、Z轴或者右摄像头的X轴、Y轴、Z轴,按照本领域对摄像头的公知定义,X轴与图像平面平行、指向图像宽度方的方向,Y轴与图像平面平行、指向图像高度的方向,Z轴为摄像头的光轴方向,其与图像平面垂直。
为了减少待估计的参数并兼顾合理性,在迭代优化过程中可假定
、
其中一个为定值另一个为可变值,从而,在该实施例中,基础矩阵
包含
、
、
、
、
以及
或
共6个参数。
第二,建立误差方程并优化校正参数。具体地,对第二内点集中的匹配点对记为(
,
),
为左视图中的点,
为右视图中的点,利用其中所有的匹配点对建立如下误差方程(6):
其中,
为基础矩阵,
为矩阵
的转置,
所包含的参数
中,其初始值取
(
、
分别为左视图以像素为单位的宽度和高度,
、
分别为右视图以像素为单位的宽度和高度),然后利用非线性最小二乘法进行迭代优化,获取校正参数的最优值。
至此,校正参数提取步骤基本完成,获得最优的校正参数。在以上校正参数提取方法实施例中,可以采用OFAST角点检测和二进制的OBRIEF特征描述子,大量运算主要为按位操作和比较运算,因此运算量和存储消耗都很小;并且,进一步,利用7个参数对基础矩阵进行参数化,在优化过程中仅6个参数为变量,可以使运算量进一步减小。因此,该实施例的校正参数提取方法尤其适用于在CPU运算处理能力相对较低、RAM内存容量小的便携式数字终端(例如,手机、平板电脑)中应用。
图6所示为按照本发明一实施例的校正参数提取模块的模块结构示意图。在该实施例中,校正参数提取模块21用于执行如图3所示的校正参数提取步骤,具体地,校正参数提取模块21包括角点提取单元211、角点匹配单元212、误匹配剔除单元213和校正参数优化单元214。其中,角点提取单元211用于完成上述步骤S921,角点匹配单元212用于完成上述步骤S922,误匹配剔除单元213用于完成上述步骤S923,校正参数优化单元214用于完成上述步骤S924;角点匹配单元212输出初始匹配点对集,误匹配剔除单元213输出相对稳定可靠的第二内点集,校正参数优化单元214输出校正参数至校正单元22。
图7所示为按照本发明一实施例的校正步骤的方法流程示意图。结合图2和图7所示,以下具体说明该实施例的校正方法。
首先,步骤S931,校正矩阵构建步骤,利用校正参数构建校正矩阵。在该实施例中,利用非线性最小二乘法迭代优化获得的参数信息
,构造立体校正矩阵
、
,构造方式基于如下关系式(7):
其中,
为左视图对应的校正矩阵,
为右视图对应的校正矩阵;K
N 为校正后摄像头的内参数矩阵,K
L(
f L )为校正前左摄像头的内参数矩阵,K
R(
f R )为校正前右摄像头的内参数矩阵,
和
分别为左摄像头、右摄像头以像素为单位的焦距,K
L(
f L )和K
R(
f R )可以通过关系式(4)的相关部分来计算;R
L 为校正过程中左摄像头的旋转矩阵,R
R 为校正过程中右摄像头的旋转矩阵,其也可以通过关系式(4)的相关部分来计算。
进一步,步骤S932,校正矩阵微调步骤:至少结合景深调整参数对校正矩阵进行微调。在该实施例中,基于以上实施例中形成的第二内点集进行微调,其中,景深调整参数由反馈模块23输出,通过结合反馈的景深调整参数,可以使3D显示图像内容处于舒适3D区域,出屏/入屏效果较佳。微调后的校正矩阵
、
通过以下关系式(8)计算:
其中,
为左视图对应的校正矩阵,
为右视图对应的校正矩阵,
为景深调整参数,M
L (
)表示左视图对应的景深调整矩阵,M
R (
)表示右视图对应的景深调整矩阵;
为垂直方向上的调整量,
为水平方向上的调整量。
其中,
代表该向量的第i个分量,(
,
)为第二内点集中的匹配点对,
为左视图中的点,
为右视图中的点。
为反馈模块23根据观看者出屏入屏的选择反馈给3D图像显示***的景深调整参数;观看者选择出屏程度越大则
越大,反之,观看者选择入屏程度越大则
越小。由于对同一3D图像显示每个人的观赏体验不尽相同,且立体显示效果还与观看距离等因素有关,因此,校正矩阵在水平方向上的调整量需要视情况而定,可以在观赏过程中通过观赏者自身体验来调整。在***默认状态下,
设为0,以后可由观看者根据自身体验改变。
进一步,步骤S933,立体图像裁剪步骤:利用微调后的校正矩阵分别对原始立体图像对中的视图进行处理,获取校正后立体图像对。在该实施例中,该步骤具体地可以分为以下三个子步骤。
第一,首先,分别获取校正后的左视图和右视图的可裁剪区域。以处理左视图为例进行说明,右视图可以作类似处理。对原始立体图像对中左视图的4个顶点,利用左视图对应的微调后的校正矩阵
进行校正变换,获取校正后的4个新顶点,组成校正后的四边形。然后,对校正后的四边形的4个顶点按照Y轴坐标(即行坐标)进行排序,取中间两个顶点,并分别依这两个顶点画水平线,裁剪掉校正后四边形在两水平线外部的部分,形成水平裁剪后四边形;同时,对水平裁剪后的四边形的4个顶点按照X轴坐标(即列坐标)进行排序,取中间两个顶点,并分别依这两个顶点画垂直线,裁剪掉水平裁剪后四边形在两垂直线外部的部分,形成水平垂直裁剪后四边形。
图8所示为校正后的视图的可裁剪区域示意图,其中,图8(a)为一校正后的四边形ABCD经过裁剪后形成水平垂直裁剪后四边形
,图8(b)为又一校正后的四边形ABCD经过裁剪后形成水平垂直裁剪后四边形
。
第二,获取校正后的左视图与校正后的右视图之间的最大公共裁剪区域。在该实施例中,假设校正后的左视图的水平垂直裁剪后四边形X轴坐标最小值和最大值分别为
、
,Y轴坐标最小值和最大值分别为
、
;校正后的右视图的水平垂直裁剪后四边形X轴坐标最小值和最大值分别为
、
, Y轴坐标最小值和最大值分别为
、
。最大公共裁剪区域的对角点的为点(
,
)和点(
,
)。
第三,利用原始立体图像对的灰度值相应地填充校正后的最大公共裁剪区域中的左视图和右视图。在该实施例中,以处理左视图为例,设校正后的最大公共裁剪区域中的左视图上任意一点
,则其在原始立体图像对中左视图上的对应点为点
,利用原始立体图像对中左视图上的点
上的灰度值填充校正后的左视图上点
的灰度值,即可生成校正后的左视图。最大公共裁剪区域中的右视图同样可以作似处理。
至此,基本形成了校正后立体图像对。在以上校正方法过程中,在该实施例的校正方法中,在进行立体校正时利用第二内点集和观看者的反馈信息对校正矩阵进行微调,生成的立体图像对具有舒适的3D观赏效果。
图9所示为按照本发明一实施例的校正模块的模块结构示意图。
在该实施例中,校正模块22用于执行如图7所示的校正步骤,具体地,校正模块22包括校正矩阵构建单元221、校正矩阵微调单元222和立体图像对裁剪单元223。其中,校正矩阵构建单元221用于完成上述步骤S931,校正矩阵微调单元222用于完成上述步骤S932,立体图像对裁剪单元223用于完成上述步骤S933;误匹配剔除单元213输出的相对稳定可靠的第二内点集以及反馈模块23所反馈的景深调整参数在校正矩阵微调单元222中被使用。
以上例子主要说明了本发明的立体图像校正方法及装置。尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。