Image processing system for determining satellite configuration and property
The satellite classification system uses machine learning to generate image segmentation maps for unknown satellites, addressing the limitation of prior knowledge reliance and enhancing satellite identification and navigation capabilities.
Patent Information
- Application Number
- JP2025062539
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-10
- Filing Date
- 2025-04-04
- Publication Date
- 2025-12-09
AI Technical Summary
Existing image segmentation techniques for satellites rely on prior knowledge of the satellite's hardware configuration, limiting their applicability to unknown or newly launched satellites.
A satellite classification system using machine learning and deep learning techniques generates image segmentation maps for satellites with unknown configurations, outputting pixel labels and pose parameters without prior knowledge, employing a neural network architecture trained on diverse satellite imagery.
Enables accurate and robust identification and analysis of satellite components and pose, facilitating applications like satellite navigation and space exploration without requiring prior knowledge of the satellite's hardware configuration.
Smart Images

Figure 2025179009000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to determining the geometry, type, position, attitude, and / or other characteristics of a satellite (hereinafter referred to as an artificial satellite) from images showing the satellite. [Background technology]
[0002]
[0002] Machine vision refers to computer-based techniques for determining information about objects or environments from images. As several examples, machine vision may be applied to robotics, autonomous driving, and / or manufacturing. In a machine vision scenario, images from a camera are processed to extract information about objects in the image (such as object type, location, context, etc.). Such information may be used for any suitable purpose, such as feedback for moving robotic parts through an environment, avoiding obstacles, manipulating objects, etc. Summary of the Invention
[0003] This summary is not an extensive overview of the specification. It is not intended to identify key or critical elements of the specification or to delineate any scope of particular embodiments or any claims of the specification. Its sole purpose is to present some concepts of the specification in a simplified form as a prelude to the more detailed description that is presented in the present disclosure.
[0004] A method for satellite component classification includes a satellite classification system receiving a test image depicting a satellite having a hardware component configuration unknown to the satellite classification system. The test image is input to a satellite classification model trained at least in part based on a plurality of training satellite images to generate an output image segmentation map for the input satellite image. The satellite classification model outputs the output image segmentation map for the test image, one or more position parameters for the satellite, and one or more attitude parameters for the satellite. The output segmentation map includes a plurality of map pixels corresponding to a plurality of image pixels in the test image, where pixel values of the plurality of map pixels classify corresponding image pixels of the test image as depicting different hardware components of the satellite.
[0005]
[0005] The features, functions, and advantages discussed may be realized individually in various embodiments or may be combined in yet other embodiments, further details of which can be understood by reference to the following description and drawings. [Brief explanation of the drawings]
[0006] [Figure 1] 1 illustrates a schematic diagram of an exemplary satellite classification system. [Figure 2]
[0007] 1 illustrates a schematic diagram of a satellite classification system that outputs an exemplary image segmentation map. [Figure 3]
[0008] 10 illustrates a schematic diagram of a satellite classification system that outputs another exemplary image segmentation map. [Figure 4]
[0009] 1 illustrates a schematic diagram of training a satellite classification model based on multiple training satellite images. [Figure 5]
[0010] 10 illustrates a schematic diagram of applying an image perturbation operation to training satellite images. [Figure 6]
[0011] 1 illustrates an exemplary method for satellite component classification. [Figure 7]
[0012] 1 illustrates a schematic diagram of an exemplary computing system. DETAILED DESCRIPTION OF THE INVENTION
[0007]
[0013] The present disclosure is directed to techniques for image segmentation. In particular, the present disclosure describes a satellite classification system that can be used to generate an image segmentation map for an input image, referred to as a test image, showing a satellite. In other words, for a test image showing a satellite, the satellite classification system outputs an image segmentation map that labels different pixels of the input test image as corresponding to different hardware components of the satellite. The satellite classification system also outputs position and attitude parameters that define the position and orientation (e.g., a six-degree-of-freedom "pose") of the satellite as shown in the test image. While the techniques described herein are primarily described with respect to one "test image," it will be understood that this is non-limiting. Rather, the techniques are applicable to any suitable number of one or more test images, and in some cases may be applied to frames of digital video showing a satellite. In other words, the present disclosure applies to any case in which at least one test image is received, but may be applied to any suitable number of test images, sequentially or simultaneously.
[0008]
[0014] In this manner, for a given image of a satellite, the satellite classification system may output an image segmentation map that labels different components of the satellite (e.g., satellite body, solar panels, antennas, thrusters) and an indication of the satellite's pose within the test image. Such information may be beneficially used in a variety of suitable ways. As one non-limiting example, the techniques described herein may be used to facilitate satellite and / or spacecraft navigation, such as rendezvous and proximity operations (RPOs) and / or guidance, navigation, and control (GNC) operations. For example, based on input test images showing a satellite, an autonomous spacecraft may control its own orbit to dock with the satellite, avoid collisions with the satellite, or approach the satellite to inspect a particular component.
[0009]
[0015] Notably, unlike conventional image segmentation techniques that rely on prior knowledge of a satellite's hardware configuration to accurately classify its various components, the techniques of the present disclosure can be used to generate image segmentation maps for satellites with unknown hardware component configurations. The independence from prior knowledge of the hardware configuration beneficially enhances its usefulness in scenarios where detailed information about the satellite is not available (e.g., in the case of newly launched or unidentified satellites). Ultimately, the techniques described herein improve the field of satellite image analysis, providing flexible and robust tools for segmenting satellite imagery for a variety of applications, including surveillance, analysis, and space exploration, where prior knowledge of the satellite is not available.
[0010]
[0016] FIG. 1 schematically illustrates an exemplary satellite classification system 100 that may be used to implement any or all of the satellite image segmentation techniques described herein. Satellite classification system 100 may be implemented via any suitable combination of computer hardware components. In one example, satellite classification system 100 may take the form of a server computer. In other examples, the satellite classification system may take another suitable form, such as a personal computer. In some examples, aspects of satellite classification system 100 may be distributed among two or more different computing devices. Generally, satellite classification system 100, as well as other computing devices described herein, may have any suitable functionality, hardware configuration, and form factor. Any or all of the computing devices described herein, including satellite classification system 100, may, in some cases, be implemented as computing system 700, described below with respect to FIG. 7.
[0011]
[0017] As shown in FIG. 1 , satellite classification system 100 is used to implement satellite classification model 102. The satellite classification model is implemented as any suitable combination of computer software, hardware, and / or firmware components operable to output an output image segmentation map based on an input test image depicting a satellite. In some embodiments, the satellite classification model is implemented via suitable machine learning (ML) and / or artificial intelligence (AI) techniques. As non-limiting examples, the satellite model generation system may be implemented as a neural network, such as a deep neural network (DNN), a convolutional neural network (CNN), or a U-net model. In some embodiments, other types of ML models, such as a support vector machine (SVM), a random forest model, or k-means clustering, may be used in addition to or instead of neural network-based models.
[0012]
[0018] The satellite classification system receives a test image 104 depicting a satellite. The test image includes a plurality of image pixels 106. The test image may take any suitable form and have any suitable image characteristics. For example, the test image may be an RGB image, a black and white image, a grayscale image, or any suitable resolution. The test image may correspond to any suitable spectrum of illumination light (e.g., visible light, infrared light, ultraviolet light), and the satellite may have any suitable size and pose (e.g., position, orientation) within the test image. In some embodiments, the test image may depict two or more different satellites. Furthermore, the satellite classification system 100 may receive any suitable number of one or more different test images. These test images may each depict the same satellite (e.g., from different perspectives) and / or different satellites.
[0013]
[0019] In the example of FIG. 1 , test image 104 shows satellite 108 having hardware configuration 110. "Hardware configuration" refers to a particular arrangement of physical and / or simulated hardware components that form a satellite. The satellite may include, by way of non-limiting examples, a satellite body, one or more solar panels, one or more antennas, one or more thrusters, imaging equipment, and / or various other suitable satellite components. Hardware configuration may refer to the types of components included on the satellite, the shape and size of each component (e.g., the shape of the satellite body, the size of the solar panels), the manner in which different components are attached to each other (e.g., the attachment location of the solar panels relative to the satellite body, whether the solar panels are attached directly to the satellite body or via intermediate structural elements), material properties of the satellite components, etc.
[0014]
[0020] In some embodiments, the test image 104 depicts a physical, real-world satellite. For example, the test image may be captured by a suitable real-world camera. The test image may then be received by the satellite classification system from the camera or from another suitable computing device communicatively coupled to the camera. In some embodiments, the test image depicts a simulated, virtual satellite. In such cases, the hardware configuration may be a simulated hardware configuration defined, for example, by a 3D digital model representing the real or virtual satellite.
[0015]
[0021] In some examples, the techniques described herein can be used to determine the shape, size, and / or relative location of parts identified in a segmentation map representing a satellite. Through the application of machine vision processing techniques, the segmentation map can be analyzed to extract geometric information about each segmented part. This may include evaluating contours, edges, and / or other defining features to ascertain size and shape. Additionally or alternatively, the system can directly infer the spatial orientation and relative location of parts in the segmentation map using a deep neural network architecture trained on a dataset of satellite imagery. This approach, combining machine vision and / or deep learning, can beneficially provide an accurate and robust interpretation of satellite parts, facilitating their identification and analysis in a wide range of applications.
[0016]
[0022] According to the techniques described herein, the hardware configuration of the particular satellite shown in the test image is at least partially unknown to the satellite classification system. While the satellite classification system 100 may have general information about the types of components typically included in a satellite (e.g., satellite body, solar panels, antenna), the satellite classification system does not know in advance which specific configuration will be used by the particular satellite shown in the test image. For example, the satellite classification system may not have information about the specific types of satellite components included in the satellite, the shape and size of such components, the manner in which such components are attached to each other, etc. Nevertheless, as one potential advantage, as will be described in more detail below, an image segmentation map may be generated for the test image that labels different pixels of the test image as representing different satellite components. This differs from other techniques used to generate image segmentation maps. Other techniques generally rely on the hardware configuration of the satellite already known by the classification system. For example, the input image is segmented according to a known configuration.
[0017]
[0023] In Figure 1, a test image 104 is input to a satellite classification model 100. As will be described in more detail below, the satellite classification model is trained based at least in part on a plurality of training satellite images to generate an output image segmentation map for the input satellite image. Thus, in Figure 1, the satellite classification model 102 outputs an output image segmentation map 112. The output image segmentation map includes a plurality of map pixels 114 that correspond to at least a portion of the plurality of image pixels 106 of the test image. The pixel values of the plurality of map pixels classify corresponding image pixels of the test image as indicative of different hardware components of the satellite.
[0018]
[0024] It will be appreciated that the image segmentation map may be "output" in a variety of suitable ways, depending on the implementation. In some embodiments, outputting the image segmentation map includes passing the image segmentation map to a downstream use (e.g., for further processing, for satellite navigation control), transmitting the image segmentation map to another computing device, writing the image segmentation map to a data file, storing the image segmentation map in non-volatile storage of the computing device, and / or storing the image segmentation map in an external storage device communicatively coupled to the computing device.
[0019]
[0025] In practice, an image segmentation map may be visualized as a colored or grayscale representation, with each unique label or segment represented by a distinct color or shade. Generally, an “image segmentation map” is a digital representation of an image, where each pixel is assigned a label that identifies the pixel as belonging to a particular segment or category within the image. Each pixel’s “label” is defined at least in part by the pixel’s value. For example, each pixel with a particular value (e.g., zero) may correspond to one type of satellite component, while a pixel with another value (e.g., one) may correspond to another type of satellite component. In some embodiments, different components, segments, and / or other groups of pixels within the image segmentation map that have the same map pixel value may be assigned different identifiers, such as human-readable labels (e.g., “solar panel”), unique identifier values, etc. In some embodiments, different segments within the image segmentation map are distinguished only by their different map pixel values. For example, different components of a satellite may be represented in an image segmentation map as having different pixel values without applying any further categories or labels to such components.
[0020]
[0026] Generation of an image segmentation map is generally described in more detail with respect to FIG. 2. Specifically, FIG. 2 generally illustrates another exemplary satellite classification system 200. The satellite classification system 200 receives a test image 202 depicting a satellite 204. It will be understood that the particular appearance of the satellite 204, along with other satellites described herein, is highly simplified and non-limiting. Generally, a "satellite" refers to a spacecraft designed to orbit the Earth and / or another celestial body. This may include communications satellites, Global Positioning System (GPS) satellites, pico-satellites, rocket bodies, space stations, etc. A satellite may include any suitable number and types of individual components, such as a satellite body, solar panels, antennas, thrusters, etc., each of which may take any suitable form and, for example, have any suitable size, appearance, and structural relationship to one another. In other words, the techniques described herein are applicable to a wide variety of different types of satellite configurations, including additional or alternative subcomponents to those described herein. It should be understood that in some cases, the techniques described herein may be applied to non-orbital spacecraft designed for deep space, travel from one celestial body to another, and / or any other suitable purpose.
[0021]
[0027] Based on the test images, the satellite classification system 200 outputs an image segmentation map 206. The map pixels of the image segmentation map can be used to label different hardware components detected within the satellite 204. In Figure 2, this is represented by labels 208A, 208B, and 208C that associate different pixel values of the image segmentation map with different types of satellite components. In particular, this includes solar panel label 208A, satellite body label 208B, and antenna label 208C.
[0022]
[0028] It will be understood that the particular representation of image segmentation map 206 shown in Figure 2 is highly simplified and presented for illustrative purposes only. For example, it will be understood that human-readable labels 208A-C are provided for illustrative purposes only and need not be included within an image segmentation map generated as described herein. Furthermore, it will be understood that an image segmentation map need not be rendered for visualization or presented on a computer display. Rather, in some cases, an image segmentation map may take the form of a digital data structure that is stored and processed by a computing device without being graphically rendered for human viewing.
[0023]
[0029] In the example of FIG. 2, for pixels in the test image that represent hardware components of the same component type, the corresponding map pixels in the output image segmentation map have the same pixel value. This may be referred to as semantic image segmentation, where individual pixels are classified into predefined categories without distinguishing between different objects of the same category. For example, satellite 204 includes two different solar panels attached to the satellite body. Each solar panel has a similar appearance in test image 202. In image segmentation map 206, each of these two solar panels is represented using the same pixel value (e.g., white) because, in this example, the two solar panels are of the same component type.
[0024]
[0030] However, this need not be the case. Figure 3 schematically illustrates another exemplary scenario in which an image segmentation map is generated for a test image showing a satellite. Specifically, Figure 3 schematically illustrates another exemplary satellite classification system 300. The satellite classification system 300 receives a test image 302 showing a satellite 304. The satellite classification system outputs an image segmentation map 306. Map pixels in the image segmentation map can be used to label different hardware components detected within the satellite 304. In Figure 3, this is represented by labels 308A, 308B, 308C, and 308D, which associate different pixel values in the image segmentation map with different types of satellite components. In particular, this includes two labels 308A and 308C corresponding to different solar panels, along with label 308B for the satellite body and label 308D for the antenna.
[0025]
[0031] In other words, in this example, the two different solar panels are different instances of the same hardware component type (e.g., solar panel). In contrast to Figure 2, where different solar panel instances are represented by the same pixel value, in this image segmentation map, corresponding map pixels represent different instances with different pixel values. This is called instance-based segmentation, and it extends semantic segmentation by not only classifying each pixel into a category, but also distinguishing between different instances of the same category.
[0026]
[0032] Returning briefly to FIG. 1 , in some embodiments, the satellite classification model outputs various types of information in addition to the image segmentation map for the test image. For example, in FIG. 1 , the satellite classification model further outputs one or more attitude parameters 116 for the satellites and one or more position parameters 118 for the satellites. Each of the attitude parameters and position parameters may take any suitable form. As described above, in some embodiments, the attitude and position parameters together define a six-degree-of-freedom pose of the satellite in the test image.
[0027]
[0033] The attitude parameters may specify the orientation of the satellite in any suitable manner and with any suitable precision. For example, the attitude parameters may specify any or all of the satellite's roll (e.g., rotation about the satellite's longitudinal axis), satellite's pitch (e.g., rotation about the satellite's lateral axis), and satellite's yaw (e.g., rotation about the satellite's vertical axis). These values may be expressed in any suitable manner. For example, the attitude parameters may be expressed as Euler angles, a quaternion vector, a rotation matrix, a rotation vector, etc.
[0028]
[0034] Similarly, the position parameters may specify the position of the satellite in any suitable manner and with any suitable precision. For example, the position parameters may specify the position of the satellite within the coordinate system of the test image (e.g., pixel coordinates relative to a two-dimensional pixel grid of the test image). Additionally or alternatively, the position parameters may specify the position of the satellite relative to another coordinate system. For example, the position parameters may specify any or all of the satellite's altitude (e.g., relative to the Earth's surface or another reference level), the satellite's latitude and longitude coordinates, and a set of orbital parameters defining the satellite's orbit (e.g., semi-major axis, eccentricity, inclination, etc.). In some examples, the position parameters for the satellite may be specified relative to the coordinate system of a camera used to capture the test image.
[0029]
[0035] As mentioned above, in some examples, the techniques described herein can determine the shape, size, and / or relative location of parts identified in a segmentation map representing a satellite. By applying machine vision processing techniques, the segmentation map can be analyzed to extract geometric information about each segmented part, such as the part's position and / or orientation relative to the satellite body, the camera, and / or any other suitable coordinate system. This may include evaluating contours, edges, and / or other defining features to ascertain size and shape. Additionally or alternatively, the system can directly infer the spatial orientation and relative location of parts in the segmentation map using a deep neural network architecture trained on a dataset of satellite imagery. This approach, combining machine vision and / or deep learning, can beneficially provide accurate and robust interpretations of satellite parts, facilitating their identification and analysis in a wide range of applications.
[0030]
[0036] In some embodiments, the position and / or attitude parameters (and / or any other suitable information output by the satellite classification model) may be based on additional input data besides the test image showing the satellite. For example, in the embodiment of FIG. 1, the satellite classification model further receives an instantaneous field of view (IFOV) 119 of the test image showing the satellite. One or more position parameters 118 are generated based at least in part on the IFOV.
[0031]
[0037] Generally, IFOV refers to the angular extent of the area seen by a single detector element of a sensing system (such as a camera) at a given moment. This can be described as the angle at which the sensor is sensitive to electromagnetic radiation from the observed scene. In some embodiments, IFOV can vary between the vertical and horizontal directions of an image, depending on the camera design. The IFOV determines the spatial resolution of the sensor. A smaller IFOV corresponds to a higher spatial resolution, meaning the sensor can distinguish finer details. The IFOV can be used to calculate position parameters of an observed object, such as a satellite, since this affects the scale and detail of the captured image. In one exemplary scenario, the IFOV and altitude of the sensor platform (e.g., a satellite or air vehicle) can be used to calculate the size of the area covered by each pixel of the sensor's image (often referred to as the ground sample distance, GSD). This can then be used to calculate position parameters for the satellite. For example, the resolution of an image is the product of the IFOV and the distance to the satellite object. If the IFOV is 10 microradians (10E-6 radians) and the distance is 1000 meters, the product is 0.01 meters, which corresponds to a resolution of 10 cm.
[0032]
[0038] 1 , in addition to the image segmentation map, attitude parameters, and location parameters, the satellite classification model 102 further outputs a classification 120 of the satellite in the test image. In other words, in some embodiments, the satellite classification model is further trained to output a classification of the satellite shown in the test image, thereby classifying the satellite as one of a plurality of recognized satellite types. It will be appreciated that a “recognized satellite type” may be specified at any suitable level of granularity. For example, in some embodiments, a recognized satellite type may refer to a general category of satellite, such as a communications satellite, a remote sensing satellite, a Global Positioning System (GPS) satellite, a cube satellite, a pico satellite, a spent rocket body, a space station, etc.
[0033]
[0039] Additionally or alternatively, a recognized satellite type may refer to a particular model of a satellite. For example, a satellite classification system may not have a priori knowledge of the hardware configuration of a satellite shown in a test image, but the satellite classification system may store and / or otherwise have access to a database of different satellite configurations corresponding to different particular satellite models. Thus, in some embodiments, the satellite classification system may be configured to classify a satellite as being of a recognized satellite model based on a determination that the observed hardware configuration in the test image matches an existing satellite configuration.
[0034]
[0040] 1 , the satellite classification model outputs predicted material properties 121 for the satellite. In other words, in some embodiments, the satellite classification model outputs predicted material properties for the surfaces of one or more hardware components of the satellite shown in the test image. As non-limiting examples, the predicted material properties may include reflectivity, which relates to the ability of a surface to reflect light (which may indicate a material such as a metal or coated surface), texture, which relates to the smoothness or roughness of a surface (which may indicate different material types) (e.g., the grid-like texture of a solar panel), thermal properties (which may be observable in an infrared spectrum test image), and / or absorptivity, which relates to the ability of a material to absorb radiation.
[0035]
[0041] As described above, the satellite classification model may be implemented via any suitable ML and / or AI techniques. Figure 1 includes simplified details of one non-limiting example architecture that may be used, where the satellite classification model includes an encoder 122. In addition, the satellite classification model includes various decoder heads, including a segmentation head 124, an attitude head 126, and a position head 128. Each of these may take any suitable form, depending on the implementation.
[0036]
[0042] In one non-limiting example, an encoder includes a backbone for initial feature extraction and a neck for reinforcing these features. The backbone may be implemented as a hybrid convolutional transformer model. This model includes an input stem and four stages used to reduce feature map size while increasing channel depth. In one example, the feature map sizes for each stage of the backbone are 1 / 4, 1 / 8, 1 / 16, and 1 / 32 times smaller than the size of the input. The neck attached to the final stage of the backbone may be implemented as a CNN that refines the features to improve their discriminability for downstream tasks. In some examples, each stage of the backbone except the final one may be input to an average pooling operation and concatenated together as a vector before being input to one or more decoder heads (such as a pose head).
[0037]
[0043] When included, the segmentation head may be implemented in any suitable manner. As an example, the segmentation head may be implemented as a fully convolutional network (FCN). In one approach, the segmentation head receives features from the encoder (e.g., backbone and neck) and upscales them using a super-resolution operation to generate a full-size per-pixel semantic segmentation map. The segmentation head may employ logits to estimate the probability of class membership for each pixel. The predicted class for a pixel then corresponds to the largest logit. In some examples, the segmentation head may be implemented with relatively less capacity than other prediction heads in the model to prevent posterior collapse.
[0038]
[0044] When included, the location head may be implemented in any suitable manner. Like the segmentation head, in some embodiments, the location head may be implemented as an FCN. In one approach, the location head calculates the satellite's position relative to the camera by taking into account horizontal and vertical shifts normalized to the image dimensions and the logarithm of the distance, which may be determined based on the IFOV as described above. The location head may start with a single grouped 2D convolution to ensure that the receptive field encompasses the entire image, followed by multiple 1x1 convolutions that act similar to linear layers.
[0039]
[0045] When included, the pose head may be implemented in any suitable manner. In one non-limiting example, the pose head may be implemented as a multi-layer perceptron (MLP). For pose estimation, the pose head may represent a 3D rotation via a 10-dimensional vector corresponding to a symmetric 4x4 matrix. The pose may then be extracted by identifying the eigenvector associated with the smallest eigenvalue of this matrix. As an example, the pose may be represented as a quaternion. In some examples, a model predicts the rotation of the camera relative to the satellite. This rotation may be inverted to generate the pose quaternion.
[0040]
[0046] In some embodiments, different head architectures can be fine-tuned for efficient operation on embedded hardware. The activation function for the neural network approach can be replaced with a Hard Swish function as follows: TIFF2025179009000002.tif9170This approach may improve performance on embedded hardware.
[0041]
[0047] Generally, a satellite classification model is trained to generate an output segmentation map based at least in part on a plurality of training satellite images. This is illustrated generally with respect to FIG. 4 . FIG. 4 shows another exemplary satellite classification model 400. As illustrated, the satellite classification model is trained based on a plurality of training satellite images, including images 402A, 402B, and 402C. The satellite classification model may be trained with any suitable number and variety of different training satellite images, which may beneficially represent a wide range of different satellite configurations, e.g., hardware components of different shapes, sizes, roles, and arrangements. Furthermore, the training satellite images may vary by a number of image parameters, e.g., satellite pose, lighting conditions, background scene, the spectrum of illumination light used to illuminate the satellite, etc.
[0042]
[0048] In the example of FIG. 4 , the satellite classification model is further trained based at least in part on a training configuration map 404. The training configuration map 404 includes a set of pixel component labels 406 corresponding to one or more of the training satellite images. This may represent a “ground truth” training set and identifies the satellite hardware components represented by different pixels in the corresponding training satellite image. In some examples, a ground truth configuration map may be received for each training satellite image. Through multiple training passes, the satellite classification model may be iteratively trained as follows: when provided with a training satellite image, the model generates an image segmentation map consistent with the training configuration map for that training satellite image.
[0043]
[0049] In some embodiments, not all pixels of a given training satellite image are used to train the satellite classification model. For example, in some embodiments, training a satellite classification model based at least in part on a plurality of training satellite images may include adding one or more pixels of the plurality of training satellite images to an exclusion set of pixels to be ignored during training. This may include, for example, pixels that indicate a background scene and do not indicate a satellite in the training satellite image. Such pixels may be identified and added to the exclusion set in any suitable manner. For example, pixels that indicate a background scene may be specified in a training configuration map corresponding to the training satellite image and thus added to the exclusion set.
[0044]
[0050] The training satellite images may take any suitable form and be received from any suitable source. In some embodiments, the training satellite images include images captured by a camera that show real-world satellites, e.g., actual satellites orbiting the Earth. Additionally or alternatively, the training satellite images may include computer-generated images that show 3D satellite models. For example, the training satellite images may be generated by a satellite model generation system configured to generate 3D satellite models for a virtual satellite configuration and then render image views of the 3D satellite models.
[0045]
[0051] In some examples, training a satellite classification model based at least in part on a plurality of training satellite images may include applying one or more image perturbation operations to a training satellite image of the plurality of training satellite images. This is illustrated generally with respect to FIG. 5 . FIG. 5 shows another exemplary satellite classification model 500. The training satellite image is input to an image perturbation system 502. The image perturbation system 502 is configured to apply one or more image perturbation operations to the training satellite image. The image perturbation system then outputs a plurality of perturbed training satellite images, including images 504A, 504B, and 504C. Each of these images has been modified in a plurality of different ways compared to the original training satellite image 500. Each of these images may beneficially increase the diversity contained in the training dataset, thereby helping to improve the performance of the satellite classification model.
[0046]
[0052] The image perturbation system may be implemented as any suitable combination of computer software, hardware, and / or firmware. For example, in some embodiments, the image perturbation system takes the form of a software application (e.g., an image editing application) that can be used to apply various perturbation operations to input image data. The image perturbation system may be implemented by the same computing device that also implements the satellite classification mode, or a different computing device. In some embodiments, the image perturbation system may be implemented as computing system 700, described below with respect to FIG. 7.
[0047]
[0053] It will be appreciated that any of a wide variety of different image perturbation operations may be applied to the training satellite images. In some embodiments, one or more image perturbation operations include rescaling the training satellite shown in the training satellite image, translating the position of the training satellite shown in the training satellite image, rotating the training satellite, adding one or more simulated glints to the training satellite, adding quantized noise to the training satellite image, and / or modifying pixel values of one or more pixels of the training satellite image via one or more mathematical transformation functions. In FIG. 5 , the size of the training satellite has been reduced in training satellite image 504A. In training satellite image 504B, the training satellite has been scaled and translated. In training satellite image 504C, simulated glint has been added to the training satellite. It will be appreciated that these training satellite images are non-limiting.
[0048]
[0054] With respect to the exemplary model architecture (e.g., including an encoder layer and various decoder heads) shown generally with respect to FIG. 1 , more specific details regarding one exemplary approach for training a satellite classification model will now be described. In this example, a variant of stochastic gradient descent may be employed, which can reduce the weighted sum of losses. This may include a learning schedule that adjusts both learning rate and momentum. The training process may be performed in stages, initially focusing on segmentation and pose with a mean squared error loss, and then integrating a geodesic loss to improve accuracy.
[0049]
[0055] A different loss function may be used for each modality predicted by the satellite classification model. For segmentation, a cross-entropy loss with label smoothing may be used. In some embodiments, for gradient descent optimization, a multiplicative increase is applied to the segmentation error of the segmentation head before summing it with the position and pose errors. For position parameters, the loss function may include the normalized mean squared error (MSE) of the position. For pose, MSE may be applied to a quaternion pose representation, and may also consider geodesic loss (e.g., angular distance between different rotation matrices). In one embodiment, the pose loss function may use an ambiguity correction method, in which case the truth is considered to be the possible rotation that is closest in geodesic distance to the model's estimate.
[0050]
[0056] During training, in some embodiments, dropout may be added between different head layers. "Dropout" refers to randomly zeroing out features as a form of regularization to prevent overfitting. Additionally or alternatively, drop paths (also called stochastic depth) may be used between different stages of the backbone during training. This refers to randomly bypassing blocks of layers by replacing them with skip (residual) connections. This may help alleviate the vanishing gradient problem. The probability of dropout may increase linearly with each stage.
[0051]
[0057] FIG. 6 illustrates an example method 600 for satellite model generation. The steps of method 600 may be initiated, terminated, and / or repeated at any suitable time and in response to any suitable trigger. Method 600 is provided with reference to the example computing systems described herein and shown in FIGS. 1-5. In other embodiments, method 600 may be implemented by any suitable computing system of one or more computing devices. Any computing device that performs the steps of method 600 may have any suitable form factor, functionality, and hardware configuration. In some embodiments, method 600 may be implemented by computing system 700, described below with respect to FIG. 7.
[0052]
[0058] At 602, method 600 includes receiving, at a satellite classification system, a test image depicting a satellite. As described above, the satellite has a hardware configuration that is at least partially unknown to the satellite classification system. For example, while the satellite classification system may have information about the types of components typically included within a satellite, the satellite classification system does not know in advance the specific hardware configuration of the satellite depicted by the test image.
[0053]
[0059] At 604, the method 600 includes inputting the test image into a satellite classification model that has been pre-trained to generate an image segmentation map for the test image based at least in part on a plurality of training satellite images.
[0054]
[0060] At 606, the method 600 includes outputting from the satellite classification model an image segmentation map, one or more position parameters for the satellite, and one or more position parameters for the satellite. The image segmentation map labels different pixels in the test image as different satellite hardware components. The satellite position and attitude parameters may collectively describe the pose of the satellite relative to the camera, or another suitable reference frame.
[0055]
[0061] At 608, method 600 optionally includes outputting a classification of the satellite as a recognized satellite type. As described above, this may include classifying the general type of satellite shown as a communications satellite, a GPS satellite, a pico satellite, etc. Additionally or alternatively, the satellite may be classified as a specific satellite model.
[0056]
[0062] At 610, method 600 optionally includes outputting predicted material properties for the surfaces of one or more hardware components of the satellite. As described above, this may include various suitable material properties such as reflectivity, texture, thermal properties, absorptivity, etc.
[0057]
[0063] The methods and processes described herein may be coupled to the computing system of one or more computing devices. In particular, such methods and processes may be implemented as an executable computer application program, a network-accessible computing service, an application programming interface (API), a library, or a combination of the above and / or other computing resources.
[0058]
[0064] 7 illustrates a simplified representation of an exemplary computing system 700 configured to provide any or all of the computing functionality described herein. Computing system 700 may take the form of one or more network-accessible devices, personal computers, server computers, portable computing devices, and / or other computing devices.
[0059]
[0065] Computing system 700 includes a logic subsystem 702 and a storage subsystem 704. Computing system 700 may optionally include a display subsystem 706, an input subsystem 708, a communication subsystem 710, and / or other subsystems not shown in FIG.
[0060]
[0066] The logic subsystem 702 includes one or more physical devices configured to execute instructions. For example, the logic subsystem may be configured to execute instructions, which are part of one or more applications, services, programs, or other logical structures. The logic subsystem may include one or more hardware processors configured to execute software instructions. Additionally or alternatively, the logic subsystem may include one or more hardware or firmware devices configured to execute hardware or firmware instructions. The processors of the logic subsystem may be single-core or multi-core, and the instructions executed by the processors may be configured for sequential, parallel, and / or distributed processing. Individual components of the logic subsystem may optionally be distributed across two or more separate devices. These devices may be remotely located and / or configured for coordinated processing. Aspects of the logic subsystem may be virtualized and executed by remotely accessible networked computing devices configured as a cloud computing configuration.
[0061]
[0067] The storage subsystem 704 includes one or more physical devices configured to temporarily and / or permanently store computer information, such as data and instructions, executable by the logic subsystem. When the storage subsystem includes two or more devices, these devices may be co-located and / or remotely located. The storage subsystem 704 may include volatile devices, non-volatile devices, dynamic devices, static devices, read / write devices, read-only devices, random access devices, sequential access devices, location-addressable devices, file-addressable devices, and / or content-addressable devices. The storage subsystem 704 may include removable and / or internal devices. When the logic subsystem executes instructions, the state of the storage subsystem 704 may be transformed, for example, to hold different data.
[0062]
[0068] The logic subsystem 702 and the storage subsystem 704 may be integrated into one or more hardware logic components, which may include program and application specific integrated circuits (PASICs / ASICs), program and application specific standard products (PSSPs / ASSPs), systems on a chip (SOCs), and complex programmable logic devices (CPLDs).
[0063]
[0069] The logic subsystem and storage subsystem may cooperate to instantiate one or more logic machines. As used herein, the term “machine” collectively refers to a combination of hardware, firmware, software, instructions, and / or any other components that cooperate to provide computer functionality. In other words, a “machine” is never an abstract idea but always has a concrete form. A machine may be instantiated by a single computing device, or a machine may include two or more subcomponents instantiated by two or more different computing devices. In some implementations, a machine includes a local component (e.g., a software application executed by a computer processor) that cooperates with a remote component (e.g., a cloud computing service provided by a network of server computers). The software and / or other instructions that give a particular machine its functionality may optionally be stored as one or more unexecuted modules on one or more suitable storage devices.
[0064]
[0070] When included, the display subsystem 706 can be used to present a visual representation of the data maintained by the storage subsystem 704. This visual representation can take the form of a graphical user interface (GUI). The display subsystem 706 can include one or more display devices utilizing virtually any type of technology. In some implementations, the display subsystem can include one or more virtual, augmented, or mixed reality displays.
[0065]
[0071] When included, the input subsystem 708 may include or interact with one or more input devices. Input devices may include sensor devices or user input devices. Examples of user input devices include a keyboard, a mouse, a touchscreen, or a game controller. In some embodiments, the input subsystem may include or interact with selected natural user input (NUI) components. Such components may be integrated or peripheral, and input act transmission and / or processing may be handled on-board or off-board. Exemplary NUI components may include microphones for speech and / or voice recognition; infrared, color, stereo, and / or depth cameras for machine vision and / or gesture recognition; head trackers, eye trackers, accelerometers, and / or gyroscopes for motion detection and / or intent recognition.
[0066]
[0072] If included, communications subsystem 710 may be configured to communicatively couple computing system 700 with one or more other computing devices. Communications subsystem 710 may include wired and / or wireless communication devices compatible with one or more different communications protocols. Communications subsystem may be configured for communication over personal, local, and / or wide area networks.
[0067]
[0073] The present disclosure is presented by way of example and with reference to the associated drawings. Components, process steps, and other elements that may be substantially the same in one or more of the drawings are identified collectively and described with minimal repetition. It should be noted, however, that collectively identified elements may also differ to some extent. It should be further noted that some of the drawings are schematic and not to scale. Various drawing scales, aspect ratios, and numbers of elements shown in the drawings may be intentionally distorted to more clearly show particular features or relationships.
[0068]
[0074] Furthermore, the present disclosure includes configurations according to the following embodiments.
[0069]
[0075] Example 1 1. A method for satellite component classification, comprising: receiving, at a satellite classification system, a test image illustrating a satellite having a hardware component configuration unknown to the satellite classification system; inputting the test image into a satellite classification model, the satellite classification model being trained at least in part based on a plurality of training satellite images to generate an output image segmentation map for the input satellite image; and outputting from the satellite classification model the output image segmentation map for the test image, one or more position parameters for the satellite, and one or more attitude parameters for the satellite, the output image segmentation map comprising a plurality of map pixels corresponding to a plurality of image pixels in the test image, pixel values of the plurality of map pixels classifying corresponding image pixels of the test image as indicative of different hardware components of the satellite.
[0070]
[0076] Example 2. 2. The method of example 1, wherein the satellite classification model includes a segmentation head, a position head, and an attitude head, and during training of the satellite classification model, a multiplicative increase is applied to the segmentation error of the segmentation head before summing the segmentation error with the position error and attitude error for gradient descent optimization.
[0071]
[0077] Example 3 2. The method of example 1, wherein the satellite classification model is further trained to output a classification of the satellite shown in the test image, thereby classifying the satellite as one of a plurality of recognized satellite types.
[0072]
[0078] Example 4. 2. The method of example 1, wherein for image pixels in the test images that indicate hardware components of the same component type, corresponding map pixels in the output image segmentation map have the same pixel value.
[0073]
[0079] Example 5. 2. The method of example 1, wherein for image pixels in the test image that show different instances of the same component type, corresponding map pixels in the output image segmentation map that represent the different instances have different pixel values.
[0074]
[0080] Example 6 2. The method of example 1, further comprising inputting an instantaneous field of view (IFOV) into the satellite classification model, wherein the one or more position parameters are generated based at least in part on the IFOV.
[0075]
[0081] Example 7 2. The method of embodiment 1, wherein training the satellite classification model based at least in part on the plurality of training satellite images includes applying one or more image perturbation operations to a training satellite image of the plurality of training satellite images.
[0076]
[0082] Example 8 8. The method of example 7, wherein the one or more image perturbation operations are selected from rescaling the training satellite shown in the training satellite image, translating the position of the training satellite shown in the training satellite image, and rotating the training satellite.
[0077]
[0083] Example 9. 8. The method of example 7, wherein the one or more image perturbation operations include adding one or more simulated glints to a training satellite shown in the training satellite image.
[0078]
[0084] Example 10. 8. The method of example 7, wherein the one or more image perturbation operations include adding quantized noise to the training satellite images.
[0079]
[0085] Example 11 8. The method of example 7, wherein the one or more image perturbation operations include modifying pixel values of the one or more pixels using a mathematical transformation function.
[0080]
[0086] Example 12 2. The method of example 1, wherein training the satellite classification model based at least in part on the plurality of training satellite images includes adding one or more pixels of the plurality of training satellite images to an exclusion set of pixels to be ignored during training.
[0081]
[0087] Example 13 2. The method of example 1, further comprising outputting from the satellite classification model predicted material properties for surfaces of one or more hardware components of the satellite represented by the test image.
[0082]
[0088] Example 14. 2. The method of example 1, wherein the satellite classification model is a deep neural network (DNN).
[0083]
[0089] Example 15. 1. A satellite classification system comprising: a logic subsystem; and a storage subsystem holding instructions executable by the logic subsystem that, when executed by the logic subsystem, perform the following: receive a test image illustrating a satellite having a hardware component configuration unknown to the satellite classification system; input the test image to a satellite classification model, the satellite classification model being trained at least in part based on a plurality of training satellite images to generate an output image segmentation map for the input satellite image; and output from the satellite classification model the output image segmentation map for the test image, one or more position parameters for the satellite, and one or more attitude parameters for the satellite, the output image segmentation map including a plurality of map pixels corresponding to a plurality of image pixels in the test image, pixel values of the plurality of map pixels classifying corresponding image pixels of the test image as indicative of different hardware components of the satellite.
[0084]
[0090] Example 16. 16. The satellite classification system of embodiment 15, wherein the satellite classification model includes a segmentation head, a position head, and an attitude head, and during training of the satellite classification model, a multiplicative increase is applied to the segmentation error of the segmentation head before summing the segmentation error with the position error and attitude error for gradient descent optimization.
[0085]
[0091] Example 17. 16. The satellite classification system of Example 15, wherein the satellite classification model is further trained to output a classification of the satellite shown in the test image, thereby classifying the satellite as one of a plurality of recognized satellite types.
[0086]
[0092] Example 18. 16. The satellite classification system of example 15, wherein for image pixels in the test image that indicate hardware components of the same component type, the corresponding map pixels in the output image segmentation map have the same pixel value.
[0087]
[0093] Example 19. 16. The satellite classification system of example 15, wherein for image pixels in the test image that show different instances of the same component type, corresponding map pixels in the output image segmentation map that represent the different instances have different pixel values.
[0088]
[0094] Example 20. 16. The satellite classification system of claim 15, wherein training the satellite classification model based at least in part on the plurality of training satellite images includes applying one or more image perturbation operations to a training satellite image of the plurality of training satellite images, the one or more image perturbation operations being selected from rescaling the training satellite shown in the training satellite image, translating a position of the training satellite shown in the training satellite image, rotating the training satellite, adding one or more simulated glints to the training satellite, adding quantized noise to the training satellite image, and modifying pixel values of one or more pixels of the training satellite image.
[0089]
[0095] Example 21. 21. The satellite classification system of claim 20, wherein the one or more image perturbation operations include modifying pixel values of the one or more pixels using a mathematical transformation function.
[0090]
[0096] Example 22. 16. The satellite classification system of example 15, wherein training the satellite classification model based at least in part on the plurality of training satellite images includes adding one or more pixels of the plurality of training satellite images to an exclusion set of pixels to be ignored during training.
[0091]
[0097] Example 23. The satellite classification system of Example 15, further comprising outputting from the satellite classification model predicted material properties for the surfaces of one or more hardware components of the satellite represented by the test image.
[0092]
[0098] Example 24. 1. A method for satellite component classification, comprising: receiving, at a satellite classification system, a test image illustrating a satellite having a hardware component configuration unknown to the satellite classification system; inputting the test image into a satellite classification model, the satellite classification model being trained at least in part based on a plurality of training satellite images to generate an output image segmentation map for the input satellite image; outputting from the satellite classification model the output image segmentation map for the test image, one or more position parameters for the satellite, and one or more attitude parameters for the satellite; and outputting a classification of the satellite shown in the test image, thereby classifying the satellite as one of a plurality of recognized satellite types, the output image segmentation map comprising a plurality of map pixels corresponding to a plurality of image pixels in the test image, pixel values of the plurality of map pixels classifying corresponding image pixels of the test image as indicative of different hardware components of the satellite.
[0093]
[0099] It will be understood that the configurations and / or approaches described herein are exemplary in nature, and that these specific embodiments or examples should not be considered limiting, as numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various operations illustrated and / or described may be performed in the order illustrated and / or described, in other orders, concurrently, or omitted. Similarly, the order of processes described above may be changed.
[0094]
[0100] The subject matter of the present disclosure includes all novel and non-obvious combinations and subcombinations of the various processes, systems, and configurations, as well as other features, functions, operations, and / or properties disclosed herein, and any and all equivalents thereof. [Explanation of symbols]
[0095] 100 Exemplary Satellite Classification System 102 Satellite Classification Model 104 Test Images 106 image pixels 108 satellite 110 Hardware Configuration 112 Output Image Segmentation Map 114 map pixels 116 Attitude Parameters 118 Positional Parameters 120 classification 121 Material Properties 122 Encoder 124 Segmentation Head 126 Posture Head 128 Position Head 200 Exemplary Satellite Classification System 202 Test Images 204 Satellite 206 Image Segmentation Map 208A Solar Panel Label 208B Satellite body label 208C Antenna Label 300 Exemplary Satellite Classification System 302 Test Images 304 satellite 306 Image Segmentation Map 308A Solar Panel Label 308B Satellite body label 308C Solar Panel Label 308D Antenna Label 400 Exemplary Satellite Classification Model 402A, 402B, 402C images 404 Training Composition Map 406 pixel component label 500 exemplary training satellite images 502 Image Perturbation System 504A~504C Training satellite images 600 ways 602, 604, 606, 608, 610 method steps 700 Computing System 702 Logic Subsystem 704 Storage Subsystem 706 Display Subsystem 708 Input Subsystem 710 Communication Subsystem
Claims
1. A method (600) for satellite component classification, comprising: receiving (602) at a satellite classification system (100) a test image (104) showing a satellite (108) having a hardware component configuration (110) unknown to the satellite classification system (100); inputting (604) the test image (104) into a satellite classification model (102), the satellite classification model (102) having been trained based at least in part on a plurality of training satellite images (402) to generate an output image segmentation map for the input satellite image; and From the satellite classification model (102), the output image segmentation map (112) for the test image (104); one or more position parameters (118) for the satellite (108); and outputting (606) one or more attitude parameters (116) for the satellite (108); The method (600) includes a method for classifying a plurality of image pixels (106) in the test image (104) as indicative of a different hardware component (110) of the satellite (108), the method (600) comprising: a method for classifying a plurality of image pixels (106) in the test image (104) as indicative of a different hardware component (110) of the satellite (108);
2. 2. The method of claim 1, wherein the satellite classification model includes a segmentation head, a position head, and an attitude head, and wherein during training of the satellite classification model, a multiplicative increase is applied to the segmentation error of the segmentation head before summing the segmentation error with position and attitude errors for gradient descent optimization.
3. 10. The method of claim 1, wherein the satellite classification model is further trained to output a classification of the satellite shown in the test image, thereby classifying the satellite as one of a plurality of recognized satellite types.
4. 2. The method of claim 1, wherein for image pixels in the test image that represent hardware components of the same component type, corresponding map pixels in the output image segmentation map have the same pixel value.
5. 2. The method of claim 1, wherein for image pixels in the test image that show different instances of the same component type, corresponding map pixels in the output image segmentation map that represent the different instances have different pixel values.
6. 2. The method of claim 1, further comprising inputting an instantaneous field of view (IFOV) into the satellite classification model, wherein the one or more position parameters are generated based at least in part on the IFOV.
7. 10. The method of claim 1, wherein training the satellite classification model based at least in part on the plurality of training satellite images comprises applying one or more image perturbation operations to a training satellite image of the plurality of training satellite images.
8. 8. The method of claim 7, wherein the one or more image perturbation operations are selected from rescaling a training satellite shown in the training satellite image, translating the position of the training satellite shown in the training satellite image, rotating the training satellite, adding one or more simulated glints to the training satellite, adding quantized noise to the training satellite image, and modifying pixel values of one or more pixels of the training satellite image via one or more mathematical transformation functions.
9. 10. The method of claim 1, wherein training the satellite classification model based at least in part on the plurality of training satellite images includes adding one or more pixels of the plurality of training satellite images to an exclusion set of pixels to be ignored during training.
10. 2. The method (600) of claim 1, further comprising outputting from the satellite classification model (102) predicted material properties (121) for surfaces of one or more hardware components of the satellite (108) represented by the test image (104).
11. The method of claim 1 , wherein the satellite classification model is a deep neural network.
12. a logic subsystem (702); and a storage subsystem (704) that holds instructions executable by the logic subsystem (702), the instructions, when executed by the logic subsystem (702), receiving a test image (104) showing a satellite (108) having a hardware component configuration (110) unknown to the satellite classification system (100); inputting the test image (104) into a satellite classification model (102), the satellite classification model (102) being trained at least in part based on a plurality of training satellite images (402) to generate an output image segmentation map for the input satellite image; and From the satellite classification model (102), the output image segmentation map (112) for the test image (104); one or more position parameters (118) for the satellite (108); and outputting one or more attitude parameters (116) for the satellite (108); a satellite classification system (100) in which the output image segmentation map (112) includes a plurality of map pixels (114) corresponding to a plurality of image pixels (106) in the test image (104), and pixel values of the plurality of map pixels (114) classify corresponding image pixels (106) in the test image (104) as indicative of different hardware components of the satellite (108).
13. 13. The satellite classification system of claim 12, wherein the satellite classification model includes a segmentation head, a position head, and an attitude head, and wherein during training of the satellite classification model, a multiplicative increase is applied to the segmentation error of the segmentation head before summing the segmentation error with position and attitude errors for gradient descent optimization.
14. 13. The satellite classification system (100) of claim 12, wherein the satellite classification model (102) is further trained to output a classification (120) of the satellite (108) shown in the test image (104), thereby classifying the satellite (108) as one of a plurality of recognized satellite types.
15. 13. The satellite classification system of claim 12, wherein for image pixels in the test image that indicate hardware components of the same component type, corresponding map pixels in the output image segmentation map have the same pixel value.
16. 13. The satellite classification system of claim 12, wherein for image pixels in the test image that show different instances of the same component type, corresponding map pixels in the output image segmentation map that represent the different instances have different pixel values.
17. 13. The satellite classification system of claim 12, wherein training the satellite classification model based at least in part on the plurality of training satellite images includes applying one or more image perturbation operations to a training satellite image of the plurality of training satellite images, the one or more image perturbation operations being selected from rescaling a training satellite shown in the training satellite image, translating a position of the training satellite shown in the training satellite image, rotating the training satellite, adding one or more simulated glints to the training satellite, adding quantized noise to the training satellite image, and modifying pixel values of one or more pixels of the training satellite image.
18. 13. The satellite classification system of claim 12, wherein training the satellite classification model based at least in part on the plurality of training satellite images includes adding one or more pixels of the plurality of training satellite images to an exclusion set of pixels to be ignored during training.
19. 13. The satellite classification system (100) of claim 12, further comprising outputting from the satellite classification model (102) predicted material properties (121) for surfaces of one or more hardware components of the satellite (108) represented by the test image (104).
20. A method (600) for satellite component classification, comprising: receiving (602) at a satellite classification system a test image showing a satellite (108) having a hardware component configuration (110) unknown to the satellite classification system (100); inputting (604) the test image (104) into a satellite classification model (102), the satellite classification model (102) having been trained at least in part based on a plurality of training satellite images (402) to generate an output image segmentation map for the input satellite image; outputting (606) from the satellite classification model (102) the output image segmentation map (112) for the test image (104), one or more position parameters (118) for the satellites (108), and one or more attitude parameters (116) for the satellites (108); and outputting (608) a classification of the satellite (108) shown in the test image (104), thereby classifying (608) the satellite (108) as one of a plurality of recognized satellite types; The method (600) includes a method for classifying a plurality of image pixels (106) in the test image (104) as indicative of different hardware components of the satellite (108), the method (600) including ...