WO2020102762A1 - Optical system design - Google Patents

Optical system design Download PDF

Info

Publication number
WO2020102762A1
WO2020102762A1 PCT/US2019/061866 US2019061866W WO2020102762A1 WO 2020102762 A1 WO2020102762 A1 WO 2020102762A1 US 2019061866 W US2019061866 W US 2019061866W WO 2020102762 A1 WO2020102762 A1 WO 2020102762A1
Authority
WO
WIPO (PCT)
Prior art keywords
optical system
design
design parameters
correspondence
performance
Prior art date
Application number
PCT/US2019/061866
Other languages
French (fr)
Inventor
Caleb Daniel GANNON
Rongguang Liang
Original Assignee
Arizona Board Of Regents On Behalf Of The University Of Arizona
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arizona Board Of Regents On Behalf Of The University Of Arizona filed Critical Arizona Board Of Regents On Behalf Of The University Of Arizona
Publication of WO2020102762A1 publication Critical patent/WO2020102762A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0012Optical design, e.g. procedures, algorithms, optimisation routines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G02OPTICS
    • G02CSPECTACLES; SUNGLASSES OR GOGGLES INSOFAR AS THEY HAVE THE SAME FEATURES AS SPECTACLES; CONTACT LENSES
    • G02C7/00Optical parts
    • G02C7/02Lenses; Lens systems ; Methods of designing lenses
    • G02C7/024Methods of designing ophthalmic lenses
    • G02C7/028Special mathematical design techniques

