Unsupervised training method for detecting repeating patterns

EP4476696A1Pending Publication Date: 2024-12-18COMMISSARIAT A LENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023702180
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-02-08
Filing Date
2023-02-01
Publication Date
2024-12-18

AI Technical Summary

Technical Problem

Existing unsupervised machine learning methods for detecting recurring patterns in data sequences, such as parts of objects in images, require annotated training data or information about object categories, and lack transparency and independent performance evaluation, making them costly and less effective.

Method used

An unsupervised learning method that uses pre-trained deep convolutional neural networks to detect recurring patterns by constraining detection layer parameters with locality, uniqueness, and grouping criteria, allowing for automatic pre-annotation and explainable recognition without requiring prior annotations or object category information.

Benefits of technology

Enables efficient detection of recurring patterns with rapid convergence and improved transparency, providing confidence measures and reducing the need for manual filtering, while being adaptable to different AI models and data types.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

The invention relates to a computer-implemented method for the unsupervised training of a model for detecting repeating patterns in a dataset, the model consisting of a detection layer (102) comprising at least: • a repeating-pattern detector configured to receive a set of relevant characteristics extracted from the data and to output an activation map consisting of a set of activation scores; • an activation layer (104) consisting at least in normalising the activation maps; • the learning of each detector being constrained to observe a locality criterion consisting in maximising a region of the activation map.
Need to check novelty before this filing date? Find Prior Art

Description

DESCRIPTION Title of the invention: Unsupervised training method for detecting recurring patterns

[0001] The invention relates to the technical field of unsupervised machine learning methods for detecting recurring patterns, in particular related patterns in a data sequence.

[0002] For example, the invention relates to the detection of parts of objects in a sequence of images but also applies to other areas of detection or recognition, for example in the field of audio or control systems. In particular, the invention applies, for example, to detecting different types of voices in an audio recording.

[0003] The invention falls within the field of artificial intelligence methods and more specifically unsupervised automatic detection methods.

[0004] With the development of deep learning techniques in recent years, convolutional neural networks (CNNs) have rapidly become the backbone of many recognition systems, particularly visual recognition systems. Convolutional neural networks are highly effective tools in the field of object recognition; however, they manipulate abstract representations of the image, also called features, which are not necessarily interpretable to explain the network's decision-making process. The often uninterpretable nature of decision-making algorithms using convolutional neural networks is a major international concern, with strong demands for greater transparency at the European Parliament level.In the field of visual recognition systems, one avenue being explored involves detecting semantic parts of the objects to be recognized and using these parts in an explainable process leading to the final decision (e.g., the system detects a pedestrian because it has previously detected a head, arms, and legs). These semantic parts represent patterns that are "simpler" to... detect that the overall object of which they are part, and correspond to recurring patterns in the training set.

[0005] Machine learning techniques are generally separated into two classes: supervised methods that require annotating training data, and unsupervised methods that process unannotated data.

[0006] Supervised machine learning methods have the drawback of requiring data annotation to provide truth values ​​during training, which is a costly and complex task to implement. This often necessitates hiring experts to annotate the training data. Furthermore, the accuracy of the annotations directly impacts the training of supervised learning models. Therefore, to reduce the costs of this task, it is sometimes possible to use collaborative work platforms (crowdsourcing), whose contributors are not necessarily domain experts, resulting in a loss of annotation quality and degrading training performance.

[0007] There is therefore a need for an unsupervised method of detecting recurring patterns that provides both an automatic pre-annotation tool (whose results an expert could more quickly verify) and also serves as a prerequisite for explainable recognition systems.

[0008] The detection of recurring patterns or parts of objects in an image or more generally in a dataset is a problem that has been massively addressed in the literature in recent years, particularly for computer vision applications involving fine recognition tasks.

[0009] There are mainly three categories of machine learning methods for detecting parts of objects or recurring patterns: supervised, semi-supervised, or unsupervised methods.

