3D Tiles rendering parameter tuning method

By using the rendering time probability proxy model of random forest and parameter selection in the Cesium rendering framework, combining genetic algorithms and annotated frequency tables, iterative optimization is solved, and the problem of low tuning efficiency of 3D Tiles rendering parameters in the existing technology is solved, and high-quality rendering parameter optimization is achieved.

CN119941951APending Publication Date: 2025-05-06FUJIAN NORMAL UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510011767.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-05
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

The prior art is difficult to effectively tune the 3D Tiles rendering parameters in the Cesium rendering framework, making it difficult to optimize rendering quality and time efficiency.

Method used

A rendering time probability proxy model based on random forest and parameter selection is adopted, combining genetic algorithms and annotated frequency tables, iterative optimization is carried out to optimize rendering parameters.

Benefits of technology

It achieves rapid acquisition of high-quality rendering parameters optimization effects, improves rendering quality and reduces rendering time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119941951A_ABST
    Figure CN119941951A_ABST
Patent Text Reader

Abstract

The invention relates to a 3D Tiles rendering parameter tuning method. The method comprises the following steps: generating a solution set through random uniform sampling; evaluating each solution in the solution set to obtain a corresponding target value, and further constructing an initial sample set; obtaining an optimal solution X * and a target value ov * thereof from the initial sample set; iterative optimization is carried out; a rendering time probability agent model based on random forest and parameter selection is constructed; with the help of a frequency table, a GA algorithm is adopted to optimize an acquisition function, and a candidate solution X * PSM is obtained; performing actual evaluation on the candidate solution to obtain a corresponding target value ovPSM *; comparing ovPSM * with ov *, and if ovPSM * is smaller than ov *, updating (X *, ov *) to (X * PSM, ovPSM *); and after iterative optimization is completed, outputting a globally optimal solution and a target value thereof. The method is beneficial to quickly obtaining a high-quality optimization effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a 3D Tiles rendering parameter tuning method. Background Art

[0002] The Cesium open source organization integrates multiple data types such as oblique photography, 3D building models, point clouds, etc., proposes the concept of 3D tiles, and defines the 3D Tiles standard format with good scalability and cross-platform compatibility. At the same time, based on 3DTiles, the Cesium rendering framework that supports hierarchical display and on-demand loading has been developed. This framework has become a widely recognized Web 3D visualization development library in industry and academia, significantly improving the efficiency and interactivity of 3D data display in the fields of smart city construction, intelligent transportation, and emergency rescue.

[0003] The Cesium rendering framework provides developers with a large number of tunable parameters to improve rendering quality and reduce rendering time. However, these rendering parameters are not only numerous and of different types, but also have complex constraints between parameters. For example: the current 1.124 version of the Cesium rendering framework provides more than 50 parameters, including both parameters with continuous values ​​and parameters with discrete values; in addition to the parameter value range constraints, there is also a conditional constraint that one parameter controls whether multiple other parameters are effective. This makes it difficult to obtain high-quality optimization effects through manual tuning. Although the Cesium rendering framework provides parameter default configurations, it can often only achieve average rendering results. At the same time, very few research works on 3D Tiles rendering parameter tuning have emerged at home and abroad, but due to the complex constraints between parameters, these works often only focus on individual parameters, and there is still a lack of methods for joint tuning of all parameters. Summary of the invention

[0004] The object of the present invention is to provide a 3D Tiles rendering parameter tuning method, which is conducive to quickly obtaining high-quality optimization effects.

[0005] In order to achieve the above object, the technical solution adopted by the present invention is: a 3D Tiles rendering parameter tuning method, comprising:

[0006] In the tuning space Ω, n is generated by random uniform sampling sln candidate solutions and form a solution set slnSet;

[0007] Perform actual evaluation on each solution X in slnSet to obtain the corresponding target value ov; construct the initial sample set sampleSet through all solutions and their target values;

[0008] Get the optimal solution X from sampleSet according to the target value * and its target value ov* ;

[0009] Repeat the following process to iterate and optimize until the longest optimization time t is reached. max :

[0010] First, based on the sample set sampleSet, a rendering time probability proxy model based on random forest and parameter selection is constructed;

[0011] Secondly, with the help of the frequency table FTA, the GA algorithm is used to optimize the acquisition function and obtain candidate solutions

[0012] Next, the candidate solutions Perform actual evaluation and obtain the corresponding target value and will Add to sampleSet;

[0013] Then, compare the candidate solutions Target value and the optimal solution X * The target value of ov * ,if Less than ov * , then the global optimal solution and its target value (X * ,ov * ) is updated to

[0014] After the iterative optimization is completed, the global optimal solution and its target value (X * ,ov * ).

[0015] Furthermore, the tuning space Ω is defined as follows:

[0016] Assume that the n 3D Tiles rendering parameters provided by the Cesium framework are x1, x2, …, x n It is represented by m parameters with continuous values ​​and nm parameters with discrete values, and the corresponding value range constraints are defined by equations (3) and (4) respectively. In addition, the conditional parameter x that takes the value of True or False j It can control whether a set of other parameters are effective. The conditional constraint is defined by formula (5). Based on the value range constraint and conditional constraint, the tuning space Ω of 3D Tiles rendering parameters is defined by formula (6).

[0017]

[0018] Ω={x|X= <x1,x2,…,x n>and safety formula(3),(4)and(5)} (6)

[0019] In formula (3), ISCP and ISDP are the subscript sets of continuous parameters and discrete parameters respectively, and and Represents the continuous parameter x i The lower and upper bounds of the value; in formula (4), dvSet(x j ) represents x j The number of possible j A set of discrete values In ctrledParaSet(x j ) is the conditional parameter x j The parameter set of the control, and isValid(x k |x j ) means that if x is known j Under the conditional parameters, the determination parameter x k Is it a function of validity? In formula (6), X represents a solution in the tuning space Ω;

[0020] Define the objective function as: Given a Cesium application environment cesiumAppEnv, including the application app, the operating platform platform and the 3D Tiles model Model 3DTiles , define the function f render (X, cesiumAppEnv), used to measure the platform, the app loads and renders the model according to the parameter value of solution X 3DTiles the time required;