Definitions

  • This patent document relates to optical system design, in particular, to optical lens design.
  • Optical system design is the process of designing an optical system to meet a set of performance requirements and constraints.
  • the design process is computationally intensive and time consuming. There remains a need to improve the design process to obtain optical systems having superior performances.
  • the present document discloses systems and methods that can be used in various embodiments to facilitate design and implementation of optical systems.
  • the disclosed techniques allow a real-time iterative design process that reduce design time and improve overall optical system quality.
  • a method of automated database generation for optical designs includes generating a mapping between a performance space and one or more sub-regions of a design space for an optical system.
  • the performance space includes parameters for characterizing performance of the optical system and the design space includes design parameters for implementation of the optical system.
  • the one or more sub-regions of the design space are produced based on one or more desirability criteria of the optical system.
  • the method includes automatically generating multiple data samples
  • the method also includes storing the multiple data samples in a database.
  • a method for optimizing a design of an optical system includes producing an initial design for the optical system.
  • the optical system has a plurality of attributes that characterize different aspects of the optical system.
  • the method includes selecting one or more sequences from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • the method includes performing a local optimization of the initial optical system using the one or more sequences by changing a value of one or more of only those attributes that have an associated first binary value.
  • the method also includes evaluating a global merit function based on the local optimization to obtain an optimized optical system.
  • a method for assisting optical system design includes obtaining a training set of optical systems.
  • the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions.
  • the method includes establishing, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space.
  • the method also includes providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
  • a method for assisting optical system design includes generating, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space.
  • the method includes optimizing each of the sample optical systems using one or more sequences selected from a sequence pool.
  • Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • the method includes establishing, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space.
  • the method also includes providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
  • a device for generating a database for optical system design includes one or more processors and a memory including processor-executable instructions stored thereon.
  • the processor-executable instructions upon execution by the one or more processors configures the one or more processors to generate a mapping between a performance space and one or more sub-regions of a design space for an optical system.
  • the performance space includes parameters for characterizing performance of the optical system and the design space includes design parameters for implementation of the optical system, and the one or more sub-regions of the design space are produced based on one or more desirability criteria of the optical system.
  • the one or more processors are also configured to automatically generate multiple data samples using the mapping between the performance space and the one or more sub-regions of the design space, wherein the multiple data samples are distributed across the one or more sub-regions; and store the multiple data samples in a database.
  • a device for optimizing a design of an optical system includes one or more processors and a memory including processor-executable instructions stored thereon.
  • the processor-executable instructions upon execution by the one or more processors configures the one or more processors to produce an initial design for the optical system, the optical system having a plurality of attributes that characterize different aspects of the optical system; select one or more sequences from a sequence pool; perform a local optimization of the initial optical system using the one or more sequences by changing a value of one or more of only those attributes that have an associated first binary value; and evaluate a global merit function based on the local optimization to obtain an optimized optical system.
  • Each sequence includes sections of bits, each bit representing an attribute of the optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • a device assisting optical system design includes one or more processors and a memory including processor-executable instructions stored thereon.
  • the processor-executable instructions upon execution by the one or more processors configures the one or more processors to obtain a training set of optical systems, wherein the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions; establish, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and provide, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
  • a device for assisting optical system design includes one or more processors and a memory including processor-executable instructions stored thereon.
  • the processor-executable instructions upon execution by the one or more processors configures the one or more processors to generate, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space; optimize each of the sample optical systems using one or more sequences selected from a sequence pool; establish, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and provide, based on the correspondence, a performance evaluation of a
  • Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • a computer-program storage medium includes code stored thereon.
  • the code when executed by a processor, causes the processor to implement a method that comprises generating, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space.
  • the method includes optimizing each of the sample optical systems using one or more sequences selected from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the sample optical system.
  • a first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • the method includes establishing, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space. The method also includes providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
  • FIG. 1 shows a schematic mapping between the performance parameters and the design parameters.
  • FIG. 2A shows a schematic diagram of a reinforcement learning feedback loop that can be used to generate a desired database in accordance with one or more embodiments of the present disclosure.
  • FIG. 2B shows an example diagram of a neural network that is a functional representation of a desired distribution of designs in the database in accordance with one or more embodiments of the present disclosure.
  • FIG. 2C is a schematic diagram illustrating the effects of the learning process has on the density of the design parameters in the database in accordance with one or more embodiments of the present disclosure.
  • FIG. 3 shows a schematic diagram of the scope of a data space and an expanded scope of data samples in an automated generated database.
  • FIG. 4 shows example degrees of freedom and constraints imposed on a three- mirror system.
  • FIG. 5 shows a flowchart representation of an example optimization process used in database generation in accordance with one or more embodiments of the present disclosure.
  • FIG. 6 illustrates a wide variety of design types in a small database.
  • FIG. 7 illustrates an example unconstrained optimization of a compact system.
  • FIG. 8 shows examples of a binary sequence representing attributes of an optical system and the number of local optimization steps to be performed in accordance with one or more embodiments of the present disclosure.
  • FIG. 9 illustrates an example algorithm of following a sequence structure in local optimization in accordance with one or more embodiments of the present disclosure.
  • FIG. 10 shows example algorithms that use compactness in a global merit function in accordance with one or more embodiments of the present disclosure.
  • FIG. 11 illustrates example optimized optical geometries.
  • FIG. 12A is a schematic diagram showing the traditional discrete design paradigm.
  • FIG. 12B is a schematic diagram showing a continuous design paradigm in accordance with one or more embodiments of the present disclosure.
  • FIG. 12C illustrates an example of hyperparameter combinations of terms to reduce dimensionality and simplify exploration of design landscape in accordance with one or more embodiments of the present disclosure.
  • FIG. 13 shows additional example factors that can be taken into account in a learning process in accordance with one or more embodiments of the present disclosure.
  • FIG. 14 shows an example user interface for a user to explore the design space in accordance with one or more embodiments of the present disclosure.
  • FIG. 15 shows an example of real-time exploration of the design space in accordance with one or more embodiments of the present disclosure.
  • FIG. 16 is a schematic diagram showing example real-time operations that a user can perform in accordance with one or more embodiments of the present disclosure.
  • FIG. 17 is a schematic diagram showing additional example operations that a user can perform in accordance with one or more embodiments of the present disclosure.
  • FIG. 18A illustrates an example initial design created by a user.
  • FIG. 18B illustrates example initial constraints created by a user.
  • FIG. 18C illustrates an example interface that allows the user to make changes to geometrical primitives in accordance with one or more embodiments of the present disclosure.
  • FIG. 19A illustrates an example optical system automatically corrected by an optimization system in accordance with one or more embodiments of the present disclosure.
  • FIG. 19B illustrates an example of a new design area determined by an optimization system in accordance with one or more embodiments of the present disclosure.
  • FIG. 20 is a schematic diagram illustrating an example complete design process i in accordance with one or more embodiments of the present disclosure.
  • FIG. 21 is a flowchart representation of a method of automated database generation for optical designs in accordance with one or more embodiments of the present disclosure.
  • FIG. 22 is a flowchart representation of a method optimizing a design of an optical system in accordance with one or more embodiments of the present disclosure.
  • FIG. 23 is a flowchart representation of a method for assisting optical system design in accordance with one or more embodiments of the present disclosure.
  • FIG. 24 is a flowchart representation of a method for assisting optical system design in accordance with one or more embodiments of the present disclosure.
  • FIG. 25 is a block diagram illustrating an example of the architecture for a computer system or other control device that can be utilized to implement various portions of the presently disclosed disclosure.
  • optical system design is a nonlinear inverse problem which involves finding a mapping between two high dimensional spaces.
  • the first space being the design parameter space, containing all the terms used to describe the optical design such as radii of curvature, conic constants, lens material, Zemike polynomials, etc.
  • the second space is the performance parameter space, which contains all the terms used to describe the performance of the system such as tolerances and wavefront errors.
  • FIG. 1 shows a schematic mapping between the performance parameters and the design parameters.
  • One problem in optical system design is that although finding a mapping from the design parameter space to the performance parameter space is easy (taking only a single ray -trace), given a desired set of performance characteristics it is extremely complicated to determine the corresponding design parameters.
  • the disclosed systems and technique enable a determination of an estimated mapping from the design parameter space to the performance parameter space in real time.
  • the disclosed embodiments facilitate the design and implementation of optical systems that accurately reflect the desired features of interest.
  • subheadings are used in various sections. It should be noted, however, that the description that follows each subheading can be pertinent to the features that are described in other sections of this document.
  • the first step to solve the difficulty in obtaining a mapping is generate a large amount of data in the design space. Because the correspondence between the two spaces is reciprocal, a discrete mapping from design space to performance space can be traced backwards to solve the inverse problem at the location of the data.
  • FIG. 2A shows a schematic diagram of a reinforcement learning feedback loop that can be used to generate a desired database in accordance with one or more embodiments of the present technology.
  • Reinforcement learning is an area of machine learning concerned with how an agent takes actions in an environment so as to maximize some notion of reward.
  • the reinforcement learning environment can be deemed as the space of all possible databases of optical systems.
  • the actions of this agent are to generate a collection of designs that forms one of these possible databases.
  • the corresponding rewards are a combination of: the performance of the generated optical systems and the variety of the samples within the database.
  • the reinforcement learning process aims to find a functional representation of the ideal distribution of designs to form a database.
  • the database generated from this process includes a variety of optical designs that span across the high-performing regions in the design space.
  • this functional representation is defined by a list of parameters which can be modified to improve the performance of the corresponding optical system.
  • the functional representation can be implemented using an artificial neural network, which has parameters such as weights on each connection and bias on each node. By modifying the weights and bias of this function, the mapping between inputs and outputs can be controlled.
  • the functional representation can also be implemented by fitting an approximation function to a set of sample designs. In some embodiments, the functional representation can be established using both approximation fitting and neural network(s).
  • FIG. 2B shows an example diagram of a neural network that is a functional representation of a desired distribution of designs in the database.
  • a desired distribution here means that the designs generated by the functional representation are distributed across the desirable regions in the design space—that is, the performance of each design is desirable, and there are enough variations among the designs so that each of the desirable regions is well-represented.
  • whether a design falls into a desired region can be measured by one or more of the following parameters: an imaging spot size, a wavefront error, a distortion, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, an operating environment, thermal sensitivity, and/or cost.
  • the design space can have desirable regions for high-performing designs, and less desirable regions for low-performing designs.
  • the functional representation e.g., the neural network
  • the neural network has learned to map a given input (e.g., input density) from a first space Z to a desirable region (e.g., the ideal output density of design parameters) to provide data samples in an optimal database.
  • a given input e.g., input density
  • a desirable region e.g., the ideal output density of design parameters
  • the desirable regions have denser data samples (represented by darker colors) while the less-desirable regions have none or only a few data samples (represented by lighter colors). Consequently, the feedback loop can improve the performance of generated designs in the design space by clustering towards high performance regions.
  • the feedback loop also encourages efficient exploration of the design space by avoiding regions of poor performance.
  • a learning process can be implemented at the neural network to improve the performance of this functional representation.
  • the performance of the functional representation e.g., the neural network
  • the performance can be evaluated by determining the quality of the generated optical systems.
  • the performance can also be evaluated by examining the distribution or diversity of the optical elements (e.g., lenses) used in the generated systems.
  • This performance is returned as a reward to the agent, and its parameters are then modified to maximize the reward, as shown FIG. 2A.
  • FIG. 2C is a schematic diagram illustrating the effects of the learning process has on the density of the design parameters in the database. As the functional representation improves over time with learning, regions of poor performance are avoided, and high-performance regions of the design space become more well-represented.
  • FIG. 3 is a schematic diagram illustrating the scope of a data space and an expanding scope of data samples represented in an automated generated database.
  • the automated approach described herein can generate sample systems that span across the entire data space to assist optical system designs.
  • the target optical system is a three-mirror system.
  • FIG. 4 shows example degrees of freedom and constraints imposed on the three-mirror system. The constraints include the following:
  • Image Condition such as the entrance pupil diameter denoted as t TRO and distances between lenses, denoted as t 1 and t 2 .
  • FIG. 5 shows a flowchart representation of an example optimization process used in database generation.
  • the feasibility of the lens system is checked (501) for an initial system at a selected starting field of view (FOV) and F-number (F/#). If the higher order aberrations degrade performance too much or if the elements overlap, the system is discarded (503). If the system is not diffraction limited, it is optimized (505) under the constraint that the focal length remains constant. Once a diffraction limited system is created at the starting point, it is saved and enters into the second stage of optimization. First, the FOV is increased incrementally (507) until a FOV is reached where the system can no longer achieve diffraction limited performance (509).
  • the largest diffraction limited FOV system is then saved to the database and the original lens system is reloaded (511).
  • the FOV is reset to the initial value.
  • the F/# is then increased and the system is optimized until it is diffraction limited.
  • This larger F/# system is now saved before the FOV is once again increased until its limit.
  • the resulting large FOV system is saved and the larger F/# lens is reloaded, the F/# is increased and FOV re-set for another optimization process. This procedure is repeated until where even at the smallest FOV, the increase in F/# causes the system performance to fall below the diffraction limit, even after optimization.
  • all of these lenses are uploaded to the database with their respective FOV and F/# labels, before the whole process is repeated again with a new lens.
  • This process can be run as many times as desired until a sufficiently large database of high performing lens systems is generated.
  • a t-distributed Stochastic Neighbor Embedding (t-SNE) is used to generate a 2D plot of nine-dimensional data, as shown in FIG. 6.
  • t-SNE t-distributed Stochastic Neighbor Embedding
  • FIG. 6 illustrates that a wide variety of design types, such as systems with large separations (601), systems with positive Ki values (603), systems with negative Ki values (605), long systems (607), negative first lens (609), etc. can be generated and stored even in a small database.
  • optical design Another important issue in optical design is finding an efficient way to navigate a given parameter space in search of the overall best point according to a set of search criteria. Additionally, a problem more specific to optical design is the challenge of constraints.
  • FIG. 7 an example unconstrained optimization of a compact system.
  • the initial system 701 is a compact optical system.
  • the resulting system 703 is no longer a compact system.
  • This example further shows that the use of typical optimization techniques can lead to a system where components partially obstruct the optical rays in the system.
  • One technique to exclude physically unrealizable systems can be implemented for systems in which the dimensionality of the local optimization steps is limited. That is, in each local optimization step, the number of attributes (also referred to as dimensions) that are allowed to change is limited to a predetermined number.
  • a binary sequence is used to represent the dimensions and optimization steps. Local optimization is performed based on the value of the binary sequence, and a global merit function is then evaluated to take into account factors such as geometry compactness for obtaining an optimized optical system.
  • a sequence structure e.g., how many local optimization steps, and/or how many attributes to be included in the sequence
  • FIG. 8 shows examples of a binary sequence representing attributes of an optical system and the number of local optimization steps to be performed. A‘0’ bit value indicates that the attribute is held constant, whereas a‘ 1’ bit value indicates that the attribute is changing.
  • nine attributes are selected, each of which is represented by a bit in the sequence (e.g.,“001011101” in Step 1 or“010100111” in Step 2).
  • each bit can represent if an action to be performed to the optical system.
  • the action can include at least one of the following: increasing or decreasing a separation between optical elements of the optical system, increasing or decreasing a tilt on an optical element, modifying one or more shape parameters of an optical element, increasing or decreasing a field of view or a focal length of an optical element, adding or removing one or more optical elements to or from the optical system, changing a material of an optical element, adding or removing one or more constraints to or from the optical system, or running a pre-defmed collection of operations (e.g., one or more macro functions).
  • A‘0’ bit value indicates that the action is not to be performed, whereas a‘G bit value indicates that the action is to be performed.
  • FIG. 9 illustrates an example algorithm of following the sequence structure (also referred to as a map) in local optimization.
  • an optimization algorithm such as a genetic algorithm
  • a genetic algorithm is a computing algorithm implemented on a computing device for solving constrained and/or unconstrained optimization problems that is similar to natural selection.
  • the genetic algorithm is suitable for addressing problems in which some components are restricted to be integer-valued.
  • an optimization algorithm similar to the genetic algorithm can be performed to obtain optimal sequences. For example, an optimization algorithm similar to the genetic algorithm can randomly select values for a binary sequence as a“parent” sequence and produce“children” for the next generation/iteration. Over successive generations, the population - the resulting binary bits—“evolves” toward an optimal solution.
  • An initial pool of binary sequences can be generated by changing the bit values of the sequence and eliminating the resulting sequences that lead to unrealizable systems. Then a genetic algorithm can be performed using the initial pool to produce an improved sequence pool after multiple generations. The improved sequence pool is then sampled to obtain a few sequences that can produce systems similar to the current system. The sequences then can be used to further assist the optical system design.
  • the global merit function can be evaluated based on one or more attributes of the optical elements (e.g., lens) in the optical system.
  • attributes can include at least one of the following: an imaging spot size, a wavefront error, a distortion, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, an operating environment, thermal sensitivity, or cost.
  • FIG. 10 illustrates example algorithms that use compactness in the global merit function. For example, as shown in algorithm 1001, whether a system is valid can be determined based on the boundaries of the optical elements.
  • a second algorithm 1003 can use a global merit function to improve compactness of the resulting design.
  • the compactness can be indicated by a radius of a circle that contains the entire optical system.
  • FIG. 11 illustrates example optical geometries optimized using the process described above. As shown in FIG. 11, the optimized geometries are more compact without self-obstruction of the optical rays.
  • FIGS. 12A-12B illustrate a conceptual comparison between the traditional discrete design paradigm and the continuous design paradigm in accordance with one or more embodiments of the present technology.
  • FIG. 12A only discrete computations (illustrated by circles) are performed to obtain the mapping between the performance space and the design space.
  • FIG. 12B shows that, using the proposed approach, a continuous interpretation can be obtained.
  • FIG. 12C further illustrates that hyperparameter combinations of terms can be learned to reduce dimensionality and to simplify exploration of design landscape. For example, rather than examining each of the parameters such as size, tolerancing and cost, a combined hyperparameter“manufacturability” can be defined to group them together:
  • manufacturability a x size + b x tolerancing + c x cost.
  • FIG. 13 demonstrates additional factors, such as cost and manufacturability as discussed above, that can be taken into account in the learning process to obtain the continuous interpretation of the mapping between the design space and the performance space.
  • a neural network can be trained to understand what manufacturability means, e.g., by looking at many examples through a large dataset, to allow for high level tradeoffs to be explored.
  • a user can select two of the design parameters of interest (e.g., size, tolerance, or materials) and maneuver through a corresponding two-dimensional (2D) interface.
  • the selected two variables e.g., size and cost
  • FIG. 14 shows an example of a user interface that allows the user to change the desired design parameters to explore.
  • the user can change the parameter“Manufacturability” to“Size,”“Tolerance,” or“Materials.”
  • a multi-dimension interface can be used to show the design space.
  • a three-dimensional (3D) interface can be provided so that the user can select a volume of interest to explore. This allows simultaneous exploration of three variables at the same time.
  • a neural network can be used to provide a generalized combination function instead of requiring linear combinations as shown above.
  • the exploration of the design landscape can be simplified because unrealizable design space can be easily avoided.
  • FIG. 15 shows an example of real-time exploration of the design space.
  • the neural network can determine several sets of design parameters in parallel.
  • the design system can provide an interactive user interface that shows several adjacent locations in the design space and visualize the corresponding performance in real time.
  • FIG. 16 is a schematic diagram showing example real-time operations that a user can perform. For example, the user can move the input space (including thirteen input points in the case, each representing a first variable wi and a second variable hi) across a two-dimensional (2D) design space.
  • the design system can take the multiple input points and determine corresponding performance outputs in parallel (e.g., by leveraging parallel computing on multiple processing cores). For example, each input point [Wi, Hi] correspond to output performance values in spherical harmonic coefficients [SPHu, SPHa, ... , SPHu6].
  • Multiple sets of performance values can be obtained in real-time to give the user a more
  • the design system can generate one or more visualization results to assist the selection of design parameters. As shown in FIG. 16, as the user move the input space across the 2D space, several images can be generated to visualize the system performances. For example, the corresponding visualization of input point 1601 is the image 1602. Several other images representing optical system performances are produced at the same time. Furthermore, because the mapping is reciprocal, the system can also provide an interface to allow the user to select a performance area (with several adjacent performance targets) and view the corresponding design parameters.
  • FIG. 17 is a schematic diagram showing additional example operations that a user can perform in accordance with one or more embodiments of the present disclosure.
  • the system can indicate the best design point for the current design area in the user interface. For example, a first best design point 1701 is indicated by the system based on the initial position of the design area. Guided by the adjacent positions around the first best design point (e.g., based on the visualizations of the system performance as shown in FIG. 16), the user can continuously move the design area to follow next best design points 1703, 1705.
  • a user interface can be provided to allow real-time manipulation of the design parameters of an optical system.
  • FIGS. 18A-C show an example of real-time manipulation of design parameters in accordance with one or more embodiments of the present disclosure.
  • FIG. 18A illustrates an example initial design created by a user.
  • the user determines the geometrical primitives of the optical system, such as a shape 1801 (e.g., a dark circle) representing lens components and lines 1803 representing corresponding optical axes.
  • the primitives are provided to an optimization system 1810 that can automatically generate an optical system 1820 according to the provided primitives.
  • the user can provide a set of constraints (instead of primitives) to the optimization system 1810.
  • the optimization system 1810 can similarly generate an optical system 1830 based on the constraints. This initial optical system is used as a starting point in the real-time design process.
  • a user interface e.g., a graphical user interface
  • the user can drag the lenses, modify lens boundaries and/or design parameters (e.g., field of view (FOV), wavelength, or EPD).
  • the user can also enable or disable freeform surface terms of optical components.
  • the optical system is continuously updated by the network in real-time to reflect the changes made by the user.
  • FIG. 18C shows an example interface that allows the user to make changes to the geometrical primitives. As the user drags element 1801 from its initial position shown in FIG. 18A to a new position in FIG. 18C, the optical system 1820 is automatically updated to reflect such change.
  • the user may introduce errors in the geometrical primitives.
  • the system can determine a suitable working solution automatically.
  • FIG. 19A illustrates an example optical system automatically corrected by an optimization system. As shown in FIG. 19A, the user introduces errors 1901 into the selected geometry. The optimization system can automatically correct such errors by locating a working solution 1903 based on systems corresponding to the adjacent design positions.
  • a simple move made by the user can cause a big impact on the resulting optical system.
  • the optimization system can determine a suitable design area, given the system geometry and/or parameters, independent from the current design point.
  • FIG. 19B illustrates an example of a new design area determined by the optimization system. Before the user makes any changes to the current optical system, the optical system corresponds to the first best point 1911 in the design space. However, the system geometry and/or parameters undergo significant changes after the user adds/removes an optical element. Thus, the optimization system makes a non- continuous“jump” from the original best design point 1911 to a new best design point 1913. [0087] FIG.
  • the user provides a set of geometrical primitives or constraints 2005 to the optimization system 2010.
  • the optimization system 2010 Based on the set of inputs, the optimization system 2010 generates an initial optical system 2020.
  • the optimization system can refine the initial optical system 2020 progressively or iteratively with or without any user inputs. For example, the optical system can be refined, as described in connection with FIGS. 16-19B, to obtain a final optical system 2030 having desirable performance.
  • FIG. 21 is a flowchart representation of a method 2100 of automated database generation for optical designs in accordance with one or more embodiments of the present disclosure.
  • the method 2100 includes, at operation 2110, generating a mapping between a performance space and one or more sub-regions of a design space for an optical system.
  • the performance space includes parameters for characterizing performance of the optical system and the design space includes design parameters for implementation of the optical system.
  • the one or more sub-regions of the design space are produced based on one or more desirability criteria of the optical system.
  • the method 2100 includes, at operation 2120, automatically generating multiple data samples using the mapping between the performance space and the one or more sub-regions of the design space. The multiple data samples are distributed across the one or more sub-regions.
  • the method 2100 also includes, at operation 2130, storing the multiple data samples in a database.
  • the one or more desirability criteria includes a
  • the one or more desirability criteria is determined in accordance with one or more of: an operating environment, or cost of one or more optical elements in the optical design.
  • the mapping is generated by training a neural network.
  • the neural network is trained by a learning process that provides a feedback to the neural network based on the desirability criteria.
  • the method includes improving the mapping between the performance space and the one or more sub-regions based on the feedback.
  • the mapping provides an estimation of the distribution of desirable designs in the design space.
  • the estimation is produced by autonomous exploration of the design space with continuous feedback that includes one or both of reinforcement learning process or fitting a generalized functional approximation to a set of sample designs.
  • the autonomous exploration comprises avoiding regions of poor performance.
  • the autonomous exploration comprises clustering towards regions of high performance.
  • the estimation is used to limit a range of generated designs within the database to regions of desirable performance.
  • FIG. 22 is a flowchart representation of a method 2200 optimizing a design of an optical system in accordance with one or more embodiments of the present disclosure.
  • the method 2200 includes, at operation 2210, producing an initial design for the optical system.
  • the optical system has a plurality of attributes that characterize different aspects of the optical system.
  • the method 2200 includes, at operation 2220, selecting one or more sequences from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • the method 2200 includes, at operation 2230, performing a local optimization of the initial optical system using the one or more sequences by changing a value of one or more of only those attributes that have an associated first binary value.
  • the method 2200 includes, at operation 2240, evaluating a global merit function based on the local optimization to obtain an optimized optical system.
  • each bit further represents an action to be performed to the optical system, the action comprising at least one of: increasing or decreasing a separation between optical elements of the optical system, increasing or decreasing a tilt on an optical element, modifying one or more shape parameters of an optical element, increasing or decreasing a field of view or a focal length of an optical element, adding or removing one or more optical elements to or from the optical system, changing a material of an optical element, adding or removing one or more constraints to or from the optical system, or running a pre-defined collection of operations.
  • the first value of each bit indicates the action is to be performed and the second value of each bit indicates the action is not to be performed.
  • evaluating the global merit function comprises evaluating a compactness of the optical system.
  • the compactness is indicated by a radius of a circle that contains the entire optical system.
  • evaluating the global merit function comprises evaluating one or more attributes of one or more optical elements in the optical system.
  • the one or more attributes including at least one of: an imaging spot size, a wavefront error, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, an operating environment, thermal sensitivity, or cost.
  • MTF modulation transfer function
  • the method includes generating the sequence pool based on one or more attributes of an optical system and removing a subset of sequences from the sequence pool. The subset of sequences results in self-intersecting optical systems.
  • the method includes adjusting the sequence pool by performing a genetic algorithm on sequences in the sequence pool for multiple generations.
  • the method includes establishing a representation of optical systems using the sequence pool, wherein the representation provides a mapping between a design space of the optical systems and the sequences in the sequence pool.
  • the method also includes adding additional sequences to the sequence pool based on the representation. The additional sequences represent desirable attributes or actions.
  • the method includes improving the sequences using a reinforcement learning process.
  • FIG. 23 is a flowchart representation of a method 2300 for assisting optical system design in accordance with one or more embodiments of the present disclosure.
  • the method 2300 includes, at operation 2310, obtaining a training set of optical systems.
  • the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions.
  • the method 2300 includes, at operation 2320, establishing, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space.
  • the method 2300 includes, at operation 2330, providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
  • the correspondence is established by training a neural network using the training set.
  • the performance evaluation is provided by generating a real-time visualization of the performance value corresponding to the set of input design parameters.
  • the real-time visualization comprises one or more images representing multiple performance outputs that correspond to the set of input design parameters.
  • the real-time visualization comprises a two- dimensional representation or a three-dimensional representation of the performance evaluation.
  • the method includes displaying the corresponding optical system given the set of input design parameters.
  • the set of input design parameters is determined based on a set of geometrical primitives or a set of constraints.
  • the method includes generating, in real-time, an updated optical system according to a change of at least one parameter in the set of input design parameters based on the correspondence.
  • the method includes updating the optical system iteratively based on the correspondence.
  • the optical system is updated iteratively based on inputs from a user.
  • FIG. 24 is a flowchart representation of a method 2400 for assisting optical system design in accordance with one or more embodiments of the present disclosure.
  • the method 2400 includes, at operation 2410, generating, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space.
  • the method 2400 includes, at operation 2420, optimizing each of the sample optical systems using one or more sequences selected from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the sample optical system.
  • a first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • the method 2400 includes, at operation 2430, establishing, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space.
  • the method 2400 includes, at operation 2440, providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
  • a device for generating a database for optical system design includes one or more processors and a memory including processor-executable instructions stored thereon.
  • the processor-executable instructions upon execution by the one or more processors configures the one or more processors to generate a mapping between a performance space and one or more sub-regions of a design space for an optical system.
  • the performance space includes parameters for characterizing performance of the optical system and the design space includes design parameters for implementation of the optical system, and the one or more sub-regions of the design space are produced based on one or more desirability criteria of the optical system.
  • the one or more processors are also configured to automatically generate multiple data samples using the mapping between the performance space and the one or more sub-regions of the design space, wherein the multiple data samples are distributed across the one or more sub-regions; and store the multiple data samples in a database.
  • the one or more desirability criteria includes a
  • the one or more desirability criteria is determined in accordance with one or more of: an operating environment, or cost of one or more optical elements in the optical design.
  • the mapping is generated by training a neural network.
  • the neural network is trained by a learning process that provides a feedback to the neural network based on the desirability criteria.
  • the one or more processors are configured to improve the mapping between the performance space and the one or more sub-regions based on the feedback.
  • the mapping provides an estimation of the distribution of desirable designs in the design space.
  • the estimation is produced by autonomous exploration of the design space with continuous feedback that includes one or both of reinforcement learning process or fitting a generalized functional approximation to a set of sample designs.
  • the autonomous exploration comprises avoiding regions of poor performance.
  • the autonomous exploration comprises clustering towards regions of high performance.
  • the estimation is used to limit a range of generated designs within the database to regions of desirable performance.
  • a device for optimizing a design of an optical system includes one or more processors and a memory including processor-executable instructions stored thereon.
  • the processor-executable instructions upon execution by the one or more processors configures the one or more processors to produce an initial design for the optical system, the optical system having a plurality of attributes that characterize different aspects of the optical system; select one or more sequences from a sequence pool; perform a local optimization of the initial optical system using the one or more sequences by changing a value of one or more of only those attributes that have an associated first binary value; and evaluate a global merit function based on the local optimization to obtain an optimized optical system.
  • Each sequence includes sections of bits, each bit representing an attribute of the optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • each bit further represents an action to be performed to the optical system, the action comprising at least one of increasing or decreasing a separation between optical elements of the optical system, increasing or decreasing a tilt on an optical element, modifying one or more shape parameters of an optical element, increasing or decreasing a field of view or a focal length of an optical element, adding or removing one or more optical elements to or from the optical system, changing a material of an optical element, adding or removing one or more constraints to or from the optical system, or running a pre-defined collection of operations.
  • the first value of each bit indicates the action is to be performed and the second value of each bit indicates the action is not to be performed.
  • the global merit function is evaluated based on evaluating a compactness of the optical system.
  • the compactness is indicated by a radius of a circle that contains the entire optical system.
  • the global merit function is evaluated based on evaluating one or more attributes of one or more optical elements in the optical system, the one or more attributes including at least one of: an imaging spot size, a wavefront error, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, an operating environment, thermal sensitivity, or cost.
  • MTF modulation transfer function
  • the one or more processors are configured to generate the sequence pool based on one or more attributes of an optical system; and remove a subset of sequences from the sequence pool, wherein the subset of sequences results in self-intersecting optical systems.
  • the one or more processors are configured to adjust the sequence pool by performing a genetic algorithm on sequences in the sequence pool for multiple generations.
  • the one or more processors are configured to establish a representation of optical systems using the sequence pool, wherein the representation provides a mapping between a design space of the optical systems and the sequences in the sequence pool; and add additional sequences to the sequence pool based on the representation, wherein the additional sequences represent desirable attributes or actions.
  • the one or more processors are configured to improve the sequences using a reinforcement learning process.
  • a device assisting optical system design includes one or more processors and a memory including processor-executable instructions stored thereon.
  • the processor-executable instructions upon execution by the one or more processors configures the one or more processors to obtain a training set of optical systems, wherein the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions; establish, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and provide, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
  • the correspondence is established by training a neural network using the training set.
  • the performance evaluation is provided by generating a real-time visualization of the performance value corresponding to the set of input design parameters.
  • the real-time visualization comprises one or more images representing multiple performance outputs that correspond to the set of input design parameters.
  • the real-time visualization comprises a two- dimensional representation or a three-dimensional representation of the performance evaluation.
  • the one or more processors are configured to display the corresponding optical system given the set of input design parameters.
  • the set of input design parameters is determined based on a set of geometrical primitives or a set of constraints.
  • the one or more processors are configured to generate, in real-time, an updated optical system according to a change of at least one parameter in the set of input design parameters based on the correspondence.
  • the one or more processors are configured to update the optical system iteratively based on the correspondence.
  • the optical system is updated iteratively based on inputs from a user.
  • a device for assisting optical system design includes one or more processors and a memory including processor-executable instructions stored thereon.
  • the processor-executable instructions upon execution by the one or more processors configures the one or more processors to generate, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space; optimize each of the sample optical systems using one or more sequences selected from a sequence pool; establish, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and provide, based on the correspondence, a performance evaluation of a
  • Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • a non-transitory computer readable medium has code stored thereon.
  • the code is executable by a processor to implement a method that comprises generating, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space.
  • the method includes optimizing each of the sample optical systems using one or more sequences selected from a sequence pool.
  • Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
  • the method includes establishing, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space.
  • the method also includes providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
  • the code when executed by the processor, can also cause the processor to implement any of the above-mentioned methods.
  • FIG. 25 is a block diagram illustrating an example of the architecture for a computer system or other control device 2500 that can be utilized to implement various portions of the presently disclosed technology.
  • the computer system 2500 includes one or more processors 2505 and memory 2510 connected via an interconnect 2525.
  • the interconnect 2525 may represent any one or more separate physical buses, point to point connections, or both, connected by appropriate bridges, adapters, or controllers.
  • the interconnect 2525 therefore, may include, for example, a system bus, a Peripheral
  • PCI Component Interconnect
  • ISA HyperTransport or industry standard architecture
  • SCSI small computer system interface
  • USB universal serial bus
  • IIC I2C
  • IEEE Institute of Electrical and Electronics Engineers
  • the processor(s) 2505 may include central processing units (CPUs), graphics processing units (GPUs), or other types of processing units (such as tensor processing units) to control the overall operation of, for example, the host computer. In certain embodiments, the processor(s) 2505 accomplish this by executing software or firmware stored in memory 2510.
  • the processor(s) 2505 may be, or may include, one or more programmable general- purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such devices.
  • the memory 2510 can be or include the main memory of the computer system.
  • the memory 2510 represents any suitable form of random access memory (RAM), read-only memory (ROM), flash memory, or the like, or a combination of such devices.
  • the memory 2510 may contain, among other things, a set of machine instructions which, when executed by processor 2505, causes the processor 2505 to perform operations to implement embodiments of the presently disclosed technology.
  • the network adapter 2515 provides the computer system 1000 with the ability to communicate with remote devices, such as the storage clients, and/or other storage servers, and may be, for example, an Ethernet adapter or Fiber Channel adapter.
  • Implementations of the subject matter and the functional operations described in this patent document can be implemented in various systems, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
  • Implementations of the subject matter described in this specification can be implemented as one or more computer program products, e.g., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus.
  • the computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them.
  • data processing unit or“data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
  • the apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
  • a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • a computer program does not necessarily correspond to a file in a file system.
  • a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
  • a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output.
  • the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
  • a processor will receive instructions and data from a read only memory or a random access memory or both.
  • the essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data.
  • a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • a computer need not have such devices.
  • Computer readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices.
  • semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices.
  • the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Biomedical Technology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Pure & Applied Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Exposure And Positioning Against Photoresist Photosensitive Materials (AREA)

Abstract

Methods, apparatus and systems for achieving efficient optical design are described. In one representative aspect, a method for assisting optical design includes obtaining a training set of optical systems, wherein the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions; establishing, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.

Description

OPTICAL SYSTEM DESIGN
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This patent document claims priority to and benefits of U.S. Provisional
Application 62/768,727, titled“OPTICAL SYSTEM DESIGN,” filed on November 16, 2018. The entire disclosure of the aforementioned application is incorporated by reference as part of the disclosure of this application.
TECHNICAL FIELD
[0002] This patent document relates to optical system design, in particular, to optical lens design.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH
[0003] This invention was made with government support under Grant No. 1746060, awarded by NSF. The government has certain rights in the invention.
BACKGROUND
[0004] Optical system design is the process of designing an optical system to meet a set of performance requirements and constraints. The design process is computationally intensive and time consuming. There remains a need to improve the design process to obtain optical systems having superior performances.
SUMMARY
[0005] The present document discloses systems and methods that can be used in various embodiments to facilitate design and implementation of optical systems. The disclosed techniques allow a real-time iterative design process that reduce design time and improve overall optical system quality.
[0006] In one example aspect, a method of automated database generation for optical designs is disclosed. The method includes generating a mapping between a performance space and one or more sub-regions of a design space for an optical system. The performance space includes parameters for characterizing performance of the optical system and the design space includes design parameters for implementation of the optical system. The one or more sub-regions of the design space are produced based on one or more desirability criteria of the optical system. The method includes automatically generating multiple data samples
l using the mapping between the performance space and the one or more sub-regions of the design space. The multiple data samples are distributed across the one or more sub-regions. The method also includes storing the multiple data samples in a database.
[0007] In another example aspect, a method for optimizing a design of an optical system is disclosed. The method includes producing an initial design for the optical system. The optical system has a plurality of attributes that characterize different aspects of the optical system. The method includes selecting one or more sequences from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute. The method includes performing a local optimization of the initial optical system using the one or more sequences by changing a value of one or more of only those attributes that have an associated first binary value. The method also includes evaluating a global merit function based on the local optimization to obtain an optimized optical system.
[0008] In another example aspect, a method for assisting optical system design is disclosed. The method includes obtaining a training set of optical systems. The optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions. The method includes establishing, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space. The method also includes providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
[0009] In another example aspect, a method for assisting optical system design is disclosed. The method includes generating, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space. The method includes optimizing each of the sample optical systems using one or more sequences selected from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute. The method includes establishing, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space. The method also includes providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
[0010] In another example aspect, a device for generating a database for optical system design includes one or more processors and a memory including processor-executable instructions stored thereon. The processor-executable instructions upon execution by the one or more processors configures the one or more processors to generate a mapping between a performance space and one or more sub-regions of a design space for an optical system. The performance space includes parameters for characterizing performance of the optical system and the design space includes design parameters for implementation of the optical system, and the one or more sub-regions of the design space are produced based on one or more desirability criteria of the optical system. The one or more processors are also configured to automatically generate multiple data samples using the mapping between the performance space and the one or more sub-regions of the design space, wherein the multiple data samples are distributed across the one or more sub-regions; and store the multiple data samples in a database.
[0011] In another example aspect, a device for optimizing a design of an optical system includes one or more processors and a memory including processor-executable instructions stored thereon. The processor-executable instructions upon execution by the one or more processors configures the one or more processors to produce an initial design for the optical system, the optical system having a plurality of attributes that characterize different aspects of the optical system; select one or more sequences from a sequence pool; perform a local optimization of the initial optical system using the one or more sequences by changing a value of one or more of only those attributes that have an associated first binary value; and evaluate a global merit function based on the local optimization to obtain an optimized optical system. Each sequence includes sections of bits, each bit representing an attribute of the optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
[0012] In another example aspect, a device assisting optical system design includes one or more processors and a memory including processor-executable instructions stored thereon. The processor-executable instructions upon execution by the one or more processors configures the one or more processors to obtain a training set of optical systems, wherein the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions; establish, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and provide, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
[0013] In another example aspect, a device for assisting optical system design includes one or more processors and a memory including processor-executable instructions stored thereon. The processor-executable instructions upon execution by the one or more processors configures the one or more processors to generate, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space; optimize each of the sample optical systems using one or more sequences selected from a sequence pool; establish, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and provide, based on the correspondence, a performance evaluation of a
corresponding optical system given a set of input design parameters. Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
[0014] In yet another example aspect, a computer-program storage medium is disclosed. The computer-program storage medium includes code stored thereon. The code, when executed by a processor, causes the processor to implement a method that comprises generating, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space. The method includes optimizing each of the sample optical systems using one or more sequences selected from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute. The method includes establishing, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space. The method also includes providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
[0015] These, and other, aspects are described in the present document.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] FIG. 1 shows a schematic mapping between the performance parameters and the design parameters.
[0017] FIG. 2A shows a schematic diagram of a reinforcement learning feedback loop that can be used to generate a desired database in accordance with one or more embodiments of the present disclosure.
[0018] FIG. 2B shows an example diagram of a neural network that is a functional representation of a desired distribution of designs in the database in accordance with one or more embodiments of the present disclosure.
[0019] FIG. 2C is a schematic diagram illustrating the effects of the learning process has on the density of the design parameters in the database in accordance with one or more embodiments of the present disclosure.
[0020] FIG. 3 shows a schematic diagram of the scope of a data space and an expanded scope of data samples in an automated generated database.
[0021] FIG. 4 shows example degrees of freedom and constraints imposed on a three- mirror system.
[0022] FIG. 5 shows a flowchart representation of an example optimization process used in database generation in accordance with one or more embodiments of the present disclosure.
[0023] FIG. 6 illustrates a wide variety of design types in a small database.
[0024] FIG. 7 illustrates an example unconstrained optimization of a compact system.
[0025] FIG. 8 shows examples of a binary sequence representing attributes of an optical system and the number of local optimization steps to be performed in accordance with one or more embodiments of the present disclosure.
[0026] FIG. 9 illustrates an example algorithm of following a sequence structure in local optimization in accordance with one or more embodiments of the present disclosure.
[0027] FIG. 10 shows example algorithms that use compactness in a global merit function in accordance with one or more embodiments of the present disclosure.
[0028] FIG. 11 illustrates example optimized optical geometries.
[0029] FIG. 12A is a schematic diagram showing the traditional discrete design paradigm.
[0030] FIG. 12B is a schematic diagram showing a continuous design paradigm in accordance with one or more embodiments of the present disclosure.
[0031] FIG. 12C illustrates an example of hyperparameter combinations of terms to reduce dimensionality and simplify exploration of design landscape in accordance with one or more embodiments of the present disclosure.
[0032] FIG. 13 shows additional example factors that can be taken into account in a learning process in accordance with one or more embodiments of the present disclosure.
[0033] FIG. 14 shows an example user interface for a user to explore the design space in accordance with one or more embodiments of the present disclosure.
[0034] FIG. 15 shows an example of real-time exploration of the design space in accordance with one or more embodiments of the present disclosure.
[0035] FIG. 16 is a schematic diagram showing example real-time operations that a user can perform in accordance with one or more embodiments of the present disclosure.
[0036] FIG. 17 is a schematic diagram showing additional example operations that a user can perform in accordance with one or more embodiments of the present disclosure.
[0037] FIG. 18A illustrates an example initial design created by a user.
[0038] FIG. 18B illustrates example initial constraints created by a user.
[0039] FIG. 18C illustrates an example interface that allows the user to make changes to geometrical primitives in accordance with one or more embodiments of the present disclosure.
[0040] FIG. 19A illustrates an example optical system automatically corrected by an optimization system in accordance with one or more embodiments of the present disclosure.
[0041] FIG. 19B illustrates an example of a new design area determined by an optimization system in accordance with one or more embodiments of the present disclosure.
[0042] FIG. 20 is a schematic diagram illustrating an example complete design process i in accordance with one or more embodiments of the present disclosure.
[0043] FIG. 21 is a flowchart representation of a method of automated database generation for optical designs in accordance with one or more embodiments of the present disclosure.
[0044] FIG. 22 is a flowchart representation of a method optimizing a design of an optical system in accordance with one or more embodiments of the present disclosure.
[0045] FIG. 23 is a flowchart representation of a method for assisting optical system design in accordance with one or more embodiments of the present disclosure. [0046] FIG. 24 is a flowchart representation of a method for assisting optical system design in accordance with one or more embodiments of the present disclosure.
[0047] FIG. 25 is a block diagram illustrating an example of the architecture for a computer system or other control device that can be utilized to implement various portions of the presently disclosed disclosure.
DETAILED DESCRIPTION
[0048] Fundamentally, optical system design is a nonlinear inverse problem which involves finding a mapping between two high dimensional spaces. The first space being the design parameter space, containing all the terms used to describe the optical design such as radii of curvature, conic constants, lens material, Zemike polynomials, etc. The second space is the performance parameter space, which contains all the terms used to describe the performance of the system such as tolerances and wavefront errors. FIG. 1 shows a schematic mapping between the performance parameters and the design parameters. One problem in optical system design is that although finding a mapping from the design parameter space to the performance parameter space is easy (taking only a single ray -trace), given a desired set of performance characteristics it is extremely complicated to determine the corresponding design parameters. The disclosed systems and technique, among other features and benefits, enable a determination of an estimated mapping from the design parameter space to the performance parameter space in real time. Thus the disclosed embodiments facilitate the design and implementation of optical systems that accurately reflect the desired features of interest. In order to facilitate the understanding of the disclosed technology in the description below, subheadings are used in various sections. It should be noted, however, that the description that follows each subheading can be pertinent to the features that are described in other sections of this document.
[0049] Database Generation
[0050] The first step to solve the difficulty in obtaining a mapping is generate a large amount of data in the design space. Because the correspondence between the two spaces is reciprocal, a discrete mapping from design space to performance space can be traced backwards to solve the inverse problem at the location of the data.
[0051] FIG. 2A shows a schematic diagram of a reinforcement learning feedback loop that can be used to generate a desired database in accordance with one or more embodiments of the present technology. Reinforcement learning is an area of machine learning concerned with how an agent takes actions in an environment so as to maximize some notion of reward. In the context of data base generation for optical system designs, the reinforcement learning environment can be deemed as the space of all possible databases of optical systems. The actions of this agent are to generate a collection of designs that forms one of these possible databases. The corresponding rewards are a combination of: the performance of the generated optical systems and the variety of the samples within the database.
[0052] The reinforcement learning process aims to find a functional representation of the ideal distribution of designs to form a database. The database generated from this process includes a variety of optical designs that span across the high-performing regions in the design space. In some embodiments, this functional representation is defined by a list of parameters which can be modified to improve the performance of the corresponding optical system. As shown in FIG. 2A, the functional representation can be implemented using an artificial neural network, which has parameters such as weights on each connection and bias on each node. By modifying the weights and bias of this function, the mapping between inputs and outputs can be controlled. The functional representation can also be implemented by fitting an approximation function to a set of sample designs. In some embodiments, the functional representation can be established using both approximation fitting and neural network(s).
[0053] FIG. 2B shows an example diagram of a neural network that is a functional representation of a desired distribution of designs in the database. A desired distribution here means that the designs generated by the functional representation are distributed across the desirable regions in the design space— that is, the performance of each design is desirable, and there are enough variations among the designs so that each of the desirable regions is well-represented. In some embodiments, whether a design falls into a desired region (that is, whether the design is desirable) can be measured by one or more of the following parameters: an imaging spot size, a wavefront error, a distortion, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, an operating environment, thermal sensitivity, and/or cost. Based on the parameter(s), the design space can have desirable regions for high-performing designs, and less desirable regions for low-performing designs. The functional representation (e.g., the neural network) can be trained to generate diverse data samples that provide a more complete representation of the desirable regions while skipping the less desirable regions in the design space.
[0054] In the example shown in FIG. 2B, the neural network has learned to map a given input (e.g., input density) from a first space Z to a desirable region (e.g., the ideal output density of design parameters) to provide data samples in an optimal database. As the neural network generates more data samples and continues to learn using the feedback loop (as shown in FIG. 2A), the desirable regions have denser data samples (represented by darker colors) while the less-desirable regions have none or only a few data samples (represented by lighter colors). Consequently, the feedback loop can improve the performance of generated designs in the design space by clustering towards high performance regions. The feedback loop also encourages efficient exploration of the design space by avoiding regions of poor performance.
[0055] In some embodiments, a learning process can be implemented at the neural network to improve the performance of this functional representation. The performance of the functional representation (e.g., the neural network) can be evaluated by determining the quality of the generated optical systems. The performance can also be evaluated by examining the distribution or diversity of the optical elements (e.g., lenses) used in the generated systems. This performance is returned as a reward to the agent, and its parameters are then modified to maximize the reward, as shown FIG. 2A. FIG. 2C is a schematic diagram illustrating the effects of the learning process has on the density of the design parameters in the database. As the functional representation improves over time with learning, regions of poor performance are avoided, and high-performance regions of the design space become more well-represented.
[0056] FIG. 3 is a schematic diagram illustrating the scope of a data space and an expanding scope of data samples represented in an automated generated database. By encouraging an expansive database during each step of the reinforcement learning process, the diversity of the generated databases can increase towards a complete representation of the data space. The automated approach described herein can generate sample systems that span across the entire data space to assist optical system designs.
[0057] One embodiment of the database generation is described below. In this embodiment, the target optical system is a three-mirror system. FIG. 4 shows example degrees of freedom and constraints imposed on the three-mirror system. The constraints include the following:
[0058] 1. Image Condition, such as the entrance pupil diameter denoted as tTRO and distances between lenses, denoted as t1 and t2.
[0059] 2. No Spherical, denoted as Ki.
[0060] 3. No Astigmatism, denoted as K2.
[0061] 4. No Coma, denoted as K3. [0062] 5. No Field Curvature, denoted a s fί, f2, and f3.
[0063] FIG. 5 shows a flowchart representation of an example optimization process used in database generation. In this process, the feasibility of the lens system is checked (501) for an initial system at a selected starting field of view (FOV) and F-number (F/#). If the higher order aberrations degrade performance too much or if the elements overlap, the system is discarded (503). If the system is not diffraction limited, it is optimized (505) under the constraint that the focal length remains constant. Once a diffraction limited system is created at the starting point, it is saved and enters into the second stage of optimization. First, the FOV is increased incrementally (507) until a FOV is reached where the system can no longer achieve diffraction limited performance (509). The largest diffraction limited FOV system is then saved to the database and the original lens system is reloaded (511). The FOV is reset to the initial value. In some embodiments, the F/# is then increased and the system is optimized until it is diffraction limited. This larger F/# system is now saved before the FOV is once again increased until its limit. The resulting large FOV system is saved and the larger F/# lens is reloaded, the F/# is increased and FOV re-set for another optimization process. This procedure is repeated until where even at the smallest FOV, the increase in F/# causes the system performance to fall below the diffraction limit, even after optimization. Then all of these lenses are uploaded to the database with their respective FOV and F/# labels, before the whole process is repeated again with a new lens.
[0064] This process can be run as many times as desired until a sufficiently large database of high performing lens systems is generated. To check the variation in the lens database, a t-distributed Stochastic Neighbor Embedding (t-SNE) is used to generate a 2D plot of nine-dimensional data, as shown in FIG. 6. This approach distorts the high dimensional space to enable a visualization of the relative positions of the data, to gain an understanding of the distribution. FIG. 6 illustrates that a wide variety of design types, such as systems with large separations (601), systems with positive Ki values (603), systems with negative Ki values (605), long systems (607), negative first lens (609), etc. can be generated and stored even in a small database.
[0065] Sparse Optimization
[0066] Another important issue in optical design is finding an efficient way to navigate a given parameter space in search of the overall best point according to a set of search criteria. Additionally, a problem more specific to optical design is the challenge of constraints.
Although mathematically the merit function may be defined across all values of the design variables, it is necessary to avoid regions of the parameter space that produce physically unrealizable systems, where elements overlap or obstruct ray paths between other elements. FIG. 7 an example unconstrained optimization of a compact system. The initial system 701 is a compact optical system. However, after the unconstrained optimization, the resulting system 703 is no longer a compact system. This example further shows that the use of typical optimization techniques can lead to a system where components partially obstruct the optical rays in the system.
[0067] One technique to exclude physically unrealizable systems can be implemented for systems in which the dimensionality of the local optimization steps is limited. That is, in each local optimization step, the number of attributes (also referred to as dimensions) that are allowed to change is limited to a predetermined number. In one example embodiment, a binary sequence is used to represent the dimensions and optimization steps. Local optimization is performed based on the value of the binary sequence, and a global merit function is then evaluated to take into account factors such as geometry compactness for obtaining an optimized optical system.
[0068] For example, given a current system, a sequence structure (e.g., how many local optimization steps, and/or how many attributes to be included in the sequence) can be determined. FIG. 8 shows examples of a binary sequence representing attributes of an optical system and the number of local optimization steps to be performed. A‘0’ bit value indicates that the attribute is held constant, whereas a‘ 1’ bit value indicates that the attribute is changing. In FIG. 8, nine attributes are selected, each of which is represented by a bit in the sequence (e.g.,“001011101” in Step 1 or“010100111” in Step 2). There are M local optimization steps, resulting a binary sequence of 9*M bits.
[0069] In some embodiments, each bit can represent if an action to be performed to the optical system. For example, the action can include at least one of the following: increasing or decreasing a separation between optical elements of the optical system, increasing or decreasing a tilt on an optical element, modifying one or more shape parameters of an optical element, increasing or decreasing a field of view or a focal length of an optical element, adding or removing one or more optical elements to or from the optical system, changing a material of an optical element, adding or removing one or more constraints to or from the optical system, or running a pre-defmed collection of operations (e.g., one or more macro functions). A‘0’ bit value indicates that the action is not to be performed, whereas a‘G bit value indicates that the action is to be performed. FIG. 9 illustrates an example algorithm of following the sequence structure (also referred to as a map) in local optimization.
[0070] Furthermore, due to the simple nature of binary bits, an optimization algorithm, such as a genetic algorithm, can be used to determine the optimal binary sequence(s) for finding the optimized optical system. A genetic algorithm is a computing algorithm implemented on a computing device for solving constrained and/or unconstrained optimization problems that is similar to natural selection. The genetic algorithm is suitable for addressing problems in which some components are restricted to be integer-valued.
Because elements in the binary sequences are limited to integer values (e.g., 0 and 1), an optimization algorithm similar to the genetic algorithm can be performed to obtain optimal sequences. For example, an optimization algorithm similar to the genetic algorithm can randomly select values for a binary sequence as a“parent” sequence and produce“children” for the next generation/iteration. Over successive generations, the population - the resulting binary bits—“evolves” toward an optimal solution.
[0071] An initial pool of binary sequences can be generated by changing the bit values of the sequence and eliminating the resulting sequences that lead to unrealizable systems. Then a genetic algorithm can be performed using the initial pool to produce an improved sequence pool after multiple generations. The improved sequence pool is then sampled to obtain a few sequences that can produce systems similar to the current system. The sequences then can be used to further assist the optical system design.
[0072] In global optimization, the global merit function can be evaluated based on one or more attributes of the optical elements (e.g., lens) in the optical system. Such attributes can include at least one of the following: an imaging spot size, a wavefront error, a distortion, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, an operating environment, thermal sensitivity, or cost. FIG. 10 illustrates example algorithms that use compactness in the global merit function. For example, as shown in algorithm 1001, whether a system is valid can be determined based on the boundaries of the optical elements. Once a system is determined to be valid, a second algorithm 1003 can use a global merit function to improve compactness of the resulting design. The compactness can be indicated by a radius of a circle that contains the entire optical system. FIG. 11 illustrates example optical geometries optimized using the process described above. As shown in FIG. 11, the optimized geometries are more compact without self-obstruction of the optical rays.
[0073] Real-time Exploration of the Design Space
[0074] Given a database of high-performing sample systems and corresponding design parameters obtained using the techniques described above, a continuous interpretation of the mapping between the performance space and the design space now becomes feasible. For example, by teaching an artificial neural network the direct relationship between surface shape and desired performance, the neural network can obtain a continuous interpretation of the mapping without performing complex intermediate calculations. The end result is an efficient functional representation that accepts design parameters and outputs a completed optical surface, offering a dramatic speed improvement and a simplified process for designing optical systems which also enhances the user experience.
[0075] FIGS. 12A-12B illustrate a conceptual comparison between the traditional discrete design paradigm and the continuous design paradigm in accordance with one or more embodiments of the present technology. In FIG. 12A, only discrete computations (illustrated by circles) are performed to obtain the mapping between the performance space and the design space. FIG. 12B shows that, using the proposed approach, a continuous interpretation can be obtained. FIG. 12C further illustrates that hyperparameter combinations of terms can be learned to reduce dimensionality and to simplify exploration of design landscape. For example, rather than examining each of the parameters such as size, tolerancing and cost, a combined hyperparameter“manufacturability” can be defined to group them together:
[0076] manufacturability = a x size + b x tolerancing + c x cost.
[0077] FIG. 13 demonstrates additional factors, such as cost and manufacturability as discussed above, that can be taken into account in the learning process to obtain the continuous interpretation of the mapping between the design space and the performance space. For example, a neural network can be trained to understand what manufacturability means, e.g., by looking at many examples through a large dataset, to allow for high level tradeoffs to be explored.
[0078] In some embodiments, a user can select two of the design parameters of interest (e.g., size, tolerance, or materials) and maneuver through a corresponding two-dimensional (2D) interface. The selected two variables (e.g., size and cost) can be explored in the 2D space while the other ones are held constant. FIG. 14 shows an example of a user interface that allows the user to change the desired design parameters to explore. For example, the user can change the parameter“Manufacturability” to“Size,”“Tolerance,” or“Materials.” In some embodiments, a multi-dimension interface can be used to show the design space. A three-dimensional (3D) interface can be provided so that the user can select a volume of interest to explore. This allows simultaneous exploration of three variables at the same time.
[0079] In some embodiments, a neural network can be used to provide a generalized combination function instead of requiring linear combinations as shown above. Using the knowledge obtained from the sparse optimization, the exploration of the design landscape can be simplified because unrealizable design space can be easily avoided.
[0080] FIG. 15 shows an example of real-time exploration of the design space. In some embodiments, the neural network can determine several sets of design parameters in parallel. The design system can provide an interactive user interface that shows several adjacent locations in the design space and visualize the corresponding performance in real time. FIG. 16 is a schematic diagram showing example real-time operations that a user can perform. For example, the user can move the input space (including thirteen input points in the case, each representing a first variable wi and a second variable hi) across a two-dimensional (2D) design space. The design system can take the multiple input points and determine corresponding performance outputs in parallel (e.g., by leveraging parallel computing on multiple processing cores). For example, each input point [Wi, Hi] correspond to output performance values in spherical harmonic coefficients [SPHu, SPHa, ... , SPHu6]. Multiple sets of performance values can be obtained in real-time to give the user a more
comprehensive understanding of the performances around a small input design space.
[0081] In some embodiments, the design system can generate one or more visualization results to assist the selection of design parameters. As shown in FIG. 16, as the user move the input space across the 2D space, several images can be generated to visualize the system performances. For example, the corresponding visualization of input point 1601 is the image 1602. Several other images representing optical system performances are produced at the same time. Furthermore, because the mapping is reciprocal, the system can also provide an interface to allow the user to select a performance area (with several adjacent performance targets) and view the corresponding design parameters.
[0082] FIG. 17 is a schematic diagram showing additional example operations that a user can perform in accordance with one or more embodiments of the present disclosure. In this example, as the user move the input space across the 2D space, many positions adjacent to the design point are evaluated continuously. In some embodiments, the system can indicate the best design point for the current design area in the user interface. For example, a first best design point 1701 is indicated by the system based on the initial position of the design area. Guided by the adjacent positions around the first best design point (e.g., based on the visualizations of the system performance as shown in FIG. 16), the user can continuously move the design area to follow next best design points 1703, 1705.
[0083] In some embodiments, a user interface can be provided to allow real-time manipulation of the design parameters of an optical system. FIGS. 18A-C show an example of real-time manipulation of design parameters in accordance with one or more embodiments of the present disclosure. FIG. 18A illustrates an example initial design created by a user. In this example, the user determines the geometrical primitives of the optical system, such as a shape 1801 (e.g., a dark circle) representing lens components and lines 1803 representing corresponding optical axes. The primitives are provided to an optimization system 1810 that can automatically generate an optical system 1820 according to the provided primitives. Alternatively, as shown in FIG. 18B, the user can provide a set of constraints (instead of primitives) to the optimization system 1810. The optimization system 1810 can similarly generate an optical system 1830 based on the constraints. This initial optical system is used as a starting point in the real-time design process.
[0084] Once the initial optical system is created, a user interface (e.g., a graphical user interface) can be provided to allow the user to alter the system in real time. For example, the user can drag the lenses, modify lens boundaries and/or design parameters (e.g., field of view (FOV), wavelength, or EPD). The user can also enable or disable freeform surface terms of optical components. While the user makes such changes, the optical system is continuously updated by the network in real-time to reflect the changes made by the user. FIG. 18C shows an example interface that allows the user to make changes to the geometrical primitives. As the user drags element 1801 from its initial position shown in FIG. 18A to a new position in FIG. 18C, the optical system 1820 is automatically updated to reflect such change.
[0085] In some embodiments, the user may introduce errors in the geometrical primitives. According to the current design point in the design space and adjacent design positions, the system can determine a suitable working solution automatically. FIG. 19A illustrates an example optical system automatically corrected by an optimization system. As shown in FIG. 19A, the user introduces errors 1901 into the selected geometry. The optimization system can automatically correct such errors by locating a working solution 1903 based on systems corresponding to the adjacent design positions.
[0086] In some embodiments, a simple move made by the user (e.g., removing a lens component) can cause a big impact on the resulting optical system. In those cases, the optimization system can determine a suitable design area, given the system geometry and/or parameters, independent from the current design point. FIG. 19B illustrates an example of a new design area determined by the optimization system. Before the user makes any changes to the current optical system, the optical system corresponds to the first best point 1911 in the design space. However, the system geometry and/or parameters undergo significant changes after the user adds/removes an optical element. Thus, the optimization system makes a non- continuous“jump” from the original best design point 1911 to a new best design point 1913. [0087] FIG. 20 is a schematic diagram illustrating an example complete design process in accordance with one or more embodiments of the present disclosure. First, the user provides a set of geometrical primitives or constraints 2005 to the optimization system 2010. Based on the set of inputs, the optimization system 2010 generates an initial optical system 2020. The optimization system can refine the initial optical system 2020 progressively or iteratively with or without any user inputs. For example, the optical system can be refined, as described in connection with FIGS. 16-19B, to obtain a final optical system 2030 having desirable performance.
[0088] FIG. 21 is a flowchart representation of a method 2100 of automated database generation for optical designs in accordance with one or more embodiments of the present disclosure. The method 2100 includes, at operation 2110, generating a mapping between a performance space and one or more sub-regions of a design space for an optical system. The performance space includes parameters for characterizing performance of the optical system and the design space includes design parameters for implementation of the optical system.
The one or more sub-regions of the design space are produced based on one or more desirability criteria of the optical system. The method 2100 includes, at operation 2120, automatically generating multiple data samples using the mapping between the performance space and the one or more sub-regions of the design space. The multiple data samples are distributed across the one or more sub-regions. The method 2100 also includes, at operation 2130, storing the multiple data samples in a database.
[0089] In some embodiments, the one or more desirability criteria includes a
predetermined value or range of values of one or more of the following: an imaging spot size, a wavefront error, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, or thermal sensitivity. In some embodiments, the one or more desirability criteria is determined in accordance with one or more of: an operating environment, or cost of one or more optical elements in the optical design.
[0090] In some embodiments, the mapping is generated by training a neural network. In some embodiments, the neural network is trained by a learning process that provides a feedback to the neural network based on the desirability criteria. In some embodiments, the method includes improving the mapping between the performance space and the one or more sub-regions based on the feedback. In some embodiments, the mapping provides an estimation of the distribution of desirable designs in the design space. In some embodiments, the estimation is produced by autonomous exploration of the design space with continuous feedback that includes one or both of reinforcement learning process or fitting a generalized functional approximation to a set of sample designs. In some embodiments, the autonomous exploration comprises avoiding regions of poor performance. In some embodiments, the autonomous exploration comprises clustering towards regions of high performance. In some embodiments, the estimation is used to limit a range of generated designs within the database to regions of desirable performance.
[0091] FIG. 22 is a flowchart representation of a method 2200 optimizing a design of an optical system in accordance with one or more embodiments of the present disclosure. The method 2200 includes, at operation 2210, producing an initial design for the optical system. The optical system has a plurality of attributes that characterize different aspects of the optical system. The method 2200 includes, at operation 2220, selecting one or more sequences from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute. The method 2200 includes, at operation 2230, performing a local optimization of the initial optical system using the one or more sequences by changing a value of one or more of only those attributes that have an associated first binary value. The method 2200 includes, at operation 2240, evaluating a global merit function based on the local optimization to obtain an optimized optical system.
[0092] In some embodiments, each bit further represents an action to be performed to the optical system, the action comprising at least one of: increasing or decreasing a separation between optical elements of the optical system, increasing or decreasing a tilt on an optical element, modifying one or more shape parameters of an optical element, increasing or decreasing a field of view or a focal length of an optical element, adding or removing one or more optical elements to or from the optical system, changing a material of an optical element, adding or removing one or more constraints to or from the optical system, or running a pre-defined collection of operations. The first value of each bit indicates the action is to be performed and the second value of each bit indicates the action is not to be performed.
[0093] In some embodiments, evaluating the global merit function comprises evaluating a compactness of the optical system. The compactness is indicated by a radius of a circle that contains the entire optical system. In some embodiments, evaluating the global merit function comprises evaluating one or more attributes of one or more optical elements in the optical system. The one or more attributes including at least one of: an imaging spot size, a wavefront error, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, an operating environment, thermal sensitivity, or cost.
[0094] In some embodiments, the method includes generating the sequence pool based on one or more attributes of an optical system and removing a subset of sequences from the sequence pool. The subset of sequences results in self-intersecting optical systems. In some embodiments, the method includes adjusting the sequence pool by performing a genetic algorithm on sequences in the sequence pool for multiple generations. In some embodiments, the method includes establishing a representation of optical systems using the sequence pool, wherein the representation provides a mapping between a design space of the optical systems and the sequences in the sequence pool. The method also includes adding additional sequences to the sequence pool based on the representation. The additional sequences represent desirable attributes or actions. In some embodiments, the method includes improving the sequences using a reinforcement learning process.
[0095] FIG. 23 is a flowchart representation of a method 2300 for assisting optical system design in accordance with one or more embodiments of the present disclosure. The method 2300 includes, at operation 2310, obtaining a training set of optical systems. The optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions. The method 2300 includes, at operation 2320, establishing, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space. The method 2300 includes, at operation 2330, providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
[0096] In some embodiments, the correspondence is established by training a neural network using the training set. In some embodiments, the performance evaluation is provided by generating a real-time visualization of the performance value corresponding to the set of input design parameters. In some embodiments, the real-time visualization comprises one or more images representing multiple performance outputs that correspond to the set of input design parameters. In some embodiments, the real-time visualization comprises a two- dimensional representation or a three-dimensional representation of the performance evaluation.
[0097] In some embodiments, the method includes displaying the corresponding optical system given the set of input design parameters. In some embodiments, the set of input design parameters is determined based on a set of geometrical primitives or a set of constraints. In some embodiments, the method includes generating, in real-time, an updated optical system according to a change of at least one parameter in the set of input design parameters based on the correspondence. In some embodiments, the method includes updating the optical system iteratively based on the correspondence. In some embodiments, the optical system is updated iteratively based on inputs from a user.
[0098] FIG. 24 is a flowchart representation of a method 2400 for assisting optical system design in accordance with one or more embodiments of the present disclosure. The method 2400 includes, at operation 2410, generating, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space. The method 2400 includes, at operation 2420, optimizing each of the sample optical systems using one or more sequences selected from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute. The method 2400 includes, at operation 2430, establishing, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space. The method 2400 includes, at operation 2440, providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
[0099] In another example aspect, a device for generating a database for optical system design includes one or more processors and a memory including processor-executable instructions stored thereon. The processor-executable instructions upon execution by the one or more processors configures the one or more processors to generate a mapping between a performance space and one or more sub-regions of a design space for an optical system. The performance space includes parameters for characterizing performance of the optical system and the design space includes design parameters for implementation of the optical system, and the one or more sub-regions of the design space are produced based on one or more desirability criteria of the optical system. The one or more processors are also configured to automatically generate multiple data samples using the mapping between the performance space and the one or more sub-regions of the design space, wherein the multiple data samples are distributed across the one or more sub-regions; and store the multiple data samples in a database.
[00100] In some embodiments, the one or more desirability criteria includes a
predetermined value or range of values of one or more of the following: an imaging spot size, a wavefront error, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, or thermal sensitivity. In some embodiments, the one or more desirability criteria is determined in accordance with one or more of: an operating environment, or cost of one or more optical elements in the optical design.
[00101] In some embodiments, the mapping is generated by training a neural network. In some embodiments, the neural network is trained by a learning process that provides a feedback to the neural network based on the desirability criteria. In some embodiments, the one or more processors are configured to improve the mapping between the performance space and the one or more sub-regions based on the feedback. In some embodiments, the mapping provides an estimation of the distribution of desirable designs in the design space. In some embodiments, the estimation is produced by autonomous exploration of the design space with continuous feedback that includes one or both of reinforcement learning process or fitting a generalized functional approximation to a set of sample designs. In some embodiments, the autonomous exploration comprises avoiding regions of poor performance. In some embodiments, the autonomous exploration comprises clustering towards regions of high performance. In some embodiments, the estimation is used to limit a range of generated designs within the database to regions of desirable performance.
[00102] In another example aspect, a device for optimizing a design of an optical system includes one or more processors and a memory including processor-executable instructions stored thereon. The processor-executable instructions upon execution by the one or more processors configures the one or more processors to produce an initial design for the optical system, the optical system having a plurality of attributes that characterize different aspects of the optical system; select one or more sequences from a sequence pool; perform a local optimization of the initial optical system using the one or more sequences by changing a value of one or more of only those attributes that have an associated first binary value; and evaluate a global merit function based on the local optimization to obtain an optimized optical system. Each sequence includes sections of bits, each bit representing an attribute of the optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
[00103] In some embodiments, each bit further represents an action to be performed to the optical system, the action comprising at least one of increasing or decreasing a separation between optical elements of the optical system, increasing or decreasing a tilt on an optical element, modifying one or more shape parameters of an optical element, increasing or decreasing a field of view or a focal length of an optical element, adding or removing one or more optical elements to or from the optical system, changing a material of an optical element, adding or removing one or more constraints to or from the optical system, or running a pre-defined collection of operations. The first value of each bit indicates the action is to be performed and the second value of each bit indicates the action is not to be performed.
[00104] In some embodiments, the global merit function is evaluated based on evaluating a compactness of the optical system. The compactness is indicated by a radius of a circle that contains the entire optical system. In some embodiments, the global merit function is evaluated based on evaluating one or more attributes of one or more optical elements in the optical system, the one or more attributes including at least one of: an imaging spot size, a wavefront error, a modulation transfer function (MTF), a distortion, a chromatic aberration, a Petzval curvature, a packaging shape, a size, a weight, one or more tolerance values, an operating environment, thermal sensitivity, or cost.
[00105] In some embodiments, the one or more processors are configured to generate the sequence pool based on one or more attributes of an optical system; and remove a subset of sequences from the sequence pool, wherein the subset of sequences results in self-intersecting optical systems. In some embodiments, the one or more processors are configured to adjust the sequence pool by performing a genetic algorithm on sequences in the sequence pool for multiple generations. In some embodiments, the one or more processors are configured to establish a representation of optical systems using the sequence pool, wherein the representation provides a mapping between a design space of the optical systems and the sequences in the sequence pool; and add additional sequences to the sequence pool based on the representation, wherein the additional sequences represent desirable attributes or actions. In some embodiments, the one or more processors are configured to improve the sequences using a reinforcement learning process.
[00106] In another example aspect, a device assisting optical system design includes one or more processors and a memory including processor-executable instructions stored thereon. The processor-executable instructions upon execution by the one or more processors configures the one or more processors to obtain a training set of optical systems, wherein the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions; establish, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and provide, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
[00107] In some embodiments, the correspondence is established by training a neural network using the training set. In some embodiments, the performance evaluation is provided by generating a real-time visualization of the performance value corresponding to the set of input design parameters. In some embodiments, the real-time visualization comprises one or more images representing multiple performance outputs that correspond to the set of input design parameters. In some embodiments, the real-time visualization comprises a two- dimensional representation or a three-dimensional representation of the performance evaluation.
[00108] In some embodiments, the one or more processors are configured to display the corresponding optical system given the set of input design parameters. In some embodiments, the set of input design parameters is determined based on a set of geometrical primitives or a set of constraints. In some embodiments, the one or more processors are configured to generate, in real-time, an updated optical system according to a change of at least one parameter in the set of input design parameters based on the correspondence. In some embodiments, the one or more processors are configured to update the optical system iteratively based on the correspondence. In some embodiments, the optical system is updated iteratively based on inputs from a user.
[00109] In another example aspect, a device for assisting optical system design includes one or more processors and a memory including processor-executable instructions stored thereon. The processor-executable instructions upon execution by the one or more processors configures the one or more processors to generate, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space; optimize each of the sample optical systems using one or more sequences selected from a sequence pool; establish, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and provide, based on the correspondence, a performance evaluation of a
corresponding optical system given a set of input design parameters. Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute.
[00110] In yet another example aspect, a non-transitory computer readable medium has code stored thereon. The code is executable by a processor to implement a method that comprises generating, based on a set of initial optical systems, sample optical systems that are spread across a design space defined by one or more design parameters, and clustered near desirable regions in the design space. The method includes optimizing each of the sample optical systems using one or more sequences selected from a sequence pool. Each sequence includes sections of bits, each bit representing an attribute of the sample optical system. A first value of each bit indicates that the corresponding attribute is allowed be changed, and a second value of each bit indicates a non-changing attribute, thereby limiting a dimensionality of an optimization step associated with the corresponding attribute. The method includes establishing, using the optimized sample optical systems as a training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space. The method also includes providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters. The code, when executed by the processor, can also cause the processor to implement any of the above-mentioned methods.
[00111] FIG. 25 is a block diagram illustrating an example of the architecture for a computer system or other control device 2500 that can be utilized to implement various portions of the presently disclosed technology. In FIG. 25, the computer system 2500 includes one or more processors 2505 and memory 2510 connected via an interconnect 2525. The interconnect 2525 may represent any one or more separate physical buses, point to point connections, or both, connected by appropriate bridges, adapters, or controllers. The interconnect 2525, therefore, may include, for example, a system bus, a Peripheral
Component Interconnect (PCI) bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), IIC (I2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE) standard 674 bus, sometimes referred to as“Firewire.”
[00112] The processor(s) 2505 may include central processing units (CPUs), graphics processing units (GPUs), or other types of processing units (such as tensor processing units) to control the overall operation of, for example, the host computer. In certain embodiments, the processor(s) 2505 accomplish this by executing software or firmware stored in memory 2510. The processor(s) 2505 may be, or may include, one or more programmable general- purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such devices.
[00113] The memory 2510 can be or include the main memory of the computer system. The memory 2510 represents any suitable form of random access memory (RAM), read-only memory (ROM), flash memory, or the like, or a combination of such devices. In use, the memory 2510 may contain, among other things, a set of machine instructions which, when executed by processor 2505, causes the processor 2505 to perform operations to implement embodiments of the presently disclosed technology.
[00114] Also connected to the processor(s) 2505 through the interconnect 2525 is a (optional) network adapter 2515. The network adapter 2515 provides the computer system 1000 with the ability to communicate with remote devices, such as the storage clients, and/or other storage servers, and may be, for example, an Ethernet adapter or Fiber Channel adapter.
[00115] Implementations of the subject matter and the functional operations described in this patent document can be implemented in various systems, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer program products, e.g., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term“data processing unit” or“data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
[00116] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
[00117] The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
[00118] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[00119] It is intended that the specification, together with the drawings, be considered exemplary only, where exemplary means an example. As used herein, the singular forms“a”, “an” and“the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Additionally, the use of“or” is intended to include“and/or”, unless the context clearly indicates otherwise.
[00120] While this patent document contains many specifics, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this patent document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
[00121] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the
embodiments described in this patent document should not be understood as requiring such separation in all embodiments.
[00122] Only a few implementations and examples are described and other
implementations, enhancements and variations can be made based on what is described and illustrated in this patent document.

