Satellite model generation system

The satellite model generation system addresses the limitation of generating large numbers of plausible virtual satellite models by using pseudorandom number generators and configuration constraints, facilitating efficient production and diverse image views for machine learning training.

JP2025162989APending Publication Date: 2025-10-28THE BOEING CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025062515
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-10
Filing Date
2025-04-04
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

Current technology is limited in generating large numbers of virtual digital 3D models of satellites with varying configurations, particularly those that are plausible but not based on real-world objects, and lacks the ability to programmatically create diverse image views for training machine learning models.

Method used

A satellite model generation system using pseudorandom number generators and configuration validity constraints to generate multiple 3D satellite models with varying parameters, enabling rapid production of hundreds of thousands of realistic satellite configurations and image views.

Benefits of technology

Enables the rapid generation of vast amounts of diverse 3D satellite models and images for training machine learning models, allowing classification of satellite components, by utilizing pseudorandom number generators and configuration constraints.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025162989000001_ABST
    Figure 2025162989000001_ABST
Patent Text Reader

Abstract

To provide a method and a system for automatically generating a digital three-dimensional (3D) model of a satellite (being an artificial satellite, hereinafter).SOLUTION: A method (700) for satellite model generation includes the steps of: generating a plurality of satellite generation values (105) based on an input seed value (104); and generating a plurality of different three-dimensional (3D) satellite models (106), using a satellite model generation system (102). A plurality of different 3D satellite models (106) differ according to a plurality of satellite configuration parameters (110). The method also includes, for each 3D satellite model of the plurality of different 3D satellite models (106), the steps of: determining the satellite configuration parameters (110) of the 3D satellite model based at least in part on the plurality of satellite generation values (105); and a plurality of configuration plausibility constraints (114) of the satellite model generation system (102); and outputting the plurality of different three-dimensional (3D) satellite models (106).SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the automated generation of digital models, and more particularly to the automated generation of digital three-dimensional (3D) models of satellites (artificial satellites, hereinafter the same). [Background technology]

[0002]

[0002] Through computer software, digital three-dimensional (3D) models can be generated that serve as digital representations of physical objects. Such representations can specify the shape, texture, color, material properties, and / or other suitable parameters of the physical object. Model generation can be performed through several methods, including sculpting and photogrammetry. In sculpting, 3D models are individually created by hand using specialized software. In photogrammetry, 3D models are generated from a series of photographs of the physical object. 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 model generation includes generating a plurality of satellite generations based on an input seed value. A plurality of different three-dimensional (3D) satellite models are generated using a satellite model generation system, where the plurality of different 3D satellite models differ by a plurality of satellite configuration parameters. For each 3D satellite model of the plurality of different 3D satellite models, the satellite configuration parameters of the 3D satellite model are determined based at least in part on the plurality of satellite generations and a plurality of configuration validity constraints of the satellite model generation system. The plurality of different three-dimensional (3D) satellite models are output.

[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]

[0006] An exemplary computing system used to implement a satellite model generation system is illustrated schematically. [Figure 2]

[0007] Schematically illustrates the generation of different three-dimensional (3D) satellite models based on satellite output values. [Figure 3A]

[0008] 3A-3C schematically illustrate different exemplary 3D satellite models that vary by several satellite configuration parameters. [Figure 3B] 3A-3C schematically illustrate different exemplary 3D satellite models that vary by several satellite configuration parameters. [Figure 3C] 3A-3C schematically illustrate different exemplary 3D satellite models that vary by several satellite configuration parameters. [Figure 4]

[0009] 1 illustrates schematically the rendering of a satellite image view of a 3D satellite model via an image rendering system. [Figure 5]

[0010] 1A and 1B illustrate schematic diagrams of exemplary satellite image views rendered to simulate visible spectrum and infrared spectrum illumination. [Figure 6]

[0011] 10A and 10B illustrate schematically the output of a configuration map that labels pixels in a satellite image view as corresponding to different satellite components. [Figure 7]

[0012] 1 illustrates an exemplary method for satellite model generation. [Figure 8]

[0013] 1 illustrates a schematic diagram of an exemplary computing system. DETAILED DESCRIPTION OF THE INVENTION

[0007]

[0014] Various techniques can be used to generate digital three-dimensional (3D) models that serve as digital representations of corresponding physical objects. However, current technology does not allow for programmatic generation of large numbers (tens of thousands or hundreds of thousands) of virtual digital 3D models of a class of objects, such as satellites. In that case, such models embody a wide range of randomly varying configurations, where all such configurations are appropriately realistic and plausible configurations of objects in the class. Furthermore, some model generation techniques are limited to generating digital 3D models that correspond to existing physical objects that can be photographed in the real world, and are not capable of programmatically generating digital 3D models of virtual objects from a class of objects.

[0008]

[0015] Accordingly, this disclosure is directed to techniques for automatically generating digital 3D models. In particular, this disclosure describes a satellite model generation system used to generate digital 3D models representing satellites, referred to herein as "3D satellite models." The satellite model generation system receives a set of satellite generated values ​​generated based on an input seed (e.g., using a pseudorandom number generator (PRNG)) and then generates multiple 3D satellite models based on the satellite generated values. The generated 3D satellite models vary depending on multiple different satellite configuration parameters. These parameters are determined by both the satellite generated values ​​and multiple configuration validity constraints of the satellite generated models. Furthermore, the 3D satellite models generated by the satellite model generation system are not limited to only real-world satellites, but rather may represent hypothetical satellite configurations that are not actually constructed in the real world.

[0009]

[0016] In this manner, the techniques described herein can be beneficially used to rapidly generate vast amounts of digital 3D models corresponding to plausible hypothetical satellite configurations. Furthermore, the generated 3D satellite models as described herein can be used to render multiple different image views for each satellite configuration. During the rendering of the image views, various rendering settings can be programmatically changed between each image view. This can be done, for example, to change the apparent pose of the satellite in the image view, to change the lighting conditions (e.g., light intensity, direction, wavelength spectrum), to change the apparent image background, etc., thereby generating a diverse set of images showing each different 3D satellite model, where such images encompass a huge range of satellite geometry and appearance. In this manner, as described further below, the techniques described herein can, in some embodiments, generate hundreds of thousands of images of random, realistic satellites within an hour. These images can be used, for example, to train a machine learning (ML) model used to classify different components of an unknown satellite, or to achieve any suitable purpose.

[0010]

[0017] FIG. 1 schematically illustrates an exemplary computing system 100 that may be used to implement any or all of the satellite model generation techniques described herein. Computing system 100 may be implemented via any suitable combination of computer hardware components. As one example, computing system 100 may take the form of a server computer. In other examples, the computing device may take another suitable form, such as a personal computer. In some examples, aspects of computing system 100 may be distributed among two or more different computing devices. Generally, computing 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 computing system 100, may, in some cases, be implemented as computing system 800, described below with respect to FIG. 8.

[0011]

