飞行模拟器多通道视景校正融合方法研究
2022-03-01周晓光赵仁厚
周晓光,赵仁厚,吕 游,王 晶
(海军航空大学教练机模拟训练中心,辽宁 葫芦岛 125001)
1 前言
目前飞行模拟器显示系统多采用柱幕和球幕显示方式,通过多通道视景融合成大视场角显示,可为飞行员提供较为逼真的视景仿真环境,增强了飞行员飞行模拟训练的沉浸感。飞行模拟器多通道视景融合主要是解决两个问题:一是几何校正问题,解决图像非线性失真问题,使投影机所投图像与柱幕或者球幕相匹配;二是边缘融合问题,解决视景通道间边缘拼接问题,使多通道视景投影重叠区域过渡平滑,实现无缝链接。
目前飞行模拟器多通道视景校正融合方式主要由两种:一种是购置较为昂贵的多通道视景边缘融合机,以融合卡的方式实现图像的校正融合处理,通过视景融合机输出满足需要的视景图像,即所谓的硬融合。硬融合优点是融合效果好,实时性高,但是价格昂贵。另一种方式是应用视景融合软件,在视景生成系统上应用软件获取视景图像并进行校正融合处理,在视景生成计算机上直接输出满足需要的视景显示图像,即所谓的软融合。软融合的优点是简单方便,但缺点是会影响图像的刷新率。在柱幕投影几何校正[1-5]、颜色校正[6]、图像边缘融合[7-10]方面,国内外相关学者作了大量研究,但是在飞行模拟器多通道视景校正融合方面研究较少。飞行模拟器多通道视景校正融合具有自己的特殊性:一是设备空间限制了基于复杂设备的自动几何校正方式的应用。飞行模拟器设备空间较小,显示幕安装于密封房体内,且投影幕面积较大,因此基于相机-投影机结合等自动校正方式不适用,提升了几何校正较为复杂性;二是视景生成显示的实时性要求降低融合算法复杂性。目前模拟器视景生成显示刷新频率要求一般不小于60帧,视景生成软件和视景融合软件均运行在视景生成计算机上,视景融合软件要获取每一帧的图像数据并进行融合处理,如果视景融合软件过于复杂,将严重影响视景生成计算机的刷新率,甚至出现卡顿的现状。
针对某型舰载机飞行模拟器多通道视景系统研发需要,本文提出了一种基于网格的非线性几何校正方法和基于融合函数的图像融合方法,方法简单,融合效果好,满足飞行模拟器视景实时性要求,适用于飞行模拟器多通道视景校正融合需要。
2 飞行模拟器多通道视景校正融合方法总体设计
2.1 飞行模拟器视景系统
典型实像飞行模拟器视景系统如图1所示,由图形计算机、投影仪、显示幕组成。图形计算机上装配有视景生成软件和数据库,视景生成软件接受控制端飞行数据,调用视景数据库生成实时视景图像,输出到投影机和显示器。
图1 飞行模拟器视景系统
2.2 飞行模拟器多通道视景校正融合总体思路
根据飞行模拟器视景系统生成显示原理,飞行模拟器多通道视景校正融合总体思路将显示器和投影机设置成扩展显示方式,通过WINDOWS图形设备接口模块获取视景生成软件输出的实时图像,然后对图像进行几何校正和边缘融合处理,然后再由投影机输出图像。显示器所显示图像是非变形的正常视景图像,而投影机输出视景图像是经过几何校正和边缘融合处理的图像。
3 飞行模拟器多视景通道几何校正
为实现对飞行模拟器多通道视景几何校正,本文提出了一种基于网格校正方法。首先对图像进行柱面投影处理,投影图像经变化后如图2所示。然后在此基础上,通过不断增加网格控制点对投影图像进行细化调整,如图3所示,设置控制点数量为45个。在飞行模拟器实像投影柱面或者球面由于不平滑,常存在局部凹凸区域,在局部区域显示区域会存在扭曲现象,因此要进行局部图像的校正投影。
图2 柱面投影图像
图3 网格控制图像
3.1 柱面投影
常见的投影方法主要有等距投影(equirectangular)方法、圆柱投影(cylindrical)方法、直线投影(plane)等。本文采用柱面投影方法进行变换。对于图像上的一点P(x,y),在柱面图像上的对应点P(x′,y′),其投影变换公式为[11]
(1)
3.2 网格点差值计算
在每次调整网格控制点过程中,需要重新计算图像网格点位置。采用三次插值方法计算网格点位置信息,假设p0,p1,p2,p3分别是点x0,x1,x2,x3的函数值,那么位于x1,x2之间的x的函数值的插值公式如下[12]:
(2)
4 飞行模拟器多视景通道边缘融合
4.1 边缘融合的基本原理
为实现两个视景通道融合区域是两个道视景的叠加区,亮度加倍,产生白色带。融合的方法是一个通道的视景融合区域图像进行淡出处理,另一个通道视景融合区域图像进行淡入处理,使得两个通道叠加区图像显示与单通道显示效果一致。
假设x为像素列在视景通道融合区域的位置,g(x)为图像融合区域像素值,满足式(3)条件的f(x)称为融合函数:
f(x)g(x)+(1-f(x))g(x)=g(x)
(3)
式(3)描述了对一个通道的视景融合区域图像像素乘以融合函数f(x),即进行淡出处理,对另一个通道视景融合区域图像像素乘以1-f(x),即进行淡入处理,再将两幅图像对应的像素值进行相加,最终得到输入图像的完整信息。
4.2 边缘融合函数
常用的边缘融合函数如式4所示[13]
(4)
式中,x为像素列在融合区的相对位置;p为影响因子。边缘融合函数曲线如图4所示。
图4 边缘融合函数
4.3 亮度校正
视景通道融合区域图像进行融合处理后,融合区域呈现灰色的条带。主要原因是融合处理只是改变了融合区的图像像素值,没有对图像亮度进行校正。为增加融合区图像亮度,需要构建一个将融合区像素点影射为亮度值的函数,称为Gamma函数。像素点亮度值与像素值值的对应关系如式4所示。
Y(r,g,b)=(R,G,B)G
其中Y(r,g,b)为亮度值,(R,G,B)为像素值,G为Gamma函数。在实际校正过程中,G的取值一般在1.8~2.2之间。
5 仿真分析
5.1 关键技术实现
1)基于WINDOW GDI的屏幕截图
由于图像生成软件比较多,主流的主要是VP,MATTIS等,以及国内自主研发的视景生成软件。为确保融合软件使用方便简洁,采用WINDOW GDI对计算机进行拷屏获取图像的方式,避免了将软件叠加到各种视景软件中的繁琐操作。实现WINDOWS拷屏功能,最主要的GDI函数是GetDIBits,其功能是捡取制定位图的信息,并将其以制定格式复制到一个缓冲区,参数意义如下:
GetDIBits(
hdcScreen,∥设备环境句柄
hbmScreen,∥位图句柄
0,∥制定检索的第一个扫描线
(UNIT)bmpScreen.bmHeight,∥ 制定检索的扫描线数
lpbitmap,∥ 制定用来检索位图数据的缓冲区的指针
(BITMAPINFO*)&bi,∥该结构体保存位图的数据格式
DIB_RGB_COLORS∥颜色表由红、绿、蓝三个直接值构成
);
2)基于GLSL的图像融合处理
GLSL(OpenGL Shading Language),是一种以C 语言为基础的高阶着色语言,它是由OpenGL ARB所建立,提供开发者对绘制管线更多的直接控制,而无需使用汇编语言或硬件规格语言。GLSL编成的最大优势是将复杂数据处理交给GPU来做,充分利用专门的图形硬件所提供的硬件加速来实现,减轻CPU负担,提高计算机渲染性能和实时性。
OpenGL程序中使用着色器的初始化一般需要依次执行以下步骤:
1)点着色器程序的源代码和片段着色程序源代码分别写入一个文件中,一般顶点着色器代码文件后缀为.vert,片段着色器源代码文件后缀为.frag;
2)使用glCreateshader()分别创建一个顶点着色器和一个片源着色器;
3)使用glShaderSource()分别将顶点/片段着色程序的源代码字符数组绑定到顶点/片源着色器对象上;
4)使用glComplieShader()分别编译顶点着色器和片源着色器对象;
5)使用glCreaterProgram()创建一个着色器程序对象;
6)使用glAttachShader()将顶点和片段照射创建一个着色程序对象;
7)使用glLinkProgram()分别将顶点和片段着色器和着色程序执行链接生成一个可执行程序;
8)使用glUseProgram()将OpenGL渲染管道切换到着色器模式,并将当前的着色器进行渲染。
5.2 仿真结果分析
视景生成软件使用MANTIS,利用通用图像生成接口协议对视景进行输入控制。
1)网络插值点控制
融合软件网络插值点控制如图5所示,根据需要可以调解横向和纵向网格点数量,便于进行几何校正。在初始调整的条件下,可以使用4个边缘网格控制点,对融合图像的投影位置进行初始固定,然后根据需要逐步增加网络点数量。
图5 融合软件网络插值点
2)边缘融合带调整
调整融合函数参数可以对融合带的宽度和淡入淡出效果进行调整,仿真效果如图6所示。图中左侧融合带宽度参数为0.9,右侧融合带宽度参数为0.6,根据需要科技对图像4个方向进行融合带大小以及淡入淡出效果调整。
图6 边缘融合仿真
3)刷新率
表1给出了不同分辨率条件下视景融合软件的刷新率,融合软件设定的刷新率为60帧,当刷新率大于1400*1050时,融合刷新率会降低。一般在应用MANTIS视景驱动软件进行仿真时,图像分辨率会设定为1400*1050,因此融合软件满足工程应用需求。
表1 融合刷新率
应用本融合软件,开发的飞行模拟器视景系统如图7所示,从图中可以看出,几何校正能力较好,输出图像与环形幕布切合;融合带融合效果较好,没有明显裂缝或良带;刷新率满足训练需要,达到了飞行模拟器视景系统应用需求。
图7 融合效果图
6 结论
针对飞行模拟器多通道视景校正融合处理需要,本文提出了基于网格的多通道视景投影图像校正方法,并基于边缘融合函数实现了图像边缘融合处理,采用GLSL着色语言设计了飞行模拟器多通道视景校正融合软件,仿真结果显示,所提出的飞行模拟器多通道视景校正融合方法具有操作简单,融合效果好,实时性高等特点,满足飞行模拟器多通道视景投影校正融合需要。