欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018109173396
申请人: 西安理工大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种双目立体视频的合成方法,其特征在于,具体按照以下方法进行:步骤1,相机标定

将双目摄像机进行标定,得到双目摄像机的内参数和外参数;

步骤2,图像矫正

将双目摄像机采集的视频分解为成多帧目标图像,将每帧目标图像均切割成左目视图和右目视图,对每帧目标图像的左目视图和右目视图均进行校正,得到每帧目标图像的校正左目视图和校正右目视图;

步骤3,视差图匹配

将每帧目标图像的校正左目视图和校正右目视图均进行立体匹配,得到多帧匹配视差图;

步骤4,合成双目立体视频。

2.根据权利要求1所述的一种双目立体视频的合成方法,其特征在于,所述步骤1中具体按照下述步骤对双目摄像机进行标定:步骤1.1,使用张正友标定法对双目摄像机进行标定,得到双目摄像机的初步内参数和初步外参数;

步骤1.2,将所述初步内参数和初步外参数作为参考,再次使用张正友标定法对双目摄像机进行标定,得到双目摄像机的内参数和外参数。

3.根据权利要求1所述的一种双目立体视频的合成方法,其特征在于,所述步骤2中具体按照下述步骤对每帧目标图像的左目视图和右目视图均进行校正:步骤2.1,根据所述内参数和外参数,采用Bouguet的极线校正算法,对每帧目标图像的左目视图和右目视图均进行畸变校正和极线平行校正,得到每帧目标图像的初步校正的左目视图和右目视图;

步骤2.2,然后对每帧目标图像的初步校正的左目视图和右目视图均裁剪、去噪,得到每帧目标图像的校正左目视图和校正右目视图。

4.根据权利要求1所述的一种双目立体视频的合成方法,其特征在于,所述步骤3中具体按照下述方法将矫正后的左目视图和右目视图进行立体匹配:步骤3.1,将每帧目标图像的校正左目视图和校正右目视图均进行预处理,得到多帧包含左目视图梯度信息的梯度左目视图和包含右目视图梯度信息的梯度右目视图;

步骤3.2,计算梯度左目视图和梯度右目视图的梯度代价、校正左目视图和校正右目视图的SAD匹配代价;

步骤3.3,根据所述梯度左目视图和梯度右目视图的梯度代价和校正左目视图和校正右目视图的匹配代价优化能量函数,并计算能量函数最优解,得到初始视差图;

步骤3.4,将所述初始视差图使用加权中值滤波算法进行优化,得到匹配视差图。

5.据权利要求3所述的一种双目立体视频的合成方法,其特征在于,所述步骤3.1具体按照下述方法将每帧目标图像的校正左目视图和校正右目视图均进行预处理:步骤3.1.1,将校正左目视图和校正右目视图的像素点均进行16位地址对齐,然后将每一个像素点的左、右、左上、右上、左下和右下方向的像素点进行地址对齐并保存;

步骤3.1.2,将每个像素点的像素值中每四个元素进行组合数据返回,得到并联左目视图和并联右目视图;

步骤3.1.3,将并联左目视图和并联右目视图均使用水平Sobel算子进行算子处理,得到算子左目视图和算子右目视图;

步骤3.1.4,将算子左目视图和算子右目视图均进行灰度处理,得到包含左目视图梯度信息的梯度左目视图和包含右目视图梯度信息的梯度右目视图。

6.据权利要求3所述的一种双目立体视频的合成方法,其特征在于,所述步骤3.2中,计算梯度左目视图和梯度右目视图梯度代价以及校正左目视图和校正右目视图的的SAD匹配代价具体按照下述步骤进行:步骤3.2.1,使用BT算法将梯度左目视图中每个像素点与梯度右目视图中像素点进行匹配,将梯度左目视图和梯度右目视图中能够进行匹配的像素点定义为梯度像素点;

使用BT算法将校正左目视图中每个像素点与校正右目视图中像素点进行匹配,将校正左目视图和校正右目视图中能够进行匹配的像素点定义为校正像素点;

步骤3.2.2,使用BT算法计算每个梯度匹配像素点与其左边相邻像素点之间的左边线性插值强度、每个匹配像素点与其右边相邻像素点之间的右边线性插值强度和每个匹配像素点上的线性插值强度;

使用BT算法计算每个校正像素点与其左边相邻像素点之间的左边线性插值强度、每个匹配像素点与其右边相邻像素点之间的右边线性插值强度和每个匹配像素点上的线性插值强度;

步骤3.2.3,将梯度左目视图和梯度右目视图的匹配像素点均进行16位对齐并存储;

将校正左目视图和校正右目视图的校正像素点均进行16位对齐并存储;

步骤3.2.4,同时对四个匹配像素点进行筛选,得到四个匹配像素点中左边线性插值强度、右边线性插值强度和线性插值强度的最大值和最小值;

同时对四个校正像素点进行筛选,得到四个校正像素点中左边线性插值强度、右边线性插值强度和线性插值强度的最小值;

步骤3.2.5,重复步骤3.2.4,使得梯度左目视图和梯度右目视图中所有的匹配像素点和校正左目视图和校正右目视图的所有校正像素点均已经被筛选,得到梯度左目视图和梯度右目视图中匹配像素点中左边线性插值强度、右边线性插值强度和线性插值强度的最大值和最小值和校正像素点中左边线性插值强度、右边线性插值强度和线性插值强度的最小值;

