实时图像系统

2024-10-05

实时图像系统(精选10篇)

实时图像系统 篇1

0 引言

接触式图像传感器(CIS)是上世纪90年代初研究和开发的一种新型光电耦合器件。它具有体积小、重量轻、功耗低、结构紧凑、便于安装等优点,广泛应用于传真机、扫描仪及新型点验钞机等领域。SOPC (System on Programming Chip),即可编程片上系统,它集成了硬核或软核 CPU、锁相环、存储器、可配置I/O接口及可编程逻辑单元,由单个芯片完成整个系统的主要逻辑功能,具有灵活的设计方式,可裁减、扩充、升级,并具备软硬件在系统可编程的功能。本文设计的实时图像采集系统,采用三通道高速 CIS传感器,结合SOPC技术,使系统集成度更高,开发周期更短,具有较好的实时性。

1 系统概述

根据基于CIS图像采集系统的要求,及PCB制作的考虑,选用Xilinx公司Spartan-3E系列的FPGA完成整个图像采集过程。在FPGA输出的CIS驱动和控制信号、A/D驱动信号共同作用下,CIS输出的三通道模拟信号经三通道A/D转换为数字信号后,进人FPGA控制器,通过多端口总线控制器(MPMC)存入对应地址的DRAM中。在FPGA控制器上主要完成图像的存储、CIS驱动和控制、A/D驱动和配置及对外部信号的响应。Frame_Trig和Line_Trig为外部输入的同步触发信号。系统框图如图1所示。

2 图像采集系统

图像采集是整套系统的基础,它的稳定性直接影响着系统的整体性能。接触式图像传感器(CIS)是一种自带光源的线性传感器,扫描一次仅能得到一行图像信息,因此,图像采集时必须配合横向(垂直于CIS方向)的运动,才能得到一幅完整的二维图像。为保证图像横向分辨率的稳定性,系统采用电机配合光电编码器的方案,精确控制平台的运动速度与CIS行触发信号之间的关系。通常情况下,为保证图像不失真,图像的横向分辨率与纵向分辨率需保持相同。

2.1 运动平台

运动平台由电机、光电编码器和传送机构、分离机构和接收机构等组成。其中光电编码器由光电开关传感器和光栅盘组成,光栅盘与电机同轴运动。电机启动后,传送带以一定速度运行,被检测对象通过分离机构,均匀的分布在传送带上,此时,编码器产生的脉冲信号送给FPGA,作为CIS的行同步信号,触发CIS采集一帧图像。CIS安装位置的前端装有两个红外对管。当被检测对象经过红外对管时,两个红外对管将产生的脉冲的边沿信号将送给FPGA,作为整幅图像的启动、停止控制信号。图像采集系统机械结构示意如图2所示。

2.2 接触式图像传感器

系统所用的三通道CIS图像传感器,其最高工作频率为8Mhz,有效扫描宽度为183mm,有效像素为1440个,物理分辨率最高可达200 DPI,并可单独控制自带光源的曝光时间。CIS信号时序如图3所示。

SI信号为行扫描的启动信号,三通道输出模拟信号SIG1、SIG2、SIG3在SI为高电平后的64时钟周期内输出无效信号,65~495时钟周期内输出信号为有效信号。Tgrn为LED的曝光时间,Tmax为最大曝光时间。

2.3 A/D转换器

A/D芯片选用专用于CIS的三通道高速A/D转换器,16位分辨率,最高采样率可达30MSPS,完全满足系统要求。该芯片工作在三通道SHA模式下,工作时序如图4所示。Analog_Input为三通道CIS的输出模拟信号,CDSCLK2为相关双采样时钟脉冲信号,由FPGA给出。在三通道模式下,ADCCLK为采样时钟输入信号。Output_Data为输出数字信号,连入FPGA数据接口。

2.4 图像存储

MPMC(Multi-Port Memory Controller)全称为多端口内存控制器,是Xilinx公司提供的一种全定制内存控制器,它本身支持SDRAM、DDR 和 DDR2 等多种内存的读写时序,本系统采用的是 SDRAM内存。在系统中,Xilinx公司提供的软核Micro-Blaze是通过 PLB(Processor Local Bus)总线与多端口内存控制器MPMC连接的,有利于在软核上以地址空间的形式直接存取SDRAM 的数据。为保证数据能够实时地传输,对于图像数据的存储和读取,系统采用两个相互独立的可配置NPI 端口分别来存储和读取数据。存储数据用的NPI端口配置成只写模式,而读取数据用的NPI端口配置成只读模式。

2.5 FPGA时序设计

FPGA的时序设计,包括产生CIS驱动信号以及与它相匹配的A/D控制信号。CIS的驱动信号包括SI行扫描启动信号、LEDrgb光源控制信号、CLK工作时钟信号以及CNT分辨率选择信号。相匹配的A/D转换器驱动信号包括CDS参考时钟、CDSCLK1、CDSCLK2和A/D数据采样时钟信号ADCCLK。由于有限状态机的结构模式简单、可靠性强以及容易构成性能良好的同步时序逻辑模块等特点,因此采用有限状态机来实现驱动逻辑设计。

作为整幅图像采集的有限状态机Field_State总共分为Fiedl_Idle、Fiedl_Delay、Fiedl_Valid三种状态。

Field_Idle:Field_State的初始等待状态。当电机未启动或电机启动未有被检测对象通过红外对管传感器时,Field_State处于Field_Idle;此时CIS未启动;当Frame_Trig=1,即被检测对象通过红外对管传感器时,此时Field_State将跳转入Field_Delay。

Field_Delay:Field_State的延时等待状态。此时启动CIS驱动和控制,并以外部码盘信号作为行同步信号触发采图,对行同步脉冲进行计数,当脉冲计数值达到某一固定值,此时Run_Flag=1,Field_State跳转入Fiedl_Valid。

Fiedl_Valid:即Field_State有效采图状态,此状态同时开启CIS驱动和图像储存。当再次检测到红外对管边沿信号时,即Stop_Flag=1时,跳转入Field_ldle,等待下一次红外对管传感器的触发信号。如图5主状态转移图所示。

Line_State为另一有限状态机,用于CIS一帧图像的采集。Line_State总共分为Line_Idle、Line_Delay、Line_Valid三种状态。

当Line_State处于Line_Idle,CIS工作在空闲状态,没有启动采图信号(SI)。当光电编码器的下降沿信号到来时,即Line_Trig=1,Line_State跳转入Line_Delay。Line_Delay为Line_State和Line_Valid状态时,进入Line_Delay状态,该状态是固定时钟脉冲延时,目的是去掉CIS前端的无效像素点;当固定时钟脉冲计数器溢出后,状态跳转入有效行采图状态,即Line_Valid,完成三通道图像数据的采集;当一帧图像的有效像素点完成采集后,状态跳转入Line_Idle,等待下一次行同步信号的触发。如图5中从状态转移图所示。

为了CIS稳定工作及图像信息的准确采集,所编写的各驱动信号必须存在严格的时序关系。在Xilinx开发平台ISE10.1开发环境中,采用Verilog HDL语言进行各种驱动时序及控制信号的设计及编写,仿真结果如图6所示。

3 结束语

本文采用SOPC技术,在单片FPGA芯片上完成了针对接触式图像传感器CIS的实时图像采集任务。系统中图像的采集、判断及存储都通过硬件逻辑实现,充分发挥了FPGA并行处理的能力,很好地完成了系统的强实时性要求。同时,在整个采集过程不需要处理器参与,节省了宝贵的系统运算资源,有利于后续的图像处理。由于仅用了一块FPGA即实现了处理器和各种逻辑的功能,系统集成度较高,进而降低了系统的复杂度,在高速视觉检测领域有着较好的应用价值和前景。

参考文献

[1]夏振春,丁万山.基于CIS与ARM9的条码图像采集系统[J].电子科技,2010,23(3):23-29.

[2]蒋伟林,胡跃明,陈安.基于FPGA的实时图像采集系统[J].计算机测量与控制,2011,19(5):1215-1216.

[3]程开富.接触式图像传感器的发展与应用[J].国外电子元器件,2002,6:62-65.

[4]胡社教,昂鑫,江萍.基于CPLD的CIS驱动电路设计[J].仪器仪表学报,2010,31(8):181-183.

[5]朱均超,刘铁根,王双.一种接触式图像传感器非均匀性实时校正方法[J].光电子,2007,18(9):1036-1038.

[6]冯晓昱,吴云峰,叶玉堂.基于FPGA与接触式图像传感器的宽幅扫描仪[J].中国科技信息,2009,2:110-111.

实时图像系统 篇2

基于FPGA的实时图像处理技术研究