[0018] 1 , a computing system 100 is used to implement a satellite model generation system 102. The satellite model generation system is implemented as any suitable combination of computer software, hardware, and / or firmware components usable to generate a digital 3D model representing a satellite. In some embodiments, the satellite model generation system is implemented via suitable machine learning (ML) and / or artificial intelligence (AI) techniques. As non-limiting examples, the satellite model generation system may include a generative adversarial network (GAN), a variational autoencoder (VAE), a convolutional neural network (CNN), a transformer model, and / or any other suitable trained ML model.

[0012]

[0019] Generally, generating a satellite model involves making a series of decisions about the configuration of the satellite, such as the shape, dimensions, and surface characteristics of its parts, the position and orientation of its parts relative to each other, the overall orientation of the satellite, and / or the external lighting environment. To randomize the configuration, these decisions may be made based on randomized satellite-generated values ​​output by, for example, a random number generator (RNG) or a pseudo-random number generator (PRNG). In one exemplary scenario, the shape of the satellite body may be selected to be a box 40% of the time, a cylinder 35% of the time, and a hexagonal prism 25% of the time. A random satellite-generated value X may be generated between zero and one hundred. The body shape may be selected based on that value, such that: 0≦X<40=Box 40≦X<75=Cylinder 75≦X≦100=hexagonal prism

[0013]

[0020] As another example, the satellite body length may be randomly selected to be equal to a satellite-generated value generated by a random number generator configured to randomly output values ​​from a uniform portion on a continuum from 0.5 meters to 2 meters. Alternatively, a non-uniform distribution may be used, for example, within a range, but which may also weight results more heavily toward values ​​near the lower, middle, or upper limits.

[0014]

[0021] An RNG may be implemented in any suitable manner. In some embodiments, an RNG may be driven by measurements of some random physical noise process (e.g., voltage fluctuations, thermal motion of atoms, polarization state of thermally emitted photons). In contrast, a PRNG is an algorithm for generating a long sequence of numbers that follows some probability distribution. This disclosure refers to the values ​​output by the RNG and / or PRNG and used to generate satellite models as satellite-generated values. In some embodiments, the specific sequence of values ​​generated by the PRNG is determined by an input seed value provided to the PRNG. The PRNG thereby reproduces the same sequence of satellite-generated values ​​when started with the same input seed value. Different input seed values, when provided to the PRNG, will produce different sets of satellite-generated values ​​that are highly uncorrelated and therefore result in different satellite models. The input seed value provided to the PRNG may be manually selected, set to a fixed value, and / or randomly selected, such as based on measurements of a random process (e.g., stock prices, wind speed, voltage, the last key press on a computer, the current number of seconds on a computer clock, etc.).

[0015]

[0022] The use of a PRNG provides flexibility in independently controlling the randomness of different aspects of satellite model generation. Such aspects may include, for example, the satellite's (a) geometric configuration, (b) surface reflectance, (c) surface texture, (d) overall orientation, and / or (e) direction of an external illumination source. In some embodiments, a different PRNG and input seed value may be used for each of the different aspects (a)-(e). Thus, for example, if 100 random satellites are generated, each using the same input seed for the PRNG associated with (a), (d), and (e), but different input seeds for the PRNG for (b) and (c), each instance of the 100 satellites may have the same geometric configuration, orientation, and illumination, but different surface reflectance and texture. In a series of determinations for a set of satellite attributes, the PRNG may restart between satellites or continue for the full set of determinations for the sequence of satellites.

[0016]

[0023] In the embodiment of FIG. 1 , computing system 100 implements PRNG 103. The PRNG receives an input seed value and generates a plurality of satellite generated values ​​105 that are input to a satellite model generation system. As will be described in more detail below, the satellite model generation system is configured to generate a 3D satellite model based at least in part on the set of satellite generated values. In some embodiments, satellite model generation is deterministic, such that the same set of satellite generated values ​​will always result in the satellite model generation system generating the same set of 3D satellite models. In other embodiments, satellite model generation may be non-deterministic, such that the same set of satellite generated values ​​provided to the satellite model generation system at different times will result in the generation of different sets of output satellite models.

[0017]

[0024] The satellite-generated values ​​may take any suitable form. For example, the satellite-generated values ​​may range from 0 to 1, from 1 to 10, from 1 to 100, or may have any other suitable range. In some embodiments, the satellite-generated values ​​are generated by a PRNG, as shown in FIG. 1 . In such cases, the PRNG may be integrated into a computing system implementing the satellite model generation system or may be external to the system. In general, the satellite-generated values, and / or the input seed values ​​used to generate the satellite-generated values, may be loaded from computer storage, received over a computer network, generated by the computing system, and / or have any other suitable source.

[0018]

[0025] In some embodiments, the input seed value used to generate the satellite-generated values ​​may be stored so that the input seed value can later be provided to a deterministic PRNG to reproduce a given set of satellite-generated values. This may beneficially allow for savings in computer storage space, for example, alleviating the need to use potentially large amounts of storage space to store a 3D satellite model when the model is reproduced from the stored input seed value.

[0019]

[0026] After receiving the satellite generated values, satellite model generation system 102 generates a set of 3D satellite models 106. In one embodiment of FIG. 1, these include at least 3D satellite model 108A and satellite model 108B. As used herein, a "3D satellite model" takes the form of any suitable data structure that represents the 3D shape of a satellite. In some examples, the 3D satellite model may further specify the texture, color, material properties, and / or other suitable properties of the satellite. The 3D satellite model may be formatted and encoded in any suitable manner.

[0020]

[0027] The satellite model generation system may generate any suitable number of different 3D satellite models. While two 3D satellite models are generated in FIG. 1 , this is non-limiting. In other embodiments, the satellite model generation system may generate only one 3D satellite model per pass, or may generate more than two 3D satellite models per pass. For example, in some cases, the satellite model generation system may be used to generate hundreds, thousands, or more unique 3D satellite models per pass.

[0021]

[0028] As used herein, a "satellite" generally refers to a spacecraft designed to orbit the Earth and / or another celestial body. A satellite may include any number of individual components. Generally, a satellite may have one or more of many types of components, including, by way of non-limiting examples, solar panels, antennas, radiators, star trackers, thrusters, docking systems, mounting systems, windows, exterior markings, and / or sensors, such as electro-optical sensors, radar, magnetometers, particle detectors, etc. Each of these components may itself have a variety of geometric configurations and surface properties, including reflectivity, texture, and thermal properties. The components may be positioned relative to the body in various positions and orientations. Furthermore, in rendering an image of a satellite model, the model may be continuously positioned and oriented relative to the camera, and the model may be illuminated by one or more light sources. Each light source has its own position, brightness, and spectrum. The light sources may range from highly directional to diffuse and uniform. 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.

[0022]

[0029] The multiple 3D satellite models 106 generated by the satellite model generation system 102 vary by multiple satellite configuration parameters 110. A "satellite configuration parameter" may include any suitable variable that, when changed, affects the configuration and / or appearance of the output 3D satellite model compared to other satellites having different values ​​of that variable. The value of each satellite configuration parameter 110 is determined at least in part based on the satellite generated values ​​104. In other words, for a given satellite configuration parameter, the value of that parameter may be determined at least in part by a corresponding satellite generated value from a set of satellite generated values. In this manner, the satellite configuration parameters for each output 3D satellite model may be at least somewhat randomized (e.g., via randomized satellite generated values), resulting in the generation of a diverse set of different satellite configurations.

