高分多模卫星相机图像高速实时判读快视系统设计
2021-07-03尤佳倪琳娜王阔董天舒郝志雅
尤佳 倪琳娜 王阔 董天舒 郝志雅
(1 中国空间技术研究院遥感卫星总体部,北京 100094)(2 北京空间飞行器总体设计部,北京 100094)
在遥感相机的研制过程中,为了对相机成像质量、整机传递函数以及相机图像信噪比等作出评价,需要采用快视系统对相机输出图像数据进行实时显示和大容量记录存储,并通过在线和离线数据分析来测试相机性能。作为光、机、电一体化技术高密集型产品的遥感相机,随着观察视场和分辨率指标要求的不断提高,目前大都采用高速多通道并行输出结构,这使得数字化后图像数据量急剧增长,从而给快视系统的研制带来了极大的挑战[1-2]。
针对此项技术,国内外许多学者做了大量的研究工作,目前大致有以下两种解决方案:一是基于总线接口标准外设组件互连标准(PCI)或高速串行计算机扩展总线标准(PCIE)的数据采集卡系统架构,由数据采集卡完成数据接收,通过PCI或PCIE总线传送给计算机内存,再由计算机自带的集成开发环境(IDE)接口将数据写入硬盘[3-4];二是在方案一的基础上,采用计算机集群的系统架构,每台计算机只完成某一通道的数据显示与记录[5]。然而,由于遥感相机数据率呈井喷式增长,上述方案皆存在各式各样的问题。方案一虽然简单、可靠,但由于计算机系统的带宽限制,无法实现高速数据显示及处理。方案二系统结构复杂、质量大、不够灵活、对环境的适应性不好,通道之间显示较难同步。针对上述系统方案的不足,本文在参考国内外相关技术的基础上,提出并构建了基于实时接口现场可编程门阵列(FPGA)并行处理技术的快视系统。该系统可直接控制大容量串口硬盘(SATA)阵列实现高速海量存储。预处理单元实时对高速海量图像数据进行缩放、辅助数据判读和“花块”检测等操作,克服传统快视系统无法高速实时处理海量图像数据的技术瓶颈,图像异常检测率高达95%,可实现总速率高达80 Gbit/s的图像数据实时显示及判读。
1 系统组成及工作原理
文本中数据接收存储服务器接收从万兆网传输过来的数传综合处理设备的原始数据,并将数据进行分路,一路进行短时存储,另一路通过PCIE总线传送至硬件加速模块中FPGA硬件加速设备进行处理。FPGA硬件加速设备对数据进行图像的缩放、关键特性计算以及数据判读等各种处理,并将处理之后的数据及信息传送至图像显示及综合判读终端,其处理过程如图1所示;图像显示及综合判读终端则对用户感兴趣的信息进行提取、判读和分析。
注:MTF为调制传递函数。图1 FPGA硬件加速处理设备FPGA处理流程图Fig.1 Processing diagram of hardware acceleration device
其中,FPGA硬件加速设备采用Altera FPGA Stratix V GX产品型号作为主控制器实现。图2为FPGA硬件加速设备功能框图,从图2中可以看出每台硬件加速设备构建了两个高速数据处理模块,该处理模块的具体功能如图3所示,快视设备中目前所涉及的基本图像分析算法(灰度最大值、灰度最小值、灰度均值、灰度方差、灰度直方图、信噪比、MTF等)均在该高速数据处理模块中实现。多个通道的图像数据完全并行处理,各个通道的图像数据处理模块均工作在流水线状态下,利用FPGA来构造硬件协处理器,并行高效的完成图像抽样显示、处理计算、统计判读等[6-8]。
图2 FPGA硬件加速处理设备功能框图Fig.2 Block diagram of hardware acceleration functions
此外,FPGA硬件加速处理设备中还构建了NiosII处理器,该处理器主要用于接收和解析千兆网络过来的命令,并将板卡的一些相应状态发送至上位机。远程升级模块主要用于对FPGA程序进行在线修改,使得该设备可加载不同的配置文件完成相应的任务。看门狗模块使得该设备总是处于正常状态。
2 系统软件设计
图像显示及综合判读终端软件主要功能是接收集群管理服务器的指令,根据指令调度管理“数据接收存储服务器”、“FPGA硬件加速设备”和“多路复接设备”。图像显示及综合判读终端软件功能模块示意如图4所示。软件通过PCIE光纤卡[9]接收硬件协处理板处理后的通道图像数据、通道图像分析数据和硬件处理状态,通道图像数据按内部协议格式解析后重组为各通道图像数据,图像数据送至图像显示进行图像量化值、曲线、表格、图像等方式进行显示;图像数据并行进行传函、信噪比等算法分析[10-11];通道图像分析数据按协议解析后进行显示和保存。根据软件需求,软件可对图像判读日志、辅助数据判读日志、图像分析结果日志、硬件处理器单元日志和集群管理通信日志进行统一的显示和存储。软件需要具备良好的可配置性,软件包含通道图像数据格式配置、辅助数据格式配置、通道图像显示方式配置。
图4 图像显示及综合判读终端软件功能模块示意图Fig.4 Schematic diagram of fast-view system
3 系统功能实现
3.1 集群管理服务器通讯
建立传输控制协议(TCP)的服务端,监听集群管理服务器发起的连接:接收集群管理服务器软件指令,向集群管理服务器上传通道图像判读信息、辅助数据判读信息、卫星服务数据信息和工作状态。与数据接收存储服务器建立网络连接,向数据接收存储服务器发送指令并接收数据接收存储服务器上传的工作日志状态。
根据网络或用户指令选择工作模式,管理调度硬件处理控制单元和辅助数据管理单元。在网络模式下,执行集群管理服务器通讯模块发送的指令,并根据指令产生对应的控制指令发送给前端数据接收存储服务器。在本地模式下,根据用户操作并根据指令产生对应的控制指令发送给前端数据接收存储服务器;在网络和本地模式下,对硬件处理控制单元发送指令,控制通道抽样比例、选择通道图像、设置图像分析算法配置参数(均值、最大/小值、直方图、噪点)。
与硬件协处理板建立网络连接,并向硬件协处理板发送指令;配置管理PCIE光纤卡,接收解析硬件协处理板处理后的图像数据、图像分析数据、辅助数据和硬件状态信息。
3.2 图像数据显示
图像显示方式:对通道图像进行抽样、放大显示;根据屏幕刷新率,对一次或几次刷新周期内接收的图像数据,在抽样后进行图像幅间的算法合并;合并刷新周期次数可选,最小为一个刷新周期,算法为平均、取最大、取最小等方式,方法可选;上述算法处理可在保留有效信息的情况下降低显示数据率,方便人眼观测;同时显示各通道图像缩略图,用户可选通道图像显示摆放方式。
软件可实现对某通道图像进行全屏放大显示,显示内容为原始图像幅,放大情况下可不对其他图像进行显示;通过鼠标拖放选择一个图像区域,对该区域进行放大显示,放大显示占用图像所在区域显示,可同时支持多路放大区域的显示,提供快捷键或菜单操作取消某个放大区域或全部放大区域的放大显示,恢复正常抽样显示;将图像显示为灰度值矩阵,将图像以灰度值表格的形式显示,灰度值可以为16 bit、8 bit、十进制、十六进制方式;可将制定的一行或多行图像以灰度值曲线的方式进行显示,灰度值可量化为8 bit或16 bit,多行图像时取平均值;提供快捷键,在图像、表格和曲线显示方式间切换。
3.3 图像分析及花块检测
系统通过解析硬件协处理板处理的各通道图像处理数据,对处理数据按图像检测算法需要配置分析。对图像数据进行算法处理如传函计算、信噪比计算等。对图像进行异常检测判读。在整星测试过程中,相机在成像过程中其每幅图像的直方图应该是完全一样的,故可直接比对直方图检测图像的“花块”异常,如有差异按余弦距离计算其相似度。
1)直方图相似度比对判读方法
(1)计算当前幅图像与前一幅图像直方图的相似度;
(2)计算直方图相似度比对的判读阈值;
(3)将相似度计算结果与计算阈值比较,大于阈值图像异常;小于阈值图像正常。
2)直方图相似度计算公式
(1)直方图计算公式为
(1)
式中:n(r)表示灰度值为r的像素点个数,N表示一幅图像像素点总数,p(r)表示一幅图像中灰度值r出现的概率。
(2)直方图相似度计算指计算图像直方图的相关值,计算公式为
(2)
式中:N表示像素比特位数,Pcur表示当前幅图像灰度值出现概率,Pfro表示当前幅前一幅图像灰度值出现概率。
4 测试结果
4.1 显示性能测试
图像显示及综合判读终端界面主要功能是将各通道图像、辅助数据、解析结果、判读结果呈现出来,但CCD图像通道多、幅面宽,无法一一显示,为了兼顾整理浏览和局部细节查看两种功能,显示界面整体上分为两个部分。一边为缩略显示区,可以将各通道图像缩略显示,如果通道数量太多造成各通道图像显示区太小,可以将各通道图像分页显示,缩略显示区的左上角有缩略显示切换菜单。另一边为局部细节显示区,局部细节显示区功能分为5个区域,分别是通道选择区、日志信息显示、当前通道日志、辅助数据曲线显示和辅助数据源码、解析结果显示。系统具有按照测试需求进行显示模式切换的功能,具体测试结果如图5至图7所示。
图5 全缩略显示图Fig.5 Thumbnail display images
图6 辅助数据曲线放大显示图Fig.6 Enlarged display images by auxiliary data
图7 单通道分屏显示图Fig.7 Display diagram of fast-view system in two channels
4.2 图像异常检测测试结果
当图像数据为相机真实测试数据时,图像会因为积分时间增益等发生变化,即使成像条件不变,也会因为相机CCD的传感器采样发生微小变化即相机图像出现“花块”异常(见图8)。直方图会表现出明显差异,图9是实际测试中的相机数据。
图8 遥感相机异常图像Fig.8 Abnormal image of sensing satellite camera
图9 相机异常图像的直方图Fig.9 Histogram of abnormal camera image
图像的直方图已经由图像硬件协处理器计算完成,软件针对直方图进行比对,比对算法规则如下。
(1)计算直方图中主峰的区域,记录主峰的左右像素值为Hright和Hleft,主峰应包含绝大部分像素,比例记为Mmost;
(2)判断前后两幅图像的主峰比例Mmost,如果有差异,则判为有“花块”,若主峰比例相同则进入下一步进一步判断;
(3)对两幅图像主峰内直方图信息进行相似度计算,如相似度超过阈值则判为无花块,否则认为有花块。
按照上述算法规则,真实遥感卫星相机异常图像经过快视系统接收处理后输出“花块”检测结果如图10所示。
图10 判读出异常花块的显示定位结果Fig.10 Locating result of abnormal detection
实际测试结果表明:该系统的图像“花块”检测率高达95%,目前已经成功运用于高分多模卫星相机的整星测试中,在显著提高相机数据质量评估效率的同时也节约了测试人力的成本。
5 结束语
为解决遥感相机输出通道多、数据率高和像素灰度量化位数高等问题,本文提出了一种基于FPGA的快视系统架构。系统充分利用FPGA的并行处理能力,首先由FPGA直接对多块SATA硬盘进行控制,解决了传统方案中存储容量与存储速度不可兼得的问题;并首次在快视系统中提出硬件数据预处理概念,由FPGA直接对高速海量CCD图像数据进行缩放、平移和数据融合等操作,克服了计算机处理高速海量图像数据的技术瓶颈;最后采用多台12位显示器进行大幅面、高灰阶无缝显示,弥补了以往快视系统只能截断与抽样显示大幅面高灰阶遥感图像的缺陷。本系统能对遥感相机输出的多通道高速图像数据进行实时快视、记录和事后回放,可对遥感相机的成像质量和各种性能参数做出准确的评价,给遥感相机的研制人员带来了极大的方便。目前本系统已成功应用于高分多模卫星测试项目,系统运行可靠,性能稳定。实验测试结果显示:该系统存储容量可达100 TB,可对18通道CCD图像数据进行记录与实时显示,每通道CCD输出时钟频率为140 MHz,像元数为8192,数据为12位量化,总速率高达80 Gbit/s。如果处理的通道数需要增加,只需增加相应的单元即可,具有良好的扩展性。