[0021] The 3D Tiles rendering parameter tuning problem is defined as: searching for the optimal solution X that satisfies equation (7) * :

[0022]

[0023] Furthermore, using the defined function f render Actual evaluation is performed for each solution X in slnSet.

[0024] Further, based on the sample set sampleSet, a rendering time probability proxy model based on random forest and parameter selection is constructed, including two parts: rendering parameter selection based on random forest and creation of a rendering time probability proxy model based on random forest;

[0025] The rendering parameter selection based on random forest is implemented as follows:

[0026] After generating the pre-selected rendering parameter set preSelParaSet, the conditional constraints between the parameters are considered to construct the final selected rendering parameter set selParaSet; specifically, the following steps are included:

[0027] A1) First, based on the sample set sampleSet, a regression model rfRegrModel is constructed using the random forest algorithm; then, based on rfRegrModel and Gini importance, a two-tuple list scoreList = (para, impScore) is obtained, where para and impScore represent rendering parameters and their corresponding importance scores respectively; then, scoreList is sorted from high to low according to impScore, and the top n preSelPara parameters, generate the pre-selected rendering parameter set preSelParaSet;

[0028] A2) First, set the rendering parameter set selParaSet to an empty set, then traverse each parameter x in preSelParaSet, and consider whether it is a conditional parameter or a controlled parameter, and operate on selParaSet according to the following rules:

[0029] If x is the controlled parameter and the conditional parameter corresponding to x is Then let selParaSet∪{x}∪{x k};

[0030] If x is the controlled parameter and x corresponds to the conditional parameter x k ∈acqSampSettmpt, then let selParaSet∪{x};

[0031] If x is a conditional parameter and at least one of x's controlled parameters is k ∈preSelParaSet, then let selParaSet∪{x};

[0032] If x is neither a controlled parameter nor a conditional parameter, let selParaSet∪{x};

[0033] A render-time probabilistic proxy model based on random forests is created, which is implemented as follows:

[0034] Based on the sample set sampleSet and the selected rendering parameter set selParaSet, a new sample set involving only the parameters in selParaSet is generated, and then a rendering time probability proxy model is created using random forest; specifically, the following steps are included:

[0035] B1) for each sample sample(X,ov) in the sample set sampleSet, a new sample newSample(X',ov) is generated; wherein X' only includes the values ​​of the parameters in selParaSet, thereby generating a new sample set newSampleSet from sampleSet and selParaSet;

[0036] B2) Based on newSampleSet, use the random forest algorithm and calculate the number of trees n tree Generate a new regression model newRfRegrModel; Use equations (8) and (9) to construct a probabilistic proxy model PSM;

[0037]

[0038] In formula (8), μ PSM (rfRegrModel,Y) represents the predicted mean of each tree in the random forest for a given solution Y, n tree represents the number of trees in the random forest, r represents the number of each tree, and rfRegrModel.tress(r,Y) represents the predicted value of Y by the rth tree; in formula (9), σ PSM (rfRegrModel,Y) represents the standard deviation of the predicted value of the regression model for a given solution Y.

[0039] Furthermore, the function optimization problem is defined as follows:

[0040] Get the solution space Ω of the function optimization problem Y Defined by formula (10);

[0041]

[0042] In formula (10), selParaSet is the selected rendering parameter set, and n selPara =|selParaSet|;

[0043] Get function f acq Defined by formula (11);

[0044]

[0045] In formula (11), ov * is the current optimal rendering time; μ PSM (Y) and σ PSM (Y) are the mean and variance of the probability proxy model PSM represented by the random forest when predicting the rendering time value corresponding to the solution Y; Φ and φ are the cumulative distribution function and probability density function of the standard normal distribution, respectively; ov * -μPSM (Y) is the average value when predicting the rendering time value corresponding to Y. * potential improvement in is the cumulative distribution function, indicating that the rendering time corresponding to Y is less than ov * The first part of the sum in formula (11) encourages the selection of rendering time with high probability better than (less than) ov * Y to achieve local search; and the second part of the summation in formula (11) recommends that the search rendering time is less than ov * And Y with great uncertainty to achieve global optimization;

[0046] The acquisition function optimization problem is defined as: In the probability proxy model PSM represented by random forest and the solution space Ω defined by formula (10) Y Next, search for the optimal solution Y that satisfies formula (12) * :

[0047]

[0048] Furthermore, with the help of the frequency table FTA, the GA algorithm is used to optimize the acquisition function, which includes two parts: initialization and iterative optimization;

[0049] Initialization, the implementation method is:

[0050] C1) generating an initial acquisition function sample set;

[0051] First, all selected parameters are obtained from the input selected parameters and their importance score list selParImptList and stored in the set selParaSet; then, for each parameter x in paraSet, if x is a continuous parameter, its value range is divided into 10 equidistant intervals, and an integer label from 1 to 10 is assigned to each interval as a discrete value; secondly, each solution Y is generated for the initial population in accordance with the random uniform principle; for each parameter x of Y, a discrete label value labVal is randomly generated, if x is a discrete parameter, labVal is directly assigned to x, otherwise a real number is randomly generated within the value range determined by labVal and assigned to x; then, the acquisition function f defined by formula (11) is used acq Evaluate each solution Y in the initial population and construct the initial acquisition function sample set acqSampSet; finally, sort acqsampSet from large to small according to the acquisition function value, and set the solution corresponding to the optimal acquisition function value as the global optimal solution Y * ;

[0052] C2) generating a discretized acquisition function sample set of a dominant solution;

[0053] First, the median of the acquisition function value in the sample set acqSampSet is found through the binary search method; then, the median is used to filter out the data with acquisition function values ​​higher than the median to form the dominant solution sample set domiAcqSampSet; then, the values ​​of the continuous parameters in domiAcqSampSet are represented by the corresponding label values ​​to generate the discretized acquisition function sample set disDomiAcqSampSet of the dominant solution;

[0054] C3) construct annotated frequency table FTA;