[0010] Supervised methods have the disadvantage of requiring an annotated training database, and the annotation process is costly to perform, as mentioned above. Furthermore, the amount of data Since the amount of training required is generally very significant, there is often a trade-off between the cost and the quality of the annotations.

[0011] Semi-supervised methods do not require annotating the training data but still require information about the category of objects to be detected, for example, a particular bird species if the object to be detected is a bird. In this case, pattern detectors are intermediate products of the system and are optimized solely for the purpose of performing the final task (e.g., a classification task). Furthermore, these methods do not guarantee object coverage because only the parts relevant to the final task are detected.

[0012] In the field of unsupervised learning methods applied to the detection of parts of objects in images, each image is generally first encoded into a set of features or "features" in English. Thus, the objective of searching for parts of objects in visual space is transformed into an objective of searching for recurring patterns in the domain of encoded features, this space being presumably more robust to geometric transformations.

[0013] Early unsupervised learning methods used image descriptors based on histograms encoding color or gradient (i.e., salient features such as contours) to extract relevant image features and then applied a partitioning algorithm, such as K-means or Large Margin Separators (SVMs). More recently, unsupervised detection methods based on features extracted from deep convolutional neural networks, or "deep CNNs," have been proposed.

[0014] In general, prior art methods do not allow for the independent evaluation of the performance of pattern or object part detectors. Instead, the performance of algorithms is assessed globally as a gain in accuracy on the final classification task. A drawback of these methods is their strong dependence on the type of processing architecture chosen for implementing the decision process.

[0015] For example, the scientific publication "Heliang Zheng, Jianlong Fu, Tao Mei, and Jiebo Luo. Learning Multi-attention Convolutional Neural Network for Fine-Grained Image Recognition. In 2017 IEEE International Conference on Computer Vision (ICCV), pages 5219-5227, Venice, Oct. 2017. IEEE. 1, 2, 4" provides an example of an unsupervised learning method for detecting parts of objects. The method described in this reference uses a convolutional neural network supplemented by a layer of convolutional filters to implement the detectors. However, while these detectors are initially trained unsupervised, as mentioned by the authors, the method still requires knowledge of the class of objects to be detected in order to refine the detector parameters after training. Therefore, it is not a truly unsupervised method.

[0016] The invention proposes a new unsupervised learning method that requires no prior annotation of the data or any information on the categories of objects to be detected.

[0017] The invention enables the construction of object part detectors as weighted sums of activation maps by exploiting the characteristics of a pre-trained deep convolutional neural network. Indeed, most current visual recognition systems use neural networks that are pre-trained on classification tasks using millions of training images, and which are the result of a decade of optimization by the scientific community. Although initially dedicated to a specific classification task, the first layers of these networks can nevertheless be used to extract relevant features from the image. The detectors are trained globally on the entire training set of images and not locally (at the scale of a single image) as in some prior art methods (Jian Zhang, Runsheng Zhang, Yaping Huang, and Qi Zou).Unsupervised Part Mining for Fine-grained Image Classification, [preprint] ArXiv, abs / 1902.09941, 2019) which require an additional phase of semantic alignment.

[0018] The invention is based on cost functions that are defined to ensure certain locality, uniqueness or grouping properties specific to the detection of parts of connected objects.

[0019] The invention requires no additional adjustments based on knowledge of the classes to be detected or the categories of objects targeted. The invention does not require modifying the parameters of the pre-trained network used for feature extraction from the image, which allows for rapid convergence during detector training and enables the invention to be coupled with various pre-trained artificial intelligence models capable of providing relevant features extracted from the data in a "black box" approach.

[0020] In particular, the grouping criterion makes it possible to limit the detection of parts of objects that are not adjacent to each other, which avoids the need for additional manual filtering.

[0021] The invention also makes it possible to provide a measure of confidence associated with the decision and based on the distribution of correlation scores over the entire training data.

[0022] This measure makes it possible, in particular, to detect the visibility of a part of an object.

