双目数字图像实时预畸变校正技术研究

2018-05-18 00:55廖书红张海军王浩然张纪旭郭晓光
电光与控制 2018年5期
关键词:双路双目畸变

廖书红, 武 静, 张海军, 王浩然, 张纪旭, 郭晓光

(中国航空工业集团公司洛阳电光设备研究所,河南 洛阳 471000)

0 引言

近年来,随着现代空战技术的发展,头盔显示器因更适合于飞行作战使用,成为座舱显示控制技术研发的热点。新型双目数字式头盔显示器具有更广阔的视场范围、更高的显示分辨率,更加适用于作战,已成为航空座舱显示技术发展的主流趋势。双目数字式头盔显示器光学系统的物镜离轴角更大,导致显示画面存在着较单目头盔显示器更为严重的畸变,畸变使显示图像的大小和形状发生变化,降低显示质量和精度[1],必须对这种畸变进行校正,以不影响飞行作战使用。

解决上述畸变需要采用电路对图像实时处理校正,即对进入光学系统的图像进行与光学系统作用互逆的预畸变处理,产生预畸变图像,预畸变图像在光学系统畸变的作用下,使得最终显示的图像与原始图像一致,上述畸变校正过程又称为预畸变过程。

目前,国内外对类似畸变校正系统的研究主要集中于单路图像预畸变校正系统,文献[2-4]提出了基于多项式拟合和双线性插值的方法,实现了大视场光学系统的预畸变校正计算;文献[5]实现了对广角镜头的数字图像畸变校正处理,但校正能力有限。

双目数字图像实时预畸变校正系统要实时处理双路视频的预畸变过程,其计算量是单路视频畸变校正过程的两倍,且由于双目头盔显示器的光学系统结构复杂,其畸变较传统的单一像源光学系统更大,采用文献[2-4]中的多项式拟合方法进行位置校正时,拟合误差增大,由于数字像源像素位置的离散性,显示图形时,边缘锯齿感较强,影响双目数字头盔显示器的显示画面质量。

现有畸变校正实现[6]并不能完全满足双目头盔显示器的实时畸变校正需求,本文采用基于多项式拟合的位置校正和双线性插值的灰度校正方法,针对双路数字视频实时预畸变过程计算量大的特点,设计一种应用于双目数字式头盔显示器的畸变校正电路系统架构,采用双目空间索引坐标逐像素交叉存储、DDR3优化存储方案,在不增加电路复杂度情况下,完成双路视频信号的采集、缓冲、双目预畸变处理和图像的实时输出。同时,针对显示图像边缘锯齿感严重,影响视觉感受,设计了适应性平滑滤波算法进行改进,减轻图像边缘锯齿,改善画面品质。

1 畸变校正原理

预畸变校正的原理如图1所示。

图1 畸变校正示意图Fig.1 Schematic diagram of distortion correction

畸变校正系统的核心是预畸变图像的求解,对于图1所示系统,记原始图像为A=A(x,y),预畸变图像为B=B(u,v),不考虑光学系统的放大作用,预期显示的图像与原始图像同为A(x,y)。记经过畸变校正系统的图像映射关系为F,头盔显示器光学系统的图像映射关系为G,则有

A(x,y)=G[F[A(x,y)]]

(1)

即映射F和G满足F=G-1。畸变校正系统的任务是求解映射关系F。

尽管可以通过G求解F,但由于实际设计的光学系统畸变很难通过理论来准确推导,往往直接通过光学系统的仿真数据去近似拟合映射关系F。由于光路的可逆性,通常采用逆向设计方法,通过CODE V等光学仿真软件追迹不同视场在出瞳中心的主光线,经过光学系统后在像源处对应的像素位置,从而获取预畸变图像和待显示图像的像素位置映射关系,忽略仿真软件的误差,将仿真获得的像素位置映射关系作为实际的像素位置映射关系。

1.1 预畸变图像的求解

可以通过上述逆向设计的方法获取一系列预畸变图像和原始图像控制点的位置映射关系,记原始图像(xi,yi)处的点对应预畸变图像(ui,vi)处,则可以通过高阶多项式来拟合预畸变图像和原始图像的像素位置映射关系,表示为

