Kodan System Design¶
Kodan is an OEC system maximizing the data value density of a saturated satellite downlink by adjusting geospatial analysis software to adapt to target satellite computing hardware in space. As constellation population increases to eliminate idle ground station time, the ground segment becomes saturated, and additional satellites increase observation opportunity but not downlinked data quantity. To increase the utility of this saturated downlink, the fraction of downlinked data composed of high-value bits — the data value density — must increase. Distinguishing between high-value and low-value sensor data on a satellite requires execution of geospatial analysis software at the space edge. Unless a satellite processes each sensor sample before the next data capture, not all observations are filtered: a computational bottleneck. Satellites are edge devices in space; volume, mass, energy, and cost constraints prevent deployment of unlimited computational resources [8]. Kodan reduces the computational requirements of geospatial analysis software deployed to the space edge.
Kodan 是一种在轨边缘计算(OEC)系统,它通过调整地理空间分析软件以适应在轨的目标卫星计算硬件,从而最大化饱和卫星下行链路的数据价值密度。随着星座卫星数量增加以消除地面站的空闲时间,地面段(ground segment)会变得饱和。此时,增加更多卫星虽能增加观测机会,但并不能增加下行链路的数据总量。为了提高这种饱和下行链路的效用,下行数据中由高价值比特构成的比例——即数据价值密度——必须增加。在卫星上区分高价值和低价值的传感器数据,需要在空间边缘(space edge)执行地理空间分析软件。 除非卫星能在下一次数据捕获前处理完每一个传感器样本,否则并非所有的观测数据都能被过滤:这就形成了一个计算瓶颈。 卫星是空间中的边缘设备;其体积、质量、能源和成本的限制,阻碍了无限计算资源的部署[8]。Kodan 旨在降低部署到空间边缘的地理空间分析软件的计算需求。
Kodan makes different adjustments to an application’s computational requirements for each hardware deployment target. This approach is an alternative to simply increasing the computational capability of a satellite — something that cannot be done for satellites already in space, and an option constrained by volume, mass, energy, and cost limitations. This approach is also an alternative to simply increasing the number of satellites in a constellation and distributing processing, which incurs high monetary cost and only addresses constellations executing a single application.
To adjust the computational needs of a geospatial analysis application, Kodan leverages three techniques: context-specific models, frame tiling, and context-based elision.
Kodan 针对每个不同的硬件部署目标,对应用的计算需求进行不同的调整。这种方法有别于简单地增强卫星的计算能力——这对于已在轨的卫星而言是无法做到的,并且该选项也受到体积、质量、能源和成本的严格限制。该方法也不同于简单地增加星座中的卫星数量并进行分布式处理——这种做法会产生高昂的资金成本,并且只适用于执行单一应用的星座。
为调整地理空间分析应用的计算需求,Kodan 利用了三种技术:基于上下文的模型特化(context-specific models)、帧分片(frame tiling)和基于上下文的省略处理(context-based elision)。
Context-based model specialization. This technique improves accuracy and precision of on-orbit inference by training models specialized to contexts. A context is a subset of satellite images related by a high degree of similarity in some semantically-meaningful way. For example, there is a high degree of similarity among images of forested land and among images of the ocean, while there is relatively little similarity between an image of forested land and an image of the ocean.
Context-based model specialization provides accuracy and processing time benefits. A context-specialized model yields higher accuracy on data from its context (see Section 5.3). Additionally, a specialized model may retain or improve accuracy while being smaller and simpler, because the model is tailored to a smaller set of data. The ability to use smaller models without degrading accuracy allows satellites to run complex legacy applications (e.g., applications designed for the datacenter cloud) with fast, simple models tailored to the inelastic space edge.
该技术通过训练针对特定上下文(context)特化的模型,提高了在轨推理的准确度和精度。 上下文是指在某种有语义意义的方式下,具有高度相似性关联的卫星图像子集。例如,林地图像之间、海洋图像之间各自具有高度的相似性,而林地图像与海洋图像之间的相似性则相对较低。
基于上下文的模型特化在准确度和处理时间上都带来了益处。一个针对特定上下文特化的模型,在其对应的上下文数据上能产生更高的准确度(见 5.3 节)。此外,由于模型是为更小的数据集量身定制的,它可以在保持或提高准确度的同时,变得更小、更简单。这种在不降低准确度的前提下使用更小模型的能力,使得卫星能够用专为缺乏弹性的空间边缘环境定制的、快速简单的模型,来运行复杂的传统应用(例如,为数据中心云设计的应用)。
Frame tiling. This technique adjusts tile count per frame, which in turn affects the resolution of tiles input into machine inference models. A satellite frame processing application divides the image into some number of tiles and scales each tile to match the neural network input size. Prior work [7, 8] divides each frame into a tile count maximizing inference accuracy. For each application, Kodan sweeps a range of tile counts and selects the count maximizing downlinked data value density for the target hardware platform. When the application is not computationally-constrained on the target hardware, data value density maximizes with the most precise tiling. When the application is computationally-constrained, data value density maximizes at a less-precise tiling with lower total frame execution time (see Section 5.4).
For example, Figure 6 illustrates an application that processes a 10 000 px × 10 000 px Landsat image. The figure illustrates either dividing the image into four tiles 5000 px × 5000 px in size or 16 tiles 2500 px × 2500 px in size. After resizing each tile to the neural network input size, the processing time per tile is constant. Thus, tile count determines frame processing time; a greater number of tiles per frame increases frame processing time.
Tiling affects the quality of the sample input into a neural network. Fewer, larger tiles require more aggressive decimation to match the input dimensions of the neural network. More numerous, smaller tiles support more preservation of tile detail for neural network input.
Prior work [7] shows an empirically optimal tile count for accuracy, and that accuracy degrades as tile count increases or decreases from this value. In Section 5.4, we show that there also exists an empirically optimal tile count for precision, and this tile count may differ from the empirically optimal tile count for accuracy. Further, empirically optimal tile counts vary by model architecture.
该技术调整每帧图像的瓦片(tile)数量,这会进而影响输入到机器学习推理模型中的瓦片分辨率。卫星上的帧处理应用将图像分割成若干瓦片,并缩放每个瓦片以匹配神经网络的输入尺寸。 先前的工作[7, 8]将每帧分割为能够最大化推理准确度的瓦片数量 。对于每一种应用,Kodan 会在一系列瓦片数量中进行扫描,并选择能针对目标硬件平台最大化下行数据价值密度的数量:
- 当应用在目标硬件上 不受计算能力限制 时,数据价值密度在 最精细的分片设置下达到最大化
- 当应用 受到计算能力限制 时,数据价值密度则在一种 精度较低、但总帧执行时间更短的分片设置 下达到最大化
例如,图 6 展示了一个处理 10000 px × 10000 px
Landsat 图像的应用。该图演示了两种分片方式:将图像分割为四个 5000 px × 5000 px
大小的瓦片,或 16 个 2500 px × 2500 px
大小的瓦片。
在将每个瓦片调整到神经网络输入尺寸后, 处理单个瓦片的耗时是恒定的 。因此, 瓦片数量决定了单帧处理时间;每帧的瓦片越多,单帧处理时间就越长。
分片会影响输入到神经网络中的样本质量。更少、更大的瓦片需要更大幅度的降采样(decimation)来匹配神经网络的输入维度。 更多、更小的瓦片则能为神经网络输入保留更多瓦片细节。
先前的工作[7]表明,存在一个经验上对准确度最优的瓦片数量,当瓦片数量高于或低于此值时,准确度会下降。在 5.4 节中,我们表明,同样存在一个经验上对精度最优的瓦片数量,且该数量可能与对准确度最优的瓦片数量不同。此外,经验上最优的瓦片数量因模型架构而异。
Elision of processing based on sample context. This technique avoids execution of computationally-costly filtering on data samples likely to be either mostly high-value or mostly low-value. Instead, Kodan discards images from contexts containing primarily low-value data and downlinks images from contexts containing primarily high-value data. For example, an application searching for building footprints discards data from a context characterized by heavy cloud cover and downlinks data from a context characterized by dense urban areas. Kodan leverages elision by first identifying the tile context and then, if the tile belongs to a context with mostly high-value or low-value data, elides execution of the filtering application.
该技术避免了对那些可能大部分为高价值或大部分为低价值的数据样本执行计算成本高昂的滤波处理。取而代之的是, Kodan 会丢弃来自主要包含低价值数据上下文的图像,并下传来自主要包含高价值数据上下文的图像。
例如,一个搜索建筑物轮廓的应用会丢弃来自以厚重云层覆盖为特征的上下文的数据,并下传来自以密集城市区域为特征的上下文的数据。
Kodan 利用省略处理的方式,首先识别瓦片的上下文,然后,如果该瓦片属于一个大部分为高价值或低价值数据的上下文,则省略滤波应用的执行。
Summary: Kodan leverages three techniques to maximize data value density by adjusting application precision and execution time for each target hardware platform. Context-based model specialization improves data value density via improved precision. When an application is not computationally-constrained, all data value density improvements stem from improved precision. Sample-based processing elision skips lengthy filtering of samples belonging to contexts characterized by large amounts of high-value or low-value data. When an application is computationally-constrained, downlinking samples from a high-value context without filtering small quantities of low-value data has the effect of slightly reducing precision while significantly reducing execution time and thereby increasing data value density. Frame tiling also trades execution time and precision. When an application is not computationallyconstrained, Kodan increases data value density by selecting the empirically optimal tiling for precision.
Kodan 利用三种技术,通过为每个目标硬件平台调整应用的精度和执行时间,来最大化数据价值密度。
- 基于上下文的模型特化通过提高精度来提升数据价值密度。当应用不受计算能力限制时,所有数据价值密度的提升都源于精度的提高
- 基于样本的省略处理会跳过对属于特定上下文(这些上下文的特点是包含大量高价值或低价值数据)的样本进行耗时较长的滤波
- 当应用受到计算能力限制时,从未经高价值上下文中下传样本(即使其中包含少量低价值数据)的效果是:略微降低精度,但显著减少了执行时间,从而提高了数据价值密度
- 帧分片同样是在执行时间和精度之间进行权衡。当应用不受计算能力限制时,Kodan 通过选择经验上对精度最优的分片方式来增加数据价值密度。
Kodan System Architecture¶
Kodan improves the data value density of the saturated downlink within the computational constraints of a target device by adjusting each geospatial analysis application as shown in Figure 7. A onetime application transformation step occurs before deployment. During deployment, Kodan dynamically selects these application adjustments for each sample.
Kodan 通过调整每个地理空间分析应用(如图 7 所示),在目标设备的计算限制内,提升饱和下行链路的数据价值密度。 在部署前,会执行一个一次性的应用转换步骤。在部署期间,Kodan 会为每个样本动态地选择这些应用调整方案。
Before deployment to a satellite: This one-time transformation step generates a “selection logic” that governs how, when, and which techniques (specialized models, frame tile count, and contextbased elision) to deploy on orbit. Each geospatial analysis application is associated with a dataset representative of the distribution of input samples. To transform the geospatial analysis application to maximize data value density when deployed to a target satellite, Kodan (i) partitions the representative dataset into contexts; (ii) generates a context engine to classify each tile into a context, and (iii) trains and validates context-specialized models. Then, given the characteristics of the target satellite (computational capabilities, sensor and radio attributes, and orbit parameters) and its ground segment, Kodan sweeps frame tile count and context-based elision options to identify the combination of techniques maximizing data value density to produce the selection logic.
We detail context generation and the context engine in Section 3.2. To train and validate context-specialized models, Kodan adheres to machine learning best practices as described in Section 4. We detail the procedure for generating the resulting selection logic in Section 3.4.
部署到卫星前:
这个一次性的转换步骤会生成一个“选择逻辑”(selection logic),该逻辑决定了在轨部署时如何、何时以及使用哪些技术(特化模型、帧瓦片数量、基于上下文的省略处理)。每个地理空间分析应用都关联一个能代表输入样本分布的数据集。为了对地理空间分析应用进行转换,使其在部署到目标卫星时能最大化数据价值密度,Kodan 会执行以下步骤:(i) 将代表性数据集划分为多个上下文;(ii) 生成一个上下文引擎(context engine),用于将每个瓦片分类到对应的上下文中;以及 (iii) 训练并验证上下文特化模型。然后,给定目标卫星的特性(计算能力、传感器和无线电属性、轨道参数)及其地面段的情况,Kodan 会遍历(sweeps)各种帧瓦片数量和基于上下文的省略处理选项,以找出能够最大化数据价值密度的技术组合,从而生成最终的选择逻辑。
我们在 3.2 节中详细介绍上下文的生成和上下文引擎。为了训练和验证上下文特化模型,Kodan 遵循第 4 节中所述的机器学习最佳实践。我们在 3.4 节中详细阐述了生成最终选择逻辑的流程。
After deployment to a satellite: During deployment, Kodan leverages the context engine and the selection logic to dynamically select application adjustments for each data sample. Based on the selected tile count per frame, Kodan splits each frame. The context engine classifies each tile into a context, which determines whether Kodan executes a specialized model or elides further processing and either downlinks or discards the sample. The satellite downlinks the application results during the next contacts with the ground segment.
部署到卫星后:
在部署期间,Kodan 利用上下文引擎和选择逻辑,为每个数据样本动态地选择应用调整方案。根据所选定的每帧瓦片数量,Kodan 对每一帧进行分割。上下文引擎将每个瓦片分类到某个上下文中,该上下文决定了 Kodan 是执行一个特化模型,还是省略后续处理并直接下传或丢弃该样本。最终,卫星在下一次与地面段接触(contacts)时,将应用结果下传。
Contexts and the Context Engine¶
Kodan must quickly and accurately classify each tile into a context for the selection logic to use when choosing application adjustments to maximize data value density within the computational constraints of the target hardware. We present two approaches for context generation and selection: expert-generated contexts and automatically-generated contexts.
Kodan 必须快速且准确地将每个瓦片(tile)分类到相应的上下文中,以便“选择逻辑”在选择应用调整方案时使用,从而在目标硬件的计算约束内最大化数据价值密度。我们提出了两种用于上下文生成和选择的方法:专家生成上下文和自动生成上下文。
Expert-generated contexts: In this approach, a subject-matter expert (SME) partitions the representative dataset into humanrecognizable contexts. We observe that satellite images consist of a limited number of human-recognizable contexts that largely remain static over time. Coarse-grained examples include ocean views versus land views; more fine-grained examples include mountains, deserts, and cities.
Using this approach, a sample context can be determined from satellite position and orientation, a geographic map, and a projection of the expected satellite view onto this map. Thus, the context of each sample can be determined at the orbital edge in real time with even modest computing hardware. Because satellite orbits are highly predictable and can be modeled far in advance using tools like the cote simulator [8], the expert-selected context of each sample could even be pre-computed. Expert-selected contexts have the benefit of being human-explainable and quickly determined for each data sample. However, there may exist applications in which expert-selected contexts are not obvious or easy to generate.
专家生成上下文 (Expert-generated contexts):
在这种方法中,由领域专家(Subject-Matter Expert, SME)将代表性数据集划分为人类可识别的上下文。我们观察到,卫星图像由数量有限、且随时间推移基本保持静态的人类可识别上下文组成。粗粒度的例子包括海洋视图与陆地视图;更细粒度的例子则包括山脉、沙漠和城市。
使用这种方法,可以根据卫星的位置和姿态、地理地图以及预期卫星视图在该地图上的投影来确定样本的上下文。因此,即使使用性能一般的计算硬件,也可以在轨道边缘(orbital edge)实时确定每个样本的上下文。由于卫星轨道是高度可预测的,并且可以使用像 cote 模拟器[8]这样的工具提前很长时间进行建模,因此每个样本的专家选定上下文甚至可以被预先计算。 专家选定上下文的优点是具有人类可解释性(human-explainable),并且能为每个数据样本快速确定。 然而,可能存在一些应用,其中专家选定的上下文并不明显或难以生成。
Automatically-generated contexts: To support context generation and selection for general datasets without dependence on human experts, Kodan automatically partitions datasets into contexts. In Section 5, Kodan uses label vectors indicating the geographic and weather features present in each sample to cluster the representative dataset by similarity. Kodan creates a set of contexts using 𝑘-means clustering with these labels. During this process, Kodan sweeps cluster count and label vector distance metrics (Euclidean, Hamming, Cosine, etc.) for measuring similarity. We also consider label vector transformations, including translations, rotations, and projections based on per-dimension covariance properties. For automaticallygenerated contexts, Kodan trains a classification network to label each sample with its context — i.e., the context engine. The output of the deployed context engine is considered ground truth, and the resulting partition of the representative reference dataset is used to train context-specific models.
自动生成上下文 (Automatically-generated contexts):
为了在不依赖人类专家的情况下,支持通用数据集的上下文生成和选择,Kodan 会自动将数据集划分为多个上下文。在第 5 节中,Kodan 使用指示每个样本中地理和天气特征的标签向量(label vectors),通过相似性对代表性数据集进行聚类。Kodan 使用这些标签,通过 k-means 聚类算法来创建一组上下文。在此过程中,Kodan 会遍历(sweeps)不同的聚类数量和用于衡量相似度的标签向量距离度量(如欧几里得距离、汉明距离、余弦相似度等)。我们还考虑了标签向量的变换,包括基于各维度协方差属性的平移、旋转和投影。对于自动生成的上下文,Kodan 会训练一个分类网络来为每个样本标注其上下文——这个网络就是上下文引擎。部署后的上下文引擎的输出被视为基准真相(ground truth),由此产生的代表性参考数据集的划分结果,则被用于训练上下文特化模型。
Model Specialization¶
Rather than execute the original reference geospatial analysis application, which is typically designed for deployment in an elastic datacenter, Kodan runs context-specialized models on target satellite hardware. After partitioning a representative dataset into contexts (Section 3.2), Kodan trains and validates models on subsets of these contexts (Section 4). Executing the original geospatial analysis application generates training labels for the representative dataset.
This process produces a set of context-specialized neural networks. Each model exhibits a known execution time on the target satellite hardware as well as known accuracy and precision characteristics across the samples sorted into its context(s) by the context engine (see Figure 7). Kodan produces models specialized for single contexts and specialized across multiple contexts, all of which are considered when generating the selection logic (see Section 3.4).
Kodan 不会直接执行原始的参考地理空间分析应用(这类应用通常为部署在弹性数据中心而设计),而是在目标卫星硬件上运行上下文特化的模型。在将代表性数据集划分为多个上下文后(见 3.2 节),Kodan 会在这些上下文的子集上训练并验证模型(见第 4 节)。通过执行原始的地理空间分析应用,可以为代表性数据集生成训练标签。
该过程会生成一组上下文特化的神经网络。对于由上下文引擎(见图 7)分拣到其对应上下文的样本,每个模型在目标卫星硬件上都展现出已知的执行时间以及已知的准确度和精度特性。Kodan 会生成针对单个上下文特化的模型,以及跨多个上下文进行特化的模型,所有这些模型在生成“选择逻辑”时都会被纳入考量(见 3.4 节)。
Joint generation of contexts and models. The number of contexts into which a representative dataset is partitioned is a hyperparameter affecting the number of trained, specialized models. Aside from training time during the one-time transformation step, more or fewer contexts can impact the precision and execution time benefits of context specialization. In the trivial case of a single context, the original reference geospatial application is replaced by a single neural network. As the number of contexts increases, the quantity of data samples available for training models specialized to each context decreases. As described in Section 3.2, Kodan sweeps cluster count when partitioning the representative dataset into contexts. Further exploration of this hyperparameter space represents an exciting avenue for future work.
上下文与模型的联合生成:
将一个代表性数据集划分成的上下文数量是一个超参数(hyperparameter),它会影响被训练的特化模型的数量。除了在一次性转换步骤中影响训练时间外,上下文数量的增减还会影响模型特化所带来的精度和执行时间上的优势。在仅有单个上下文的平凡情况下(trivial case),原始的参考地理空间应用被一个单一的神经网络所取代。随着上下文数量的增加,可用于训练单个上下文特化模型的数据样本数量会减少。如 3.2 节所述,Kodan 在将代表性数据集划分为上下文时,会遍历(sweeps)不同的聚类数量。对这一超参数空间的进一步探索,为未来的工作提供了一个有前景的研究方向。
Selection Logic¶
The selection logic describes a policy for deploying a combination of context-specialized models, frame tiling, and elision to maximize data value density. The best policy depends on both the downlink and computational bottlenecks. Ground station locations, satellite orbits, and radio and sensor attributes determine the downlink bottleneck. The target satellite determines the edge processing hardware and therefore the execution time of an application deployed to space. The orbit and sensors of the target satellite determine the rate of data capture and the frame deadline.
During the one-time transformation step, Kodan selects a perframe tile count and per-context model or elision decision maximizing the data value density of the saturated downlink over the duration of the application deployment, i.e., many orbit revolutions. While the application runs on the target satellite, Kodan tiles each frame according to this selection logic. After the context engine labels a tile with a context, Kodan references the selection logic to either elide processing or determine which specialized model to use.
“选择逻辑”描述了一种策略,该策略通过部署上下文特化模型、帧分片和省略处理的组合来最大化数据价值密度。最佳策略取决于下行链路瓶颈和计算瓶颈。地面站位置、卫星轨道以及无线电和传感器属性决定了下行链路瓶颈。目标卫星则决定了边缘处理硬件,从而决定了部署到太空的应用的执行时间。目标卫星的轨道和传感器共同决定了数据捕获的速率和帧处理的截止时间(frame deadline)。
在一次性转换步骤中,Kodan 会选择每帧的瓦片数量以及每个上下文所对应的模型或省略决策,其目标是在应用的整个部署期间(即多个轨道周期内)最大化饱和下行链路的数据价值密度。
- 当应用在目标卫星上运行时,Kodan 会根据此选择逻辑对每一帧进行分片
- 在上下文引擎为瓦片标注上下文之后,Kodan 会查询选择逻辑,以决定是省略处理,还是确定使用哪个特化模型
Meeting the soft deadline: When the original application runs too slowly on the target satellite to meet the frame deadline on average (i.e., it experiences a computational bottleneck as in Figure 5), reducing execution time increases the data value density of the saturated downlink even when sacrificing filter precision (see Figure 10). This effect explains why a selection logic that reduces tile count per frame at the expense of filter precision, or elision of filtering for tiles from high-value contexts, improves data value density. By eliding processing that filters small amounts of lowvalue data from high-value contexts, more processing time is spent filtering tiles containing more significant amounts of low-value data.
满足软截止时间 (Meeting the soft deadline)
当原始应用在目标卫星上运行过慢,平均无法满足帧处理截止时间时(即出现如图 5 所示的计算瓶颈),降低执行时间 虽然会牺牲滤波精度,但是也能增加饱和下行链路的数据价值密度(见图 10)。
这种效应解释了为什么那些以牺牲滤波精度为代价来减少每帧瓦片数量、或对来自高价值上下文的瓦片省略滤波处理的选择逻辑,能够提升数据价值密度。 通过省略对高价值上下文中少量低价值数据进行过滤的处理,可以将更多的处理时间用于过滤那些包含更大量低价值数据的瓦片。
Claiming idle compute time: When the application runs sufficiently fast on the target satellite to meet the frame deadline, an increase in precision — even at the cost of increased processing time — improves the data value density of the saturated downlink. This effect explains why a selection logic that increases tile count per frame at the expense of execution time can improve data value density. So long as frame processing completes by the soft deadline on average, improved filter precision ensures that a greater portion of the downlinked data consists of high-value bits. In this scenario, Kodan executes the most precise, context-specialized models that support average frame processing times less than the frame deadline. Unless elision produces more precise results than a specialized model (we observe this case when a context consists almost entirely of high-value data), the selection logic does not elect to elide processing.
利用空闲计算时间 (Claiming idle compute time)
当应用在目标卫星上运行速度足够快,能够满足帧处理截止时间时,提高精度 —— 即使以增加处理时间为代价 —— 也能改善饱和下行链路的数据价值密度。
这种效应解释了为什么那些以牺牲执行时间为代价来增加每帧瓦片数量的选择逻辑,能够提升数据价值密度。只要平均帧处理时间能满足软截止时间,更高的滤波精度就能确保下行链路数据中更大部分由高价值比特构成。在这种情况下,Kodan 会执行那些最精确、且其平均帧处理时间小于帧处理截止时间的上下文特化模型。除非省略处理能比专门的模型产生更精确的结果(我们观察到当一个上下文几乎完全由高价值数据组成时会出现这种情况),否则选择逻辑不会选择省略处理。
TL; DR¶
可以把Kodan想象成一个 “智能的软件调优大师”,它的唯一目标是:让一个分析软件在性能羸弱的卫星电脑上,运行得又快又好,从而最大化传回地球的数据价值。
这个过程分为两个核心阶段:“地面准备” 和 “在轨执行”
阶段一:地面准备(一次性工作,在上天前完成)¶
在把分析软件部署到卫星上之前,Kodan会在地面上做一个非常重要的 “预演和优化” 工作。
-
分析任务和硬件:Kodan会拿到三样东西:
- 要运行的分析软件(例如,一个寻找森林火灾的模型)
- 目标卫星的硬件参数(它的计算能力有多弱,内存多小等)
- 大量的样本数据(包含各种地球地貌的卫星图,如森林、城市、海洋、云层等)
-
生成“作战手册”:基于以上信息,Kodan开始“排兵布阵”,生成一本最终给卫星使用的“作战手册”,这本手册在论文里被称为 “选择逻辑(Selection Logic)” 。为了制作这本手册,Kodan会执行以下操作:
- 识别场景(定义上下文):它会自动或在专家帮助下,将样本数据分成不同的“场景”,比如“浓云场景”、“城市场景”、“森林场景”、“海洋场景”等
- 训练专属工具(模型特化):它不会使用那个又大又慢的原始分析软件,而是为每个特定“场景”训练一个小而快、但效果同样好的专属模型。比如,一个专门找森林火灾的“森林模型”,一个专门找船的“海洋模型”
- 模拟权衡利弊:Kodan会模拟在目标卫星的弱硬件上,针对每一种“场景”,如何组合使用它的三种技术才能达到最佳效果。比如它会计算:“如果卫星处于计算瓶颈,那么处理森林图像时,切成4块瓦片比切成16块效果更好,因为虽然精度低一点,但处理速度快得多,总体价值更高。”
这本“选择逻辑”手册里,详细记录了 “在什么场景下,应该使用哪个专属模型,以及应该用哪种图像切分方法”
阶段二:在轨执行(卫星在太空中实时进行)¶
卫星带着这本“作战手册”(选择逻辑)上天后,它的工作流程就变得非常智能和高效了:
-
捕获新图像:卫星拍下了一张新的地球照片
-
判断当前场景(识别上下文):卫星会用一个极轻量的“场景识别器”(上下文引擎)迅速判断:“我现在拍的这张图是属于什么场景?是浓云?还是森林?”
-
查阅手册并执行:一旦确定了场景,卫星就会去查阅那本“选择逻辑”手册,并严格按照指令执行。这时,Kodan的三大核心技术就派上用场了:
-
技术一:基于上下文的模型特化 (Context-specific models)
- 指令:“当前是‘森林’场景。”
- 行动:卫星不会启动那个庞大的通用模型,而是调用小而快的“森林专属模型”来分析图像。这大大降低了计算需求
-
技术二:帧分片 (Frame tiling)
- 指令:“当前计算资源紧张,手册规定森林场景应切分为4块瓦片。”
- 行动:卫星将图像切成4块,而不是更精细的16块。这牺牲了一点点精度,但换来了宝贵的处理时间,避免了数据积压。反之,如果计算资源充足,手册可能会指示切成16块以获取最高精度
-
技术三:基于上下文的省略处理 (Context-based elision)
- 指令:“当前是‘浓云’场景,手册规定直接丢弃。”
- 行动:卫星识别到这是云层后,它知道分析软件(比如找建筑物的)在这里找不到任何有价值的东西,于是它直接跳过所有计算,将图像丢弃。这就避免了在无用数据上浪费时间和能源
- 反向应用:如果是在一个“密集城区”的上下文,手册可能会说:“这里的图像价值极高,别算了,直接打包发回地球。”
-
所以,Kodan的核心逻辑可以概括为:
- 通过在地面进行一次性的、深度的“预演和优化”,为卫星量身定制一本包含多种“智能策略”的“作战手册”(选择逻辑)
- 卫星在轨时,只需快速识别当前场景,然后像查表一样从手册中找到最优指令并执行
- 它通过灵活运用“模型特化”、“帧分片”和“省略处理”这三大技术,在速度和精度之间做出动态权衡,从而在有限的计算资源下,榨干每一份计算能力,确保传回地球的数据价值最大化