[0023] The invention relates to a computer-implemented method for the unsupervised training of a pattern detection model in a dataset, the model consisting of a detection layer comprising at least: • a pattern detector configured to receive a set of features extracted from the data and provide as output an activation map consisting of a set of activation scores, an activation score being characteristic of the absence or presence of a pattern detected in the data by the detector. • an activation layer consisting at least of normalizing the activation maps, • the learning of the parameters of each detector being constrained to respect a locality criterion, by means of the optimization of a first cost function Li(K) consisting of maximizing a region of the activation map.

[0024] In one embodiment, the method according to the invention further includes the application, to each activation map at the output of the activation layer, of a uniform filter whose dimension depends on that of said region of the activation map.

[0025] According to one embodiment, the detection layer comprises several repeating pattern detectors, and the learning of the parameters of each detector is further constrained to meet a uniqueness criterion, by means of optimizing a second cost function L U (IC) consisting of avoiding the simultaneous activation of several detectors at the same point on the activation map.

[0026] According to one embodiment, the uniqueness criterion is implemented by constraining, during the optimization of the second cost function L U (IC) , the maximum value of the sum at each point of the activation maps over all detectors at a first predefined maximum threshold.

[0027] According to one embodiment, the detection layer comprises several repeating pattern detectors, and the learning of the parameters of each detector is further constrained to satisfy a grouping criterion, by means of the optimization of a third cost function L p (IC), consisting of promoting the activation of said detectors on contiguous areas of the activation map.

[0028] According to one embodiment, the grouping criterion is implemented by applying, during the optimization of the third cost function L p (IC), a convolutional filter to the sum of the activation maps at the output of the activation layer and constraining the maximum value of the filtering result to a second predefined maximum threshold.

[0029] According to one embodiment, the activation layer implements a normalization function, for example the Softmax function.

[0030] According to one embodiment, the set of features is obtained by means of a model pre-trained on a training dataset.

[0031] According to one embodiment, the method according to the invention further comprises, at the end of training, for each detector, an estimation of the distribution of maximum values ​​of detector outputs and setting a confidence threshold dependent on the cumulative distribution function of said distribution.

[0032] The invention further relates to a computer-implemented method for detecting recurring patterns in a dataset, comprising the implementation of a detection model obtained by the method according to the invention.

[0033] According to one embodiment, the method for detecting recurring patterns according to the invention further comprises, for each recurring pattern detector and for each new dataset received, the determination of a confidence score dependent on said cumulative distribution function learned during training applied to said dataset.

[0034] According to one embodiment, the method for detecting recurring patterns according to the invention further comprises, for each recurring pattern detector, the application of a filter to the output values ​​of the detector which are below the confidence threshold determined during training.

[0035] According to one embodiment, the method for detecting recurring patterns according to the invention further includes a step of converting the activation map produced at the output of the activation layer of the detection model into a map for locating recurring patterns.

[0036] According to one embodiment, the data are of image type and the features extracted from the data are organized in a third-order tensor.

[0037] According to one embodiment, the recurring patterns to be detected are parts of related objects in the images.

[0038] The invention further relates to a computer program comprising code instructions for implementing the invention and a computer-readable recording medium on which the computer program according to the invention is recorded.

[0039] Other features and advantages of the present invention will become more apparent from the following description in relation to the following attached drawings.

[0040] [Fig. 1] represents a diagram illustrating a method, according to the invention, for unsupervised training of a learning model configured for the detection of recurring patterns, for example parts of objects in an image sequence,

[0041] [Fig. 2] represents a flowchart of an alternative embodiment of the invention allowing the determination of a confidence score for each detection,

[0042] [Fig. 3] represents several examples of histograms determined after training the model to determine the confidence score,

[0043] [Fig. 4] illustrates the calculation of the visibility threshold of a pattern detector according to one embodiment of the invention,

[0044] [Fig. 5] represents an example of results obtained using the automatic detection model trained by means of the method according to the invention.

[0045] Figure 1 schematically illustrates an embodiment of an unsupervised pattern detector training method according to the invention.

