Generating a 3D domain representing a material
The method uses GANs and super-resolution networks to transform 2D images into high-resolution 3D domains, addressing the limitations of 2D and 3D imaging techniques by providing accurate and efficient 3D material representations for analysis.
Patent Information
- Application Number
- PCT/IB2024/000385
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-15
- Publication Date
- 2026-01-22
AI Technical Summary
Existing 2D imaging techniques for materials characterization, such as SEM and TEM, are insufficient for accurately inferring 3D properties like pore structure and conductive material connectivity, leading to sampling errors and stereological effects, while 3D imaging methods like micro/nano-CT face challenges with longer acquisition times, lower image quality, and resolution trade-offs.
A computer-implemented method using generative adversarial networks (GANs) and super-resolution networks to transform 2D images into high-resolution 3D domains, leveraging training datasets and noise sampling to generate accurate and computationally efficient 3D representations of materials.
Generates high-resolution 3D domains that accurately reflect material properties, overcoming computational inefficiencies and resolution gaps, enabling precise analysis of materials like electrolyzer and battery components.
Smart Images

Figure IB2024000385_22012026_PF_FP_ABST
Abstract
Description
[0001] GENERATING A 3D DOMAIN REPRESENTING A MATERIAL
[0002] TECHNICAL FIELD
[0003] The disclosure relates to the field of computer programs and systems, and more specifically to a method, system and program for generating a 3D domain representing a material.
[0004] BACKGROUND
[0005] Materials designed for energy applications, such as batteries and electrolyzers, are essential in renewable energy technologies and sustainability systems, with their performance and characteristics heavily dependent on the micro / nanostructure that is determined by the manufacturing conditions (Liu et al., 2010; Su and Centi, 2013; Zhao and Lei, 2020). Thus, understanding the micro / nanostructure is essential for optimizing the manufacturing process of these materials.
[0006] Two-dimensional (2D) imaging techniques are extensively applied for detailed materials characterization, including cross-section topography, morphology, and compositional analysis (Inkson, 2016; Falsafi et al., 2020; Mahltig and Grethe, 2022). Examples of these techniques include scanning electron microscopy (SEM), Energy- dispersive X-ray Spectroscopy (EDS), and transmission electron microscopy (TEM). The benefits of these 2D techniques include (1) the ability to characterize materials across a range of length scales, from micrometers to nanometers; (2) their accessibility and short acquisition time.; and (3) capturing representative material features based on a large field of view (FOV) Oorschot et al. (2021). These 2D techniques thus provide high-resolution images of a material's cross-section. This ability to visualize materials at such a small scale offers valuable insights into their physical and chemical properties.
[0007] However, an intrinsic shortcoming of the 2D imaging technique is that 2D analysis of 3D properties of materials, such as the pore structure and the conductive material connectivity in electrodes, as well as the wettability of the microporous layer for electrolyzers, could cause sampling errors and stereological effects (Tang et al., 2022). Therefore, 2D imaging techniques are insufficient to infer the 3D properties. Furthermore, many modeling techniques used to analyze and derive material properties typically require 3D input domains to replicate experimental conditions accurately (Samper et al., 2009; O'Sullivan et al., 2022). Under these circumstances, 2D images are insufficient as input domains for such models.
[0008] With 3D imaging techniques, such as micro / nano X-ray Computed Tomography (micro / nano-CT), the 3D structure of the materials can be scanned and obtained in a non-destructive manner (Vasarhelyi et al., 2020; Lu et al., 2020; Wang et al., 2023). However, compared with 2D imaging, 3D images are difficult to obtain, require longer acquisition time (tens of hours), have lower image quality, and face a trade-off between image resolution and FOV, often resulting in an inability to capture the detailed information necessary to fully understand the materials. Therefore, methods that can create 3D domains using 2D images are greatly desirable to overcome the constraints associated with 2D and 3D material characterization.
[0009] Methods of creating 3D domains from 2D images have been approached by the rapid development of deep learning (DL), particularly through the use of generative adversarial networks (GANs) (Creswell et al., 2018). GANs are designed to generate high-quality, realistic images comparable to real images from any given noise vector. A GAN consists of two models: a generator and a discriminator. The generator creates an image similar to the real image, while the discriminator tries to distinguish between actual data and fake data produced by the generator (Goodfellow et al., 2014). Conventional GANs can only handle 2D-2D or 3D-3D image generation.
[0010] SliceGAN, as an advanced GAN-based architecture, was specifically developed for 2D-to-3D image generation, enabling the creation of a 3D domain from 2D training images (Kench and Cooper, 2021). SliceGAN uses a 3D generator to produce a 3D domain. Although SliceGAN can generate 3D domains from 2D images, its primary challenges lie in its computational inefficiency and poor scalability when generating large 3D domains with a large field of view (FOV). A large FOV is desired for capturing the macro-to-micro structures and their relationships, understanding heterogeneities across materials, and analyzing the material's overall behavior and properties (Niu et al., 2020). Due to the use of a 3D neural network for generator, a high demand for graphics processing unit (GPU) memory resources is required for training a neural network such as SliceGAN. For example, for the latest GPU with However, when compared to the typical sizes of 3D micro-CT images and 2D SEM images, which are around 2,0003voxels and 10,0002pixels respectively, a volume of 2563voxels falls significantly short of the representative elemental volume (REV) (Singh et al., 2020) and may be inadequate for capturing the detailed characteristics of materials. It is noted that the most advanced graphics processing unit only has a memory of 80GB.
[0011] The issue of the large resolution gap between 2D and 3D imaging methods is known. The resolution gap between 2D and 3D imaging methods is significantly larger than the range of 4x to 16x. A 2D SEM image can have a resolution down to few nanometres while the highest resolution that a 3D micro-CT image could achieve is around 1 micrometre. Transforming a 2D image into a 3D image, for example by interpolation, can thus generate many unexpected and stochastic features. This can also be computationally inefficient.
[0012] Within this context, there is still a need for an improved solution for generating a 3D domain representing a material.
[0013] LIST OF REFERENCES
[0014] Adams, H., Emerson, T., Kirby, M., Neville, R., Peterson, C., Shipman, P., Chepushtanova, S., Hanson, E., Motta, F., and Ziegelmeier, L. (2017). Persistence images: A stable vector representation of persistent homology. Journal of Machine Learning Research, 18.
[0015] Aktas, M. E., Akbas, E., and Fatmaoui, A. E. (2019). Persistence homology of networks: methods and applications. Applied Network Science, 4(l):l-28. Chung, T., Wang, Y. D., Armstrong, R. T., and Mostaghimi, P. (2019). Approximating permeability of microcomputed-tomography images using elliptic flow equations. SPE Journal, 24(03):1154-1163.
[0016] Creswell, A., White, T., Dumoulin, V., Arulkumaran, K., Sengupta, B., and Bharath, A. A. (2018). Generative adversarial networks: An overview. IEEE signal processing magazine, 35(l):53-65.
[0017] Falsafi, S. R., Rostamabadi, H., Assadpour, E., and Jafari, S. M. (2020).
[0018] Morphology and microstructural analysis of bioactive-loaded micro / nanocarriers via microscopy techniques; clsm / sem / tem / afm. Advances in Colloid and Interface Science, 280:102166.
[0019] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., and Bengio, Y. (2014). Generative adversarial nets. Advances in neural information processing systems, 27.
[0020] Inkson, B. J. (2016). Scanning electron microscopy (sem) and transmission electron microscopy (tern) for materials characterization. In Materials characterization using nondestructive evaluation (NDE) methods, pages 17- 43. Elsevier.
[0021] Islam, M. S. and Fisher, C. A. (2014). Lithium and sodium battery cathode materials: computational insights into voltage, diffusion and nanostructural properties. Chemical Society Reviews, 43(l):185-204.
[0022] Kench, S. and Cooper, S. J. (2021). Generating three-dimensional structures from a two-dimensional slice with generative adversarial network-based dimensionality expansion. Nature Machine Intelligence, 3(4):299-305.
[0023] Ledig C., Theis L., Huszar F., Caballero J., Cunningham A., Acosta A., Aitken A., Tejani A., Totz J., Wang Z., et al. Photo-realistic single image superresolution using a generative adversarial network. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4681- 4690, 2017.
[0024] Liu, C., Li, F., Ma, L.-P., and Cheng, H.-M. (2010). Advanced materials for energy storage. Advanced materials, 22(8):E28-E62.
[0025] Lu, X., Bertei, A., Finegan, D. P., Tan, C., Daemi, S. R., Weaving, J. S., O'Regan, K. B., Heenan, T. M., Hinds, G., Kendrick, E., et al. (2020). 3d microstructure design of lithium-ion battery electrodes assisted by x-ray nano-computed tomography and modelling. Nature communications, ll(l):2079.
[0026] Mahltig, B. and Grethe, T. (2022). High-performance and functional fiber materials— a review of properties, scanning electron microscopy sem and electron dispersive spectroscopy eds. Textiles, 2(2):209-251. McLaughlin, D., Bierling, M., Mayerhbfer, B., Schmid, G., and Thiele, S. (2023). Digital twin of a hierarchical co2 electrolyzer gas diffusion electrode. Advanced Functional Materials, 33(10):2212462.
[0027] Niu, Y., Wang, Y. D., Mostaghimi, P., Swietojanski, P., and Armstrong, R. T. (2020). An innovative application of generative adversarial networks for physically accurate rock images with an unprecedented field of view. Geophysical Research Letters, 47(23):e2020GL089029.
[0028] Obayashi, I., Nakamura, T., and Hiraoka, Y. (2022). Persistent homology analysis for materials research and persistent homology software: Homcloud. Journal of the Physical Society of Japan, 91(9):091013.
[0029] Odena, V. Dumoulin, and C. Olah. Deconvolution and checkerboard artifacts. Distill, l(10):e3, 2016.
[0030] Omrani, R. and Shabani, B. (2017). Gas diffusion layer modifications and treatments for improving the performance of proton exchange membrane fuel cells and electrolysers: a review. International Journal of Hydrogen Energy, 42(47):28515-28536.
[0031] Oorschot, V., Lindsey, B. W., Kaslin, J., and Ramm, G. (2021). Tern, sem, and stem-based immuno-clem workflows offer complementary advantages. Scientific Reports, 11(1):899.
[0032] O'Sullivan, B., O'Sullivan, S., Narayan, T., Shao, H., Patella, B., Seymour, I., Inguanta, R., and O'Riordan, A. (2022). A direct comparison of 2d versus 3d diffusion analysis at nanowire electrodes: A finite element analysis and experimental study. Electrochimica Acta, 408:139890.
[0033] Samper, S., Adragna, P.-A., Favreliere, H., and Pillet, M. (2009). Modeling of 2d and 3d assemblies taking into account form errors of plane surfaces.
[0034] Sandve, T. H., Berre, I., and Nordbotten, J. M. (2012). An efficient multipoint flux approximation method for discrete fracture-matrix simulations. Journal of Computational Physics, 231(9):3784-3800.
[0035] Singh, A., Regenauer-Lieb, K., Walsh, S. D., Armstrong, R. T., van Griethuysen, J. J., and Mostaghimi, P. (2020). On representative elementary volumes of grayscale micro-ct images of porous media. Geophysical Research Letters, 47(15):e2020GL088594.
[0036] Su, D. S. and Centi, G. (2013). A perspective on carbon materials for future energy application. Journal of energy chemistry, 22(2):151-173.
[0037] - Takiyama, A., Teramoto, T., Suzuki, H., Yamashiro, K., and Tanaka, S. (2017). Persistent homology index as a robust quantitative measure of immunohistochemical scoring. Scientific reports, 7(1):1— 9.
[0038] - Tang, K., Da Wang, Y., Mostaghimi, P., Knackstedt, M., Hargrave, C., and Armstrong, R. T. (2022). Deep convolutional neural network for 3d mineral identification and liberation analysis. Minerals Engineering, 183:107592.
[0039] Vasarhelyi, L., Konya, Z., Kukovecz, A., and Vajtai, R. (2020). Microcomputed tomography-based characterization of advanced materials: a review. Materials Today Advances, 8:100084.
[0040] - Wang, Y. D., Meyer, Q., Tang, K., McClure, J. E., White, R. T., Kelly, S. T., Crawford, M. M., lacoviello, F., Brett, D. J., Shearing, P. R., et al. (2023). Large-scale physically accurate modelling of real proton exchange membrane fuel cell with deep learning. Nature Communications, 14(1):745. Zhao, H. and Lei, Y. (2020). 3d nanostructures for the next generation of high-performance nanodevices for electro- chemical energy conversion and storage. Advanced Energy Materials, 10(28):2001460.
[0041] SUMMARY
[0042] It is therefore provided a computer-implemented method for generating a 3D domain representing a material. The method comprises obtaining one or more 2D images each representing a surface of a sample of the material. The method further comprises training a generative network to generate an output 3D domain having slices indiscriminable from downsamples of portions of the one or more 2D images. The method further comprises training one or more super-resolution networks each based on a respective dataset of training samples, each training sample including a respective portion of a 2D image and a downsample of the respective portion. The method further comprises applying the trained generative network to generate an output. The method further comprises applying the trained one or more super- resolution networks to the output, to obtain the 3D domain representing the material.
[0043] In examples:
[0044] - the generative network is a generative adversarial network, and the method comprises sampling a noise, the trained generative network being applied with the sampled noise as input, to generate the output;
[0045] - the downsamples in the training of the generative network and / or each downsample in the training of the one or more super-resolution networks are obtained from an image interpolation;
[0046] - the image interpolation is a bicubic interpolation;
[0047] - the downsamples in the training of the generative network and each downsample of the training of the one or more super-resolution networks are obtained with the same scale factor;
[0048] - the material is isotropic, and in the training of the generative network, the indiscriminable slices are taken across several planes, a single discriminator being trained to discriminate the slices from the downsamples;
[0049] - the material is anisotropic, and in the training of the generative network, the indiscriminable slices are taken across several planes, a respective discriminator being trained per plane to discriminate the slices from the downsamples;
[0050] - the one or more super-resolution networks comprise a first superresolution network and a second super-resolution network, the downsample of the respective portion of each training sample of the respective dataset of the first super-resolution network being obtained from a downsampling on both axis, the downsample of the respective portion of each training sample of the respective dataset of the second super-resolution network being obtained from a downsampling on a single axis;
[0051] - the applying of the trained one or more super-resolution networks to the output comprises: applying the first super-resolution network to each layer of the output taken along a first axis, thereby obtaining a super-resolved output, and applying the second super-resolution network to each layer of the super-resolved output taken along a second axis orthogonal to the first axis, thereby obtaining the 3D domain;
[0052] - the generative network comprises one or more convolutional blocks each including a respective upsampling layer and a convolutional layer; each super-resolution network comprises one or more residual blocks followed by one or more upsampling layers; at least one of the one or more 2D images is a scanning electron microscopy image, an Energy-dispersive X-ray Spectroscopy image, or a transmission electron microscopy image; at least one of the one or more 2D images is a pixelated and / or rectangle image, and / or has a resolution higher than 100 or 25 square nanometers per pixel, and / or is of width larger than 1000 or 5000 pixels and / or of a height larger than 1000 or 5000 pixels;
[0053] - wherein the 3D domain is a voxelated and / or pa ra I lelepi peda I 3D image, and / or has resolution higher than 1000 or 125 cubic nanometers per voxel, and / or is of width largerthan 500 or 1000 voxels, of a depth larger than 500 or 1000 voxels, and / or of a height larger than 500 or 1000 voxels;
[0054] - the method further comprises displaying a graphical representation of the 3D domain, and / or computing at least one physical characteristic of the material based on the 3D domain, such as porosity, permeability, and / or diffusivity;
[0055] - the obtaining of the one or more 2D images comprises obtaining at least one sample of the material and capturing at least one of the one or more 2D images on the at least one sample; and / or
[0056] - the material is a microporous layer material or an electrode material.
[0057] It is further provided a computer-implemented method comprising the above- mentioned obtaining of the one or more 2D images as above; and the above- mentioned training of the generative network. Optionally, such a computer- implemented method may also comprise obtaining one or more SR networks having been trained as discussed above, and the method may further comprise the above- mentioned sampling of a noise, the above-mentioned application of the generative network., and the above-mentioned application of the trained SR networks, to generate a 3D domain.
[0058] It is further provided a computer-implemented method comprising the above- mentioned obtaining of the one or more 2D images; and the above-mentioned training of the one or more SR networks. Optionally, such a computer-implemented method may also comprise obtaining a generative network having been trained as discussed above, and the method may further comprise the above-mentioned sampling of a noise, the above-mentioned application of the generative network, and the above-mentioned application of the trained SR networks, to generate a 3D domain.
[0059] It is further provided a computer-implemented method comprising obtaining a generative network having been trained as discussed above, and obtaining one or more SR networks having been trained as discussed above. The method may further comprise the above-mentioned sampling of a noise, the above-mentioned application of the trained generative network, and the above-mentioned application of the trained SR networks, to generate a 3D domain.
[0060] It is further provided a computer program comprising instructions for causing one or more processors to perform any one or more of the above-mentioned methods.
[0061] The computer program may comprise: instructions for causing the processor to perform the obtaining of the one or more 2D images, instructions for causing the processor to perform the training of the generative network, for example including instructions for generating the dataset respective to the generative network training, or alternatively, including such dataset (having already been generated), instructions for causing the processor to perform the training of the one or more SR networks, for example including instructions for generating each respective dataset respective to an SR network training, or alternatively, including such dataset (having already been generated), and / or instructions for causing the processor to perform the sampling of a noise, the application of the trained generative network, and the trained SR networks, to generate a 3D domain.
[0062] It is further provided a data structure representing the trained generative network and / or the trained one or more SR networks.
[0063] It is further provided a computer readable storage medium having recorded thereon the computer program and / or the data structure.
[0064] It is further provided a system comprising one or more processors coupled to a memory, and optionally a graphical user interface, the memory having recorded thereon the computer program and / or the data structure.
[0065] It is further provided a device comprising a data storage medium having recorded thereon the computer program and / or the data structure.
[0066] The device may form or serve as a non-transitory computer-readable medium, for example on a SaaS (Software as a service) or other server, or a cloud based platform, or the like. The device may alternatively comprise a processor coupled to the data storage medium. The device may thus form a computer system in whole or in part (e.g. the device is a subsystem of the overall system). The system may further comprise a graphical user interface coupled to the processor.
[0067] BRIEF DESCRIPTION OF THE DRAWINGS
[0068] Non-limiting examples will now be described in reference to the accompanying drawings, where:
[0069] FIG. 1 shows a flowchart of an example of the method;
[0070] FIG. 2 shows an example of the system;
[0071] FIG.s 3-14 illustrate examples of the method.
[0072] DETAILED DESCRIPTION FIG. 1 shows an example of the computer-implemented method for generating a 3D domain representing a material. The method comprises obtaining S10 one or more 2D images. Each 2D image represents a surface of a sample of the material. The method further comprises training S20 a generative adversarial network (GAN). The method trains the GAN at S20 such that it is configure to generate, with an input noise, an output 3D domain. The output 3D domain is generated such that it has slices which cannot be discriminated from downsamples of (e.g., obtained from downsampling) image portions, each image portion being of (e.g., extracted from) a respective 2D image among the one or more 2D images obtained at S10. The method further comprises training S30 one or more (e.g., exactly two) super-resolution (SR) networks. Each SR network training is based on a respective dataset of training samples. Each training sample includes a respective portion of (e.g., extracted from) a 2D image and a downsample of (e.g., obtained from downsampling) the respective portion. The method further comprises sampling S40 a noise. The method further comprises applying S50 the trained GAN, with the sampled noise as input, to generate an output. The output may be referred to as a "low-resolution 3D domain". The method further comprises applying S60 the trained one or more SR networks to the output / "low-resolution 3D domain", to obtain the 3D domain representing the material. The 3D domain obtained at S60 may be referred to as a "high resolution 3D domain", as it has a higher resolution than the low-resolution 3D domain, and may be outputted by the method as the generated 3D domain representing the material.
[0073] Such a method forms an improved solution for generating a 3D domain representing a material. In particular, the method provides an advanced machinelearning (e.g., deep learning) solution that allows transforming one or more 2D images into a 3D domain, while also enabling that the generated 3D domain is of adequate size and resolution to accurately reflect the physical and chemical characteristics of the material. Thanks to the GAN trained based on the one or more 2D images representing the material, the method is enabled to generate a 3D domain accurately representative of the material from 2D data. Thanks to the GAN being trained specifically based on downsamples of portions of the one or more 2D images, the method achieves computational efficiency in the transition from 2D to 3D, which is a bottleneck in terms of processor (e.g., GPU) costs. The training S20 and / or applying S50 of the GAN may in particular be performed on one or more processors (e.g., on one GPU) offering a standard memory capacity (e.g., lower than 200GB or 100GB or 50GB), and for a given memory capacity used and / or for a given computing time, each application of the GAN during the training S20 and / or the applying S50 of the GAN may generate a 3D domain representing a relatively large FOV (i.e., a relatively large portion of the material), in particular larger than SliceGAN. Such computational efficiency comes at the cost that the GAN outputs a relatively low- resolution 3D domain. But thanks to the one or more SR networks that have been trained, the method is enabled to increase the resolution of the 3D domain and thereby generate a relatively high-resolution 3D domain, thus representing the material in a more precise and finer manner. As each SR network is trained to increase resolution in a 2D domain, both the input and the output of each SR network being 2D images, each SR network application is relatively fast. The applying S60 may in particular be parallelized. As the SR networks are trained at S30 on training examples including each a respective portion of an original 2D image, the one or more SR networks are enabled to output at S60 a 3D domain of a resolution corresponding to the resolution of the one or more 2D images provided at S10. In other words, each layer or slice of the 3D formation obtained at S60 may form a 2D image having a same resolution as the one or more 2D images.
[0074] The training S20 and / or the training S30 may be performed on GPU and / or in parallel manner. The training S20 and / or the training S30 may comprise generating a number of training examples higher than 100, 1000 or 10000. The training S20 and / or the training S30 may include running threads each based on a respective training example, for example on GPU and / or in parallel. Each thread of the training S20 and / or of the training S30 may involve execution of sub-threads on cells of a 2D gridding (i.e., at S20, voxels of slices of the GAN -as each slice of the GAN's output 3D domain may have a one-voxel thickness- and pixels of downsamples of portions of the one or more 2D images, and / or, at S30, pixels of a respective portion of a 2D image and pixels of the downsample of the respective portion), and the execution of sub-threads may be run on GPU and / or in parallel. The downsampling at S20 thus allows the GAN to cover a larger field of view (i.e., a larger portion of material) for a given computing time and at a given processor capacity / memory.
[0075] The material may be any material which may be studies by generating a representative 3D domain thereof. For example, the material may be a porous (e.g., microporous) material, a permeable material, and / or a conductive material. The material may be an electrolyzer material (i.e., usable in an electrolyzer) or a battery material (i.e., usable in a battery). The material may be a microporous layer material (i.e., usable for forming a microporous layer, for example in an electrolyzer), or a an electrode material (i.e., usable for forming an electrode, for example in a battery). The material may be a porous material, having pores of a size (e.g., in average) lower than 1 micrometer.
[0076] By generating a 3D domain representing a material, it is meant generating a 3D space occupation model of a representative sample of material. The 3D domain may thus be a 3D space occupation model, that is, a data structure specifying the distribution of presence and absence of material, in other words a 3D image representing the porous structure of the material. The 3D domain may thus be a 3D image, for example a binary 3D image or grayscale 3D image. The 3D domain may be voxelated. In other words, the 3D domain may comprise voxels, each having a value representing material presence in the voxel, for example a binary value indicative of whether material is present or absent from the voxel, or alternatively a continuous (e.g., grayscale) value e.g. indicative of a probability of material presence in the voxel or indicative of a density of material presence in the voxel. The 3D domain may present any shape, and for example form a pa ral lelepipeda I shape, such as a cube.
[0077] The one or more 2D images obtained at S10 may comprise images of any type having been captured on a sample of the material. The obtaining S10 of the one or more 2D images may comprise obtaining at least one (physical / real-world) sample of the material and capturing (with a physical / real-world sensing device) at least one (e.g., each) of the one or more 2D images on the at least one sample. Alternatively, the obtaining S10 may comprise retrieving the one or more 2D images from local or remote (e.g., cloud) memory, or receiving the one or more 2D images from a remote computer system. The one or more images provided at S10 may represent a surface of a same (integrally formed) sample of material, or of distinct (separately formed) samples of material. Each image provided at S10 may represent a respective (distinct) surface of material sample (e.g., surfaces of distinct pieces of material or distinct surfaces of a same piece of material).
[0078] Each 2D image obtained at S10 may represent a (substantially) planar surface of a sample of the material, for example a straight-cut and / or machined or polished surface of the sample of the material. The obtaining S10 may optionally comprise the machining or the polishing of the physical sample of the material. The one or more 2D images obtained at S10 may comprise several 2D images, for example two or three, representing surfaces which are (substantially) orthogonal one relative to the other.
[0079] The material may be isotropic. In such a case, the one or more 2D images obtained at S10 may (as an option) consist of a single 2D image, as a single surface of the material sample is sufficient for representing the internal structure (e.g., porosity) of the material in all directions when generating a 3D domain. The material may alternatively be anisotropic. In such a case, the one or more 2D images obtained at S10 may (as an option) consist of several 2D images, for example two or three, for example representing surfaces which are oriented in different directions such as (substantially) orthogonal one relative to the other, as this may improve representing the internal structure (e.g., porosity) of the material in all directions when generating a 3D domain. For example, the material may be an orthotropic material, such as having a rotational symmetry axis and a symmetry plane perpendicular to the rotational symmetry axis. In such a case, the one or more 2D images obtained at S10 may comprise or consist of two 2D images, one 2D image representing a surface of the material sample perpendicular to the rotational symmetry axis, and another one 2D image representing a surface containing or parallel to the rotational symmetry axis.
[0080] Each 2D image obtained at S10 may present a rectangle shape. Each 2D image obtained at S10 may be fully occupied by the represented surface of material sample. Each 2D image may be a binary or grayscale image and / or pixelated image. Each pixel value (e.g., binary or grayscale value) may represent the local porosity of the represented surface of material sample. Each 2D image obtained at S10 may have a resolution higher than 100 or 25 square nanometers per pixel (corresponding to a pixel-length resolution of 10 nanometers, or respectively 5 nanometers). In other words, each pixel represents an area of material surface smaller than 100 nm2or 25 nm2. The larger the area of said material surface, the lower the resolution (in other words, 100 square nanometers per pixel is a lower resolution than 25 square nanometers per pixel). Each pixel may present any shape, for example a square shape. The real-world dimension represented by each square pixel's length may thus be at most 10 nanometers, or at most 5 nanometers, for example equal to 1 nanometer.
[0081] Such "high-resolution" images may be obtained in any manner. The one or more 2D images obtained at S10 may for example comprise one or more scanning electron microscopy (SEM) images, one or more Energy-dispersive X-ray Spectroscopy (EDS) images, and / or one or more transmission electron microscopy (TEM) images.
[0082] Each 2D image obtained at S10 may represent a surface of a size higher than 25 square micrometers, or 100 square micrometers. Each 2D image obtained at S10 may be pixelated, and a rectangle image and of a width larger than 1000 or 5000 pixels, and / or of a height larger than 1000 or 5000 pixels.
[0083] The final "high-resolution" 3D domain generated by the method at S60 may present a resolution higher than 1000 or 125 cubic nanometers per voxel (corresponding to a voxel-length resolution of 10 nanometers respectively 5 nanometers). In other words, each voxel represents a portion of space occupied either with material or with void (i.e., with material's pore) smaller than 1000 nm3or 125 nm3. The larger the volume of said portion, the lower the resolution (in other words, 125 cubic nanometers per voxel is a higher resolution than 1000 cubic nanometers per voxel). Each voxel may present any shape, for example a parallelepipedal e.g. cubic shape. The real-world dimension represented by each cubic voxel's length may thus be at most 10 nanometers, or at most 5 nanometers.
[0084] The final 3D domain obtained at S60 may represent a volume of a size higher than 25 cubic micrometers, or 200 cubic micrometers. The 3D domain obtained at S60 may be voxelated, and form a parallelepiped, e.g. a cube image, of a width larger than 500 or 1000 or 1500 or 5000 voxels, of a depth larger than 500 or 1000 or 1500 or 5000 voxels, and / or of a height larger than 500 or 1000 or 1500 or 5000 voxels, for example more than 1010or 1011voxels in total.
[0085] The 3D domain obtained at S60 may have a resolution corresponding to the resolution of the one or more 2D images provided at S10. For example, the voxellength resolution of the 3D domain (having cubic voxels) may be equal to the (same) pixel-length resolution of the one or 2D images (having square pixels). The 3D domain obtained at S60 may have a volume comparable to the (same) area of the 2D images provided at S10. For example, if the area of each 2D image is D2square unit, then the volume of the 3D domain is higher than D3 / 5 cubic unit and / or lower than D3cubic unit.
[0086] The GAN trained at S20 comprises a generator. The generator of the GAN of the method is specifically configured for generating an output 3D domain based (e.g., solely) on an input noise. The input noise may be sampled in any manner, for example based on a random distribution, such as a normal distribution. The input noise may comprise one (e.g., independently sampled) noise value for each voxel of the 3D domain to be outputted.
[0087] The GAN trained at S20 further comprises one or more discriminators, which are neural networks configured for determining whether a given 3D domain, such as an output 3D domain generated by the GAN's generator, is a real or fake 3D domain. The one or more discriminators learn such discrimination capability based on the one or more 2D images. Specifically, the GAN is trained at S20 such that the output 3D domain has slices which cannot be discriminated (by the one or more discriminators) from downsamples of portions of the one or more 2D images. In other words, the one or more discriminators learn to distinguish output 3D domains provided by the generator from image pieces resulting from processing the one or more 2D images. The training S20 may comprise such processing (at least partly), or alternatively the processing may have been performed beforehand (at least partly). The processing includes extracting (e.g., cropping) portions of the one or more 2D images obtained at S10, and downsampling each portion. The result of such processing is thus a downsample (i.e., the result of the downsampling) of a respective portion of the one or more 2D images. By "slice" of an output 3D domain, it is meant an image piece obtained by extracting (e.g., randomly) a layer or slice of the output 3D domain (e.g., and interpreting each voxel value as a pixel value).
[0088] For any 2D image, each respective portion may be randomly extracted / cropped. In case the material is isotropic and the one or more 2D images comprise several 2D images, for any slice, the 2D image out of which a respective portion is extracted may be randomly selected. In case the material is not isotropic and the one or more 2D images comprise several 2D images oriented in different directions, for a given slice, the 2D image out of which a respective portion is extracted may be selected as one having an equivalent orientation as the slice. By "equivalent orientation", it is meant that the 2D image represents a surface which is symmetric to the slice, relative to the symmetries provided by the anisotropy / orthotropy. In such a case, the 2D images each represent how slices in a respective orientation should be structured (e.g., in terms of material porosity), and the discriminator is constrained to compare such pairs of a 2D image and correspondingly oriented slice.
[0089] Because the training S20 teaches the GAN's generator to fool one or more discriminators trying to discriminate 3D domain's slices with donwsampled versions of 2D image portions, the GAN is eventually configured to generate a donwsampled 3D domain representing the material based on an input noise sampled at S40 (wherein the sampling S40 may be performed in any manner, for example in the same manner as during the training S20 of the GAN and / or based on the same random distribution as during the training S20 of the GAN). In order to obtain a 3D domain of the correct resolution, the method performs at S60 an upsampling (i.e., superresolution) of the output obtained at S50.
[0090] This is enabled by training one or more super-resolution networks for such task, at S30. Namely, the training at S30 of each SR network is performed based on training examples associating an image piece (input) with a super-resolved / upsampled version thereof (ground truth output / prediction). In particular, each training example's input may be a down-sample of a respective portion of a 2D image obtained at S10, and the corresponding piece of the training example may be the original version of said respective portion.
[0091] In case the material is isotropic, and in an option of the training S20, the indiscriminable slices may be taken parallel to a single plane, or alternatively across several planes. In other words, in the latter alternative, the slices may be arranged in several (e.g., perpendicular) directions, that is, each parallel to a respective one among a predetermined set of planes that are not parallel to one another (e.g., and are rather perpendicular one to another), with each plane having at least one taken slice. In such a case, the GAN may comprise a single discriminator trained to discriminate the slices from the downsamples. Since the material is isotropic, a single discriminator can equivalently discriminate slices, whichever the direction.
[0092] In case the material is anisotropic, and in an option of the training S20, the indiscriminable slices may be taken across several planes, i.e. parallel to several (e.g. perpendicular) directions . In such a case, the GAN may comprise a respective discriminator trained per plane (i.e. per direction) to discriminate the slices from the downsamples. Slices parallel to one another are indeed similar, such that crops therein are also similar and can be fed to one dedicated discriminator. Each direction may have its own discriminator. This compartments the discrimination part of the training S20 in an efficient manner, leading to a more powerful GAN (providing more accurate / representative generations).
[0093] The downsamples in the training S20 and / or each downsample in the training S30 of the one or more super-resolution networks may optionally be obtained from an image interpolation, for example a same image interpolation function (so as to ensure consistency and an accurate final result). The image interpolation may for example be the bicubic interpolation. This has been tested to provide valid results.
[0094] Alternatively or additionally, the downsamples in the training S20 and each downsample of the training S30 may (all) may be obtained with the same scale factor. In other words, the same scale factor (i.e. down-sampling factor) may be used to generate the dataset to train the GAN and the dataset(s) to train the SR network(s). Thus, the SR network(s) learn to super-resolve images taking the opposite path of the downsampling involved in the GAN. The one or more 2D images used at S20 and S30 represent a surface of a sample of the same material, for example a surface of the same sample, and optionally at least one (e.g., each) 2D image used at S20 may be also used at S30. Further optionally, at least one (e.g., each) downsample used at S20 may be used at S30.
[0095] FIG. 1 shows the method with an illustrative ordering of the described steps. However, the method may follow any other sequence. For example, the training S20 and the training S30 may be performed in a different order, or in parallel. Also, variants of the method include receiving a pre-trained GAN and / or one or more pretrained SR networks.
[0096] In the example of FIG. 1, the generative network is a generative adversarial network as discussed hereinabove. However, the method may alternatively comprise at S20 training any other type of neural network to generate the output 3D domain, and the training S20 need not be an adversarial training. For applying such trained generative network at S50, the method may or may not sample a noise at S40, to use as input of S50.
[0097] The method may comprise using the 3D domain obtained at S60 in any manner.
[0098] For example, the method may further comprise displaying a graphical representation of the 3D domain. Such a displaying may allow a user to visualize the internal structure of the material, and optionally to graphically interact with the graphical representation (e.g., by performing translations, rotations, and / or zooming-in or out).
[0099] Additionally or alternatively, the method may further comprise computing at least one physical characteristic of the material based on the 3D domain. The at least one physical characteristic may for example comprise porosity, permeability, and / or diffusivity. The computing may include running a simulation on the 3D domain, for example an iterative flow simulation.
[0100] The method may be repeated for several materials, for example to analyze each material and select one among the several materials for a manufacturing process.
[0101] Additionally or alternatively, the method may further comprise manufacturing a physical apparatus based on the 3D domain, for example based on the computed physical characteristic. The method may for example comprise manufacturing a microporous layer (in the material) of an electrolyzer or an electrolyzer having such a microporous layer, or an electrode (in the material) of a battery or a battery having such an electrode.
[0102] The method may optionally comprise repeating steps S40 to S60, thereby obtaining a plurality of 3D domains each representing the same material. In such a case, the method may comprise using all generated 3D domain for visualization and / or physical characteristic computing purposes as above. For example, the computing of the physical characteristic may comprise computing an average of the physical characteristic across the generated plurality of 3D domains.
[0103] The one or more super-resolution networks may comprise (e.g., consist in) a first SR network and a second SR network (e.g., two and only two SR networks). In such a case, the downsample of the respective image portion in each training sample of the respective dataset of the first SR network may be obtained from a downsampling on both axis of the respective image portion, while the downsample of the respective image portion of each training sample of the respective dataset of the second SR network is obtained from a downsampling on a single axis of the respective image portion. Thus, the first SR network is trained to super-resolve an image in both axis, while the second SR network is trained to super-resolve an image in a single axis. This can be combined to retrieve a 3D domain of the right resolution.
[0104] For example, the applying S60 of the trained one or more SR networks to the output of S50 may comprise applying the first SR network to each layer of the output of S50 taken along a first axis. In other words, the output 3D domain of S50 is sliced layer-by-layer along one of its axis, and each slice is interpreted as a 2D image that can be fed (e.g., in parallel threads) to the first SR network. Each 2D image being super-resolved (upsampled), the whole process leads to a stack of super-resolved 2D images (the stack corresponding to the initial layering of the output of S50), said stack being called "super-resolved output" and interpretable as a 3D domain. The applying S60 may then comprise applying the second SR network (e.g., in parallel threads) to each layer of the super-resolved output taken along a second axis, wherein the second axis is orthogonal to the first axis. In other words, the same process as with the first SR network is performed. However, along the second axis, the 2D images already have the correct length in one dimension (thanks to the first SR being trained to super-resolve in both axis of an input image). Thanks to the second SR network being trained to super-resolve in only one axis, the process leads to a final 3D domain having the correct size and resolution.
[0105] In architectural examples of the neural networks, the GAN may comprise one or more convolutional blocks each including a respective upsampling layer and a convolutional layer. This achieves high training efficiency. The one or more convolutional blocks may be configured to extract a shallow intermediate feature, which may then be differentiated as fake or real. This improves the training. Additionally or alternatively, each SR network may comprise one or more residual blocks followed by one or more upsampling layers. This achieves high training efficiency.
[0106] The method is computer-implemented. This means that steps (or substantially all the steps) of the method are executed by at least one computer, or any system alike. Thus, steps of the method are performed by the computer, possibly fully automatically, or, semi-automatically. In examples, the triggering of at least some of the steps of the method may be performed through user-computer interaction. The level of user-computer interaction required may depend on the level of automatism foreseen and put in balance with the need to implement user's wishes. In examples, this level may be user-defined and / or pre-defined.
[0107] A typical example of computer-implementation of a method is to perform the method with a system adapted for this purpose. The system may comprise a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program comprising instructions for performing the method. The memory may also store a database. The memory is any hardware adapted for such storage, possibly comprising several physical distinct parts (e.g. one for the program, and possibly one for the database).
[0108] FIG. 2 shows an example of the system, wherein the system is a client computer system, e.g. a workstation of a user.
[0109] The client computer of the example comprises a central processing unit (CPU)
[0110] 1010 connected to an internal communication BUS 1000, a random access memory (RAM) 1070 also connected to the BUS. The client computer is further provided with a graphical processing unit (GPU) 1110 which is associated with a video random access memory 1100 connected to the BUS. Video RAM 1100 is also known in the art as frame buffer. A mass storage device controller 1020 manages accesses to a mass memory device, such as hard drive 1030. Mass memory devices suitable for tangibly embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks. Any of the foregoing may be supplemented by, or incorporated in, specially designed ASICs (application-specific integrated circuits). A network adapter 1050 manages accesses to a network 1060. The client computer may also include a haptic device 1090 such as cursor control device, a keyboard or the like. A cursor control device is used in the client computer to permit the user to selectively position a cursor at any desired location on display 1080. In addition, the cursor control device allows the user to select various commands, and input control signals. The cursor control device includes a number of signal generation devices for input control signals to system. Typically, a cursor control device may be a mouse, the button of the mouse being used to generate the signals. Alternatively or additionally, the client computer system may comprise a sensitive pad, and / or a sensitive screen.
[0111] The computer program may comprise instructions executable by a computer, the instructions comprising means for causing the above system to perform the method. The program may be recordable on any data storage medium, including the memory of the system. The program may for example be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The program may be implemented as an apparatus, for example a product tangibly embodied in a machine-readable storage device for execution by a programmable processor. Method steps may be performed by a programmable processor executing a program of instructions to perform functions of the method by operating on input data and generating output. The processor may thus be programmable and coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. The application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired. In any case, the language may be a compiled or interpreted language. The program may be a full installation program or an update program. Application of the program on the system results in any case in instructions for performing the method. The computer program may alternatively be stored and executed on a server of a cloud computing environment, the server being in communication across a network with one or more clients. In such a case a processing unit executes the instructions comprised by the program, thereby causing the method to be performed on the cloud computing environment.
[0112] Example implementations of the method are now discussed.
[0113] An advanced deep-learning DL model is provided for large-size efficient 3D domain generation based on 2D imaging techniques. The DL model uses a slice-based GAN as the building block and integrates a dual image rescaling module for rescaling the image size and resolution. This configuration enables the generation of 3D domains at tera-scale (voxel size > 1011) using just a single 24GB of GPU, achieving a capacity that is 1, 000 times larger than the original SliceGAN's capability (voxel size of 108). Generating the 3D domain of materials at the tera-scale is beneficial both for understanding the materials' micro / nanostructure across large FOV and for providing the necessary domains for modeling the materials' properties (Wang et al., 2023).
[0114] The method was applied and validated on two widely used energy-related materials: a microporous layer from a CO2electrolyser and an electrode from a battery. For each type of material, two SEM images at different planes were scanned and used for training the DL model. The SEM images for the microporous layer were captured at a pixel-length resolution of 1.7 nm, while those for the electrode are obtained at 30 nm pixel-length resolution. Meanwhile, for validation purposes, a Focused Ion Beam Scanning Electron Microscope (FIB-SEM) image which performs serial sectioning on the materials to construct a 3D SEM was generated for both materials. This unseen 3D FIB-SEM image was used to validate the physical accuracy of generated 3D domains. Once trained and validated, these models enabled the generation of limitless tera-scale 3D domains. The method may thus incorporate any of these features.
[0115] Such large and high-resolution domains allow one to investigate the various distributions of nano-features over several millimeters, such as cracks on the solid in the electrode and the pore distribution of the microporous layer. Exploring these features from images is beneficial for gaining insights into the materials and optimizing their structures throughout the manufacturing process (McLaughlin et al., 2023; Wang et al., 2023).
[0116] Referring to FIG. 3, the proposed generation may in examples consist of a slicebased GAN module and a dual rescaling module. The slice-based GAN module generates 3D domains from 2D SEM, and the dual image rescaling module superresolves the generated 3D domain at both the X-Y plane and Z plane to a large size with the same resolution as the original SEM image. The figure shows in detail the training and inference procedure of the proposed approach: (a) the slice-basd GAN training procedure; the 2D SEM image used to train the SliceGAN is downsampled from the original SEM image with a specific scale factor (sf); (b) the dual rescaling model training procedure, including two SR networks for X-Y plane and Z-plane image SR; (c) the inference procedure of DR-SliceGAN for generating large 3D domains with the same resolution as original SEM image.
[0117] As shown on FIG. 3(a), the slice-based GAN module is composed of a 3D generator (G) and a 2D discriminator (D). To train G, a 3D noise following a Gaussian distribution is fed to G to generate a fake 3D domain. Slices taken from each (X-Y, X-Z, Y-Z) of the fake domain are input to D to differentiate between the same number of instances cropped from real 2D images. At S20, G is thus trained to create fake 3D domains with slices similar to real SEM. Simultaneously, D is trained to distinguish between fake slices and real images. This continued competition between G and D enables the G to produce high-quality realistic 3D domains. Rather than using original SEM images directly for training the slice-based GAN, the method may first use bicubic interpolation to downsample the SEM image to a lower-resolution SEM (LR-SEM) at a specific scale factor (sf). This LR-SEM is then used to train at S20 a slicebased GAN, enabling it to produce for example at S50 a 3D domain that, while at a lower resolution, covers a large FOV. It is noted that in the case of isotropic materials, such as a microporous layer, a single D may be sufficient to differentiate the slices across three planes. For anisotropic materials, the method may select (e.g., userselection) multiple Ds for differentiating three planes.
[0118] As shown on FIG. 3(b), the dual rescaling module may contain two superresolution (SR) networks for X-Y plane SR and Z plane SR. Initially, the original SEM image is downsampled along both the X-axis and Y-axis using the same scale factor (sf) utilised by the slice-based GAN module. Following this, the X-Y plane SR network is trained at S30 to enhance the resolution of this downsampled SEM image to the original SEM image. Moreover, the original SEM image undergoes downsampling only on the X-axis, again using the same sf as the slice-based GAN module. The Z plane SR network is then trained at S30 to super-resolve this partialdownsample SEM to the resolution of the original SEM image.
[0119] As shown on FIG. 3(c), when training is finished, any number of 3D domains can be generated at S50 by the slice-based GAN and then super-resolved at S60 to the SEM resolution and FOV by these two SR networks.
[0120] Examples of the method thus provide a technique to achieve large size (terascale with voxel size larger than 10All) 3D volume generation from 2D image through the use of deep neural network. The method provides a workflow using image coarsening and super-resolution to surpass the memory limitation for large size 3D volume generation from 2D image. Rather, by combining it with any existing 2D to 3D image generation (e.g., GAN), any large 3D volumes can be generated by training once using one or few 2D images (e.g., SEM).
[0121] The workflow may in examples of implementations involve any one or more (e.g., all) the following steps:
[0122] 1. Generating 2D images using 2D imaging techniques for any representative cross-sections of the material. These images may be captured at a resolution high enough to capture the material's features.
[0123] 2. These 2D images are then coarsened using any image interpolation method (e.g., bicubic interpolation) with an ideal scale factor for both their width and length. This step aims at decreasing the 2D image size while preserving the characteristics of the image. A first image super-resolution network is trained using the 2D image (obtained in step.l) and the coarsened 2D image (obtained in step.2). After training, the network can be used to enhance the resolution from the coarsened 2D image to the original 2D image. These 2D images are then coarsened using any image interpolation method (e.g., bicubic interpolation) with an ideal scale factor for either their width or length. Different from step.2, this step aims at creating a second coarsened 2D image, coarsened only for one-axis. A second image super-resolution network is trained using the 2D image (obtained in step.l) and the coarsened 2D image (obtained in step.4). After training, the network can be used to enhance the resolution from the one-axis coarsened 2D image to the original 2D image. A 2D to 3D image generation network is trained using just the coarsened 2D image (obtained in step.2). This network learns to create a 3D volume using the information from 2D image from a 3D random noise (for example as sampled at S40). Once all networks are trained (in step.3, 5, 6), they can be used to generate any large size 3D volumes. The process may comprise providing a 3D random noise at S40 to the 2D to 3D image generation network (of step. 6), as a result of which a coarsened 3D volume is generated at S50 . This coarsened 3D volume is passed to the first super-resolution network at S60 (step. 3) to enhance the x-y plane to match that of the original 2D image (obtained in step.l). The output from the first super-resolution network is then passed at S60 through the second super-resolution network (step. 5) to enhance the resolution of the third axis to match the resolution of the original 2D image. The output from the second superresolution network is the final large scale 3D volume. Any number of large size 3D volumes can be generated by repeating the above process. In conclusive tests of which the method may incorporate any combination of features, regarding the training schedule, two materials were trained (separately, i.e., two independent tests were run) using four SEM images in total (two per test): two images at X-Y and X-Z planes for the microporous layer, and two images at X-Y and X-Z planes for the electrode. These SEM images were downsampled to LR-SEM as well as downsampled along the X-axis to produce partial-downsample SEM images. For each material, a total of 12,000 patches of size 224x224 were randomly cropped from two LR-SEM images to train the SliceGAN module. Concurrently, 4,000 paired patches were randomly cropped from LR-SEM images, partialdownsample SEM images, and original SEM images with a size of 32x32, 32sfx32, and 32sfx32sf, respectively. The GAN model was trained for 150 epochs with an initial learning rate of 1 x 10“4and batch size of 16 using an Adam solver. The dual rescaling model was trained for 100 epochs with an initial learning rate of 6 x 10“5and batch size of 16 using an Adam solver. The learning rates for both modules was reduced by a factor of 0.5 each time until the loss reaches a plateau for 8 epochs. The training was carried out in PyTorch, using an Nvidia RTX 4090 GPU and an AMD 5950X CPU with 128 GB of RAM. Each epoch for the SliceGAN module roughly took 12 minutes, a total of approximately 30 hours for all 150 epochs, while for the dual rescaling module, each epoch roughly took 8 minutes, and this time was doubled as both X-Y plane and Z plane SR were be trained. Therefore, a total of approximately 26 hours was spent for all 100 epochs.
[0124] The primary factor enabling DR-SliceGAN to generate large domains is the implementation of the image-rescaling technique. Given that the material's features span specific length scales, the largest rescaling factor exists that enables the maximum downsampling of the image while still preserving most of the features. Hence, the maximum rescaling factor for a specific material must be determined upfront.
[0125] Further examples are now discussed.
[0126] Persistent homology
[0127] Persistent homology (PH) is a topological data extraction tool that provides a means to measure topological features in an image over all length scales by a growing filtration process (Aktas et al., 2019). During filtration, topological features esmerge (known as "birth") and subsequently merge (known as "death"), and the range from "birth" to "death" is known as the "persistence" of a feature. In conclusive tests of which the method may incorporate any combination of features, the open-source software Homcloud (Obayashi et al., 2022) was used to perform bitmap filtration of cubical complexes derived from 8-bit 2D images (Takiyama et al., 2017). The result of the filtration gave all features as paired birth-death values, which were visualized in persistent diagrams (PD). PD was then vectorized into persistent image (PI) (Adams et al., 2017). The feature similarity could then be measured by calculating the LI distance between the Pls between two images with any pixel sizes. The described steps can be found in FIG. 12, which is discussed later. A high LI distance suggests significant dissimilarity in features between the two images, whereas a low LI distance implies that the features of these two images are closely similar.
[0128] Effective Diffusivity
[0129] The method may comprise using the generated 3D domain(s) to compute effective diffusivity.
[0130] Diffusivity is crucial in various materials research, especially in electrolyzer and battery techniques (Islam and Fisher, 2014; Omrani and Shabani, 2017; Lu et al., 2020; McLaughlin et al., 2023). This parameter influences the flow of substances (gas and liquid) through the porous media, affecting the overall performance of devices.
[0131] The method may calculate the effective diffusivity by solving an elliptic diffusion equation on the pore space of the 3D domains (Chung et al., 2019). This may be calculated on the generated 3D domains as well as the FIB-SEM image for both the microporous layer and electrode.
[0132] The conservation of mass can be expressed as:
[0133] V ■ v — q (1) where v is the diffusive velocity field, and q represents the source or sink term, which is assumed to be zero herein. A local diffusion coefficient D is assigned on each voxel, that relates the local diffusion velocity to the concentration gradient as: v = - VC (2) where C is the concentration. Combining Equations 1 and 2 gives the Diffusion Equation:
[0134] -V ■ ( VC) = 0 (3)
[0135] This equation may be solved with prescribed constant concentration (Dirichlet) boundary conditions on the inlet and outlet by using Two Point Flux Approximation (TPFA) (Sandve et al., 2012) and Finite Volume Methods with an Algebraic Multi-Grid (AMG) solver (?). All solid voxels may be removed from the system of equations, resulting in a smaller system matrix. Once the spatial concentration distribution and diffusion velocity profile are calculated, the effective diffusivity is estimated from:
[0136] The length of the system is expressed as the number of voxels multiplied by the pixel-length resolution of the image / ?. The number of voxels in the main flow direction is shown as / Vx, JD is the overall diffusion flow rate, AC is the concentration difference across the domain, imposed as boundary conditions.
[0137] Downsampling sf Selection using PH
[0138] Choosing a sf for downsampling images of different materials may be performed in a specific manner, such that the s / ensures that 3D domains generated by method on downsampled images can maintain the largest FOV at SEM resolution while minimizing the loss of the material's features.
[0139] FIG. 4 (a) and (b) show the LI distance between Pls of an SEM image at the original resolution and sequentially downsampled images using bicubic interpolation for microporous layer and electrode. Dim 0 and Diml refer to the ID features (connected components) and 2D features (holes), detailed description can be found (Aktas et al., 2019). The LI distance increases with decreasing image size, showing that features are disappearing with the increase of downsampling sf. However, in all cases, a plateau is observed for a certain range of image size (such as 8000 to 1000 for the microporous layer), indicating that features are resolved and the PH remains relatively stable in this range.
[0140] As shown on FIG. 4. (a), for the microporous layer, an image size ranging from 8000 to 1000 pixels with a scaling factor sf between 1 and 8 represents the range within which features are well-preserved. Conversely, an image size between 1000 and 500 pixels with an sfof 8 to 16 falls into the category where features are poorly preserved. Sizes smallerthan 500 pixels with an s / exceeding 16 are within the range where most features are lost. The method may implement a maximum sf of 16 for the microporous layer to showcase the potential of the proposed approach.
[0141] FIG. 4(c) presents a visual examination of images for the microporous layer that have been sequentially downsampled. A highlighted image with 500x500 pixels is the image (s / of 16 and image pixel-length resolution of 27.2nm) employed in the subsequent training.
[0142] As shown on FIG. 4. (b), additionally, for the electrode, an image size ranging from 2200 to 440 pixels with a scaling factor (sf) between 1 and 5 represents the range within which features are well-preserved. Conversely, an image size between 440 and 275 pixels with an sf of 5 to 8 falls into the category where features are poorly preserved. Sizes smallerthan 275 pixels with an sf exceeding 8 are within the range where most features are lost. Similarly, a sf of 8 is chosen to achieve maximum downsampling while retaining the largest FOV.
[0143] FIG. 4(d) shows a visualization of images for the electrode that have been sequentially downsampled to 16x16. A highlighted image with 275x275 pixels is the image (sf of 8 and image pixel-length resolution of 240nm) employed in the subsequent training of the method.
[0144] 3D Large Domain Generation
[0145] FIG. 5 shows 3D large domain generation using the method for (a) microporous layer; (b) electrode. From left to right, the original SEM images at two planes for training, a 3D visualization of the generated domain, and two examples of slices through an example volume taken at different planes.
[0146] With the training of the method using the two SEM images for each material, the method can generate large 3D domains, as shown in FIG. 5. The first column shows the 2D training SEM images at two planes. The second column shows an example of a generated 3D domain. The third and fourth column shows the slices of the 3D domain at X-Y and X-Z planes. Using a training patch size of 224x224 and a sfof 16 for the microporous layer, the method may generate a voxel size of 35843 at a voxel-length resolution of 1.7nm. The generated 3D domain and the 2D slices visually show the same micro / nanostructure of the microporous layer in SEM images, where micropores and nanopores are uniformly presented and extensively interconnected. Meanwhile, with the same training patch size and a different sf of 8 for the electrode, the method may generate a voxel size of 17923 at a voxel-length resolution of 30nm. The same features can be visually observed for the electrode in the 3D domains and 2D SEM images. Specifically, in both 3D domain and 2D SEM images, large pores between solid particles are uniformly distributed with similar shapes. The thin cracks within the solid particles are also captured by the method and presented in the generated 3D domain. 3D domains for both materials achieve a comparable FOV as their SEM images. Detailed visualizations of example slices across three planes for the microporous layer and electrode can be found in FIG. 13 and FIG. 14.
[0147] FIG. 6 shows visualization of outputs from the prior art SliceGAN module and dual rescaling module in the method (a) LR 3D domain for the microporous layer, (b) X-Y plane super-resolved domain, (c) Z plane super-resolved domain as final output, (d) 2D magnified region of LR 3D domain for the microporous layer, (e) 2D magnified region of X-Y plane super-resolved 3D domain, (f) 2D slice of the X-Z plane of X-Y plane super-resolved 3D domain, (g) 2D slice after Z-plane super-resolved, (h) LR 3D domain for the electrode, (i) X-Y plane super-resolved domain, (j) Z plane super-resolved domain as final output, (k) 2D magnified region of LR 3D domain for the electrode. (I) 2D magnified region of X-Y plane super-resolved 3D domain, (m) 2D slice of the X-Z plane of X-Y plane super-resolved 3D domain, (n) 2D slice after Z-plane super-resolved
[0148] The dual rescaling process of super-resolving LR 3D domain generated from the SliceGAN module to a larger scale is shown in FIG. 6. For both materials, starting with an input noise dimension of 283, the SliceGAN module generates an LR 3D domain expanded to a size of 2243(FIG. 6 (a) and (h)). By Passing the LR 3D domain to the first SR network, the X-Y plane of the LR 3D domain is super-resolved to the original SEM scale (FIG. 6 (b) and (i)). Magnified regions in the X-Y plane for the microporous layer and electrode are provided in FIG. 6 (d)-(e) and (k)-(l). It can be found that features, such as edgewise sharpness for nanopores in the microporous layer and cracks in the electrode, are effectively recovered. The perceptual quality of the image is also enhanced to a degree that matches the standard of 2D SEM images. The X-Y plane super-resolved domain is then passed to the second SR network for Z plane SR (FIG. 6 (c) and (j)). FIG. 6(f)-(g) shows an example of this partial SR for the microporous layer where the Z-axis of the image undergoes SR with a sf of 16, whereas the X-axis remains unchanged. Similar to the electrode, the Z-plane slices of the X-Y plane super-resolved domain are fed to the second SR network for SR with a sf of 8. Eventually, a 3D large domain with a size of 35843for the microporous layer and 17923for the electrode can be obtained.
[0149] Examples of network architecture and training schedule are now discussed.
[0150] The model used by the method contains a 2D-3D generator for 3D domain generation using 2D slices and two super-resolution networks, as shown in FIG. 7 and FIG. 8. The original prior art SliceGAN model is successful in dealing with labeled images, while challenging in grayscale image generation. The method's 2D-3D generator is adapted so that it can generate high-quality grayscale images. The method firstly uses upsampling layers with the nearest neighbor upsample model to replace transposed convolutional layers at each convolutional block in the generator part. This effectively avoids the checkerboard artifact for grayscale image generation. A different combination of kernel, stride, and padding size (k=3, s=l, p=l) may be used in each 3D convolutional layer. Additionally, for the discriminator, a similar architecture may be used as the original SliceGAN, however, instead of identifying the final output as fake or real, a shallow intermediate feature is also extracted at the third convolutional layer and differentiated as fake or real (FIG. 7 (b)). This change not only contributes to the more stable training of the discriminator but also helps in training the generator to produce images with realistic features, both shallow and deep. A standard Mean Square Error loss (MSEIoss) function may be used to calculate the distance between discriminator outputs and the target values of 0 and 1.
[0151] The SR network in the dual rescaling module may be an SRGAN architecture using a series of residual blocks, as shown in FIG. 8.
[0152] FIG. 8. (a) shows the SR generator architecture, which may consist of five residual blocks followed by a series of upsampling layers. In each upsampling layer for X-Y plane SR, the nearest neighbor method may be used with a scale factor of (2,2). For instance, to achieve an 8x SR enhancement, three upsampling layers may be used, whereas a 16x SR task may require the application of four upsampling layers. For Z plane SR, a scale factor may be set to (2,1) which performs partial SR. An MSE loss is applied to reduce the pixel-wise differences between the superresolved image and the real SEM image. Meanwhile, the super-resolved image as well as the real SEM image may be fed to a discriminator for improving the perceptual quality of the super-resolved image. Similar to discriminator training in 2D-3D network, MSEIoss may be used to calculate the distance between discriminator outputs and the target values of 0 and 1.
[0153] FIG. 9 shows a perceptual validation of the generated 3D domains compared with the SEM image for (a) microporous layer (b) electrode.
[0154] In reference to FIG.s 10-11, a physical validation of the model (GAN + SR networks, referred to as "SurVol") was performed on a microporous layer using two parameters that are highly related to the materials performance: (1) Pore size distribution (PSD); (2) Porosity and permeability relationship. The model for microporous layer generation was trained on two 2D SEM slices at two planes. Four 3D FIB-SEM images of the microporous layer were used as a validation data, including a 5nm resolution FIB-SEM, and three lOnm resolution FIB-SEM. Two 3D domains were generated using the model with different input random noises and the physical parameters were computed. The PSD result is shown in FIG. 10, while the porosity and permeability relationship are shown in FIG. 11.
[0155] FIG. 10 shows the pore size distribution of the microporous layer calculated from the FIB-SEM images and the SurVol generated domains. FIG. 11 shows the permeability (left) and porosity (right) of the microporous layer calculated from the FIB-SEM images and the SurVol generated domains.
[0156] The computation efficiency was tested and compared on the original SliceGAN and the proposed method's model ("SurVol") in both training and inference stages. Both models were implemented on a local workstation which contained a RTX4090 graphics processing unit (GPU) with 24GB of memory and 128GB of RAM. The SurVol was trained with a super-resolution scale factor of 16. It is noted that for an accurate 3D domain generation, the size of noise input during training and inference may be the same to ensure the field of view is as consistent as possible. However, for computational comparison, it may be acceptable to test this using different input noise sizes for training and inference.
[0157] The results are provided in tables 1 to 3 below.
[0158] Table 1: Computational comparison between the original SliceGAN and the method's 2D-3D generation network during the training process.
[0159] Table 2: Size of the 3D generated domain and corresponding computational memory using original SliceGAN on both GPU and CPU for the microporous layer generation.
[0160] Table 3: Size of the 3D generated domain and corresponding computational memory using SurVol on both GPU and CPU for the microporous layer generation. FIG. 12 shows a Schematic illustration of using persistent homology for feature extraction from a grayscale image and vectorizing from a persistent diagram to a persistent image.
[0161] FIG. 13 shows a visualization of slices at three planes of a 3D generated microporous layer image. FIG. 14 shows a visualization of slices at three planes of a 3D generated electrode image.
Claims
CLAIMS1. A computer-implemented method for generating a 3D domain representing a material, the method comprising:- obtaining one or more 2D images each representing a surface of a sample of the material;- training a generative network to generate an output 3D domain having slices indiscriminable from downsamples of portions of the one or more 2D images;- training one or more super-resolution (SR) networks each based on a respective dataset of training samples, each training sample including a respective portion of a 2D image and a downsample of the respective portion;- applying the trained generative network to generate an output;- applying the trained one or more super-resolution networks to the output, to obtain the 3D domain representing the material.
2. The method of claim 1, wherein the generative network is a generative adversarial network (GAN), and the method comprises sampling a noise, the trained generative network being applied with the sampled noise as input, to generate the output.
3. The method of claim 1 or 2, wherein the downsamples in the training of the generative network and / or each downsample in the training of the one or more super-resolution networks are obtained from an image interpolation.
4. The method of claim 3, wherein the image interpolation is a bicubic interpolation.
5. The method of any one of claims 1 to 4, wherein the downsamples in the training of the generative network and each downsample of the training of the one or more super-resolution networks are obtained with the same scale factor.
6. The method of any one of claims 1 to 5, wherein the material is isotropic, and in the training of the generative network, the indiscriminable slices are taken acrossseveral planes, a single discriminator being trained to discriminate the slices from the downsamples.
7. The method of any one of claims 1 to 5, wherein the material is anisotropic, and in the training of the generative network, the indiscriminable slices are taken across several planes, a respective discriminator being trained per plane to discriminate the slices from the downsamples.
8. The method of any one of claims 1 to 7, wherein the one or more super-resolution networks comprise a first super-resolution network and a second super-resolution network, the downsample of the respective portion of each training sample of the respective dataset of the first super-resolution network being obtained from a downsampling on both axis, the downsample of the respective portion of each training sample of the respective dataset of the second super-resolution network being obtained from a downsampling on a single axis.
9. The method of claim 8, wherein the applying of the trained one or more superresolution networks to the output comprises:- applying the first super-resolution network to each layer of the output taken along a first axis, thereby obtaining a super-resolved output; and- applying the second super-resolution network to each layer of the super-resolved output taken along a second axis orthogonal to the first axis, thereby obtaining the 3D domain.
10. The method of any one of claims 1 to 9, wherein the generative network comprises one or more convolutional blocks each including a respective upsampling layer and a convolutional layer.
11. The method of any one of claims 1 to 10, wherein each super-resolution network comprises one or more residual blocks followed by one or more upsampling layers.
12. The method of any one of claims 1 to 11, wherein at least one of the one or more 2D images is a scanning electron microscopy (SEM) image, an Energy-dispersive X-ray Spectroscopy (EDS) image, or a transmission electron microscopy (TEM) image.
13. The method of any one of claims 1 to 12, wherein at least one of the one or more 2D images is a pixelated and / or rectangle image, and / or has a resolution higher than 100 or 25 square nanometers per pixel, and / or is of width larger than 1000 or 5000 pixels and / or of a height larger than 1000 or 5000 pixels.
14. The method of any one of claims 1 to 13, wherein the 3D domain is a voxelated and / or parallelepipedal 3D image, and / or has resolution higher than 1000 or 125 cubic nanometers per voxel, and / or is of width larger than 500 or 1000 voxels, of a depth larger than 500 or 1000 voxels, and / or of a height larger than 500 or 1000 voxels.
15. The method of any one of claims 1 to 14, wherein the method further comprises displaying a graphical representation of the 3D domain, and / or computing at least one physical characteristic of the material based on the 3D domain, such as porosity, permeability, and / or diffusivity.
16. The method of any one of claims 1 to 15, wherein the obtaining of the one or more 2D images comprises obtaining at least one sample of the material and capturing at least one of the one or more 2D images on the at least one sample.
17. The method of any one of claims 1 to 16, wherein the material is a microporous layer material or an electrode material.
18. A computer-implemented method comprising obtaining one or more 2D images and training a generative network according to the method of any one of claims 1 to 17.
19. A computer-implemented method comprising obtaining one or more 2D images and training one or more SR networks according to the method of any one of claims 1 to 17.
20. A computer-implemented method comprising obtaining a generative network having been trained according to the method of any one of claims 1 to 16, and obtaining one or more SR networks having been trained according to the method of any one of claims 1 to 17, and sampling a noise, applying the trained generative network, and applying the trained one or more SR networks, according to the method of any one of claims 1 to 17.
21. A computer program comprising instructions for causing one or more processors to perform the method of any one of claims 1 to 17, the method of claim 18, the method of claim 19, and / or the method of claim 20.
22. A data structure representing a generative network trained according to the method of any one of claims 1 to 17, and / or one or more SR networks trained according to the method of any one of claims 1 to 17.
23. A computer readable storage medium having recorded thereon the computer program of claim 21, and / or the data structure of claim 22.
24. A system comprising one or more processors coupled to a memory, the memory having recorded thereon the computer program of claim 21, and / or the data structure of claim 22.