(2)

将控制点代入上述高阶多项式中,当控制点足够多时,可以采用最小二乘法求解出多项式系数apq和bpq,获取预畸变图像和原始图像像素点位置关系映射的拟合。

对于预畸变图像位置(u,v),均可以通过上述映射关系求解出对应的原始图像位置(x,y),由于数字像源的像素点位置是离散的,通过式(2)求解出来的(x,y)不一定准确落在像素点上,需要通过双线性插值算法来重建(u,v)的灰度值。

灰度值的双线性插值重建过程如图2所示。

图2 畸变图像数学映射Fig.2 The mathematical mapping of distortion image

记求解出的像素位置(x,y)向下取整对应的像素位置坐标为(Tx,Ty),双线性插值后的灰度值可以表示为

B(u,v)=(1-dx)(1-dy)A(Tx,Ty)+
dxdyA(Tx+1,Ty+1)+dx(1-dy)A(Tx+1,Ty)+
(1-dx)dyA(Tx,Ty+1)

(3)

式中:x=Tx+dx;y=Ty+dy。

1.2 适应性平滑滤波

引入畸变校正系统后,头盔显示器经过光学系统后显示的画面近似与原始画面相同,但在显示图形时,边缘部分锯齿较严重,这个问题的来源有两个原因,首先,在采用高次多项式拟合预畸变图像和原始图像之间的映射关系时,存在拟合误差,对于控制点,拟合误差可以表示为

(4)

光学系统畸变越严重,在采用的多项式阶次N不变的情况下,拟合误差越大。以某光学系统为例,对其进行5阶多项式拟合误差分析,如图3所示。

图3 某光学系统5阶多项式拟合误差Fig.3 The 5-order polynomial fitting error of an optical system

上述拟合误差带来的是对应的理想像素位置不准确,导致计算出的灰度值出现偏差。其次,由于数字像源的像素位置是离散的点,对于映射位置不在像素点时,是采用周围像素的灰度去近似表示的,没有考虑到该点所在的图形方向性,也抓不住图形边缘和纹理变化信息。

采用线性平滑滤波加适应性灰度校正的适应性平滑滤波技术可以消除边缘锯齿现象,提高显示画面的质量,增加观察舒适性。其基本方法是首先对图像进行3×3的线性平滑滤波操作,操作模板为

(5)

采用上述均值滤波后,显示的图形边缘将会变得模糊,原有亮度较高的边缘像素点亮度变低,亮度低的边缘像素点亮度变高,可以通过灰度校正函数增强图形边缘对比度,即

Bnew(u,v)=H[B(u,v)] 。

(6)

2 双目数字图像畸变校正系统实现

面对机载显示系统对高实时性、集成化、小体积、及低功耗等多个方面的要求[7-9],对双目图像的同步处理以及降低图像处理的资源消耗是系统实现的首要问题[10]。本文通过双目空间坐标索引设计和DDR3存储优化技术,实现双目数字式头盔显示器的双路显示图像的同步畸变校正,通过优化视频图像缓存模块,保证了系统实现的实时性,对采用传统畸变校正方法产生的预畸变图像,用适应性平滑滤波技术进一步改善图像显示质量。

2.1 系统架构设计

系统采用FPGA主控芯片[11],高速数据存储器(DDR3)和空间坐标索引存储器(Flash)的硬件设计架构,主要包含视频接收模块、数据缓存模块、图像处理模块及图像输出模块,系统架构如图4所示。

图4 畸变校正系统框图Fig.4 Distortion correction system

系统工作原理如下:首先,软件拟合计算出的校正参数被转换为便于在电路中存储的空间坐标索引。当FPGA上电后,从Flash中读取空间坐标索引信息,加载到DDR3存储器中;通过图像接收模块缓存的图像灰度信息,配合从DDR3存储器中读出的校正参数,通过FPGA内部的硬件乘法器完成双线性插值,得到预畸变后该点的图像灰度值,写入预畸变图像上对应的存储位置就完成了图像预畸变,通过调整时序和输出缓存将图像控制以及数据信息发送出去,由图像发送模块传递给外部显示设备。