[0046] In the example shown in Figure 1, the processed data consists of image sequences, and the learning task concerns the detection of object parts, for example, parts of an animal's body (head, legs, wings, etc.). Without departing from the scope of the invention, the data can be of other types (2D or 3D images from various types of perception sensors, audio data, text, multimedia, radar data, etc.). Generally, the objective of the method is to detect recurring patterns, more specifically related patterns, within the data sequence for a category of objects.

[0047] The training method in Figure 1 is described for processing one image, but the training requires a set of several images.

[0048] In the example shown in Figure 1, the process receives a two-dimensional image x as input. This image is fed into a feature extraction system, for example a convolutional neural network (CNN), producing a set of features representative of the input x. To limit the overall training complexity, it is possible to use pre-trained neural networks, in which case it is sufficient to remove a certain number of features. end layers of the network (usually specific to the task for which this network was trained) in order to obtain the image characteristics.

[0049] The convolutional neural network 101 has the function of extracting relevant features or abstract representations to characterize the important information contained in the image.

[0050] Thus, the 101 neural network outputs a third-order tensor F(x), with dimensions H rows and W columns, where each coordinate corresponds to a vector of dimension D containing the features extracted from a region of the image. The dimensions H and W of the tensor are generally smaller than the dimensions of the input image x, since the size of the output maps decreases as the convolutional neural network progresses through the layers, even though the number of channels (dimension D) increases.

[0051] Subsequently, the indices h,w denote the coordinates of a point or vector in an H,W dimension map or an H,W,D dimension tensor.

[0052] The convolutional neural network 101 can be replaced by any other machine learning algorithm suitable for extracting relevant features from input data.

[0053] The convolutional neural network 101 is complemented by a detection layer 102 comprising at least one detector of recurring patterns within the features extracted from the input data. In the example in Figure 1, a number p of detectors k (1) , ... k (p) is represented, each detector is implemented by means of a convolution filter of length D equal to the dimension of a feature vector, D being a strictly positive integer.

[0054] One objective of training the detection model according to the invention is to learn the coefficients of the detector filters k (1) , ... k (p) so that each detector is configured to detect a part of an object.

[0055] An activation layer 104 is added to the output of the detection layer 102 to generate, for each detector, an activation map with dimensions W by H. In Figure 1, the activation maps obtained by detector k are shown. (l) applied to the image x are denoted P(k (l) ,x). A point on an activation map has coordinates h and w, two integers respectively between 0 and H-1 and between 0 and W-1.

[0056] The 104 activation layer consists of applying an activation function followed by a normalization function.

[0057] For example, the activation function Act() is a linear rectification function ReLLI or a function derived from this first function such as "Leaky ReLU" or a parametric linear rectification function.

[0058] The normalization function Norm() can be the Softmax function or the "Softmax with temperature scale" function or the min-max function.

[0059] One advantage of using these normalization functions is that it aims to normalize the values ​​of the activation map between 0 and 1, so that the sum of the values ​​of the map is equal to 1, the value 1 corresponding to the certain presence of a pattern to be detected.

[0060] The coefficients of the detectors are, for example, initialized to random values ​​at the beginning of training.

[0061] An additional 103 filtering layer is inserted between the activation function and the normalization function to filter out values ​​with excessively low confidence scores. This filtering layer will be explained later. During model training, the filters in layer 103 are initialized to the identity.

[0062] One advantage of implementing the invention with a pre-trained network 101 lies in the small number of parameters to be learned during training. Indeed, the number of parameters is equal to D x p, with D typically ranging from 512 to 2048 and p, for example, on the order of ten detectors. By comparison, a pre-trained network generally contains several tens of millions of parameters.

[0063] Learning k pattern detection functions (1) ,... k (p) is carried out under one or more of the following constraints.

[0064] A first constraint, called locality, consists of ensuring that each detector is able to detect, for each training image, a pattern in a predefined number of attention regions of the image.

[0065] In other words, the locality criterion aims to ensure that each detector is consistently focused on at least one region of attention in the image. This means that each detector must be focused on the same regions of the image for the entire duration of the training.

[0066] A second constraint, known as the uniqueness constraint, requires that each detector be focused on a different region of attention within the image. In other words, multiple detectors must not be dedicated to the same region of attention, and therefore not to the same recurring pattern.