[0055] FTA is implemented using a hash table HT; the key and value of HT are respectively the rendering parameter x and the value list valList={elem|elem=<dv,freq,sav>}; where dv, freq and sav represent the discrete value of x, the frequency of occurrence and the cumulative sum of the corresponding acquisition function values ​​in the solution where domiSampleSet takes the value of dv freq times respectively; the specific construction method of FTA is: create an empty hash table HT, then perform a complete scan on the sample set disDomiAcqSampSet, and update HT with the acquisition function value acqVal of each sample samp(Y,acqVal) and the value dv of each parameter x in Y; process the parameter x in two cases: the first case is that x is not in HT, then generate a new list element newElem=<dv,freq,sav> , where freq = 1, sav = smp.acqVal; then, generate a new list newValList = {newElem}, and add the entry (x, newValList) to HT; the second case is that x is already in HT. In this case, x is used as the key, and the corresponding list valList is obtained from HT. There are two sub-cases for processing; for the sub-case where the value dv of x is not in valList, a new list element newElem =<dv,1,samp.acqVal> , and add newElem to valList; for the sub-case where the value of x dv is in valList, get elem from valList according to dv and then add 1 to elem.freq, and accumulate elem.sav and samp.acqVal;

[0056] Iterative optimization is implemented as follows:

[0057] When the maximum number of iterations is not reached, after performing crossover and mutation on the current population popu(g) to generate a temporary population tempPopu, each solution in tempPopu is evaluated, and solutions are selected from popu(g) and tempPopu to generate the next generation population popu(g+1); on this basis, heuristic mutation is performed on tempPopu based on FTA, and FTA is updated during the iteration process.

[0058] Further, updating the FTA involves four steps:

[0059] First, according to each solution in tempPopu and the corresponding acquisition function value, a temporary acquisition function sample set acqSampSet is constructed. tmpt ;

[0060] Then, extract acqSampSet tmpt The function value obtained in disDomiAcqSampSet is better than the worst sample of the function value, and a temporary advantage solution is generated to obtain the function sample set domiAcqSampSet tmpt ;

[0061] Next, set domiAcqSampSet tmpt Each continuous parameter in the solution Y of each sample is replaced with the corresponding discrete label value according to the value, and a temporary advantage solution can be constructed to obtain the function sample set domiAcqSampSet tmpt ;

[0062] Finally, based on disDomiAcqSampSet tmpt The hash table corresponding to the current FTA is updated according to the same steps as in the FTA construction method except for creating an empty hash table HT.

[0063] Furthermore, based on FTA, heuristic mutation assisted by labeled frequency table is implemented on tempPopu, and the implementation method is as follows:

[0064] Let p selPara (x, ParaImptList) represents the probability that parameter x is selected for mutation under the parameter importance score list paraImptList, and its definition is shown in formula (13);

[0065]

[0066] In formula (13), paraSet is the parameter set, impScore(paraImptList, x) is the function that obtains the importance score of x based on paraImptList;

[0067] Assume that a known parameter x is selected for mutation, dvSet(x) is the set of discrete values ​​that the parameter x can take, occDvSet(x,FTA) is the set of different values ​​of x that appear in the frequency table FTA, p seleDv (x, FTA, dv) represents the probability that x takes dv∈dvSet(x) after mutation under FTA as the heuristic information, which is defined as shown in Equation (14) and Equation (15);

[0068]

[0069] noOccDvSet(x,FTA)=dvSet(x)-occDvSet(x,FTA) (15)

[0070] In formula (15), noOccDvSet represents the set of values ​​of x that do not appear in the frequency table FTA; this set is constructed by taking the difference between the set dvSet(x) and the set occDvSet; in formula (14), p seleDv The calculation considers whether the dv value taken by x is in occdvSet. If so, the value of avgUtil(FTA,x,dv) is obtained. Otherwise, dv is in noOccDvSet. According to the number of values ​​in noOccDvSet, x takes the dv value with equal probability. avgUtil(FTA,x,dv) indicates the proportion of the average utility of dv value obtained based on FTA to the cumulative average utility under various values. According to the frequency freq of x taking dv in FTA and the cumulative acquisition function value sav,

[0071] Compared with the prior art, the present invention has the following beneficial effects:

[0072] (1) The present invention constructs a 3D Tiles rendering parameter tuning problem model. The maximum screen space error parameter is adjusted from a fixed value provided by the Cesium open source organization to a more optimal range, aiming to expand the tuning space, improve rendering quality and reduce rendering time. In addition, the range constraints and conditional constraints of the rendering parameters are further precisely defined, thereby proposing a new 3D Tiles rendering parameter tuning problem model.

[0073] (2) The present invention designs a rendering time probability proxy model based on random forest and parameter selection. The importance of each parameter to the optimization goal is captured by random forest, and the conditional constraints between parameters are fully considered to achieve parameter selection. Subsequently, a high-performance probability proxy model is constructed based on random forest, which effectively improves the optimization quality and reduces the optimization time.

[0074] (3) The present invention proposes an acquisition function optimization method with an annotated frequency table to assist the GA algorithm. In the iterative optimization process, the continuous parameters are discretized, and the frequency of each parameter value in the dominant solution set and the cumulative value of the acquisition function value corresponding to the dominant solution under these frequencies are counted. The annotations are constructed based on these statistical data, and then a frequency table is generated. Further, using this table as heuristic information, a new mutation operation is designed to speed up the entire optimization process and reduce the optimization time. BRIEF DESCRIPTION OF THE DRAWINGS

[0075] Figure 1 It is a flow chart of the implementation of the 3D Tiles rendering parameter tuning method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0076] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.

[0077] It should be noted that the following detailed descriptions are exemplary and are intended to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present application belongs.

[0078] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprise" and / or "include" are used in this specification, it indicates the presence of features, steps, operations, devices, components and / or combinations thereof.

[0079] This embodiment provides a 3D Tiles rendering parameter tuning method, such as Figure 1 As shown, the implementation process of this method includes:

[0080] S1, in the tuning space Ω, generate n by random uniform sampling sln candidate solutions and form a solution set slnSet.

[0081] S2. Perform actual evaluation on each solution X in slnSte to obtain the corresponding target value ov; construct the initial sample set sampleSet = {<X,ov> ||X∈slnSet∧ov=f render (X,cesiumAppEnv)}.

[0082] S3. Get the optimal solution X from sampleSet according to the quality of the target value * and its target value ov * .