[0023]

[0030] As described above, the satellite model generation system may be implemented as any suitable combination of computer software, hardware, and / or firmware. In some embodiments, the software generation system is implemented as one or more software applications configured to generate a 3D satellite model based on the satellite-generated values ​​and based on a predefined set of configuration parameters and configuration validity constraints. The configuration parameters and validity constraints may be stored, for example, in a configuration file that is read by the software application.

[0024]

[0031] Additionally or alternatively, the satellite model generation system may be implemented via suitable ML and / or AI techniques. In such cases, the satellite model generation system may be trained to output a 3D satellite model in any suitable manner. As one non-limiting example, the satellite model generation system may be trained based on a dataset of training 3D satellite models (e.g., generated through sculpting or another suitable method), each model having known satellite configuration parameters. During training, the satellite model generation system may be provided with the known satellite configuration parameters in order to reproduce the training 3D satellite models. Over multiple training passes, the difference between the training 3D satellite models and the 3D satellite models output by the satellite model generation system may be iteratively reduced. In this manner, the satellite model generation system may be trained to create new 3D satellite models when provided with new satellite generation values.

[0025]

[0032] The satellite model generation system may receive any suitable number of satellite-generated values. In some embodiments, the number of satellite-generated values ​​may be equal to or greater than the number of satellite configuration parameters supported by the satellite model generation system. For example, as will be described in more detail below, each different satellite-generated value may be used to determine a corresponding satellite configuration parameter. In cases where multiple 3D satellite models are generated at once, the satellite-generated values ​​may then be divided into different sets of satellite-generated values ​​for each different 3D satellite model.

[0026]

[0033] As described above, satellite-generated values ​​may have any suitable range. Furthermore, satellite configuration parameters may each have any suitable range of allowable values, depending on the implementation and the purpose of the satellite configuration parameter. Accordingly, it will be understood that satellite-generated values ​​may be mapped or normalized to a corresponding satellite configuration parameter in any suitable manner. In one simplified example, a given satellite configuration parameter may have only two possible values, and the satellite-generated values ​​may range from 1 to 100. In this case, a satellite-generated value of 50 or less may cause the satellite configuration parameter to have one value (e.g., zero), while a satellite-generated value greater than 50 may cause the satellite configuration parameter to have another value (e.g., 1). It will be understood that this is only one simplified example, and that the value of a satellite configuration parameter may be determined in any suitable manner based on the satellite-generated value for that parameter and any configuration validity constraints affecting that parameter.

[0027]

[0034] In some embodiments, the plurality of satellite configuration parameters includes one or more satellite component parameters. In one embodiment of FIG. 1, the set of satellite configuration parameters 110 includes at least one component parameter 112A. A "satellite component parameter" may define the shape, arrangement, and / or type of satellite component included in the 3D satellite model. As examples, the satellite component parameters may be selected from the shape of the satellite body of the 3D satellite model (e.g., cylinder, box, hexagonal prism), the number of solar panels for the 3D satellite model, the number of antennas for the 3D satellite model, the number of thrusters for the 3D satellite model, the dimensions of one or more satellite components in the 3D satellite model (e.g., satellite body dimensions, size and / or shape of satellite antenna, size and / or shape of satellite thrusters), the component type of one or more satellite components in the 3D satellite model (e.g., rod antenna or dish antenna), the mounting type for one or more satellite components in the 3D satellite model (e.g., fixedly attached to the satellite body, attached to the satellite body by way of a support member), and / or the mounting location of one or more of the satellite components in the 3D satellite model (e.g., mounting coordinates relative to the satellite body or relative to another satellite component). Exemplary 3D satellite models that vary with these satellite component parameters will be described below with respect to FIGS. 2 and 3A-3C.

[0028]

[0035] In some embodiments, the satellite configuration parameters include one or more satellite material parameters. In the embodiment of FIG. 1, the satellite configuration parameters 110 include at least one material parameter 112B. In some embodiments, the satellite material parameters may specify simulated material reflectance properties, simulated material luminance properties, and / or simulated material thermal properties for materials simulated within the 3D satellite model. The reflectance properties may range from Lambertian to a fully complex bidirectional reflectance distribution function (BRDF). The BRDF specifies the amount of light reflected from a surface in each direction depending on the direction of illumination.

[0029]

[0036] In some embodiments, the satellite configuration parameters include one or more satellite lighting parameters. For example, in FIG. 1 , satellite configuration parameters 110 include at least one lighting parameter 112C. In some examples, the satellite lighting parameters may be selected from the position of a light source relative to the 3D satellite model, the intensity of the illumination provided by the light source, and the uniformity of the illumination on the 3D satellite model. The light source may range from highly directional to completely diffuse, for example, uniform from all directions. In this embodiment, the satellite lighting parameters are defined during generation of the 3D satellite model. It will be appreciated that in some cases, the lighting parameters may also or alternatively be controlled when rendering an image view of the 3D satellite model.

[0030]

[0037] Satellite configuration parameters may in some cases be "discrete" parameters, for example, having a limited number of individual allowable values. This may include, for example, a parameter that defines the satellite body shape (e.g., box, cylinder, hexagonal prism) or a parameter that defines the quantity of solar panels (e.g., 1, 2, 4). In contrast, a "continuous" parameter may accept a range of allowable values ​​(e.g., component length, component placement). In some examples, satellite configuration parameters may be associated with a decision tree. For example, at each branch in the tree, a decision may be made that affects downstream parameters for the satellite configuration. For example, after determining that the satellite has a cylindrically shaped body, a subsequent node in the decision tree may determine the curvature of the cylinder.

[0031]

[0038] The satellite configuration parameters of each 3D satellite model are determined based at least in part on the satellite generated values ​​and a plurality of configuration validity constraints of the satellite model generation system. For example, in Figure 1, the satellite model generation system includes a plurality of configuration validity constraints 114. Generally, these configuration validity constraints act to influence or limit the values ​​assigned to one or more of the satellite configuration parameters.

[0032]

[0039] For example, a particular validity constraint may specify a range of allowable values ​​for a corresponding satellite configuration parameter. In FIG. 1 , the configuration validity constraint includes range constraint 116A. In one non-limiting example scenario, a range-type validity constraint may specify that a satellite should have two or more solar panels and no more than ten solar panels. In other words, the validity constraint limits the corresponding panel quantity configuration parameter to a value ranging from two to ten. Thus, in setting the panel quantity configuration parameter for each 3D satellite model, the satellite-generated value may be normalized to between two and ten and then used as the number of solar panels included in the 3D satellite model.

[0033]