[0067] A third constraint, known as the grouping constraint, involves taking into account the connected nature of the objects whose parts we wish to detect. Thus, the attention regions associated with each detector must be contiguous so as to correspond to a connected pattern.

[0068] Each of the aforementioned constraints is taken into account alone or in combination with one or more others to determine a cost function to be minimized by a gradient descent algorithm which aims to update the coefficients of the detection functions as training progresses over several images.

[0069] Learning the set of detection functions k (l) The solution to implement the first locality constraint can be translated as an optimization problem with the following cost function:

[0071] In other words, the locality constraint is translated by minimizing the cost function (1) so as to find the detector parameters that allow us to obtain a maximization, on average across all detectors, of a point on the activation map with coordinates [h,w], for the set of n images of a training set X ent .

[0072] In one embodiment, the locality constraint is relaxed by applying a uniform filter to the activation map, the dimension of which defines a sub-region of the map. For example, if the uniform filter u is 3x3, we obtain a filtered activation map:

[0074] The * operator is the convolution operator.

[0075] The cost function to be minimized then becomes

[0077] This variant has the advantage of allowing activations within a neighborhood (here, 3x3 in size) of configurable size, instead of a single point on the activation map. This prevents detectors from focusing on discriminating details located between two adjacent feature vectors that represent the same part of the object.

[0078] Figure 1 shows the activation map P(k (1),x) of the first detector, an activation zone 110 with two adjacent points having the same maximum value. After application of the uniform filter u, each point of the filtered activation map G(k (1) ,x) corresponds to an area of ​​dimension equal to the dimension of the uniform filter in the activation map P(k (1) ,x).

[0079] The cost function of equation (3) does not prevent the system from learning only a subset of the patterns to be detected, namely the simplest ones to detect visually, with several detectors learning the same pattern. To avoid this scenario, in one embodiment, the second uniqueness constraint is implemented by ensuring that each feature vector F(x) is not simultaneously highly correlated with several convolution filters k (l) .

[0080] To do this, we calculate the sum of the activation cards using equation (4):

[0082] The uniqueness constraint of each object part detected by a detector is implemented by ensuring that no position (h,w) of the activation map contains an activation value higher than a predetermined uniqueness threshold t u This constraint translates into minimizing the following cost function:

[0084] The L function U (I) is zero if all the values are below the threshold t u for all training images and it is strictly positive otherwise.

[0085] The uniqueness constraint aims to prevent the occurrence of a very high value (greater than the threshold t). u ) for a point in the sum of the activation maps. The value of the threshold t uis preferably taken to be equal to 1. This prevents the sum of the activation values ​​of the different detectors at the same point from exceeding the maximum activation value, which is 1 due to normalization by the normalization function. Thus, a total overlap between the activations of two distinct detectors is prohibited.

[0086] The advantage of an additive constraint based on the cumulative activation map over all detectors, rather than a multiplicative constraint as described in the publication "Heliang Zheng, Jianlong Fu, Tao Mei, and Jiebo Luo. Learning Multi-attention Convolutional Neural Network for Fine-Grained Image Recognition. In 2017 IEEE International Conference on Computer Vision (ICCV), pages 5219-5227, Venice, Oct. 2017. IEEE. 1, 2, 4", is that it allows for partial overlap of several parts.

[0087] In Figure 1, the cumulative activation map S(K,x) is shown with a point 111 that exceeds the threshold t u and corresponding to an almost total overlap of the main attention zones of the k detectors (2) and k (p) The uniqueness constraint helps to avoid the presence of such total overlaps.

[0088] In one implementation variant, a third grouping constraint is introduced. The cumulative activation map S(K,x) can be viewed as a segmentation mask of an object located in the image. It is assumed that the objects in the training data category are connected, meaning they are contiguous. This assumption allows for the penalization of isolated activations during training.

[0089] This constraint can be implemented by applying to the cumulative activation map S(K,x) a convolutional filter given by relation (7)