随着多媒体应用已经普及,相应的数字图像处理也得到了广泛的应用.虽然图像处理的`技术有很多种,但是实时图像处理通常需要巨大的数据吞吐量和运算量.因此专用的硬件或者多重处理技术的并行处理很必要.FPGA特有的逻辑结构单元对实现实时图像处理来说有着先天的优势.本文首先给出了FPGA在图像处理中的简单应用,然后详细介绍了国内外目前的研究现状及其中的关键问题.

作 者:唐奋飞  作者单位:湘谭职业技术学院,湖南,湘潭,411102 刊 名:咸宁学院学报 英文刊名:JOURNAL OF XIANNING COLLEGE 年,卷(期): 29(3) 分类号:P393 关键词:多媒体   FPGA技术   图像处理   数字图像  

实时图像系统 篇3

关键词: 图像采集; 图像缓存; LVDS接口; LUPA13002

中图分类号: TN 274文献标识码: Adoi: 10.3969/j.issn.10055630.2013.02.011

引言高帧频相机是研究物体的高速运动或瞬态流逝现象的有效工具,广泛应用于航空、航天以及武器系统等领域,研究高速运动物体的运动规律,在武器试验领域可对舰载、机载导弹发射姿态进行实时记录与跟踪,对其性能进行分析等,为武器系统试验验证提供决策依据。长期以来,中国的高帧频相机主要依赖于进口,尽管进口相机的帧频达到了1 000 fps,可分辨率很低,且使用条件仅限于民用,所采用的技术不对外公开,可借鉴的文献极少。国内目前研究高帧频相机的单位极少,长春光机所在2008年研制的高帧频互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)实时图像采集系统能够满足高速图像数据的采集与处理,且画面清晰,但该系统采用Camera Link接口实现数据的传输,通过PCI图像采集卡将数据采集到计算机上进行处理及显示,系统体积较大,不符合机载相机体积小的要求[1]。本文所研究的高帧频图像采集系统的分辨率为1 024×1 280,采集帧频为500 fps,对实时图像采集和数据处理的要求很高。采用Cypress公司130万像数的LUPA13002型CMOS图像传感器捕获图像信息,以现场可编程门阵列(fieldprogrammable gate array,FPGA)为核心处理单元来完成500 fps的图像数据采集及实时显示,对图像数据的采集,色彩复原,先入先出队列(first in first out,FIFO)缓存,同步动态随机存储器(synchronous dynamic random access memory,SDRAM)存贮及VGA显示进行的研究,可满足机载、舰载和车载环境下高机动性、小型一体化的需求。1图像采集系统的总体方案分析由于要对高速运动物体的瞬态图像进行拍摄,如爆炸瞬间,导弹发射瞬间等,需要较高的分辨率及帧频,为满足需求,所研究的500 fps图像采集与实时显示系统的主要技术参数有:拍摄帧频:500 fps;采集像素数:1 024×1 280;数据位宽:10 bit。由系统的主要技术参数可以计算出高帧频数字图像传感器的图像信息输出速度为781.25 MB/s,并且LUPA13002图像传感器输出格式为Bayer格式,需要转化为RGB格式,格式转化后在FPGA内部的传输速度为2343.75 MB/s[2]。由此可见,系统的数据处理量很大,对FPGA、缓存器件的性能及数据处理算法的要求很高。由于帧频很高,不需要人眼实时观察全过程,仅观察变化规律即可,因此在实时显示环节,采用抽帧显示的方式,可以减小系统的数据处理负担,增加系统的稳定性。光学仪器第35卷

第2期侯宏录,等:500 fps图像采集及实时显示关键技术研究

本文选用Altera公司的Cyclone II系列EP2C35型号的FPGA芯片作为核心处理单元,系统有低压差分信号(lowvoltage differential signaling,LVDS)支持,接收端最高805 Mbit/s数据速率,支持SDRAM、DDR2 SDRAM器件,使系统的硬件结构更为简单。系统的总体框图如图1所示。

系统工作时首先通过键盘启动数字图像传感器LUPA13002,FPGA通过串行外设接口(serial peripheral interface,SPI)总线将默认参数传输到LUPA13002,如曝光时间、像素数、开窗区域等,并对整个系统进行初始化设置。系统启动完成后由LUPA13002捕获高速运动目标的瞬态图像信息,通过高速LVDS接口将Bayer格式的图像传输到图像采集模块,由色彩复原模块对完成图像色彩重建,转化为RGB格式图像。图像抽帧模块每20帧抽取一帧图像,且通过FIFO1缓存存储到SDRAM中,由FIFO2读取SDRAM中暂存的图像信息并传输到VGA接口,最终在LCD上实时显示[3]。2图像采集模块设计图像采集模块对LVDS信号进行串行数据解析,得到同步信息码,还原出正常的图像同步信息。如行有效信号,场有效信号等,最终完成对图像信息的采集。LUPA13002是Cypress 公司推出的针对机器视觉和运动分析的高性能的CMOS图像传感器,它能够提供无失真图像并执行快速读出。LUPA13002在1 024×1 280分辨率下可实现500 fps的图像采集,利用视窗或子采样读取模式可以达到更高的帧速率;采用12路10位ADC的LVDS以DDR方式输出,每通道像素率最大为630 Mbit/s;采用管线化全局同步快门成像,可有效避免拍摄高速运动所产生的影像模糊和图像畸变;通过SPI接口对 CMOS 传感器内部寄存器配置,控制传感器的工作状态,控制方式简单、灵活;输出图像格式为Bayer格式,要在传感器外部完成色彩重建[4]。

2.1LUPA13002工作时序LUPA13002 的工作流程分为如下几步:初始化复位、训练模式、配置片内寄存器、像素光积分、图像信号放大和量化输出。LUPA13002在工作时首先通过RESET_N 对传感器的片载序列发生器、内部寄存器和时序电路进行复位;复位完成后启动训练模式,确保读出图像数据的正确性;然后通过SPI总线对片内寄存器进行配置,主要包括传感器的帧频、曝光时间、开窗、光积分模式等;寄存器配置完成后开始对图像进行捕获、图像信号放大、LVDS量化输出。

nlc202309011223

2.2SPI总线时序驱动FPGA通过SPI总线对LUPA13002内部105个寄存器进行配置,以使传感器能够正常工作。SPI总线有CS、CLK、IN、OUT四条信号线。CLK提供接口同步时钟,最高速率为主时钟的三十分之一。每组数据有16位,第1位为读写控制命令位,第2~8位为内部寄存器的地址位,第9~16位为数据位,对应于传感器的寄存器配置参数。其中SPI读时序的仿真图如图2所示。

2.3LVDS信号接收LUPA13002输出的图像数据通过LVDS接口以DDR方式输出,每24个像数为一个核单元,每一行总共有54个核单元。每个核单元按照一定的次序,分2次在12个通路中,以双倍数据速率串行输出。先输出第0、2、4…22个像数,再输出第1、3、5…23个像数,接着再输出47、45、43…25个像数,再输出第46、44、42…24个像数,以此类推,直至输出1行的所有像数数据[5]。数据通道与像素时钟的相位关系如图3所示。FPGA在接收到LUPA13002的图像数据后,进过串行数据解析和像素重组,得到场标识信号iFVAL,行标识信号 iLVAL和像素信号[11:0]iDATA,复位信号iRST,开始信号iSTART和结束信号iEND,然后通过对这些信号的时序控制,接收到正确的图像数据。最终在ModelSim中仿真得到图像采集仿真图如图4所示。图3数据通道与像素时钟的相位关系

3SDRAM缓存设计在实时显示图像信息时,尽管进行了抽帧,但数据处理量仍然很大,仅靠FPGA内部的存储空间无法满足需求,需要高速、大容量的存储器来缓存图像数据,采用SDRAM对图像进行缓存。但FPGA的时钟,SDRAM的时钟及VGA的时钟均不相同,需要采用FIFO将两个工作频率不同的器件进行数据的交互。 FIFO是一种先进先出的数据缓存器,分为同步FIFO和异步FIFO两种,异步FIFO是跨时钟域系统设计中比较常见的模块组成,它的主要作用是使2个工作频率不同的器件在进行数据交互时实现数据的平稳传输[6]。人眼的极限分辨时间为1/24 s,每20帧抽取一帧,抽帧后帧频为25 fps,此时RGB格式图像的传输速率为117.187 5 MB/s。为满足实时性需求,SDRAM缓存时,采用乒乓交替读入和写出完成数据的缓存,每个SDRAM的容量需大于一帧图像的大小,即4.687 5 MB,存一帧数据需要的时间为0.04 s。因此,选用的SDRAM的容量应大于4.687 5 MB,读写速度应大于117.187 5 MB/s。设计中选用的2片SDRAM,型号为IS42S16320B,容量为64 MB,读写速度为286 MB/s。SDRAM在上电时,首先要进行初始化,包括200 μs的输入稳定期,LBank预充电,8次自刷新,模式寄存器设置。初始化完成后进入工作状态,其工作时序为空闲状态→行有效状态→行有效等待状态→读/写数据准备状态→读等待潜伏期→读/写数据状态→读/写完后预充电等待状态→空闲状态[7]。用ModelSim对其读/写时序进行仿真,读操作与写操作的仿真图如图5和图6所示。图5SDRAM读操作时序图

4实时显示系统设计VGA时序控制模块的作用是将缓存于SDRAM中的图像数据在VGA显示器上实时显示。VGA工作时采用逐行扫描的方式,扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描。每扫完一行,用行同步信号进行行同步,电子束对显示器进行消隐,并使其回到屏幕下一行的起始位置。当扫描完所有行时,用场同步信号进行场同步,使扫描回到屏幕左上方扫描起始位置。同时进行场消隐,并预备下一帧的扫描[89],图7所示为用ModelSim所做的VGA显示时序仿真图。

在此时序图中,有VGA时钟vga_clk,行有效信号hsync和帧有效信号vsync,在其都为高电平并且在VGA时钟的上升沿输出图像颜色信息vga_r,vga_g,vga_b。图8静态图像采集

Fig.8Stationary image acquisition5系统测试为了验证系统设计的正确性,依据总体设计方案制作了采集、记录与显示电路,设计了采集软件,对运动目标进行实际拍摄。在满分辨率条件下对静态物体(花盆)进行实时图像采集与显示,如图8所示,能够很清晰地将物体图像显示在显示器上。以电动小车为目标,移动速度约为4.5 km/h,在一段时间内对小车的移动过程进行拍摄,选取其中连续的6幅图像进行分析,如图9所示。通过图9可以看出,本文所论述的500 fps图像采集及实时显示系统能够完成对高速运动的目标进行高速的图像采集并实时显示,满足现场实时性的需求。

图9连续图像采集

Fig.9Continuous image acquisition

6结论本文对分辨率为1 024×1 280的500 fps高帧频图像采集及实时显示的关键技术进行了研究,提出了实现该技术的基本方案。在设计过程中对各模块进行仿真,验证其可行性,最终设计完成后对整个系统进行性能测试,实现了对视频图像的实时采集、缓存与显示,满足国防与科研试验中对高速视频采集与记录显示的需求。参考文献:

[1]杜鹃.基于FPGA的高帧频CMOS相机数据传输系统设计[D].西安:西安工业大学,2011:2-3.

[2]杨莉珺,刘铁根,朱均超,等.基于CMOS图像传感器的嵌入式图像采集与格式转化[J].电子产品世界,2008(6):96-98.

[3]侯宏录,杜鹃.基于乒乓操作的千兆MAC中的FIFO设计[J].光学仪器,2011,33(1):36-42.

[4]杨会伟.高帧频CMOS相机图像采集系统研究[D].西安:西安工业大学,2009:10-13.

[5]郭文豹.高速CMOS智能相机研究[D].长春:长春光学精密机械与物理研究所,2010:13-21.

[6]张涛.高帧频CMOS相机实时压缩与传输关键技术究[D].西安:西安工业大学,2012:24-25.

[7]张文芳.基于FPGA的SDRAM控制器设计方案[J].兵工自动化,2012,31(2):57-60.

[8]孙艳,孙爱良,王紫婷.基于FPGA的VGA显示控制器的实现[J].自动化与仪器仪表,2008,6(7):106-107.

[9]董兵,朱齐丹,文睿.基于FPGA的VGA图像控制器的设计与实现[J].应用科技,2006,33(10):42-45.

实时图像处理系统的设计与实现 篇4

VLSI技术的发展为实时图像处理系统提供了保证。实时图像处理系统往往具有庞大的处理器阵列、存储器模块和通讯网络,若采用一般常规软件,则其体积、功耗、传输延迟以及造价等都是难以接受的。而专用图像处理芯片则生产量少,价格昂贵,如采用功能强大的数字信号处理器DSP,其开发系统和工具要求复杂,价格高,成本投入多。对于常规图像处理(如图像增强)其运算简单(如直方图统计只有累加)但运算量大。例如:一幅512×512的数字图像大约有25×104个像素,进行直方图统计时就要累加大约25×104次,用DSP来控制完成显然浪费巨大且耗时巨大。既要节约资金、降低成本,又要减少体积、降低功耗、提高性能、增加集成度,前述器件均不合适,而大规模集成电路正好可以解决这些问题。

1 FPGA/ASIC介绍

日益紧凑的系统要求设计人员将尽可能多的功能集成在一片硅片上SOC(System On a Chip,单芯片系统)。SOC是电子技术和集成电路技术不断发展的产物,随着单芯片的集成度越来越高,功能越来越强,现有技术已能将一个复杂的系统集成在一个硅片上。现在,SOC技术已成为当今微电子工业界的热门话题,它代表了ASIC设计的发展趋势,将极大地改变电子产品和系统的设计思想、开发手段和实现方法,同时也将极大地影响电子产业的格局。随着亚微米技术的发展,FPGA芯片密度已达到百万门级,它的设计越来越接ASIC的设计。目前,DSP、MCU、PCI总线控制等复杂的功能可由一片FPGA芯片完成。由于FPGA芯片密度的不断增加和第四代EDA开发工具的使用,利用FPGA器件实现SOC已成为可能,人们将这项技术称为SOPC(System On a Programmable Chip,可编程单芯片系统)SOPC技术既具有基于模板级设计的特征,又具有ASIC的系统级芯片设计的特征,它要求一种着重于快速投放视场,具有可重构性、高效自动化的设计方法。为了实现SOPC,国际上著名的现场可编程控制器厂商如Altera、Xilinx等都在为此努力,开发出适于系统集成的心器件和开发工具,这又进一步促进了SOPC的发展。

要SOPC设计成功,就要更多地采用IP(Intellectual Property,知识产权)模块,因为只有这样才能快速的完成复杂设计,得到价格低廉的SOPC硬件,所SOPC的核心技术是IP。

Altera公司发布了嵌入式处理战略SOPC方案包括三个嵌入式处理器系列:Nios、ARM和MIPS。其中,Nios可编程软件内核是业界第一个面向可编程逻辑的基于RISC的嵌入式处理器。为了实现SOPC的设计,Altera公司不仅研制开发出新器件,而且还研制出新的开发工具对这些新器件提供支持,并且提供与新芯片及软件相配合的包含知识产权的系统级设计模块(IP)解决方案,它们的参数可由用户自己定义。Altera的开发工具MAX+PLUSII被普遍认为是最优秀的PLD开发平台之一。本系统就是选用Altera公司的ACEXIK系列,用MAX+PLUSII进行开发的。Altera的可编程逻辑器件具有良好的性能、极高的密度和非常大的灵活性,除了具有一般可编程逻辑器件的特点外,还具有改进的结构、先进的处理技术、现代化的开发工具以及多种宏功能模块可选用等优点。

2 系统设计方案和工作过程

鉴于上述FPGA的功能特点,本系统的图像处理和时序控制均用高性价比的EPIK100芯片完成。它有12个EAB块,总RAM位数为49152×1Bit。

本系统处理的图像是黑白图像,它是经过红外相机采集的16位差分信号的黑白图象,经过FPGA的转换和运算,再经过10位的D/A转换形成图像显示。所以,在FPGA运算过程中可以使用8位数据,其灰度级为0到255之间;也可以使用10位数据,其灰度级为0到1023之间。图像视场大小为:320×240,即每行有320个像素,共有240行,视场内共有76800个像素数据。

本系统的总体功能框图如图1所示。

系统工作过程如下:红外相机对外界景物摄像,输出14位差分信号,为了便于处理,必须把差分信号转换成TTL信号。图像数据经过锁存之后进入FIFO(先进先出存储器)进行存储,等FPGA进行处理。FPGA处理完成后,进入10位D/A转换器,转换成模拟量,经视频运算放大器放大后,送显示器进行显示。

本系统使用了两种下载方式:1、PS串行下载方式2、JTAG边界扫描方式,现场调试时用PS串行下载方式,脱机使用时把程序存储到EPC2(外部程序存储器)中,上电后EPC2下载到FPGA中。本系统使用16Mhz外部时钟,输出为标准PAL制式,在工业监视器上显示。

3 FPGA处理模型

本系统的核心器件是FPGA,所有的处理算法都是在里面完成的。根据理论分析,本系统中,主要完成了直方图均衡化、自动线性增益、基于知识的背景滤除,高通滤波、FIR滤波等算法。FPGA中,还必须控制时序、产生同步信号以及图像显示控制。其系统功能如图2所示。

3.1 同步信号发生器

红外摄像头经过光电转换将图像(光信号)转变为电信号,其最终输出信号就是黑白电视信号,它主要由图像信号(视频信号),复合消隐脉冲和同步脉冲组成。电视信号其极性分为正极性和负极性图像信号。若图像最亮时,对应其信号电压的幅度最大。

对于PAL制式的同步信号时序要求如下图所示:本系统采用8Mhz外部时钟,每个时钟周期为125ns,每行512个像素,则行周期为:512×125ns=64μs;每场有312.5行,则每场图像的时间为:64μs×312.5=20ms。本系统采用的视场为320×240,即每场有240行,每行有320个像素,对比来看,视场变小了,这种变化可以通过消隐信号(BLANK)选择一段连续的视场来完成视场变换,同时要调整视场的位置。如果是逐行扫描,对于复合同步,有一段积分时间,它要求为52个行周期,每个行周期为64μs,则积分时间为:64μs×52=3.3ms。如果是隔行扫描,其要求如图3所示。由于是在FPGA中编程实现,容易修改,因此在系统设计时,我们可以考虑使用隔行扫描,也可以考虑使用逐行扫描。这时就显出了FPGA的优越性。

3.2 图像显示控制器

在本系统中,图像的显示是通过D/A转换器来实现的,而视频的D/A转换器一般都要求复合同步(SYNC)、工作时钟(PDACLK)、场/行消隐(BLANK)信号,这些信号如果能够由FPGA产生,那么就会大大简化硬件设计。

显示时由于有上面所述的三个时序要求,在数据流上就必须配合这个时序,因FPGA在读写外部数据时就必须有时序要求。它包括对外部FIFO的读控制、写控制、复位控制等。

上面所要求的信号就构成了图像显示控制器。它是系统能否正常工作的关键。

3.3 算法实现

系统设计时是用单片机和键盘配合。当键盘按下时,从P1口输出不同的编码。在FPGA中判断这些编码来选择不同的功能实现。

这里在FPGA中实现的算法有:自动增益线性变换、直方图统计和均衡化、基于知识复杂背景抑制。在滤波器的选择上,根据理论分析最后选择了FIR滤波器、中值滤波器、高通滤波器。

本系统采用线性FIR滤波法进行低通滤波。由于Altera的MegaCore软件集成FIR滤波器等多种IP产品,可以直接应用,只需确定系数,顾在此不再深入研究其具体实现方法。传统的中值滤波有很多方法,如:快速排序法、冒泡法、二叉树等,这里采用了3×3或5×5窗口进行二维中值滤波改进算法。

对于图像预处理,一般是采用图像增强方法。图像增强又很多种方法,如:锐化处理、直方图统计和均衡化、线性变换等。而对于灰度值偏小、图像偏暗的图像使用直方图均衡化会有很好的效果。本文提出的自动增益线性变换算法能够使每场图像都达到饱和。

针对红外成像特性分析,我们知道:红外图像是热辐射图像,对温度极为敏感,具有以下特征:1、当视角偏小时,同一行的温度差很小,其灰度变化在同一行中很小,并且相邻行间有很强的相关性;2、地物与地面具有连通性,地面温度较高,地面和地物在红外图像中处于最下部分;在实际红外图象中,云团灰度梯度较小。根据红外图像这些复杂背景特征,故采用了一种基于知识的智能背景抑制方法。

这几种算法各有特点,因此把它们集成在本系统中,根据不同的场合选用不同的算法。在开始的系统调试中,使用了自动增益线性变换算法,并取得了较好的效果。自动增益线性变换算法流程如图4所示。

参考文献

[1]侯伯亨.数字系统设计基础[M].西安:西安电子科技大学出版社,2000.

[2]王念旭.DSP基础与应用系统设计[M].北京:北京航空航天大学出版社,2001.

[3]ChrisDick.FPGA Implementation of High Order FIR Filters by Re-quantizing the Input Data Stream.SPIEV01.2607:10-21.

实时图像系统 篇5

摘要:主要论述利用USB2.0单片机接口技术实现高分辨率(640×480点阵以上)、快速(24帧/s以上)全数字图像的实时采集、传输的原理、方法和系统实现,以及相应的固件程序设计。

关键词:USB2.0接口技术数字图像单片机

引言

传统的方法是用视频采集卡(如1394)对视频信号进行采集,利用相应的软件传给PC机,既不方便,也不经济。本文介绍一种利用Cypress公司发布的世界上第一块带有USB2.0接口的芯片CY7C68013与PC机(主板为支持USB2.0的华硕主板PB533)实现了高分辨率(640×480点阵以上)、快速(24帧/s以上)、全数字图像的实时采集系统。

1数字图像的实时采集原理

数字图像的实时采集原理如图1所示。在图1中,以Omnivisiontechnologies公司的OV7620/7120芯片作为图像采集芯片,其主要特点是该芯片可提供0.5――30帧/s,640×480像素点阵CMOS的彩色或黑白数字图像,工作频率为27MHz,像素时钟为27MHz;以Cypress公司的CY7C68013作为CPU控制和USB2.0接口芯片,该芯片的主要特点是在一块芯片上集成了USB2.0内核和引擎、一个增强型51系列的微处理器,及可编程外围接口的芯片,提供了高效率的时序解决方案,在这种有独创性的结构下,仍然使用低价位的51系列的微处理器,其数据传输速度可以达到56MB/s,可以提供USB2.0的最大带宽。因此在图1中,CPU控制和USB2.0接口芯片选择了上述芯片。图像芯片(OV7620/7120)所采集的图像数据按设定的频率(0.5――30帧/s),在CY7C68013内部51CPU的控制下,直接将其送到CY7C68013的FIFO缓冲区,再由其内部的USB2.0接口通过USB电缆将其图像数据传输到计算机。

2数字图像的实时传输

为了实现数字图像的实时传输,必须解决影响实时传输的几大因素:一是图像芯片采集速度;二是图像芯片与CY7C68013的FIFO缓冲区之间的传输速度;三是CY7C68013内部的USB2.0与带有USB2.0接口计算机之间的传输速度;四是计算机中应用软件的接收图像、处理图像速度。以下将分别加以具体说明。

(1)图像芯片采集速度

图像芯片采集速度是选择图像芯片的关键指标,在该指标满足的前提下,选取图像分辨率相对较高的图像芯片。如可以选取Photobit公司的PB-0300或Omnivision公司的.OV7620以及Philips公司的SAA7111等高分辨率图像采集及处理芯片。

(2)图像芯片与CY7C68013的传输速度

一般的,对于大多数CMOS数字图像采集和处理芯片,其数据传输速度为其像素时钟,与其工作频率基本一致,其周期小于40ns;而当CY7C68013工作在主频48MHz时,其内部的通用编程接口可以将外部5――48MHz的数据传输到内部FIFO缓冲区。可见,应选取像素数据传输速度合适的图像采集及处理芯片。

(3)CY7C68013与计算机之间的传输速度

在USB1.0和USB1.1接口中,只支持低速和全速两种传输方式。在低速方式下其最大传输速度为1.5Mbps;在全速方式下其最大传输速度为12Mbps.显然,在这两种方式下要完成高分辨率(640×480像素点阵以上)的数字图像实时传输(24帧/s以上)是不可能的。而USB2.0接口,除支持低速和全速两种传输方式外,还支持高速传输方式。在高速传输方式下,其最大传输速度为480Mbps.因此选取带有USB2.0内核的CY7C68013芯片作为USB2.0接口芯片及带有USB2.0接口的计算机,满足数字图像的实时传输速度要求。

(4)计算机中应用软件的处理速度

计算机中,应用软件的接收图像、处理图像速度,也是完成高分辨率数字图像实时传输所面临的一个很大挑战。特别是在Windows多任务作业下的延迟,更是如此。

此外,USB总线的带宽、操作系统等也会影响数字图像的实时传输。

3系统实现及固件程序设计

(1)系统实现

本系统的具体和详细设计如图2所示的数据采集逻辑原理图。在图2中,图像采集处理芯片用OV7620/7120,时钟频率为27MHz,像素时钟为27MHz;CPU控制和USB2.0接口芯片用CY7C68013,时钟频率为24MHz,通过对CY7C68013内部的CPUCS寄存器进行修改,使其工作在48MHz方式下。根据芯片OV7620/7120及CY7C68013内部的FIFO、通用编程接口等特点,其具体接法是:将OV7620/7120的像素时钟PCLK接到CY7C68013的IFCLK上;

OV7620/7120的HREF、VSYNC分别接到CY7C68013的RDY0、RDY1上;同时将OV7620/7120的VSYNC、CHSYNC分别接到CY7C68013的INT0、INT1上。将CY7C68013的PE0、PE1接在OV7620/7120的I2CBUS上。

图2

(2)固件程序设计

按照图2数据采集逻辑原理图,其固件程序设计主要由以下几部分组成。

①USB2.0接口的初始化程序设计。本段程序主要通过对CY7C68013的CPUCS寄存器进行设定,使CY7C68013重枚举后工作在频率48MHz下;通过对CY7C68013的USBCS寄存器设定,使其USB内核工作在USB2.0方式下,由固件程序应答USB的传输,而不是由USB内核应答;同时通过对CY7C68013的IFCONFIG寄存器设定,使其CY7C68013工作在通用编程接口方式下。

②图像芯片的初始化程序设计。本段程序主要通过CY7C68013的PE0、PE1模拟I2CBUS的时序,完成对图像芯片的初始化、显示窗口大小、数据格式、显示帧数等工作。

③通用编程接口(GPIF)程序设计。本接口程序设计主要完成对CY7C68013通用编程接口的初始化以及控制信号RDYx和CTLx(本设计中未用)、数据宽度(8位)、FIFO缓冲区、计数器等的编程设计,并对OV7620/7120的输入信号HREF、VSYNC等进行逻辑控制,即当HREF为高电平、VSYNC为底时,数据开始传输。

④USB2.0等时传输程序设计。本段程序主要完成USB2.0的等时传输功能。要实时采样数据,必须使用USB2.0的等时传输技术及中断技术。

⑤主程序设计。在主程序中,除要完成①――④中断论述的功能外,还要给出USB控制传输的固件应答程序及相应的中断初始化和中断服务程序,其完整程序见本刊网站。

4结论

实时图像系统 篇6

1 系统设计

实时处理系统设计的重点是如何在有限的时间内完成大量图像数据的处理。处理系统输入的图像数据速率为25帧/s,这就要求系统必须在40 ms内完成对一帧图像的处理,才能保证系统的实时性。为了达到处理的速度,设计的双路图像融合实时处理系统采用多DSP+FPGA架构,系统主要由以FPGA为核心的图像采集模块和以DSP为核心的图像处理模块构成。实时处理系统框图如图1所示。

系统工作时,首先DSP和FPGA进行程序加载完成初始化工作。探测器以25帧/s的速率向FPGA输送图像数据,FPGA实时采集来自探测器1和探测器2的数据,进行图像预处理,之后将预处理的图像数据写入对应的双口RAM内进行缓存。然后,DSP1和DSP2分别读取双口RAM1和双口RAM3中的数据进行图像分割、特征提取等预处理,并将处理后的图像数据写入下一级双口RAM存储。最后,由DSP3读取在双口RAM2和双口RAM4中的图像数据按照特定的算法进行融合处理,实现探测需求。

2 硬件设计实现

2.1 采集模块设计

由于FPGA具有灵活的在线编程功能,在不改变硬件的情况下,可以对软件进行升级,且开发成本越来越低。正是由于FPGA的灵活性和较高的性价比,使其得到广泛应用[6,7]。该处理系统中采用了Xilinx的FPGA作为采集模块的核心,模块的接口电路如图2所示。FPGA在该系统主要完成时钟管理、地址产生、读写控制、滤波等任务。

FPGA作为采集模块的主芯片,其选型必须满足对数字图像的采集需求。系统采用的探测器图像分辨率为256×256×14 bit,图像的帧频为25 Hz,则探测器图像数据的带宽为

所选FPGA的工作频率为40 MHz,数据位宽为14 bit,则FPGA读取图像数据的带宽为

Bfpga-sensor>Bsensor,故FPGA能够满足图像数据的读取带宽需求。

采用的双口RAM可高速存取数据,最快存取时间为10 ns,数据位宽为14 bit,则RAM存储图像数据的带宽为

Bram>Bfpga-sensor,故双口RAM能够满足图像数据的存储带宽需求。

FPGA接口电路模块主要是完成对双路图像数据的读写,产生对两块双口RAM的地址信号、片选信号(CE)、读写信号(WE)和输出使能信号(OE)。由于探测器的图像数据为低压差分信号(LVDS),在FPGA处理前需将信号转换为LVTTL信号,方便FP-GA的读取,保证系统工作的可靠性。

系统工作后,探测器将图像数据以LVDS的方式传输给处理系统,由高速差分芯片SN65LVDS386将探测器的LVDS信号转换为LVTTL信号,FPGA在时钟的驱动下,将由SN65LVDS386芯片转换后的图像数据读入,送入缓冲器锁存,FPGA内部的运算单元将锁存的数据进行滤波等预处理,同时将处理后的图像数据写入对应的双口RAM中进行缓存,为后续的DSP读取以及处理图像数据做好准备。

2.2 处理模块设计

DSP由于其快速的运算能力及高效的数字处理性能,在图像处理方面表现出显著优越性而被广泛应用[8,9]。该系统硬件平台选用美国TI公司的6 000系列DSP芯片作为核心器件,为系统提供强大的处理能力。DSP主要完成对图像的预处理以及融合等功能。DSP与双口RAM通过EMIF接口进行连接,通过EMIFA接口从前一级的双口RAM读入经过FPGA预处理的 图像数据 ,经过DSP处理后经EMIFB接口将图像数据写入后一级的双口RAM中存储,以便DSP3对双路图像数据做最终的融合处理。

DSP的EMIF接口进行读数据或者写数据操作,需要根据软件设计要求,依次完成信号的建立、选通和保持三个阶段,而这三个阶段的时间为7个时钟,EMIF接口工作频率为100 MHz,则EMIF接口的数据带宽如下

Bemif>Bsensor,故DSP能够满足系统带宽的需求。

处理模块的接口电路如图3所示。DSP处理的图像数据由EMIF接口进行交换。EMIF接口为DSP提供访问外部存储器的标准接口,6 000系列DSP的EMIF具有很强的接口能力,EMIFA的数据总线宽度为64 bit,EMIFB的数据总线宽度为16 bit,分为4个空间CE0~CE3,每个CE空间彼此独立,可以进行不同的访问控制。同时也提供对8/16 bit存储器的读写支持;既提供了同步存储器的高吞吐率接口,也支持异步RAM的存储接口,可以与目前几乎所有类型的存储器直接接口使用[10]。

EMIF的读操作和写操作分为建立、选通和保持时间三部分。CE片选信号和OE信号拉低选中进行操作双口RAM,WE信号为低表示写操作,为高表示读操作,同时地址线EA给出读操作和写操作地址,数据线ED给出需要读出或写入双口RAM的数据,完成相应的读写操作。

系统工作后,DSP将存储于Flash芯片的程序读入内部完成程序的加载,DSP1通过EMIFA将存储于双口RAM1的图像数据读入内部进行预处理,并将经过处理的图像数据经EMIFB写入双口RAM2。DSP2通过EMIFA将存储于双口RAM3的图像数据读入内部进行预处理,并将经过处理的图像数据经EMIFB写入双口RAM4。DSP3通过EMIFA将存储于双口RAM2和双口RAM4的图像数据读入进行图像融合处理。

3 软件设计

该系统的软件根据硬件架构可以分为两部分,即FPGA部分的预处理软件和DSP部分的综合处理软件。FPGA部分的软件主要完成图像的预处理和将数据写入到指定的双口RAM进行存储。DSP部分的软件中,DSP1和DSP2的软件一致,将前一级的双口RAM中的图像数据读取到DSP内部,作相关的处理,并写入下一级相应的双口RAM中存储,等待DSP3读取;DSP3的软件将存储于两个双口RAM中的双路图像数据读入内部,进行图像融合处理。

3.1 预处理软件设计

FPGA使用Verilog HDL语言编程,软件环境为Xilinx ISE 10.1。FPGA软件组成框图如图4所示。主要包括顶层模块、采集探测器数据模块、预处理模块、写双口RAM模块以及图像数据状态的监控模块等。FPGA功能主要是实时采集来自探测器的图像数据,将图像数据预处理后,由写双口RAM模块将图像数据写入到指定的双口RAM空间进行存储,以便DSP读取图像数据进行后续处理。

FPGA写双口RAM1模块的软件程序如下:

3.2 综合处理软件设计

DSP采用TI公司的集 成电路 ,用C语言和TMS320C6000系列汇编语言编写程序,编程环境为CCS3.3。DSP的软件主要由主函数、多个功能模块函数以及驱动函数等组成,图5为DSP软件的流程图。DSP1和DSP2通过EMIFA接口以EDMA(en-hanced direct memory access)的方式将经FPGA处理后存储于双口RAM中的图像数据读入DSP内部进行预处理,并将处理后的数据经EMIFB接口写入到下一级的双口RAM。

DSP读双口RAM和写双口RAM的软件程序如下:

DSP采用EDMA方式读写数据,EDMA是DSP为满足图像处理需求而设计的,可以在没有CPU参与的情况下,实现数据在DSP的片内存储器和外部存储器之间的搬移,满足实时图像数据高速传输的需求[11,12]。

DSP3的EMIFA接口对两个双口RAM采用复用的方式进行读取数据的操作。DSP3同样采用ED-MA的方式,通过EMIFA接口将存储于两个双口RAM中的图像数据读入内部,进行图像融合处理。图像融合处理需根据系统需求,采用特定的算法对图像进行融合以便得到需要探测的信息。

4 测试结果

利用上述处理系统,对输入双路图像数据进行了融合处理,使用TI公司的集成开发环境CCS中DSP的定时器技术对DSP1的预处理算法(DSP2预处理算法同DSP1)运行时间和DSP3的融合算法运行时间进行了测试。预处理算法的运行时间为21.2 ms,融合算法的运行时间为26.7 ms,小于40 ms,因此处理系统可以满足实时性要求。

5 结 论

实时图像系统 篇7

图像边缘是图像的基本特征,这些信息可以用于图像分析、目标识别以及图像滤波[1]。图像算法的处理可以用软件或者硬件来实现,而对于实时图像处理来说,需要很高的速度要求,因此通常采用硬件进行图像处理[2]。目前,图像处理的硬件设计有两种技术方案,一是全定制的专用集成电路(ASIC),二是半定制的数字信号处理器(DSP)以及现场可编程门阵列(FPGA),二者在设计中的运用都可以大大加快对信息的处理速度[3]。

目前边缘检测算法已有一系列基于微分的边缘检测算子,如Roberts算子、Sobel算子、Prewitt算子、Canny算子等[4]。Sobel算子是边缘检测中常用的一种模板,其有3种算子,分别用于检测水平边缘、垂直边缘以及对角边缘。Sobel算子在运算上不涉及复杂的数据运算,适用于实时性要求高的环境。并且与Prewitt算子相比,Sobel算子对于像素的位置影响做了加权,降低了边缘的模糊程度,效果更好[5]。由于Sobel算子检测得到的是整幅图像的梯度值,最后还需要用图像分割算法对图像的梯度采取阈值处理。

由于阈值处理直观、实现简单且计算速度快,因此图像阈值处理在图像分割应用中处于核心低位。文献[6,7]中采用基于Otsu的改进型方法进行阈值处理以及基于小波变换的阈值处理等。但是,这些方法的计算量大,算法复杂度高,而实时边缘检测系统对速度的要求相当高,因此并不适合。因此,本文改进了运算相对简单的全局单阈值处理,提出了一种基于图像分块的阈值处理算法,以此作为实时边缘检测系统的阈值处理算法。

由于已经用Sobel算子检测得到了图像的梯度值,在均匀光照环境下,边缘部分和非边缘部分的灰度直方图间存在一个相当清晰的波谷,因此可以采用适合于整个图像的全局单阈值处理。但是当图像中存在非均匀光源部分,会使得阈值偏大,导致图像中部分梯度值较小的边缘容易被漏检。如图1a为均匀光源环境,图像中各部分的光照程度近似。而图1b为非均匀光源环境,由于图像的左上角存在白炽灯,会造成此部分的梯度值偏大,很大程度上会影响图像的边缘检测效果。

文献[8]中提到了一种简单根据图像的灰度值将其分成高灰度值部分和低灰度值的部分,然后对这两部分分别进行边缘检测。这种方法,在一定程度上能够补偿光源不均匀性。但是由于其简单针对图像的灰度进行分组,效果有限。

本文改进了这种根据图像灰度值进行分组的思想。对采集到的图像进行Sobel边缘检测处理后,根据图像的梯度值进行分组。并在全局单阈值处理算法基础上,将其分别运用分组后的子图像中。

2 基于图像分块的边缘检测系统及其FPGA实现

图2为基于图像分块的边缘检测系统的软件设计框图。系统改进了全局单阈值处理算法,根据图像的梯度值进行分组,提出了一种IEDIP(Improved Edge Detection based on Image Partition)算法。该算法先通过Sobel边缘检测算子对采集到的图像进行梯度计算,并根据图像的梯度值将其分为若干个子图像。然后对各个子图像分别采用全局单阈值处理,最后将所有子图像的阈值通过简单的计算得出一个新的阈值,并以此作为当前整幅图像阈值。

2.1 Sobel边缘检测算子及其FPGA实现

系统采用3×3的Sobel算子分别计算3个方向的梯度值,分别为x方向、y方向和对角线方向,通过比较3个方向的梯度值,取其中的最大值作为该点的梯度值,Sobel算子在3个方向的检测模板如图3所示[9]。

Sobel算子以检测的像素点为中心,其梯度计算公式分别为

Sx(x,y)=|(z7+2z8+z9)-(z1+2z2+z3)|(1)

Sy(x,y)=|(z3+2z6+z9)-(z1+2z4+z7)|(2)

Sxy(x,y)=|(z2+2z3+z6)-(z4+2z7+z8)|(3)

Sobel边缘检测算法在FPGA上实现需要用到3×3的方形窗,为了使窗中的3行3列共9个像素能够在一个时刻同时输出,便于之后的核心算法模块进行数据处理,在3×3方形窗的硬件设计中,本文采用3个FiFo存储器。利用Quartus II的MegaWizard Plug-In Manager工具可以很方便地设计出符合设计需求的FiFo存储器,设计数据位宽度8 bit,数据长度1 024,这里需要1个“almost_full”信号,在数据长度为640(VGA分辨力为640×480)的时候,表示1行像素数据存储完成,“almost_full”信号置“1”,同时FiFo开始输出信号并将像素数据发送到下一个FiFo中,具体实现方法如图4所示。

在梯度计算的过程中需要对方形窗所产生的像素数据进行缓存,缓存数目由窗口的大小决定。每次方形窗送出像素数据后,首先要将像素数据缓存,然后再进行梯度计算,输出梯度值。通过比较器,计算3个方向的梯度,具体FPGA实现过程如图5所示。

2.2 全局单阈值处理算法及其FPGA实现

当物体和背景像素的灰度分布十分明显时,可以用适合于整个图像的全局阈值。由于已经用Sobel算子检测得到了图像的梯度,边缘部分和非边缘部分的灰度分布十分明显,即使全局阈值是一种合适的方法,对每一幅图像有能力自动估计阈值的算法也是需要的[9]。下面的迭代算法可用于这一目的。

1) 为全局阈值T选择一个初始值。

2) 用T分割该图像。这将产生两组像素:G1由灰度值大于T的所有像素组成;G2由所有小于等于T的像素组成。

3) 对G1和G2的像素分别计算平均灰度值(均值)m1和m2。

4) 计算一个新的阈值,由公式为

Τ=12(m1+m2)(4)

5) 重复步骤2)到步骤4),直到连续迭代中T值间的差小于一个预定的参数ΔT为止。

通常,ΔT越大,则算法执行的迭代次数越少。用FPGA实现时,采用VGA的场同步信号控制阈值计算,即每产生一次场同步信号,重新计算一次阈值。本设计以ΔT设定为0为例。具体FPGA实现过程如图6所示,像素经过Sobel边缘检测算子模块输出的梯度值,除了需要根据当前阈值判断该像素点为边缘点或非边缘点并输出二值图像,还要将对该像素进行上述的全局单阈值处理算法以更新下一帧图像的阈值。

值得注意的是,由于上述全局单阈值处理算法仅当物体和背景的直方图模式间存在一个相当清晰的波谷时,这个算法才工作得很好。但是,当存在非均匀光源部分时,由于非均匀光源部分的梯度值极大,上述算法中的G1值将显著增大,从而导致阈值T的值增大,这会导致一些重要的边缘像素被滤除,针对这一问题提出了下述的基于图像分块的阈值处理算法(EDIP算法)。

2.3 基于图像分块的阈值处理算法及其FPGA实现

IEDIP算法是将每一帧图像分成若干个子图像,然后针对每个子图像分别进行上述的全局单阈值处理,最后将所得到的各个子图像的阈值进行比较计算得出一个新的阈值作为下一帧图像的阈值。由于计算得到的阈值相比非均匀光源部分子图像的阈值明显要小,因此能够有效地用于补偿光照的不均匀性,使一些重要的边缘得以保留。

由于存在非均匀光源的子图像经过全局单阈值处理算法后,其阈值与其他子图像的阈值相比较会明显增大,从而导致图像显示的分块。因此,最后需要对所有子图像的阈值进行计算,得出当前图像的阈值,使显示的图像不存在分块的现象。即最后显示的边缘检测图像需要满足两个要求,一是显示的图像不存在分块现象,二是能够有效地补偿光照现象,使一些重要的边缘不被滤除。

系统的FPGA实现框图如图7所示,首先像素需要经过Sobel边缘检测算子模块输出得到梯度值,并且根据该像素所在的坐标位置(Loc_x,Loc_y)将其划分到不同的子图像中。然后需要根据当前这帧图像的整体阈值判断该像素点为边缘点或非边缘点并输出二值图像,并且根据该像素所在的子图像,仅对该子图像全局阈值处理算法以更新该图像的阈值。最后对所有子图像的阈值进行计算,得出当前图像的阈值。由于在FPGA里面的除法很难确定需要多少个时钟周期,视频图像的处理对于速度的要求相当高。这里作了简单地加法和移位运算处理,即采用4块阈值的均值代替存在非均匀光源部分的阈值,公式为

hold[temp]=(hold[0]+hold[1]+hold[2]+hold[3])>>2 (5)

3 实验结果与分析

3.1 基于图像分块的边缘检测系统的实验结果

系统的实验结果如图8所示,从图8b可以看出,左上脚的白炽灯处的灰度值相当大,这对于采用全局单阈值处理后的图像相当不利,其阈值将会向灯光的灰度靠近,即阈值变大,造成分割后的图像边缘信息严重丢失。针对此问题,采用EDIP算法将图像进行分块,将白炽灯独立在一个单独的子图像中,使其灰度值不影响其他3块图像阈值的计算,其效果如图8c所示。但是,图8c中可以看到明显的分块痕迹,这是边缘检测所不希望的结果,因此需要采用改进后的IEDIP算法对4个子图像的阈值进行修正计算,将得出的新阈值作为此图像的阈值,其结果如图8d所示。

3.2 基于图像分块的边缘检测系统与基于全局单阈值处理的边缘检测系统的结果比较

结果比较如图9所示,比较图9b和图9c可知,在均匀光源环境下采用全局单阈值处理和基于图像分块的阈值处理算法得出的结果基本相同,都能够将图像的主要边缘检测处理。由图9e可以看出在非均匀光源的环境下采用全局单阈值处理的边缘检测系统仅将光源白炽灯的边缘检测出来,而且其他边缘信息全部被滤除,这是由于左上脚的白炽灯光源处的梯度值相当大,这样对于采用全局单阈值处理后的图像相当不利,其阈值将会向灯光的灰度靠近,造成图像的阈值偏大。由图9f所示,在非均匀光源环境下采用基于图像分块的阈值处理的边缘检测系统能够将图像的主要边缘检测出来,和均匀光源环境下的检测效果一样好。相比之下,本算法对于非均匀光源环境的边缘检测效果明显较好。

4 结束语

本文以Sobel边缘检测算子为基础,将全局单阈值处理算法进行改进,提出了一种基于图像分块的阈值处理算法,先用Sobel算子计算出图像的梯度值,然后通过将图像分块成若干个子图像,针对各个子图像分别采用全局单阈值处理,然后将所有子图像的阈值通过简单的计算得出一个新的阈值,并以此作为当前图像阈值。本算法通过FGPA得出实验结果,实验证明了该算法在非均匀光源的环境下用于实时图像的边缘检测效果理想。

参考文献

[1]GUO Z,XU W,CHAI Z.Image edge detecton based on FPGA[C]//Proc.9th International Symposium on Distributed Computing and Appli-cations to Business Engineerng and Science(DCABES).[S.l.]:IEEEPress,2010:169-171.

[2]HOUARI K E,CHEERAD B,ZOHIR I.A software-hardware mixed de-sign for the FPGA implementaton of the real-time edge detection[C]//Proc.IEEE Inernational Conference on Systems Man Cybernetics(SMC).[S.l.]:IEEE Press,2010:4091-4095.

[3]甘振华,应骏.基于FPGA的嵌入式图像边缘检测系统设计[J].电视技术,2010,34(8):43-45.

[4]QIAN X,CHAKRABARTI C,KARAM L J.A distributed Canny edge de-tector and its implementation on FPGA[C]//Proc.Digital Signal Pro-cessing Workshop and IEEE Signal Processing Education Workshop(DSP/SPE).[S.l.]:IEEE Press,2011:500-505.

[5]YASRI I,HAMID N H,YAP V V.Performance analysis of FPGA basedSobel edge detecton operator[C]//Proc.ICED 2008.[S.l.]:IEEEPress,2008:1-4.

[6]ZHANG J,CHEN Y,HUANG X.Edge detection of images based on im-proved Sobel operator and genetic algorithms[C]//Proc.IASP 2009.[S.l.]:IEEE Press,2009:31-35.

[7]GAO W,ZHANG X,YANG L,et al.An improved Sobel edge detection[C]//Proc.ICCSIT 2010.[S.l.]:IEEE Press,2010:67-71.

[8]ROUTRAY A,MOHANTY K B.A fast edge detection algorithm for roadboundary extraction under non-uniform light condition[C]//Proc.ICIT2007.[S.l.]:IEEE Press,2007:38-40.

实时图像系统 篇8

电荷耦合器件 (charge coupled device, CCD) 分为3个等级:商业级、工程级和科学级。3个级别的要求一级比一级高。科学级CCD以其高光子转换效率、宽频谱响应、良好的线性度和宽动态范围等优点被广泛用于天文观测[1]。短短十几年来, 各大天文台的主要望远镜均将CCD系统作为主探测器, CCD通常已成为天文观测必不可少的后端设备。而针对于空间目标监视的天文探测系统中, 由于目标运动角速度快, 要求尽可能快的检测到复杂背景中的弱小运动目标, 这对高分辨天文图像的实时获取与实时处理提出了更高的要求。随着接口技术的发展, 目前科学级CCD相机接口有Camlink、Ethernet、USB、1394等数据接口。而USB[2]接口是近几年来发展较快的接口技术之一。

由于利用通用计算机进行USB数据传输占用计算机的CPU资源, 所以随着CCD像素数及相机帧频的增加, 使用通用计算机进行数据获取并利用其进行数据处理已经无法满足探测系统的实时性能要求。本文结合实际光电探测系统的实时性要求及其所采用的USB接口高分辨CCD相机, 在深入剖析USB 2.0协议的基础上, 依据复杂背景下弱小目标的检测流程, 设计并实现了基于USB 2.0的高分辨天文图像实时获取与处理系统。下面分别介绍该实时获取与处理系统的总体结构、硬件设计、DSP算法实现及系统性能测试。

1 系统总体结构与功能

系统由大视场光学系统、科学级CCD相机、实时信息处理分系统、主控计算机、望远镜电机控制分系统、时统几大部分组成。其中, 实时信息处理分系统通过USB 2.0接口与CCD相机连接, 通过该接口实现相机的控制, 如初始化、制冷、曝光等操作, 同时通过该接口实现相机图像数据的获取, 获取的图像数据在实时信息处理分系统中进行处理, 把图像处理结果 (弱小目标的检测结果) 通过CPCI接口发送至主控计算机进行后续的处理。系统总体框图如图1所示。

系统整个工作流程规划为3个阶段:

(1) 系统准备阶段:

各个分系统加电, 初始化, 故障自检。

(2) 目标检测阶段:

本文所基于的观测系统没有伺服系统, 根据地球的自转来对空域进行扫描。由于光学视场大, 一般来说目标从进入视场到出视场需要10~20 s, 实时信息采集与处理系统连续获取图像并进行实时处理, 检测到复杂背景中的弱小运动目标及恒星目标, 把检测结果传入主控计算机。

(3) 目标后续处理阶段:

在系统检测到目标后, 根据获取的时间信息、光学望远镜指向信息、测站地理位置、目标检测结果及星表数据来计算目标的天球坐标, 进而进行定轨和编目等处理。

系统选用CPCI工业控制计算机为主机, 实时信息处理分系统与主机之间通过高速CPCI总线进行通信, 而实时信息处理分系统通过高速USB 2.0接口实现与CCD相机之间的通信与数据传输。

2 实时信息处理分系统硬件设计

实时信息处理机硬件平台是本系统的关键部分, 它实现对高分辨天文图像数据的获取, 并对图像中的目标进行实时检测, 并将目标质心检测结果信息等传递给主机以进行后续的目标天文定位。由于实时信息采集与处理分系统的设计是针对该系统的, 在设计之初必须研究系统所采用算法的流程及结构, 分析其需要的运算量, 在此基础上才能设计出高效、稳定且具有针对性的实时处理硬件平台。首先介绍该系统所采用的算法流程。

2.1 弱小目标检测算法流程

包含空间目标的CCD图像序列f (i, j, k) 可以

描述为:

f (i, j, k) =fΤ (i, j, k) +fS (i, j, k) +fB (i, j, k) +n (i, j, k) (1)

式中:f (i, j, k) 为像素点 (i, j) 的总灰度值;fT (i, j, k) 为空间目标;fS (i, j, k) 为恒星目标;fB (i, j, k) 为背景图像;n (i, j, k) 为噪声图像;k为图像序列中的帧序号。

空间目标fT (i, j, k) 与恒星目标fS (i, j, k) 成像相似, 在空域上均体现为单帧图像上灰度的局部奇异性, 为一孤立的亮斑, 两者的区别在于时域上恒星目标表现为相对静止, 而空间目标表现为明显的运动特性。背景fB (i, j, k) 具有时空域双重平稳性和时空域双重强相关性[3], 占据了场景图像频率中的低频部分。噪声n (i, j, k) 是CCD传感器及读出电路等产生的各类噪声的总和, 噪声与背景像素和目标像素都不相关, 它在空间分布是随机的, 各帧之间的空间分布没有相关性。

基于上述分析, 该系统采用一种基于时空域联合滤波的天文光电图像序列弱小目标实时检测算法, 流程如图2所示。图像序列首先在空域背景抑制、噪声平滑、拖尾去除、目标增强;然后在时域上, 根据恒星目标多帧之间相对静止的性质通过两帧相关对其进行检测, 而对于空间目标, 根据多帧之间目标的运动特性通过改进的三帧差分方法检测目标。最后再根据目标的统计信息, 如位置、大小、亮度、信噪比等信息剔除虚假目标, 空间目标还可以通过运动航迹的连续性和规则性, 建立目标运动航迹, 根据航迹预测来检测目标。

2.2 实时信息处理分系统结构设计

CCD天文图像大小为2 048×2 048, 帧频为1~5 f/s, 其数据量大且图像处理算法运算量大, 而系统对实时性的要求高, 以上这些特点对硬件平台的设计提出了很高的要求。

国内外一些同行在实时图像处理机的设计中采用了DSP阵列结构[4,5], 用多块DSP协同工作来提高处理机的实时处理能力。鉴于本文所涉及的目标实时信息获取与处理系统的目标检测要求, 在对各方面因素进行综合考虑的基础上, 结合处理算法的动态可变和可重构特点, 根据上文目标检测算法的流程设计了基于2片DSP+FPGA的实时信息处理机硬件平台, 发挥DSP和FPGA各自的优势, 合理划分处理任务, 使得效率和灵活性得到充分提高。

其结构框图如图3所示。

2.3 嵌入式USB 2.0主机控制器设计

在本系统中, USB 2.0接口是实时信息处理分系统与CCD相机的通信及数据接口, 数据获取的速度取决于USB传输的速度, 由于实时信息采集与处理分系统直接与CCD相机连接, 不能使用相机厂商提供的相机驱动程序进行相机控制及数据获取, 必须在实时信息处理机上实现嵌入式USB 2.0主机控制器的设计, 同时根据相机控制协议完成对相机的控制及数据传输。

Philips公司ISP1760/1是目前业界惟一一款支持增强型主机控制器接口 (enhanced host controller interface, EHCI) 标准的主控芯片, 主要由CPU接口、中断控制、USB SIE 、SRAM、从DMA控制器和根集线器等模块组成, 具体各项性能可参加该主控芯片资料, 这里不再详述。

本系统选择ISP1760直接与FPGA连接, 通过FPGA内部PowPC[6]完成对USB 2.0主控制器内部寄存器和内部传输描述符PTD的配置, 设置每次传输的传输类型、令牌包类型、传输方向、数据包大小、数据切换位、内存缓冲区位置、完成状态和传输描述符访问的设备端点及地址。

ISP1760硬件通过内部的EHCI操作寄存器和性能寄存器将要处理的传输链接到周期性数据帧列表和异步数据帧列表上, 根据列表执行相应的传输, 传输完成后根据中断控制寄存器的设置向FPGA递交中断, FPGA通过中断来处理已经完成的传输结果并设置新的传输。

2.4 CCD图像数据获取

本系统对CCD大批量数据读取是采用从DMA传输模式, ISP1760内置从DMA控制器使得FPGA可以直接搬移ISP1760内部60 KB的数据区的大容量数据。FPGA可通过设置ISP1760内部DMA控制寄存器读写类型、数据突发长度、传输数据长度和内存数据缓冲地址控制从DMA控制器传输数据, 将ISP1760内存数据区域划分为2个24 KB的空间, 分别用于异步PTD1和异步PTD2数据传输的存放, 从DMA控制器乒乓式切换传输地址将相应数据缓存区的数据通过DMA传输到FPGA进行实时处理, 如图4所示。

图像数据获取时传输速度高达42 MB/s, 满足系统对CCD相机数据获取的要求。

2.5 DSP算法实现

DSP主要完成对图像的预处理以及后续的目标检测工作, 由于图像背景复杂, 而弱小目标一般信噪比很低, 为此必须对图像进行有效的空域、时域背景抑制, 并融合时空域背景抑制的结果来提高目标信噪比, 从而提高目标的检测概率。在本系统中空域背景滤波[7]根据目标不同可选用数学形态学滤波、基于M估计[8]的自适应背景抑制等滤波方法。基于光学系统指向固定的特点, 时域背景滤波[9]采用经典的帧间差方法来有效的检测弱小运动目标。其流程图如上文中的图2所示。DSP的软件结合C语言和汇编语言进行编写, 使程序的效率和优化结果达到最佳, 在开发过程中根据算法和硬件资源的关系以及数据的相关性最大限度提高操作并行度。

3 测试结果

实际探测系统采用的相机分辨率为2K×2K, 帧频为1 Hz, 所以系统的实时性要求为:信息采集与处理系统必须在1 s时间内完成8 MB图像数据的采集、自适应背景抑制及弱小目标检测。根据上述指标、结合上文实时处理系统设计方案, 本文实现了基于CPCI的实时信息处理机, 其实物图如图5所示。

该处理机上采用嵌入式USB主控接口实现了对相机的有效控制和数据获取, 数据速率可达42 MB/s, 满足了系统对于数据获取的实时性要求。一个工业控制计算机中可内置4~6个该处理机, 同时完成对4~6个相机的控制和数据获取。

为测试该实时信息处理机的性能, 本文采用实测的分辨率为2k×2k的天文图像数据对系统进行了测试, 同时利用相同的算法在配置为2 GB内存, intel (R) Core (TM) 2Quad CPU, 2.50 GHz的计算机上进行测试, 测试结果如表1所示。经过优化后的代码在实时处理机上所耗费的时间远小于PC机, 且满足了实际探测系统对数据获取与处理实时性的要求。

4 结 语

本文针对高分辨天文CCD图像的实时获取与处理需求, 设计并实现了基于USB 2.0的高速相机接口及基于双DSP+FPGA的实时处理机, 该设计充分利用FPGA灵活、可编程特性和DSP在实现复杂运算方面的高速、程序动态可加载特性, 使得该结构具有高速、灵活和可重构等优点, 测试结果表明, 该处理机的数据获取速度及处理速度满足天文观测系统要求, 并优于同时期的高性能计算机, 满足了实际探测系统对数据获取与处理的实时性要求。

摘要:针对某空间目标监视系统的实时目标检测需求, 结合所采用CCD相机的接口形式, 本文设计并实现了一套基于USB 2.0的高分辨天文图像获取及实时处理系统。首先在深入分析USB 2.0协议的基础上实现了相机数据获取接口, 其次结合弱小目标检测算法流程, 提出并实现了一种基于DSP+FPGA的可重构实时信息处理机的硬件实现方案。测试结果表明该设计能实现对复杂环境下低信杂比、低对比度的弱小目标的有效检测, 并满足探测系统实时性的要求。

关键词:USB2.0,高分辨,天文图像,数据获取,实时处理

参考文献

[1]FDBERG Stephen J.Research amateur astronomy[C]//As-tronomical Society of the Pacific Conference Series.ScmFrancisco, California:Astronomical Society of the Pacific, 1991, 33:108-117.

[2]Compaq, Hewlett-Packard, Intel, et al.Universal serialbus specification revision 2.0[EB/OL].[2007-04-27].http://www.usb.org.

[3]胡谋法.复杂背景下大视场弱小目标检测技术研究[D].长沙:国防科学技术大学, 2008.

[4]MAO Hai-cen, ZHANG Tian-xu.A Flexible DSP-basednetwork for real-time image-precessing[J].Wuhan Univer-sity Journal of Natural Sciences, 2004, 9 (6) :921-926.

[5]杜金榜.多DSP并行处理系统的设计与开发[J].计算机测量与控制, 2006, 14 (5) :658-660.

[6]Philips Semiconductors.ISP1760 Hi-speed universal serialbus host controller for embedded applications[EB/OL].[2004-11-08].http://www.semiconductors.philips.com.

[7]彭嘉雄, 周文琳.红外背景抑制与小目标分割检测[J].电子学报, 1999, 27 (12) :47-51.

[8]胡谋法, 沈燕, 陈曾平.自适应序贯M估计算法及其性能分析[J].电子学报, 2007, 35 (9) :1651-1655.

[9]王卫华, 何艳, 陈曾平.光电图像序列运动弱目标实时检测算法[J].光电工程, 2006, 33 (4) :14-18.

[10]侯新梅, 李自田, 胡炳樑.基于FPGA的面阵CCD驱动电路的设计[J].现代电子技术, 2010, 33 (7) :195-197.

实时图像系统 篇9

随着红外探测技术迅猛的发展,当今红外实时图像处理系统所要处理的数据量越来越大,速度要求也越来越快,利用目前主流的单DSP+FPGA硬件架构进行较为复杂的图像处理算法运算时,有时就显得有些捉襟见肘了。使用多信号处理板虽可满足复杂处理的要求,但系统成本和设计复杂度会大大增加,对于对空间质量有严格要求的系统也是不可行的,多处理器系统应用的需求越来越迫切。

本文提出了一种新型的基于FPGA和四端口存储器的三DSP图像处理系统。它不同于以往的主从处理器结构,而是3个处理器分别连接四端口存储器的3个端口,处于同等地位,对图像数据并行处理,FPGA占用存储器另一端口进行数据流的控制管理和其他功能实现。这种连接方式增强了系统的重组性和扩展行,软件开发也更加灵活方便。

1 系统硬件结构

1.1 图像处理系统的组成

图像处理系统主要包括DSP及其周边电路,FPGA电路,四端口存储器电路、显示电路、HotLink接口电路等。图1所示为图像处理系统的原理框图。

1.2 FPGA电路设计

FPGA芯片使用Xilinx公司Virtex-4系列的SX35芯片。Virtex4系列[1]的FPGA利用90 nm三栅极氧化层技术制造而成,具有百万门级以上的逻辑资源,大容量片内Block RAM,用于高速数字信号处理的新型XtremeDSP,灵活的数据接口,软硬件嵌入式处理器核等诸多资源。与前一代器件相比,在其性能和密度加倍的同时功耗却减半,非常适合用于大规模SoPC系统。配置芯片使用XCF32P芯片。在FPGA外围连接了D/A视频芯片,HOTLINK传输芯片,SDRAM存储器等器件,用以完成显示、存储等功能。

1.2.1 与HotLink电路接口

HotLink是点对点物理层器件(PHY)的世界领先供应商Cypress[2]导体公司产品,高集成度HotLink收发器是市面上销售的同类产品中灵活性最强的芯片之一,它提供了很宽的工作范围(0.2~1.5 Gb/s)、可旁路8 B/10 B编码和备用输出。每款HotLink独立通道器件都在一个单片解决方案中集成了发送、接收、先入先出(FIFO)和编码器/解码器(ENDEC)功能,为用户提供了稳定性和通用性最好的高速图像数据传输解决方案。在此选用CY7B923作为发送芯片,将采集到的图像数据通过HotLink接口发送到图像记录设备进行记录。

1.2.2 扩展存储器接口

FPGA外接SDRAM做为外扩存储器。SDRAM芯片选用HY57V561620[3],该芯片为16位的SDRAM,工作频率为100 MHz。SDRAM工作状态转换图[4]如下:

1.2.3 与视频显示电路接口

显示电路中选用的数/模转换芯片为ADI公司的ADV7122芯片,该芯片为三通道10 b的视频数/模转换芯片。

1.3 四端口存储器电路设计

四端口存储器使用IDT公司的IDT70V5388[5]芯片。该芯片为64K×18 b的同步四端口存储器,4个端口可同时对存储器的任何地址进行操作,每个端口的最大输出速率为200 MHz,因此4个端口总的数据带宽为14 Gb/s。

存储器每个端口都设置有邮箱中断功能,这一功能能够很好地实现与各个端口相连器件的相互通信。选择邮箱中断功能后,每个端口给分配一个邮箱,当某一端口向其他端口的邮箱写入数据时,该端口将会产生邮箱中断。PORT1向PORT2的邮箱地址(0xFFFE)进行写操作,PORT2将产生邮箱中断,PORT2对该邮箱地址进行读操作之后清除邮箱中断。

1.4 DSP电路设计

DSP芯片选用Ti公司的TMS32C6414 EGLZA6E3[6],其主频为600 MHz。TMS320C6414是TI公司高性能的定点DSP。该芯片采用超长指令字结构(VLIW),每个时钟周期可以执行8个32位指令。

2 系统工作流程及软件设计

系统上电后,DSP1从与其连接的FLASH芯片中读出非均匀性校正算法所需的系数,传送给FPGA,FPGA对图像进行校正,校正结果写入四端口RAM,图像拉伸显示模块和数字图像记录模块。3个DSP可以从四端口RAM中读取图像信息,并行进行图像处理工作。

2.1 非均匀性较正算法设计

非均匀性是指凝视成像探测器在外界同一均匀光学场输入时各单元输出的不一致性。焦平面阵列探测器的非均匀性高达10% ~30%,因此焦平面探测器在使用时必须进行非均匀性校正。非均匀性校正算法中,两点校正算法是最常用的算法,该算法的计算量非常小,校正一个点只需1次加运算和1次乘运算,有利用系统实时实现。

两点校正公式[7,8]为: V ′=GV+O。其中,V 为探测器单元的实际输出值,V′为校正后的值,G为校正增益,O为校正偏移量值。GO利用测量两个不同温度点的探测器响应计算得出,预先存入FLASH芯片中。系统正常工作时,DSP将系数从FLASH芯片中读出非均匀性校正算法所需的系数,用乒乓方式写入四端口RAM中。每写完1块数据区后利用四端口RAM的中断信号通知FPGA将系数读走,FPGA将得到的系数依次存入SDRAM中。系数传送完毕后,FPGA开始接收探测器数字图像信息,同时将校正系数读出,对原始红外图像进行乘加运算。工作流程见图3。

2.2 图像拉伸算法设计

图像拉伸采用自适应直方图增强算法[9,10],表示为如下的映射关系:

Yk=(L-1)-aXminXmax-Xmin(Xk-Xmin)+aXmink=0,1,2,,L-10a1

式中:Yk为增强后图像的灰度值;Xmax和Xmin为原图像中像素最大值和最小值;Xk为原图像的灰度值;a为亮度补偿系数,取值为0~1之间,当取0时,即是通常的拉伸算法。

考虑到红外图像中可能存在盲元和噪声,Xmax和Xmin不宜取原图像中最大最小值。采用分位数法来取图像中的最大值和最小值可以把盲元和噪声的影响降到最低,分位数根据盲元和噪声情况具体确定,一般可取5%。

图4给出了直方图增强算法的FPGA系统框图,A/D转换后的14 b数据流进入直方图统计模块计算每一像素点的直方图,根据设定好的分位数计算图像中像素的最大值和最小值。在每一帧有效数据结束后,根据直方图统计得到的最大值和最小值,计算灰度映射的除法,这样每帧只需计算1次除法, 而不用对每一像素进行除法计算。之后对得到的因子对每一像素进行乘法及移位计算即可得到直方图增强算法处理后的图像数据。增强后的图像数据通过DAC控制模块送入电视显示。

3 结 语

针对红外试试图像处理系统构建的FPGA+多DSP的硬件平台,利用FPGA进行调度和时序控制,有效的使3个处理器并行工作,大大提高了系统处理能力。研究并实现了从红外探测器数据采集到图像校正、图像处理,以及图像显示的整个流程。系统已应用于工程实践中,对于空间质量要求苛刻的高性能处理系统有一定的借鉴意义。

摘要:多处理器系统已广泛应用于高速信号处理领域,为提高系统性能,更好地发挥多处理器优势,介绍采用基于FPGA的多DSP架构。利用FPGA作为数据调度核心,将处理器从繁杂的数据通信工作中解放出来,充分发挥了多处理器的并行工作能力,增强了系统的重构和拓展性。该系统已应用于工程实践中,以一块高密度电路板实现了从数据采集到图像校正、图像处理,以及图像显示的整个流程,能够满足对处理时间要求较高、较为复杂的图像处理算法的要求。

关键词:红外图像,多DSP,FPGA,非均匀性校正

参考文献

[1]Xilinx Inc..Virtex-4 FPGA family overview:data sheet[M/OL].[2009-05-11].http//www.xilinx.com.

[2]Cypress Semiconductor Corporation.CY7B923/CY7B933Data sheet[M/OL].[2010-01-25].http//www.cypress.com.

[3]HY57V561602 Datasheet revision 1.8[M/OL].[2009-03-31].http://datasheet.icinfo.net.

[4]XILINX.Refrence design XAPP709(V2.0)[M/OL].[2006-10-27].http://china.xilinx.com.

[5]Anon.IDT71V416 datasheet revision[M/OL].[2000-08-10].http://www.idt.com.

[6]Texas Instrnuments.TMS320C6414 data sheet[M/OL].[2009-02-15].http://www.ti.com.

[7]王明昌,陈宝国,吕雷.红外焦平面探测器应用系统的设计与实现[J].激光与红外,2008,38(3):242-244.

[8]卢意红,张志鸣.一种基于DSP的红外焦平面阵列非均匀性校正研究[J].红外,2009,30(12):29-32.

[9]牛英宇.图像自适应分段线性拉伸算法的FPGA设计[J].现代电子技术,2010,33(10):78-80.

实时图像系统 篇10

近年来,医学影像技术已成为医疗技术中发展最快的领域之一,图像拼接(Image Mosaic)是指将多幅具有重叠区域的序列图像通过图像预处理、图像变换、图像配准、图像融合等处理后,形成一幅包含各个图像序列内容的宽视角全景图像的技术。图像拼接技术是图像处理的重要研究领域,被广泛应用于卫星遥感、图像识别、医学图像分析及无人机监视和搜索、虚拟现实等方面。Shmuel Peleg等人在图像拼接理论和图像拼接方法上做了大量工作,为图像拼接在工程技术上的应用奠定了理论基础。Masanobu Shimada等人将图像拼接技术应用于雷达图像处理领域,用于监控森林植被的变化情况。国外Mustafa Suphi Erden课题组研制了针式共聚焦显微腹腔镜,在微创手术中截取部分视频图像,拼接成全景图像指导医生诊断治疗。国内的严壮志课题组提出基于特征检测、特征匹配、空间坐标转换和图像融合等方法的图像拼接技术,实现了连续X光片拼接的医学全景成像。

现有的传统医学成像设备,特别是显微成像设备,基本都是对组织的某一较小视野进行成像,设备最后采集到的是不同组织部位的多帧医学图像,需要医生对这些图像进行观察分析,根据自身医学知识与医疗经验来做出诊断。图像拼接技术的应用,能将多幅具有重叠区域的医学图像,通过图像变换、图像配准、图像融合等方法,自动拼接为大视野的清晰图像。该图像包含完整的医学病理信息,有助于医生全面了解病人病情。同时,系统能够自动追踪图像中的感兴趣区域,做出标记和注释,为医生提供诊断辅助。

2主要研究内容及关键技术

2.1主要研究内容

本系统的研究是通过研发基于实时自动图像拼接技术的医学图像分析系统,为医学实践中,实现显微镜、眼科设备、内窥镜等设备的数字化图像采集、图像自动分析处理,从而对医生的诊断、治疗起到辅助作用。

本系统的主要研究内容有基于CMOS的图像采集、实时自动图像拼接技术。

(1) 基于CMOS的图像采集

基于CMOS的高清图像采集系统的研发,包括图像和视频采集、图像的编码技术。兼顾红外光和可见光,实现图像的多波段自适应采集。具体功能还包括自动对焦、自动识别拍照功能,以及图像采集模块在各种医疗设备使用的适应性研究。

(2) 实时自动图像拼接技术

研究图像灰度处理、图像变换、图像配准、图像融合等算法,实现多帧医学图像或视频序列的实时自动图像拼接,输出具有计算机诊断辅助功能的大视野全景医学图像。能够自动跟踪图像中的感兴趣区域并做出标识和注释。

2.2关键技术

图像的拼接技术是本设计的关键,本设计提出对采集的多帧医学图像进行实时自动拼接,提供宽角度全景图像。同时,能够自动跟踪图像中的感兴趣区域并做出标识和注释。

3 系统设计思路

3.1 图像处理模块

图像传感器模块计划采用CMOS传感器为核心做成独立硬件模块,通过高速数据线与图像处理模块连接。这样设计的优点在于模块可以根据不同的应用场合,进行合理布置。

图像编解码和图像处理模块的方案计划采用TI的soc方案。该方案可以完成图像编解码、图像处理功能。

3.2实时自动图像拼接技术研究

图像拼接的核心技术是图像配准,关键在于准确找到相邻图像间重叠区域的位置及范围,进而通过图像融合的方法实现全景图像构建。图像配准通常有三类方法:基于灰度值的图像配准、基于变换域的图像配准和基于特征的图像配准。基于灰度值的图像配准方法实现方便,计算量小,但该方法对图像间的细微差别较敏感,抗干扰能力不强。基于变换域的图像配准可以缓解这个问题,且算法简洁,利于硬件的实现。不过该方法要求两幅图像的重叠区域不能少于50%,如果重叠区域过小,容易造成误配准。为了提高图像配准的精确度和速度,达到实时自动图像拼接的功能,本设计提出将基于灰度的网格配准和基于特征值配准相结合的方法。首先,对输入图像进行粗网格的分块处理,利用基于灰度的配准方法确定相似重叠区域。然后在重叠区域内进行基于SIFT(Scale-invariant feature transform)特征点提取和配准,这样就可以大大提高图像配准的速度。图像拼接算法的流程如图1所示。

4 结论

本文探讨了基于实时自动拼接技术的医学图像处理系统的主要技术和设计思路,有了自动的图像拼接技术,就能将多幅具有重叠区域的医学图像,通过图像处理的方法,自动拼接为大视野的清晰图像,为医生的诊断提供参考。

摘要:目前,图像拼贴技术在医学图像处理领域的发展趋势是实现图像的实时自动拼接。本文探讨了基于实时自动拼接技术的医学图像处理系统的主要技术和实现方案。

上一篇:井下瓦斯抽采技术发展下一篇:信息主导