[0040] In some embodiments, at least one configuration validity constraint of the plurality of configuration validity constraints, for a satellite configuration parameter of the plurality of satellite configuration parameters, defines a probability distribution of satellite configuration parameter values. In one embodiment of FIG. 1 , the satellite validity constraint includes at least one probability constraint 116B. The probability constraint may define certain values ​​of the corresponding satellite constellation as relatively more probable and other values ​​as relatively less probable. In one exemplary scenario, a probability-type constraint may specify that the number of antennas included in the satellite constellation (as defined by the corresponding antenna quantity configuration parameter) is most likely to be one, with the probability becoming increasingly lower as the quantity increases. For example, a value of one may have a 50% probability, a value of two may have a 30% probability, a value of three may have a 10% probability, etc.

[0034]

[0041] In some examples, at least one configuration validity constraint of the plurality of configuration validity constraints specifies, for a satellite configuration parameter of the plurality of satellite configuration parameters, a maximum ratio difference between the satellite configuration parameter and a second satellite configuration parameter. In FIG. 1 , configuration validity constraints 112 include at least one ratio constraint 116C. In one exemplary scenario, one satellite configuration parameter may specify the length of the satellite body, while another satellite configuration parameter may specify the width of the satellite body. Thus, a ratio-type constraint may specify, for example, that the satellite length cannot exceed three times the satellite width. Such ratio constraints may be used to control the level of various satellite geometric configurations, for example, to avoid highly implausible shapes and / or constrain geometric shapes to a very limited range.

[0035]

[0042] It will be appreciated that the satellite validity constraints described above are non-limiting examples. In general, the allowable values ​​of satellite configuration parameters may be defined or limited in any suitable manner via any suitable set of configuration validity constraints. Furthermore, in some embodiments, the satellite model generation system may maintain two or more different sets of configuration validity constraints. These sets may be switched depending on the desired type of 3D satellite model to be generated. For example, in the embodiment of FIG. 1 , the configuration validity constraints 114 are associated with a first satellite output profile 118A, and the satellite model generation system 102 is capable of switching between the output profile 118A and a second satellite output profile 118B associated with a second, different plurality of configuration validity constraints 120. This may allow, for example, some capability of a human operator and / or an automated system to control the type of 3D satellite model output by the satellite model generation system.

[0036]

[0043] In one exemplary scenario, one output profile may be used to generate a model representing a large communications satellite. When this output profile is selected, the satellite model generation system may use a set of configuration validity constraints that tend to favor satellites with larger body sizes, more antennas, relatively larger antennas, relatively more solar panels, etc. In contrast, another output profile may be used to generate a model representing a smaller satellite (e.g., a pico-satellite). When this output profile is selected, the satellite model generation system may use a set of configuration validity constraints that tend to favor satellites with smaller body sizes, fewer solar panels, fewer and smaller antennas, etc. These examples of output profiles are simplified and non-limiting, and it will be understood that an output profile may be associated with any collection of configuration validity constraints to influence the type of 3D satellite model output by the satellite model generation system.

[0037]

[0044] The generation of 3D satellite models is illustrated generally with respect to FIG. 2. Specifically, FIG. 2 generally illustrates an exemplary satellite model generation system 200. A plurality of satellite generated values ​​202 are input to the satellite model generation system, which results in the output of several 3D satellite models, including models 204A, 204B, and 204C. These 3D satellite models vary depending on a plurality of satellite configuration parameters, as described above. The specific 3D satellite models illustrated in FIG. 2, as well as in FIGS. 3A-5 described below, are non-limiting, highly simplified, and provided for illustrative purposes only.

[0038]

[0045] 3A-3C schematically illustrate several additional examples of 3D satellite models to illustrate potential variations for several satellite configuration parameters. FIG. 3A illustrates two different 3D satellite models 300A and 300B. Each of these 3D models includes various subcomponents, including a satellite body 302A / B, solar panels 304A / B, and antennas 306A / B. It will be understood that the 3D satellite models described herein can be assembled from any of a wide variety of subcomponents, and the specific subcomponents described herein are non-limiting. Rather, 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.

[0039]

[0046] With reference to FIG. 3A , the satellite bodies for 3D satellite models 300A and 300B have the same shape (e.g., cylindrical), but 3D satellite model 300B uses a different simulated material for the satellite body. This is indicated by the fill pattern used for satellite body 302B. As described above, this may be determined by the satellite material parameters of several satellite configuration parameters. Similarly, 3D satellite model 300A includes two solar panels, while 3D satellite model 300B includes six solar panels. 3D satellite model 300A includes one antenna 306A, while 3D satellite model 300B includes two different antennas. The two different antennas have different sizes relative to each other and relative to 3D satellite model 300A. Each of these differences may correspond to different values ​​of the satellite configuration parameters described above, as determined by satellite generation values ​​and configuration validity constraints.

[0040]

[0047] FIG. 3B schematically illustrates further embodiments of 3D satellite models 310A and 310B. These 3D satellite models each include a respective satellite body 312A / B, which in this embodiment takes the form of a rectangular box. Satellite model 310A includes four solar panels 314A, each attached to the lower edge of the satellite body (relative to the page). In contrast, satellite model 310B includes two solar panels 314B, two attached to the upper side of the satellite body. Furthermore, the method of attachment of the solar panels differs between the two satellite models. In the case of 3D satellite model 310A, the solar panels are fixedly and directly attached to the satellite body. In the case of satellite 310B, the solar panels are attached to the satellite body via support members 315, which may take any suitable form (e.g., trusses, beams, brackets, couplers, etc.). The attachment may be fixed, swiveling, hinged, or the like.

[0041]

[0048] In FIG. 3B , 3D satellite model 310A includes thruster 316A, which is shown as a cone in this simplified representation. A satellite may include any suitable number and variety of thrusters. By way of non-limiting example, a satellite may include one or more chemical thrusters, electric propulsion thrusters, cold gas thrusters, etc. Satellite model 310B includes two thrusters 316B, each of which has a smaller size compared to thruster 316A of satellite 310A. While satellites 300A and 300B include antennas and satellites 310A and 310B include thrusters, it should be understood that this does not mean that antennas and thrusters are mutually exclusive. Rather, 3D satellite models generated according to the techniques described herein may include any suitable number and variety of antennas, thrusters, and / or other satellite components.

[0042]

[0049] 3B , the 3D satellite model 310A includes a generic component representation 318A. A "generic component representation" serves as a representation of any component or visible feature on the satellite body and / or other portion of the 3D satellite model. As non-limiting examples, the generic component representation may serve to represent a sensor, a camera, a thruster nozzle, an access panel, a connector, a status indicator (e.g., a light), a magnetorquer, a fastener (e.g., a bolt, a rivet, a screw), and / or other suitable component. Within the 3D satellite model, the generic component representation may have any suitable size, shape, and placement relative to the satellite.

[0043]

[0050] In FIG. 3B , generic component representation 318A takes the form of a small rectangle, although it will be appreciated that other shapes (e.g., circle, oval, square, other polygon, irregular shape) may also or alternatively be used. Furthermore, a 3D satellite model may include any suitable number and variety of generic component representations. For example, 3D satellite model 310B includes three generic component representations, one of which is labeled as representation 318B. As with other aspects of a 3D satellite model, the appearance and / or placement of the generic component representations may be specified by satellite configuration parameters. In other words, in some embodiments, the satellite configuration parameters include, for each of one or more generic component representations attached to the satellite body within the 3D satellite model, the generic component representation appearance and the generic component representation location.

