本发明的目的在于克服
现有技术的
缺陷,提供一种单目视觉半实物仿真系统及方 法,用以实现在复杂环境下计算机视觉研究的仿真工作,尤其适合应用于标定和视觉导 航
定位的仿真实现,其具有设备简单、易于实现和使用范围广的优点。
本发明的单目半实物仿真系统包括虚拟成像单元、图像投影单元和摄像实现单元, 这三个单元之间顺次连接,并且其相对
位置不能变化。所述的虚拟成像单元是将虚拟景 象投影到计算机屏幕上;所述的图像投影单元是将计算机屏幕上的虚拟景象投影到投影 平面上;所述的摄像实现单元是通过单目摄像机获取投影平面上的图像。
本发明的单目半实物仿真方法包括以下步骤:首先,在虚拟成像单元中,通过 OpenGL等
软件对虚拟景象进行构建,设定虚拟景象的位置
姿态,通过
虚拟摄像机将虚 拟景象投影到计算机屏幕上。然后,图像投影单元将图像投影到投影平面上,经过摄像 实现单元在投影平面上获得投影图像。最后,通过计算机软件计算得出虚拟摄像机的内 部参数,虚拟景象的位置姿态,通过与设定值进行比较,分析得出仿真结果的
精度误差。
本发明的优点主要有:(1)创造性地将计算机视觉与
虚拟现实技术结合起来,很好 的解决了复杂情况仿真难的问题;(2)设备简单、易于实现,使用范围广;(3)通过本 仿真环境,既能得到比完全数字仿真更加接近真实情况的仿真结果,又解决了实物实验 花费资金多,准备时间长等问题。
附图说明
下面参照附图和具体实施方式对本发明的单目视觉半实物仿真系统及方法作进一 步详细地说明。
图1是本发明的系统结构原理图;
图2是本发明的系统的结构示意图;
图3是本发明的方法流程原理图;
图4是本发明的虚拟摄像机视场
角与尺度因子关系示意图;
图5是本发明的
实施例的平面靶标示意图;
图6是图5的实施例的虚拟景象的投影图像示意图;
图7是图6的实施例的提取的特征点的图像示意图。
图1所示的单目视觉半实物仿真系统包括:虚拟成像单元、图像投影单元和摄像实 现单元,这三个单元之间顺次连接,并且其相对位置不能变化。所述的虚拟成像单元是 将虚拟景像投影到计算机屏幕上;所述的图象投影单元是将计算机屏幕上的虚拟景象投 影到投影平面上;所述的摄像实现单元是通过单目摄像机获取投影平面上的图像。
如图2所示,本发明的虚拟成像单元包括装有虚拟视景软件的计算机1,所述的图 象投影单元包括投影仪2和投影屏幕3。所述的摄像实现单元包括摄像机4、摄像机
云 台5和装有仿真软件的计算机6。计算机6可控制摄像机云台5,使摄像机4获得最佳 的视场位置,而且,投影仪2、投影屏幕3、摄像机4和摄像机云台5均固定在室内墙 壁或
支架上,它们之间位置不能出现相对变化。投影仪2的参数固定不变,其与计算机 1相连接,在投影屏幕3上投出由计算机1中虚拟视景软件生成的虚拟三维视觉图像, 摄像机4和计算机6相接,通过
图像采集卡先将由摄像机4采集的图像数据传送至计算 机6,并通过计算机6中的仿真软件对该次采集的图像进行处理,计算得出虚拟摄像机 的内部参数及虚拟景象的位置姿态,然后,改变虚拟场景的位置姿态,再重复进行采集 计算。
如图3所示,本发明的单目半实物仿真方法包括以下步骤:首先,在虚拟成像单元 中,通过OpenGL等软件对虚拟景象进行构建,设定虚拟景象的位置姿态,通过虚拟摄 像机将虚拟景象投影到计算机屏幕上,然后,图像投影单元将图像投影到投影平面上, 经过摄像实现单元在投影平面上获得投影图像,最后,通过计算机软件计算得出虚拟摄 像机的内部参数,虚拟景象的位置姿态,通过与设定值进行比较,分析得出仿真结果的 精度误差。
下面结合附图具体说明该方法实现的各个步骤:
步骤一:建立由虚拟景象到计算机屏幕的成像模型
摄像机线性模型如下式1
其中虚拟景象上点的齐次坐标为[xw,yw,zw,1]T,图像上点的齐次坐标为[a, b,1]T;αx是虚拟摄像机像平面上u轴上的尺度因子,αy是虚拟摄像机像平面上v轴 上的尺度因子;[u0,v0]为虚拟摄像机像平面上图像中心坐标;s1是一比例因子;R,T 为旋转矩阵和平移向量; Mx1由αx,αy,u0,v0决定,被称为虚拟摄像机的内部参数; Mx2由R,T决定,被称为虚拟摄像机的外部参数。
步骤1:确定虚拟摄像机内部参数
设定虚拟摄像机图像
分辨率为1024×768。垂直视场角取30度,具体几何关系参照 图4,这里设定αx=αy=384.0/tan(15.0×π/180)=1433.1075357064;u0=512,v0=384。
步骤2:确定虚拟摄像机外部参数
在虚拟视景软件中为了确定虚拟摄像机的外参需要确定视点的空间位置,即视点在 虚拟世界
坐标系下的三维坐标值Tw=[Xw,Yw,Zw];视线方向
偏航角度θ(绕X轴方向旋 转)、
俯仰角度(绕Y轴方向旋转)和
滚转角度φ(绕Z轴方向旋转)。
这里设定虚拟摄像机坐标系的初始位置与虚拟世界坐标系位置重合。虚拟摄像机在 初始状态下按照先滚转再俯仰最后偏航的顺序进行旋转,从而确定虚拟摄像机旋转后的 最终位置,其旋转矩阵为R,再将虚拟摄像机视点位移到所设置的位置即完成了从虚拟 世界坐标系到虚拟摄像机坐标系的变换。
坐标旋转矩阵R可以用欧拉角表示法求得,根据前面所规定的虚拟摄像机旋转顺序 可知欧拉角表示法中旋转顺序为:绕Z轴→绕Y轴→绕X轴,旋转角度正负按右手坐标 系法则确定,绕X轴、Y轴、Z轴的角度分别为θ,,φ后,可推导求得旋转矩阵为:
设虚拟摄像机视点在虚拟世界坐标系中的坐标值为TW,则平移向量为:
T=-(R*TW)
最终得到虚拟摄像机外部参数矩阵为:
步骤二:建立由计算机屏幕到摄像机像平面的成像模型
由于在标定过程中,很难对投影仪进行单独标定,故将后两个投影过程合并,作为 一个整体来考虑。
在建立计算机屏幕到摄像机像平面的成像模型时,不但要考虑具
体模型的建立,而 且要对系统的参数进行标定,具体分为:
步骤1:建立成像模型
为了更准确的了解整个成像模型,先分别建立计算机屏幕到投影平面,投影平面到 摄像机像平面的模型,最后再将两个模型合并形成由计算机屏幕到摄像机像平面的成像 模型,具体包括:
1)建立由计算机屏幕到投影平面的成像模型
由于计算机屏幕到投影平面的投影关系是面—面投影,故可以得到如下模型:
其中s2为比例因子;Ht为一3×3非奇异矩阵;投影平面上点的齐次坐标为[xt,yt,1]。
2)建立由投影平面到摄像机的成像模型
由于投影平面为一平面,投影平面到摄像机的成像模型可得:
其中摄像机像平面上点的齐次坐标为[u,v,1]T;s3为一比例因子;αcx是摄像机 像平面上u轴上的尺度因子,αcy是摄像机像平面上v轴上的尺度因子;[uc0,yc0]为 摄像机像平面上图像中心处坐标;rc1,rc2分别为Rc的第1、2列。
3)建立由计算机屏幕到摄像机像平面的成像模型
将式(2)和式(3)合并形成由计算机屏幕到摄像机像平面的成像模型
具体公式如下:
式中Hb为3×3矩阵;s4为一比例因子。
步骤2:系统的标定
利用式(4)的模型公式,对系统进行标定。
具体过程如下:
(1)根据Lenz和Tsai提出的变焦距法(参见Lenz.R.K,Tsai.R.Y,Techniques for Calibration of the Scale Factor and Image Center for High Accuracy 3-D Machine Vision Metrology,IEEE Transactions on Pattern Analysis and Machine Intelligence.Volume 10.Issue 5.September 1988. Pages:713-720)求得摄像机像平面上的图像中心。
(2)利用张广军等提出的基于交比不变的摄像机畸变系数标定方法(参见张广军 编著,《
机器视觉》,北京:科学出版社,2005.)实现对摄像机径向畸变系数的标定。
(3)在求出摄像机像平面上的图像中心和径向畸变系数的
基础上,对摄像机像平 面上的图像进行畸变校正后,通过靶标上多个角点可由(4)式建立线性方程,利用最小二 乘法即可求出矩阵Hb,即完成参数的标定。
步骤三:建立整体计算机视觉半实物仿真环境模型
将前边过程的数学模型合并,即可得到半实物仿真环境的整体模型:
s5为一比例因子;其中Hb可通过标定得到;R,T为人为设定。
根据上述模型可以看出,当已知摄像机像平面上点的齐次坐标[u,v,1]T和虚拟景 象上点的齐次坐标[xw,yw,zw,1]T时,就可以计算出式(5)中的虚拟摄像机的内参 及外参(R、T)。
下面通过一具体实施例来说明本发明的单目半实物视觉仿真的步骤:无人机在陆战 场上已取得显赫战绩,其出色的表现向整个世界展示了无人机应用于海战的广阔前景, 因而受到各国海军的重视。而舰载无人机的关键技术问题之一就是使用后的着舰回收问 题,在这里我采用本发明进行无人机着舰仿真实验。
步骤一:
首先由虚拟成像单元的OpenGL软件设计一个平面靶标,如图5所示。这里取靶标区 域内各黑色方
块的四个角点为特征点,各特征点的坐标事先设定,其中大小黑色方块的 排列方式是为了识别靶标坐标系的原点和X轴方便。
步骤二:
由摄像实现单元在投影平面上获得经图像投影单元投影的图像。为了叙述简单起 见,这里只相应的改变一次位置姿态,以俯仰角为45度,视点是在150厘米处为例, 如图6所示。
步骤三:
通过计算机仿真软件的
图像处理功能提取图像中特征点的图像坐标,如图7所示。
步骤四:
在已知式(5)中M1,M2,αx,αy,u0,v0情况下,根据式(5),可求解出无 人机的位置姿态(R,T),具体数据如下:
R=
0.702725 -0.001678 -0.714938
-0.000565 -0.999956 0.001809
-0.711514 -0.000596 -0.699186
T=
-0.006923
-0.004578
150.141495
OpenGL中设定值与实际测量值如下表 θ(度) (度) φ(度) Tx(厘米) Ty(厘米) Tz(厘米) 设定 0 45 0 106.06601 0 106.066018 计算 -0.129 45.356 -0.137 106.82711 0.102277 105.504913 偏差 -0.129 0.356 -0.137 0.761095 0.102277 -0.561105
表中T=[Tx,Ty,Tz]T为摄像机
光心在世界坐标系下的坐标。
以上所述的仅是本发明的优选实施方式。应当指出,对于本领域的普通技术人员来 说,在不脱离本发明原理的前提下,还可以作出若干变型和改进,这些也应视为属于本 发明的保护范围。