肖化超 王鹏 张建华 师勇 孙钰林 郭琪 杨芳
(1 中国空间技术研究院西安分院,西安 710100)(2 航天东方红卫星有限公司,北京 100094)
在轨图像智能处理是实现遥感卫星智能化的关键技术,是当前遥感卫星技术发展与工程应用的一个热点方向,受到广泛关注。美国地球观测-1(EO-1)等卫星采用了星上图像处理技术,具有突发事件监测等功能[1]。我国民商用卫星中,如清华一号等具有星上云检测等功能[2]。近年来,国内各研究机构对智能遥感卫星进行积极探讨,文献[3]对新型智能遥感卫星技术进行了展望,强调智能遥感卫星必须具备开放软件平台、支持第三方灵活开发及应用软件上注的架构。文献[4]对智能遥感卫星服务模式、涉及的相关处理方法等进行了介绍。国内多个研究机构、高校对遥感图像在轨智能处理技术进行探索[5],文献[6]指出当今对地观测卫星系统已具备良好的测量及数据获取能力,但缺乏智能化观测及感知能力,需重点突破星上数据处理关键技术,建立以用户需求为核心的任务驱动型遥感数据星地协同处理机制,并给出后续遥感卫星智能化提升的发展方向。
传统星上处理仅实现载荷数据接入、数据组帧、格式编排、数据缓存等功能,无法满足用户信息获取的产品化需求,星上成像、过境回传、地面事后处理的方式限制了卫星的应用效能,制约了卫星用户信息获取的针对性和时效性,因此星上智能处理是未来遥感卫星效能倍增和智能化提升的关键。
本文首先介绍遥感卫星在轨智能处理系统总体架构设计,其次对星载智能处理器中多项关键技术进行论述,最后基于某遥感卫星实际在轨测试结果对相关设计验证情况进行介绍,通过在轨智能处理极大地提高了用户信息获取的时效性,提升了卫星观测效能及服务能力,可供后续遥感卫星星上智能处理设计参考。
在轨智能处理设计顶层采用软件定义卫星的思路,通过软硬件系统化统筹,将星上处理与数传基带处理整合为智能处理器,基于同一套硬件平台通过加载不同软件实现各自功能,利用高性能智能处理器平台按照用户具体需求以软件加载的方式直接进行在轨处理,改变以往星上成像、地面事后处理的方式,提升卫星的在轨服务能力。
智能处理器作为核心处理设备,负责图像智能处理、压缩编码、存储及供配电控制等,由路由单元、计算单元、存储单元、控制单元等11块插板组成,单元间交叉备份,单元内互备份,最大程度保证在轨运行的可靠性。采用基于标准化架构,数据流向由路由单元集中调度后再由各计算单元进行分布式处理,以适应不同功能框架、流程、接口相兼容的需求。以路由单元作为数据交换核心,外部高速载荷先统一由路由单元接入,对不同数据按虚拟信道组帧后再按任务要求分配到计算单元、存储单元、调制适配单元,并负责各功能单元之间的数据交互,从而实现多种速率、多种形式数据的系统级灵活管理,其整体架构如图1所示。
图1 星载智能处理器系统架构
星上智能处理主要目标是通过在轨处理直接从海量成像数据(吉字节/太字节量级)中提取出用户感兴趣的目标图像或信息(千字节/兆字节量级),以处理结果的快速下传改变海量数据地面后处理的传统模式,提升用户信息获取的针对性和时效性,倍增卫星的应用效能,支撑未来智能对地观测任务的需求。具体包括三大类功能:图像预处理、基于地理位置的区域图像提取、基于目标检测的区域图像提取,标准化开放式的系统设计还支持装载其它第三方软件实现其他用户自定义的对地观测功能。
图像预处理包括相对辐射校正和在轨实时云检测处理。
基于地理位置的区域图像提取根据用户上注的经纬度预设感兴趣区域,从原始成像数据中快速提取区域图像数据后供后续处理或生成产品后下传。
基于目标检测区域图像提取,支持对飞机、舰船、油罐等多类型目标检测处理,经检测、定位一体化处理后直接为用户提供重点目标切片及位置等相关信息。
总体处理流程如图2所示,上述功能设计所对应核心软件最终固化在计算单元中,在控制单元的统一管理下,载荷数据由路由统一接入后,其他硬件单元配合进行数据缓存及流程交互,核心的算法处理在计算单元以功能软件调用的方式实现,处理结果由路由统一调度至通道对地下传。图像预处理由现场可编程门阵列(FPGA)进行实时处理,其他两大类功能由于算法和流程复杂度较高,使用异构计算框架(FPGA+数字信号处理(DSP))进行准实时处理。
图2 遥感卫星在轨图像智能处理系统框图
星上智能处理系统除核心功能软件外,还需相关参数库支持,包括数字高程模型库(DEM)、辐射校正、几何校正参数以及深度学习网络参数等,在地面进行相关算法迭代、模型参数的优化调整,再通过多层级在轨重构优化提升在轨处理性能。
与传统数据处理器相比,智能处理系统在数据流调度灵活性以及对星上处理复杂功能支持方面具有优势,其特点如下。
(1)软件定义功能。智能处理与数传基带共用资源,提升了系统的应用效能。
(2)高性能异构计算平台。以高性能FPGA、多核DSP、大容量高速DDR3数据存储器等为核心构建异构处理平台,通过高速路由调度交互提升系统灵活性,保障图像预处理、图像压缩等常规在轨处理需求。
(3)深度网络轻量化实现。利用模型轻量化技术及并行流水等手段,在资源受限条件下创新性地实现星载高速高效的多类型目标检测。
(4)多层级在轨重构。支持参数库、算法模块和具体功能软件的在轨重构,最大程度利用上行资源保障智能处理在轨演进。
针对多类型高准确度目标检测的需求,创新性地采用深度学习技术,基于网络轻量化处理及并行流水设计实现轻量化网络星载部署;针对云检测在轨实时处理需求,采用基于多特征分类器的云检测技术对成像结果中的云区进行处理;考虑在轨常态化运行后的优化需求,采用多层级上注重构技术,通过对参数、算法、功能进行三级上注管理,保障在轨功能性能优化演进。
基于深度神经网络的目标检测不仅能够突破传统目标检测方法所支持类型单一的瓶颈性问题,而且可以有效提升复杂背景下的检测效果,但对于资源和能源受限的星载设备,直接基于嵌入式FPGA平台进行高速推理会带来能耗及资源等问题,针对遥感图像目标检测任务大幅宽、小样本、多类型目标尺寸差异大的特点,从算法、算力多维度统筹考虑,对原始模型进行优化,减少资源依赖[7]。
面向在轨目标检测任务的星载轻量化设计方案如图3所示,在网络设计过程中采用模型压缩和参数量化手段,应用粗粒度剪枝及定点化方法[8],在不损失精度的条件下将原始模型转换为可在星载平台上运行的轻量级模型。在硬件实现过程中,基于FPGA并行流水的特点,通过对神经网络不同模块的多线程并行流水调度,提高计算和缓存资源的利用率,减小算法运行延时,提高网络的推理速度,保证高速数据处理下的吞吐率。
图3 星载轻量化网络设计与实现
基于星载神经网络加速技术,单幅图像推理(检测)运算量较原始模型降低约33倍,网络参数从200 Mbyte左右减少至1 Mbyte以内(减少约99.5%),对原始图像分为标准子块后处理,在资源受限的星载嵌入式平台上可达200帧/秒,在复杂背景下检测效果及在轨应用灵活性方面较传统方式有明显优势。
受观测环境影响,遥感图像中存在大量云覆盖率较高的厚云图像,在轨检出并剔除这些区域能减少无效数据下传,降低通道压力并提升地面存储解析效率。薄云、离散云占数据总量并不大,且相关方法可有效去除遮挡恢复图像,因此当前研究重点针对厚云覆盖区,检测率、准确率及实时性是该技术在轨应用的关键。
云区在遥感图像中的表征主要是高亮均匀平坦区,在以往的研究中部分学者采用主成分分析非监督预训练网络结构获取待测影像云特征[9],利用超像素分割方法进行影像分割,最后将检测结果影像块拼接,但该类方法处理流程及运算复杂度较高,仅适合在地面处理,难以实现星载部署。考虑星上运算资源受限及在轨实时处理的需求,需要在保证性能的前提下尽可能地降低运算量,星载实时云检测处理选取亮像素点比例、角二阶矩、平均梯度等运算量相对较少的特征构建多维特征分类器。
总体方案如图4所示,首先对图像进行标准尺寸分块,选取运算量相对较少的特征参数计算子块特征,分类处理分两步,先进行基于亮度特征的粗分类,再对可能是云的高亮度小块进行基于支撑向量机(SVM)的细分类后即可判定该子块是否为云,再根据控制指令决定是否对标记为云的子块进行剔除。由于SVM是有监督的分类器,具体实现时以亮度特征粗分类后的疑似云区子块作为样本对其进行预先训练,参数通过星地链路上注,最终实现地面离线训练,星上在线实时推理,既能保证星上处理的实时性又可简化处理流程,通过参数的迭代还可在轨优化性能。
图4 云检测实时处理
智能处理器各功能所涉及的软件、算法模型等均存储在可重复编程的存储器件中,根据实际需求和上注通道资源依次可开展参数级、算法模块级和软件功能级在轨重构,保障在轨功能性能不断优化演进。
为最大程度适配上行通道资源,采用多层级上注方案,层级划分如图5所示。第一层级,通过微调更新参数库,提升算法性能,上注数据量为千比特到兆比特级;第二层级,基于现有处理流程,更新智能处理相关软件模块,数据量为10兆比特到100兆比特级;第三层,基于现有硬件配置,更新路由、存储、计算核心处理单元的软件,实现处理功能全面升级,上注数据量为100兆比特级。多层级在轨重构可满足用户多样化的需求。
图5 在轨重构层级划分示意图
上注重构流程如图6所示,以计算单元重构为例,首先将待重构软件或参数码流经地面系统封装,通过星地上行通道发送给星务,星务系统根据约定标识识别为智能处理器的上注数据后,将该数据传递给智能处理器控制单元,控制单元对接收数据的有效性进行判断,如果有效则转发至计算单元,否则丢弃并遥测反馈。最后计算单元将所接收的数据进行集中缓存,待接收完成后根据控制指令进行上注数据的固化写入、重加载等,闭环在轨重构流程。
图6 在轨上注重构总体流程
某遥感卫星发射成功后,按照整星任务规划开展了在轨智能处理专项测试及关键技术验证等工作,对智能处理在轨功能性能进行测试评估。
卫星先后对美国纽约沿海机场港口区域以及澳大利亚东北部区域成像,开展目标检测定位功能测试,结果表明:基于深度学习轻量化技术的目标检测可在海量成像结果中同时检测出飞机、船舶、油罐等多类型目标,检测网络对于部分弱小目标以及复杂背景下的泛化能力还有一定的提升空间,受制于地面训练阶段的样本规模,后续可通过样本扩充和参数级在轨重构实现性能优化。将星上下传的检测结果切片框对应到原始图像中,其结果如图7所示。
图7 在轨目标检测结果
此外,星上处理将目标所在相片位置、目标类型、定位解算坐标等组织为统一格式的切片帧下传,第一时间为用户提供多元化的信息供进一步判读决策,极大地保障了卫星用户信息获取的有效性和时效性。
综合多轨任务对星上处理结果进行分析,在初始装订算法参数的运行工况下,目标检测检出率在85%以上,虚警率不超过0.04个/平方千米。在轨测试验证了星载神经网络轻量化技术在遥感图像在轨智能处理领域的实用性和有效性。
在轨实时云检测处理结果如图8所示(部分区域),综合多轨任务统计其检出率为94.15%,无虚警(误检),在默认分类阈值参数设置下,在轨表现良好。
图8 云检测在轨测试结果(部分区域)
综合多轮次在轨测试结果表明:在轨图像智能处理设计完全满足技术要求,在轨工作稳定,表现良好,充分验证并展现了星载深度学习加速、云检测实时处理、多层级重构等多项关键技术的创新性和实用性。
智能处理器单机内部各软件及参数均是通过多层级重构方式完成装订固化,因此地面整星测试阶段该设计已经得到了全面验证,其验证流程如2.3节所述,后续卫星在轨后,可根据整星实际升级需求及应用情况择机开展在轨验证。
本文给出了遥感卫星在轨智能处理的系统组成及方案设计,对星载深度学习加速、云检测实时处理、多层级重构等关键技术进行了介绍。基于某遥感卫星在轨测试结果表明:在轨智能处理系统满足了用户对地智能观测及信息高效获取的需求,有效提升了星上处理的智能化水平。智能处理器基于软件定义功能的设计思路,实现了智能处理与传统数据处理的软硬件资源共享,星载系统多层级重构设计也为后续优化升级提供了有力支撑。将深度学习加速技术应用于在轨处理也为今后的遥感卫星智能处理的发展提供了新的思路,特别是在人工智能技术的星载应用、软件定义星载智能处理系统架构等方面可供后续卫星设计参考。