Claims

CLAIMS What is claimed is:
1. A method for assisting optical system design, comprising:
obtaining a training set of optical systems, wherein the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions;
establishing, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and
providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
2. The method of claim 1, wherein the correspondence is established by training a neural network using the training set.
3. The method of claim 1 or 2, wherein the performance evaluation is provided by generating a real-time visualization of the performance value corresponding to the set of input design parameters.
4. The method of claim 3, wherein the real-time visualization comprises one or more images representing multiple performance outputs that correspond to the set of input design parameters.
5. The method of claim 3, wherein the real-time visualization comprises a two- dimensional representation or a three-dimensional representation of the performance evaluation.
6. The method of any one or more of claims 1 to 5, comprising:
displaying the corresponding optical system given the set of input design parameters.
7. The method of claim 6, wherein the set of input design parameters is determined based on a set of geometrical primitives or a set of constraints.
8. The method of claim 6 or 7, comprising:
generating, in real-time, an updated optical system according to a change of at least one parameter in the set of input design parameters based on the correspondence.
9. The method of any one or more of claims 1 to 8, comprising:
updating the optical system iteratively based on the correspondence.
10. The method of claim 9, wherein the optical system is updated iteratively based on inputs from a user.
11. A device for assisting optical system design, comprising:
one or more processors; and
a memory including processor-executable instructions stored thereon, the processor- executable instructions upon execution by the one or more processors configures the one or more processors to:
obtain a training set of optical systems, wherein the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions;
establish, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and
provide, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
12. The device of claim 11, wherein the correspondence is established by training a neural network using the training set.
13. The device of claim 11 or 12, wherein the performance evaluation is provided by generating a real-time visualization of the performance value corresponding to the set of input design parameters.
14. The device of claim 13, wherein the real-time visualization comprises one or more images representing multiple performance outputs that correspond to the set of input design parameters.
15. The device of claim 13, wherein the real-time visualization comprises a two- dimensional representation or a three-dimensional representation of the performance evaluation.
16. The device of any one or more of claims 11 to 15, wherein the one or more processors are configured to:
display the corresponding optical system given the set of input design parameters.
17. The device of claim 16, wherein the set of input design parameters is determined based on a set of geometrical primitives or a set of constraints.
18. The device of claim 16 or 17, wherein the one or more processors are configured to: generate, in real-time, an updated optical system according to a change of at least one parameter in the set of input design parameters based on the correspondence.
19. The device of any one or more of claims 11 to 18, wherein the one or more processors are configured to:
update the optical system iteratively based on the correspondence.
20. The device of claim 19, wherein the optical system is updated iteratively based on inputs from a user.
21. A non-transitory computer readable medium having code stored thereon, wherein the code, when executed by a processor, causes the processor to implement a method that comprises:
obtaining a training set of optical systems, wherein the optical systems in the training set are spread across a design space defined by one or more design parameters, and clustered near desirable regions;
establishing, using the training set, a correspondence between a performance value of an optical system and one or more design parameters in the design space; and
providing, based on the correspondence, a performance evaluation of a corresponding optical system given a set of input design parameters.
PCT/US2019/061866 2018-11-16 2019-11-15 Optical system design WO2020102762A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862768727P 2018-11-16 2018-11-16
US62/768,727 2018-11-16