[0044]

[0051] FIG. 3C schematically illustrates further embodiments of 3D satellite models 320A and 320B. These 3D satellite models each include a respective satellite body 322A / B, which in this embodiment takes the form of a rectangular box. However, the dimensions of satellite bodies 322A and 322B are different compared to satellite bodies 312A and 312B of FIG. 3B. Satellite model 320A includes two solar panels, one of which is labeled as solar panel 324A. Satellite model 320B similarly includes two solar panels, one of which is labeled as solar panel 324B. However, the solar panels for 3D satellite model 320B are larger than those for 3D satellite model 320A.

[0045]

[0052] Satellite model 320A includes a total of three antennas. One of these three is labeled as antenna 326A. In contrast, 3D satellite model 320B includes a single dish antenna 326B. As mentioned above, the size, placement, and type of antenna used may vary from one 3D satellite model to another, as specified by the satellite configuration parameters. As non-limiting examples, satellite antennas may include parabolic dish antennas, patch antennas, helical antennas, horn antennas, phased array antennas, etc.

[0046]

[0053] It will be appreciated that the potential differences described above between different 3D satellite models are non-limiting. Rather, two different 3D satellite models generated in accordance with the techniques described herein may vary by any suitable number and variety of different satellite configuration parameters. Further non-limiting examples of satellite configuration parameters are provided as follows: Body shape (e.g., box, cylinder, hexagonal prism) Body size Main unit scaling value ·Body surface reflectance - Forward-facing satellite purposes (e.g., communications antenna, imaging, communications dish, geosynchronous communications) -Number of solar panels Quantity of solar panel segments (e.g., if two or more segments are attached together on a single panel) - Size of the solar panels relative to the satellite body -Reflectivity of solar panels Rotation of the solar panels relative to the satellite body Solar panel mounting type Antenna type Antenna size (e.g., length, width, dish radius, dish curvature, dish rotation) Antenna reflectivity Sensor payload quantity Sensor type and configuration (e.g., electro-optical, radar, radio frequency, magnetometer, particle detector) Imaging lens size Thruster type Thruster size Component mounting locations

[0047]

[0054] Once the 3D satellite models are generated by the satellite model generation system, they are output. It will be appreciated that the 3D satellite models may be “output” in a variety of suitable ways depending on the implementation. In some embodiments, outputting the 3D satellite model includes passing the 3D satellite model to a downstream application (e.g., for rendering as an image view), transmitting the 3D satellite model to another computing device, writing the 3D satellite model to a data file, storing the 3D satellite model in non-volatile storage of the computing device, and / or storing the 3D satellite model in an external storage device communicatively coupled to the computing device.

[0048]

[0055] As described above, once the 3D satellite models are generated, they may, in some cases, be input to an image rendering system that is used to render multiple image views of multiple different 3D satellite models. Briefly returning to FIG. 1 , once generated by satellite model generation system 102, the 3D satellite models are input to image rendering system 122. The image rendering system renders multiple satellite image views 124, including image views 126A and 126B, which take the form of individual images that show the 3D satellite models rendered by the satellite model generation system.

[0049]

[0056] An image rendering system may take the form of any suitable combination of computer software, hardware, and / or firmware usable to render a 2D image view based on an input 3D model. Generally, image rendering may involve projecting the 3D model onto a 2D plane, simulating lighting effects based on specified settings and simulated material properties, and then outputting a 2D image based on rasterizing and / or ray tracing the simulated lighting effects onto the 3D model.

[0050]

[0057] In the example of FIG. 1 , the satellite model generation system and the image rendering system are shown as separate systems each implemented by the same computing system 100. However, it will be understood that this is non-limiting. For example, in some examples, the satellite model generation system and the image rendering system may be implemented via different computing devices communicatively coupled to each other. For example, a 3D satellite model generated by one computing device may be transmitted to another computing device for image rendering. Alternatively, the satellite model generation system and the image rendering system may in some cases be implemented together as a single software model configured, for example, to receive satellite generated values ​​and then generate multiple rendered image views showing different generated 3D satellite models.

[0051]

[0058] Although two different satellite image views are rendered in FIG. 1 , this is non-limiting. Rather, any suitable number of different satellite image views may be rendered in total. These image views may include any suitable number of different satellite image views, each showing a generated 3D satellite model. In some cases, two or more different satellite image views may be rendered. These satellite image views each show the same 3D satellite model. In some cases, several 3D satellite models may be generated where no satellite image view is rendered. Each individual satellite image view may have any suitable image characteristics, such as resolution, encoding, image type (e.g., color image, black and white, grayscale), etc.

[0052]

[0059] In some examples, each of the multiple different satellite image views differs by one or more rendering variation parameters. This is the case in FIG. 1. In that case, the image rendering system 122 renders the satellite image views 124 such that the satellite image views 124 differ by multiple rendering variation parameters 128. As non-limiting examples, the rendering variation parameters may include, for each satellite image view, the pose of the 3D satellite model in the satellite image view (e.g., a six-degree-of-freedom pose specifying the 3D position and orientation of the satellite), the distance of the 3D satellite model from the virtual camera position, and the background scene in the satellite image view.

[0053]

[0060] Rendering satellite image views is illustrated generally in more detail with respect to FIG. 4. Specifically, FIG. 4 generally illustrates another exemplary image rendering system 400 that receives a 3D satellite model 402. The image rendering system outputs multiple satellite image views 404A-404D. Four different satellite image views are rendered in FIG. 4 by way of non-limiting example. Each of these satellite image views illustrates the 3D satellite model 402.

[0054]

[0061] 4, however, the different satellite image views differ in various ways due to the rendering variation parameters 406 of the image rendering system. For satellite image views 404A and 404B, the pose of the 3D satellite model in each satellite image view is different. For example, in satellite image view 404B, the pose of the 3D satellite model is rotated relative to the viewpoint of satellite image view 404B. Furthermore, in satellite image view 404B, the 3D satellite model is relatively closer to the virtual camera position.

[0055]

[0062] In satellite image view 404C, the background scene behind the 3D satellite model has been changed. Specifically, compared to the other satellite image views in Figure 4, image view 404C includes a black background with stars. In general, the satellite image view may have any suitable background, such as a blank background, a solid color background (e.g., black, gray, green), or a background resembling a typical operating environment of a satellite (e.g., a space view with visible stars, planets, and / or other objects).

[0056]

[0063] In satellite image view 404D, the simulated lighting conditions for the satellite image view have been changed. Specifically, in this image view, a simulated illumination source 408 (e.g., the sun) is emitting illumination light toward the 3D satellite model. In this example, the illumination source itself is visible in the satellite image view, but it will be understood that this is for illustrative purposes only and need not be the case. As discussed above, the simulated lighting conditions may be changed during generation of the 3D satellite model and / or rendering of the image view. This may include changing the position of the illumination source, the direction of the illumination light, the intensity of the illumination light, the wavelength spectrum of the illumination light, etc.

[0057]