步骤3.2.6,使用BT算法根据梯度左目视图和梯度右目视图中匹配像素点中左边线性插值强度、右边线性插值强度和线性插值强度的最大值和最小值得到梯度左目视图和梯度右目视图的梯度代价;

使用BT算法根据校正左目视图和校正右目视图的校正像素点中左边线性插值强度、右边线性插值强度和边线性插值强度的最小值得到校正左目视图和校正右目视图的SAD匹配代价。

7.据权利要求3所述的一种双目立体视频的合成方法,其特征在于,所述步骤3.3中具体按照下述步骤得到初始视差图:步骤3.3.1,将梯度左目视图和梯度右目视图中每一个像素点的左边、左上方、上方、右上方、右边、右下方、下方,左下方的像素点均读取时进行地址对齐;

步骤3.3.2,利用梯度左目视图的梯度代价和校正左目视图和校正右目视图的SAD匹配代价计算梯度左目视图中每个像素点的代价聚合值;.

利用梯度右目视图的梯度代价和校正左目视图和校正右目视图的SAD匹配代价计算梯度右目视图中每个像素点的代价聚合值;.

步骤3.3.3,根据梯度左目视图中每个像素点的代价聚合值和梯度右目视图中每个像素点的代价聚合值得到每帧目标图像的初始视差图。

8.根据权利要求1所述的一种双目立体视频的合成方法,其特征在于,所述步骤4合成双目立体视频,具体按照下述步骤进行:步骤4.1,将每帧匹配差图均转换为点云模型

步骤4.1.1,建立坐标转化公式:

其中,x为匹配视差图中像素点的横坐标,y为匹配视差图中像素点的纵坐标,d为视差,cx为主点在校正左目视图上的x坐标,cy为主点在校正左目视图上的y坐标,f为焦距,c'x为c'x是主点在校正右目视图上的x坐标,Tx为基线,X为三维立体坐标的X轴,Y为三维立体坐标的Y轴,Z为三维立体坐标的Z轴,W为缩放因子;

步骤4.1.2,根据所述坐标转化公式将每帧匹配视差图中每个像素点的均转化为三维立体坐标;

步骤4.1.3,将每帧匹配视差图中每个像素点的三维立体坐标和RGB颜色信息输出为点云模型,得到多个点云模型;

步骤4.2,建立帧结构,具体按照下述步骤进行:

步骤4.2.1,构造ORB特征检测器,ORB描述子提取器;

步骤4.2.2,使用所述ORB特征检测器提取每帧目标图像中的校正左目视图和校正右目视图的特征点;并根据每帧目标图像中的校正左目视图和校正右目视图的特征点,使用ORB描述子提取器提取每帧目标图像中的校正左目视图和校正右目视图的描述子,建立每帧目标图像中的校正左目视图和校正右目视图的描述子矩阵;

步骤4.2.3,将每帧目标图像的校正左目视图、校正右目视图、匹配视差图、匹配视差图每个像素点的三维立体坐标、特征点和描述子矩阵组成一个帧结构,得到多个帧结构;

步骤4.3,生成双目立体视频

步骤4.3.1,相机位姿估计

步骤a,优秀匹配点提取

计算相邻两个帧结构中相对应的描述子之间的距离,得到最小描述子距离;将描述子之间的距离均与最小描述子距离进行比较;若有描述子之间的距离大于最小描述子距离的

4倍,则剔除该描述子;剩余的描述子则为优秀匹配点;

步骤b,寻找每个帧结构中的每个优秀匹配点在校正左目视图和校正右目视图中的图像坐标,根据所述图像坐标得到每个优秀匹配点在匹配视差图中的视差信息,让视差信息为零时,则舍弃该优秀特征点;若差信息不为零时,则在该帧结构中建立三维点集合,将该优秀特征点的图像坐标转化为三维立体坐标存储至该帧结构的三维点集合中,同时在下一个帧结构中建立图像点集合,将该优秀匹配点的图像坐标存储至下一个帧结构中的图像点集合中;

步骤c,根据每个帧结构中的三维点集合和下一个帧结构中的图像点集合,通过PnP算法,得到两个帧结构间的旋转矩阵R和平移矩阵T;

4.3.2,依次读取每个帧结构,根据两个帧结构间旋转矩阵和平移矩阵计算两个帧结构中较后面的帧结构的运动范围,若较后面的帧结构的运动范围过大,则舍弃较后面的帧结构;

步骤4.3.3,将相邻的两个帧结构的点云模型拼接,得到双目立体视频。

9.据权利要求8述的一种双目立体视频的合成方法,其特征在于,所述步骤4.3.3中,具体按照是下述步骤将相邻的两个帧结构中的点云模型进行拼接:通过变换矩阵将每帧匹配视差图的点云模型变换,得到多个变换点云模型:其中,O为投影变换矩阵,R3x3为两个帧结构间的旋转矩阵R,t3x3为两个帧结构间的平移矩阵T;

将每帧变换点云模型进行齐次变换;使用PLC库的TransformPointCloud函数将点每帧齐次变换后的点云模型进行旋转缩放,将相邻的两个点云模型进行拼接。