>
首页 » 技术文章 » 船载实时图像消旋系统设计

船载实时图像消旋系统设计

作者:■ 西安电子科技大学电路CAD研究所 叶凌云 李玉山 王崇剑  时间:2007-10-09 01:28  来源:电子设计应用

摘 要:为了消除图像旋转对准确进行目标的自动识别和跟踪带来的影响,本文提出了一种基于DSP和FPGA的机械加电子的消旋方法。该方法利用船载机械装置测量出旋转角度,利用旋转算法将原图像反向旋转相应的角度,再进行重采样和填充,从而得到消旋后的图像。

关键词:图像旋转;电视信号;DSP;FPGA

在船载摄像系统中,由于船体在海上航行时受到海浪、海风等外力的干扰,使得摄像平台框架在跟踪过程中不可避免地产生人们所不希望的旋转,给观察带来不便。因此,针对船载摄像系统采集的图像进行实时消旋稳像是十分必要的。目前消旋的方法主要有三种:电子消旋、光学消旋、物理消旋。本文主要讨论机械加电子的消旋方法。利用舰船上的机械装置,通过一定的算法推导出图像的旋转角度,然后将该角度传递给本文将讨论的电子消旋模块,从而实现图像的实时消旋。
  
图像消旋算法设计及优化

对图像进行消旋,实际上是根据陀螺平台送来的旋转角度,将该图像按照同样的角度进行反旋转,从而达到消除图像旋转影响的目的。因此,图像消旋算法的本质是图像的旋转计算,即由原图像旋转一个角度得到目标图像。假定给定的数字图像为f (x, y),让其绕点(一般为图像的中心点(x0,y0) )旋转q角度后得到图像为f (x′,y′),那么(x, y)和(x′,y′)之间应该存在如式(1)所示的方程组关系:
 (1)

考虑到cosq和sinq都是小于1 的浮点数,坐标值却是整数,对计算结果取整后会造成若干个(x,y)坐标点旋转变换到同一个(x′,y′)坐标点,同时在图像f (x,y)中,有些坐标点(x′,y′)在f (x, y)中没有对应点(x, y),得到的旋转图像存在所谓的“空洞”。为避免出现空像素,一般都采用反向旋转算法。先给定旋转后图像f (x′,y′)中的坐标点(x′,y′),求其在原图像f (x, y)中的对应点坐标(x, y)。如式(2)所示:
 (2)

为了求得每个目标像素的值,必须依照反变换公式去找其在原像素点对应的像素值。但是,使用反向像素运算还带来一个问题,即由于不是一对一的像素映射关系,计算出来的原像素点往往不是整数,而是处于相邻的4 个原像素点之间的小数。通常采用重采样方法来解决计算中出现的小数坐标像素的像素值。重采样的像素灰度是根据它周围原像素的灰度,按照一定的权函数内插得出的。

根据图像重建理论,一般采用三种常用的重采样方法:最近邻插值(Nearest)、双线性插值
(Bilinear) 和三次卷积插值法(Bicubic)。将这三种插值方法分别用VC++编程进行仿真,发现最近邻插值效果较差,边缘出现毛刺现象;双线性插值和三次卷积法效果都较好,但是三次卷积法算法复杂,计算时间较长。因此,出于精度和速度的折衷考虑,双线性插值方法在这里是最佳的。这种插值法精度较高,算法相对比较简单,所得的结果比较令人满意,没有灰度不连续的缺点。
该插值方法根据抽样点周围4个点的灰度级在两个方向上进行内插。如图1所示,(x, y)、f (x, y)为校正后的坐标及其灰度值,f (0, 0)、f (1, 0)、f (0, 1)、f (1, 1)分别为其周围四点像素的灰度值,可求得的双线性内插公式如式(3)所示。

……     
                                          (3)
假设稳像后某点坐标为f (x′,y′),在原图像中为f (x1, y1),则和f (x′,y′)同一行的下一个像素点坐标为f (x′+1,y′),f (x′+1,y′)在原图像中为f (x2, y2),而f (x′,y′)同一列的下一个像素点坐标f (x′,y′+1),f (x′,y′+1)在原图像中为f (x3, y3),则根据上面公式(2)可推得如下关系式:
                (4)

算法经过以上优化以后,只要计算稳像后的图像第一行第一列像素点在原图像的对应坐标点,其余的像素点坐标可由公式(4)可得,而公式(4)只有加减运算,没有乘法运算,大大提高了算法的运算效率,也使FPGA编程变得容易,节省了大量硬件资源。
 