[0083] S4, repeat the following process to iterate and optimize until the longest optimization time t is reached max :

[0084] First, based on the sample set sampleSet, a rendering time probability proxy model based on random forest and parameter selection is constructed;

[0085] Secondly, with the help of the frequency table FTA, the GA algorithm is used to optimize the acquisition function and obtain candidate solutions

[0086] Next, the candidate solutions Perform actual evaluation and obtain the corresponding target value and will Add to sampleSet;

[0087] Then, compare the candidate solutions Target value and the optimal solution X * The target value of ov * ,if Less than ov * , then the global optimal solution and its target value (X * ,ov * ) is updated to

[0088] S5. After the iterative optimization is completed, the global optimal solution and its target value (X * ,ov * ).

[0089] Table 1 shows the specific implementation algorithm of this method. It includes two parts: initialization (lines 1-3) and iterative optimization (lines 4-13).

[0090] Table 1 The overall process of the Bayesian optimization method in this paper

[0091]

[0092]

[0093] The relevant technical contents involved in this method are further described in detail below.

[0094] 13D Tiles rendering parameter tuning problem modeling

[0095] The following first explains the determination of the maximum screen space error and its value range, and then gives the definition of the 3D Tiles rendering parameter tuning problem.

[0096] 1.1 Determination of the maximum screen space error and its value range

[0097] Maximum Screen Space Error (MSSE) is an important parameter used to control tile loading in the Cesium rendering framework. It has a significant impact on rendering quality and rendering time. Its unit is pixel, which represents the maximum error between the geometry that can be displayed on the screen and the real geometry in screen space. The smaller the value, the higher the rendering quality.

[0098] The Cesium rendering framework dynamically decides which tiles to load by calculating the screen space error (Screen Space Error, abbreviated SSE) of each tile and comparing it with the set MSSE. When the SSE of a tile is less than or equal to the set MSSE, it means that the accuracy of the current tile is sufficient, and the framework will not load more detailed sub-tiles; otherwise, the framework will load more detailed tiles until the SSE drops below the MSSE or there are no sub-tiles, thereby providing appropriate visual details while maintaining performance.

[0099] The calculation of SSE involves the definition of the geometric error (GE) of tiles in 3D Tiles. In 3D Tiles, each tile is an independent unit that contains information such as geometry, texture, and attribute data. Tiles are usually recursively layered through a block method such as a quadtree or octree, and each layer of tiles corresponds to a different level of detail (LOD). 3DTiles model data starts with a root tile that contains global information and tile references, and is recursively organized into more fine-grained sub-tiles. This hierarchical design enables the rendering framework to dynamically load tile data of different precisions based on viewing distance, camera position, and other factors. The geometric error of a tile refers to the degree of deviation between the representation of geometric objects in the tile and the geometric objects in the real world. In other words, GE is the gap between the geometric data representing the model and the real object. SSE refers to the difference between the geometry displayed on the screen and the real geometry in screen space during the rendering process of the tile. In short, the SSE of a tile is the visual difference of its GE under specific viewing conditions.

[0100] Based on the experimental research of a large number of 3D Tiles models and diverse operating platforms, the Cesium open source organization sets the MSSE to a fixed value of 16, that is, the maximum SSE of a tile cannot exceed 16 pixels. However, the actual Cesium application environment (including applications, operating platforms and 3D Tiles models) varies greatly, and this fixed value can only bring an average good rendering effect.

[0101] Therefore, in order to solve this problem, this paper adjusts MSSE from the default fixed value of 16 to a more flexible range of [0,16]. The purpose of this adjustment is to expand the space for parameter tuning, so that in different Cesium application environments, it can better improve rendering quality and reduce rendering time.

[0102] 1.23D Tiles rendering parameter tuning problem definition

[0103] The definition of the 3D Tiles rendering parameter tuning problem is given below.

[0104] Definition 1 (tuning space): Assume that the n 3D Tiles rendering parameters provided by the Cesium framework are represented by x1, x2, …, x n , which includes m parameters with continuous values ​​and nm parameters with discrete values. Their corresponding value range constraints are defined by equations (3) and (4) respectively. In addition, some conditional parameters x that take values ​​of True or False j It can control whether a set of other parameters are effective. Equation (5) gives the definition of such conditional constraints. Based on the range constraint and conditional constraint, the tuning space Ω of 3D Tiles rendering parameters can be defined by equation (6).

[0105]

[0106] Ω={X|X= <x1,x2,…,x n >and safety formula(3),(4)and(5)} (6)

[0107] In formula (3), ISCP and ISDP are the subscript sets of continuous parameters and discrete parameters respectively, and and Represents the continuous parameter x i The lower and upper bounds of the value of . In formula (4), dvSet(x j ) represents x j The number of possible j A set of discrete values In formula (5), ctrledParaSet(x j ) is the conditional parameter x j The parameter set of the control, and isValid(x k |x j ) means that if x is known j Under the conditional parameters, the determination parameter x k Is it a function of whether it is effective? In formula (6), X represents a solution in the tuning space Ω.

[0108] Definition 2 (objective function): Given a Cesium application environment cesiumAppEnv, including the application app, the operating platform platform and the 3D Tiles model Model 3DTiles , define the function f render (X, cesiumAppEnv), used to measure the platform, the app loads and renders the model according to the parameter value of solution X 3DTiles The time required.

[0109] Definition 3 (Optimization problem) The 3D Tiles rendering parameter tuning problem can be described as: searching for the optimal solution X that satisfies equation (7) * .

[0110]

[0111] 2. Rendering time probability proxy model construction based on random forest and parameter selection

[0112] Table 2 shows the construction algorithm of the rendering time probabilistic proxy model based on random forest and parameter selection. It includes two parts: rendering parameter selection (lines 1-12) and rendering time probabilistic proxy model creation (lines 13-14).

[0113] Table 2 Probabilistic surrogate model construction algorithm based on parameter selection and random forest

[0114]

[0115] 2.1 Rendering parameter selection based on random forest

[0116] After generating the pre-selected rendering parameter set preSelParaSet, the conditional constraints between the parameters are considered to construct the final selected rendering parameter set selParaSet.

