[发明专利]一种基于GPU的高精度视差计算加速方法有效
申请号: | 201711406394.0 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108174176B | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | 冯文铎 | 申请(专利权)人: | 洛阳中科众创空间科技有限公司 |
主分类号: | H04N13/128 | 分类号: | H04N13/128;H04N13/239 |
代理公司: | 洛阳公信知识产权事务所(普通合伙) 41120 | 代理人: | 孙笑飞 |
地址: | 471000 河南省洛阳市伊滨*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于GPU的高精度视差计算加速方法,GPU设置为统一计算设备架构,具体步骤包括:S1、获取左视角图像和右视角图像;S2、分别将左视角图像和右视角图像拆分成若干个大小为32×32的传播区块;S3、对左视角图像和右视角图像中每个传播区块进行视差值迭代更新,视差值迭代更新过程中传播区块的所有像素值存入到GPU的纹理内存中,视差值迭代更新过程的过程参数存入到GPU的共享内存中。本发明能够充分利用CPU的计算能力,在保证视差计算精度的前提下大幅加快计算速度。 | ||
搜索关键词: | 一种 基于 gpu 高精度 视差 计算 加速 方法 | ||
S1、获取左视角图像和右视角图像;
S2、分别将左视角图像和右视角图像拆分成若干个大小为32×32的传播区块;
S3、对左视角图像和右视角图像中每个传播区块进行视差值迭代更新,视差值迭代更新过程中传播区块的所有像素值存入到GPU的纹理内存中,视差值迭代更新过程的过程参数存入到GPU的共享内存中。
2.如权利要求1的一种基于GPU的高精度视差计算加速方法,其特征在于:S2中,任意两个相邻的传播区块之间均有一个重叠区,重叠区为32个排列成行的像素或者32个排列成列的像素。3.如权利要求1的一种基于GPU的高精度视差计算加速方法,其特征在于:视差值迭代更新包括空域传播,空域传播包括行方向传播、行方向逆传播、列方向传播和列方向逆传播,过程参数包括像素的当前视差值和当前视差分数。4.如权利要求3的一种基于GPU的高精度视差计算加速方法,其特征在于:行方向传播的具体方法为:在行方向上,对于任一像素用其前一像素的视差值作为传播视差值计算传播视差分数,如果传播视差分数大于当前视差分数,则用传播视差值替换当前视差值,用传播视差分数替换当前视差分数,如果传播视差分数小于或者等于当前视差分数,则不改变当前视差值和当前视差分数;
行方向逆传播的具体方法为:在行方向的逆方向上,对于任一像素用其前一像素的视差值作为传播视差值计算传播视差分数,如果传播视差分数大于当前视差分数,则用传播视差值替换当前视差值,用传播视差分数替换当前视差分数,如果传播视差分数小于或者等于当前视差分数,则不改变当前视差值和当前视差分数;
列方向传播的具体方法为:在列方向上,对于任一像素用其前一像素的视差值作为传播视差值计算传播视差分数,如果传播视差分数大于当前视差分数,则用传播视差值替换当前视差值,用传播视差分数替换当前视差分数,如果传播视差分数小于或者等于当前视差分数,则不改变当前视差值和当前视差分数;
列方向传播的具体方法为:在列方向的逆方向上,对于任一像素用其前一像素的视差值作为传播视差值计算传播视差分数,用传播视差分数替换当前视差分数,如果传播视差分数大于当前视差分数,则用传播视差值替换当前视差值,如果传播视差分数小于或者等于当前视差分数,则不改变当前视差值和当前视差分数。
5.如权利要求4的一种基于GPU的高精度视差计算加速方法,其特征在于:S3中空域传播的具体方法为:S3.1、设定当前视差值平均改变量阈值X;
S3.2、将传播区块中所有像素的当前视差值和当前视差分数存入到GPU的共享内存中;
S3.3、对传播区块同步进行行方向传播和列方向传播;
S3.4、对传播区块同步进行行方向逆传播和列方向逆传播;
S3.5、将传播区块中所有像素的当前视差值和当前视差分数从共享内存中存出,并计算整个左视角图像中所有像素当前视差值平均的改变量X1和整个右视角图像中所有像素当前视差值平均的改变量X2;
S3.6、重复进行S3.3至S3.5,直到X1和X2均小于X。
6.如权利要求3的一种基于GPU的高精度视差计算加速方法,其特征在于:当前视差值存储为short类型,占用两个字节,当前视差分数存储为double类型,占用八个字节。7.如权利要求1的一种基于GPU的高精度视差计算加速方法,其特征在于:具体步骤包括:S1’、获取左视角图像、右视角图像和基准图像;
S2’、从基准图像提取目标区域,将目标区域向右偏移得到左参考图像,将目标区域向左偏移得到右参考图像;
S3’、将左视角图像中与左参考图像上目标区域相对应的部分设置为左有效区域,将右视角图像中与右参考图像上的目标区域相对应的部分设置为右有效区域;
S4’、将左有效区域和右有效区域分别拆分为若干个有效块,有效块的大小为32×32的整倍数;
S5’、将有效块拆分为若干个32×32的传播区块,对左视角图像和右视角图像中每个传播区块进行视差值迭代更新,视差值迭代更新过程中传播区块的所有像素值存入到GPU的纹理内存中,视差值迭代更新过程的过程参数存入到GPU的共享内存中。
8.如权利要求7的一种基于GPU的高精度视差计算加速方法,其特征在于:S2’中,从基准图像中提取目标区域采用Mask方法,具体包括:S2’.1、拍摄背景图像;
S2’.2、将目标物体置于背景图像前方,拍摄叠加图像;
S2’.3、对背景图像和叠加图像做差分处理,提取目标物体的轮廓线,轮廓线围合出的区域即为目标区域。
9.如权利要求7的一种基于GPU的高精度视差计算加速方法,其特征在于:S4’中,对每个有效块赋予一个母标记,S5’中,每个传播区块赋予一个标识,标识包括传播区块所在有效块的目标记和传播区块的子标记。10.如权利要求7的一种基于GPU的高精度视差计算加速方法,其特征在于:S1’用到一种图像获取装置,图像获取装置固定连接的相机组和红外散斑生成器,相机组包括并列设置的红外左相机、RGB相机和红外右相机,其中红外左相机用于获取左视角图像,红外右相机用于获取右视角图像,RGB相机用于获取基准图像。该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于洛阳中科众创空间科技有限公司,未经洛阳中科众创空间科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711406394.0/,转载请声明来源钻瓜专利网。
- 上一篇:基于移动端的VR显示系统
- 下一篇:立体校正装置