系统的硬件结构

图2所示为该实时电子消旋系统的硬件结构框图,主要由视频输入输出(都是标准的PAL-D视频格式)、A/D转换电路、FPGA、D/A转换电路、SRAM组、串口通信、DSP、电源管理模块、FLASH、SDRAM等组成。

该系统采用型号为TMS320C6713B的DSP芯片与型号为EP20K600EBI652-2X的FPGA芯片,二者相互配合工作来完成图像的实时消旋。DSP主要负责如下工作:控制串口芯片和PC机实现通信,读取由陀螺稳定平台测得的图像旋转角度,计算角度对应的正/余弦值,并由数据总线实时传给FPGA处理;通过I2C总线初始化ADV7180解码器和ADV7174编码器。FPGA主要完成整个系统的逻辑控制,以及实现实时的图像消旋、插值和填充等实时性要求高的图像处理算法。

在系统上电后,DSP从FLASH读入程序数据,FPGA通过其配置芯片EPC16加载固件代码。当DSP准备就绪后,DSP通过I2C总线对A/D芯片ADV7180、D/A芯片ADV7174,以及对串口芯片TL16C550进行初始化配置。配置完成后,一方面,DSP通过异步串口芯片TL16C550、电平转变芯片ADM3202与PC机RS-232C串行接口进行通信,PC机将图像的旋转角度值和图像中心点坐标传给DSP,DSP通过查表的方式计算
出旋转角度的正弦值和余弦值,然后DSP将该正弦值和余弦值以及图像中心点坐标传给FPGA。另一方面,ADV7180开始对输入的PAL-D模拟视频信号进行A/D转换,转换后的数字图像通过FPGA的逻辑控制进入两个SRAM帧缓存器中的一个(一个SRAM帧缓存器包括两片SRAM,分别用于存放奇、偶场的数据),同时FPGA读取另一个帧缓存器中的数据进行处理,处理完后输出到后端的ADV7174编码器电路模块,编码后送电视显示。其中的两个SRAM帧缓存器在FPGA控制下实现“乒乓”操作,这样,在存储前端来数据的同时,FPGA可以处理上一帧的数据,整个系统的性能也就得以提高,这在需要大数据量运算的图像处理中是很实用的一种方法。本系统FPGA外接5个SRAM,第五片SRAM作为备用,为后续的功能扩展提供方便。

实验结果与结论

图3 为输入的PAL-D制式的原图像,该图像带有16.6南裥牵煌?是经过消旋处理但未经填充的输出图像;图5为经过消旋处理并填充后的输出图像。对于船载摄像系统,由于主要的背景即为海水和天空,这种周期性填充的方法能实现海水和天空的模拟,肉眼不易觉察,满足人们的视觉要求。
实验结果表明,该系统能够成功地对720×576×16bit 的图像进行实时消旋处理,其消旋角的分辨率最小可达到3′,最大像素误差小于一个像素,并且具有速度快、体积小、成本低、可靠性高的特点。另外,本文所设计的系统具有相当好的灵活性,可以利用备用的SRAM将A/D转换后的图像导入DSP,通过一定的算法提取要消旋的角度再传给FPGA,从而实现纯电子消旋。该系统为后续纯电子消旋的研究提供了一个很好的平台,同时也可以作为其它视频图像处理算法的验证平台。■

参考文献
1 .Michael UNSER,Philippe THEVENAZ,Leonid YAROSLAVSKY. Convolution-based interpolation for fast, high-quality rotation of images[J]. IEEE Transactions on Image Processing,1995,4(10):1371-1381
2 .Texas Instrument. TMS320C6713B Floating-Point Digital Signal Processor, Oct 2005
3 .徐志军,徐光辉. CPLD/FPGA 的开发与应用[M]. 北京:电子工业出版社,2002.
4 .李方慧,王飞等. TMS320C6000 系列DSPs原理与应用. 北京:电子工业出版社. 2003
5 .Texas Instrument. TMS320C6000 Programmer’s Guide, Feb 2001

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

从FPGA的制程竞赛看英特尔与Fabless的后续变化

FPGA  Fabless  2013-07-16

物联网融合自动化推动高效生产模式变革

物联网  FPGA  SoC  2013-07-09

14纳米FPGA展现突破性优势

14纳米  FPGA  2013-06-20

高清视频监控FPGA应用迎来小高峰

视频监控  FPGA  2013-06-20
在线研讨会
焦点