星载海量遥感图像智能压缩方法研究
2022-11-02方火能璩泽旭王元乐肖化超王国玺
方火能,璩泽旭,王元乐,肖化超,王 鹏,王国玺
西安空间无线电技术研究所,西安 710000
0 引 言
随着载荷成像技术的迅猛发展,遥感卫星图像的高空间分辨率、高时间分辨率、高光谱分辨率、大观测幅宽、高量化位数使得空间数据量呈指数倍增长,占用了大量星上存储空间和数据传输带宽,严重制约了星地、星间高效频繁的数据传输与交互,影响了遥感卫星图像的应用[1].目前传统的数据处理一般通过增大下传遥感图像的压缩比或提高星地传输链路带宽来实现探测数据的快速下传,但是遥感图像压缩技术已多年未有明显突破[2-3],同时压缩比过高会显著影响图像质量[4],通过传统压缩方式降低传输数据量已遇到瓶颈.理论上通道传输带宽可以通过更高频段和更大发射功率来进行提高,但是在实际工程实现时受卫星自身资源限制,星上数传功率有限,导致传输速率提升空间有限,同时频段越高相关微波产品的设计制造难度越大[5].图像传输通道带宽与海量遥感图像数据量之间存在着巨大的差距和矛盾,严重制约了高分辨率光学遥感技术的应用.对于我国尤其明显,因为我国在世界范围内地面数据接收站较少,且地面数据接收站数量弧段中继传输能力有限,回传时间很长,面临的数据快速下传压力比西方航天强国更大.图像数据量的急剧增长和有限的传输能力是影响探测信息时效性的最大矛盾[6],因此迫切需要研究减少星上无效数据存储和下传量的新途径.
在实际应用中,遥感图像成像过程中经常受到云层遮挡导致地物信息缺失,被云层遮挡的目标基本不再具备可用信息,存储这些无用信息图像不仅浪费存储空间而且影响数据再次检索和利用的效率.经统计,云覆盖占据了全球1/3以上区域,导致卫星成像过程中存在大量无效数据;而现有压缩方法未考虑云覆盖的问题,导致下传的数据存在大量无用数据[7].同时当前的星载图像压缩均从图像的角度进行无差别的统一编码,未能结合图像所包含的信息重要度来进行图像传输效率的优化提升.因此,有必要开展面向海量遥感图像的在轨云检测、区域图像感兴趣度研究,利用云判结果及图像信息重要度来指导图像的高效压缩,从而提高卫星有效数据的存储和传输效率,实现光学遥感卫星应用效能的提升.
1 研究方案
目前所使用的云检测方法主要有2种:1)传统方法,主要基于物理特性的阈值法、基于纹理与空间信息的云检测算法以及基于模式识别的云检测算法[8];2)基于深度学习的光学遥感图像云检测算法[9].基于深度学习的云检测算法首先需要建立各类卫星拍摄的全色图像和高光谱等海量图像样本库,并对收集到的图像进行云区域标注,然后使用标注后的样本库对深度学习网络进行训练和优化.受星上有限的算力资源限制,无法实现星上高达几十乃至上百Gbps的海量遥感图像实时云检测处理.但是仅利用传统方法进行云检测,难以高效、快速地将云与冰雪等相似特性的下垫面进行分离,尤其是在遥感器不具备多个谱段数据的情况下,云检测准确率会显著降低.
从遥感图像数据应用角度,所显示及恢复的图像一般以“景”为单位,针对海量的遥感图像数据,用户一般对包含大量可用的地物信息或者重点区域的“景”图更加关注.考虑云检测实时性并结合应用实际,本文基于传统方法在保证检测性能的前提下尽可能地降低运算量,针对性选取亮像素点比例、角二阶矩、平均梯度等运算量相对较少的特征来构建多维特征分类器,并对多维特征进行降维处理,该方法对厚云具备良好的实时检测性能.由于被厚云遮挡的地物基本不含可用信息,于是可通过对检测的云图进行剔除或采用大压缩比压缩,从而大幅降低星上存储空间及传输带宽.对于大多数高分辨率卫星而言,其传感器波段只包括了可见光波段和近红外波段,易将地物的冰雪误判为云图[10].为了区分高亮复杂下垫面地表区的云雪,一些学者采用基于成分分析和分形求和模型,研究并构建了高亮下垫面地区云雪分离算法[11],可有效区分云图和地物雪地,但是该类方法处理流程及运算复杂度较高,难以做到实时,仅适合在地面处理应用.本文根据地球表面不同纬度及季节的气候差异性,利用卫星平台提供的姿轨数据及UTC时间,解算出图像景中心点的经纬度位置及对应成像地物所处的季节时间.对检测出来的厚云图,根据其位置信息及季节信息来决定对当前景图是否进行云剔除处理.针对所检测出来的薄云区域,根据图像景中心的经纬度与星上预存的感兴趣区域位置模板库的匹配结果,来决定当前景图是否为用户“感兴趣区域”.若为“感兴趣区域”,则对当前景图不进行剔除处理,传送至压缩模块进行常规压缩;若为“非感兴趣区域”,则进行云填充处理后采用大压缩比进行压缩.对于无云区域,由于包含了丰富的地物信息,采用常规压缩进行.星载海量遥感图像实时云检测与智能压缩的总体方案见图1所示.
图1 遥感图像在轨实时云检测与智能压缩处理流程图Fig.1 Procedure for remote sensing image on-board real-time cloud detection and compression processing
2 技术方法
2.1 景图像生成及分块
在光学遥感器领域,一般将CCD图像传感器称为线阵相机,用于推扫成像;CMOS图像传感器称为面阵相机,用于凝视成像[12].线阵相机成像工作时,输出的图像行长固定,成像总行数与积分时间及相机工作时长有关.面阵相机成像大小为行列均固定,成像的数据量与面阵帧频及相机工作时长有关.
目前常用的遥感图像压缩算法有JPEG-LS、JPEG2000、SPIHT等,无论采取哪种算法,均采用分块思想按照一定图像幅宽大小作为输入进行图像压缩.对于固定宽幅图像,一般按照图像行等分、块最大的原则进行输入图像的分块(定义一块大小为L行、C列)处理,将分出的子块图像分别送给压缩单元进行压缩处理.综合前端载荷成像特点及后端图像压缩的分块要求,线阵或面阵成像构建星上一景图像大小为
1)线阵成像,景图像大小为N×K个图像子块,其中每个子块大小为L×C,k为线阵图像行长L0与子块长度L相除后的向上取整,对不足的子块进行固定数据填充处理;
2)面阵成像,景图像大小为一幅面阵图像,为了便于处理,将1个面阵分割为j个L×C的图像子块.
根据光学遥感卫星线阵或面阵成像的特点,通过景图及图像压缩块的统一处理,构建如图2所示的线阵图像景或面阵图像景.
图2 图像景构建Fig.2 Image scene construction
2.2 高性能实时云检测
阈值分析法是利用云和地物的亮度差异选择合适的阈值来实现分离,该方法算法简单,容易实现,无需较多硬件资源便可实现快速的云检测.但是固定阈值难以对下垫面中含有冰雪、高亮建筑物进行有效区分.基于云的纹理及空间特性差异可以实现云地分割,包括灰度特征、频率特征、纹理特征、辐射特性等[13-15],通过合适的特征或特征组合来区分是否为云图,由于遥感影像中云的种类较多,所选的特征并不能全面准确地描述云和下垫面的差异.
本文基于景图分块的思想来实现云检测,对每个子块的云边缘纹理无需精确的识别,从而专注于当前子块区域纹理的特征提取,综合利用阈值分析和空间纹理特征检测相结合来进行云图的识别.考虑星上计算资源,选用灰度值、平均梯度、灰度共生矩阵等显著性特征来构建候选特征参量,其中灰度共生矩阵主要包括二阶矩阵、对比度、相关度、熵、方差、逆差距等.但并不是所有的特征参量均有利于云图与地物的分类,因此选择具有良好分类效果的特征非常重要,为了加快云检测效率,将上述的原始多维特征进行压缩,可获得较低维度的特征空间,从而消除各特征参量间的冗余性[14],有利于降低星载处理系统的计算和存储资源消耗.
高性能在轨实时云检测流程如图3所示,星载实时云检测处理分为景图构建、图像分块、阈值分析、特征计算、基于SVM分类器云检测共5部分,选取亮像素点比例、角二阶矩、平均梯度等运算量相对较少的特征来构建多维特征SVM分类器.其中阈值参数及SVM模型的权重均可支持上注,通过将阈值分析法及空间纹理特征分析法相结合,可对厚云实现良好的检测性能.
图3 在轨实时云检测算法流程Fig.3 On orbit real-time cloud detection algorithm flow
针对非厚云景图,可结合下文2.3节中图像景中心的经纬度、高程信息、季节信息来进行辅助分类.星载载荷成像时,不仅包含原始图像,还包括相关辅助数据;为确保图像传输格式的完整性,同时与后端的压缩兼容,将云检测结果的标识信息存放在每个子块的图像辅助数据中,用于指导后面的图像压缩.
2.3 图像景中心点实时定位
遥感图像几何定位是根据图像上识别的某个目标点的影像坐标,利用遥感图像的几何定位模型确定该点几何位置的过程[16].传感器几何模型是进行几何处理的基础,反映了地面点三维空间坐标与相应像点在像平面坐标系中二维坐标之间的数学关系.利用卫星成像时刻GPS相位中心的轨道数据、星敏感器测得的姿态数据,以及GPS、星敏感器、传感器之间的安装关系来构建严密几何成像模型,可实现景图像中心点的几何定位.
共线方程作为卫星影像几何处理的基本模型,其本质为相机投影中心、像点及对应的物方点3点共线,即像方矢量与物方矢量共线,其中像方矢量以投影中心为起点、像点为终点;物方矢量以投影中心为起点、物方点为终点,如图4所示.
图4 影像矢量共线图Fig.4 Image vector collinear graph
相比于CCD线阵数据,CMOS面阵数据单帧图像曝光时间大幅度缩短[17],其成像与定位解算模型相对简单,面阵中心点即为中心投影,下文重点对线阵图像定位进行阐述.光学卫星传感器以线阵推扫成像时,每一扫描行均满足中心投影.在影像目标点定位过程中,需要根据目标点在条带影像上的行号得到该影像行的推扫成像时刻.根据不同的卫星设计,有些卫星可获得每一影像行的准确成像时刻,有些卫星则每间隔一定行数给出一组成像时刻及影像行积分时间,后者需要根据行号插值来计算出目标点的所在行成像时刻.
卫星在飞行过程中,每隔一定时间会获取一组GPS数据,包括卫星在该时刻下位于WGS84坐标系下的位置和运动速度矢量.由于GPS数据的获取时刻与卫星各影像行的成像时刻并不一致,故需根据目标点的成像时刻对GPS数据进行内插计算:首先对一定间隔的一组GPS数据进行多项式拟合,得到卫星运行轨道的局部曲线,再代入目标点的成像时刻,内插出该时刻下的卫星位置及速度矢量.
卫星的姿态数据与GPS轨道数据类似,卫星在成像过程中每隔一定时间获取一组在空间固定惯性坐标系下的卫星姿态数据.由于卫星姿态数据的获取时刻与各影像行的成像时刻也不一致,故处理方法亦同GPS数据,需对一组姿态数据进行拟合,由目标点的成像时刻内插得到该时刻下的卫星姿态.
由目标点在条带影像上的行号、列号、相应成像时刻、GPS位置、速度矢量及卫星姿态,即可根据卫星几何成像原理进行坐标变换,组成卫星、影像上目标点、相应地面目标点3点共线的光束方程,与地球椭球面方程相交即可得到目标点的地面坐标.
由于星敏感器数据观测的周期性间隔和传输延迟,姿态数据与实际成像数据有一定的时间差.一般姿态数据的获取时间要早于影像的成像时间,要对景图像中心点进行实时定位,需根据卫星成像时间和先前的卫星姿态数据,采用拉格朗日内插方法得到卫星实际成像时刻的姿态数据,即对卫星姿态数据进行一定时间间隔的外推.无论是线阵景图像还是面阵景图像,每次定位均为固定的景中心点,其像点固定,充分利用后半景图像的传输和处理时间差来进行解算处理,可以实现景图中心点的实时定位.
目前卫星平台均具备较高的姿态指向精度和姿态稳定度[18-20],采用上述定轨定姿技术所测定的外方位线元素总体精度非常高,仅带有少量系统误差,对影像定位精度影响较小.结合地面内外定标系统对星上成像模型参数进行修正及优化,可以实现星上高精度实时定位[21].
2.4 图像压缩策略
2.4.1 压缩算法
在卫星遥感图像压缩编码算法研究方面,压缩算法已经从原有的DPCM和DCT方法发展到基于小波变换的方法.由于小波变换具备良好的时频域局部化分析性能,压缩性能好,已经逐步取代了DPCM和DCT.目前基于JPEG2000的图像压缩算法仍是国际上公认的先进标准算法,它在所有位率下都具有出众的性能,同时支持无损和有损压缩,支持渐进传输功能可以实现压缩一次多次解码,支持码流随即访问和处理等.而JPEG-LS算法适用于静态连续色调图像进行无损或近无损压缩[22],凭借优秀的压缩性能和较小的硬件实现复杂度,JPEG-LS在无损或者4∶1下的低压缩比压缩时进行了广泛的应用.综合考虑压缩算法的压缩性能及算法复杂度,本文采用JPEG2000及JPEG-LS来进行算法性能的评估.
2.4.2 云检测指导压缩
在实际遥感图像中,云区域是不规则的,对于非规则图像的压缩,需要耗费较大的资源代价,针对海量遥感图像,难以实现非规则图像的实时压缩.本文采取对遥感图像进行按景划分,先对每个子块进行独立的云检测,然后统计每景图像中的含云量占比,含云量占比P=(有云子块数量/景内总块数)*100%,当该景图像中的含云量占比超过一定的阈值(比如60%,该阈值可以调整),于是便判定该景图像为厚云图,将其进行云剔除处理.景图云检测剔除流程参见图5所示,对含云量低的景图暂不做处理,将含云量高的景进行云剔除处理.
图5 景图云检测剔除流程Fig.5 Scene cloud detection and elimination process
由于图像压缩算法均以矩形图像作为输入,当某景图像中含云量较高时,直接将该景图像全部视为云图;为保证图像的空间特性不变,将整幅景图进行固定单色填充.由于一景图像为连续多个满足压缩输入的矩形子块,于是在每个压缩子块内,不会出现无效区域与有效区域的强边缘,从而可以获得更好的编码效果.基于真实遥感卫星图像的云检测效果图如图6所示,子块中“1”代表有云,“0”代表无云.
图6 不同含云量的景图Fig.6 Image scene with different cloud content
2.4.3 景定位指导压缩
遥感云图按照重要性不同程度划分,不仅包含重要的感兴趣区域,还包含大量关注度低的地物区域.本文主要考虑海量遥感图像数据云检测的实时性,故所选用的云检测算法对冰雪及高亮地物会存在一定的虚警.由于冰雪地区一般存在高纬地区及高海拔地区,通过星上预置的感兴趣区域经纬度及高程信息,可以进一步将虚警的冰雪进行有效剔除.本文按景进行图像分块划分及按不同含云量阈值来判决,根据每景图像中相应子块的云检测结果进行景内子块云占比统计,即便对景图像内个别高亮地物子块图像存在误判,也不影响当前景图像是否为云图的判读结果.
按照图1所示,将景图像中心点的定位信息与云检测结果相结合,对感兴趣区域的厚云景图,不进行云填充剔除处理;对于薄云区域,若为非感兴趣区域,同样进行景图像填充剔除处理.
3 性能评估
3.1 云检测性能测试
针对20~40 Gbps的相机载荷速率,采用阈值分析、特征计算、SVM判别和亮度特性联合判决进行云检测,该方法对厚云具有良好的检测性能,并且所消耗的硬件资源较少,可以做到实时处理.基于真实遥感卫星图像的云检测效果图如图7所示,景图像子块中“1”标识代表有云,“0”标识代表无云;采用典型的检测阈值,其检测性能表现良好.若结合相机成像特性对阈值及SVM模型的权重进行动态调整,可实现更好的云检测效果.
图7 景图像的子块云检测结果Fig.7 Sub-block cloud detection results of scene image
3.2 定位性能测试
实验采用我国东北地区(东北实验场)高分卫星原始影像数据,卫星本体的轨道及其姿态情况如图8所示.从图中可知,卫星轨道和姿态变化平稳,其平差过程可以采用位置姿态常量加一阶或者二阶参数模型进行模拟.利用检查点对平面和高程误差进行分析,影像平面定位误差在200 m以内,高程误差在100 m以内,如图9所示.对于一幅景图像,其图像幅宽远大于200 m,即便按照最大定位误差考虑,其定位的景中心点坐标位置信息也均落在景图像中,其定位精度满足使用要求.
图8 卫星轨道和姿态数据变化示意图Fig.8 Schematic diagram of satellite orbit and attitude data changes
图9 平面和高程坐标误差柱状图Fig.9 Histogram of plane and elevation coordinate errors
3.3 云填充压缩性能测试
为了测试不同地物类型对于遥感影像压缩码流大小的影响,选取2张含云量为0%且地物类型差异较大的全色遥感影像,如图10所示,可以看出图10(a)的地物类型为分块农田,纹理较为简单,图10(b)的地物类型为居民区和建筑物,纹理较为复杂.同时为了对比遥感影像在不同含云量时压缩码流的大小差异,分别选取含云量为45%、60%、90%的全色遥感影像,如图10(c)~(e)所示.为了测试不同压缩算法对云填充后的景图压缩性能,人工构造纯白图像作为云填充后的景图,见图10(f)所示.测试景图由64个子块组成,每个子块大小为512行×512列,图像的量化位宽为12 bit.
图10 不同含云量的测试用例图像Fig.10 Test case images with different cloud content
基于图10所示的测试用例,为了确保图像质量,压缩比按照标称无损、2∶1、4∶1进行设置,分别采用JPEG2000和JPEG-LS 2种算法进行压缩性能测试.为了分析不同压缩比下的图像质量,增加JPEG2000的 8∶1作为参照,同时对每种算法在不同标称压缩比下的PSNR进行计算,并对实际压缩倍数进行统计.其压缩性能分别见表1和表2所示,分析含云量0%、45%、60%、90%、云剔除填充5种景图的压缩码流特性可知:
1)基于同一压缩算法,在相同标称压缩比下,图像含云量越高,压缩后码流越小,并随着含云量增加其压缩后数据量降低越明显;
2)在景图云占比大于典型阈值(按60%考虑)时,图像所包含的地物基本被云层遮挡,可用信息较少,含云量越高,无效图像数据越多;
3)实际遥测图像中,即便是云占比高达90%,在不进行云填充剔除时,2种压缩算法虽然均可降低压缩后数据量,但是效果不明显;
4)对景图采用云填充剔除后,在2种压缩算法下,均可显著降低景图像压缩后的码流数据量,实际压缩倍数明显增大,对于JPEG2000算法,效果更加明显;
5)采用高倍压缩比时,JPEG2000算法的图像质量更佳;在云填充压缩且压缩质量固定时,JPEG2000的实际压缩倍数可以得到极大的提高,显著降低了景图像压缩后的码流数据量.
通过表1~2可以看出,采用标称压缩比并按控制图像质量进行压缩时,采用JPEG2000压缩算法,在按景云填充,其压缩后的码流数据量约为原始图像的1/20000;采用JPEG-LS压缩算法,在按景云填充压缩后,其压缩后的码流数据量约为原始图像的1/400.采用2种常用的星载图像压缩算法,均极大降低了压缩后的数据量,减小了存储容量资源,减轻了数传带宽的压力.
表1 JPEG2000算法在不同含云量下的压缩性能Tab.1 Compression performance of the JPEG2000 algorithm under different cloud content
表2 JPEG-LS算法在不同含云量下压缩性能Tab.2 Compression performance of the JPEG-LS algorithm under different cloud content
4 结束语
本文针对星载海量遥感图像的存储资源及数传下传带宽不足,兼顾云检测及图像压缩的矩形子块需求,构建由多个子块组成的景图像,对图像子块进行实时云检测处理并统计景内云占比,同时基于原始影像数据及卫星姿态及轨道数据,对景图像中心点实时定位,并将景图像定位结果与星上预置的感兴趣区域模板库进行匹配.本文综合利用在轨实时云检测及景中心点定位信息,研究了一种云检测及景图重要度指导图像压缩的方法,该方法对厚云及非感兴趣区域的薄云景图采用云剔除填充处理,并对云剔除填充后的景图采用目前常用的2种星载图像压缩算法进行了性能测试.采用本文所研究的智能压缩方法,可有效减小星载存储容量资源,缓解海量遥感图像呈指数增长的数据量与有限通道带宽之间的矛盾,提高遥感光学卫星的应用效能,可为未来遥感图像在轨处理提供一定的方法参考及技术支撑.