[0091] The filtered map L ft w ( / x) allows us to measure the difference between the cumulative activation value at point (h,w) and the sum of the activation values ​​surrounding point (h,w).

[0092] Similar to equation (5), the grouping constraint can be implemented by ensuring that no position (h,w) of the filtered cumulative activation map does not contain an activation value higher than a predetermined grouping threshold t p This constraint translates into minimizing the following cost function:

[0094] Preferably, the threshold t p is taken close to 0, for example equal to 0.1.

[0095] This grouping constraint aims to avoid activations on non-contiguous areas, whereas the activation areas of the different detectors must correspond to different parts of the same connected object and should therefore, theoretically, be contiguous.

[0096] In the example of Figure 1, the grouping constraint prevents activation on the isolated point 112 identified on the filtered map.

[0097] Thus, the overall cost function used to train the detection model described in Figure 1 and to learn the coefficients of the detection functions via a gradient descent algorithm, is given by relation (9):

[0099] The parameters A u , HAS p are positive real numbers or nuis which are fixed so as to control the relative importance of the three constraints: locality, uniqueness and grouping.

[0100] The coefficients of the detection functions k (l) are updated by minimizing the cost function of equation (9) using a gradient descent algorithm, iteratively over all the images in the training set.

[0101] At the end of the training, we obtain p convolution functions k (l) which correspond to detectors capable of detecting each part of the same object belonging to a given class of objects.

[0102] We now describe a variant embodiment of the invention which consists of determining a confidence score as well as an automatic detection filter 103 visibility for each image processed by the detection model trained according to the process described above.

[0103] The method for determining a confidence score, according to one embodiment of the invention, is illustrated by the flowchart in Figure 2.

[0104] The first step 201 of the process consists of carrying out the complete training of the model as described in Figure 1 on a training database corresponding to a class of objects (for example, a type of animal or a type of vehicle).

[0105] In step 202, the entire training data set is fed back into the model shown in Figure 1, without modifying the model parameters. In other words, an inference phase of the neural network is performed by propagating the training data from the network input to the output. The output of the k detectors (l) After applying the activation function, the maximum output values ​​are measured for each input image, and a histogram of these data is then calculated for each detector. This histogram is then modeled by a normal distribution with mean pj and variance Oj. 2

[0106] Figure 3 shows an example of six histograms 301-306 obtained for six detectors trained on a training dataset consisting of bird images. Each detector is trained to detect one part of a bird's body from among the head / throat (301), wings / body (302), legs (303), belly (304), back / wings (305), and head (306).

[0107] The histograms in Figure 3 are obtained by measuring the maximum outputs of the activation function Act() on the already trained network after detection, in other words, the following function:

[0109] The histograms obtained correspond to the activation values ​​before application of the normalization function Norm().

[0110] These distributions can be modeled by probability laws, for example a normal distribution law N( / z £ , o ) of mean pj and variance o 2 whose parameters are determined in step 203 from histograms 301-306.

[0111] In step 204, a confidence measure C(x, i) is determined by calculating the cumulative distribution function associated with the probability law modeling the distribution of Hj(x) values. In the case of modeling by a normal distribution N( / / £ , <J £ 2 ), we obtain:

[0113] Without departing from the scope of the invention, the probability distribution used can also be an asymmetric normal distribution modeled by three parameters (position, scale, and shape). One advantage is that this allows the model to be adapted to asymmetric distributions. In this case, the confidence measure

[0114] ​The confidence measure is represented in Figure 3 for each of the detectors by curves 311 to 316. It corresponds to a sigmoid function with values ​​between 0 and 1.

[0115] The confidence measure allows us to estimate the level of confidence in the part of an object detected by a detector. In particular, this measure indicates that a detector has activated for an object or part of an object that may not be visible in the scene, either because it is partially hidden or because it does not correspond to the class of objects for which the network was trained (for example, images of cars provided as input to a network trained to recognize images of birds).