Publications (1)

Publication Number Publication Date
WO2020102762A1 true WO2020102762A1 (en) 2020-05-22

Family

ID=70731749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/061866 WO2020102762A1 (en) 2018-11-16 2019-11-15 Optical system design

Country Status (1)

Country Link
WO (1) WO2020102762A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312848A (en) * 2021-06-10 2021-08-27 太原理工大学 Intelligent design method of optical system with adaptive target information extraction algorithm as target

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0806694A2 (en) * 1996-05-09 1997-11-12 JOHNSON & JOHNSON VISION PRODUCTS, INC. Neural network analysis for multifocal contact lens design
US20050200809A1 (en) * 2004-02-20 2005-09-15 Dreher Andreas W. System and method for analyzing wavefront aberrations
US7149662B2 (en) * 2004-10-07 2006-12-12 Navitar, Inc. Automated selection of optical systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0806694A2 (en) * 1996-05-09 1997-11-12 JOHNSON & JOHNSON VISION PRODUCTS, INC. Neural network analysis for multifocal contact lens design
US20050200809A1 (en) * 2004-02-20 2005-09-15 Dreher Andreas W. System and method for analyzing wavefront aberrations
US7149662B2 (en) * 2004-10-07 2006-12-12 Navitar, Inc. Automated selection of optical systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312848A (en) * 2021-06-10 2021-08-27 太原理工大学 Intelligent design method of optical system with adaptive target information extraction algorithm as target
CN113312848B (en) * 2021-06-10 2022-10-04 太原理工大学 Intelligent design method of optical system with adaptive target information extraction algorithm as target

