本发明属于机器视觉技术领域,具体涉及一种基于视觉情报分析的数学建模方法。
背景技术:
研究表明,一般人所获取的信息大约有80%来自视觉。视觉信息的主要载体是图像和视频,视觉情报指的是通过图像或者视频获取的情报。
从图像或视频中提取物体的大小、距离、速度等信息是视觉情报分析工作的重要内容之一,如在新中国最著名的“照片泄密案”中,日本情报专家就是通过《中国画报》的一幅封面照片解开了大庆油田的秘密。在当前很热门的移动机器人、无人驾驶、计算机视觉、无人机侦察等领域,更是存在着大量的应用需求。尽管在对未来智能交通系统的设计等工作中,科研人员正在研究使用双目或多目视觉系统或者特殊配置的单目视觉系统获取相关信息,但在某些特定条件下,分析人员所能利用的,只能是普通的图像或视频,其中的信息需要综合考虑各种因素,通过合适的数学模型来提取。因此,有必要在现有技术基础之上进行改进。
技术实现要素:
本发明的目的是结合视觉分析,解决目前机器视觉存在的技术问题,提供一种基于视觉情报分析的数学建模方法。
为了达到上述发明目的,本发明采用以下技术方案:
包括如下步骤:
步骤一:根据相机成像建立通用相机模型;
步骤二:将世界坐标系的选取物坐标根据通用相机模型转化为相片坐标系的虚拟物坐标;
步骤三:通过编程软件进行仿真运行,在世界坐标系中调整参数信息,使相片坐标系的虚拟物与世界坐标系的实物拟合,以得到相片中图像元素映射于世界坐标系的位置;
步骤四:根据图像元素在相片坐标系的位置,测算出世界坐标系中实物位置信息。
作为优选方案,所述步骤一的建立通用相机模型具体包括:以相机镜头为原点建立世界坐标系和镜头坐标系,以镜头坐标系为基准建立成像平面坐标系,旋转成像平面坐标系得到相片坐标系,以实现相片坐标系的虚拟物与世界坐标系的实物拟合。
作为优选方案,所述世界坐标系旋转以得到镜头坐标系,镜头坐标系的x轴垂直于成像平面坐标系。
作为优选方案,所述世界坐标系、镜头坐标系、成像平面坐标系以及相片坐标系之间通过线性变换实现。
作为优选方案,所述步骤二中选取物包括车辆、道路标志、建筑物及路面障碍物。
作为优选方案,将选取的图像元素转化为立方体,根据通用相机模型,建立立方体各顶点坐标的变换关系。
作为优选方案,所述步骤三的参数信息包括镜头俯仰角、旋转角、以及虚拟物映射于世界坐标系的坐标,运用matlab编程软件模拟图像元素映射在世界坐标系的位置。
作为优选方案,所述步骤四中通过交比定理测算图像元素映射在世界坐标系的位置信息。
作为优选方案,所述位置信息包括多种距离长度。
本发明与现有技术相比,有益效果是:
一种基于视觉情报分析的数学建模方法,利用几何原理对相机成像过程进行近似描述,将实物抽象化建立模型假设,利用matlab不断拟合,实现相片坐标系与世界坐标系的转换,通过虚拟物与实物重合,确定实物的真实坐标信息,在相片中对实物进行空间定位,对相片解析力的要求较低,不存在场景限制,多场景广泛使用,可以通过优化参数的方式以提升性能。
附图说明
图1是本发明实施例1的基于视觉情报分析的数学建模方法的镜头成像多坐标示意图;
图2是本发明实施例1的基于视觉情报分析的数学建模方法的任务图;
图3是图2中两个影灭点在图片中的示意图;
图4是本发明实施例1的基于视觉情报分析的数学建模方法的汽车a的拟合图像;
图5是本发明实施例1的基于视觉情报分析的数学建模方法的汽车a在世界坐标系中的位置;
图6是本发明实施例1的基于视觉情报分析的数学建模方法的汽车b的拟合图像;
图7是本发明实施例1的基于视觉情报分析的数学建模方法的汽车b在世界坐标系中的位置;
图8是本发明实施例1的基于视觉情报分析的数学建模方法的交比定理示意图;
图中:1世界坐标系、2镜头坐标系、3成像平面坐标系、4相片坐标系。
具体实施方式
下面通过具体实施例对本发明的技术方案作进一步描述说明。
实施例1:
本实施例提供一种基于视觉情报分析的数学建模方法,包括如下步骤:
步骤一:根据相机成像建立通用相机模型;
步骤二:将世界坐标系的选取物坐标根据通用相机模型转化为相片坐标系的虚拟物坐标;
步骤三:通过编程软件进行仿真运行,在世界坐标系中调整参数信息,使相片坐标系的虚拟物与世界坐标系的实物拟合,以得到相片中图像元素映射于世界坐标系的位置;
步骤四:根据图像元素在相片坐标系的位置,测算出世界坐标系中实物的位置信息。
步骤一的建立通用相机模型具体包括:以相机镜头为原点建立世界坐标系和镜头坐标系,以镜头坐标系为基准建立成像平面坐标系,旋转成像平面坐标系得到相片坐标系,以实现相片坐标系的虚拟物与世界坐标系的实物拟合。世界坐标系旋转以得到镜头坐标系,镜头坐标系的x轴垂直于成像平面坐标系。世界坐标系、镜头坐标系、成像平面坐标系以及相片坐标系之间通过线性变换实现。
步骤二中选取物包括车辆、道路标志、建筑物及路面障碍物。将选取的图像元素转化为立方体,根据通用相机模型,建立立方体各顶点坐标的变换关系。
步骤三的参数信息包括镜头俯仰角、旋转角、以及虚拟物映射于世界坐标系的坐标,运用matlab编程软件模拟图像元素映射在世界坐标系的位置。
步骤四中通过交比定理测算图像元素映射在世界坐标系的位置信息,位置信息包括多种距离长度。
如图1所示,在世界坐标系中选取点p,通过世界坐标系转变到镜头坐标系,镜头坐标系投影至平面坐标系,最终在相片坐标系中形成图像对应的映射关系。其中,镜头坐标系的x轴垂直于成像平面。点p在世界坐标系的坐标为(x,y,z),点p从世界坐标系转换到镜头坐标系存在唯一一个对应的转换矩阵crw,假设按x,y,z轴旋转角度分别是α,β,γ,则绕x轴旋转变换的矩阵为公式(1):
绕y轴旋转变换的矩阵为公式(2):
绕z轴旋转变换的矩阵为公式(3):
通过坐标轴三个方向的旋转可以得到镜头坐标系相对于世界坐标系的旋转变换矩为面公式(4):
crw=rx·ry·rz(4)
ctw为世界坐标系w和镜头坐标系c之间的平移量,假设p在镜头坐标系{c}和世界坐标系{w}下坐标为(cxp,cyp,czp,1),(wxp,wyp,wzp,1),则
其中0t=(000)t,在镜头坐标系下p点坐标与原点p相连与成像平面得到的交点q的坐标,点q在镜头坐标系下的z轴坐标就是成像平面的y轴坐标,点q在镜头坐标系下的y轴坐标就是成像平面的x轴坐标。
如图3所示,通过描绘给出图2的两个影灭点。假设针对于图2的相机镜头光轴平行于地面,即平行于世界坐标系的xoy平面。如图2所示,以镜头位置为原点,以地砖两条边分别为x,y轴,以灯柱为z轴建立世界坐标系;以镜头位置为原点,以镜头光轴方向为x轴,以灯柱方向为z轴,以右手法则确定最后的y轴,建立镜头坐标系。
图2中相机焦距180毫米,a车为福特福克斯,长、宽、高分别为4647毫米、1810毫米、1468毫米,b车为宝马x3,长、宽、高分别为4717毫米、1891毫米、1689毫米。所有路边的汽车均规范停车,车轮紧贴路边或与路边距离d较小;所有汽车都可以用一个立方体表示;图上所有的马路都处于一个平面,没有下陷或拱起;图1图3在铅直方向的影灭点相对于照片存在无穷远出;路面上所有的地砖铺设均匀且夹角为90°;相机拍摄均保持水平,没有俯仰角。
设在固定高度有一点a(x,y,m),并且已知一个方向向量
点a的公式为:
wa(ax,ay,m)(6)
点b的公式为:
wb(-sina·d1+ax,d1·cosa+ay,m)(7)
点c的公式为:
wc(-sina·d1+d2·cosa+ax,cosa·d1+d2·sina+ay,m)(8)
点d的公式为:
wd(d2·cosa+ax,d2·sina+ay,m)(9)
点e的公式为:
we(ax,ay,m+h)(10)
点f的公式为:
wf(-sina·d1+ax,d1·cosa+ay,m+h)(11)
点g的公式为:
wg(-sina·d1+d2·cosa+ax,cosa·d1+d2·sina+ay,m+h)(12)
点h的公式为:
wh(d2·cosa+ax,d2·sina+ay,m+h)(13)
对于上述坐标,字母定义为式(14)到(21):
通过公式(1)至公式(5)的通用相机模型,我们可以获得这8个点在镜头坐标系下的坐标转换公式(22)、(23):
通过上述转换公式得到在镜头坐标系下的8个点坐标公式分别为:
a点为:
ca(wax·cosγ+way·sinγ,wax·-sinγ+way·cosγ,m)(24)
cax=wax·cosγ+way·sinγ
记cay=wax·-sinγ+way·cosγ(25)
b点为:
cb(wbx·cosγ+wby·sinγ,wbx·-sinγ+wby·cosγ,m)(26)
cbx=wbx·cosγ+wby·sinγ
记cby=wbx·-sinγ+wby·cosγ(27)
c点为:
cc(wcx·cosγ+wcy·sinγ,wcx·-sinγ+wcy·cosγ,m)(28)
ccx=wcx·cosγ+wcy·sinγ
记ccy=wcx·-sinγ+wcy·cosγ(29)
ccx=wcx·cosγ+wcy·sinγ
记ccy=wcx·-sinγ+wcy·cosγ
d点为:
cd(wdx·cosγ+wdy·sinγ,wdx·-sinγ+wdy·cosγ,m)(30)
cdx=wdx·cosγ+wdy·sinγ
记cdy=wdx·-sinγ+wdy·cosγ(31)
e点为:
ce(wex·cosγ+wey·sinγ,wex·-sinγ+wey·cosγ,m)(32)
cex=wex·cosγ+wey·sinγ
记cey=wex·-sinγ+wey·cosγ(33)
f点为:
cf(wfx·cosγ+wfy·sinγ,wfx·-sinγ+wfy·cosγ,m)(34)
cfx=wfx·cosγ+wfy·sinγ
记cfy=wfx·-sinγ+wfy·cosγ(35)
g点为:
cg(wgx·cosγ+wgy·sinγ,wgx·-sinγ+wgy·cosγ,m)(36)
cgx=wgx·cosγ+wgy·sinγ
记cgy=wgx·-sinγ+wgy·cosγ(37)
h点为:
ch(whx·cosγ+why·sinγ,whx·-sinγ+why·cosγ,m)(38)
chx=whx·cosγ+why·sinγ
记chy=whx·-sinγ+why·cosγ(39)
综合上述坐标转化关系公式,使用matlab编程建立模型程序,模拟在世界坐标系中,一个实物(假设为立方体)在相片坐标系上的唯一映射,通过调整世界坐标系中立方体的坐标参数以及相机俯仰角、旋转角,使其在相片坐标系形成的立方体投影图像与图2里的实物重合,则认为找到了实物在世界坐标系的真实坐标位置,从而计算得到模型内涉及到的实物大小、镜头位置、成像位置、相关角度等一系列结果。
如图2所示,经过运行程序、预设相关参数不断调整迭代,立方体与图像中汽车出现重合,则找到了汽车在世界坐标系的具体位置,并输出所需结果数据。
如图4所示,matlab不断拟合的图像最终出现如图4所示效果。
如图5所示,图中标明了汽车a在世界坐标系中的位置。
则a车在世界坐标系中的顶点坐标如下表1所示:
表1为图2中a车各顶点在世界坐标系的坐标(福特福克斯)
如图6所示,保持向量不变,通过matlab在世界坐标系继续拟合b车所在位置,得到拟合图像最终出现如图6所示效果,则认为找到了汽车b在世界坐标系的具体位置。
如图7所示,可以在图中看到b车在世界坐标系中的具体位置。
则可得出b车在世界坐标系中的顶点坐标如下表2所示:
表2为图2中b车各顶点在世界坐标系的坐标(宝马x3)
可以由此求解两车车头之间的距离,用空间上两点之间距离公式可以算出两车车头之间的距离大约为45米,拍照者距马路左边界的距离就是在世界坐标系中原点到汽车靠近马路一侧直线的距离,通过点到直线之间的距离公式估算出人到左侧车道的距离为17.44米。
由于a、b两车在同一条直线上,a、b两车在成像平面的投影与a、b两车的实际位置分别都在一条直线上,由此可知可以通过交比定理来验证本文提出的模型测量出的a、b两车实际车距是否准确。
通过取点可以得到a、b两车在成像平面坐标系中可以取到的坐标如表3所示:
表3为图2中a、b两汽车在相片坐标系中的位置坐标
通过两点间距离公式:
得到a车在成像平面中长度d为31.1毫米,b车长度为5.2毫米,a、b两车之间的距离为121毫米。
如图8所示,利用交比定理可进行模型验证:
其中a、b、c、d共线,p、q、r、s共线,直线ap、cq、rb、sd交于同一点m,则有以下公式成立:
通过交比定理使用a车在成像平面的长度、b车在成像平面的长度、ab两车在成像平面的距离、a车实际长度、b车实际长度可以计算出ab两车实际距离为38米,与发明提出的模型计算出的45米较为接近,但是两种方法都存在相应的误差,通过两种方法得出结果的对比认为,本发明提出的模型在单目摄像头成像测距问题中较为可靠。
本发明的基本符号说明:
上述仅为本发明的较佳实施例及所运用技术原理,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。