[0116] To do this in step 205, we first determine, for each detector, the minimum correlation score Sj such that A visibility threshold between 0 and 1. The visibility threshold is set independently for each detector, for example, based on prior knowledge about certain parts of objects to be detected. For example, in the case of bird images, if the bird's head is always considered to be present in the image, the visibility threshold should be set to a value close to 0.

[0117] Figure 4 shows an example of a confidence measure function with a visibility threshold t. Values ​​below the visibility threshold correspond to parts of objects that are not visible.

[0118] Once training is complete and the visibility threshold is set for each detector, the unsupervised automatic object part detection model can be used on images representing the same object categories.

[0119] The visibility threshold determined after training is used during execution to filter activations based on the maximum output value of the activation function, i.e., Hj(x). If Hj(x) is strictly greater than the visibility threshold, the part of object i is considered visible in the image x. Otherwise, the activation is filtered (set to zero) by considering that the part of object i is not visible because it is partially masked or because the object does not correspond to the class of objects for which the network was trained.

[0120] Thus, a filter layer 103 can be inserted into the trained model between the output of the activation functions (not shown in Figure 1) and the inputs of the normalization layer 104. This filter is defined by the following function:

[0121] i] / ® (T) = T if max h w T > Sj and [0] HxWotherwise, T being a matrix of values ​​of dimension H by W.

[0122] In parallel, the value of the confidence score obtained via the measurement (ff £ (x), / / £ , <j £ 2 ) can be provided as output with the detection results in order to provide reliable information on the result obtained.

[0123] In a particular embodiment of the invention, a visualization step is added which consists of converting the activation map produced as output from the activation layer 104 into a location map of the object parts in the image. One possible method for this is to calculate the pixels of the visualization map using the following formula:

[0125] The function M can denote, for example, an integrated gradient function or "Integrated gradients" as described in the reference "Mukund" Sundararajan et al, “Axiomatic attribution for deep networks, Proceedings of the 34th international conference on machine learning, pages 3319-3328, 2017”, or a SmoothGrad smoothed gradient function, as defined in “Smilkov et al, Smoothgrad: removing noise by adding noise. ArXiv, abs / 1706.03825, 2017”.

[0126] This method has the following advantage. Instead of calculating gradients only at positions that maximize activations in the maps, this method allows for the inclusion of contributions other positions and to determine more precisely the pixels of the x matrix involved in the detected part of the object.

[0127] Optionally, it is possible to apply N to the resulting image w(x) a binary mask specific to each detector by applying a Gaussian filter, for example of dimension 5x5 followed by min-max normalization and suppression of values ​​below a predetermined threshold t m , for example equal to 0.4.

[0128] Figure 5 represents an example of results obtained using the automatic detection model trained by means of the method according to the invention.

[0129] Figure 5 illustrates the object part detection results for bird images from the CUB200 database. Each row corresponds to a different image (five images in total), and each column to a detector focused on a different attention region (six detectors in total). The attention regions correspond to the object parts in the example in Figure 3.

[0130] For each image and each detector, the calculated confidence score is shown. The visibility threshold is set at 0.1. Thus, for detectors 2 through 5, no part is detected in the 5th image because the associated confidence score is too low.

[0131] The invention can be implemented as a computer program comprising instructions for its execution. The computer program can be stored on a storage medium readable by a processor.

[0132] The reference to a computer program that, when executed, performs any of the functions described above, is not limited to an application program running on a single host computer. On the contrary, The terms computer program and software are used here in a general sense to refer to any type of computer code (e.g., application software, firmware, microcode, or any other form of computer instruction) that can be used to program one or more processors to implement aspects of the techniques described herein. Computing means or resources may be distributed ("cloud computing"), possibly using peer-to-peer technologies. The software code may be executed on any suitable processor (e.g., a microprocessor) or processor core, or a set of processors, whether located in a single computing device or distributed across multiple computing devices (e.g., as potentially accessible within the device environment).The executable code of each program, enabling the programmable device to implement the processes according to the invention, can be stored, for example, on the hard drive or in read-only memory. Generally, the program(s) can be loaded into one of the device's storage means before being executed. The central processing unit can command and direct the execution of the instructions or portions of software code of the program(s) according to the invention, instructions which are stored on the hard drive, in read-only memory, or in the other aforementioned storage elements.