[0064] FIG. 5 schematically illustrates several further non-limiting examples of satellite image views that may be rendered in accordance with the techniques described herein. Specifically, FIG. 5 illustrates exemplary satellite image views 500A and 500B, each showing a 3D satellite model 502. In this example, satellite image view 500A is rendered to simulate satellite illumination using visible spectrum illumination light. In contrast, satellite image view 500B is rendered to simulate satellite illumination using infrared spectrum illumination light. In general, the image rendering system may simulate illumination and imaging of the 3D satellite model using any suitable illumination light spectrum, such as visible light, infrared light, ultraviolet light, etc.

[0058]

[0065] In some examples, for one or more satellite image views, the image rendering system may further output a configuration map that labels, for each of a plurality of pixels of the satellite image view, an identifier corresponding to a different satellite component represented by the plurality of pixels. For example, the configuration map may take the form of a segmentation mask that distinguishes different components of a 3D satellite model visible in the satellite image view. In one exemplary scenario, the satellite image views rendered by the image rendering system may be used as training data for training a satellite classification model trained to identify different types of satellites and / or different types of satellite components visible in the image. Thus, the configuration map, in conjunction with the plurality of satellite image views, may be used as labeled ground truth data for training a classification model or the like. The configuration map may use any suitable identifiers (e.g., pixel values) to represent any suitable components of a satellite (e.g., a satellite body, solar panels, antennas, and / or any other satellite component).

[0059]

[0066] This is illustrated schematically with respect to FIG. 6 , which shows another exemplary image rendering system 600. The image rendering system 600 renders a satellite image view 602, as described above. The satellite image view 602 includes a plurality of image pixels 604 that indicate a 3D satellite model. In this example, the image rendering system also outputs a configuration map 606 that includes a plurality of pixel component labels 608. These labels indicate, for one or more image pixels in the satellite image view, the type of satellite component represented by the pixel (e.g., satellite body, solar panel, antenna). In some examples, a configuration map may be output for each satellite image view rendered by the image rendering system. In other examples, a configuration map may be output only for certain selected satellite image views (e.g., selected by an automated system according to appropriate selection criteria). The configuration map may be output simultaneously with, after, or before the output of the corresponding satellite image view labeled by the configuration map.

[0060]

[0067] FIG. 7 illustrates an example method 700 for satellite model generation. The steps of method 700 may be initiated, terminated, and / or repeated at any suitable time and in response to any suitable trigger. Method 700 is provided with reference to the example computing systems described herein and shown in FIGS. 1, 2, 4, and 6. In other embodiments, method 700 may be implemented by any suitable computing system of one or more computing devices. Any computing device that performs the steps of method 700 may have any suitable form factor, functionality, and hardware configuration. In some embodiments, method 700 may be implemented by computing system 800, described below with respect to FIG. 8.

[0061]

[0068] At 702, the method 700 includes generating a plurality of satellite-generated values ​​based on an input seed value. The input seed value may take any suitable form and have any suitable source. In some embodiments, the input seed value is input to a pseudo-random number generator to generate the plurality of satellite-generated values.

[0062]

[0069] At 704, the method 700 includes generating a plurality of different 3D satellite models using the satellite model generation system. As described above, the plurality of different 3D satellite models differ by a plurality of different satellite configuration parameters. A value for each satellite configuration parameter is determined based at least in part on a corresponding satellite generated value and one or more configuration validity constraints.

[0063]

[0070] At 706, method 700 includes outputting a plurality of 3D satellite models. In some embodiments, once generated, the 3D satellite models are input to an image rendering system. The image rendering system renders a plurality of satellite image views illustrating the 3D satellite models. Thus, at 708, method 700 optionally includes generating a plurality of different satellite image views via the image rendering system. In some embodiments, the rendered satellite image views vary according to a plurality of rendering variation parameters, as described above.

[0064]

[0071] At 710, method 700 optionally includes outputting the plurality of satellite image views. It will be appreciated that the satellite image views may be "output" in a variety of suitable ways depending on the implementation. In some embodiments, outputting the satellite image views includes passing the image views to a downstream application (e.g., to train a satellite classification model), transmitting the satellite image views to another computing device, writing the satellite image views to a data file, storing the satellite image views in non-volatile storage of the computing device, and / or storing the satellite image views in an external storage device communicatively coupled to the computing device.

[0065]

[0072] At 712, method 700 optionally includes outputting a configuration map that labels, for a plurality of pixels of the satellite image view, identifiers corresponding to different satellite components within the satellite image view. As described above, the configuration map may take the form of a segmentation mask that distinguishes different components of a 3D satellite model visible within the satellite image view. In one exemplary scenario, satellite image views rendered by an image rendering system may be used as training data for training a satellite classification model trained to identify different types of satellites and / or different types of satellite components visible within the image. Thus, the configuration map, in conjunction with the plurality of satellite image views, may be used as labeled ground truth data for training classification models and the like.

[0066]

[0073] 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.

[0067]

[0074] 8 illustrates a simplified representation of an exemplary computing system 800 configured to provide any or all of the computing functionality described herein. Computing system 800 may take the form of one or more network-accessible devices, personal computers, server computers, portable computing devices, and / or other computing devices.

[0068]

[0075] Computing system 800 includes a logic subsystem 802 and a storage subsystem 804. Computing system 800 may optionally include a display subsystem 806, an input subsystem 808, a communication subsystem 810, and / or other subsystems not shown in FIG.

[0069]

[0076] The logic subsystem 802 includes one or more physical devices configured to execute instructions. For example, the logic subsystem may be configured to execute instructions. The instructions 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.

[0070]

[0077] The storage subsystem 804 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 804 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 804 may include removable and / or internal devices. When the logic subsystem executes instructions, the state of the storage subsystem 804 may be transformed, for example, to hold different data.

[0071]

[0078] Logic subsystem 802 and storage subsystem 804 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).

[0072]

[0079] 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.

[0073]

[0080] When included, the display subsystem 806 can be used to present a visual representation of the data maintained by the storage subsystem 804. This visual representation can take the form of a graphical user interface (GUI). The display subsystem 806 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.

[0074]

[0081] When included, the input subsystem 808 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.

[0075]

[0082] If included, communications subsystem 810 may be configured to communicatively couple computing system 800 with one or more other computing devices. Communications subsystem 810 may include wired and / or wireless communication equipment compatible with one or more different communications protocols. Communications subsystem may be configured for communication over personal, local, and / or wide area networks.

[0076]

[0083] 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.

[0077]

[0084] Furthermore, the present disclosure includes configurations according to the following embodiments.

[0078]

[0085] Example 1 1. A method for satellite model generation, the method including: generating a plurality of satellite generated values ​​based on an input seed value; generating a plurality of different three-dimensional (3D) satellite models using a satellite model generation system, the plurality of different 3D satellite models differing by a plurality of satellite configuration parameters, and for each 3D satellite model of the plurality of different 3D satellite models, the plurality of satellite configuration parameters of the 3D satellite model determined at least in part based on the plurality of satellite generated values ​​and a plurality of configuration validity constraints of the satellite model generation system; and outputting the plurality of different three-dimensional (3D) satellite models.

[0079]

