1.一种基于计算机视觉定位的增强现实实现方法,其特征在于,初始化相机位姿,渲染增强现实效果,该方法的步骤包括如下:(1)标定相机:
采用基于移动平面模板的相机标定方法,标定摄像机内参数矩阵,三个径向畸变参数,二个切向畸变参数;
(2)提取图像特征点:
采用加速段测试的特征FAST检测方法,从标定后相机拍摄的图像中提取特征点;
(3)计算特征点描述子:
(3a)用方差为2,9×9个像素点的高斯窗口,对提取特征点后的图像进行高斯滤波,得到滤波后的图像;
(3b)从滤波后的图像中任意选取一个图像特征点,作为当前图像特征点;
(3c)以当前图像特征点为中心,将其31×31个像素点邻域范围内的所有像素点组成一个图像邻域块;
(3d)在每个图像邻域块中随机选取一对5×5像素点大小的图像子块;
(3e)利用比特位计算公式,计算描述子中的每个比特位:(3f)判断是否选取完图像邻域块中的所有图像子块,若是,则执行步骤(3g),否则,执行步骤(3c);
(3g)判断是否选取完滤波后的图像中所有图像特征点,若是,则执行步骤(4),否则,执行步骤(3b);
(4)矫正图像畸变:
(4a)对提取到的每一个图像特征点,进行图像特征点的坐标归一化处理;
(4b)利用径向畸变矫正公式,对归一化后的图像特征点坐标进行径向畸变矫正;
(4c)利用切向畸变矫正公式,对径向畸变矫正后图像坐标进行切向畸变矫正;
(5)判断当前处理的相机拍摄图像帧数是否为相机拍摄图像的第一帧,若是,执行步骤(6);若当前处理图像为相机拍摄图像的第二帧,执行步骤(7),若当前处理图像帧数大于等于三,执行步骤(9);
(6)初始化三维引擎模块:
(6a)以当前相机坐标系为基准,建立世界坐标系,用单位矩阵表征相机位姿;
(6b)将三维引擎模块中的虚拟相机内参数矩阵设置为标定相机的内参数矩阵,将三维引擎模块中虚拟相机的位姿设置为单位矩阵;
(6c)三维引擎模块读取由三维动画软件制作的三维模型后执行步骤(2);
(7)初始化相机位姿:
(7a)选取相机拍摄的最初的两个图像帧,对两组二维图像特征点描述子进行匹配,用汉明距离表征图像特征点描述子匹配程度;
(7b)对于满足对极约束关系的所有图像特征点匹配对中的任意一对图像特征点,计算相机位姿的本征矩阵:T
PiEQj=0
其中,Pi表示选取的第一帧图像的第i个图像特征点的齐次坐标,T表示转置操作,E表示相机位姿的本征矩阵,Qj表示选取的第二帧图像中与Pi满足对极约束关系的第j个图像特征点的齐次坐标;
(7c)按照下式,分别计算相机位姿的旋转矩阵和平移向量:E=cR
T
RR=I
其中,c表示相机位姿的平移向量的反对称矩阵,R表示相机位姿的旋转矩阵,I表示单位矩阵;
(7d)利用变换矩阵计算公式,计算相机位姿的变换矩阵:O=[R|t]
其中,O表示相机位姿的变换矩阵,t表示相机位姿的平移向量;
(7e)基于当前相机位姿的变换矩阵,建立当前相机坐标系后执行步骤(8);
(8)映射三维空间点:
(8a)在当前相机位姿对应的相机坐标系中,按照下式,计算当前图像帧中二维图像特征点对应的三维空间坐标:Ba=KDa
其中,Ba表示当前图像帧的第a个图像特征点的齐次坐标,Da表示与Ba对应的当前相机位姿对应的相机坐标系中的三维空间点坐标;
(8b)将当前相机坐标系变换到世界坐标系,将当前相机坐标系中的三维空间点添加到世界坐标系三维空间点集合后执行步骤(10);
(9)获取相机实时位姿:
(9a)将当前三维空间点集合中的三维空间点与当前图像帧提取到的二维图像点匹配,用欧氏距离和汉明距离表征匹配程度;
(9b)采用基于点特征的定位PnP方法,得到准确的当前相机位姿的变换矩阵;
(9c)基于当前相机位姿的变换矩阵,建立当前相机坐标系后执行步骤(8);
(10)渲染增强现实效果:
(10a)三维引擎模块将当前图像帧放入帧缓冲区,作为增强现实的现实部分;
(10b)根据当前现实相机的位姿信息,调整三维引擎模块中的虚拟相机位姿,使得虚拟相机位姿与当前现实相机的位姿一致;
(10c)基于虚拟相机的当前位姿,将世界坐标系中的的三维模型变换到当前图像帧对应的相机坐标系中;
(10d)基于虚拟相机的内参数矩阵,将当前相机坐标系中的三维模型投影至二维平面,投影结果放入帧缓冲区,叠加在当前图像帧之上,作为增强现实的虚拟部分;
(10e)将帧缓冲区映射到屏幕上,呈现出现实与虚拟相融合的虚拟现实效果。
2.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(1)中所述的基于移动平面模板的相机标定方法的步骤如下:第一步,打印一张黑白相间棋盘模板并贴在一个标定平面上;
第二步,用待标定的相机从不同角度拍摄多张模板图像;
第三步,根据标定平面到图像平面的单应性关系,确定待标定相机的内参数矩阵,三个径向畸变参数,二个切向畸变参数。
3.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(1)中所述的摄像机内参数矩阵如下:其中,K表示摄像机的内参数矩阵,f表示标定后相机的镜头焦距值,x0,y0分别表示标定后相机镜头的主点坐标。
4.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(2)中所述的加速段测试的特征FAST检测方法的步骤如下:第一步,将标定相机拍摄图像处理为8层金字塔图像;
第二步,将加速段测试的特征FAST特征点的阈值设置为20;
第三步,在金字塔图像上提取均匀分布的1000个图像特征点。
5.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(3e)中所述的比特位计算公式如下:其中,τb表示描述子中的第b个比特位,k1表示所选一对5×5像素点中的第一个图像子块的像素和,k2表示所选一对5×5像素点中的的第二个图像子块的像素和。
6.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(4b)中所述的径向畸变矫正公式如下:
2 4 6
u=x(1+k1r+k2r+k3r)
2 4 6
v=y(1+k1r+k2r+k3r)
其中,u表示径向畸变矫正后归一化图像特征点的横向坐标值,x表示径向畸变矫正前归一化图像特征点的横向坐标值,k1,k2,k3分别表示相机标定后的三个径向畸变参数,v表示径向畸变矫正后归一化图像特征点的纵向坐标值,y表示径向畸变矫正前归一化图像特征点的纵向坐标值,r表示径向畸变矫正前归一化图像特征点坐标到图像中心之间的距离。
7.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(4c)中所述的切向畸变矫正公式如下:
2 2
m=u+2p1uv+p2(s+2u)
2 2
n=v+p1(s+2v)+2p2uv
其中,m表示切向畸变矫正后归一化图像特征点的横向坐标值,p1,p2分别表示相机标定后的二个切向畸变参数,n表示切向畸变矫正后归一化图像特征点的纵向坐标值,s表示径向畸变矫正后归一化坐标到图像中心之间的距离。
8.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(7b)中所述的对极约束关系是指,两个不同二维图像点是同一个三维空间点在不同位姿相机下的成像。
9.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(7e)和(9c)中所述的基于当前相机位姿的变换矩阵,建立当前相机坐标系是指,以相机位置为坐标系原点,相机朝向为z轴正方向,相机上方为y轴正方向,相机右侧为x轴正方向,建立三维空间坐标系。
10.根据权利要求1所述的基于计算机视觉定位的增强现实实现方法,其特征在于,步骤(9b)中所述的基于点特征的定位PnP方法步骤如下:第一步,从当前相机坐标系中任意选取相匹配的六对三维空间点,将每对三维空间点在当前相机坐标系中投影为二维图像点,根据六对二维图像点与三维空间点之间的投影关系,得到一个粗糙的当前相机位姿;
第二步,构建最小二乘优化问题,对粗糙的当前相机位姿进行调整,获取一个准确的当前相机位姿。