×
工业控制 > 工业自动化 > 详情

计算机仿真的全景视觉镜面设计

发布时间:2020-12-28 发布时间:
|


引言

全景视觉系统是由一个朝上放置的摄像头和一个反射镜面组成,摄像头通过反射镜面获得360度范围的图像。因其视野广泛,足球竞赛机器人通常采用全景视觉系统来获取整个球场的信息。反射镜面是影响全景视觉的图像效果和观察范围的重要因素。美国哥伦比亚大学的Simon Baker和Shree K. Nayar等人专门对全景视觉系统的几何特性进行了仔细的研究和分析,并提出了“单一视点(single viewpoint)”的问题[1]。符合单一视点的曲面,所有射向焦点的光线经过反射后都射向另外一个焦点或者平行于对称轴,而不是散射开来。

研究表明,不同镜面适用于不同的观察需求。常用的曲面镜面(如抛物面,锥面等)往往不能同时满足执行特殊任务的机器人的多个观察需求。于是有学者提出根据观察需求或者假设的成像效果反推镜面的曲面[2],以设计出满足特殊任务需求的镜面轮廓。本文的镜面设计过程是根据反推算法求得曲面轮廓,并且建立相应的模型仿真预先观察成像效果,与期望的成像进行比较,根据一定的评估和分析,优化参数,由计算机完成大量的计算过程和定量分析。这种设计方法可以高效地设计出性能好、成本低的镜面。

1镜面设计原理及成像仿真系统的开发

1.1 镜面设计原理和方法

要预知经过镜面反射之后的成像效果,就必须知道镜面曲线和经过镜面反射后的成像点(CCD上的成像单位)与现实空间点的映射关系。

xa0

图1 镜面成像原理

以小孔成像模型作为摄像头的成像模型,因为镜面是旋转对称的结构,只需研究二维的镜面剖面曲线。如图所示,根据光线反射定理和小孔成像法则,可以得到如下关系式:

xa0

上式中F(t)为曲线方程,具体的关系式推导可参考[4]。

若是未知镜面曲线方程,而给定现实点与图像点的对应关系,则需要反推镜面轮廓线。逆向求取镜面曲线的方法分为两种:解析解[2]和数值解[3]。本文采用求数值解的算法,因为它计算复杂度小,利于编程实现。主要实现流程如图2所示:

xa0

图2 镜面轮廓设计实现流程图

1.2 成像仿真

为了使镜面曲线设计更直观,更方便调整参数,对镜面成像效果进行仿真预览可以使设计的应用更加友好,同时利于提高效率和设计质量,避免设计和预期的效果出现过大的出入,造成时间和成本的浪费。仿真系统以Matlab为开发平台,因为Matlab具有强大的数学计算功能以及图像处理库,可以提供方便的函数调用,缩短仿真系统开发的时间。

根据上述得到的图像和实际空间矢量的映射关系来进行成像图形的仿真。首先需要获取进行镜面映像的环境,文中用于仿真的环境是足球机器人的比赛场地(包括场地上的白线,球门,门柱等)以及比赛用球。场地上的物体信息都是简单的规则性几何体,确定了全局坐标系之后,即可以得到各个物体的空间表达式,即它们的数学模型。假设以场地中央为全局坐标原点,根据右手法则,长度方向为x轴(指向黄球门),宽度方向为y轴,z轴垂直地面向上,则主要物体的数学模型如下(计算单位为mm):

球: (其中r=110)

黄球门: 蓝球门

设机器人在场地中的位置为(dx,dy,θ)T,dx,dy为平面坐标位置,θ是机器人朝向角。物体数学模型(x,y,θ)T与以机器人视觉系统为原点的局部坐标下的表达式(x’,y’,z’)T存在以下关系:

xa0

因为镜面为旋转对称镜面,为简化模拟成像的计算量,取θ=0。于是变换矩阵简化为:

xa0

根据之前计算所得的像素与空间矢量(物体模型上的点必通过某一空间矢量)的关系式即可得到所设计的虚拟环境的成像效果图。之后根据成像效果图修改参数,并通过成像仿真快速达到所需要的效果,可得到最终的镜面加工参数。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
系统重装失败是什么原因?