Synthesizing an annotated dataset of geological sample images
The method synthesizes an annotated dataset for geological sample images using GANs to enhance neural network training by addressing the limitations of existing methods in extracting geological object information, improving classification and segmentation accuracy.
Patent Information
- Application Number
- PCT/IB2024/000153
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-19
- Publication Date
- 2025-09-25
AI Technical Summary
Existing machine-learning methods for geological sample image analysis, such as neural networks, struggle to extract information like object nature, shape, and location directly from outputs, and require substantial manual labeling efforts for accurate probability-based segmentation.
A method for synthesizing an annotated dataset of geological sample images by positioning geological objects on empty 2D images, blending with geological texture backgrounds, and applying generative adversarial networks (GANs) to create realistic training data, enhancing variability and reducing manual annotation needs.
The method provides a robust training dataset that improves the accuracy of neural networks in classifying and segmenting geological objects by accounting for shape and location variability, reducing user bias and increasing efficiency in data generation.
Smart Images

Figure IB2024000153_25092025_PF_FP_ABST
Abstract
Description
[0001] SYNTHESIZING AN ANNOTATED DATASET OF GEOLOGICAL SAMPLE IMAGES
[0002] TECHNICAL FIELD
[0003] The disclosure relates to the field of analysis of geological samples, and more specifically to a method, system and program for synthesizing an annotated dataset of geological sample images for machine-learning.
[0004] BACKGROUND
[0005] The analysis of geological samples, for example, thin section analysis of carbonate rocks, is a field having more and more applications, and which require knowledge from both a petrological and micropaleontological perspective. Indeed, an accurate and consistent identification of components (for example abiotic components and / or microfossils) in geological samples offers numerous applications for describing features of hydrocarbon reservoirs, freshwater aquifers, paleoenvironments and other ecosystems.
[0006] Machine learning techniques, for example, deep learning have been used for some applications in geosciences. To date, most of the results of the application of machine learning in the analysis of images of geological samples have been directed to classification tasks . Existing classifiers, for example neural networks having VGG- like architectures, have been used with certain success. However, it has also been found that information that would otherwise be ideally highlighted by a geologist, such as the nature, shape, or location of objects in the image, cannot be extracted directly from the output of such neural networks.
[0007] Existing segmentation methods (for example as used in petrographic analysis) are based on the reproduction of a similar pattern to what a specialist would achieve in detail, that is, by assigning a probability list of class membership at pixel-wise level. However, building a dataset to achieve an accurate probability requires a substantial labeling effort.
[0008] However, there is still a need for improves solutions for machine-learning in the context of geological sample images.
[0009] SUMMARY
[0010] It is therefore provided a computer-implemented method for synthesizing an annotated dataset of geological sample images for machine-learning. The method comprises obtaining images of annotated geological objects. The method also comprises creating images. The images represent synthetic geological samples. The method performs, for each image, positioning at least one of the annotated geological objects on an empty 2D image. The method also performs, for each image, blending the positioned at least one annotated geological objects with one or more images of geological synthetic texture backgrounds. The method also creates an annotation mask. The annotation mask comprises annotations of the at least one annotated geological object. The method thereby creates a respective geological sample image associated to the annotation mask.
[0011] The method may comprise one or more of the following: positioning at least one of the annotated geological objects on the empty 2D image comprises one or more of: o placing at least one of the annotated geological objects at a random position of the empty 2D image; o placing at least one of the annotated geological objects at a position of the empty 2D image delimited by a rectangle; and / or o placing at least one of the annotated geological objects at a position of the empty 2D image delimited by a disk; placing at least one of the annotated geological objects at the position of the empty 2D image delimited by the rectangle is performed by rectangle packing; placing at least one of the annotated geological objects at the position of the empty 2D image delimited by the disk is performed by disk packing; obtaining the one or more images of geological synthetic texture backgrounds by applying a generative adversarial network (GAN) to images of geological texture patches; learning the GAN on a dataset of images geological texture patches; learning the GAN based on the dataset comprises minimizing a Wasserstein loss, imposing a gradient penalty and / or a path length regularization; - the blending comprises applying a Gaussian pyramid algorithm followed by a Laplacian pyramid algorithm; applying a post-processing on the respective image representing a synthetic geological sample;
[0012] - the post-processing comprises one or more of: o applying brightness balancing, the brightness balancing comprising histogram matching between objects and texture background; o contour blurring; and / or o high frequency blurring; and / or
[0013] - the annotated geological objects comprise a plurality of grain-stones and / or fossils, the geological sample images being carbonate thin section images.
[0014] It is further provided a dataset comprising geological samples synthesized with the method.
[0015] It is further provided a computer program comprising instructions for performing the method.
[0016] It is further provided a computer readable storage medium having recorded thereon the computer program and / or the dataset.
[0017] It is further provided a system comprising a processor coupled to a memory, the memory having recorded thereon the computer program and / or the dataset.
[0018] BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Non-limiting examples will now be described in reference to the accompanying drawings, where:
[0020] FIG. 1 shows an example of the system;
[0021] FIG. s 2 to 26 illustrate the method.
[0022] DETAILED DESCRIPTION
[0023] It is therefore provided a computer-implemented method for synthesizing an annotated dataset of geological sample images for machine-learning. The method comprises obtaining images of annotated geological objects. The method also comprises creating images. The images represent synthetic geological samples. The method performs, for each image, positioning at least one of the annotated geological objects on an empty 2D image. The method also performs, for each image, blending the positioned at least one annotated geological objects with one or more images of geological synthetic texture backgrounds. The method also creates an annotation mask. The annotation mask comprises annotations of the at least one annotated geological object. The method thereby creates a respective image representing a synthetic geological sample associated to the annotation mask.
[0024] Such a method improves the analysis of geological samples.
[0025] Indeed, the method provides a dataset that adds a large quantity of training data so as to allow a robust training of neural networks. Machine-learning may indeed require a sufficiently large quantity of training data for obtaining reliable results such as classification and / or segmentation. However, in the context of machine-learning for training a neural network to process geological sample images (e.g. for segmentations), training data that stems from the real-world may not be available in sufficient quantity. Indeed, obtaining such training data could typically require collecting a sufficiently large amount of sufficiently diversified geological samples and obtaining images thereof with specific devices (e.g. polarizing petrographic microscope, electron microscope, electron microprobe). This problem is solved by the method which provides synthetized data, which can be done automatically and efficiently and in large amounts. In addition, annotating manually real-world data becomes unfeasible or tedious as the quantity of data increases. Thanks to the dataset synthesized by the method, the neural network is presented with a large quantity of annotated training data in a fast manner. Moreover, the annotation of the data is performed ergonomically (e.g., fully automatically), thereby reducing the needs of manual interaction, and hence reducing user bias. Now, the method synthesizes an annotated dataset of geological sample images for machinelearning. Hence, the dataset is configured so that the machine-learning (for example, training a neural network based on the dataset, e.g., for geological sample image segmentation) takes into account the shape and / or location of the geological objects represented on the synthesized geological sample images. Specifically, the annotated geological objects provide a variability of the shape of the geological objects to be used for the training thanks to the obtained images of annotated geological objects providing a variability on the geological objects represented in the synthesized geological sample image.
[0026] Moreover, as the creation of the images representing synthetic geological samples comprises performing positioning at least one of the annotated geological objects on an empty 2D image, the method improves the variability of the location of the geological objects represented on the synthesized geological sample images. Thus, the dataset provides an improved spatial variability of geological sample images when performing machine learning based on the dataset, which leads to more robust neural networks for inferring geological objects represented in a variety of contexts. For example, as discussed below, the annotated geological objects may be at a position delimited by a rectangle and / or a disk, and may have any (e.g., random) orientation. Thus, synthesized geological sample images lead to a more robust inference of geological objects having different positions and (e.g., local) variations of orientation.
[0027] In addition, as the positioned at least one annotated geological objects are blended with one or more images of geological synthetic texture backgrounds, the geological objects are represented within a geological background (as represented from the geological synthetic texture background). Thus, the dataset is configured so that the machine-learning distinguishes the boundary of the geological objects with respect to the geological background, further improving the accuracy of the machine learning, for example in the context of classification and / or segmentation.
[0028] The annotated dataset thus provides training examples (i.e., the synthetic geological samples) so that a neural network trained based on the dataset learns to identify a geological object from a geological sample image obtained from the real- world, for example a thin section image obtained from hydrocarbon reservoirs, freshwater aquifers, paleoenvironments or other ecosystems. As known per se from the field of machine learning, the annotated dataset impacts the speed of the learning of the learning model and the quality of the training, that is, the accuracy of the trained learning model for estimating the presence of a geological object in the geological sample image. The dataset may be formed with a total number of training examples that depends on the contemplated quality of the training. This number may 10 be higher than 100, 1 000, or yet 10 000 training examples or more.
[0029] It is further provided a dataset comprising geological samples synthesized with the method.
[0030] The method may be included in a computer-implemented process for machine learning. The process may include synthesizing an annotated dataset of geological sample images according to the method. The annotated dataset may be of images of carbonate thin sections. The annotated dataset may be stored into a non-volatile storage. The process may comprise learning a neural network based on the annotated dataset.
[0031] The neural network is a function comprising a collection of connected nodes, also called "neurons". Each neuron receives an input and outputs a result to other neurons connected to it. The neurons and the connections linking each of them have weights, which are adjusted via a training.
[0032] The processing of an input by the neural network includes applying operations to the input, the operations being defined by data including weight values. Learning the neural network thus includes determining values of the weights based on the annotated dataset. In other words, the learning determines values of the weights of the neural network based on geological sample images respective annotations as found in the dataset.
[0033] The learnt neural network may be configured (i.e. trained for) for segmenting and / or classifying geological objects from input geological images. For example, the learnt neural network may be configured to take an image of a carbonate thin section as input and to output segments each corresponding to a geological object, such as grain-stones. Each segment may be annotated with data specifying the geological object corresponding to the segment.
[0034] The process may further comprise using the trained neural network by feeding, as input to the neural network, a geological image (e.g. of a carbonate thin section), for example obtained from a microscope, such as a polarizing petrographic microscope, an electron microscope and / or an electron microprobe. The process may comprise obtaining one or more segments of geological objects from the geological image by applying the trained neural network to the image.
[0035] The methods herein are computer-implemented. This means that steps (or substantially all the steps) of the methods are executed by at least one computer, or any system alike. Thus, steps of the methods 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.
[0036] 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. The memory has recorded thereon a computer program comprising instructions for performing the method. The memory may also store the annotated dataset. 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 dataset).
[0037] FIG. 1 shows an example of the system, wherein the system is a client computer system, e.g. a workstation of a user.
[0038] The client computer of the example comprises a central processing unit (CPU) 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.
[0039] 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.
[0040] The method is for synthesizing an annotated dataset of geological sample images for machine-learning. In other words, the method creates training data, in the form of geological sample images and annotations configured for performing the training of a neural network, for example for classification and / or segmentation.
[0041] The dataset is annotated. In other words, geological sample images of the dataset are in association with one or more annotations. Each annotation may be a piece of data for inference of a corresponding geological object represented by a respective geological sample image, e.g., data for inference of a location, shape, and / or class of the corresponding geological object.
[0042] By "image of an annotated geological object" it is meant a 2D representation of the geological object associated with respective annotations. For example, one or more (e.g., a plurality) of the images of annotated geological objects may stem from images acquired from a sensor such as a camera sensor mounted on a device such as a microscope. The images of annotated geological objects may be thin section images obtained from a microscope such as a petrographic microscope The respective annotations may comprise data relative to the shape, and / or class of the corresponding geological object. The respective annotations may be part of an annotation mask. The annotation mask may be a collection of groups of pixels. Each group of pixels may comprise annotations of respective geological objects, for example the class of the respective geological object.. By "class" it is meant a respective category (in the real world) of the corresponding geological object. For example, a geological object may be of the class grain-stones and / or fossils. Any geological object herein may be a geological object, such as grain-stone or fossil, found in a carbonate thin section. The obtained images of annotated geological objects may be of a plurality of shapes and / or classes.
[0043] The annotated geological objects may comprise a plurality of grain-stones and / or fossils. The geological sample images may be carbonate thin section images. For example, the obtained images may be of 1 000 or more (e.g., 15 000 or more) instances of geological objects spread over two classes or more (e.g., 10 or more such as 21 or more).
[0044] The method creates images representing synthetic geological samples, by performing, for each image, positioning at least one of the annotated geological objects on an empty 2D image. By "empty" it is meant that the image is a 2D arrangement of pixels (e.g., RGB pixels) each having unassigned pixel values, in other words, a data structure of empty values.
[0045] The method positions at least one of the annotated geological objects on the empty 2D image. In other words, groups of pixels of the empty 2D image are set to represent the at least one of the annotated geological objects at a given 2D position.
[0046] Positioning the at least one of the annotated geological objects on the empty 2D image may comprise placing at least one of the annotated geological objects at a random position of the empty 2D image. Additionally or alternatively, positioning the at least one of the annotated geological objects on the empty 2D image may comprise placing at least one of the annotated geological objects at a position of the empty 2D image delimited by a rectangle. Additionally or alternatively, positioning the at least one of the annotated geological objects on the empty 2D image may comprise placing at least one of the annotated geological objects at a position of the empty 2D image delimited by a disk.
[0047] The method blends the positioned at least one annotated geological objects with one or more images of geological synthetic texture backgrounds. By "blending" it is meant any kind of image processing techniques for combining pixel values of the 2D image (comprising the positioned at least one annotated geological objects) with pixel values of the one or more images of geological synthetic texture backgrounds. The blending may for example set the one or more images of geological synthetic texture backgrounds as the background of the 2D image while maintaining the at least one annotated geological objects in the foreground.
[0048] The method thus improves the analysis of geological samples. Indeed, the dataset is configured so that the machine-learning takes into account the variability of shape and / or location of the geological objects represented on the synthesized geological sample images to improve the accuracy of the inference of geological objects obtained from input geological sample images.
[0049] This is all thanks to the specific steps of the method. Indeed, placing at least one (e.g., a plurality) of the annotated geological objects allows the machine learning to learn from multiple possible scenarios in which the geological objects may be found. Placing the at least one (e.g., a plurality) of the annotated geological objects delimited by rectangles allows to obtain a respective image representing a synthetic geological sample having a high density of positioned annotated geological objects, as the rectangles allow to have a precise placement of the annotated geological objects and may also be suitable for annotated geological objects that are more elongated. Placing the at least one (e.g., a plurality) of the annotated geological objects delimited by disks allows to obtain a high variability in the orientation of the annotated geological objects. Placing the at least one (e.g., a plurality) of the annotated geological objects at a random position also allows to improve the variability in the orientation and / or position of the annotated geological objects. The method may combine any of the foregoing depending on the contemplated density and / or variability of orientations of the annotated geological objects.
[0050] In addition, the blending allows to obtain realistic synthetic geological samples. For example, boundaries of the geological objects with respect to the background, as represented in a real-world geological sample image, are not expected to be have clear boundaries. The blending allows to obtain a gradual transition between the at least one annotated geological objects and the one or more images of geological synthetic texture backgrounds.
[0051] FIG. 2 shows an example a geological image 200 taken using a camera. The geological image shows geological objects 210, 220.
[0052] FIG. 3 shows a synthetic geological sample 300. The synthetic geological sample 300 shows annotated geological objects 310, 320 positioned with the method. The synthetic geological sample 300 is shown in grayscale since the geological objects can be identified according to their morphological attributes.
[0053] FIG. 4 shows an example 400 of annotated geological objects 410, 420 positioned on a 2D image. ≠ FIG. 5 shows an example 500 of a geological synthetic texture background 520 obtained from a geological texture patch 510.
[0054] FIG. 6 shows an example of a synthetic geological sample 600 computed with the method. The synthetic geological sample 600 shows annotated geological objects 610, 620 blended with a synthetic texture background 630.
[0055] Placing at least one of the annotated geological objects at the position of the empty 2D image delimited by the rectangle may be performed by rectangle packing.
[0056] An example of rectangle packing is now discussed.
[0057] The method may perform rectangle packing with control. The method may control the density of the annotated geological objects globally and also locally for each annotated geological object. The process may have a probability list of class appearance to control facies if needed.
[0058] FIG. 7 illustrates the result of the rectangle packing. The method may start with an empty 2D image 710 (e.g., having a density =1). The method may pack the annotated geological objects with rectangle packing as shown in the image (e.g., having a density =0.5). The method thus places annotated geological objects 720 at a position delimited by a rectangle 721 (shown for the sake of illustration). As shown in the figure, rectangle packing produces high density of objects but only allows 90°rotations which can result in striped patterns.
[0059] The method may perform a Guillotine split. The Guillotine split maintains a list of rectangles that represent the free space of the bin. The list of rectangles may be defined as follows:
[0060] F = {F1. Fn};
[0061] Fi∩ Fj= 0, ∀ i ≠ j
[0062] The method may compute the free unused area with:
[0063] Rectangle packing may be performed with a guillotine algorithm as follows:
[0064] Initialize:
[0065] Set F = {(W, H)}
[0066] Pack :
[0067] For each Rectangle R = (w, h) i n the sequence do Decide the free rectangle to pack the rectangle into If no such rectangle is found, stop
[0068] Decide the orientation for the rectangle and place it at the bottom left of Fi
[0069] Use the guillotine split scheme to subdivide Fiinto F'and F
[0070] End
[0071] The Guillotine algorithm is a time efficient method that can pack more than 1000 annotated geological objects in a few seconds (< 1 s to 2 3 s).
[0072] FIG. 8 illustrates the Guillotine split. The method may for example start by cut a square 820 from a base rectangle 810. The method may perform a vertical split 830 and / or a Horizontal split 840 in order to maintain rectangular shapes.
[0073] Additionally or alternatively, placing at least one of the annotated geological objects at the position of the empty 2D image delimited by the disk may be performed by disk packing.
[0074] Disk packing may be performed by getting a list of packed disks:
[0075] Where each disk
[0076] Minimizing r0with r0> 0.
[0077] Disk packing may be performed with a randomized disk packing algorithm as follows:
[0078] Initialize
[0079] Set
[0080] Sel ect random location c0
[0081] Set d0← d0(c0, r0) For each disk d = (c,r)i n the sequence do
[0082] Get distancemap around added di sks
[0083] Compute al l potenti al l ocati ons where \distance map -
[0084] Sel ect random l ocati on cI. If no l ocati on exists, stop .
[0085] Set dI← dI(ci, ri)
[0086] End
[0087] FIG. 9 illustrates the result of the disk packing. The disk packing method is well suited for circular elements but less relevant for elongated elements. Rectangle packing is more adapted for elongated elements but highlights some redundant spatial distribution. The method may start with an empty 2D image 910 (e.g., having a density =1). The method may pack the annotated geological objects with disk packing as shown in the image (e.g., having a density =0.5). For example an annotated geological object 920 is placed at a position of the 2D image delimited by a disk 921 (shown for the sake of illustration). As shown in the figure, disk packing allows all possible rotations for the annotated geological objects but may also produce less packed object composition.
[0088] FIG. 10 illustrates the disk packing, with the principles set above. The method may start with placing one geological object 1010 with a circle, and then add further geological objects 1020, 1030.
[0089] The method may further comprise obtaining the one or more images of geological synthetic texture backgrounds. By geological synthetic texture background it is meant an image generated via texture synthesis, that is, the process of algorithmically constructing a digital image from a digital sample. The method may apply a generative adversarial network (GAN) to images of geological texture patches for obtaining the one or more images of geological synthetic texture backgrounds. In other words, the method may perform texture synthesis by constructing the one or more images of geological synthetic texture backgrounds from the geological texture patches using the GAN.
[0090] The GAN are known per se in the field of machine-learning, for example as found in the papers: "Generative Adversarial Networks" Goodfellow, I. J., J. Pouget- Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio, 2014, "Analyzing and Improving the Image Quality of StyleGAN" Karras, T., S. Laine, M. Aittala, J. Hellsten, J. Lehtinen, and T. Aila, 2019.
[0091] As known from the field, the method may start with a noise map Z having a normal distribution. The GAN comprises a generator G(Z) trained to model from the noise map Z to a rendering X that is a realistic texture background. The GAN also comprises a discriminator D(C) trained to identify fake examples X from real examples X'.
[0092] FIG. 11 shows an example of the GAN, as described in the paper "Texture Synthesis with Spatial Generative Adversarial Networks", Nikolay Jetchev, Urs Bergmann, Roland Vollgraf, 2016. The GAN comprises the generator G(Z) 1110, the discriminator D(X) 1130 and as output the rendering X 1120.
[0093] The method may further comprise learning the GAN on a dataset of images geological texture patches.
[0094] FIG. 12 shows examples of geological texture patches of X' 1210, 1220, 1230 used for obtaining geological synthetic texture backgrounds. FIG. 12 illustrates the rendering X 1240 during training, that is, prior to obtaining the resulting geological synthetic texture background.
[0095] Learning the GAN based on the dataset may comprise minimizing a Wasserstein loss. The Wasserstein loss may score how likely the rendering X is real or fake. Additionally or alternatively, learning the GAN based on the dataset may comprise imposing a gradient penalty. The gradient imposes a constraint such that the gradients of the critic's output relative to the input meets a unitary norm. Additionally or alternatively, learning the GAN based on the dataset may comprise imposing a path length regularization term.
[0096] FIG. 13 shows an example of the GAN. The GAN of the example is a StyleGAN. In examples, the method leverages from the StyleGAN to use style learned vectors to scale output feature maps at each level of convolutional blocks. The method hence uses StyleGAN as a tool for generating high quality geological synthetic texture backgrounds, which in turn generates high variability training samples for inference. The style GAN comprises a mapping network 1310 and a synthesis network 1320.
[0097] FIG. 14 shows geological synthetic texture backgrounds 1410, 1420, 1430 resulting from the application of the GAN to images of geological texture patches.
[0098] The blending may comprise applying a Gaussian pyramid algorithm followed by a Laplacian pyramid algorithm. The blending may apply the Gaussian pyramid algorithm to the 2D image comprising the positioned at least one of the annotated geological objects. The output of the Gaussian pyramid algorithm may be a downscaled representation. The blending subsequently applies the Laplacian pyramid algorithm from the output of the Gaussian pyramid algorithm. The output of the Laplacian pyramid algorithm may be added with the geological synthetic texture background. In other words, the method integrates the positioned annotated geological objects as a foreground with the geological synthetic texture backgrounds as a background.
[0099] The blending may also comprise computing a mask computation on the output of the Gaussian pyramid algorithm and an inverse mask computation on the output of the Laplacian pyramid algorithm. This allows to improve the accuracy of the addition of the annotated geological objects with the geological synthetic texture backgrounds.
[0100] FIG.15 illustrates the Gaussian pyramid algorithm.
[0101] The Gaussian pyramid algorithm computes an image representation at different scales using low-pass filtering and decimation. The low-pass filtering allows to have downscaled images free of artifacts caused by aliasing. The Gaussian pyramid algorithm may also comprise Blur and sub-sampling.
[0102] FIG. 16 illustrates the Laplacian pyramid algorithm.
[0103] The Laplacian pyramid algorithm computes a coarse image representation from the output of the Gaussian pyramid algorithm, as well as a set of detail images at multiple scales. The Laplacian pyramid algorithm is configured to extract image structures from lost high-frequency components. The Gaussian pyramid algorithm and the Laplacian pyramid algorithm are simple and fast algorithms (taking a time, e.g., of less than one second, for example less than 0.1 seconds) that are used by the method for the blending.
[0104] FIG. 17 illustrates the blending by the application of the Gaussian pyramid algorithm followed by the Laplacian pyramid algorithm. The Gaussian pyramid images (or levels) n times and Laplacian pyramid images (or levels) n times. The method may up-sample a Gaussian image at a level n. The method may add the upsampled gaussian image to the Laplacian image. The method may use masks for the addition. The process may be iterated for each level of the Gaussian (respectively Laplacian) pyramid algorithm.
[0105] The method may further comprise applying a post-processing on the respective image representing a synthetic geological sample. By "post-processing" it is meant any kind of image processing techniques. The use of post-processing allows to improve the realism of the synthetic geological sample.
[0106] The post-processing may comprise applying brightness balancing. Brightness balancing may comprise histogram matching between objects and texture background. Mean object lightness may be individually balanced towards a fixed mean of background lightness. Additionally or alternatively, the post-processing may comprise applying contour blurring. The contour of the annotated geological objects may be locally blurred since the limit with the background is not always sharp. Additionally or alternatively, the post-processing may comprise applying high frequency blurring. Medium to high amplitude smoothing may be performed with spectral decomposition, for example using Fast-Fourier Transform (FFT).
[0107] The method may apply other types of post-processing. For example, the method may convert the synthetic geological sample from RGB to grayscale, so as to compress the information stored therein. The method may also apply object contour blurring. For example contour distortion or kernel size augmentation. The method may also perform FFT augmentation.
[0108] An implementation of the method is now discussed.
[0109] The images of annotated geological objects are now discussed. The images may be obtained from an initial dataset comprising of 100 annotated tiles extracted from full thin section images and acquired within different carbonate rock textures. The samples may come from a Permian-Trias formation (i.e., the formation is the same for all of the annotated tiles). The number of annotated geological objects is of around 15 000 instances spread over 21 classes. The dataset may be input to a binary segmentation to isolate cement and / or matrix from grains so as to solve class imbalances. The initial dataset is not enough to train a segmentation model. Nevertheless, the number of labelled objects was important due to their dense packing within specific rock textures (e.g., grain stones). The method is performed on the dataset on the assumption of extracting the annotated components to randomly place them in various new realistic contexts. Thus, the method allows introducing greater spatial variability of compositions during training, leading to obtain more robust models during inference. The method sequentially combines geometric methods for filling a two-dimensional space with objects, a style-based antagonistic generative network for synthesizing textured backgrounds, and a statistical approach for blending foreground composition with the previously generated textured backgrounds.
[0110] FIG. 18 illustrates an example of a generated image with its corresponding mask. Images are processed in grayscale since grains are identified through morphological criteria, this also tends to reduce the variability of input space and so reduce the gap between real and synthetic domain.
[0111] Experimental results of an annotated dataset synthesized with the method are now discussed.
[0112] The method generated a synthesized dataset of 50000 images and used to pretrain several DCCNs with a U-Net like architecture. Model performance was evaluated on a restricted batch of 20 real images presenting different facies. The 80 remaining real images are used to fine tune and improve the model after a first training on synthetic data. The input resolution is fixed to 7.04 pm / pixel with images of size 512x512 pixels. The best performing model of the different experiments was identified to be a U-Net with attention (Oktay et al., 2018) as shown in Table 1 below.
[0113] This U-Net network is built successively with convolutions and pooling layers for the encoder part, then upsampling and convolution layers for the decoder part. Attention gates were used as skip connections between each corresponding encoderdecoder layer. The U-Net network was first trained using a binary cross entropy loss weighted by a distance map to force the network to learn the border pixels between each close objects, as suggested in the original U-Net paper as discussed in "U-Net: Convolutional Networks for Biomedical Image Segmentation", Ronneberger et al., 2015. This has been identified to be an important input to improve segmentation quality. After pre-training on synthetic data, a second term was added to the loss during fine tuning which is the Dice coefficient.
[0114] In semantic segmentation, intersection over union (loU) is a metric commonly used to quantitatively evaluate the segmentation quality. The closer the value is to 1, the better the segmentation is. The synthetic training part presented on Figure 2 shows that loU reaches a value of 0.87 on synthetic data and 0.62 on test real images. This difference highlights the gap observed between the two domains during training. Indeed, carbonates thin sections are complex images with a high degree of variability between examples, some features produced by specific depositional conditions or diagenesis are sometimes difficult to reproduce in synthetic compositions. Moreover, sampled grains and fossils presenting three-dimensional complex morphologies are not necessarily well captured in all two-dimensional slice directions, which is an aspect to consider, since it can directly influence the segmentation result.
[0115] Fine tuning the model on real data with conventional data augmentation (random rotations, translations, brightness, contrasts, etc.) allowed the increasing of the loU to 0.75, and a better adaptation of the learning domain towards the real one.
[0116] FIG. 19 illustrates two examples of inference of carbonate thin sections (that is, examples of geological objects) on two examples at different stages of the training. FIG. 19 shows a chart illustrating the training history comparing the training on synthetic images 1910, the test of real images 1920, training on real images 1930 and the test on real images 1940. Further tests on different sets of images highlight that the model provides accurate results in well cemented areas. Once diagenetic features are observed, like dolomitization or dissolution, the network can be moderately to highly impacted. The tests yield a Pixel Accuracy of 83%, an loU of 75% and a Dice of 82%. The synthetic geological samples, associated to the annotation mask, are hence used as pretraining before tuning on real data, yielding to an increase of 10% loU.
[0117] FIG. 20 shows another examples thin section images 2010, 2020. The thin section images may have a resolution of 0.88pm per pixel. The thin section images may be obtained from petrographic analysis. Petrographic analysis relies on an image description process which tends to isolate every element of a thin section image, representing a synthetic geological sample associated to the annotation mask. The thin section image 2020 represents cement 2021 (as background), grains 2022, porosities 2023 and dissolved grains 2024. Carbonates composed by grains may be studies through statistical analysis to asses for example, depositional dynamics.
[0118] FIG. 21 illustrates the obtention of images of annotated geological objects, also denoted as "labelling stage". The obtention may comprise annotating images (e.g., of thin sections) for example analysed by an annotator, e.g., an expert in the field of petrographic analysis. The images may comprise one or more regions of annotation for the image, e.g., on respective regions of interest. The obtained images may comprise texture backgrounds and / or cropped images of one or more classes of geological objects such as grains.
[0119] FIG. 22 illustrates a schematic illustrating a pipeline for implementing the method. The pipeline (also denoted "Synthetic Data Generation Stage") comprises a stage for obtaining images of annotated geological objects. The obtention may comprise randomly picking the annotated geological objects and positioning the annotated geological objects on an empty 2D image, for example using a (e.g., heuristic) combination of rectangle and disk packing. Independently (e.g., concomitantly or at the same time or completely different times), the method obtains a geological synthetic texture background from the application of a GAN. Further down the pipeline, the method blends the images (for example by applying the Gaussian pyramid algorithm followed by the Laplacian pyramid algorithm) and creates a binary mask from an automatic annotator.
[0120] FIG. 23 illustrates a block diagram of the GAN. The GAN takes as input noise. The GAN comprises fully connected layers, layers that add noise, modulated convolutional 2D blocks, an RGB block, addition blocks and upsampling blocks. The generated image may be passed through a residual convolutional 2D bloc, max pooling layer and a flatten layer.
[0121] FIG. 24 illustrates images of geological synthetic texture backgrounds.
[0122] FIG. 25 illustrates annotated geological objects positioned on empty 2D images 2510, 2520 by the method, a geological synthetic texture background 2530 obtained by applying the GAN to an images of a geological texture patch 2540 and two different results 2550, 2560 of the blending.
[0123] The method enables to experiment and evaluate the power of DCNN architectures for segmentation of thin sections based on the generation of a synthetic dataset using few annotated images. The main advantage of using the method is to introduce greater variability and constitute many training examples in a short amount of time that are necessary for training these types of models. Moreover, segmentation of geological objects such as thin section segmentation provides useful applications to make quantitative petrography (point counting, grain size measurement, etc.). The method may be used to enhance the synthetic image generation method to closely align synthetic to real domain.
[0124] FIG. 26 illustrates the difference between a manual annotation 2610, which takes few hours to create training samples. However, the method automates 2620 the generation of annotated training samples, in a matter of few seconds.
Claims
CLAIMS1. A computer-implemented method for synthesizing an annotated dataset of geological sample images for machine-learning, the method comprising: obtaining images of annotated geological objects; creating images representing synthetic geological samples, the method performing, for each image: o positioning at least one of the annotated geological objects on an empty 2D image; o blending the positioned at least one annotated geological objects with one or more images of geological synthetic texture backgrounds; o creating an annotation mask, the annotation mask comprising annotations of the at least one annotated geological object; the method thereby creating a respective image representing a synthetic geological sample associated to the annotation mask.
2. The method of claim 1, wherein positioning at least one of the annotated geological objects on the empty 2D image comprises one or more of: placing at least one of the annotated geological objects at a random position of the empty 2D image; placing at least one of the annotated geological objects at a position of the empty 2D image delimited by a rectangle; and / or placing at least one of the annotated geological objects at a position of the empty 2D image delimited by a disk.
3. The method of claim 2, wherein: placing at least one of the annotated geological objects at the position of the empty 2D image delimited by the rectangle is performed by rectangle packing; and / or placing at least one of the annotated geological objects at the position of the empty 2D image delimited by the disk is performed by disk packing.
4. The method of any of the preceding claims, further comprising obtaining the one or more images of geological synthetic texture backgrounds by applying a generative adversarial network (GAN) to images of geological texture patches.
5. The method of the preceding claim, further comprising learning the GAN on a dataset of images geological texture patches.
6. The method of the preceding claim, wherein learning the GAN based on the dataset comprises minimizing a Wasserstein loss, imposing a gradient penalty and / or a path length regularization.
7. The method of any of the preceding claims, wherein the blending comprises applying a Gaussian pyramid algorithm followed by a Laplacian pyramid algorithm.
8. The method of any of the preceding claims, further comprising applying a postprocessing on the respective image representing a synthetic geological sample.
9. The method of the preceding claim, wherein the post-processing comprises one or more of: applying brightness balancing, the brightness balancing comprising histogram matching between objects and texture background; contour blurring; and / or high frequency blurring.
10. The method of any of the preceding claims, wherein the annotated geological objects comprise a plurality of grain-stones and / or fossils, the geological sample images being carbonate thin section images.
11. A dataset comprising geological samples synthesized with the method of any one of claims 1 to 10.
12. A computer program comprising instructions for performing the method of any of claims 1 to 10.
13. A computer readable storage medium having recorded thereon the computer program of claim 12 and / or the dataset of claim 11.
14. A system comprising a processor coupled to a memory, the memory having recorded thereon the computer program of claim 12 and / or the dataset of claim 11.