[0117] (1) Generate a pre-selected rendering parameter set

[0118] First, based on the sample set sampleSet, the random forest algorithm is used to build the regression model rfRegrModel; then, based on rfRegrModel and Gini importance, a two-tuple list scoreList = (para, impScore) is obtained, where para and impScore represent the rendering parameters and their corresponding importance scores respectively; then, scoreList is sorted from high to low according to impScore, and the top n preSelPara parameters to generate the pre-selected rendering parameter set preSelParaSet.

[0119] (2) Construct the selected rendering parameter set

[0120] The final selected rendering parameter set selParaSet is first set to empty, and then each parameter x in preSelParaSet is traversed, and whether it is a conditional parameter and a controlled parameter is considered, and selParaSet is operated according to the four cases given in the decision table in Table 3.

[0121] Table 3 Decision table for selecting rendering

[0122]

[0123] 2.2 Creation of a Rendering Time Probabilistic Proxy Model Based on Random Forest

[0124] Based on the sample set sampleSet and the selected rendering parameter set selParaSet, a new sample set involving only the parameters in selParaSet can be generated, and then a rendering time probability proxy model can be created by using random forest.

[0125] (1) Generate a new sample set

[0126] For each sample sample(X,ov) in the sample set sampleSet, a new sample newSample(X',ov) is generated. Where: X' only includes the values ​​of each parameter in selParaSet. Thus, a new sample set newSampleSet can be generated from sampleSet and selParaSet.

[0127] (2) Constructing a probabilistic proxy model based on random forest

[0128] Based on newSampleSet, the random forest construction algorithm is used to generate a new regression model newRfRegrModel according to the number of trees ntree. Using equations (8) and (9), it is not difficult to construct a corresponding probabilistic proxy model PSM.

[0129]

[0130] In formula (8), μ PSM (rfRegrModel, Y) represents the predicted mean of each tree in the random forest for a given solution Y (where the parameters are determined by selParaSet), n tree represents the number of trees in the random forest, r represents the number of each tree, and rfRegrModel.trees(r,Y) represents the predicted value of Y by the rth tree. PSM (rfRegrModel,Y) represents the standard deviation of the predicted value of the regression model for a given solution Y, and the other parameters have the same meaning as formula (8).

[0131] 3. Acquisition function optimization method of GA algorithm assisted by labeled frequency table

[0132] The following first gives the definition of the function optimization problem, then explains the process of the genetic algorithm GA for solving this problem, and further explains the heuristic mutation operation in it in detail.

[0133] 3.1 Obtaining the definition of the function optimization problem

[0134] Definition 4 (Solution Space): Obtain the solution space Ω of the function optimization problem Y Defined by formula (10). In formula (10), selParaSet is the selected rendering parameter set, and n selPara =|selParaSet|.

[0135]

[0136] Definition 5 (Get function): Get function f acq The definition of is shown in formula (11). In formula (11), ov * is the current optimal rendering time; μ PSM (Y) and σ PSM (Y) are the mean and variance of the probabilistic proxy model PSM represented by random forest when predicting the rendering time value corresponding to solution Y; Φ and φ are the cumulative distribution function and probability density function of the standard normal distribution.

[0137]

[0138] Among them, ov * -μ PSM (T) is the average value of the rendering time value corresponding to Y. * potential improvement. is the cumulative distribution function, indicating that the rendering time corresponding to Y is less than ov * The first part of the summation in Eq. (11) encourages the selection of rendering times with a high probability of being better than (less than) ov * Y to achieve local search; and the second part of the summation in formula (11) recommends that the search rendering time is less than ov * And Y with great uncertainty to achieve global optimization.

[0139] Definition 6 (Acquisition function optimization problem): The acquisition function optimization problem can be described as: the probability proxy model PSM represented by random forest and the solution space Ω defined by formula (10) Y Next, search for the optimal solution Y that satisfies formula (12) * .

[0140]

[0141] 3.2 GA process for solving function optimization

[0142] Table 4 shows the GA solution process for obtaining the function optimization problem. It includes two parts: initialization (lines 1-10) and iterative optimization (lines 11-20).

[0143] Table 4 GA process for solving acquisition function optimization

[0144]

[0145]

[0146] (1) Initialization

[0147] The main initialization tasks are: generating the initial acquisition function sample set, generating the discretized acquisition function sample set of the dominant solution, and constructing the annotated frequency table FTA.

[0148] 1) Generate the initial acquisition function sample set

[0149] First, all selected parameters are obtained from the input selected parameters and their importance score list selParaImptList and stored in the set selParaSet; then, for each parameter x in paraSet, if x is a continuous parameter, its value range is divided into 10 equally spaced intervals, and an integer label from 1 to 10 is assigned to each interval as a discrete value; secondly, each solution Y is generated for the initial population in accordance with the random uniform principle. For each parameter x of Y, a discrete label value labVal is randomly generated. If x is a discrete parameter, labVal is directly assigned to x, otherwise a real number is randomly generated within the value range determined by labVal and assigned to x; then, the acquisition function facq defined in formula (11) is used to evaluate each solution Y in the initial population, and an initial acquisition function sample set acqSampSet is constructed; finally, acqSampSet is sorted from large to small (from best to worst) according to the acquisition function value, and the solution corresponding to the optimal acquisition function value is set as the global optimal solution Y * .

[0150] 2) Generate a discretized sample set of dominant solutions

[0151] First, the median of the acquisition function value in the sample set acqSampSet is found through the binary search method; then, the median is used to filter out the data with acquisition function values ​​higher than the median to form the dominant solution sample set domiAcqSampSet; then, the values ​​of the continuous parameters in domiAcqSampSet are represented by the corresponding label values, and the discretized acquisition function sample set disDomiAcqSampSet of the dominant solution can be generated.

[0152] 3) Annotated frequency table FTA and its construction

[0153] Although the number of rendering parameters has been reduced after selection, there is still potential influence between the parameters, and it is difficult to clearly determine the utility of each parameter in obtaining the function value. To this end, a frequency table with annotation (FTA) is introduced, and the potential utility of each parameter in obtaining the function value is captured based on disDomiAcqSampSet.