[0133] The invention can be implemented on a computing device based, for example, on an embedded processor. The processor can be a generic processor, a specific processor, an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). The computing device can use one or more dedicated electronic circuits or a general-purpose circuit. The technique of the invention can be implemented on a reprogrammable computing machine (a processor or a microcontroller, for example) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example, an array of logic gates such as an FPGA or an ASIC, or any other hardware module).

Claims

CLAIMS A computer-implemented method for unsupervised training of a pattern detection model in a dataset of image, audio, or control type, the model consisting of a detection layer (102) comprising at least: • a pattern detector configured to receive a set of features extracted from the data and provide as output an activation map consisting of a set of activation scores, an activation score being characteristic of the absence or presence of a pattern detected in the data by the detector. • an activation layer (104) consisting at least of normalizing the activation maps, • The learning of the parameters of each detector is constrained to meet a locality criterion, by means of optimizing a first cost function Li(K) consisting of maximizing a region of the activation map. An unsupervised training method for a detection model according to claim 1, further comprising applying, to each activation map output from the activation layer, a uniform filter whose dimension depends on that of said region of the activation map. An unsupervised training method for a detection model according to any one of the preceding claims, wherein the detection layer (102) comprises several detectors of recurring patterns and the learning of the parameters of each detector is further constrained to meet a uniqueness criterion, by means of optimizing a second cost function L U(IC) consisting of avoiding the simultaneous activation of several detectors at the same point on the activation map. Unsupervised training method for a detection model according to claim 3 wherein the uniqueness criterion is implemented by constraining, during the optimization of the second cost function L U (He has Maximum value of the sum at each point of the activation maps across all detectors at a first predefined maximum threshold. Unsupervised training method for a detection model according to any one of the preceding claims, wherein the detection layer comprises several detectors of recurring patterns and the learning of the parameters of each detector is further constrained to meet a grouping criterion, by means of optimizing a third cost function L p(I) consisting of promoting the activation of said detectors on contiguous areas of the activation map. Unsupervised training method for a detection model according to claim 5 wherein the grouping criterion is implemented by applying, during the optimization of the third cost function L p(I), a convolutional filter summarizing the activation maps output from the activation layer and constraining the maximum value of the filter result to a second predefined maximum threshold. An unsupervised training method for a detection model according to any one of the preceding claims, wherein the activation layer implements a normalization function, for example, the Softmax function. An unsupervised training method for a detection model according to any one of the preceding claims, wherein the feature set is obtained using a pre-trained model (101) on a training dataset.An unsupervised training method for a detection model according to any one of the preceding claims, further comprising, after training, for each detector, an estimation (202) of the distribution of the maximum values ​​of the detector outputs and the setting of a confidence threshold (205) dependent on the cumulative distribution function of said distribution. A computer-implemented method for detecting recurring patterns in a dataset, comprising the implementation of a model. detection obtained by the method according to any one of claims 1 to 9. Method for detecting recurring patterns according to claim 10 in combination with claim 9 further comprising, for each recurring pattern detector and for each new dataset received, the determination of a confidence score dependent on said cumulative distribution function learned during training applied to said dataset. Method for detecting recurring patterns according to claim 11 further comprising, for each recurring pattern detector, the application of a filter (103) to the detector output values ​​that are below the confidence threshold determined during training.A method for detecting recurring patterns according to any one of claims 11 or 12, further comprising a step of converting the activation map produced at the output of the activation layer of the detection model into a map for locating the recurring patterns. A method according to any one of claims 1 to 13, wherein the data are of image type and the features extracted from the data are organized in a third-order tensor. A method according to claim 14, wherein the recurring patterns to be detected are parts of connected objects in the images. A computer program comprising code instructions for implementing the methods according to any one of claims 1 to 15, when said program is executed on a computer. A computer-readable storage medium on which the computer program according to claim 16 is stored.