Small-angle scattering curve deblurring method and device based on machine learning
By using the UNet network model developed through machine learning to restore the original features of the small-angle scattering curve, the ambiguity problem under the unknown instrument point spread function was solved, achieving more thorough de-ambiguity and prediction of the point spread function.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAZHONG UNIV OF SCI & TECH
- Filing Date
- 2024-08-22
- Publication Date
- 2026-08-04
AI Technical Summary
Existing technologies, when the instrument's point spread function is unknown, cannot completely eliminate the ambiguity effect of small-angle scattering curves, thus affecting the data analysis process.
A machine learning-based UNet network model is adopted, including a deblurring UNet network model and a point spread function prediction UNet network model. The original features of the small-angle scattering curve are recovered through convolution operations, and the point spread function is predicted.
Under the unknown point spread function of the system, a more thorough defuzzification process was achieved, restoring the original characteristics of the small-angle scattering curve and predicting the point spread function.
Smart Images

Figure CN119066351B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of small-angle scattering data processing technology, and more specifically, relates to a method and apparatus for deblurring small-angle scattering curves based on machine learning. Background Technology
[0002] Small-angle scattering (SAS) refers to the scattering phenomenon of a sample within a very small angle near the incident light beam. It is caused by nanoscale electron density inhomogeneities within the sample. SAS has become an important tool for studying the submicroscopic structure and morphological characteristics of matter.
[0003] In small-angle scattering (SAS) measurements, the wavelength broadening of the light source, the limited collimation of the collimation system, and the limited spatial resolution of the detector cause a blurring effect in the measured SAS curve, resulting in a peak that is not high and a valley that is not low. This significantly affects subsequent data analysis. The main goal of deblurring is to eliminate this blurring effect caused by the instrument's point spread function (PSF) and restore the original SAS curve characteristics.
[0004] Traditional defuzzing methods are mainly divided into two categories: the first category is iterative estimation methods, which require an accurate point spread function and are an iterative estimation method, resulting in incomplete defuzzing; the second category is direct algorithms based on deconvolution, which, although only require an estimated point spread function, also suffer from incomplete defuzzing.
[0005] The point spread function of an instrument is usually obtained experimentally, which is quite complex. Therefore, how to deblur small-angle scattering data and recover the original characteristics of the small-angle scattering curve when the instrument's point spread function is unknown is an urgent problem to be solved. Summary of the Invention
[0006] To address the shortcomings of related technologies, this application provides a method and apparatus for deblurring small-angle scattering curves based on machine learning, aiming to solve the problem of deblurring small-angle scattering data under the premise of unknown instrument point spread function.
[0007] In a first aspect, embodiments of this application provide a small-angle scattering curve deblurring method based on machine learning, including:
[0008] Obtain the small-angle scattering curve to be deblurred;
[0009] The small-angle scattering curve to be deblurred is input into the pre-trained UNet weight model, and the deblurred small-angle scattering curve is output; the UNet weight model is constructed based on the deblurred UNet network model and the point spread function prediction UNet network model.
[0010] The output deblurred small-angle scattering curve includes:
[0011] Input the small-angle scattering curve to be deblurred into the deblurring UNet network model to generate the deblurring result; input the one-dimensional array consisting of the number of point spread function data points corresponding to the small-angle scattering curve to be deblurred into the point spread function prediction UNet network model to generate the point spread function prediction result.
[0012] Convolution operations are performed based on the deblurring results and the point spread function prediction results to generate the deblurred small-angle scattering curve.
[0013] Secondly, embodiments of this application also provide a small-angle scattering curve deblurring device based on machine learning, comprising:
[0014] The acquisition unit is used to acquire the small-angle scattering curve to be deblurred;
[0015] The deblurring unit is used to input the small-angle scattering curve to be deblurred into the pre-trained UNet weight model and output the deblurred small-angle scattering curve; the UNet weight model is constructed based on the deblurred UNet network model and the point spread function prediction UNet network model.
[0016] The defuzzing unit includes:
[0017] The deblurring UNet module is used to generate deblurring results based on the small-angle scattering curve to be deblurred;
[0018] The UNet module for point spread function prediction is used to generate point spread function prediction results based on a one-dimensional array consisting of the number of point spread function data points corresponding to the small-angle scattering curve to be deblurred.
[0019] The convolution module is used to perform convolution operations based on the deblurring results and the point spread function prediction results to generate deblurred small-angle scattering curves.
[0020] Thirdly, embodiments of this application also provide an electronic device, including: at least one memory for storing a program; and at least one processor for executing the program stored in the memory. When the program stored in the memory is executed, the processor is used to execute the method described in the first aspect or any possible implementation of the first aspect.
[0021] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when run on a processor, causes the processor to perform the method described in the first aspect or any possible implementation thereof.
[0022] Fifthly, embodiments of this application also provide a computer program product that, when run on a processor, causes the processor to perform the method described in the first aspect or any possible implementation thereof.
[0023] The small-angle scattering curve deblurring method based on machine learning provided in this application embodiment utilizes the UNet network to achieve deblurring of the small-angle scattering curve under the premise of unknown point spread function of the system; at the same time, it fully considers the physical formation process of the small-angle scattering curve during the deblurring process, thereby achieving more thorough deblurring, and also realizes the prediction of point spread function while deblurring. Attached Figure Description
[0024] To more clearly illustrate the technical solutions in this application or related technologies, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0025] Figure 1 This is one of the flowcharts illustrating the small-angle scattering measurement data deblurring method based on machine learning provided in this application embodiment;
[0026] Figure 2 This is the second flowchart illustrating the small-angle scattering measurement data deblurring method based on machine learning provided in this application embodiment;
[0027] Figure 3 This is a schematic diagram of the structure of three UNet networks connected in series according to an embodiment of this application;
[0028] Figure 4 This is one of the schematic diagrams of small-angle scattering curves after deblurring provided in the embodiments of this application;
[0029] Figure 5 This is one of the schematic diagrams of the point spread function prediction results provided in the embodiments of this application;
[0030] Figure 6 This is the second schematic diagram of the small-angle scattering curve after deblurring provided in the embodiments of this application;
[0031] Figure 7 This is a second schematic diagram of the point spread function prediction results provided in the embodiments of this application;
[0032] Figure 8 This is a schematic diagram of the structure of the small-angle scattering measurement data deblurring device based on machine learning provided in the embodiments of this application;
[0033] Figure 9This is a schematic diagram of the structure of the deblurring unit provided in the embodiments of this application;
[0034] Figure 10 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0035] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0036] Figure 1 This is one of the flowcharts illustrating the small-angle scattering measurement data deblurring method based on machine learning provided in this application embodiment, such as... Figure 1 As shown, the method includes at least the following steps:
[0037] S101. Obtain the small-angle scattering curve to be de-blurred.
[0038] S102. Input the small-angle scattering curve to be deblurred into the pre-trained UNet weight model and output the deblurred small-angle scattering curve.
[0039] Specifically, given the unknown point spread function of the instrument, machine learning is considered for deblurring small-angle scattering data to recover the original features of the small-angle scattering curve. In this embodiment, UNet is specifically used as the deep learning network.
[0040] UNet is a convolutional neural network architecture for image segmentation, characterized by its U-shaped network structure. The UNet network consists of an encoder and a decoder. The encoder progressively extracts features from the input image and reduces its spatial resolution, while the decoder uses upsampling operations to restore the features to the original input image size and progressively generates the segmentation result. UNet introduces skip connections in the decoder, connecting the feature maps in the encoder to their corresponding feature maps in the decoder. These skip connections help the decoder better utilize feature information at different levels, thereby improving the accuracy and detail preservation of image segmentation. Compared to other deep learning networks, UNet performs exceptionally well with small sample sizes, allowing for training on relatively little labeled data and achieving good results.
[0041] The small-angle scattering (SAS) curve to be deblurred is input into a pre-trained UNet weight model, which outputs the deblurred SOS curve. It should be noted that both the SOS curve to be deblurred input to the UNet weight model and the deblurred SOS curve output refer to the observed SOS curve, which is the result of taking the natural logarithm (ln) of the real or actual SOS curve.
[0042] The UNet weight model is constructed based on the defuzzy UNet network model and the point spread function prediction UNet network model. Accordingly, Figure 2 This is the second flowchart illustrating the small-angle scattering measurement data deblurring method based on machine learning provided in this application embodiment. Figure 2 As shown, S102 specifically includes:
[0043] S201. Input the small-angle scattering curve to be deblurred into the deblurring UNet network model to generate the deblurring result;
[0044] S202. Input the one-dimensional array consisting of the number of point spread function data points corresponding to the small-angle scattering curve to be de-blurred into the point spread function prediction UNet network model to generate point spread function prediction results.
[0045] S203. Perform convolution operation based on the deblurring result and the point spread function prediction result to generate the deblurred small-angle scattering curve.
[0046] Specifically, in S201, the deblurring UNet network model takes the small-angle scattering curve to be deblurred as input and generates the deblurring result based on the small-angle scattering curve to be deblurred.
[0047] Optionally, the deblurring result output by the deblurring UNet model is the actual data after deblurring, i.e., the true small-angle scattering curve. Alternatively, to facilitate the observation of scattering characteristics, the result of taking the natural logarithm of the actual data after deblurring is output, i.e., the deblurred small-angle scattering curve, also known as the observed small-angle scattering curve.
[0048] In S202, the UNet model for point spread function prediction takes a one-dimensional array of point spread function data points corresponding to the small-angle scattering curve to be de-blurred as input, and generates point spread function prediction results based on the one-dimensional array of point spread function data points corresponding to the small-angle scattering curve to be de-blurred.
[0049] Optionally, the point spread function prediction result can be either the Gaussian parameters corresponding to the point spread function or the point spread function itself. The Gaussian parameters corresponding to the point spread function include amplitude, mean (mu), and standard deviation (sigma). The point spread function can be calculated using these Gaussian parameters, specifically satisfying the following calculation formula:
[0050]
[0051] It should be noted that the execution order of S201 and S202 can be interchanged, or they can be executed synchronously.
[0052] Optionally, the UNet weight model also outputs point spread function predictions.
[0053] In S203, based on the deblurring result output by the deblurring UNet network model and the point spread function prediction result output by the point spread function prediction UNet network model, a deblurred small-angle scattering curve is generated through convolution operation.
[0054] Since the physical process of forming the blurred small-angle scattering curve is the convolution of the true small-angle scattering curve with the point spread function, while the actual observed small-angle scattering curve is the result after taking the natural logarithm (ln), S203 does not simply perform a simple convolution operation. The convolution operation process in S203 differs depending on the different situations of the deblurring result and the point spread function prediction result.
[0055] Optionally, if the deblurring result is the deblurred small-angle scattering curve and the point spread function prediction result is the point spread function, then S203 specifically includes:
[0056] The deblurred result is converted to the natural exponent (exp) and then convolved with the point spread function prediction result. The natural logarithm (ln) is then taken to generate the deblurred small-angle scattering curve.
[0057] Optionally, if the deblurring result is the deblurred small-angle scattering curve, and the point spread function prediction result is the Gaussian parameter corresponding to the point spread function, then S203 specifically includes:
[0058] The point spread function is determined based on the Gaussian parameters corresponding to the point spread function. The deblurring result is then convolved with the point spread function by taking the natural exponent (exp) and the natural logarithm (ln) to generate the deblurred small-angle scattering curve.
[0059] Optionally, if the deblurring result is the deblurred true small-angle scattering curve, and the point spread function prediction result is the point spread function, then S203 specifically includes:
[0060] The deblurred result and the point spread function prediction result are convolved and the natural logarithm (ln) is taken to generate the deblurred small-angle scattering curve.
[0061] Optionally, if the deblurring result is the deblurred true small-angle scattering curve, and the point spread function prediction result is the Gaussian parameter corresponding to the point spread function, then S203 specifically includes:
[0062] The point spread function is determined based on the Gaussian parameters corresponding to the point spread function. The deblurring result is convolved with the point spread function and the natural logarithm (ln) is taken to generate the deblurred small-angle scattering curve.
[0063] The small-angle scattering curve deblurring method based on machine learning provided in this application embodiment utilizes the UNet network to achieve deblurring of the small-angle scattering curve under the premise of unknown point spread function of the system; at the same time, it fully considers the physical formation process of the small-angle scattering curve during the deblurring process, thereby achieving more thorough deblurring, and also realizes the prediction of point spread function while deblurring.
[0064] In some embodiments, both the defuzzification UNet network model and the point spread function prediction UNet network model are composed of multiple UNet networks connected in series.
[0065] Specifically, in order to extract deeper curve features, improve the network's expressive power, and enhance robustness, both the defuzzification UNet network model and the point spread function prediction UNet network model require deep network structures. Therefore, both the defuzzification UNet network model and the point spread function prediction UNet network model are composed of multiple UNet networks connected in series.
[0066] For example, both the defuzzification UNet network model and the point spread function prediction UNet network model are composed of three UNet networks connected in series. Figure 3 This is a schematic diagram of the structure of three UNet networks connected in series according to an embodiment of this application, as shown below. Figure 3 As shown, in each UNet network, the input passes through a downsampling region and an upsampling region sequentially. Each layer in the downsampling and upsampling regions is connected by skip connections. In the downsampling region, the input first passes through a one-dimensional convolution with 64 channels, then through a max pooling layer and a one-dimensional convolution with 128 channels, and finally through a max pooling layer and a one-dimensional convolution with 256 channels. In the upsampling region, the input passes through a one-dimensional convolution with 128 channels, then through a max inverse pooling layer and a one-dimensional convolution with 64 channels, and finally through a max inverse pooling layer and a one-dimensional convolution with 1 channel.
[0067] In some embodiments, the point spread function predicts the activation function of the UNet network model as the Softplus function.
[0068] Specifically, to prevent the occurrence of complex numbers and faster network convergence during the subsequent natural exponent calculation, the Softplus function is used as the point spread function to predict the activation function of the UNet network model.
[0069] Taking the point spread function prediction result as the Gaussian parameters corresponding to the point spread function as an example, the Softplus function is used to positively constrain the three values of amplitude, mean, and standard deviation. The specific form of the Softplus function is as follows:
[0070] f(x) = log(1 + e x )
[0071] Here, f(x) is the mathematical expression of the Softplus function, and x is the weighted input of the neuron.
[0072] In some embodiments, the UNet weight model is trained based on the following steps:
[0073] Obtain the small-angle scattering curves of the unblurred and deblurred samples with different sample structures and different point diffusion functions as a training dataset;
[0074] Based on the training dataset, train the defuzzification UNet network model and the point spread function prediction UNet network model respectively;
[0075] The trained UNet weight model is determined based on the trained defuzzy UNet network model and the point spread function prediction UNet network model.
[0076] Specifically, different sample structures can include hard spheres, cylinders, ellipsoids, layered stacked structures, simple cubic crystals, face-centered cubic crystals, etc., and different point spread functions can be obtained by changing the standard deviation of the Gaussian function.
[0077] Small-angle scattering (SAS) curves of the unblurred and deblurred samples with different sample structures and point spread functions were obtained as training datasets. The training datasets were then used to train both the deblurred UNet network model and the point spread function prediction UNet network model, resulting in well-trained UNet weighted models.
[0078] During the training of the deblurring UNet network model, the deblurring result output by the model is compared with the actual deblurred small-angle scattering curve to evaluate the model training performance. Similarly, during the training of the point spread function prediction UNet network model, the point spread function prediction result output by the model is compared with the actual point spread function to evaluate the model training performance.
[0079] In some embodiments, the loss function of the UNet weight model adopts the Mean Squared Error (MSE) loss function, specifically in the following form:
[0080]
[0081] Where N is the number of samples, y i The predicted value of the model. This represents the true label value. Specifically, in some embodiments, two loss calculations are used: one between the output curve of the deblurring module and the input label, and the other between the output curve of the convolution module that generates the actual scattering curve and the input curve of the deblurring module.
[0082] Furthermore, during training, the Adam optimizer is selected, the learning rate is set to 0.0001, and the samples are trained in batches. The loss function is calculated, and the training parameters are continuously updated through the Adam optimizer. During model training, after each epoch, the accuracy of the validation set is calculated. If the current accuracy is greater than the historical best accuracy, the trained label and weight model is saved.
[0083] The training and application process of the UNet weight model proposed in this application will be further illustrated below with a specific example.
[0084] Small-angle scattering curves of the unblurred and deblurred samples with different sample structures and different point diffusion functions are obtained as training datasets. The training dataset is divided into training set and validation set in an 8:2 ratio. The scattering curves of the unblurred samples are input into the deblurred UNet network model.
[0085] Instantiate the network model, inputting the number of data points for the point spread function. Select the Adam optimizer, set the learning rate to 0.0001, and train the samples in batches. The batch size for this training is set to 8, meaning 8 scattering curves are trained per batch. The epoch is set to 1000, and the MSE loss function is calculated for each epoch. The loss value calculated using the MSE loss function is backpropagated to each node, and the training parameters are continuously updated using the Adam optimizer. During model training, after each epoch, the accuracy on the validation set is calculated. If the current accuracy is greater than the historical best accuracy, the trained label and UNet weight model is saved.
[0086] Figure 4 This is one of the schematic diagrams of small-angle scattering curves after deblurring provided in the embodiments of this application. Figure 5 This is one of the schematic diagrams of the point spread function prediction results provided in the embodiments of this application. In one embodiment, the sample structure used is a rigid nanosphere with a diameter of 50 nm. The scattering curve to be deblurred is input into the trained UNet weight model, and the deblurred scattering curve and point spread function prediction results are output, as shown below. Figure 4 and Figure 5 As shown.
[0087] Figure 6 This is the second schematic diagram of the small-angle scattering curve after deblurring provided in the embodiments of this application. Figure 7This is a second schematic diagram of the point spread function prediction result provided in the embodiments of this application. In another embodiment, the sample structure used is a layered stacked structure with 20 layers and a thickness of 100nm. The scattering curve to be deblurred is input into the trained UNet weight model, and the deblurred scattering curve and point spread function prediction result are output, as shown below. Figure 6 and Figure 7 As shown.
[0088] Figure 8 This is a schematic diagram of the structure of the small-angle scattering measurement data deblurring device based on machine learning provided in the embodiments of this application, as shown below. Figure 8 As shown, the device includes at least:
[0089] Acquisition unit 801 is used to acquire the small-angle scattering curve to be deblurred;
[0090] The deblurring unit 802 is used to input the small-angle scattering curve to be deblurred into the pre-trained UNet weight model and output the deblurred small-angle scattering curve; the UNet weight model is constructed based on the deblurred UNet network model and the point spread function prediction UNet network model.
[0091] Figure 9 This is a schematic diagram of the structure of the deblurring unit provided in the embodiments of this application, as shown below. Figure 9 As shown, the deblurring unit 802 specifically includes:
[0092] The deblurring UNet module 901 is used to generate deblurring results based on the small-angle scattering curve to be deblurred;
[0093] The UNet module 902 for point spread function prediction is used to generate point spread function prediction results based on a one-dimensional array of the number of point spread function data points corresponding to the small-angle scattering curve to be de-blurred.
[0094] Convolution module 903 is used to perform convolution operations based on the deblurring results and the point spread function prediction results to generate deblurred small-angle scattering curves.
[0095] In some embodiments, the deblurring result is the deblurred true small-angle scattering curve or the deblurred small-angle scattering curve; the point spread function prediction result is the point spread function or the Gaussian parameter corresponding to the point spread function.
[0096] In some embodiments, the deblurring result is a deblurred small-angle scattering curve, and the convolution module 903 is specifically used for:
[0097] If the point spread function prediction result is a point spread function, then the deblurred result, after taking the natural exponent, is convolved with the point spread function prediction result, and the natural logarithm is taken to generate the deblurred small-angle scattering curve; or,
[0098] If the predicted result of the point spread function is the Gaussian parameter corresponding to the point spread function, then the point spread function is determined based on the Gaussian parameter. The deblurring result is then convolved with the point spread function after taking the natural exponent and the natural logarithm is taken to generate the deblurred small-angle scattering curve.
[0099] In some embodiments, the deblurring result is the deblurred true small-angle scattering curve, and the convolution module 903 is specifically used for:
[0100] If the point spread function prediction result is a point spread function, then convolve the deblurred result and the point spread function prediction result and take the natural logarithm to generate the deblurred small-angle scattering curve; or,
[0101] If the predicted result of the point spread function is the Gaussian parameter corresponding to the point spread function, then the point spread function is determined based on the Gaussian parameter. The deblurring result is then convolved with the point spread function, and the natural logarithm is taken to generate the deblurred small-angle scattering curve.
[0102] In some embodiments, both the defuzzification UNet network model and the point spread function prediction UNet network model are composed of multiple UNet networks connected in series.
[0103] In some embodiments, the point spread function predicts the activation function of the UNet network model as the Softplus function.
[0104] In some embodiments, the weighted model also outputs a point spread function prediction.
[0105] In some embodiments, the UNet weight model is trained based on the following steps:
[0106] Obtain the small-angle scattering curves of the unblurred and deblurred samples with different sample structures and different point diffusion functions as a training dataset;
[0107] Based on the training dataset, train the defuzzification UNet network model and the point spread function prediction UNet network model respectively;
[0108] The trained UNet weight model is determined based on the trained defuzzy UNet network model and the point spread function prediction UNet network model.
[0109] In some embodiments, the damage function of the UNet weight model is the mean squared error loss function, and the optimizer is the Adam optimizer.
[0110] It is understood that the detailed functional implementation of each of the above units / modules can be found in the description of the aforementioned method embodiments, and will not be repeated here. It should be understood that the above device is used to execute the methods in the above embodiments, and the implementation principle and technical effect of the corresponding program modules in the device are similar to those described in the above methods. The working process of the device can be referred to the corresponding process in the above methods, and will not be repeated here.
[0111] Based on the methods described in the above embodiments, this application provides an electronic device. The device may include at least one memory for storing a program and at least one processor for executing the program stored in the memory. When the program stored in the memory is executed, the processor performs the methods described in the above embodiments.
[0112] Figure 10 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application, such as... Figure 10 As shown, the electronic device may include a processor 1001, a communications interface 1002, a memory 1003, and a communication bus 1004, wherein the processor 1001, the communications interface 1002, and the memory 1003 communicate with each other via the communication bus 1004. The processor 1001 can call software instructions in the memory 1003 to execute the methods described in the above embodiments.
[0113] Furthermore, the logical instructions in the aforementioned memory 1003 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to related technologies, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0114] Based on the methods in the above embodiments, this application provides a computer-readable storage medium storing a computer program that, when run on a processor, causes the processor to execute the methods in the above embodiments.
[0115] Based on the methods in the above embodiments, this application provides a computer program product that, when run on a processor, causes the processor to execute the methods in the above embodiments.
[0116] It is understood that the processor in the embodiments of this application can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0117] The method steps in this application embodiment can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can reside in an ASIC.
[0118] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0119] It is understood that the various numerical designations used in the embodiments of this application are merely for the convenience of description and are not intended to limit the scope of the embodiments of this application.
[0120] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A small-angle scattering curve deblurring method based on machine learning, characterized in that, include: Obtain the small-angle scattering curve to be deblurred; The small-angle scattering curve to be deblurred is input into the pre-trained UNet weight model, and the deblurred small-angle scattering curve is output; the UNet weight model is constructed based on the deblurred UNet network model and the point spread function prediction UNet network model. The small-angle scattering curve after deblurring includes: The small-angle scattering curve to be deblurred is input into the deblurring UNet network model to generate the deblurring result; the one-dimensional array consisting of the number of point spread function data points corresponding to the small-angle scattering curve to be deblurred is input into the point spread function prediction UNet network model to generate the point spread function prediction result. Based on the deblurring result and the point spread function prediction result, a convolution operation is performed to generate the deblurred small-angle scattering curve.
2. The method for deblurring small-angle scattering curves according to claim 1, characterized in that, The deblurring result is either the deblurred true small-angle scattering curve or the deblurred small-angle scattering curve. The prediction result of the point spread function is the point spread function or the Gaussian parameter corresponding to the point spread function.
3. The method for deblurring small-angle scattering curves according to claim 2, characterized in that, The deblurring result is the deblurred small-angle scattering curve, and generating the deblurred small-angle scattering curve includes: If the point spread function prediction result is a point spread function, then the deblurring result, after taking the natural exponent, is convolved with the point spread function prediction result, and the natural logarithm is taken to generate the deblurred small-angle scattering curve; or, If the predicted result of the point spread function is the Gaussian parameter corresponding to the point spread function, then the point spread function is determined based on the Gaussian parameter. The deblurring result is then convolved with the point spread function after taking the natural exponent and the natural logarithm is taken to generate the deblurred small-angle scattering curve.
4. The method for deblurring small-angle scattering curves according to claim 2, characterized in that, The deblurring result is the deblurred true small-angle scattering curve, and generating the deblurred small-angle scattering curve includes: If the point spread function prediction result is a point spread function, then convolve the deblurred result and the point spread function prediction result and take the natural logarithm to generate the deblurred small-angle scattering curve; or, If the predicted result of the point spread function is the Gaussian parameter corresponding to the point spread function, then the point spread function is determined based on the Gaussian parameter, and the deblurring result is convolved with the point spread function and the natural logarithm is taken to generate the deblurred small-angle scattering curve.
5. The method for deblurring small-angle scattering curves according to claim 3, characterized in that, The point spread function predicts the activation function of the UNet network model as the Softplus function.
6. The method for deblurring small-angle scattering curves according to claim 1, characterized in that, Both the defuzzing UNet network model and the point spread function prediction UNet network model are composed of multiple UNet networks connected in series.
7. The small-angle scattering curve deblurring method based on machine learning according to claim 1, characterized in that, The weighted model also outputs the prediction results of the point spread function.
8. The method for deblurring small-angle scattering curves according to claim 1, characterized in that, The UNet weight model is trained based on the following steps: Obtain the small-angle scattering curves of the unblurred and deblurred samples with different sample structures and different point diffusion functions as a training dataset; The defuzzy UNet network model and the point spread function prediction UNet network model are trained based on the training dataset, respectively. The trained UNet weight model is determined based on the trained defuzzy UNet network model and the point spread function prediction UNet network model.
9. The method for deblurring small-angle scattering curves according to claim 8, characterized in that, The damage function of the UNet weight model is the mean squared error loss function, and the optimizer used is the Adam optimizer.
10. A small-angle scattering curve deblurring device based on machine learning, characterized in that, include: The acquisition unit is used to acquire the small-angle scattering curve to be deblurred; The deblurring unit is used to input the small-angle scattering curve to be deblurred into the pre-trained UNet weight model and output the deblurred small-angle scattering curve; the UNet weight model is constructed based on the deblurring UNet network model and the point spread function prediction UNet network model. The deblurring unit includes: The deblurring UNet module is used to generate deblurring results based on the small-angle scattering curve to be deblurred; The UNet module for point spread function prediction is used to generate point spread function prediction results based on a one-dimensional array consisting of the number of point spread function data points corresponding to the small-angle scattering curve to be de-blurred. The convolution module is used to perform convolution operations based on the deblurring result and the point spread function prediction result to generate the deblurred small-angle scattering curve.