2.2 双目空间坐标索引交叉存储设计

灰度双线性插值算法所需的插值参数以64位空间坐标索引的形式存储,设计的空间索引坐标结构如表1所示。

表1 空间坐标索引结构

结合单路视频输入双路输出的图像应用场景,且人眼看到的双路图像必须同步叠加的特点,为避免两路视频处理存在时延的问题,本文采用逐像素交叉存储方法,同时在DDR3存储设计中,选用128 bit数据位的用户接口,一次存取两路空间索引坐标数据,用于双路图像的并行处理,如图5所示。

图5 DDR3优化存储技术Fig.5 DDR3 storage optimization

2.3 图像缓存优化

现有的单路预畸变校正模块硬件实现的输入缓存机制是在FPGA内部例化成4个等容量的Block RAM,以奇行偶行两两分开存储相同的灰度值[11],在一定程度上造成了资源浪费。本文采用4个Block RAM分别缓存偶行偶列、偶行奇列、奇行偶列、奇行奇列的像素灰度值,如图6所示。

图6 优化存储技术实现Fig.6 Implementation of optimized storage

在实现双线性插值时,对于插值点坐标(Tx,Ty)周围4个点的灰度值分别记为

(7)

表2 像素点与地址映射关系

实现双线性插值时,为了同时得到周围4个像素的灰度值,采用这种方式可以实现4个插值点坐标同步读取,进一步通过DSP48E硬件乘法器实现双线性插值,通过行列插值[3]分离,只需要3个DSP48E即可实现双线性插值操作,如图7所示。

图7 双线性插值实现Fig.7 The implementation of bilinear interpolation

2.4 适应性平滑滤波技术

根据头盔显示系统的特点,在适应性平滑滤波中选取的滤波模板和灰度校正函数分别为

(8)

(9)

每个位置像素点滤波后的灰度值的计算涉及到周围相邻3行4个像素点和自身的灰度值,通过使用2个行缓存FIFO,保证FIFO输出始终是需要的像素点的灰度值,由于选用特殊的滤波系数,可以仅通过移位操作和加法运算完成平滑滤波,进一步将滤波结果通过移位和加法运算实现适应性灰度校正。硬件实现如图8所示。

3 实验结果分析

3.1 性能指标对比分析

以1400×1050@60 Hz分辨率的图像为例,在ISE12.4开发环境下,选用Xilinx V5系列FPGA,利用传统畸变校正方法实现双目畸变校正功能与本文双目数字图像实时预畸变校正技术进行对比,分别从系统的功耗、FPGA存储资源利用率、系统实时性、精度误差等方面进行分析,实验数据见表3,其中,W为功耗,Block RAM表示资源消耗,Delay表示实时性,e-3为精度误差。传统畸变校正方法是将文献[2,4]中的方法进行了逻辑复制实现。

表3 性能指标对比

在实验中利用Xpower工具对FGPA功耗进行评估,由表3可以看出,双目预畸变校正方法的功耗低于传统预畸变校正方法的实现方式,与传统畸变校正方法实现双目功能相比,功耗明显降低,在高温环境下效果更加明显。

采用了图像缓存优化技术后,与传统预畸变校正方法相比,本文实现的双目畸变校正方法可节约50%的Block RAM资源。

本畸变校正系统保证了从接收到输入图像源第一个像素开始,至预畸变图像第一个像素输出的时延仅为2.5 ms。以60 Hz分辨率图像为例,每帧画面输出约13.33 ms,目前的处理时延完全满足设计需求。后级引入适应性平滑滤波技术并未给系统带来较大延时,仅为0.1 ms,几乎可以忽略。

对畸变校正系统查找表的误差分析采用文献[3]中的均方根误差作为评价指标,通过选用精度更高的9阶多项式,与传统畸变校正系统的低阶多项式相比,本文实现的系统误差降低至原来的1/3。预畸变画面通过光学系统后,由平行光管和经纬仪测定,采用本文双目数字式畸变校正系统,能满足头盔显示系统的精度要求。