[0154] FTA is implemented using a hash table HT. The key and value of HT are respectively the rendering parameter x and the value list valList = {elem|elem=<dv,freq,sav>}. Where dv, freq, and sav represent the discrete value of x, the frequency of occurrence, and the cumulative sum of the function values ​​obtained in the solution where domiSampleSet takes the value of dv freq times.

[0155] The construction algorithm of FTA is shown in Table 5. After creating the empty hash table HT, perform a complete scan on the sample set disDomiAcqSampSet, and update HT with the acquisition function value acqVal of each sample samp(Y,acqVal) and the value dv of each parameter x in Y. There are two cases for processing parameter x: the first case is that x is not in HT, in which case a new list element newElem=<dv,freq,sav> , where freq = 1, sav = samp.acqVal; then, generate a new list newValList = {newElem}, and add the entry (x, newValList) to HT. The second case is that x is already in HT. In this case, x is used as the key, and the corresponding list valList is obtained from HT. There are two sub-cases for processing. For the sub-case where the value dv of x is not in valList, a new list element newElem =<dv,1,samp.acqVal> , and add newElem to valList. For the sub-case where the value of x dv is in valList, we need to get elem from valList according to dv, then add 1 to elem.freq, and accumulate elem.sav and samp.acqVal.

[0156] Table 5 Algorithm for constructing annotated frequency table

[0157]

[0158] Output: Annotated frequency table FTA represented by hash table

[0159]

[0160] (2) Iterative Optimization

[0161] Similar to the iterative optimization of traditional GA, when the maximum number of iterations is not reached, after performing crossover and mutation on the current population popu(g) to generate a temporary population tempPopu, each solution in tempPopu is evaluated, and a solution is selected from popu(g) and tempPopu to generate the next generation population popu(g+1). There are two differences between the GA in this paper and the traditional GA. One is that the heuristic mutation of tempPopu is implemented based on FTA. The specific operation process will be described in detail in Section 3.3. The other is that FTA is updated during the iteration process.

[0162] Updating FTA mainly consists of four steps: First, based on each solution in tempPopu and the corresponding acquisition function value, a temporary acquisition function sample set acqSampSet is constructed. tmpt ; Then, extract acqSampSet tmpt The function value obtained in disDomiAcqSapSet is better than the worst sample of the function value, and a temporary advantage solution is generated to obtain the function sample set domiAcqSampSet tmpt ; Next, set domiAcqSampSet tmpt Each continuous parameter in the solution Y of each sample is replaced with the corresponding discrete label value according to the value, and a temporary advantage solution can be constructed to obtain the function sample set domiAcqSampSet tmpt ; Finally, based on disDomiAcqSampSet tmpt The hash table corresponding to the current FTA can update the FTA according to the steps in rows 2-19 of the algorithm in Table 5.

[0163] 3.3 Heuristic mutation assisted by annotated frequency tables

[0164] The following first gives the relevant definitions of heuristic mutation, and then explains the specific process of heuristic mutation operation.

[0165] (1) Definition of heuristic variation

[0166] Definition 7 (Probability of parameter variation): Let p selPara (x, paraImptList) represents the probability that parameter x is selected for mutation under the parameter importance score list paraImptList, and its definition is shown in formula (13). In formula (13), paraSet is the parameter set, and impScore(paraImptList, x) is the function that obtains the importance score of x based on paraImptList.

[0167] According to the parameter and its importance score list paraImptList, it is easy to obtain the values ​​of paraSet and impScore(paraImptList,x). And there is always ∑ x∈paraSet impScore(paraImptList,x)=1, and the smaller the importance score of x is, the less important x is, that is, the value of x is important for obtaining the function f acq To enhance the local search capability of the mutation operation, the smaller the importance score of x, the greater the probability that x will be selected for mutation. In other words, the larger (1-impScore(paraImptList,x)), the greater the probability that p selPara (x) is also larger.

[0168]

[0169] Definition 8 (Probability of a mutated parameter taking a discrete value): Let a known parameter x be selected for mutation, dvSet(x) be the set of discrete values ​​that parameter x can take, occDvSet(x,FTA) be the set of different values ​​of x that appear in the frequency table FTA, p seleDv (x, FTA, dv) represents the probability that x takes dv∈dvSet(x) after mutation under FTA as the heuristic information, and its definition is given by Equation (14) and Equation (15).

[0170] In formula (15), noOccDvSet represents the set of values ​​of x that do not appear in the frequency table FTA. This set is constructed by taking the difference between the set dvSet(x) and the set occDvSet. seleDv The calculation considers whether the dv value taken by x is in occDvSet. If so, the value of avgUtil(FTA,x,dv) is calculated. Otherwise, dv is in noOccDvSet. According to the number of values ​​in noOccDvSet, x takes the dv value with equal probability. avgUtil(FTA,x,dv) indicates the proportion of the average utility of dv value obtained based on FTA to the cumulative average utility under various values. According to the frequency freq of x taking dv in FTA and the cumulative acquisition function value sav,

[0171]

[0172] noOccDvSet(x,FTA)=dvSet(x)-occDvSet(x,FTA) (15)

[0173] (2) Operation process of heuristic mutation

[0174] Table 6 shows the heuristic mutation process assisted by annotated frequency tables. It includes three parts: determining whether the solution Y should be mutated (lines 1-2), determining the mutation parameter (line 3), and determining the value of the mutation parameter (lines 4-10).

[0175] Table 6 Heuristic mutation process assisted by annotated frequency table

[0176]

[0177] Output: The mutated solution Y

[0178]

[0179] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0180] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0181] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0182] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0183] The above is only a preferred embodiment of the present invention, and does not limit the present invention in other forms. Any technician familiar with the profession may use the above disclosed technical content to change or modify it into an equivalent embodiment with equivalent changes. However, any simple modification, equivalent change and modification made to the above embodiment according to the technical essence of the present invention without departing from the technical solution of the present invention still belongs to the protection scope of the technical solution of the present invention.

Claims