[0086] Example 2. 2. The method of embodiment 1, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a range of allowable values ​​for the satellite configuration parameter.

[0080]

[0087] Example 3. 2. The method of embodiment 1, wherein at least one configuration validity constraint of the plurality of configuration validity constraints specifies, for a satellite configuration parameter of the plurality of satellite configuration parameters, a probability distribution of values ​​of the satellite configuration parameter.

[0081]

[0088] Example 4. 2. The method of embodiment 1, wherein at least one configuration validity constraint of the plurality of configuration validity constraints specifies, for a satellite configuration parameter of the plurality of satellite configuration parameters, a maximum ratio difference between the satellite configuration parameter and a second satellite configuration parameter.

[0082]

[0089] Example 5. 2. The method of example 1, wherein the plurality of configuration validity constraints are associated with a first satellite output profile of the satellite model generation system, and the satellite model generation system is switchable between the first satellite output profile and a second satellite output profile associated with a second, different plurality of configuration validity constraints.

[0083]

[0090] Example 6 2. The method of example 1, further comprising automatically generating a plurality of different satellite image views of the plurality of different 3D satellite models via an image rendering system.

[0084]

[0091] Example 7 7. The method of example 6, wherein each of the plurality of different satellite image views differs by one or more rendering variation parameters, and for each satellite image view of the plurality of different satellite image views, the rendering variation parameter is selected from a pose of a 3D satellite model within the satellite image view, a distance of the 3D satellite model from a virtual camera position, and a background scene within the satellite image view.

[0085]

[0092] Example 8 7. The method of example 6, wherein a first satellite image view of the plurality of different satellite image views is rendered to simulate satellite illumination using visible spectrum illumination light, and a second satellite image view of the plurality of different satellite image views is rendered to simulate satellite illumination using infrared spectrum illumination light.

[0086]

[0093] Example 9. 7. The method of example 6, further comprising: for a satellite image view among the plurality of different satellite image views, outputting a configuration map that labels, for each of a plurality of pixels of the satellite image view, an identifier corresponding to a different satellite component indicated by the plurality of pixels.

[0087]

[0094] Example 10. 2. The method of example 1, wherein the plurality of satellite configuration parameters include one or more satellite component parameters selected from a satellite body shape of the 3D satellite model, a quantity of solar panels for the 3D satellite model, a quantity of antennas for the 3D satellite model, a quantity of thrusters for the 3D satellite model, dimensions of one or more satellite components in the 3D satellite model, component types of the one or more satellite components in the 3D satellite model, mounting types for the one or more components in the 3D satellite model, and mounting positions of one or more of the satellite components in the 3D satellite model.

[0088]

[0095] Example 11 2. The method of example 1, wherein the plurality of satellite configuration parameters include one or more satellite material parameters, and for a simulated material in the 3D satellite model, the satellite material parameter is selected from a reflectance property of the simulated material, a radiance property of the simulated material, and a thermal property of the simulated material.

[0089]

[0096] Example 12 2. The method of example 1, wherein the plurality of satellite configuration parameters include one or more satellite illumination parameters selected from a position of a light source relative to the 3D satellite model, an intensity of illumination light provided by the light source, and a uniformity of the illumination light on the 3D satellite model.

[0090]

[0097] Example 13 2. The method of embodiment 1, wherein the plurality of satellite configuration parameters include, for each of one or more generic component representations attached to a satellite body within the 3D satellite model, a generic component representation appearance and a generic component representation position.

[0091]

[0098] Example 14. 1. A computing system comprising: a logic subsystem; and a storage subsystem that holds instructions executable by the logic subsystem, the instructions, when executed by the logic subsystem, perform the following: generating a plurality of satellite generation values ​​based on an input seed value; generating a plurality of different three-dimensional (3D) satellite models using a satellite model generation system, the plurality of different 3D satellite models differing according to a plurality of satellite configuration parameters, and for each 3D satellite model of the plurality of different 3D satellite models, the plurality of satellite configuration parameters of the 3D satellite model are determined at least in part based on the plurality of satellite generation values ​​and a plurality of configuration validity constraints of the satellite model generation system; and outputting the plurality of different three-dimensional (3D) satellite models.

[0092]

[0099] Example 15. The computing system of Example 14, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a range of allowable values ​​for the satellite configuration parameter.

[0093]

[0100] Example 16. 15. The computing system of embodiment 14, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a probability distribution of values ​​of the satellite configuration parameter.

[0094]

[0101] Example 17. 15. The computing system of embodiment 14, wherein at least one configuration validity constraint of the plurality of configuration validity constraints specifies, for a satellite configuration parameter of the plurality of satellite configuration parameters, a maximum ratio difference between the satellite configuration parameter and a second satellite configuration parameter.

[0095]

[0102] Example 18. 15. The computing system of example 14, wherein the plurality of configuration validity constraints are associated with a first satellite output profile of the satellite model generation system, and the satellite model generation system is switchable between the first satellite output profile and a second satellite output profile associated with a second, different plurality of configuration validity constraints.

[0096]

[0103] Example 19. 15. The method of example 14, wherein the instructions are further executable to automatically generate, via an image rendering system of the computing system, a plurality of different satellite image views of the plurality of different 3D satellite models, each of the plurality of different satellite image views differing by one or more rendering variation parameters, and for each satellite image view of the plurality of different satellite image views, the rendering variation parameters are selected from a pose of the 3D satellite model within the satellite image view, a distance of the 3D satellite model from a virtual camera position, and a background scene within the satellite image view.

[0097]

[0104] Example 20. 1. A method for satellite model generation, the method including: generating a plurality of satellite generated values ​​based on an input seed value; generating a plurality of different three-dimensional (3D) satellite models using a satellite model generation system, the plurality of different 3D satellite models differing according to a plurality of satellite configuration parameters, and for each 3D satellite model of the plurality of different 3D satellite models, the plurality of satellite configuration parameters of the 3D satellite model determined at least in part based on the plurality of satellite generated values ​​and a plurality of configuration validity constraints of the satellite model generation system; automatically generating a plurality of different satellite image views of the plurality of different 3D satellite models via an image rendering system; and outputting the plurality of different satellite image views of the plurality of different 3D satellite models.

[0098]

[0105] 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.

[0099]

[0106] 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]

[0100] 100 Exemplary Computing System 102 Satellite Model Generation System 103 Pseudorandom Number Generator 104 Input Seed Value 105 satellite generation value 106 3D satellite models 108A, 108B 3D satellite models 110 Satellite Configuration Parameters 112A~C Construct validity constraints 114 Construct Validity Constraints 116A Range Constraints 116B Probability Constraints 116C Ratio Constraint 118A First Satellite Output Profile 118B Second Satellite Power Profile 120 Construct Validity Constraints 122 Image Rendering System 124 Satellite Image Views 126A, 126B Image View 128 Rendering Variation Parameters 200 Exemplary Satellite Model Generation System 202 Satellite Generation Values 204A~C 3D satellite models 300A, 300B 3D satellite models 302A, 302B satellite body 304A, 304B solar panels 306A, 306B Antennas 310A, 310B 3D satellite models 312A, 312B satellite body 314A, 314B solar panels 315 Support member 316A, 316B thrusters 318A, 318B Generic Component Representation 320A, 320B 3D satellite models 322A, 322B satellite body 324A, 324B solar panels 326A, 326B Antennas 400 Exemplary Image Rendering System 402 3D satellite models 404A~D Satellite Image View 406 Rendering Variation Parameters 408 Simulated Illumination 500A, 500B Example satellite image views 502 3D satellite models 600 Exemplary Image Rendering System 602 Satellite Image Views 604 image pixels 606 Configuration Map 608 pixel component label 700 methods 702, 704, 706, 708, 710, 712 method steps 800 Computing Systems 802 Logic Subsystem 804 Storage Subsystem 806 Display Subsystem 808 Input Subsystem 810 Communication Subsystem