3.2 图像显示效果

采用黑底白字画面,涵盖线段、矩形框、圆形、数字及汉字作为源输入图像。针对两路不同的空间索引坐标,分别利用传统预畸变校正处理方法、本文无适应性平滑滤波方法以及含适应性平滑滤波方法进行实现分析,图像显示效果见图9。

可以看出,双目数字图像实时预畸变校正技术处理的预畸变图像与传统预畸变技术实现的效果相同,未采用适应性滤波技术的预畸变处理输出图像边缘锯齿现象明显,而经过均值适应滤波技术处理后,图像锯齿现象得到改善,尤其在图像边缘处效果更加明显,图像的清晰度优于未采用滤波的实现。

对于某些系统显示精度要求不高的场合,可以采用不加后级适应性平滑滤波的处理,减少系统的资源消耗;对于显示精度要求高的场合,可以增加后级处理,实时性也能满足。可根据实际工程应用,灵活设置。

图9 实现结果分析Fig.9 Implementation result analysis

4 结束语

本文提出了一种双目数字图像实时预畸变校正系统实现架构,适用于双目数字式头盔显示器,实现系统优化设计及适应性平滑滤波技术,该架构适合高分辨率、高实时性的图像畸变校正双路应用。相比于传统架构,双路图像预畸变校正装置的体积仅为传统方法实现双目畸变校正功能所需体积的1/2,功耗降低了近1/3,实时性也满足要求。实验结果表明,该硬件系统图像显示效果优异,满足高分辨率、高实时性、低延迟的应用需求。

参 考 文 献

[1] SWAMINATHAN R,NAYAR S K.Nonmetric calibration of wide-angle lenses and polycameras[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2000,22(10): 1172-1178.

[2] 郑永瑞,李洁,刘晓宏,等.基于FPGA的视频图像实时几何畸变校正[J].电光与控制,2013,20(6):75-78.

[3] 郑春,周拥军,温永强.大视场光学显示设备图像畸变校正算法[J].电光与控制,2011,18(5):23-27.

[4] 郑永瑞,林秋华,武静,等.一种位置可调整的实时图像预畸变方法[J].电光与控制,2015,22(8):76-79.

[5] 周游,张剑,周少武,等.一种改进的广角镜头数字图像畸变校正算法[J].计算机技术与自动化,2015,34(3):92-95.

[6] 马广彬,章文毅,陈甫.图像几何畸变精校正研究[J].计算机工程与应用,2007,43(9):45-48.

[7] MITCHELL D P.Generating antialiased images at low sampling densities[C]//Conference on Computer Graphics and Interactive Techniques,1987:65-72.

[8] LIANG D H,ZHANG Z X,CHEN X D,et al.Real-time distortion correction for visual inspection systems based on FPGA[C]//Electronic Imaging and Multimedia Technology V,2007:68332G-1-68332G-8.

[9] HERNANDEZ A,GARDEL A,PEREZ L,et al.Real-time image distortion correction using FPGA-based system[C]//The 32nd Annual Conference on IEEE Industrial Electronics,2006,32(9):41-43.

[10] 宋光明,杨小冈,曹菲.卫星影像仿射畸变的自动校正方法[J].计算机工程,2006,32(9):41-43.

[11] ZHENG H,LI J.Real-time correction of distortion image based on FPGA[C]//International Conference on Intelligent Computing and Integrated System,2010:167-170.

猜你喜欢
双路双目畸变
基于双目测距的卡尔曼滤波船舶轨迹跟踪
一种双路隔离输出反激变换器的设计
调度集中系统局间数据的双路冗余传输方案
在Lightroom中校正镜头与透视畸变
基于双目视觉图像的长度测量方法
一种单电感双路输出LED驱动电路分析
辐射诱导染色体畸变的快速FISH方法的建立
《癌变·畸变·突变》2014年第26卷索引
《癌变·畸变·突变》第六届编委会第2次会议纪要
一种双目立体视觉相机标定方法