发明名称 基于逆透视投影变换的单目视觉定位方法
摘要 本发明提供一种基于逆透视投影变换的单目视觉定位方法,采用的技术方案如下:将姿态传感器与相机固定在一起,安装在轮式车辆上,对行驶过程中拍摄的图像进行下述处理:第一步,对图像序列进行逆透视投影变换;第二步,计算相邻图像间的变换矩阵;第三步,确定轮式车辆行驶轨迹曲线。本发明的有益效果是利用姿态传感器获得的实时姿态信息辅助轮式车辆的定位,获得了较高精度的定位结果;将图像进行逆透视投影变换,消除了透视效果,进一步提高了轮式车辆定位精度。
申请公布号 CN102221358A 申请公布日期 2011.10.19
申请号 CN201110070941.9 申请日期 2011.03.23
申请人 中国人民解放军国防科学技术大学 发明人 冯莹;曹毓;魏立安;雷兵;陈运锦;杨云涛;赵立双
分类号 G01C11/08(2006.01)I;G01C11/28(2006.01)I 主分类号 G01C11/08(2006.01)I
代理机构 国防科技大学专利服务中心 43202 代理人 王文惠
主权项 1.一种基于逆透视投影变换的单目视觉定位方法,其特征在于,将姿态传感器与相机固定在一起,并且相机的放置位置使相机可以拍摄到车身周围任何一个方向上的路面;根据需要设置相机的帧频和分辨率;相机帧频的设置需要保证在轮式车辆正常行驶过程中,相机拍摄的相邻两幅图像对应的视场区域有重叠的部分;假设记录轮式车辆行驶轨迹曲线的起始时刻为t<sub>1</sub>,该时刻相机拍摄的图像为P<sub>1</sub>;在时刻t<sub>i</sub>(i=1,2..,n,其中n为图像总数),相机拍摄到第i幅图像P<sub>i</sub>,姿态传感器获得的相机姿态角为a<sub>i</sub>;实施下述步骤:第一步,对图像序列进行逆透视投影变换;在时刻t<sub>i</sub>,由相机姿态角a<sub>i</sub>获得相机外参数矩阵A<sub>i</sub>,结合相机内参数矩阵获得图像的逆透视投影变换矩阵B<sub>i</sub>;根据获得的逆透视投影变换矩阵B<sub>i</sub>,对在时刻t<sub>i</sub>拍摄的图像P<sub>i</sub>进行逆透视投影变换,获得路面正下视图P′<sub>i</sub>;假设所有时刻的路面正下视图P′<sub>i</sub>组成正下视图序列P′<sub>1</sub>,P′<sub>2</sub>,L,P′<sub>n</sub>;第二步,计算相邻图像间的变换矩阵;对正下视图序列P′<sub>1</sub>,P′<sub>2</sub>,L,P′<sub>n</sub>的任何相邻图像P′<sub>q</sub>和P′<sub>q+1</sub>,q=1,2,L,n-1,进行下述处理:第(1)步,提取特征点;使用SURF特征描述算子对相邻图像P′<sub>q</sub>和P′<sub>q+1</sub>进行特征提取,特征提取后图像P′<sub>q</sub>的特征点集为F<sub>q</sub>,图像P′<sub>q+1</sub>的特征点集为F<sub>q+1</sub>;每幅图像特征点集的特征点个数与图像的分辨率、纹理复杂度和SURF算子的参数设置有关,可根据使用需要确定;第(2)步,获取图像间刚体变换模型的参数;对相邻图像P′<sub>q</sub>和P′<sub>q+1</sub>,建立刚体变换模型描述两幅图像之间的变换关系,刚体变换模型如下:<maths num="0001"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>j</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mi>q</mi></msub></mtd><mtd><mo>-</mo><mi>sin</mi><msub><mi>&theta;</mi><mi>q</mi></msub></mtd></mtr><mtr><mtd><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mi>q</mi></msub></mtd><mtd><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mi>q</mi></msub></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>x</mi><mi>k</mi><mo>&prime;</mo></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>y</mi><mi>k</mi><mo>&prime;</mo></msubsup></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>dx</mi><mi>q</mi></msub></mtd></mtr><mtr><mtd><msub><mi>dy</mi><mi>q</mi></msub></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>q=1,2...,n-1其中,假设图像P′<sub>q</sub>的特征点集F<sub>q</sub>对应的图像特征像素点坐标集为{(x<sub>j</sub>,y<sub>j</sub>)},j=1...m,图像P′<sub>q+1</sub>的特征点集F<sub>q+1</sub>对应的图像特征像素点坐标集为{(x′<sub>k</sub>,y′<sub>k</sub>)},k=1...m′,其中m、m′分别为特征点集F<sub>q</sub>和F<sub>q+1</sub>包含的特征点数量,θ<sub>q</sub>表示图像P′<sub>q+1</sub>相对于P′<sub>q</sub>旋转的角度,(dx<sub>q</sub>,dy<sub>q</sub>)为图像P′<sub>q+1</sub>相对于P′<sub>q</sub>的像素坐标平移量;利用图像P′<sub>q</sub>和P′<sub>q+1</sub>对应的图像特征像素点坐标集,采用RANSAC估计算法求解刚体变换模型,便可以算得刚体变换模型的参数θ<sub>q</sub>和(dx<sub>q</sub>,dy<sub>q</sub>);第三步,确定轮式车辆行驶轨迹曲线;根据获得的刚体变换模型参数θ<sub>q</sub>和(dx<sub>q</sub>,dy<sub>q</sub>),计算出相邻时刻t<sub>q</sub>和t<sub>q+1</sub>之间轮式车辆的移动距离dL<sub>q</sub>,<img file="FDA0000051758120000022.GIF" wi="448" he="106" />q=1,2...,n-1,其中,M为正下视图的纵向分辨率;D为正下视图纵向分辨率为M时对应的纵向实际视场范围,M和D的值可根据需要进行确定;轮式车辆在世界坐标系下所处位置坐标Loc<sub>q+1</sub>,其中Loc<sub>1</sub>位于坐标原点,即<img file="FDA0000051758120000023.GIF" wi="463" he="66" />其余Loc<sub>q+1</sub>(q=1,2,L,n-1)的横坐标和纵坐标<img file="FDA0000051758120000024.GIF" wi="266" he="61" />为:<maths num="0002"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>X</mi><msub><mi>Loc</mi><mrow><mi>q</mi><mo>+</mo><mn>1</mn></mrow></msub></msub><mo>=</mo><msub><mi>X</mi><msub><mi>Loc</mi><mi>q</mi></msub></msub><mo>+</mo><msub><mi>dL</mi><mi>q</mi></msub><mo>&times;</mo><mi>cos</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>q</mi></munderover><msub><mi>&theta;</mi><mi>l</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>Y</mi><msub><mi>Loc</mi><mrow><mi>q</mi><mo>+</mo><mn>1</mn></mrow></msub></msub><mo>=</mo><msub><mi>Y</mi><msub><mi>Loc</mi><mi>q</mi></msub></msub><mo>+</mo><msub><mi>dL</mi><mi>q</mi></msub><mo>&times;</mo><mi>sin</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>q</mi></munderover><msub><mi>&theta;</mi><mi>l</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>将各时刻对应位置坐标点Loc<sub>i</sub>(i=1,2,L,n)依次连接,便可以得到轮式车辆的行驶轨迹曲线。
地址 410073 湖南省长沙市开福区德雅路109号