发明内容
本发明要解决的技术问题是针对以上不足,提供一种高光谱卫星星载数据智能解译系统及其实现方法,能更加客观高效的提取目标信息,形成专题产品,减少了时间和人力成本;通过将神经网络部署上星的方式,使得用户无需将原始影像下载至地面,可以解决时效性问题,极大的缩短了信息获取的周期。
为解决以上技术问题,本发明采用以下技术方案:
一种高光谱卫星星载数据智能解译系统,包括模型生成模块和星上推理模块,模型生成模块用于训练及部署模型,星上推理模块用于对新采集的数据使用训练好的神经网络进行智能解译。
一种高光谱卫星星载数据智能解译系统的实现方法,包括模型生成模块的实现方法和星上推理模块的实现方法;
所述模型生成模块的实现方法是在地面使用历史数据训练好针对不同任务的深度学习模型后,上传到卫星中;
所述星上推理模块的实现方法是凭借星上的AI加速芯片的算力支撑,在星上推理模块对采集的高光谱影像进行实时解译,最后将数据量小、信息量大的解译结果通过中继卫星发送到地面接收站。
进一步的,所述模型生成模块的实现方法包括以下步骤:
步骤1,制作训练样本数据集;
步骤2,进行模型选取及训练,训练船舶目标检测网络;
步骤3,进行模型量化部署;
使用python脚本对训练好的YOLOv5s模型进行8bit全整形量化,使用训练集作为量化数据。
进一步的,所述步骤1具体包括以下步骤:
步骤1.1,在历史数据库中选取感兴趣区域的高光谱数据,并使用主成分分析技术PCA对高光谱数据进行降维;
从数据库中采集包含有船舶的高光谱影像,每一景影像的像元大小为5056*5056,具有32个波段,光谱范围为400nm-1000nm,空间分辨率为10m;使用python脚本将32波段的高光谱影像32*5056*5056利用PCA技术降维到4波段4*5056*5056;
步骤1.2,对选定的区域内的目标进行标注,形成对应的标签数据;
使用“labelImg”开源标注软件对所选取的高光谱影像中的船舶目标进行标注,对于每一景影像,标注软件会生成一个同名的txt文件,文件中每一行内容记录了一个目标,格式为class_id、x_center、 y_center、w及h,其中class_id是指定的类别id值;x_center和y_center代表目标中心的横纵坐标;w和h代表目标的长和宽;
步骤1.3,将PCA降维后的影像数据和对应的标签数据按一定的像元宽度进行切片,形成样本数据集,然后对样本数据集按照一定的比例将其划分为训练集和测试集;
使用python脚本,按632*632的像元宽度对5056*5056的影像及标注信息进行滑动窗口切片,形成样本数据集,因此每一个样本影像大小为4*632*632;对包含标注信息的txt文件进行切割时,若目标框有大于等于90%的面积在当前样本中,则保留,否则丢弃,最终按照6:4的比例划分为训练集和测试集。
进一步的,所述步骤2具体包括以下步骤:
步骤2.1,根据任务选取合适的神经网络模型;
构建模型,选取开源目标检测模型YOLOv5系列的YOLOv5s,将其输入端的通道设为4,对应样本的4个波段;
步骤2.2,设置训练参数,包括迭代次数、学习率及调整曲线、损失函数、优化器、精度评估方式;
步骤2.3,执行训练,使用S13中的训练集和梯度下降算法对神经网络模型进行训练,在迭代训练过程中没间隔一定次数就使用S13中的测试集进行精度评估,在精度提升时保存模型,则训练结束后得到的即为精最佳模型;
选择训练集对YOLOv5s进行训练,在迭代训练过程中每完成一个epoch的迭代就使用测试集进行精度评估,在精度提升时保存模型权重best.pt,则训练结束后得到的即为精最佳模型。
进一步的,所述星上推理模块的实现方法包括以下步骤:
步骤a,获取卫星实时采集的高光谱影像数据,每次输入大小为32*5056*5056;
步骤b,对影像进行前处理;
步骤c,进行模型推理,将前处理单元输出的切片数据进行批量化推理,加速处理速度;
步骤d,对推理结果进行后处理,将推理单元输出的结果进行拼接,并对重叠区域中重复提取的结果进行筛选,按一定的格式转换为矢量数据;
步骤e,投影地理坐标单元;
步骤f,将输出结果编码直接或通过中继卫星发送到地面站。
进一步的,所述步骤b具体包括以下步骤:
步骤b.1,提取输入影像数据的地理坐标信息;
步骤b.2,参照训练样本大小,以一定的重叠率对输入影像进行滑动窗口切片;
以632*632的切片大小、128为重叠宽度,对输入的5056*5056影像进行滑动窗口裁剪,如果最后的一个滑动窗口越界,则通过坐标回退的方式保证不越界;
步骤b.3,对切片后的数据进行PCA降维操作,形成4*632*632的切片数据。
进一步的,所述步骤c具体如下:
调用目标检测模型对切片数据进行批量推理,批量大小设为4,加速处理速度,对于每一个检测到的目标,模型的输出格式为prob、 class_id、x_center_abs、y_center_abs、 w_abs及h_abs,其中的prob为当前位置存在目标的置信度,_abs表示当前的目标坐标系为以影像的左上角为零点的相对坐标。
进一步的,所述步骤d具体如下:
将推理输出的结果进行拼接,对目标框进行矢量化格式转换,具体为将prob、class_id、x_center_abs、y_center_abs、w_abs及h_abs的输出格式转化为矩形目标框的左上、右上、右下、左下4个顶点;并对重叠区域中的重复检测使用nms算法进行筛选,其筛选具体过程为:
1)按照置信度对所有检测到的目标进行排序,保留置信度最大的目标;
2)将其它目标框与当前保留的最大置信度的目标框进行IoU比较,大于50%的目标则丢弃;
3)重复前两步直到遍历完所有检测到的目标,则为筛选后的结果。
进一步的,所述步骤e具体如下:
将后处理输出的矢量数据按照步骤b.1保存的坐标信息投影到指定的空间参考坐标系,使目标表示为class_id、 x_min_real、 y_min_real、x_max_real、y_min_real、x_max_real、y_max_real、x_min_real及 y_max_real,代表目标的真实地理坐标。
本发明采用以上技术方案,与现有技术相比,具有如下技术效果:
在地面使用历史数据训练好针对不同任务的深度学习模型后,上传到卫星中,凭借AI加速芯片的算力支撑,在星上对采集的高光谱影像进行实时解译,最后将数据量小、信息量大的解译结果通过中继卫星发送到地面接收站,经过训练的神经网络可以融合大量的专家知识,在面对新的高光谱影像数据时,与传统的人工解译的方式相比,能更加客观高效的提取目标信息,形成专题产品,减少了时间和人力成本;通过将神经网络部署上星的方式,使得用户无需将原始影像下载至地面,可以解决时效性问题,极大的缩短了信息获取的周期。
具体实施方式
实施例1,如图1所示,一种高光谱卫星星载数据智能解译系统,包括模型生成模块和星上推理模块,模型生成模块用于训练及部署模型,包括样本数据集制作、模型选取及训练和模型量化部署,星上推理模块用于对新采集的数据使用训练好的神经网络进行智能解译,包括对输入数据预处理、滑动窗口切片、模型推理、推理结果拼接及后处理、投影地理坐标和发送处理结果。
所述星载高光谱影像数据解译系统中模型生成模块在地面使用历史数据训练好针对不同任务的深度学习模型后,上传到卫星中,星上推理模块凭借星上的AI加速芯片的算力支撑,在星上对采集的高光谱影像进行实时解译,最后将数据量小、信息量大的解译结果通过中继卫星发送到地面接收站。
一种高光谱卫星星载数据智能解译系统的实现方法包括模型生成模块的实现方法和星上推理模块的实现方法。
如图2所示,所述模型生成模块的实现方法包括以下步骤:
步骤1,制作训练样本数据集,具体包括以下步骤:
步骤1.1,在历史数据库中选取感兴趣区域的高光谱数据,并使用主成分分析技术(PCA)对高光谱数据进行降维。
从数据库中采集包含有船舶的高光谱影像,每一景影像的像元大小为5056*5056,具有32个波段,光谱范围为400nm-1000nm,空间分辨率为10m;使用python脚本将32波段的高光谱影像(32*5056*5056)利用PCA技术降维到4波段(4*5056*5056),目的是减小噪声的干扰,同时可减少神经网络的计算量,提高推理速度。
步骤1.2,对选定的区域内的目标进行标注,形成对应的标签数据。
使用“labelImg”开源标注软件对所选取的高光谱影像中的船舶目标进行标注,对于每一景影像,标注软件会生成一个同名的txt文件,文件中每一行内容记录了一个目标,格式为(class_id, x_center, y_center, w, h),其中class_id是指定的类别id值,在本例中为0;x_center和y_center代表目标中心的横纵坐标;w和h代表目标的长和宽。
步骤1.3,将PCA降维后的影像数据和对应的标签数据按一定的像元宽度进行切片,形成样本数据集,然后对样本数据集按照一定的比例将其划分为训练集和测试集。
使用python脚本,按632*632的像元宽度对5056*5056的影像及标注信息进行滑动窗口切片,形成样本数据集,因此每一个样本影像大小为4*632*632;对包含标注信息的txt文件进行切割时,若目标框有大于等于90%的面积在当前样本中,则保留,否则丢弃,最终按照6:4的比例划分为训练集和测试集。
步骤2,进行模型选取及训练,训练船舶目标检测网络,具体包括以下步骤:
步骤2.1,根据任务选取合适的神经网络模型。
构建模型,选取开源目标检测模型YOLOv5系列的YOLOv5s,将其输入端的通道设为4,对应样本的4个波段,YOLOv5s具有较少的参数量和更快的推理速度,较少的参数量意味着不容易过拟合,适用于小样本量、目标纹理简单的情况下。
步骤2.2,设置训练参数,包括迭代次数、学习率及调整曲线、损失函数、优化器、精度评估方式等。
步骤2.3,执行训练,使用S13中的训练集和梯度下降算法对神经网络模型进行训练,在迭代训练过程中没间隔一定次数就使用S13中的测试集进行精度评估,在精度提升时保存模型,则训练结束后得到的即为精最佳模型。
选择训练集对YOLOv5s进行训练,在迭代训练过程中每完成一个epoch的迭代就使用测试集进行精度评估,在精度提升时保存模型权重(best.pt),则训练结束后得到的即为精最佳模型,如图3中所示最佳模型在测试集的Map为88%。
步骤3,进行模型量化部署。
使用python脚本对训练好的YOLOv5s模型进行8bit全整形量化,使用训练集作为量化数据。在8bit全整形量化后的模型中,模型参数及中间计算数据全部用整形表示,在边缘设备(星上)上进行整形运算,与复杂的浮点运算相比其指令周期较短,并且数据所占存储空间更小,具有明显的优势;在卫星过境时将量化后的YOLOv5s的权重数据及模型结构配置文件通过地面站上传至星上完成部署。
所述星上推理模块的实现方法包括以下步骤:
步骤a,获取卫星实时采集的高光谱影像数据,每次输入大小为32*5056*5056;
步骤b,对影像进行前处理,具体包括以下步骤:
步骤b.1,提取输入影像数据的地理坐标信息;
步骤b.2,参照训练样本大小,以一定的重叠率对输入影像进行滑动窗口切片;
以632*632的切片大小、128为重叠宽度,对输入的5056*5056影像进行滑动窗口裁剪,如果最后的一个滑动窗口越界,则通过坐标回退的方式保证不越界;
步骤b.3,对切片后的数据进行PCA降维操作,形成4*632*632的切片数据。
步骤c,进行模型推理,将前处理单元输出的切片数据进行批量化推理,加速处理速度。
调用目标检测模型对切片数据进行批量推理,批量大小设为4(视硬件配置而定),加速处理速度,对于每一个检测到的目标,模型的输出格式为(prob, class_id, x_center_abs, y_center_abs, w_abs, h_abs),其中的prob为当前位置存在目标的置信度,_abs表示当前的目标坐标系为以影像的左上角为零点的相对坐标。
步骤d,对推理结果进行后处理,将推理单元输出的结果进行拼接,并对重叠区域中重复提取的结果进行筛选,按一定的格式转换为矢量数据。
将推理输出的结果进行拼接,如图4所示,对目标框进行矢量化格式转换,具体为将(prob, class_id, x_center_abs, y_center_abs, w_abs, h_abs)的输出格式转化为矩形目标框的左上、右上、右下、左下4个顶点(class_id, x_min_abs, y_min_abs, x_max_abs, y_min_abs, x_max_abs, y_max_abs, x_min_abs, y_max_abs);并对重叠区域中的重复检测使用nms(极大值抑制)算法进行筛选,其筛选具体过程为:
1)按照置信度对所有检测到的目标进行排序,保留置信度最大的目标;
2)将其它目标框与当前保留的最大置信度的目标框进行IoU比较,大于50%的目标则丢弃;
3)重复前两步直到遍历完所有检测到的目标,则为筛选后的结果。
步骤e,如图5所示,投影地理坐标单元。
将后处理输出的矢量数据按照步骤b.1保存的坐标信息投影到指定的空间参考坐标系,使目标表示为(class_id, x_min_real, y_min_real, x_max_real, y_min_real,x_max_real,y_max_real, x_min_real, y_max_real),代表目标的真实地理坐标。
步骤f,将输出结果编码直接或通过中继卫星发送到地面站。
本发明将深度神经网络应用于高光谱卫星影像,进行目标检测,通过将神经网络智能解译技术搭载到星上,以提升高光谱影像的处理效率,将影像解译的环节放置到星上,减少了产品生产的中间流程,并减少了数据传输的压力,使得信息获取的实时性得到了极大的提高。
此外,使用神经网络模型代替人工对影像进行智能解译,提高了生产效率,使生产过程实现自动化。经过训练的神经网络可以融合大量的专家知识,在面对新的高光谱影像数据时,与传统的人工解译的方式相比,能更加客观高效的提取目标信息,形成专题产品。
本发明优化了传统的高光谱影像专题产品的生产流程,减少了产品生产周期,并通过采用智能解译技术减少了人力成本。
本发明可适用于其它种类的卫星,如高分辨率卫星及雷达卫星等,而不仅限于高光谱卫星。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好的说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。