Claims

1. A method (700) for satellite model generation, comprising: generating (702) a plurality of satellite-generated values ​​(105) based on an input seed value (104); generating (704) a plurality of different three-dimensional (3D) satellite models (106) using a satellite model generation system (102), the plurality of different 3D satellite models (106) differing according to a plurality of satellite configuration parameters (110), and for each 3D satellite model of the plurality of different 3D satellite models (106), the plurality of satellite configuration parameters (110) of the 3D satellite model are determined based at least in part on the plurality of satellite generated values ​​(105) and a plurality of configuration validity constraints (114) of the satellite model generation system (102); and A method (700) comprising outputting (706) the plurality of different three-dimensional (3D) satellite models (106).

2. 2. The method of claim 1, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a range of acceptable values ​​of the satellite configuration parameter.

3. 2. The method of claim 1, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a probability distribution of values ​​of the satellite configuration parameter.

4. 2. The method of claim 1, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a maximum ratio difference between the satellite configuration parameter and a second satellite configuration parameter.

5. 2. The method of claim 1, wherein the plurality of configuration validity constraints are associated with a first satellite power profile of the satellite model generation system, and the satellite model generation system is switchable between the first satellite power profile and a second satellite power profile associated with a second, different plurality of configuration validity constraints.

6. 10. The method of claim 1, further comprising automatically generating, via an image rendering system, a plurality of different satellite image views of the plurality of different 3D satellite models.

7. 7. The method of claim 6, wherein each of the plurality of different satellite image views varies by one or more rendering variation parameters, and for each satellite image view of the plurality of different satellite image views, the rendering variation parameters are selected from a pose of a 3D satellite model in the satellite image view, a distance of the 3D satellite model from a virtual camera position, and a background scene in the satellite image view.

8. 7. The method of claim 6, wherein a first satellite image view of the plurality of different satellite image views is rendered to simulate satellite illumination using visible spectrum illumination light, and a second satellite image view of the plurality of different satellite image views is rendered to simulate satellite illumination using infrared spectrum illumination light.

9. 10. The method of claim 6, further comprising: for a satellite image view (602) of the plurality of different satellite image views (124), outputting a configuration map (606) that labels, for each of a plurality of pixels (604) of the satellite image view, an identifier (608) that corresponds to a different satellite component indicated by the plurality of pixels.

10. 2. The method of claim 1, wherein the plurality of satellite configuration parameters include one or more satellite component parameters selected from a shape of a satellite body of the 3D satellite model, a number of solar panels for the 3D satellite model, a number of antennas for the 3D satellite model, a number of thrusters for the 3D satellite model, dimensions of one or more satellite components in the 3D satellite model, component types of the one or more satellite components in the 3D satellite model, mounting types for the one or more components in the 3D satellite model, and mounting locations of one or more of the satellite components in the 3D satellite model.

11. 2. The method of claim 1, wherein the plurality of satellite configuration parameters includes one or more satellite material parameters, and for simulated materials in the 3D satellite model, the satellite material parameters are selected from a reflectance property of the simulated material, a radiance property of the simulated material, and a thermal property of the simulated material.

12. 2. The method of claim 1, wherein the plurality of satellite configuration parameters includes one or more satellite illumination parameters selected from a position of a light source relative to the 3D satellite model, an intensity of illumination light provided by the light source, and a uniformity of the illumination light on the 3D satellite model.

13. The method (700) of claim 1, wherein the plurality of satellite configuration parameters (110) include, for each of one or more generic component representations (318A) attached to the satellite body (312A) within the 3D satellite model, a generic component representation appearance and a generic component representation position.

14. a logic subsystem (802); and a storage subsystem (804) that holds instructions executable by the logic subsystem (802), the instructions, when executed by the logic subsystem (802), generating a plurality of satellite-generated values ​​(105) based on an input seed value (104); generating a plurality of different three-dimensional (3D) satellite models (106) using a satellite model generation system (102), the plurality of different 3D satellite models (106) differing according to a plurality of satellite configuration parameters (110), and for each 3D satellite model of the plurality of different 3D satellite models (106), the plurality of satellite configuration parameters (110) of the 3D satellite model are determined at least in part based on the plurality of satellite generated values ​​(105) and a plurality of configuration validity constraints (114) of the satellite model generation system (102); and outputting the plurality of different three-dimensional (3D) satellite models.

15. 15. The system of claim 14, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a range of acceptable values ​​of the satellite configuration parameter.

16. 15. The system of claim 14, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a probability distribution of values ​​of the satellite configuration parameter.

17. 15. The system of claim 14, wherein at least one configuration validity constraint of the plurality of configuration validity constraints defines, for a satellite configuration parameter of the plurality of satellite configuration parameters, a maximum ratio difference between the satellite configuration parameter and a second satellite configuration parameter.

18. 15. The system of claim 14, wherein the plurality of configuration validity constraints are associated with a first satellite output profile of the satellite model generation system, and the satellite model generation system is switchable between the first satellite output profile and a second satellite output profile associated with a second, different plurality of configuration validity constraints.

19. 15. The system of claim 14, wherein the instructions are further executable to automatically generate, via an image rendering system of the computing system, a plurality of different satellite image views of the plurality of different 3D satellite models, each of the plurality of different satellite image views differing by one or more rendering variation parameters, and for each satellite image view of the plurality of different satellite image views, the rendering variation parameters are selected from a pose of the 3D satellite model in the satellite image view, a distance of the 3D satellite model from a virtual camera position, and a background scene in the satellite image view.

20. A method (700) for satellite model generation, comprising: generating (702) a plurality of satellite-generated values ​​(105) based on an input seed value (104); generating (704) a plurality of different three-dimensional (3D) satellite models (106) using a satellite model generation system (102), the plurality of different 3D satellite models (106) differing according to a plurality of satellite configuration parameters (110), and for each 3D satellite model of the plurality of different 3D satellite models (106), the plurality of satellite configuration parameters (110) of the 3D satellite model are determined based at least in part on the plurality of satellite generated values ​​(105) and a plurality of configuration validity constraints (114) of the satellite model generation system (102); automatically generating (708) a plurality of different satellite image views (124) of the plurality of different 3D satellite models (106) via an image rendering system (122); and A method (700) comprising outputting (710) the plurality of different satellite imagery views (124) of the plurality of different 3D satellite models (106).