Similar Documents

Publication Publication Date Title
US20230252327A1 (en) Neural architecture search for convolutional neural networks
Tuccillo et al. Deep learning for galaxy surface brightness profile fitting
Likhosherstov et al. Polyvit: Co-training vision transformers on images, videos and audio
US20210089845A1 (en) Teaching gan (generative adversarial networks) to generate per-pixel annotation
US10909288B2 (en) Techniques for applying generative design to the configuration of mechanical assemblies
CN110210609A (en) Model training method, device and terminal based on the search of neural frame
CN111406264A (en) Neural architecture search
CN113792768A (en) Hypergraph neural network classification method and device
EP4318313A1 (en) Data processing method, training method for neural network model, and apparatus
CN113228096A (en) Optical correction by machine learning
KR20200060238A (en) Artificial intelligence-based manufacturing part design
Vernardos et al. Quantifying the structure of strong gravitational lens potentials with uncertainty-aware deep neural networks
WO2020102762A1 (en) Optical system design
US11989656B2 (en) Search space exploration for deep learning
CN110728359B (en) Method, device, equipment and storage medium for searching model structure
CN112465737A (en) Image processing model training method, image processing method and image processing device
Robles et al. A deep learning approach to halo merger tree construction
EP4339832A1 (en) Method for constructing ai integrated model, and inference method and apparatus of ai integrated model
CN110705695B (en) Method, device, equipment and storage medium for searching model structure
Pan et al. Deep learning for rectification of radial distortion image
Zheng et al. Adaptive sparse polynomial regression for camera lens simulation
Zafar et al. An Optimization Approach for Convolutional Neural Network Using Non-Dominated Sorted Genetic Algorithm-II.
Meints Deep Learning with Microsoft Cognitive Toolkit Quick Start Guide: A practical guide to building neural networks using Microsoft's open source deep learning framework
Kolhe et al. Modified PLVP with Optimised Deep Learning for Morphological based Road Extraction
Yoshimura et al. Automatic construction of image inspection algorithm by using image processing network programming

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19884632

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19884632

Country of ref document: EP

Kind code of ref document: A1