1. A 3D Tiles rendering parameter tuning method, characterized in that: include: In the tuning space Ω, n is generated by random uniform sampling sln candidate solutions and form a solution set slnSet; Perform actual evaluation on each solution X in slnSet to obtain the corresponding target value ov; construct the initial sample set sampleSet through all solutions and their target values; Get the optimal solution X from sampleSet according to the target value * and its target value ov * ; Repeat the following process to iterate and optimize until the longest optimization time t is reached. max : First, based on the sample set sampleSet, a rendering time probability proxy model based on random forest and parameter selection is constructed; Secondly, with the help of the frequency table FTA, the GA algorithm is used to optimize the acquisition function and obtain candidate solutions Next, the candidate solutions Perform actual evaluation and obtain the corresponding target value ov PSM * , and Add to sampleSet; Then, compare the candidate solutions The target value of ov PSM * and the optimal solution X * The target value of ov * , if ov PSM * Less than ov * , then the global optimal solution and its target value (X * ,ov * ) is updated to After the iterative optimization is completed, the global optimal solution and its target value (X * ,ov * ).

2. A 3D Tiles rendering parameter tuning method according to claim 1, characterized in that: The tuning space Ω is defined as follows: Assume that the n 3D Tiles rendering parameters provided by the Cesium framework are x1, x2, ..., x n It is represented by m parameters with continuous values ​​and nm parameters with discrete values, and the corresponding value range constraints are defined by equations (3) and (4) respectively. In addition, the conditional parameter x that takes the value of True or False j It can control whether a set of other parameters are effective. The conditional constraint is defined by formula (5). Based on the value range constraint and conditional constraint, the tuning space Ω of 3D Tiles rendering parameters is defined by formula (6). Ω={X|X=<x1,x2,…,x n >and safisties formula(3),(4)and(5)} (6) In formula (3), ISCP and ISDP are the subscript sets of continuous parameters and discrete parameters respectively, and and Represents the continuous parameter x i The lower and upper bounds of the value; in formula (4), dvSet(x j ) represents x j The number of possible j A set of discrete values In formula (5), ctrledParaSet(x j ) is the conditional parameter x j The parameter set of the control, and isValid(x k |x j ) means that if x is known j Under the conditional parameters, the determination parameter x k Is it a function of validity? In formula (6), X represents a solution in the tuning space Ω; Define the objective function as: Given a Cesium application environment cesiumAppEnv, including the application app, the operating platform platform and the 3D Tiles model Model 3DTiles , define the function f render (X, cesiumAppEnv), used to measure the platform, the app loads and renders the model according to the parameter value of solution X 3DTiles the time required; The 3D Tiles rendering parameter tuning problem is defined as: searching for the optimal solution X that satisfies equation (7) * :

3. A 3D Tiles rendering parameter tuning method according to claim 2, characterized in that: Apply the defined function f render Actual evaluation is performed for each solution X in slnSet.

4. The 3D Tiles rendering parameter tuning method according to claim 1, characterized in that: Based on the sample set sampleSet, a rendering time probability proxy model based on random forest and parameter selection is constructed, including two parts: rendering parameter selection based on random forest and creation of a rendering time probability proxy model based on random forest; The rendering parameter selection based on random forest is implemented as follows: After generating the pre-selected rendering parameter set preSelParaSet, the conditional constraints between the parameters are considered to construct the final selected rendering parameter set selParaSet; specifically, the following steps are included: A1) First, based on the sample set sampleSet, a regression model rfRegrModel is constructed using the random forest algorithm; then, based on rfRegrModel and Gini importance, a two-tuple list scoreList = (para, impScore) is obtained, where para and impScore represent rendering parameters and their corresponding importance scores respectively; then, scoreList is sorted from high to low according to impScore, and the top N scores are pre-selected. preSelPara parameters, generate the pre-selected rendering parameter set preSelParaSet; A2) First, set the rendering parameter set selParaSet to an empty set, then traverse each parameter x in preSelParaSet, and consider whether it is a conditional parameter or a controlled parameter, and operate on selParaSet according to the following rules: If x is the controlled parameter and the conditional parameter corresponding to x is Then let selParaSet∪{x}∪{x k }; If x is the controlled parameter and x corresponds to the conditional parameter x k ∈preSelParaSet, then let selParaSet∪{x}; If x is a conditional parameter and at least one of x's controlled parameters is k ∈preSelParaSet, then let selParaSet∪{x}; If x is neither a controlled parameter nor a conditional parameter, let selParaSet∪{x}; A render-time probabilistic proxy model based on random forests is created, which is implemented as follows: Based on the sample set sampleSet and the selected rendering parameter set selParaSet, a new sample set involving only the parameters in selParaSet is generated, and then a rendering time probability proxy model is created using random forest; specifically, the following steps are included: B1) for each sample sample(X, ov) in the sample set sampleSet, a new sample newSample(X′, ov) is generated; wherein X′ only includes the values ​​of the parameters in selParaSet, thereby generating a new sample set newSampleSet from sampleSet and selParaSet; B2) Based on newSampleSet, use the random forest algorithm and calculate the number of trees n tree Generate a new regression model newRfRegrModel; Use equations (8) and (9) to construct a probabilistic proxy model PSM; In formula (8), μ PSM (rfRegrModel, Y) represents the predicted mean of each tree in the random forest for a given solution Y, n tree represents the number of trees in the random forest, r represents the number of each tree, and rfRegrModel.trees(r, Y) represents the predicted value of Y by the rth tree; in formula (9), σ PSM (rfRegrModel, Y) represents the standard deviation of the predicted value of the regression model for a given solution Y.

5. The 3D Tiles rendering parameter tuning method according to claim 1, characterized in that: The function optimization problem is defined as follows: Get the solution space Ω of the function optimization problem Y Defined by formula (10); In formula (10), selParaSet is the selected rendering parameter set, and n selPara =|selParaSet|; Get function f acq Defined by formula (11); In formula (11), ov * is the current optimal rendering time; μ PSM (Y) and σ PSM (Y) are the mean and variance of the probability proxy model PSM represented by the random forest when predicting the rendering time value corresponding to the solution Y; Φ and φ are the cumulative distribution function and probability density function of the standard normal distribution, respectively; ov * -μ PSM (Y) is the average value when predicting the rendering time value corresponding to Y. * potential improvement in is the cumulative distribution function, indicating that the rendering time corresponding to Y is less than ov * The first part of the sum in formula (11) encourages the selection of Y with a high probability of rendering time better than (less than) ov* to achieve local search; while the second part of the sum in formula (11) recommends searching for Y with a rendering time less than ov * And Y with great uncertainty to achieve global optimization; The acquisition function optimization problem is defined as: In the probability proxy model PSM represented by random forest and the solution space Ω defined by formula (10) Y Next, search for the optimal solution Y that satisfies equation (12) * :

6. A 3D Tiles rendering parameter tuning method according to claim 5, characterized in that: With the help of the frequency table FTAA, the GA algorithm is used to optimize the acquisition function, including initialization and iterative optimization; Initialization, the implementation method is: C1) generating an initial acquisition function sample set; First, all selected parameters are obtained from the input selected parameters and their importance score list selParaImptList and stored in the set selParaSet; then, for each parameter x in paraSet, if x is a continuous parameter, its value range is divided into 10 equidistant intervals, and an integer label from 1 to 10 is assigned to each interval as a discrete value; secondly, each solution Y is generated for the initial population in accordance with the random uniform principle; for each parameter x of Y, a discrete label value labVal is randomly generated, if x is a discrete parameter, labVal is directly assigned to x, otherwise a real number is randomly generated within the value range determined by labVal and assigned to x; then, the acquisition function f defined by formula (11) is used acq Evaluate each solution Y in the initial population and construct the initial acquisition function sample set acqSampSet; finally, sort acqSampSet from large to small according to the acquisition function value, and set the solution corresponding to the optimal acquisition function value as the global optimal solution Y * ; C2) generating a discretized acquisition function sample set of a dominant solution; First, the median of the acquisition function value in the sample set acqSampSet is found through the binary search method; then, the median is used to filter out the data with acquisition function values ​​higher than the median to form the dominant solution sample set domiAcqSampSet; then, the values ​​of the continuous parameters in domiAcqSampSet are represented by the corresponding label values ​​to generate the discretized acquisition function sample set disDomiAcqSampSet of the dominant solution; C3) construct annotated frequency table FTA; FTA is implemented using a hash table HT; the key and value of HT are respectively the rendering parameter x and the value list valList={elem|elem=<dv,freq,sav>}; where dv, freq and sav represent the discrete value of x, the frequency of occurrence and the cumulative sum of the corresponding acquisition function values ​​in the solution where domiSampleSet takes the value of dv freq times respectively; the specific construction method of FTA is: create an empty hash table HT, then perform a complete scan on the sample set disDomiAcqSampSet, and update HT with the acquisition function value acqVal of each sample samp(Y, acqVal) and the value dv of each parameter x in Y; process the parameter x in two cases: the first case is that x is not in HT, then generate a new list element newElem=<dv,freq,sav> , where freq = 1, sav = samp.acqVal; then, generate a new list newValList = {newElem}, and add the entry (x, newValList) to HT; the second case is that x is already in HT. In this case, x is used as the key, and the corresponding list valList is obtained from HT. There are two sub-cases for processing; for the sub-case where the value dv of x is not in valList, generate a new list element newElem =<dv,1,samp.acqVal> , and add newElem to valList; for the sub-case where the value of x dv is in valList, get elem from vaiList according to dv and then add 1 to elem.freq, and accumulate elem.sav and samp.acqVal; Iterative optimization is implemented as follows: When the maximum number of iterations is not reached, after performing crossover and mutation on the current population popu(g) to generate a temporary population tempPopu, each solution in tempPopu is evaluated, and solutions are selected from popu(g) and tempPopu to generate the next generation population popu(g+1); on this basis, heuristic mutation is performed on tempPopu based on FTA, and FTA is updated during the iteration process.

7. A 3D Tiles rendering parameter tuning method according to claim 6, characterized in that: Renewing an FTA involves four steps: First, according to each solution in tempPopu and the corresponding acquisition function value, a temporary acquisition function sample set acqSampSet is constructed. tmpt ; Then, extract acqSampSet tmpt The function value obtained in disDomiAcqSampSet is better than the worst sample of the function value, and a temporary advantage solution is generated to obtain the function sample set domiAcqSampSet tmpt ; Next, set domiAcqSampSet tmpt Each continuous parameter in the solution Y of each sample is replaced with the corresponding discrete label value according to the value, and a temporary advantage solution can be constructed to obtain the function sample set domiAcqSampSet tmpt ; Finally, based on disDomiAcqSampSet tmpt The hash table corresponding to the current FTA is updated according to the same steps as in the FTA construction method except for creating an empty hash table HT.

8. The 3D Tiles rendering parameter tuning method according to claim 6, characterized in that: Based on FTA, tempPopu is subjected to heuristic mutation assisted by annotated frequency tables. The implementation method is as follows: Let p selPara (x, paraImptList) represents the probability that parameter x is selected for mutation under the parameter importance score list paraImptList, and its definition is shown in formula (13); In formula (13), paraSet is the parameter set, impScore(paraImptList, x) is the function that obtains the importance score of x based on paraImptList; Assume that a known parameter x is selected for mutation, dvSet(x) is the set of discrete values ​​that parameter x can take, occDvSet(x, FTA) is the set of different values ​​of x that appear in the frequency table FTA, p seleDv (x, FTA, dv) represents the probability that x takes dv∈dvSet(x) after mutation under FTA as the heuristic information, which is defined as shown in Equation (14) and Equation (15); noOccDvSet(x,FTA)=dvSet(x)-occDvSet(x,FTA)(15) In formula (15), noOccDvSet represents the set of values ​​of x that do not appear in the frequency table FTA; this set is constructed by taking the difference between the set dvSet(x) and the set occDvSet; in formula (14), p seleDv The calculation considers whether the dv value taken by x is in occDvSet. If so, the value of avgUtil(FTA, x, dv) is obtained. Otherwise, dv is in noOccDvSet. According to the number of values ​​in noOccDvSet, x takes the dv value with equal probability. avgUtil(FTA, x, dv) indicates the proportion of the average utility of dv value obtained based on FTA to the average utility under various values. The function value sav is obtained according to the frequency freq of x taking dv in FTA and the cumulative frequency.